.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-label-lg);font-weight:var(--weight-medium);line-height:1;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--block{width:100%}.btn--primary{background:var(--brand-primary);color:var(--brand-on-primary)}.btn--primary:hover:not(:disabled){background:var(--brand-hover)}.btn--primary:active:not(:disabled){background:var(--brand-pressed)}.btn--secondary{background:var(--surface);color:var(--color-text-emphasis);border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-muted-surface)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-muted-surface)}a.btn,a.btn:hover{text-decoration:none}.btn--danger{background:var(--surface);color:var(--error-text);border-color:var(--error-border)}.btn--danger:hover:not(:disabled){background:var(--error-bg);border-color:var(--error-icon)}.btn--danger:active:not(:disabled){background:var(--error-bg)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field__label{font-size:var(--text-label-md);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.field__labelrow{display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.field__labelhint{font-size:var(--text-body-xs);color:var(--color-text-secondary)}.field__labelhint--error{color:var(--error-text)}.field__input{width:100%;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-body);font-size:var(--text-body-md);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.field__input::placeholder{color:var(--color-placeholder)}.field__input:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.field__input--error{border-color:var(--error-border)}.field__input--error:focus{border-color:var(--error-text);box-shadow:none}.field__error{font-size:var(--text-body-xs);color:var(--error-text)}.surface{background:var(--color-card-bg);border:1px solid var(--color-border-default);border-radius:var(--radius-lg)}.surface--padded{padding:var(--space-6)}.spinner{display:inline-block;box-sizing:border-box;border:2px solid var(--color-border-default);border-top-color:var(--brand-primary);border-radius:var(--radius-full);animation:spinner-spin var(--duration-slow) linear infinite}@keyframes spinner-spin{to{transform:rotate(360deg)}}.switch{display:inline-flex;align-items:center;cursor:pointer}.switch__input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:relative;display:inline-block;width:38px;height:22px;border-radius:var(--radius-full);background:var(--color-border-strong);transition:background-color var(--duration-fast) var(--ease-standard)}.switch__track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--surface);box-shadow:var(--shadow-hover);transition:transform var(--duration-fast) var(--ease-standard)}.switch__input:checked+.switch__track{background:var(--brand-primary)}.switch__input:checked+.switch__track:after{transform:translate(16px)}.switch__input:focus-visible+.switch__track{box-shadow:var(--focus-ring)}.switch__track--mixed{background:linear-gradient(90deg,var(--brand-primary) 0 50%,var(--color-border-strong) 50% 100%)}.switch__track--mixed:after{transform:translate(8px)}.switch__input:disabled+.switch__track{opacity:.5;cursor:not-allowed}.select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg,transparent 50%,var(--color-text-tertiary) 50%),linear-gradient(135deg,var(--color-text-tertiary) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;cursor:pointer}.drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.drawer__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgb(var(--shadow-color) / .28)}.drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(460px,100vw);display:flex;flex-direction:column;background:var(--color-card-bg);border-left:1px solid var(--color-border-default);box-shadow:var(--shadow-pop);outline:none}.drawer__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default)}.drawer__title{font-size:var(--text-heading-sm);color:var(--color-text-heading)}.drawer__close{display:inline-flex;padding:var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer}.drawer__close:hover{background:var(--color-muted-surface);color:var(--color-text-heading)}.drawer__body{flex:1;overflow-y:auto;padding:var(--space-5)}.drawer__foot{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-default)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:rgb(var(--shadow-color) / .28)}.modal__panel{position:relative;display:flex;flex-direction:column;width:fit-content;min-width:min(420px,100%);max-width:min(880px,100%);max-height:calc(100vh - var(--space-8));background:var(--color-card-bg);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);outline:none}.modal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-default)}.modal__title{font-size:var(--text-heading-sm);font-weight:var(--weight-semibold);color:var(--color-text-heading)}.modal__close{display:inline-flex;padding:var(--space-1);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer}.modal__close:hover{background:var(--color-muted-surface);color:var(--color-text-heading)}.modal__close:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.modal__body{flex:1;overflow-y:auto;padding:var(--space-5)}.modal__foot{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-default)}.modal--plain .modal__scrim{background:rgb(var(--shadow-color) / .32);animation:modal-fade var(--duration-fast) var(--ease-standard)}.modal--plain .modal__panel{width:100%;min-width:0;max-width:440px;border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);animation:modal-rise var(--duration-normal) var(--ease-out-expo)}.modal--plain .modal__body{padding:0}@keyframes modal-fade{0%{opacity:0}}@keyframes modal-rise{0%{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.modal--plain .modal__scrim,.modal--plain .modal__panel{animation:none}}.toast-wrap{position:fixed;bottom:var(--space-6);left:50%;transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}@media(max-width:640px){.toast-wrap{bottom:calc(var(--touch-min) + var(--space-6))}}.toast{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--brand-primary);color:var(--brand-on-primary);font-size:var(--text-body-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-pop)}.toast--success{background:var(--success-text)}.toast__icon{display:inline-flex;vertical-align:middle;margin-right:var(--space-2)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){.switch__track,.switch__track:after{transition:none}}.segmented{display:inline-flex;padding:var(--space-1);gap:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-muted-surface)}.segmented__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;cursor:pointer;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);font-size:var(--text-label-md);font-weight:var(--weight-medium);transition:background-color var(--duration-fast) var(--ease-standard)}.segmented__btn:hover:not(:disabled){color:var(--color-text-heading)}.segmented__btn--on{background:var(--surface);color:var(--color-text-heading);box-shadow:var(--shadow-card, 0 1px 2px rgb(0 0 0 / .08))}.segmented__btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.segmented__btn:disabled{cursor:not-allowed;opacity:.5}.segmented__hint{display:block;margin-top:1px;font-size:var(--text-label-sm);color:var(--color-text-tertiary)}.field__input--area{resize:vertical;min-height:72px;font:inherit}.stepper{display:flex;align-items:center;gap:var(--space-5);list-style:none;padding:0;margin:0}.stepper__step{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary)}.stepper__dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-muted-surface);font-size:var(--text-label-sm);font-weight:var(--weight-semibold)}.stepper__label{font-size:var(--text-label-md);font-weight:var(--weight-medium)}.stepper__step--on{color:var(--color-text-heading)}.stepper__step--on .stepper__dot{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-on-primary)}.stepper__step--done .stepper__dot{border-color:var(--brand-primary);color:var(--brand-primary)}.variant-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-5);margin-bottom:var(--space-3)}.variant-filter__axis{display:inline-flex;align-items:center;gap:var(--space-2)}.variant-filter__name{font-size:var(--text-label-md);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.variant-filter__chips{display:inline-flex;flex-wrap:wrap;gap:var(--space-1)}.variant-filter__chip{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-full);background:var(--color-card-bg);color:var(--color-text-body);font-size:var(--text-label-md);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.variant-filter__chip:hover{border-color:var(--color-border-strong)}.variant-filter__chip:focus-visible{outline:2px solid var(--brand-primary);outline-offset:1px}.variant-filter__chip--on{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary);color:var(--color-text-heading)}.variant-filter__clear{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-secondary);font:inherit;font-size:var(--text-label-md);text-decoration:underline;cursor:pointer}.variant-filter__clear:hover{color:var(--color-text-heading);background:var(--color-muted-surface)}.price-input__display{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:transparent;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font:inherit;font-variant-numeric:tabular-nums;color:var(--color-text-body);cursor:text;text-align:right;min-width:92px;transition:border-color var(--duration-fast, .12s) ease,background-color var(--duration-fast, .12s) ease}.price-input__display:hover:not(:disabled){border-color:var(--color-border-default);background:var(--color-muted-surface)}.price-input__display:focus-visible{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}.price-input__display:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.price-input__placeholder{color:var(--color-placeholder)}.price-input__display--field{min-height:40px;min-width:110px;padding:0 var(--space-3);border-color:var(--color-border-strong);border-radius:var(--radius-md);background:var(--surface)}.price-input__display--field:hover:not(:disabled){border-color:var(--brand-primary);background:var(--surface)}.price-input__input{width:110px;text-align:right;font-variant-numeric:tabular-nums}.combobox{position:relative}.combobox__list{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:280px;overflow-y:auto;margin:var(--space-1) 0 0;padding:var(--space-1);list-style:none;background:var(--color-card-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-pop)}.combobox__option{display:flex;flex-direction:column;gap:1px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer}.combobox__option:hover,.combobox__option--active{background:var(--color-muted-surface)}.combobox__optionLabel{color:var(--color-text-heading);font-weight:var(--weight-medium)}.combobox__optionDesc{font-size:var(--text-body-sm);color:var(--color-text-tertiary)}.combobox__state{padding:var(--space-2) var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-body-sm)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-label-sm);font-weight:var(--weight-medium);line-height:1.4}.badge--neutral{background:var(--color-muted-surface);color:var(--color-text-secondary)}.badge--info{background:var(--info-bg);color:var(--info-text)}.badge--success{background:var(--success-bg);color:var(--success-text)}.badge--warning{background:var(--warning-bg);color:var(--warning-text)}.badge--danger{background:var(--error-bg);color:var(--error-text)}.banner{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-muted-surface);color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:var(--weight-medium);line-height:1.5}.banner__body{flex:1 1 12rem;min-width:0}.banner__action{display:inline-flex;align-items:center;flex-shrink:0}.banner--neutral{background:var(--color-muted-surface);border-color:var(--color-border-default);color:var(--color-text-secondary)}.banner--info{background:var(--info-bg);border-color:var(--info-border, var(--color-border-default));color:var(--info-text)}.banner--warn{background:var(--warning-bg);border-color:var(--warning-border, var(--color-border-default));color:var(--warning-text)}.banner--danger{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.icon-picker{border:0;padding:0;margin:0;min-width:0}.icon-picker__legend{padding:0;font:var(--text-label-md);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.icon-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.icon-picker__option{display:block;cursor:pointer}.icon-picker__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-1) var(--space-2);border:1px solid var(--color-border-default);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-card-bg);transition:border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.icon-picker__option:hover .icon-picker__body{border-color:var(--color-border-strong)}.icon-picker__input:checked+.icon-picker__body{border-color:var(--brand-primary);color:var(--color-text-heading);box-shadow:inset 0 0 0 1px var(--brand-primary)}.icon-picker__input:focus-visible+.icon-picker__body{box-shadow:var(--focus-ring)}.icon-picker__input:disabled+.icon-picker__body{opacity:.55;cursor:not-allowed}.icon-picker__glyph{display:inline-flex}.icon-picker__label{font-size:12px;line-height:1.2;text-align:center}.notif-bell{position:relative;display:inline-flex}.notif-bell__btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border, #d8d4cc);border-radius:999px;background:transparent;color:inherit;cursor:pointer}.notif-bell__btn:hover{background:color-mix(in srgb,currentColor 8%,transparent)}.notif-bell__badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--danger, #b3261e);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.notif-bell__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:min(360px,calc(100vw - 24px));max-height:70vh;overflow-y:auto;background:var(--surface, #fff);border:1px solid var(--border, #d8d4cc);border-radius:12px;box-shadow:0 12px 32px #00000024}.notif-bell__head{padding:12px 16px 8px;font-weight:700}.notif-bell__note{padding:12px 16px 16px;color:var(--text-tertiary, #6f6a60);font-size:.875rem}.notif-bell__list{list-style:none;margin:0;padding:0 0 8px}.notif-bell__item{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 16px;border:0;background:transparent;text-align:start;cursor:pointer}.notif-bell__item:hover{background:color-mix(in srgb,currentColor 6%,transparent)}.notif-bell__item--unread{box-shadow:inset 3px 0 0 var(--accent, #2b2f42);background:color-mix(in srgb,currentColor 4%,transparent)}.notif-bell__subject{font-weight:600}.notif-bell__body{font-size:.85rem;color:var(--text-secondary, #55514a)}.notif-bell__time{font-size:.75rem;color:var(--text-tertiary, #6f6a60)}@media(max-width:640px){.notif-bell__panel{position:fixed;top:64px;left:12px;right:12px;width:auto}}.help-sheet__body{font-size:.9rem;line-height:1.6;color:var(--text-secondary, #55514a)}.help-sheet__body ol{margin:0;padding-inline-start:1.35rem;display:grid;gap:var(--space-2, 8px)}.collapsible__head{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);background:none;border:0;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:inherit;color:var(--color-text-heading)}.collapsible__head:hover{background:var(--color-muted-surface)}.collapsible__caret{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid var(--color-border-default);background:var(--color-card-bg);color:var(--color-text-secondary);transition:transform .15s ease}.collapsible--open .collapsible__caret{transform:rotate(180deg)}.collapsible__title{flex:1;min-width:0;font-size:var(--text-label-md);font-weight:600}.collapsible__meta{flex-shrink:0;font-size:var(--text-body-xs);color:var(--color-text-secondary);background:var(--color-muted-surface);border-radius:var(--radius-full);padding:2px var(--space-2)}.collapsible__body{padding:var(--space-3) 0 var(--space-4)}@media(prefers-reduced-motion:reduce){.collapsible__caret{transition:none}}.statstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--space-2)}.statstrip__tile{display:flex;flex-direction:column;background:var(--color-card-bg);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);padding:10px var(--space-3);min-width:0}.statstrip__label{font-size:var(--text-label-sm);color:var(--color-text-secondary)}.statstrip__value{margin-top:2px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:.9375rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--color-text-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statstrip__sub{margin-top:1px;font-size:var(--text-label-sm);color:var(--color-text-tertiary)}.statstrip__tile--success{border-color:var(--success-border);background:var(--success-bg)}.statstrip__tile--success .statstrip__value{color:var(--success-text)}.statstrip__tile--unknown{border-style:dashed;box-shadow:none}.statstrip__tile--unknown .statstrip__value{color:var(--color-text-tertiary)}.report-export{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.report-export .btn--ghost{border:1px solid var(--color-border-strong);background:var(--color-card-bg);color:var(--color-text-emphasis)}.report-export__error{font-size:var(--text-label-sm);color:var(--error-text)}.combobox__optionHead{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.combobox__optionBadge{display:inline-flex;align-items:center;padding:1px var(--space-2);border-radius:999px;background:var(--warning-bg);color:var(--warning-text);font-size:var(--text-body-sm);font-weight:var(--weight-medium);white-space:nowrap}.addpicker-inline{min-width:0}.addpicker__dim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;border:0;padding:0;background:#1b243652;cursor:pointer}.addpicker__sheet{position:fixed;left:0;right:0;bottom:0;z-index:61;display:flex;flex-direction:column;gap:var(--space-2);max-height:70vh;padding:var(--space-3) var(--space-4) var(--space-5);background:var(--color-card-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-pop)}.addpicker__grab{width:36px;height:4px;margin:0 auto var(--space-2);border-radius:999px;background:var(--color-border-strong)}.addpicker__title{font-weight:var(--weight-semibold);color:var(--color-text-heading)}.addpicker__list{margin:0;padding:0;list-style:none;overflow-y:auto;border:1px solid var(--color-border-default);border-radius:var(--radius-md)}.nstep{display:flex;flex-direction:column;gap:var(--space-1)}.nstep__row{display:inline-flex;align-items:stretch;gap:var(--space-1);max-width:100%}.nstep__btn{display:inline-flex;align-items:center;justify-content:center;width:40px;min-height:40px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-emphasis);font-size:var(--text-body-md);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.nstep__btn:hover:not(:disabled){background:var(--color-muted-surface)}.nstep__btn:focus-visible{outline:none;border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.nstep__btn:disabled{opacity:.55;cursor:not-allowed}.nstep__input{flex:1 1 auto;width:auto;min-width:2.75rem;max-width:88px;min-height:40px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-body);font-size:var(--text-body-md);font-variant-numeric:tabular-nums;text-align:center}.nstep__input::-webkit-outer-spin-button,.nstep__input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.nstep__input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.nstep__input:focus{outline:none;border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.nstep__input:disabled{opacity:.55;cursor:not-allowed}.nstep__hint{font-size:var(--text-body-xs);color:var(--color-text-secondary)}.rslider{display:flex;flex-direction:column;gap:var(--space-1)}.rslider__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.rslider__value{min-width:44px;padding:2px var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-emphasis);font-size:var(--text-body-sm);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;text-align:center}.rslider__input{width:100%;min-height:28px;accent-color:var(--brand-primary);cursor:pointer}.rslider__input:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-md)}.rslider__input:disabled{opacity:.55;cursor:not-allowed}.rslider__scale{display:flex;justify-content:space-between;font-size:var(--text-body-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.rslider__hint{font-size:var(--text-body-xs);color:var(--color-text-secondary)}.toggle-group{display:flex;gap:var(--space-1);width:100%}.toggle-group__btn{flex:1 1 0;min-width:0;min-height:var(--touch-min);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding:var(--space-1);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--color-text-secondary);font-size:var(--text-label-md);font-weight:var(--weight-medium);line-height:1.15;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.toggle-group__btn:hover:not(:disabled){color:var(--color-text-heading);border-color:var(--brand-primary)}.toggle-group__btn--on{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--brand-on-primary)}.toggle-group__btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.toggle-group__btn:disabled{cursor:not-allowed;opacity:.55}.cmeter{display:flex;height:var(--space-2);margin:var(--space-2) 0 var(--space-1);border-radius:var(--radius-full);background:var(--color-muted-surface);overflow:hidden}.cmeter__seg{display:block;height:100%}.cmeter__seg--own{background:var(--brand-primary)}.cmeter__seg--others{background:var(--warning-icon)}.cmeter__seg--reserved{background:var(--warning-border)}.cmeter__seg--full{background:var(--warning-icon)}.cmeter--incomplete{background-image:repeating-linear-gradient(-45deg,var(--color-muted-surface) 0,var(--color-muted-surface) 4px,var(--surface) 4px,var(--surface) 8px)}.cmeter__legend{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-1);padding:0;list-style:none;font-size:var(--text-body-sm);color:var(--color-text-secondary)}.cmeter__key{display:inline-flex;align-items:center;gap:var(--space-1)}.cmeter__key:before{content:"";width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);flex:none}.cmeter__key--own:before{background:var(--brand-primary)}.cmeter__key--others:before{background:var(--warning-icon)}.cmeter__key--reserved:before{background:var(--warning-border)}.cmeter__key--full:before{background:var(--warning-icon)}.cmeter__key--free:before{background:var(--color-muted-surface);box-shadow:inset 0 0 0 1px var(--color-border-default)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Thai;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/noto-sans-thai-thai-wght-normal-CtQSZ1tK.woff2) format("woff2-variations");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2")}:root{--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--bp-narrow: 640px;--touch-min: 44px}:root{color-scheme:light;--stone-50: #f6f4f0;--stone-100: #efece6;--stone-200: #e6e3db;--stone-300: #d6d1c7;--stone-400: #b8b1a5;--stone-500: #9a9388;--stone-600: #6b6459;--stone-700: #524c43;--stone-800: #38332e;--stone-900: #272420;--divider-subtle: #efece6;--surface: #ffffff;--ink-black: #1b2436;--brand-primary: #1b2436;--brand-pressed: #141b29;--brand-hover: #262f43;--brand-on-primary: #ffffff;--ink-weak: #eef0f3;--ink-weak-border: #dfe2e8;--color-cream: #faf8f3;--success-bg: #e9f3ec;--success-text: #2c7a4f;--success-icon: #36a065;--success-border: #cbe5d3;--warning-bg: #f7f0df;--warning-text: #8a6516;--warning-icon: #c1932a;--warning-border: #ecdcb1;--error-bg: #f9ede9;--error-text: #b23c2c;--error-icon: #cf5340;--error-border: #f0d1c8;--info-bg: #eef2f8;--info-text: #2c4a73;--info-icon: #2c4a73;--price-delta: #6e4a86;--active-badge-bg: #e9f3ec;--active-badge-text: #2c7a4f;--new-rule-bg: #faf8f3;--color-page-bg: #e7e5df;--color-card-bg: var(--surface);--color-muted-surface: var(--stone-100);--color-border-default: var(--stone-200);--color-border-strong: var(--stone-300);--color-divider: var(--stone-200);--color-text-heading: var(--stone-900);--color-text-emphasis: var(--stone-800);--color-text-body: var(--stone-700);--color-text-secondary: var(--stone-600);--color-text-tertiary: var(--stone-600);--color-text-disabled: var(--stone-400);--color-placeholder: var(--stone-400);--font-sans: "Inter", "Noto Sans Thai", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--text-display-lg: clamp(1.75rem, 1.5rem + 1.25vw, 2rem);--text-display-md: clamp(1.5rem, 1.3rem + 1vw, 1.75rem);--text-heading-lg: clamp(1.375rem, 1.25rem + .6vw, 1.5rem);--text-heading-md: 1.25rem;--text-heading-sm: 1.125rem;--text-heading-xs: 1rem;--text-body-lg: 1rem;--text-body-md: .875rem;--text-body-sm: .8125rem;--text-body-xs: .75rem;--text-label-lg: .875rem;--text-label-md: .8125rem;--text-label-sm: .6875rem;--text-code-md: .8125rem;--leading-display-lg: 2.5rem;--leading-display-md: 2.25rem;--leading-heading-lg: 2rem;--leading-heading-md: 1.75rem;--leading-heading-sm: 1.5rem;--leading-heading-xs: 1.5rem;--leading-body-lg: 1.5rem;--leading-body-md: 1.25rem;--leading-body-sm: 1.125rem;--leading-body-xs: 1rem;--leading-label-sm: .875rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-tight: -.01em;--tracking-snug: -.005em;--tracking-normal: 0;--tracking-wide: .04em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--radius-none: 0;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--radius-full: 999px;--shadow-color: 40 36 30;--shadow-hover: 0 1px 2px rgb(var(--shadow-color) / .05);--shadow-card: 0 1px 2px rgb(var(--shadow-color) / .05), 0 6px 16px rgb(var(--shadow-color) / .05);--shadow-popover: 0 6px 16px rgb(var(--shadow-color) / .06);--shadow-dialog: 0 12px 32px rgb(var(--shadow-color) / .1);--shadow-modal: 0 20px 50px rgb(30 27 22 / .18);--shadow-pop: 0 20px 50px rgb(30 27 22 / .2);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .32s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-standard: cubic-bezier(.2, 0, 0, 1);--focus-ring: 0 0 0 3px rgb(27 36 54 / .14);--ledger-debit-text: #2c4a73;--ledger-debit-bg: #eef2f8;--ledger-debit-border: #d3e0ef;--ledger-credit-text: #6e4a86;--ledger-credit-bg: #f3eef8;--ledger-credit-border: #e3d6ef;--status-draft-bg: var(--warning-bg);--status-draft-text: var(--warning-text);--status-draft-border: var(--warning-border);--status-draft-dot: var(--warning-icon);--status-ok-bg: var(--success-bg);--status-ok-text: var(--success-text);--status-ok-border: var(--success-border);--status-ok-dot: var(--success-icon);--status-bad-bg: var(--error-bg);--status-bad-text: var(--error-text);--status-bad-border: var(--error-border);--status-bad-dot: var(--error-icon);--status-mut-bg: #efece6;--status-mut-text: #6b6459;--status-mut-border: #ddd8cf;--font-code: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--code-tile-bg: var(--color-muted-surface);--code-tile-text: var(--stone-800);--code-tile-border: var(--color-border-default)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;background-color:var(--color-page-bg);color:var(--color-text-body);font-family:var(--font-sans);font-size:var(--text-body-md);line-height:var(--leading-body-md);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{color:var(--color-text-heading);font-weight:var(--weight-semibold);line-height:var(--leading-heading-md)}h1{font-size:var(--text-heading-lg);line-height:var(--leading-heading-lg);font-weight:var(--weight-bold);letter-spacing:var(--tracking-snug)}code,kbd,samp{font-family:var(--font-mono);font-size:var(--text-code-md)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--brand-hover);text-underline-offset:2px}:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}#root{min-height:100vh;isolation:isolate}.app-splash{min-height:100vh;display:grid;place-items:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.page{max-width:1100px;margin:0 auto;padding:var(--space-4, 16px);display:flex;flex-direction:column;gap:var(--space-5, 20px)}.page--first-open{max-width:560px;justify-content:center;min-height:100svh}.app-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3, 12px)}.app-head__aside{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap}.app-head__lead{display:flex;align-items:flex-start;gap:var(--space-2, 8px);min-width:0}.app-head__titles{min-width:0}.icon-btn{flex:none;display:grid;place-items:center;width:var(--touch-min, 44px);height:var(--touch-min, 44px);margin-left:calc(var(--space-2, 8px) * -1);background:none;border:0;border-radius:var(--radius-md, 10px);color:var(--color-text-body);cursor:pointer}.icon-btn:hover{background:var(--ink-weak)}.icon-btn:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.app-title{margin:0;font-size:1.35rem;color:var(--color-text-heading)}.app-sub{margin:var(--space-1, 4px) 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.section{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.section__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.section__title{margin:0;font-size:1.05rem;color:var(--color-text-heading)}.round-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.round-row{display:flex;align-items:center;gap:var(--space-3, 12px);flex-wrap:wrap;padding:var(--space-3, 12px);background:var(--surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px)}.round-row__main{flex:1 1 12rem;min-width:0;display:flex;flex-direction:column;gap:2px}.round-row__name{color:var(--color-text-heading);overflow-wrap:anywhere}.round-row__meta{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.import-panel{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.import-panel__title{margin:0;font-size:1.1rem;color:var(--color-text-heading)}.import-panel__sub{margin:0;color:var(--color-text-secondary)}.import-panel__hint{margin:0;color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:1.7}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--space-2, 8px);padding:var(--space-5, 20px);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md, 10px);background:var(--stone-50);text-align:center}.dropzone--over{border-color:var(--brand-primary);background:var(--color-muted-surface)}.dropzone__hint{margin:0;color:var(--color-text-tertiary);font-size:var(--text-body-sm)}.file-line{margin:0 0 var(--space-2, 8px);color:var(--color-text-heading);overflow-wrap:anywhere}.note-text{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.field{display:flex;flex-direction:column;gap:var(--space-1, 4px)}.field__label{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.field__actions{display:flex;gap:var(--space-2, 8px);margin-top:var(--space-3, 12px);flex-wrap:wrap}.input{width:100%;box-sizing:border-box;min-height:var(--touch-min, 44px);padding:0 var(--space-3, 12px);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm, 8px);background:var(--surface);color:var(--color-text-heading);font:inherit}.help-lead{margin:0 0 var(--space-2, 8px);color:var(--color-text-heading)}.help-steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--space-2, 8px);color:var(--color-text-secondary);line-height:1.7}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(min-width:900px){.page{display:grid;grid-template-columns:1fr 22rem;align-items:start;gap:var(--space-5, 20px)}.app-head,.page>.banner{grid-column:1 / -1}.page--first-open{display:flex}}:root{--count-mode-bar-h: 64px;--count-pill-bottom: calc(var(--count-mode-bar-h) + var(--space-3, 12px))}.page--count{padding-bottom:calc(var(--count-pill-bottom) + var(--touch-min, 44px) + var(--space-3, 12px))}.mode{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.mode__title{margin:0 0 var(--space-1, 4px);font-size:1.05rem;color:var(--color-text-heading)}.scan-input{margin-top:var(--space-3, 12px);font-size:1.1rem}.pick-list,.size-list,.recent-list,.review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.pick-row{width:100%;min-height:var(--touch-min, 44px);display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:var(--space-3, 12px);background:var(--surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px);color:var(--color-text-heading);font:inherit;text-align:left;cursor:pointer}.picked-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);margin-bottom:var(--space-3, 12px);flex-wrap:wrap}.picked-head__name{flex:1 1 0;min-width:0;overflow-wrap:anywhere}.picked-head__action{flex:0 0 auto}.picked-total{margin-top:calc(-1 * var(--space-2, 8px));margin-bottom:var(--space-3, 12px)}.size-row,.recent-row{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap;padding:var(--space-2, 8px) 0 var(--space-2, 8px) var(--space-3, 12px);border-bottom:1px solid var(--color-border-default)}.size-row>*:last-child,.recent-row>*:last-child{flex:0 0 auto}.size-row__id,.recent-row__main{flex:1 1 0;min-width:6.5rem;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.stepper{display:flex;align-items:center;gap:var(--space-2, 8px)}.stepper__value{min-width:3ch;text-align:center;font-variant-numeric:tabular-nums;color:var(--color-text-heading)}.review-list code{font-family:var(--font-mono);color:var(--color-text-secondary)}.mode-bar{position:fixed;left:0;right:0;bottom:0;display:flex;background:var(--surface);border-top:1px solid var(--color-border-default)}.mode-tab{flex:1;min-height:var(--count-mode-bar-h, 64px);padding:var(--space-2, 8px) var(--space-2, 8px) var(--space-3, 12px);display:flex;flex-direction:column;align-items:center;gap:var(--space-1, 4px);background:none;border:0;border-top:2px solid transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--text-body-sm);line-height:1.2;cursor:pointer}.mode-tab__icon{flex:none}.mode-tab--on{color:var(--brand-primary);background:var(--ink-weak);border-top-color:var(--brand-primary);font-weight:600}.size-row--scanned{background:var(--stone-100);box-shadow:inset 3px 0 0 var(--brand-primary)}.camera-frame{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-md, 10px);background:var(--brand-primary);overflow:hidden}.camera-frame__video{width:100%;height:100%;object-fit:cover;display:block}.camera-frame__video--off{visibility:hidden}.camera-frame__corner{position:absolute;width:26px;height:26px;border:0 solid var(--surface);filter:drop-shadow(0 0 2px rgb(0 0 0 / 60%))}.camera-frame__corner--tl{top:16px;left:16px;border-top-width:3px;border-left-width:3px;border-radius:4px 0 0}.camera-frame__corner--tr{top:16px;right:16px;border-top-width:3px;border-right-width:3px;border-radius:0 4px 0 0}.camera-frame__corner--bl{bottom:16px;left:16px;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 4px}.camera-frame__corner--br{bottom:16px;right:16px;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 4px}.reader-card{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-4, 16px);margin-bottom:var(--space-4, 16px);background:var(--surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px)}.reader-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.sweep-stats{display:flex;gap:var(--space-4, 16px);margin:0;flex-wrap:wrap}.sweep-stats>div{display:flex;flex-direction:column;gap:2px}.sweep-stats dt{font-size:.85rem;color:var(--color-text-secondary)}.sweep-stats dd{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text-heading)}.tag-tally{list-style:none;margin:0 0 var(--space-4, 16px);padding:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.tag-tally li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-2, 8px) 0;border-bottom:1px solid var(--color-border-default)}.summary-pill{position:fixed;right:var(--space-3, 12px);bottom:var(--count-pill-bottom);z-index:2;min-height:var(--touch-min, 44px);padding:var(--space-2, 8px) var(--space-4, 16px);border:0;border-radius:var(--radius-full, 999px);background:var(--brand-primary);color:var(--brand-on-primary);font:inherit;font-weight:700;box-shadow:var(--shadow-pop);cursor:pointer}.page--export{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.export-total{display:flex;flex-direction:column;align-items:center;gap:var(--space-1, 4px);text-align:center}.export-total__num{margin:0;font-size:2.5rem;font-weight:700;line-height:1.2;color:var(--color-text-heading)}.export-total__num span{font-size:1rem;font-weight:600;color:var(--color-text-secondary)}.export-total__review{margin:var(--space-2, 8px) 0 0}.export-file-name{margin:0 0 var(--space-3, 12px)}.export-file-name code{font-family:var(--font-mono);font-size:.8rem;overflow-wrap:anywhere}.export-sheets{margin:0 0 var(--space-3, 12px);padding-left:var(--space-5, 20px);display:flex;flex-direction:column;gap:var(--space-1, 4px);font-size:.9rem;color:var(--color-text-secondary)}.export-actions{display:flex;flex-direction:column;gap:var(--space-2, 8px)}@media(min-width:640px){.export-actions{flex-direction:row;align-items:center}}.boxbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2, 8px);margin:0 calc(-1 * var(--space-4, 16px));padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-cream);border-bottom:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:var(--text-body-sm)}.boxbar b{color:var(--color-text-heading)}.boxbar__change{position:relative;margin-left:auto;flex:none;padding:3px var(--space-3, 12px);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--brand-primary);font:inherit;font-size:var(--text-body-sm);font-weight:700;cursor:pointer}.boxbar__change:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:var(--touch-min, 44px)}.backupbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2, 8px);margin:0 calc(-1 * var(--space-4, 16px));padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-cream);border-bottom:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:var(--text-body-sm)}.backupbar b{color:var(--color-text-heading)}.backupbar--danger{background:var(--error-bg);border-bottom-color:var(--error-border);color:var(--error-text)}.backupbar--danger b{color:var(--error-text)}.backupbar--warn{background:var(--warning-bg);border-bottom-color:var(--warning-border);color:var(--warning-text)}.backupbar--warn b{color:var(--warning-text)}.backupbar__action{position:relative;margin-left:auto;flex:none;padding:3px var(--space-3, 12px);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);background:var(--surface);color:var(--brand-primary);font:inherit;font-size:var(--text-body-sm);font-weight:700;cursor:pointer}.backupbar__action:disabled{opacity:.55;cursor:default}.backupbar__actions{display:flex;align-items:center;gap:var(--space-2, 8px);margin-left:auto;flex:none}.backupbar__actions .backupbar__action{margin-left:0}.backupbar__action:after{content:"";position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:var(--touch-min, 44px)}.syncbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2, 8px);margin:0 calc(-1 * var(--space-4, 16px));padding:var(--space-2, 8px) var(--space-4, 16px);background:var(--color-cream);border-bottom:1px solid var(--color-border-default);color:var(--color-text-secondary);font-size:var(--text-body-sm)}.syncbar b{color:var(--color-text-heading)}.syncbar--warn{background:var(--warning-bg);border-bottom-color:var(--warning-border);color:var(--warning-text)}.syncbar--warn b{color:var(--warning-text)}.syncbar__why,.syncbar__blocked{flex-basis:100%}.box-picker{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.pick-row--on{border-color:var(--brand-primary)}.state-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-6);text-align:center;color:var(--color-text-secondary)}.section>.state-block{background:var(--surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px)}.state-block__title{font-size:var(--text-heading-sm);color:var(--color-text-heading)}.state-block__body{max-width:420px;color:var(--color-text-tertiary)}.state-block--error .state-block__title{color:var(--error-text)}.status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-label-sm);font-weight:var(--weight-semibold);white-space:nowrap}.status-pill--draft{background-color:var(--status-draft-bg);color:var(--status-draft-text);border:1px solid var(--status-draft-border)}.status-pill--ok{background-color:var(--status-ok-bg);color:var(--status-ok-text);border:1px solid var(--status-ok-border)}.status-pill--bad{background-color:var(--status-bad-bg);color:var(--status-bad-text);border:1px solid var(--status-bad-border)}.sheet-panel{display:flex;flex-direction:column;gap:var(--space-3)}.sheet-panel__head{display:flex;flex-direction:column;gap:2px}.sheet-panel__title{margin:0;font-size:1rem;font-weight:600;color:var(--stone-900)}.sheet-panel__warn{border-left:3px solid var(--warning-text);padding-left:var(--space-2)}.sheet-list{list-style:none;margin:0;padding:0}.sheet-row{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:"id packed counted" "var var var";align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--stone-200)}.sheet-row:last-child{border-bottom:0}.sheet-row__id{grid-area:id;display:flex;flex-direction:column;min-width:0}.sheet-row__packed{grid-area:packed;display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.sheet-row__counted{grid-area:counted}.sheet-row__var{grid-area:var;font-size:.8125rem;font-weight:600}.sheet-row__var--ok{color:var(--success-text)}.sheet-row__var--bad{color:var(--error-text)}.sheet-row__var--mute{color:var(--color-text-secondary)}.sheet-row__empty{min-width:88px;min-height:44px;border:1px solid var(--stone-300);border-radius:var(--radius-sm);background:var(--surface);color:var(--color-text-secondary);font-size:1rem}.sheet-row__act{display:none}@media(min-width:768px){.sheet-row{grid-template-columns:1fr auto auto auto auto;grid-template-areas:"id packed counted var act"}.sheet-row__act{grid-area:act;display:block}}.edit-list{list-style:none;margin:0;padding:0}.edit-row{display:grid;grid-template-columns:auto 1fr;gap:2px var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--stone-200);font-size:.875rem}.edit-row:last-child{border-bottom:0}.edit-row__at{font-variant-numeric:tabular-nums;color:var(--stone-600)}.edit-row__move{grid-column:1 / -1}.edit-row__route{grid-column:1 / -1;color:var(--info-text);font-weight:600;font-size:.8125rem}.who-head{margin-bottom:4px}.who-lede{margin:2px 0 0;font-size:13px;color:var(--color-text-secondary)}.section-title{margin:4px 0 0;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-text-secondary)}.person-list{list-style:none;margin:0;padding:0}.person-list>li+li{border-top:1px solid var(--divider-subtle)}.person-row{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;background:none;border:0;font:inherit;text-align:start;cursor:pointer}.person-row:hover{background:var(--ink-weak)}.person-avatar{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--ink-weak);color:var(--brand-primary);font-weight:700;font-size:13px}.person-avatar--lg{width:56px;height:56px;font-size:20px;margin-bottom:10px}.person-name{display:flex;flex-direction:column;gap:2px;min-width:0}.person-name>b{font-size:14px;color:var(--color-text-heading)}.person-name>span{font-size:11.5px;color:var(--color-text-secondary)}.pin-identity{display:flex;flex-direction:column;align-items:center;padding:14px 0 2px;font-size:16px;color:var(--color-text-heading)}.pin-role{margin-top:2px;font-size:12px;font-weight:400;color:var(--color-text-secondary)}.pin-dots{display:flex;justify-content:center;gap:12px;padding:4px 0 8px}.pin-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--ink-weak-border)}.pin-dot--filled{background:var(--brand-primary);border-color:var(--brand-primary)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;margin:0 auto;width:100%}.keypad-key{min-height:56px;border:1px solid var(--ink-weak-border);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-heading);font-size:20px;font-weight:600;cursor:pointer}.keypad-key:active{background:var(--ink-weak)}.keypad-key--text{font-size:12px;font-weight:500;color:var(--color-text-secondary);border-style:dashed}.close-area-intro{padding:16px 14px}.close-area-intro>b{font-size:15px;color:var(--color-text-heading)}.close-area-intro>p{margin:6px 0 0;font-size:12.5px;line-height:1.7;color:var(--color-text-secondary)}.close-area-intro b{color:var(--color-text-emphasis)}.tally-list{list-style:none;margin:0;padding:0}.tally-list>li+li{border-top:1px solid var(--divider-subtle)}.tally-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px}.tally-label{font-size:13px;color:var(--color-text-secondary);min-width:0}.tally-count{font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;color:var(--color-text-heading)}.tally-count--review{color:var(--warning-text)}.close-area-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}.active-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:var(--radius-md);background:var(--ink-weak);font-size:12.5px;color:var(--color-text-secondary)}.link-button{border:0;background:none;padding:4px 2px;font:inherit;font-weight:600;color:var(--brand-primary);cursor:pointer}.stock-head{display:flex;align-items:center;gap:10px;padding:12px 14px}.stock-head-name{display:flex;flex-direction:column;gap:2px;min-width:0}.stock-head-name>b{font-size:14.5px;color:var(--color-text-heading)}.stock-head-name>span{font-size:11.5px;color:var(--color-text-secondary)}.stock-head-total{margin-left:auto;text-align:right;flex:none}.stock-head-total>b{font-variant-numeric:tabular-nums;font-size:20px;color:var(--color-text-heading)}.stock-head-total>span{display:block;font-size:10.5px;color:var(--color-text-secondary)}.stock-table{width:100%;border-collapse:collapse;border-top:1px solid var(--divider-subtle)}.stock-table th,.stock-table td{padding:9px 14px;font-size:13px;text-align:end;font-variant-numeric:tabular-nums}.stock-table thead th{font-size:11px;font-weight:600;color:var(--color-text-secondary);background:var(--ink-weak)}.stock-table th[scope=row],.stock-table thead th:first-child{text-align:start;color:var(--color-text-heading)}.stock-table tbody tr+tr{border-top:1px solid var(--divider-subtle)}.stock-cell--zero{color:var(--color-text-disabled)}.stock-cell--picked{color:var(--error-text)}.stock-cell--strong{font-weight:700;color:var(--color-text-heading)}.undo-target{padding:11px 14px;display:flex;flex-direction:column;gap:2px}.undo-target>b{font-size:13.5px;color:var(--color-text-heading)}.undo-target>span{font-size:11.5px;color:var(--color-text-secondary)}.reason-row{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:56px;padding:12px 14px;background:none;border:0;font:inherit;text-align:start;cursor:pointer}.reason-row:hover{background:var(--ink-weak)}.reason-row--grave{background:var(--error-bg)}.reason-row--grave .person-name>b{color:var(--error-text)}.pickout-box{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--error-bg);color:var(--error-text);font-size:13px;font-weight:600}.stepper{display:inline-flex;align-items:center;gap:6px}.stepper>button{width:32px;height:32px;border:1px solid var(--ink-weak-border);border-radius:var(--radius-md);background:var(--surface);color:var(--color-text-heading);font-size:16px;cursor:pointer}.stepper>b{min-width:28px;text-align:center;font-variant-numeric:tabular-nums}.round-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);padding:0 var(--space-4, 16px) var(--space-4, 16px)}.round-actions__btn{flex:1 1 auto;min-height:var(--touch-min, 44px);padding:var(--space-2, 8px) var(--space-4, 16px);border:1px solid var(--color-border-strong);border-radius:var(--radius-md, 10px);background:var(--color-card-bg);color:var(--color-text-heading);font:inherit;font-weight:600;cursor:pointer}.round-actions__btn:hover{background:var(--color-muted-surface)}.round-actions__btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.server-row{display:flex;align-items:center;gap:var(--space-3, 12px);flex-wrap:wrap}.server-row__state{flex:1 1 12rem;min-width:0}.server-row__title{margin:0;font-weight:600;color:var(--color-text-heading)}.server-row__detail{margin:var(--space-1, 4px) 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm);overflow-wrap:anywhere}
