.face-access{gap:12px;display:grid}.face-camera{aspect-ratio:4/3;background:#192c29;border-radius:18px;position:relative;overflow:hidden}.face-camera video{object-fit:cover;width:100%;height:100%;display:block;transform:scaleX(-1)}.face-camera-placeholder{color:#d8e8e2;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.face-outline{border:3px solid #d7f5d9;border-radius:48%;position:absolute;inset:10% 24%;box-shadow:0 0 0 120px #0003}.face-guidance{text-align:center;min-height:25px;margin:0;font-size:18px;font-weight:650;line-height:1.4}.face-access-button{justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;font-size:17px;display:flex}.face-access progress{accent-color:#32634d;width:100%;height:7px}.face-access-error{color:#9c2c20;background:#fff0ed;border-radius:10px;margin:0;padding:12px}.face-consent{align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.face-consent input{flex-shrink:0;width:22px;height:22px;margin-top:2px}.face-enrol-page{background:#f3f4ef;place-items:center;min-height:100dvh;padding:20px;display:grid}.face-enrol-page>section{background:#fff;border:1px solid #e1e4db;border-radius:22px;width:100%;max-width:430px;padding:24px}.face-enrol-page>section>img{object-fit:contain;width:150px;height:75px;margin:0 auto 12px;display:block}.face-access-success{text-align:center;color:#275d43;padding:24px 0}.face-access-success a{border-radius:8px;margin-top:12px;padding:12px 18px;display:inline-block}.face-mode-switch{gap:8px;margin:12px 0;display:flex}.face-mode-switch button{flex:1;min-height:42px}.face-invite-link{overflow-wrap:anywhere;width:100%;padding:12px}.face-invite-qr{width:200px;margin:10px auto;display:block}@media (width<=480px){.face-enrol-page{padding:12px}.face-enrol-page>section{padding:18px}}.ui-btn{--btn-bg:var(--surface-raised);--btn-fg:var(--text-secondary);--btn-border:var(--border-default);--btn-bg-hover:var(--surface-hover);--btn-border-hover:var(--border-strong);justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:var(--control-padding-md);border:1px solid var(--btn-border);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), transform var(--duration-instant) var(--ease-out);line-height:1;display:inline-flex}.ui-btn:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--btn-border-hover)}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-btn--primary{--btn-bg:var(--accent);--btn-fg:var(--accent-fg);--btn-border:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-border-hover:var(--accent-hover)}.ui-btn--success{--btn-bg:var(--success);--btn-fg:var(--success-fg);--btn-border:var(--success);--btn-bg-hover:var(--green-700);--btn-border-hover:var(--green-700)}.ui-btn--danger{--btn-bg:var(--danger);--btn-fg:var(--danger-fg);--btn-border:var(--danger);--btn-bg-hover:var(--red-700);--btn-border-hover:var(--red-700)}.ui-btn--subtle{--btn-bg:var(--accent-subtle);--btn-fg:var(--accent-subtle-fg);--btn-border:var(--accent-border);--btn-bg-hover:var(--accent-subtle);--btn-border-hover:var(--accent)}.ui-btn--ghost{--btn-bg:transparent;--btn-border:transparent;--btn-border-hover:transparent}.ui-btn--link{--btn-bg:transparent;--btn-border:transparent;--btn-border-hover:transparent;--btn-bg-hover:transparent;--btn-fg:var(--text-link);text-underline-offset:3px;height:auto;padding:0;text-decoration:underline}.ui-btn--link:hover:not(:disabled){color:var(--text-link-hover)}.ui-btn--sm{height:var(--control-height-sm);padding:var(--control-padding-sm);font-size:var(--text-sm);gap:var(--space-1)}.ui-btn--lg{height:var(--control-height-lg);padding:var(--control-padding-lg);font-size:var(--text-md)}.ui-btn--hero{height:var(--control-height-hero);width:100%;padding:0 var(--space-6);border-radius:var(--radius-lg);font-size:var(--text-xl);font-weight:var(--weight-semibold);gap:var(--space-3);box-shadow:var(--shadow-sm)}.ui-btn--block{width:100%}.ui-btn--icon{width:var(--control-height-md);padding:0}.ui-btn--icon.ui-btn--sm{width:var(--control-height-sm)}.ui-btn--icon.ui-btn--lg{width:var(--control-height-lg)}.ui-btn__spinner{animation:.9s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-badge{align-items:center;gap:var(--space-1);padding:0 var(--space-2);border:1px solid var(--badge-border,var(--border-subtle));border-radius:var(--radius-full);background:var(--badge-bg,var(--surface-sunken));height:22px;color:var(--badge-fg,var(--text-secondary));font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;display:inline-flex}.ui-badge__dot{border-radius:var(--radius-full);background:currentColor;flex:none;width:6px;height:6px}.ui-badge--success{--badge-bg:var(--success-subtle);--badge-fg:var(--success-subtle-fg);--badge-border:var(--success-border)}.ui-badge--warning{--badge-bg:var(--warning-subtle);--badge-fg:var(--warning-subtle-fg);--badge-border:var(--warning-border)}.ui-badge--danger{--badge-bg:var(--danger-subtle);--badge-fg:var(--danger-subtle-fg);--badge-border:var(--danger-border)}.ui-badge--info{--badge-bg:var(--info-subtle);--badge-fg:var(--info-subtle-fg);--badge-border:var(--info-border)}.ui-badge--accent{--badge-bg:var(--accent-subtle);--badge-fg:var(--accent-subtle-fg);--badge-border:var(--accent-border)}.ui-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs)}.ui-card--flush{border-left:0;border-right:0;border-radius:0}.ui-card--interactive{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.ui-card--interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.ui-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.ui-card__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);margin:0}.ui-card__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-muted);font-weight:var(--weight-normal)}.ui-card__body{padding:var(--space-5)}.ui-card__body--flush{padding:0}.ui-card__footer{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-sunken);border-radius:0 0 var(--radius-lg) var(--radius-lg);display:flex}.ui-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-field__label{align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);display:flex}.ui-field__required{color:var(--danger)}.ui-field__optional{color:var(--text-muted);font-weight:var(--weight-normal)}.ui-field__hint{font-size:var(--text-xs);color:var(--text-muted);line-height:var(--leading-snug)}.ui-field__error{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--danger);font-weight:var(--weight-medium);display:flex}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:var(--control-height-md);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--text-base);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out)}.ui-textarea{padding:var(--space-3);min-height:calc(var(--control-height-md) * 2);line-height:var(--leading-normal);resize:vertical}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-disabled)}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:var(--border-strong)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle);outline:none}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--surface-disabled);color:var(--text-disabled);cursor:not-allowed}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--danger)}.ui-input[aria-invalid=true]:focus,.ui-textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px var(--danger-subtle)}.ui-select{appearance:none;padding-right:var(--space-8);cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% + 2px),calc(100% - 13px) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.ui-file{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.ui-file__drop{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);display:flex}.ui-file__drop:hover,.ui-file__drop--over{border-color:var(--accent);background:var(--accent-subtle)}.ui-file__icon{color:var(--text-muted);flex:none}.ui-file__drop--over .ui-file__icon,.ui-file__drop:hover .ui-file__icon{color:var(--accent)}.ui-file__text{flex-direction:column;gap:2px;min-width:0;display:flex}.ui-file__primary{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-file__meta{font-size:var(--text-xs);color:var(--text-muted)}.ui-file__native{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ui-check{align-items:center;gap:var(--space-3);min-height:var(--control-height-sm);cursor:pointer;font-size:var(--text-base);color:var(--text-primary);display:flex}.ui-check input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none}.ui-stack{gap:var(--stack-gap,var(--space-4));flex-direction:column;display:flex}.ui-row{align-items:center;gap:var(--row-gap,var(--space-3));flex-wrap:wrap;display:flex}.ui-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit, minmax(var(--grid-min,240px), 1fr));display:grid}.ui-spacer{flex:auto}.ui-empty{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-muted);flex-direction:column;display:flex}.ui-empty__icon{border-radius:var(--radius-full);background:var(--surface-sunken);width:48px;height:48px;color:var(--text-muted);place-items:center;display:grid}.ui-empty__title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.ui-empty__detail{font-size:var(--text-base);max-width:46ch;line-height:var(--leading-relaxed)}.ui-notice{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--notice-border,var(--info-border));border-radius:var(--radius-md);background:var(--notice-bg,var(--info-subtle));color:var(--notice-fg,var(--info-subtle-fg));font-size:var(--text-base);line-height:var(--leading-snug);display:flex}.ui-notice__icon{flex:none;margin-top:1px}.ui-notice--success{--notice-bg:var(--success-subtle);--notice-fg:var(--success-subtle-fg);--notice-border:var(--success-border)}.ui-notice--warning{--notice-bg:var(--warning-subtle);--notice-fg:var(--warning-subtle-fg);--notice-border:var(--warning-border)}.ui-notice--danger{--notice-bg:var(--danger-subtle);--notice-fg:var(--danger-subtle-fg);--notice-border:var(--danger-border)}.ui-segmented{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-sunken);gap:2px;padding:3px;display:inline-flex}.ui-segmented__option{align-items:center;gap:var(--space-2);height:calc(var(--control-height-sm) - 2px);padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;display:inline-flex}.ui-segmented__option:hover{color:var(--text-primary)}.ui-segmented__option[aria-pressed=true],.ui-segmented__option[aria-selected=true]{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-xs)}.ui-skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--surface-hover) 37%, var(--surface-sunken) 63%);background-size:400% 100%;animation:1.4s infinite ui-shimmer}@keyframes ui-shimmer{0%{background-position:100%}to{background-position:0}}.ui-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.registry{margin-top:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-raised);overflow:hidden}.registry__summary-wrap{font-size:inherit;font-weight:inherit;margin:0}.registry__summary{align-items:center;gap:var(--space-2);width:100%;min-height:var(--control-height-lg);padding:0 var(--space-4);background:var(--surface-sunken);color:var(--text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);text-align:left;cursor:pointer;transition:color var(--duration-fast) var(--ease-out);border:0;display:flex}.registry__summary:hover{color:var(--text-primary)}.registry__summary span{flex:1}.registry__chevron{transition:transform var(--duration-base) var(--ease-out)}.registry__chevron--open{transform:rotate(180deg)}.registry__body{padding:var(--space-4);gap:var(--space-4);flex-direction:column;display:flex}.registry__loading{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:var(--text-base);padding:var(--space-4) 0;display:flex}.registry__message{padding:var(--space-3) var(--space-4);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-subtle);color:var(--success-subtle-fg);font-size:var(--text-base)}.registry__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.registry__count{font-size:var(--text-sm);color:var(--text-muted)}.registry__table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto}.registry__table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.registry__table th{padding:var(--space-3) var(--space-4);background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);text-transform:uppercase;text-align:left;white-space:nowrap;position:sticky;top:0}.registry__table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}.registry__table tbody tr:last-child td{border-bottom:0}.registry__table tbody tr:hover td{background:var(--surface-hover)}.registry__name{color:var(--text-primary);font-weight:var(--weight-medium)}.registry__actions{text-align:right;white-space:nowrap}.registry-form{gap:var(--space-4);flex-direction:column;display:flex}.registry-form__actions{justify-content:flex-end;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border-subtle);margin-top:var(--space-2);display:flex}.registry-form .ui-check small{margin-top:2px;display:block}@media (width<=640px){.registry__toolbar{flex-direction:column;align-items:stretch}}:root{--red-50:#fef2f2;--red-100:#fde4e4;--red-200:#fbcdcd;--red-300:#f7a8a8;--red-400:#f07575;--red-500:#e04a4a;--red-600:#d93838;--red-700:#b52a2a;--red-800:#952626;--red-900:#7c2525;--red-950:#430f0f;--neutral-0:#fff;--neutral-50:#faf9f8;--neutral-100:#f4f2f0;--neutral-200:#e8e5e2;--neutral-300:#d6d2ce;--neutral-400:#a8a29d;--neutral-500:#7c7570;--neutral-600:#5c5651;--neutral-700:#45403c;--neutral-800:#2e2a27;--neutral-900:#1c1917;--neutral-950:#110f0e;--green-50:#ecfdf3;--green-100:#d1fadf;--green-200:#a6f4c5;--green-400:#32d583;--green-500:#12b76a;--green-600:#0e7f40;--green-700:#0a6132;--green-900:#052e16;--amber-50:#fffbeb;--amber-100:#fef3c7;--amber-200:#fde68a;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--amber-900:#78350f;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-900:#1e3a8a;--teal-50:#eff8f9;--teal-100:#d3edf0;--teal-200:#a8dbe1;--teal-300:#6fc0ca;--teal-400:#3a9fac;--teal-500:#1b8491;--teal-600:#0b6b76;--teal-700:#08555e;--teal-800:#07454c;--teal-900:#052f34;--violet-50:#f5f3ff;--violet-100:#ede9fe;--violet-200:#ddd6fe;--violet-400:#a78bfa;--violet-500:#8b5cf6;--violet-600:#7c3aed;--violet-700:#6d28d9;--surface-sunken:var(--neutral-100);--surface-page:var(--neutral-50);--surface-raised:var(--neutral-0);--surface-stripe:var(--neutral-50);--surface-row-hover:var(--neutral-100);--surface-selected:var(--teal-50);--surface-overlay:var(--neutral-0);--surface-inverse:var(--neutral-900);--surface-hover:var(--neutral-100);--surface-active:var(--neutral-200);--surface-disabled:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-600);--text-disabled:var(--neutral-400);--text-inverse:var(--neutral-0);--text-link:var(--teal-700);--text-link-hover:var(--teal-800);--border-subtle:var(--neutral-200);--border-default:var(--neutral-300);--border-strong:var(--neutral-400);--border-inverse:#ffffff24;--accent:var(--teal-600);--accent-hover:var(--teal-700);--accent-active:var(--teal-800);--accent-fg:var(--neutral-0);--accent-subtle:var(--teal-50);--accent-subtle-fg:var(--teal-800);--accent-border:var(--teal-200);--brand-seal:var(--red-600);--success:var(--green-600);--success-fg:var(--neutral-0);--success-subtle:var(--green-50);--success-subtle-fg:var(--green-700);--success-border:var(--green-200);--warning:var(--amber-600);--warning-fg:var(--neutral-0);--warning-subtle:var(--amber-50);--warning-subtle-fg:var(--amber-700);--warning-border:var(--amber-200);--danger:var(--red-600);--danger-fg:var(--neutral-0);--danger-subtle:var(--red-50);--danger-subtle-fg:var(--red-800);--danger-border:var(--red-200);--info:var(--blue-600);--info-fg:var(--neutral-0);--info-subtle:var(--blue-50);--info-subtle-fg:var(--blue-700);--info-border:var(--blue-200);--external:var(--violet-600);--external-subtle:var(--violet-50);--external-subtle-fg:var(--violet-700);--external-border:var(--violet-200);--nav-surface:var(--neutral-900);--nav-text:var(--neutral-300);--nav-text-strong:var(--neutral-0);--nav-hover:#ffffff14;--nav-active:var(--neutral-0);--nav-active-fg:var(--neutral-950);--nav-group-label:var(--neutral-500);--nav-border:#ffffff1a;--shadow-xs:0 1px 2px #1c191710;--shadow-sm:0 1px 3px #1c191714, 0 1px 2px #1c19170f;--shadow-md:0 4px 12px #1c191714, 0 2px 4px #1c19170d;--shadow-lg:0 12px 28px #1c19171f, 0 4px 10px #1c191714;--shadow-xl:0 24px 56px #1c191726, 0 8px 20px #1c191717;--focus-ring-color:var(--teal-600);--focus-ring-width:2px;--focus-ring-offset:2px;--font-sans:Inter, "Segoe UI", system-ui, Arial, sans-serif;--font-display:var(--font-sans);--font-mono:"JetBrains Mono", "Cascadia Mono", Consolas, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.011em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.08em;--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;--space-16:4rem;--space-20:5rem;--radius-xs:3px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--control-height-sm:32px;--control-height-md:40px;--control-height-lg:48px;--control-height-touch:56px;--control-height-hero:72px;--control-padding-sm:0 var(--space-3);--control-padding-md:0 var(--space-4);--control-padding-lg:0 var(--space-5);--rail-width:232px;--topbar-height:44px;--rail-width-collapsed:64px;--content-max:1600px;--reading-max:68ch;--duration-instant:80ms;--duration-fast:.14s;--duration-base:.22s;--duration-slow:.36s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.4, .64, 1);--z-base:0;--z-sticky:100;--z-rail:200;--z-overlay:300;--z-modal:400;--z-toast:500}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-sunken:var(--neutral-950);--surface-page:var(--neutral-900);--surface-raised:var(--neutral-800);--surface-stripe:#ffffff0a;--surface-row-hover:#ffffff14;--surface-selected:#6fc0ca24;--surface-overlay:var(--neutral-800);--surface-inverse:var(--neutral-50);--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--surface-disabled:#ffffff0a;--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-muted:var(--neutral-400);--text-disabled:var(--neutral-600);--text-inverse:var(--neutral-900);--text-link:var(--teal-300);--text-link-hover:var(--teal-200);--border-subtle:#ffffff14;--border-default:#ffffff24;--border-strong:#ffffff3d;--border-inverse:#00000024;--accent:var(--teal-300);--accent-hover:var(--teal-200);--accent-active:var(--teal-100);--accent-fg:var(--neutral-950);--accent-subtle:#6fc0ca1f;--accent-subtle-fg:var(--teal-200);--accent-border:#6fc0ca4d;--success:var(--green-500);--success-fg:var(--neutral-950);--success-subtle:#12b76a1f;--success-subtle-fg:var(--green-200);--success-border:#12b76a45;--warning:var(--amber-400);--warning-fg:var(--neutral-950);--warning-subtle:#f59e0b1f;--warning-subtle-fg:var(--amber-200);--warning-border:#f59e0b45;--danger:var(--red-500);--danger-fg:var(--neutral-950);--danger-subtle:#e04a4a1f;--danger-subtle-fg:var(--red-200);--danger-border:#e04a4a45;--info:var(--blue-400);--info-fg:var(--neutral-950);--info-subtle:#3b82f61f;--info-subtle-fg:var(--blue-200);--info-border:#3b82f645;--external:var(--violet-400);--external-subtle:#8b5cf61f;--external-subtle-fg:var(--violet-200);--external-border:#8b5cf645;--nav-surface:var(--neutral-950);--nav-text:var(--neutral-400);--nav-text-strong:var(--neutral-0);--nav-hover:#ffffff0f;--nav-group-label:var(--neutral-600);--nav-border:#ffffff14;--shadow-xs:0 1px 2px #00000052;--shadow-sm:0 1px 3px #0000005c, 0 1px 2px #00000047;--shadow-md:0 4px 12px #0006, 0 2px 4px #0000004d;--shadow-lg:0 12px 28px #00000080, 0 4px 10px #0000005c;--shadow-xl:0 24px 56px #0000008f, 0 8px 20px #0006;--focus-ring-color:var(--teal-300)}}:root[data-theme=dark]{--surface-sunken:var(--neutral-950);--surface-page:var(--neutral-900);--surface-raised:var(--neutral-800);--surface-stripe:#ffffff0a;--surface-row-hover:#ffffff14;--surface-selected:#6fc0ca24;--surface-overlay:var(--neutral-800);--surface-inverse:var(--neutral-50);--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--surface-disabled:#ffffff0a;--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-muted:var(--neutral-400);--text-disabled:var(--neutral-600);--text-inverse:var(--neutral-900);--text-link:var(--teal-300);--text-link-hover:var(--teal-200);--border-subtle:#ffffff14;--border-default:#ffffff24;--border-strong:#ffffff3d;--border-inverse:#00000024;--accent:var(--teal-300);--accent-hover:var(--teal-200);--accent-active:var(--teal-100);--accent-fg:var(--neutral-950);--accent-subtle:#6fc0ca1f;--accent-subtle-fg:var(--teal-200);--accent-border:#6fc0ca4d;--success:var(--green-500);--success-fg:var(--neutral-950);--success-subtle:#12b76a1f;--success-subtle-fg:var(--green-200);--success-border:#12b76a45;--warning:var(--amber-400);--warning-fg:var(--neutral-950);--warning-subtle:#f59e0b1f;--warning-subtle-fg:var(--amber-200);--warning-border:#f59e0b45;--danger:var(--red-500);--danger-fg:var(--neutral-950);--danger-subtle:#e04a4a1f;--danger-subtle-fg:var(--red-200);--danger-border:#e04a4a45;--info:var(--blue-400);--info-fg:var(--neutral-950);--info-subtle:#3b82f61f;--info-subtle-fg:var(--blue-200);--info-border:#3b82f645;--external:var(--violet-400);--external-subtle:#8b5cf61f;--external-subtle-fg:var(--violet-200);--external-border:#8b5cf645;--nav-surface:var(--neutral-950);--nav-text:var(--neutral-400);--nav-text-strong:var(--neutral-0);--nav-hover:#ffffff0f;--nav-group-label:var(--neutral-600);--nav-border:#ffffff14;--shadow-xs:0 1px 2px #00000052;--shadow-sm:0 1px 3px #0000005c, 0 1px 2px #00000047;--shadow-md:0 4px 12px #0006, 0 2px 4px #0000004d;--shadow-lg:0 12px 28px #00000080, 0 4px 10px #0000005c;--shadow-xl:0 24px 56px #0000008f, 0 8px 20px #0006;--focus-ring-color:var(--teal-300)}[data-density=touch]{--text-base:1.0625rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.375rem;--text-2xl:1.5rem;--text-3xl:1.625rem;--text-4xl:1.75rem;--control-height-sm:44px;--control-height-md:56px;--control-height-lg:64px;--control-height-touch:72px;--control-height-hero:88px;--radius-md:10px;--radius-lg:14px}:root{font-family:var(--font-sans);font-size:100%;line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--surface-page);color:var(--text-primary);font-size:var(--text-base);margin:0}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--border-default);background:var(--surface-raised);min-height:29px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;font-size:var(--text-sm);border-radius:4px;justify-content:center;align-items:center;gap:6px;padding:5px 10px;font-weight:500;display:inline-flex}button:hover{background:var(--surface-page);border-color:var(--border-strong)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}button.primary:hover{background:var(--surface-inverse)}button.icon-btn{background:0 0;border-color:#0000;min-width:26px;min-height:25px;padding:4px}button.icon-btn:hover{background:var(--surface-page)}button.text-btn{color:var(--text-secondary);min-height:23px;font-size:var(--text-xs);background:0 0;border:0;padding:3px 5px}input,select,textarea{border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);border-radius:4px;outline:none;max-width:100%;min-height:30px;padding:6px 8px}summary{cursor:pointer;list-style:none}.toast-next{min-height:26px;font-size:var(--text-xs);background:var(--surface-raised);border:1px solid var(--border-default);color:var(--text-primary);gap:5px;padding:3px 10px}.toast-next:hover{border-color:var(--border-strong)}summary::-webkit-details-marker{display:none}details:not(.nav-group):not(.row-more)>summary{align-items:center;gap:7px;display:flex}details:not(.nav-group):not(.row-more)>summary:before{content:"";opacity:.55;border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:4.5px solid;flex:none;width:0;height:0;transition:transform .12s}details[open]:not(.nav-group):not(.row-more)>summary:before{transform:rotate(90deg)}details:not(.nav-group):not(.row-more)>summary:hover:before{opacity:1}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 14px) calc(50% + 1px),calc(100% - 9px) calc(50% + 1px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}select:hover{border-color:var(--border-strong)}select:disabled{cursor:default;background-image:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-subtle);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}input[type=checkbox]{appearance:none;border:1px solid var(--border-strong);background:var(--surface-raised);cursor:pointer;border-radius:3px;flex:none;width:15px;height:15px;min-height:auto;margin:0;padding:0;position:relative}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:solid var(--accent-fg);border-width:0 2px 2px 0;width:3.5px;height:7px;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}input[type=checkbox]:disabled{background:var(--surface-disabled);cursor:default}button:focus-visible,a:focus-visible{outline:2px solid var(--border-strong);outline-offset:2px}h1,h2,h3,p{margin:0}a{color:var(--accent)}.muted{color:var(--text-muted)}.small{font-size:var(--text-xs)}.mono{font-variant-numeric:tabular-nums;font-size:var(--text-xs)}.danger-text{color:var(--accent-subtle-fg)}.warning-text{color:var(--warning-subtle-fg)}.success-text{color:var(--text-secondary)}.live-dot,.sync-label i{background:var(--surface-inverse);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--rail-width);background:var(--nav-surface);color:var(--nav-text);z-index:var(--z-rail);border-right:1px solid var(--nav-border);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.brand{height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--nav-border);flex:none;display:flex}.brand-symbol{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:-.12em;color:var(--nav-text-strong);padding-right:var(--space-1);min-width:32px;line-height:1}.brand-symbol span{color:var(--accent)}.brand-copy{white-space:nowrap;flex-direction:column;gap:3px;min-width:0;display:flex}.brand-copy strong{font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);color:var(--nav-text-strong)}.brand-copy span{font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);color:var(--nav-group-label);text-transform:uppercase}.factory-switch{min-height:var(--control-height-sm);align-items:center;gap:var(--space-2);margin:var(--space-3) var(--space-3) var(--space-1);padding:var(--space-2) var(--space-3);background:var(--nav-hover);border:1px solid var(--nav-border);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--nav-text);white-space:nowrap;display:flex}.factory-switch small{color:var(--nav-group-label);margin-left:auto}.sidebar nav{padding:0 var(--space-2);scrollbar-width:thin;flex:1;overflow-y:auto}.nav-group>summary{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);font-weight:var(--weight-semibold);text-transform:uppercase;color:var(--nav-group-label);padding:var(--space-4) var(--space-3) var(--space-2);border-radius:var(--radius-md);list-style:none;display:flex}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:before{content:"";border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:4px solid;width:0;height:0;transition:transform .12s}.nav-group[open]>summary:before{transform:rotate(90deg)}.nav-group>summary:hover{color:var(--nav-text)}.nav-group>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-item{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;color:var(--nav-text);font-size:var(--text-base);font-weight:var(--weight-medium);border-radius:var(--radius-md);padding:0 var(--space-3);min-height:var(--control-height-md);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);background:0 0;border:0;margin:1px 0;display:flex}.nav-item:hover{background:var(--nav-hover);color:var(--nav-text-strong);border:0}.nav-item svg{color:currentColor;opacity:.75;flex-shrink:0}.nav-item.active{color:var(--nav-text-strong);background:var(--nav-hover);font-weight:var(--weight-semibold);position:relative}.nav-item.active:before{content:"";left:calc(var(--space-2) * -1);border-radius:var(--radius-full);background:var(--nav-active);width:3px;height:18px;position:absolute;top:50%;translate:0 -50%}.nav-item.active svg{color:var(--nav-active);opacity:1}.nav-item b{background:var(--danger);color:var(--danger-fg);padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-2xs);font-weight:var(--weight-semibold);margin-left:auto;line-height:1.6}.sidebar-bottom{padding:var(--space-2) var(--space-2) var(--space-3);border-top:1px solid var(--nav-border);flex:none}.sidebar-bottom>.nav-item{font-size:var(--text-sm)}.user-box{border-top:1px solid var(--nav-border);padding:var(--space-3) var(--space-1);margin-top:var(--space-2);align-items:center;gap:8px;display:flex}.avatar{background:var(--surface-sunken);width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-xs);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.user-box>div{flex-direction:column;flex:1;gap:3px;display:flex}.user-box strong{font-size:var(--text-sm);color:var(--nav-text-strong)}.user-box small{font-size:var(--text-xs);color:var(--nav-text);text-transform:capitalize}.user-box .icon-btn{color:var(--nav-text)}.rail-collapsed{--rail:56px}.rail-collapsed .brand-copy,.rail-collapsed .factory-switch,.rail-collapsed .nav-item span,.rail-collapsed .nav-item b,.rail-collapsed .nav-group>summary,.rail-collapsed .user-box>div,.rail-collapsed .user-box>.icon-btn{display:none}.rail-collapsed .sidebar nav{padding-top:12px}.rail-collapsed .nav-item{justify-content:center;padding:9px 4px}.rail-collapsed .user-box{justify-content:center}.rail-collapsed .collapse-button svg{transform:rotate(180deg)}.workspace{margin-left:var(--rail-width);width:calc(100% - var(--rail-width));flex-direction:column;min-width:0;min-height:100vh;display:flex}.topbar{height:var(--topbar-height);background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);flex-shrink:0;align-items:center;gap:10px;padding:0 16px;display:flex}.page-name{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.2;overflow:hidden}.topbar-right{align-items:center;gap:7px;margin-left:auto;display:flex}.topbar-right button{font-size:var(--text-xs);min-height:28px}.demo-pill{font-size:var(--text-2xs);letter-spacing:.09em;color:var(--warning-subtle-fg);border:1px solid var(--warning-border);background:var(--warning-subtle);border-radius:3px;flex-shrink:0;padding:3px 5px}.sync-label{color:var(--text-muted);font-size:var(--text-xs);flex-shrink:0;align-items:center;gap:6px;display:flex}.sync-label.offline i{background:var(--accent)}.mobile-menu{display:none!important}.page-error{padding:0 16px 8px}.summary-strip{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0 16px 12px;display:grid}.summary-item{border:1px solid var(--border-subtle);background:var(--surface-raised);box-shadow:var(--shadow-xs);text-align:left;border-radius:8px;justify-content:flex-start;gap:9px;min-width:0;padding:11px 13px;transition:box-shadow .12s,border-color .12s;position:relative}.summary-item:hover{border-color:var(--border-default);box-shadow:var(--shadow-sm)}.summary-item>svg:first-child{color:var(--text-muted);flex-shrink:0;align-self:flex-start;margin-top:2px}.summary-item span{min-width:0}.summary-item small{font-size:var(--text-2xs);color:var(--text-muted);font-weight:400;display:block}.summary-item strong{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.035em;align-items:baseline;gap:5px;font-weight:650;line-height:1.2;display:flex}.summary-item em{font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:0;text-overflow:ellipsis;font-style:normal;font-weight:400;overflow:hidden}.summary-arrow{opacity:0;color:var(--text-muted);position:absolute;top:7px;right:6px}.summary-item:hover .summary-arrow{opacity:1}.summary-item.red strong,.summary-item.red>svg:first-child{color:var(--danger-subtle-fg)}.summary-item.amber strong,.summary-item.amber>svg:first-child{color:var(--warning-subtle-fg)}.summary-item.blue strong,.summary-item.blue>svg:first-child{color:var(--info-subtle-fg)}.summary-item.purple strong,.summary-item.purple>svg:first-child{color:var(--external-subtle-fg)}.summary-item.red,.summary-item.amber,.summary-item.blue,.summary-item.purple{position:relative;overflow:hidden}.summary-item.red:before,.summary-item.amber:before,.summary-item.blue:before,.summary-item.purple:before{content:"";background:currentColor;width:3px;position:absolute;inset:0 auto 0 0}.summary-item.red:before{background:var(--danger)}.summary-item.amber:before{background:var(--warning)}.summary-item.blue:before{background:var(--info)}.summary-item.purple:before{background:var(--external)}.summary-item.red:not(.quiet),.summary-item.amber:not(.quiet){background:color-mix(in srgb, var(--surface-raised) 94%, currentColor)}.list-and-detail{flex:1;gap:0;min-height:0;margin:0 16px;display:flex;position:relative}.list-section{border:1px solid var(--border-subtle);background:var(--surface-raised);border-radius:5px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:visible}.filter-bar{border-bottom:1px solid var(--border-default);background:var(--surface-raised);border-radius:5px 5px 0 0;flex-wrap:wrap;align-items:center;gap:7px;min-height:42px;padding:6px 9px;display:flex}.search-field{border:1px solid var(--border-default);background:var(--surface-raised);min-width:140px;max-width:320px;color:var(--text-muted);border-radius:4px;flex:1;align-items:center;gap:6px;height:28px;padding:0 7px;display:flex}.search-field input{width:100%;min-height:24px;font-size:var(--text-xs);box-shadow:none;background:0 0;border:0;padding:4px 0}.filter-bar>select{font-size:var(--text-xs);max-width:172px;min-height:28px;padding:4px 22px 4px 7px}.filter-end{align-items:center;gap:5px;margin-left:auto;display:flex}.filter-end .text-btn{font-size:var(--text-2xs);color:var(--text-muted)}.column-control{position:relative}.column-menu{background:var(--surface-raised);border:1px solid var(--border-subtle);z-index:10;border-radius:5px;flex-direction:column;gap:8px;width:170px;padding:10px;display:flex;position:absolute;top:29px;right:0;box-shadow:0 7px 24px #3232321c}.column-menu strong{font-size:var(--text-xs)}.column-menu label{font-size:var(--text-xs);align-items:center;gap:7px;display:flex}.filter-chip{font-size:var(--text-xs);background:var(--warning-subtle);color:var(--warning-subtle-fg);border-color:var(--warning-border);min-height:26px;padding:3px 7px}.table-scroll{border-radius:0 0 3px 3px;flex:1;min-height:160px;max-height:calc(100vh - 214px);overflow:auto}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-xs);white-space:nowrap}.data-table thead{z-index:2;position:sticky;top:0}.data-table th{text-align:left;background:var(--surface-page);border-bottom:1px solid var(--border-default);height:32px;color:var(--text-muted);font-weight:500;font-size:var(--text-2xs);padding:0 12px}.data-table th button{min-height:26px;color:inherit;font-size:inherit;font-weight:inherit;background:0 0;border:0;gap:4px;padding:0}.data-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;font-variant-numeric:tabular-nums;height:40px;color:var(--text-muted);padding:6px 12px;line-height:20px}.data-table tbody tr.selected{background:var(--surface-selected)}.data-table .cell-main{color:var(--text-primary);font-weight:500}.data-table .cell-pair{text-align:left;align-items:baseline;gap:6px;min-width:0;max-width:100%;display:flex}.data-table .cell-pair>small{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:400;overflow:hidden}.data-table .cell-pair>small:before{content:"· "}.data-table .record-link{min-height:22px;line-height:1.2;font-size:var(--text-xs);color:var(--text-secondary);letter-spacing:.015em;background:0 0;border:0;padding:0;font-weight:600}.data-table .record-link:hover{text-decoration:underline}.data-table .number{text-align:right}.data-table .number button{margin-left:auto}.data-table .check-col{width:27px;padding-left:9px;padding-right:4px}.data-table input[type=checkbox]{border-color:var(--border-default);vertical-align:middle;width:11px;height:11px}.data-table .row-action{width:26px;padding:0 6px}.data-table .row-action .icon-btn{min-width:21px;min-height:21px;color:var(--text-muted)}.data-table td:first-child,.data-table th:first-child{z-index:1;background:inherit;position:sticky;left:0}.data-table th:first-child{background:var(--surface-page)}.data-table td:first-child{background:var(--surface-raised)}.data-table tr.selected td:first-child{background:var(--surface-selected)}.data-table td strong{font-weight:600}.data-table .activity-detail{white-space:normal;min-width:250px;max-width:640px;line-height:1.4;display:block}.data-table .overdue-row .due-dot{background:var(--accent);vertical-align:middle;border-radius:50%;width:4px;height:4px;margin-right:5px;display:inline-block}.data-table .exception-text{font-size:var(--text-xs);color:var(--accent-subtle-fg)}.status{line-height:17px;font-size:var(--text-2xs);white-space:nowrap;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:4px;padding:1px 6px;font-weight:500;display:inline-flex}.status i{background:currentColor;border-radius:50%;flex-shrink:0;width:4px;height:4px}.progress-cell{font-size:var(--text-2xs);color:var(--text-muted);align-items:center;gap:6px;min-width:68px;display:inline-flex}.progress-track{background:var(--surface-sunken);border-radius:3px;width:40px;height:3px;overflow:hidden}.progress-track>span{background:var(--surface-hover);border-radius:3px;height:100%;display:block}.selection-bar{background:var(--surface-page);border-bottom:1px solid var(--border-default);font-size:var(--text-xs);align-items:center;gap:12px;padding:5px 12px;display:flex}.selection-bar button{font-size:var(--text-xs);min-height:25px}.table-footer{border-top:1px solid var(--border-default);height:39px;color:var(--text-muted);font-size:var(--text-2xs);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:5px 10px;display:flex}.table-footer>span:first-child{align-items:center;gap:8px;display:flex}.table-footer .last-updated{font-size:var(--text-2xs);color:var(--text-muted);margin-left:auto}.pagination{align-items:center;gap:8px;display:flex}.pagination label{align-items:center;gap:5px;display:flex}.pagination select{font-size:var(--text-2xs);min-height:24px;color:var(--text-muted);padding:2px 4px}.pagination .icon-btn{min-width:21px;min-height:22px}.workspace-foot{height:29px;color:var(--text-muted);font-size:var(--text-2xs);justify-content:space-between;align-items:center;padding:0 17px;display:flex}.workspace-foot>span{align-items:center;gap:5px;display:flex}.workspace-foot .live-dot{background:var(--surface-hover);width:4px;height:4px}.empty{text-align:center;color:var(--text-muted);font-size:var(--text-xs);flex-direction:column;align-items:center;gap:8px;padding:38px 15px;display:flex}.empty strong{color:var(--text-secondary);font-size:var(--text-sm)}.loading{color:var(--text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.boot-loading{min-height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.notice{background:var(--surface-page);color:var(--text-muted);border:1px solid var(--border-default);font-size:var(--text-xs);border-radius:4px;align-items:flex-start;gap:8px;padding:9px 10px;line-height:1.5;display:flex}.notice svg{flex-shrink:0;margin-top:1px}.toast{bottom:20px;left:calc(var(--rail-width) + 20px);background:var(--surface-inverse);max-width:min(650px,100vw - 35px);color:var(--text-inverse);border:1px solid var(--border-strong);font-size:var(--text-sm);z-index:60;border-radius:5px;align-items:center;gap:9px;padding:10px 12px;display:flex;position:fixed;box-shadow:0 4px 20px #2d2d2d29}.toast>.icon-btn{color:inherit;margin-left:auto}.showing-record>.list-section{display:none}.record-page{background:var(--surface-page);border:1px solid var(--border-subtle);border-radius:5px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.record-back{min-height:28px;font-size:var(--text-xs);color:var(--text-secondary);background:0 0;border:1px solid #0000;align-self:flex-start;gap:6px;padding:4px 10px 4px 7px}.record-back:hover{border-color:var(--border-default);color:var(--text-primary)}.drawer-head{align-items:center;gap:var(--space-4);background:var(--surface-raised);border-bottom:1px solid var(--border-default);padding:10px 16px;display:flex}.drawer-head small{font-size:var(--text-2xs);letter-spacing:.12em;color:var(--text-muted)}.drawer-head h2{font-size:var(--text-lg);letter-spacing:-.02em;color:var(--text-secondary);margin-top:3px}.drawer-summary{font-size:var(--text-xs);color:var(--text-muted);background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:5px;padding:12px 16px 14px;display:flex}.drawer-summary>strong{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text-primary)}.drawer-summary>div{justify-content:space-between;align-items:center;margin-top:3px;display:flex}.drawer-tabs{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:9px;align-self:flex-start;gap:2px;margin:14px 16px 0;padding:3px;display:inline-flex}.drawer-tabs button{color:var(--text-secondary);font-size:var(--text-xs);background:0 0;border:1px solid #0000;border-radius:7px;flex:none;min-height:29px;padding:4px 15px}.drawer-tabs button:hover:not(.active){color:var(--text-primary)}.drawer-tabs button.active{background:var(--surface-raised);border-color:var(--border-default);box-shadow:var(--shadow-xs);color:var(--text-primary);font-weight:var(--weight-semibold)}.drawer-body{flex:1;max-width:940px;min-height:100px;padding:4px 16px 20px;overflow:auto}.route-change{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);flex-direction:column;align-items:flex-start;gap:6px;display:flex}.route-change .ui-segmented{flex-wrap:wrap}.detail-section{margin-top:var(--space-4);padding:var(--space-4) var(--space-5) var(--space-5);background:var(--surface-raised);border:1px solid var(--border-subtle);box-shadow:var(--shadow-xs);border-radius:10px}.detail-section:first-child{margin-top:var(--space-3)}.section-label{margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:6px;display:flex}.section-label h3{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary)}.section-label>svg{color:var(--text-muted)}.operation-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:7px;padding:6px 0;display:flex}.operation-row>div{flex:1;min-width:0}.operation-row strong{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.operation-row small{font-size:var(--text-2xs);color:var(--text-muted);margin-top:2px;display:block}.op-dot{border:1px solid var(--border-default);background:var(--surface-raised);width:20px;height:20px;color:var(--text-muted);font-size:var(--text-2xs);border-radius:50%;justify-content:center;align-items:center;display:flex}.op-dot.done{color:var(--text-muted);background:var(--surface-page);border-color:var(--border-default)}.op-dot.active{color:var(--info-subtle-fg);background:var(--surface-page);border-color:var(--info-border)}.part-row{border-bottom:1px solid var(--border-subtle);color:var(--text-muted);align-items:center;gap:7px;padding:7px 0;display:flex}.part-row>div{flex-wrap:wrap;flex:1;gap:3px 7px;min-width:0;display:flex}.part-row strong{font-size:var(--text-xs);color:var(--text-secondary)}.part-row span{font-size:var(--text-xs);color:var(--text-muted)}.part-row small{width:100%;font-size:var(--text-2xs);color:var(--text-muted);display:block}.inspection{font-size:var(--text-xs);color:var(--text-muted);line-height:1.5}.inspection>span{margin-right:7px}.inspection p{color:var(--text-muted);margin:7px 0}.blockers{color:var(--warning-subtle-fg);font-size:var(--text-xs);margin:9px 0;padding-left:15px;line-height:1.65}.button-row{flex-wrap:wrap;gap:5px;margin:9px 0;display:flex}.button-row button{font-size:var(--text-xs);min-height:27px;padding:4px 7px}.external-record{border-bottom:1px solid var(--border-default);font-size:var(--text-xs);padding:8px 0}.external-record>div{color:var(--text-muted);justify-content:space-between;gap:6px;display:flex}.external-record strong{color:var(--text-secondary)}.external-record small{color:var(--text-muted);margin-top:3px;display:block}.external-record p{color:var(--text-muted);margin:5px 0}.external-record button{font-size:var(--text-xs);min-height:26px}.drawer-footer{border-top:1px solid var(--border-default);font-size:var(--text-2xs);color:var(--text-muted);justify-content:space-between;align-items:center;padding:7px 10px;display:flex}.drawer-footer>span{align-items:center;gap:4px;display:flex}.timeline-entry{font-size:var(--text-xs);gap:9px;padding:8px 0;display:flex;position:relative}.timeline-entry>i{background:var(--surface-hover);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:4px}.timeline-entry strong{color:var(--text-secondary);font-size:var(--text-xs);font-weight:600}.timeline-entry p{color:var(--text-muted);overflow-wrap:anywhere;margin:4px 0;line-height:1.5}.timeline-entry small{font-size:var(--text-2xs);color:var(--text-muted)}.definition-note{font-size:var(--text-xs);background:var(--surface-page);border:1px solid var(--border-default);color:var(--text-muted);border-radius:3px;margin-top:12px;padding:9px;line-height:1.6}.ready-note{color:var(--text-muted);background:var(--surface-page);font-size:var(--text-xs);align-items:center;gap:6px;padding:9px;display:flex}.mini-table-scroll{overflow:auto}.mini-table{border-collapse:collapse;width:100%;font-size:var(--text-xs);color:var(--text-muted);margin-top:10px}.mini-table th{font-size:var(--text-2xs);background:var(--surface-page);text-align:right;padding:6px}.mini-table th:first-child,.mini-table td:first-child{text-align:left}.mini-table td{text-align:right;border-bottom:1px solid var(--border-default);padding:7px 6px}.mini-table small{color:var(--text-muted);margin-top:3px;display:block}.discrepancy{border:1px solid var(--warning-border);background:var(--surface-raised);border-radius:3px;margin-bottom:8px;padding:9px}.discrepancy>div{font-size:var(--text-xs);color:var(--warning);justify-content:space-between;align-items:center;display:flex}.discrepancy small{font-size:var(--text-2xs);color:var(--warning);margin:5px 0;display:block}.discrepancy button{font-size:var(--text-xs);min-height:26px}.discrepancy p{font-size:var(--text-xs);margin:5px 0}.ledger-row{border-bottom:1px solid var(--border-default);padding:8px 0}.ledger-row>div{font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.ledger-row>div strong{color:var(--text-muted);font-size:var(--text-xs)}.ledger-row p{font-size:var(--text-xs);color:var(--text-muted);margin:5px 0}.ledger-row small{font-size:var(--text-2xs);color:var(--text-muted)}.modal{border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);border-radius:7px;width:480px;max-width:calc(100vw - 28px);max-height:calc(100vh - 50px);padding:0;overflow:auto;box-shadow:0 16px 70px #32323230}.modal.wide{width:660px}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#27272766}.modal-head{background:var(--surface-raised);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.modal-head h2{font-size:var(--text-md);letter-spacing:-.02em;font-weight:600}.modal-body{padding:15px 16px;line-height:1.5}.modal-body>.notice{margin-bottom:12px}.modal-body>p{font-size:var(--text-xs);margin-bottom:12px}.modal-foot{border-top:1px solid var(--border-default);background:var(--surface-raised);z-index:2;justify-content:flex-end;gap:7px;padding:10px 16px;display:flex;position:sticky;bottom:0}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>span{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.field input,.field select,.field textarea{width:100%;font-size:var(--text-sm);border-color:var(--border-default)}.field textarea{resize:vertical}.field small{font-size:var(--text-xs);color:var(--text-muted)}.full{grid-column:1/-1}.field-note{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:1.6}.record-context{font-size:var(--text-xs);background:var(--surface-page);border:1px solid var(--border-default);border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:14px;padding:9px;display:flex}.record-context strong,.record-context>span{color:var(--text-muted)}.part-options{border:1px solid var(--border-default);border-radius:4px;flex-wrap:wrap;gap:9px;min-width:0;margin:0;padding:10px;display:flex}.part-options legend{font-size:var(--text-xs);color:var(--text-muted);padding:0 5px}.part-options label{font-size:var(--text-xs);align-items:center;gap:6px;display:flex}.part-options{flex-direction:column;display:flex}.part-options strong{font-size:var(--text-xs);font-weight:500}.bom-editor{border:1px solid var(--border-default);border-radius:4px;padding:8px}.mini-table-head,.bom-line{grid-template-columns:1fr 90px 28px;align-items:center;gap:6px;margin-bottom:6px;display:grid}.mini-table-head{font-size:var(--text-xs);color:var(--text-muted)}.bom-line select,.bom-line input{width:100%;min-width:0;font-size:var(--text-xs)}.qr-label{border:1px solid var(--border-default);background:var(--surface-raised);width:280px;min-height:100px;color:var(--text-primary);align-items:center;gap:10px;padding:9px;display:flex}.qr-label img{width:90px;height:90px}.qr-label>div{flex-direction:column;gap:6px;display:flex}.qr-label small{font-size:var(--text-2xs)}.qr-label strong{font-size:var(--text-base)}.qr-label span{font-size:var(--text-xs)}.label-sheet{flex-wrap:wrap;gap:10px;display:flex}.login-page{background:radial-gradient(ellipse at 70% 25%, var(--surface-sunken) 0, transparent 55%), var(--surface-page);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:8px;width:380px;padding:28px;box-shadow:0 12px 50px #41414110}.login-brand{align-items:center;gap:12px;margin-bottom:27px;display:flex}.login-brand .brand-symbol{background:var(--surface-inverse);border-radius:5px;padding:8px 10px 9px 7px}.login-brand>div:last-child{flex-direction:column;gap:5px;display:flex}.login-brand strong{font-size:var(--text-xs);letter-spacing:.13em;color:var(--text-secondary)}.login-brand span{font-size:var(--text-xs);color:var(--text-muted)}.login-card h1{font-size:var(--text-2xl);letter-spacing:-.04em;color:var(--text-secondary);margin-bottom:8px}.login-card>p{font-size:var(--text-xs);margin-bottom:18px;line-height:1.6}.login-card form{flex-direction:column;gap:14px;margin-top:16px;display:flex}.login-submit{min-height:35px;margin-top:4px}.login-submit svg:last-child{margin-left:auto}.demo-login{border:1px solid var(--border-default);background:var(--surface-raised);font-size:var(--text-xs);border-radius:4px;margin-top:22px;padding:12px}.demo-login strong{font-size:var(--text-xs);color:var(--text-muted)}.demo-login p{color:var(--text-muted);margin-top:6px;line-height:1.6}.demo-roles{gap:5px;margin:9px 0;display:flex}.demo-roles button{font-size:var(--text-2xs);min-height:25px;padding:3px 8px}.demo-login small{font-size:var(--text-2xs);color:var(--text-muted)}.login-foot{font-size:var(--text-2xs);color:var(--text-muted);justify-content:space-between;margin-top:24px;display:flex}.login-card>.notice{margin-bottom:10px}.floor-layout{flex:1;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:12px;padding:0 16px 16px;display:grid}.floor-work{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:5px;padding:14px}.floor-identity{align-items:center;gap:8px;margin-bottom:13px;display:flex}.floor-identity>div{flex-direction:column;flex:1;gap:4px;display:flex}.floor-identity strong{font-size:var(--text-base)}.floor-identity small{font-size:var(--text-xs);color:var(--text-muted)}.floor-scan{border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-muted);border-radius:5px;align-items:center;gap:10px;margin-bottom:14px;padding:6px 6px 6px 12px;display:flex}.floor-scan input{min-width:0;box-shadow:none;font-size:var(--text-lg);background:0 0;border:0;flex:1;padding:8px 0}.floor-scan button{min-height:44px;font-size:var(--text-base)}.scan-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:65px 15px;display:flex}.scan-empty h2{font-size:var(--text-2xl);color:var(--text-muted);font-weight:500}.scan-empty p{font-size:var(--text-base);color:var(--text-muted)}.scan-empty small{font-size:var(--text-xs)}.floor-record{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:10px;padding:7px 0 12px;display:flex}.floor-record h2{font-size:var(--text-3xl);color:var(--text-secondary);margin:5px 0;font-weight:600}.floor-record strong{font-size:var(--text-lg);color:var(--text-muted);font-weight:500}.floor-record .eyebrow{font-size:var(--text-2xs);letter-spacing:.1em;color:var(--text-muted)}.floor-record .status{font-size:var(--text-sm);padding:5px 9px}.floor-meta{grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0;display:grid}.floor-meta dt{font-size:var(--text-2xs);color:var(--text-muted);margin-bottom:5px}.floor-meta dd{font-size:var(--text-sm);color:var(--text-muted);margin:0}.floor-route{border-top:1px solid var(--border-default);border-bottom:1px solid var(--border-default);flex-wrap:wrap;gap:7px;padding:14px 0;display:flex}.floor-route>span{font-size:var(--text-sm);color:var(--text-muted);background:var(--surface-raised);border-radius:3px;align-items:center;gap:6px;padding:7px 9px;display:flex}.floor-route i{border:1px solid;border-radius:50%;width:5px;height:5px}.floor-route .done{color:var(--text-muted);background:var(--surface-page)}.floor-route .active{color:var(--info-subtle-fg);background:var(--surface-page)}.floor-actions{flex-wrap:wrap;gap:8px;padding-top:17px;display:flex}.floor-actions button{min-height:48px;font-size:var(--text-base);padding:10px 14px}.floor-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:13px;line-height:1.7}.floor-recent{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:5px;padding:10px 13px}.floor-recent .section-label{margin-top:0}.floor-recent .timeline-entry{border-bottom:1px solid var(--border-subtle);padding:10px 0}.floor-part-list{max-height:350px;margin-top:12px;overflow:auto}.floor-part-list>div{border-bottom:1px solid var(--border-subtle);font-size:var(--text-xs);grid-template-columns:1fr 1fr 1fr;gap:9px;padding:9px;display:grid}.fatal{padding:30px}.fatal p{margin:15px 0}@media (width>=1700px){.data-table{font-size:var(--text-base)}.data-table td{height:40px}.data-table .record-link{font-size:var(--text-sm)}.data-table th,.status{font-size:var(--text-xs)}.summary-item strong{font-size:var(--text-2xl)}.summary-item small{font-size:var(--text-xs)}.summary-item em{font-size:var(--text-2xs)}.table-scroll{max-height:calc(100vh - 230px)}}@media (width<=1400px){.summary-item{gap:5px;padding:8px 7px}.summary-item>svg:first-child{width:13px}.summary-item em{display:none}.summary-item small{font-size:var(--text-2xs)}.summary-item strong{font-size:var(--text-2xl)}.summary-strip{margin-bottom:8px}.filter-bar{gap:5px}.filter-bar>select{max-width:145px}.saved-view{display:none!important}.data-table th,.data-table td{padding-left:8px;padding-right:8px}}@media (width<=1100px){.floor-layout{grid-template-columns:1fr}.floor-recent,.summary-item>svg:first-child{display:none}.summary-item{justify-content:center}.filter-end .saved-view{display:none}.data-table{font-size:var(--text-xs)}}@media (width<=760px){:root{--rail:0px}.sidebar{width:196px;transition:transform .15s;transform:translate(-100%)}.nav-open .sidebar{transform:translate(0)}.workspace{width:100%;margin-left:0}.mobile-menu{display:inline-flex!important}.topbar{gap:8px;padding:0 10px}.topbar-right{gap:8px;margin-left:auto}.page-name{font-size:var(--text-base)}.demo-pill{font-size:var(--text-2xs)}.topbar-right>button:not(.primary){display:none}.topbar-right .primary{font-size:var(--text-2xs);padding:5px 7px}.summary-strip{gap:var(--space-2);grid-template-columns:repeat(2,1fr);margin:0 10px 8px}.summary-item{justify-content:flex-start;padding:9px 10px}.summary-item strong{font-size:var(--text-xl)}.summary-item small{font-size:var(--text-2xs)}.list-and-detail{margin:0 10px}.filter-bar{gap:5px;padding:6px}.search-field{flex-basis:100%;min-width:180px;max-width:none}.filter-bar>select{min-width:100px;max-width:calc(50% - 25px);font-size:var(--text-xs);flex:1}.filter-end{margin-left:auto}.table-scroll{max-height:calc(100vh - 300px)}.data-table{font-size:var(--text-xs)}.table-footer .last-updated{display:none}.pagination{gap:4px}.pagination label{font-size:0}.pagination select{font-size:var(--text-xs)}.workspace-foot{font-size:var(--text-2xs);padding:0 11px}.workspace-foot>span:last-child{display:none}.record-page{border-radius:0}.drawer-body{padding:0 14px 14px}.drawer-head{padding:12px 14px}.drawer-summary>strong{font-size:var(--text-md)}.drawer-tabs button{min-height:36px;font-size:var(--text-sm);padding:4px 12px}.drawer-body button{min-height:32px}.floor-layout{padding:0 10px 12px}.floor-work{padding:10px}.floor-scan{gap:6px;padding-left:7px}.floor-scan input{font-size:var(--text-lg)}.floor-scan>svg{width:18px}.floor-scan button{font-size:var(--text-sm);padding:8px}.floor-meta{grid-template-columns:1fr 1fr}.floor-record h2{font-size:var(--text-2xl)}.floor-actions button{flex:1;min-width:140px}.floor-hint{font-size:var(--text-sm)}.form-grid{grid-template-columns:1fr}.modal{max-width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.field input,.field select,.field textarea{font-size:var(--text-lg);min-height:38px}.modal-foot button{min-height:36px}.toast{font-size:var(--text-xs);bottom:12px;left:10px}.page-error{padding:0 10px 8px}.rail-collapsed{--rail:0px}.rail-collapsed .sidebar,.nav-open.rail-collapsed .sidebar{width:56px}.label-sheet{justify-content:center}}.app-shell{height:100dvh;min-height:0}.workspace{height:100dvh;min-height:0;overflow:hidden}.summary-strip{flex-shrink:0;margin-bottom:6px}.summary-item{padding-top:6px;padding-bottom:6px}.summary-item small{font-size:var(--text-xs);color:var(--text-secondary)}.summary-item em{color:var(--text-secondary)}.nav-item{font-size:var(--text-sm)}.factory-switch{font-size:var(--text-xs)}.filter-bar{min-height:38px;padding-top:4px;padding-bottom:4px}.filter-bar>select,.search-field input{font-size:var(--text-sm)}.table-scroll{min-height:0;max-height:none}.data-table{font-size:var(--text-base)}.data-table td{height:40px;color:var(--text-secondary)}.data-table th{font-size:var(--text-xs);height:30px;color:var(--text-secondary)}.data-table .record-link{font-size:var(--text-sm);color:var(--text-secondary)}.data-table .exception-text,.progress-cell,.mono,.status{font-size:var(--text-xs)}.data-table .danger-text{color:var(--danger-subtle-fg)}.data-table .warning-text{color:var(--warning-subtle-fg)}.table-footer{height:30px;font-size:var(--text-xs);color:var(--text-secondary)}.table-footer .last-updated{color:var(--text-secondary)}.workspace-foot{height:20px;color:var(--text-secondary);flex-shrink:0}.record-page{max-height:none}.drawer-body{color:var(--text-secondary)}.drawer-summary,.operation-row strong,.section-label h3{font-size:var(--text-sm);color:var(--text-secondary)}.operation-row small,.part-row small,.timeline-entry small,.external-record small,.ledger-row small{color:var(--text-secondary);font-size:var(--text-xs)}.part-row strong,.part-row span,.timeline-entry strong,.timeline-entry p,.ledger-row p,.external-record,.inspection,.blockers{font-size:var(--text-xs);color:var(--text-secondary)}.mini-table{color:var(--text-secondary);font-size:var(--text-xs)}.field-note,.definition-note,.floor-hint,.demo-login p,.demo-login small,.login-foot{color:var(--text-secondary)}.floor-layout{min-height:0;overflow:auto}.floor-meta dt,.floor-route>span,.scan-empty p,.scan-empty small,.floor-identity small{color:var(--text-secondary)}@media (width>=1700px){.data-table .record-link{font-size:var(--text-base)}.data-table td{height:42px}}@media (width<=760px){.summary-item small,.filter-bar>select{font-size:var(--text-xs)}.floor-layout{flex-shrink:1}.floor-meta dd,.floor-record strong{color:var(--text-secondary)}.summary-item{padding:6px 9px}.sidebar{visibility:hidden}.nav-open .sidebar{visibility:visible}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media print{body{background:var(--surface-raised)}.app-shell{display:none}body:has(.label-sheet) .app-shell{display:block}.sidebar,.workspace,.toast,.modal-head,.modal-foot,.modal-body>p{display:none!important}.modal{max-width:none;max-height:none;box-shadow:none;border:0;padding:0;position:static;overflow:visible;width:100%!important;display:block!important}.modal::backdrop{background:0 0}.modal-body{padding:0}.label-sheet{gap:4mm;display:flex}.qr-label{break-inside:avoid;border:1px dashed var(--border-strong);gap:2mm;width:75mm;min-height:28mm;padding:2mm}.qr-label img{width:23mm;height:23mm}.qr-label small{font-size:7pt}.qr-label strong{font-size:10pt}.qr-label span{font-size:8pt}@page{size:A4;margin:10mm}}@media (width<=640px){.table-scroll{max-height:none;padding:8px;overflow-x:hidden}.data-table,.data-table tbody,.data-table tr,.data-table td{width:auto;display:block}.data-table{white-space:normal;border-spacing:0}.data-table thead{display:none}.data-table tr,.data-table tbody tr:nth-child(2n){border:1px solid var(--border-default);background:var(--surface-raised);border-radius:6px;margin-bottom:8px;padding:9px 38px 9px 11px;position:relative}.data-table tbody tr.selected{border-color:var(--accent)}.data-table tbody tr.selected td:first-child{box-shadow:none}.data-table td,.data-table td:first-child,.data-table th:first-child{height:auto;min-height:0;box-shadow:none;border:0;padding:2px 0;position:static}.data-table td:not(.card-title):not(.check-col):not(.row-action){justify-content:space-between;align-items:baseline;gap:12px;display:flex}.data-table td:not(.card-title):not(.check-col):not(.row-action):before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;flex:none}.data-table td.card-title{font-size:var(--text-sm);color:var(--text-primary);padding-bottom:5px}.data-table td.card-title .cell-main{font-weight:var(--weight-semibold)}.data-table td.card-plain{display:block!important}.data-table td.card-plain:before{content:none!important}.data-table td.card-inline{gap:5px;width:auto;margin-right:13px;display:inline-flex!important}.data-table td.card-inline:before{text-transform:none;letter-spacing:0}.data-table .check-col,.selection-bar,.column-control{display:none}.data-table td.row-action{padding:0;position:absolute;top:7px;right:4px}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}button:focus-visible,a:focus-visible{outline-color:var(--focus-ring-color)}input[type=checkbox]{accent-color:var(--accent)}button.text-btn,a{color:var(--text-link)}.brand{padding:0 var(--space-4);border-bottom:1px solid var(--nav-border);justify-content:center}.brand-logo{object-fit:contain;width:166px;max-width:100%;height:21px;display:block}.brand-icon{display:none}.rail-collapsed .brand{padding:0 10px}.rail-collapsed .brand-logo{display:none}.rail-collapsed .brand-icon{object-fit:contain;width:32px;height:32px;display:block}.factory-switch{background:var(--nav-hover);border-color:var(--nav-border);color:var(--nav-text)}.factory-switch small{color:var(--nav-group-label)}.user-box strong{color:var(--nav-text-strong)}.user-box small,.user-box .icon-btn{color:var(--nav-text)}.avatar{background:var(--surface-page);color:var(--text-primary)}.page-name,.login-card h1,.modal-head h2,.floor-record h2,.scan-empty h2{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.modal-head h2{font-size:21px}.summary-item strong{font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);font-size:24px;line-height:1}.summary-item small{font-size:9px}.summary-item.red strong{color:var(--danger-subtle-fg)}.summary-item.amber strong{color:var(--warning-subtle-fg)}.summary-item.blue strong{color:var(--info-subtle-fg)}.summary-item.purple strong{color:var(--external-subtle-fg)}.summary-item:hover,.filter-bar,.table-footer{background:var(--surface-raised)}.data-table{letter-spacing:-.025em}.data-table th,.data-table th:first-child{background:var(--surface-page);color:var(--text-secondary)}.data-table td{color:var(--text-secondary)}.data-table .cell-main{color:var(--text-primary)}.data-table .record-link{color:var(--text-primary);font-weight:500}.data-table .record-link:hover{color:var(--accent-subtle-fg)}.data-table tbody tr:nth-child(2n){background:var(--surface-stripe)}.data-table tbody tr:hover{background:var(--surface-row-hover)}.data-table tbody tr.selected,.data-table tr.selected td:first-child{background:var(--surface-selected)}.data-table tbody tr.selected td:first-child{box-shadow:inset 3px 0 var(--accent)}.status.green{background:var(--success-subtle);color:var(--success-subtle-fg);border-color:var(--success-border)}.status.blue{background:var(--info-subtle);color:var(--info-subtle-fg);border-color:var(--info-border)}.status.amber{background:var(--warning-subtle);color:var(--warning-subtle-fg);border-color:var(--warning-border)}.status.red{background:var(--danger-subtle);color:var(--danger-subtle-fg);border-color:var(--danger-border)}.status.purple{background:var(--external-subtle);color:var(--external-subtle-fg);border-color:var(--external-border)}.status.neutral{background:var(--surface-sunken);color:var(--text-secondary);border-color:var(--border-default)}.progress-track{background:var(--surface-sunken)}.progress-track>span{background:var(--surface-inverse)}.selection-bar{background:var(--surface-page);border-color:var(--accent-border)}.drawer-head h2,.drawer-summary>strong,.section-label h3,.operation-row strong,.part-row strong,.external-record strong{color:var(--text-primary)}.op-dot.done{background:var(--surface-page);border-color:var(--success-border);color:var(--success-subtle-fg)}.op-dot.active{background:var(--surface-page);border-color:var(--info-border);color:var(--info-subtle-fg)}.ready-note{background:var(--surface-page);color:var(--success-subtle-fg)}.notice.error{background:var(--danger-subtle);color:var(--danger-subtle-fg);border-color:var(--danger-border)}.toast{background:var(--surface-inverse);border-color:var(--border-strong);color:var(--text-inverse);box-shadow:0 4px 20px #0002}.toast>svg:first-child{color:var(--success)}.login-page{background:var(--surface-page)}.login-card{border-color:var(--border-default);border-top:3px solid var(--accent);border-radius:4px;box-shadow:0 12px 50px #0000000d}.login-brand{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.login-logo{object-fit:contain;width:296px;max-width:100%;height:38px;display:block}.login-brand .login-brand-caption{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:10px}.login-card h1{font-size:25px}.login-card>p{font-size:11px}.demo-login{background:var(--surface-page);border-color:var(--border-default)}.demo-login strong{color:var(--text-primary)}.demo-roles button:hover{color:var(--accent-subtle-fg);border-color:var(--accent)}.floor-scan{background:var(--surface-raised);border-color:var(--border-strong);color:var(--text-muted)}.floor-scan:focus-within{border-color:var(--accent)}.floor-record h2{font-size:30px}.floor-record strong,.floor-meta dd,.floor-hint{color:var(--text-secondary)}.floor-route .done{background:var(--surface-page);color:var(--success-subtle-fg)}.floor-route .active{background:var(--surface-page);color:var(--info-subtle-fg)}.live-dot,.sync-label i{background:var(--success)}.workspace-foot .live-dot{background:var(--surface-inverse)}.demo-pill{background:var(--warning-subtle);color:var(--warning-subtle-fg);border-color:var(--warning-border)}@media (width<=1400px){.summary-item strong{font-size:23px}.summary-item small{font-size:9px}.data-table th,.data-table td{padding-left:6px;padding-right:6px}}@media (width<=760px){.summary-item strong{font-size:21px}.floor-record h2{font-size:28px}.floor-record strong,.floor-meta dd{color:var(--text-secondary)}}.form-more{border-top:1px solid var(--border-default);min-width:0;color:var(--text-secondary);margin-top:10px;padding-top:3px}.form-more>summary{cursor:pointer;font-size:var(--text-sm);padding:11px 0;font-weight:500}.form-more>summary svg{vertical-align:middle;margin-right:6px}.form-more[open]>summary{color:var(--accent-subtle-fg)}.form-more>.form-grid{padding:4px 0 10px}.form-more>.field{margin:7px 0}.order-files{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:8px;margin:12px 0;padding:0 12px 12px}.order-files .management-upload{margin:0 0 12px}.order-files .management-upload>.field{flex:1}.order-files .management-upload>.form-more{border:0;margin:0}.ops-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:4px 0 18px;display:grid}.ops-shortcuts button{border:1px solid var(--border-default);background:var(--surface-raised);white-space:normal;font-size:var(--text-sm);border-radius:12px;flex-direction:column;gap:7px;padding:13px 5px}.ops-shortcuts svg{color:var(--accent-subtle-fg)}.ops-checklist{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.ops-checklist span{color:var(--success-subtle-fg);background:var(--surface-page);font-size:var(--text-sm);border-radius:6px;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.ops-material-actions>button{min-height:46px;font-size:var(--text-sm);white-space:normal;flex:1}.ops-secondary a{overflow-wrap:anywhere;padding:10px 0;display:block}.ops-photo{margin-top:14px}.storage-order-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.storage-order-heading h3{font-size:var(--text-lg);margin:0}.storage-state{background:var(--surface-page);font-size:var(--text-xs);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 8px;display:inline-flex}.storage-state.state-confirmed{background:var(--surface-page);color:var(--info-subtle-fg)}.storage-state.state-partial{background:var(--warning-subtle);color:var(--warning-subtle-fg)}.storage-state.state-received{background:var(--surface-page);color:var(--success-subtle-fg)}.storage-supplier{font-size:var(--text-md);margin:5px 0;font-weight:500}.storage-order-meta{font-size:var(--text-xs);color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;display:flex}.storage-sku{letter-spacing:.03em;font-weight:600;color:var(--accent-subtle-fg)!important}.storage-counts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:12px 0 3px;display:grid}.storage-counts span{background:var(--surface-page);font-size:var(--text-xs);color:var(--text-secondary);border-radius:7px;padding:7px}.storage-counts b{font-size:var(--text-2xl);color:var(--text-primary);font-weight:600;line-height:1.3;display:block}.storage-counts .remaining{background:var(--warning-subtle);color:var(--warning-subtle-fg)}.storage-counts .remaining.settled{background:var(--surface-sunken);color:var(--text-muted)}.storage-counts .remaining.settled b{color:var(--text-muted)}.storage-workspace .storage-quantities{display:block}.storage-workspace .storage-quantities>.field input{font-size:var(--text-2xl);background:var(--surface-raised);border-color:var(--success);height:50px}.storage-exceptions{margin-top:8px}.storage-exceptions>summary{cursor:pointer;color:var(--warning-subtle-fg);font-size:var(--text-sm);align-items:center;gap:6px;padding:10px 0;display:flex}.storage-exceptions>div{grid-template-columns:1fr 1fr;gap:10px;display:grid}.storage-exceptions input{font-size:var(--text-xl)}.storage-refresh{margin-left:auto}.storage-all{font-size:var(--text-sm);background:0 0;border:0;padding-left:0}.storage-worker .storage-line{padding:16px 0}.storage-worker .storage-detail,.storage-editor{border-radius:12px}.storage-worker .storage-toolbar>strong{font-size:var(--text-2xl)}.storage-worker .storage-list{gap:9px;display:grid}.storage-worker .storage-list button{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:10px}.storage-worker .storage-line>div>strong{font-size:var(--text-xl);margin:4px 0;display:block}.storage-worker .storage-receive{white-space:normal;line-height:1.3}.storage-worker .storage-message{font-size:var(--text-base);border-radius:9px}.storage-worker .storage-history{padding-top:10px}.storage-worker .storage-receive+.muted{font-size:var(--text-xs);color:var(--text-secondary);margin-top:8px}.material-flow .flow-menu{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.material-flow .flow-menu button{font-size:var(--text-base);border-radius:10px;flex-direction:column;gap:7px;min-height:80px;display:flex}.flow-menu svg{color:var(--accent-subtle-fg)}.flow-back{background:0 0;border:0;justify-self:start}.flow-project{border:0;margin:0}.flow-project:not([open])>summary{padding:4px 0}@media (width<=700px){.ops-shell{background:var(--surface-page)}.ops-header{border-color:var(--border-default)}.ops-main{padding:14px 12px}.ops-heading{margin-bottom:10px}.ops-heading h1{font-size:var(--text-3xl)}.ops-heading>span{font-size:var(--text-sm)}.ops-scan{border-color:var(--warning-border);border-radius:11px;padding:5px 6px 5px 10px}.ops-scan>button{border-radius:7px}.ops-queue,.ops-item{border-color:var(--border-default);border-radius:13px;padding:15px}.ops-item-heading>div>span{font-size:var(--text-xs)}.ops-item-heading h2{font-size:var(--text-2xl);font-weight:600;line-height:1.4}.ops-item-heading{gap:8px;padding-bottom:12px}.ops-item .status{font-size:var(--text-xs)}.ops-step{margin:18px 0 12px}.ops-step>strong{font-size:var(--text-3xl)}.ops-main-action{min-height:58px;font-size:var(--text-2xl);border-radius:10px}.ops-primary-actions>button{border-radius:10px;min-height:60px}.ops-job{background:var(--surface-raised);border-radius:9px;padding:12px}.ops-job strong{font-size:var(--text-base)}.ops-job>div>span{font-size:var(--text-sm)}.ops-note{font-size:var(--text-base);padding:12px;line-height:1.6}.ops-material-actions{gap:7px}.ops-material-actions button{border-radius:8px;flex-direction:column;gap:5px;min-width:0}.ops-destinations>button,.ops-defects>button{border-radius:9px;min-height:56px}.ops-next{justify-content:flex-start;width:100%;margin-top:10px}.form-more>summary{min-height:44px;font-size:var(--text-base)}.form-more input,.form-more select,.form-more textarea{font-size:var(--text-lg)}.field input:not([type=checkbox]),.field select{border-radius:7px;min-height:46px}.field>span{font-size:var(--text-sm);line-height:1.5}.modal{border-radius:14px}.modal-head{padding:15px 16px}.modal-body{padding:16px}.modal-foot button{border-radius:8px;min-height:46px;padding:10px 16px}.route-options .ui-segmented{flex-direction:column;width:100%}.route-options .ui-segmented__option{width:100%;height:var(--control-height-sm);justify-content:flex-start}.storage-workspace:not(.storage-worker) .storage-line{padding:14px 0}.storage-quantities .field>span{font-size:var(--text-sm)}.storage-receive{min-height:54px;font-size:var(--text-lg);border-radius:9px;width:100%}.storage-edit-line{border-bottom:1px solid var(--border-subtle);gap:8px;padding:10px 0}.storage-detail{border-radius:12px}.material-flow{gap:10px;padding:0}.flow-heading>strong{font-size:var(--text-base)}.material-flow .flow-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.material-flow .flow-menu button{font-size:var(--text-sm);padding:10px 5px}.flow-card{border-radius:12px;padding:14px}.flow-card h3{font-size:var(--text-xl)}.flow-card>p,.flow-card form>p{font-size:var(--text-sm);color:var(--text-secondary)}.flow-balances{border:0}.flow-balances table,.flow-balances tbody{display:block}.flow-balances thead{display:none}.flow-balances tr{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px;padding:10px;display:grid}.flow-balances td{min-width:0;font-size:var(--text-xl);border:0;padding:7px}.flow-balances td:first-child{font-size:var(--text-base);grid-column:1/3}.flow-balances td:nth-child(2){font-size:var(--text-sm);text-align:right;align-self:center}.flow-balances td:nth-child(n+3):before{font-size:var(--text-xs);color:var(--text-secondary);margin-bottom:2px;display:block}.flow-balances td:nth-child(3):before{content:"Issued"}.flow-balances td:nth-child(4):before{content:"Used"}.flow-balances td:nth-child(5):before{content:"Returned"}.flow-balances td:nth-child(6):before{content:"Unallocated"}.flow-balances td:nth-child(7):before{content:"Wastage"}}.material-dimensions{border:1px solid var(--border-default);border-radius:6px;min-width:0;margin:0;padding:10px 12px 12px}.material-dimensions legend{font-size:var(--text-sm);padding:0 5px;font-weight:600}.material-dimensions .checkbox-label{align-items:center;gap:8px;font-weight:500;display:flex}.material-dimensions>.field-note{margin:6px 0 10px}.field.has-error input,.field.has-error select,.field.has-error textarea,.field.has-error .date-field{border-color:var(--danger)}.field-error{color:var(--danger-subtle-fg);font-weight:var(--weight-medium)}.date-field{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:4px;align-items:stretch;width:100%;min-width:0;display:flex;position:relative}.date-field:hover{border-color:var(--border-strong)}.date-field:focus-within{border-color:var(--border-strong);box-shadow:0 0 0 2px #70707017}.date-field.open{border-color:var(--accent)}.date-field__text{font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;min-width:0;box-shadow:none!important}.date-field__text:focus{box-shadow:none}.date-field__open{border:0;border-left:1px solid var(--border-subtle);color:var(--text-muted);background:0 0;border-radius:0 3px 3px 0;flex:none;min-height:0;padding:0 9px}.date-field__open:hover:not(:disabled){background:var(--surface-page);color:var(--text-primary)}.date-pop{z-index:120;background:var(--surface-raised);border:1px solid var(--border-default);width:258px;box-shadow:var(--shadow-lg);border-radius:9px;padding:10px;position:fixed}.date-pop__head{justify-content:space-between;align-items:center;gap:6px;margin-bottom:8px;display:flex}.date-pop__head strong{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.date-pop__head button{min-height:28px;color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:0 7px}.date-pop__head button:hover{border-color:var(--border-default);color:var(--text-primary)}.date-pop__week,.date-pop__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-pop__week{margin-bottom:2px}.date-pop__week span{text-align:center;font-size:var(--text-2xs);color:var(--text-muted);letter-spacing:var(--tracking-caps)}.date-pop__grid button{min-height:32px;color:var(--text-primary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;padding:0}.date-pop__grid button:hover:not(:disabled){background:var(--surface-row-hover)}.date-pop__grid button:disabled{color:var(--text-disabled)}.date-pop__grid button.today{border-color:var(--border-strong)}.date-pop__grid button.chosen{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:var(--weight-semibold)}.date-pop__foot{border-top:1px solid var(--border-subtle);gap:6px;margin-top:9px;padding-top:8px;display:flex}.date-pop__foot button{min-height:30px;font-size:var(--text-xs);border:1px solid var(--border-default);color:var(--text-secondary);background:0 0;flex:1}.date-pop__foot button:hover{border-color:var(--border-strong);color:var(--text-primary)}@media (width<=480px){.date-pop{width:min(300px,100vw - 32px)}.date-pop__grid button{min-height:38px;font-size:var(--text-sm)}}.route-options{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.route-options__label{font-size:var(--text-xs);color:var(--text-secondary)}.route-options .ui-segmented{grid-auto-columns:1fr;grid-auto-flow:column;width:100%;display:grid}.route-options .ui-segmented__option{text-align:center;padding:0 var(--space-2);font-size:var(--text-xs);justify-content:center}@media (width<=620px){.route-options .ui-segmented{grid-auto-flow:row}.route-options .ui-segmented__option{text-align:left;justify-content:flex-start}}.route-options__path{font-size:var(--text-xs);color:var(--text-muted);margin:0}.app-shell{font-family:var(--font-sans);color:var(--text-primary)}.app-shell .brand{height:var(--topbar-height);min-height:var(--topbar-height);background:var(--surface-raised);border-bottom:1px solid var(--border-default)}.app-shell .factory-switch{display:none}.app-shell.rail-collapsed{--rail-width:var(--rail-width-collapsed)}.app-shell.rail-collapsed .sidebar nav .nav-item{justify-content:center;padding:0}.app-shell .sidebar nav{padding-top:0}.app-shell .sidebar nav .nav-item{min-height:30px;margin:0}.app-shell .nav-group>summary{padding:var(--space-3) var(--space-3) var(--space-1);line-height:var(--leading-tight)}.app-shell .sidebar-bottom{padding-top:var(--space-1);border-top:1px solid var(--nav-border)}.app-shell .user-box{padding-top:var(--space-2);padding-bottom:var(--space-2)}.app-shell .user-box strong{color:var(--nav-text-strong)}.app-shell .user-box small,.app-shell .user-box .icon-btn{color:var(--nav-text)}.app-shell .topbar{height:var(--topbar-height);background:var(--surface-raised);border-bottom:1px solid var(--border-default);flex-shrink:0}.app-shell button{min-height:32px;font-size:var(--text-base);border-radius:6px}.app-shell button.primary{background:var(--accent);border-color:var(--accent)}.app-shell button.primary:hover{background:var(--accent)}.app-shell input,.app-shell select,.app-shell textarea{font-family:inherit;font-size:var(--text-base);border-color:var(--border-strong);border-radius:6px;min-height:33px}.app-shell input[type=checkbox]{min-height:0}.app-shell :is(button,input,select,textarea,a,summary):focus-visible,.modal :is(button,input,select,textarea,a,summary):focus-visible{outline:2px solid var(--focus-ring-color);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-subtle)}.app-shell .sidebar :is(button,a,summary):focus-visible{outline-color:var(--nav-text-strong);box-shadow:none}.skip-link{z-index:1000;background:var(--surface-raised);color:var(--text-primary);border:2px solid var(--accent);border-radius:6px;padding:10px 16px;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:none}.app-shell .filter-bar{background:var(--surface-raised);align-items:center;gap:7px;min-height:40px}.app-shell .search-field{border:1px solid var(--border-strong);border-radius:6px;min-width:180px}.app-shell .search-field input{font-size:var(--text-base);border:0}.app-shell .filter-end{gap:4px}.app-shell .filter-end .text-btn{font-size:var(--text-sm);padding:5px 7px}.app-shell .filter-chip{background:var(--surface-page);border-color:var(--border-default);color:var(--text-primary)}.app-shell .data-table{font-size:var(--text-sm)}.app-shell .data-table th{background:var(--surface-page);color:var(--text-primary);font-weight:600}.app-shell .data-table th>button{min-height:28px;font-size:var(--text-sm);color:inherit}.app-shell .data-table td{height:30px;color:var(--text-primary);border-color:var(--border-default)}.app-shell .data-table td button{min-height:23px;padding-top:0;padding-bottom:0}.app-shell .data-table tbody tr:nth-child(2n):not(.selected){background:var(--surface-stripe)}.app-shell .data-table tbody tr:hover{background:var(--surface-row-hover)}.app-shell .data-table .record-link{color:var(--text-primary);font-weight:600}.app-shell .data-table .muted,.app-shell .muted,.app-shell .record-sub{color:var(--text-secondary)}.app-shell .management-tabs{background:var(--surface-page);border:1px solid var(--border-default);border-radius:9px;gap:5px;margin-bottom:12px;padding:5px}.app-shell .management-tabs button{color:var(--text-secondary);background:0 0;border:1px solid #0000;padding:7px 11px}.app-shell .management-tabs button.active{background:var(--surface-raised);border-color:var(--border-default);color:var(--text-primary);font-weight:600;box-shadow:0 1px 2px #273d2b10}.app-shell .management-toolbar{gap:10px;margin:10px 0}.app-shell .management-table{border-color:var(--border-default);border-radius:8px}.app-shell .management th{background:var(--surface-page);color:var(--text-primary)}.app-shell .management td{font-size:var(--text-base)}.app-shell .management-message,.app-shell .storage-message{font-size:var(--text-base);border-radius:7px}.app-shell .management .field>span,.app-shell .storage-orders .field>span{font-size:var(--text-base);color:var(--text-primary);font-weight:600}.app-shell .workspace>.reports{min-height:0;margin:0 16px 16px;overflow:auto}.app-shell .empty strong{font-size:var(--text-xl);color:var(--text-primary)}.app-shell .empty span{font-size:var(--text-base);max-width:380px;line-height:1.6}.app-shell .toast{font-size:var(--text-base);max-width:min(560px,100vw - 24px);line-height:1.5}.modal{font-family:var(--font-sans);border:1px solid var(--border-subtle);border-radius:12px;width:540px;box-shadow:0 18px 70px #21332138}.modal .modal-head{z-index:3;background:var(--surface-raised);border-bottom:1px solid var(--border-default);padding:15px 20px;position:sticky;top:0}.modal .modal-head h2{font-size:var(--text-2xl);color:var(--text-primary);line-height:1.3}.modal .modal-head button{min-width:36px;min-height:36px}.modal .modal-body{font-size:var(--text-base);padding:18px 20px}.modal .field>span{font-size:var(--text-base);color:var(--text-primary);font-weight:600;line-height:1.4}.required-mark{color:var(--accent-subtle-fg);font-weight:700}.modal .field>small{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.45}.modal :is(input,select,textarea){font-family:var(--font-sans);font-size:var(--text-base);min-height:var(--control-height-md);border:1px solid var(--border-default);border-radius:6px;padding:8px 10px}.modal input[type=checkbox],.modal input[type=radio]{min-height:0}.modal .form-grid{gap:16px}.modal .form-guidance{color:var(--text-secondary);font-size:var(--text-sm);grid-column:1/-1;margin:0 0 14px}.modal .form-more{border:1px solid var(--border-default);background:var(--surface-raised);border-radius:8px;padding:10px 12px}.modal .form-more summary{font-size:var(--text-base);color:var(--text-primary);cursor:pointer;min-height:24px;font-weight:600}.modal .form-more[open] summary{margin-bottom:12px}.modal .field-note{font-size:var(--text-sm);color:var(--text-secondary)}.modal .modal-foot{background:var(--surface-raised);gap:9px;padding:12px 20px}.modal .modal-foot button{min-height:38px;font-size:var(--text-base);border-radius:6px;padding:8px 16px}:is(.modal input:user-invalid,.modal select:user-invalid,.modal textarea:user-invalid){border-color:var(--accent);background:var(--surface-raised)}.unsaved-changes{background:var(--warning-subtle);border-bottom:1px solid var(--warning-border);z-index:4;font-size:var(--text-base);padding:14px 20px;position:sticky;top:66px}.unsaved-changes p{margin:5px 0 12px}.unsaved-changes>div{gap:8px;display:flex}.unsaved-changes button{min-height:36px}@media (width<=900px){.app-shell .sidebar nav .nav-item,.app-shell .floor-actions button{min-height:44px}.app-shell .filter-bar{flex-wrap:wrap}.app-shell .filter-end{margin-left:0}.app-shell .management-tabs{flex-wrap:wrap}.app-shell .topbar{min-height:44px}.app-shell .nav-item{min-height:40px}}@media (prefers-reduced-motion:reduce){.app-shell *,.modal *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=760px){.app-shell .topbar{gap:var(--space-2)}.app-shell .page-name{flex:1;min-width:0}.app-shell .topbar-right{flex-wrap:nowrap;flex:none}}
