@font-face{font-family:Satoshi;src:url(../media/Satoshi-Variable.0we6-2px855vh.woff2)format("woff2");font-weight:300 900;font-style:normal;font-display:swap}@font-face{font-family:Satoshi;src:url(../media/Satoshi-VariableItalic.14_dcl7erp6w3.woff2)format("woff2");font-weight:300 900;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../media/jetbrains-mono-latin-ext-wght-normal.13ogvbpniv46o.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;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:JetBrains Mono;src:url(../media/jetbrains-mono-latin-wght-normal.0vxn4~1drecc4.woff2)format("woff2");font-weight:100 800;font-style:normal;font-display:swap;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}
:root{--brand-50:#f7f0fd;--brand-100:#edd9f9;--brand-200:#d9b3f3;--brand-300:#bf82e8;--brand-400:#a055d5;--brand-500:#7e2ebd;--brand-600:#7e2ebd;--brand-700:#5f1f93;--brand-800:#4a1d74;--brand-900:#2d1049;--neutral-50:#f5f4f7;--neutral-100:#efedf2;--neutral-200:#e2dfe8;--neutral-300:#cdc8d6;--neutral-400:#a39cae;--neutral-500:#6b6476;--neutral-600:#5d5668;--neutral-700:#463f51;--neutral-800:#2b2433;--neutral-900:#17131d;--neutral-950:#0d0813;--success-50:#e5f4ec;--success-100:#cdebd9;--success-200:#a6dcbd;--success-300:#6fc595;--success-400:#3fa86f;--success-500:#23915a;--success-600:#1c8350;--success-700:#17794a;--success-800:#115c38;--success-900:#0b3d25;--warning-50:#fbf0d9;--warning-100:#f7e2b3;--warning-200:#f0cd7d;--warning-300:#e9b44c;--warning-400:#d99a1f;--warning-500:#c08410;--warning-600:#a56f05;--warning-700:#8a5a00;--warning-800:#6b4600;--warning-900:#4a3000;--danger-50:#fbe9e7;--danger-100:#f7d3cf;--danger-200:#f0aca4;--danger-300:#e67e72;--danger-400:#d8574a;--danger-500:#c93a2c;--danger-600:#be2e21;--danger-700:#b42318;--danger-800:#8c1b12;--danger-900:#5f120c;--info-50:#e6f4f6;--info-100:#c7e7ec;--info-200:#97d3dc;--info-300:#5fb9c6;--info-400:#2aa0b0;--info-500:#0a8a9a;--info-600:#08808f;--info-700:#087786;--info-800:#065a66;--info-900:#043d45;--surface-base:var(--neutral-50);--surface-raised:#fff;--surface-overlay:#fff;--surface-sunken:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-700);--text-muted:var(--neutral-500);--text-disabled:var(--neutral-400);--text-inverse:var(--neutral-50);--border-default:var(--neutral-200);--border-strong:var(--neutral-300);--border-focus:var(--brand-500);--brand-soft:var(--brand-50);--brand-ink:var(--brand-700);--brand-hover:#6b27a4;--sb:#4a1d74;--sb-line:#5f3488;--sb-text:#ecdff8;--sb-muted:#c3aedb;--sb-strong:#fff;--sb-field:#5a2a86;--sb-on:#fff;--sb-on-text:#4a1d74;--sb-avatar:#ffffff2e;--brand:var(--brand-600);--success:var(--success-600);--danger:var(--danger-600);--border:var(--border-default);--border-subtle:var(--border-default);--surface-default:var(--surface-raised);--surface-elevated:var(--surface-raised);--surface-subtle:var(--surface-sunken);--surface-2:var(--surface-sunken);--bg-subtle:var(--surface-sunken);--text-default:var(--text-primary);--color-primary:var(--brand-600);--color-muted:var(--text-muted);--font-sans:"Satoshi", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-.02em;--tracking-caps:.06em;--radius-xs:2px;--radius-sm:3px;--radius-md:5px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:12px;--radius-3xl:16px;--radius-full:9999px;--shadow-sm:0 1px 0 #17131d0a;--shadow-md:0 2px 6px -2px #17131d14;--shadow-lg:0 16px 32px -8px #17131d29, 0 4px 8px -4px #17131d14;--shadow-xl:0 24px 64px -12px #2d10492e, 0 4px 16px #0000000f;--shadow-knob:0 1px 2px #0003;--shadow-brand-md:0 8px 24px #7e2ebd17;--shadow-brand-lg:0 12px 32px #7e2ebd24;--shadow-focus:0 0 0 3px #7e2ebd59;--duration-fast:.12s;--duration-base:.18s;--ease-out:cubic-bezier(.2, .8, .2, 1);--space-0:0;--space-0-5:2px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--space-18:72px;--space-20:80px;--space-24:96px;--space-30:120px;--sidebar-w:240px;--sidebar-w-collapsed:64px;--topbar-h:61px;--content-max:1200px;--content-narrow:740px;--content-2xs:240px;--content-xs:320px;--content-sm:480px;--content-md:560px;--content-lg:720px;--content-xl:880px;--content-2xl:960px;--kiosk-surface:#1a1a2e;--kiosk-fill-1:#ffffff0f;--kiosk-fill-2:#ffffff1a;--kiosk-line:#ffffff26;--kiosk-line-strong:#ffffff4d;--kiosk-dim:#fff6;--kiosk-mid:#ffffff8c;--kiosk-sel:#fff9;--kiosk-ok-text:#64dc82cc;--kiosk-ok-fill:#3cb45a26;--kiosk-warn-text:#ffc83ce6;--kiosk-warn-fill:#ffc83c1f;--kiosk-warn-line:#ffc83c4d;--kiosk-bad-text:#ffa0a0e6;--kiosk-bad-fill:#ff505026;--kiosk-bad-line:#ff505059;--kiosk-info-text:#8cbeffe6;--kiosk-info-fill:#3c82ff1f;--kiosk-info-line:#3c82ff4d;--kiosk-brand-fill:#7e2ebd1f;--on-color:#fff}:root,[data-density=comfortable]{--control-h:36px;--control-h-sm:28px;--control-px:12px;--button-px:14px;--inline-gap:8px;--stack-gap:16px;--grid-gap:16px;--item-py:8px;--row-py:12px;--row-px:16px;--card-p:20px;--section-gap:28px;--page-px:32px;--page-py:28px}[data-density=compact]{--control-h:32px;--control-h-sm:24px;--control-px:10px;--button-px:10px;--inline-gap:4px;--stack-gap:12px;--grid-gap:12px;--item-py:6px;--row-py:8px;--row-px:12px;--card-p:16px;--section-gap:20px;--page-px:20px;--page-py:20px}[data-density=spacious]{--control-h:44px;--control-h-sm:32px;--control-px:16px;--button-px:18px;--inline-gap:12px;--stack-gap:20px;--grid-gap:24px;--item-py:12px;--row-py:16px;--row-px:20px;--card-p:28px;--section-gap:40px;--page-px:40px;--page-py:36px}:root,[data-text-size=md]{--text-2xs:11px;--leading-2xs:16px;--text-xs:12px;--leading-xs:16px;--text-sm:13px;--leading-sm:18px;--text-base:15px;--leading-base:22px;--text-lg:17px;--leading-lg:24px;--text-xl:20px;--leading-xl:28px;--text-2xl:24px;--leading-2xl:32px;--text-3xl:30px;--leading-3xl:36px;--text-4xl:36px;--leading-4xl:44px;--text-5xl:48px;--leading-5xl:56px;--text-6xl:64px;--leading-6xl:72px;--text-7xl:80px;--leading-7xl:88px;--icon-xs:12px;--icon-sm:14px;--icon-md:16px;--icon-lg:20px;--icon-xl:24px;--icon-2xl:48px}[data-text-size=sm]{--text-2xs:10px;--leading-2xs:14px;--text-xs:11px;--leading-xs:16px;--text-sm:12px;--leading-sm:16px;--text-base:14px;--leading-base:20px;--text-lg:16px;--leading-lg:22px;--text-xl:18px;--leading-xl:24px;--text-2xl:22px;--leading-2xl:28px;--text-3xl:26px;--leading-3xl:32px;--text-4xl:32px;--leading-4xl:40px;--text-5xl:42px;--leading-5xl:48px;--text-6xl:56px;--leading-6xl:64px;--text-7xl:72px;--leading-7xl:80px;--icon-xs:10px;--icon-sm:12px;--icon-md:14px;--icon-lg:18px;--icon-xl:22px;--icon-2xl:40px}[data-text-size=lg]{--text-2xs:12px;--leading-2xs:16px;--text-xs:13px;--leading-xs:18px;--text-sm:15px;--leading-sm:20px;--text-base:17px;--leading-base:24px;--text-lg:19px;--leading-lg:26px;--text-xl:22px;--leading-xl:30px;--text-2xl:27px;--leading-2xl:34px;--text-3xl:34px;--leading-3xl:40px;--text-4xl:40px;--leading-4xl:48px;--text-5xl:54px;--leading-5xl:62px;--text-6xl:72px;--leading-6xl:80px;--text-7xl:88px;--leading-7xl:96px;--icon-xs:14px;--icon-sm:16px;--icon-md:18px;--icon-lg:22px;--icon-xl:28px;--icon-2xl:56px}[data-density=compact][data-text-size=lg]{--control-h-sm:28px}@media (prefers-reduced-motion:reduce){:root{--duration-fast:0s;--duration-base:0s}}[data-theme=dark]{--surface-base:#120c1a;--surface-raised:#1a1224;--surface-overlay:#221830;--surface-sunken:#150e1e;--text-primary:#f1edf6;--text-secondary:#cfc6da;--text-muted:#a297b1;--text-disabled:#6e6380;--text-inverse:var(--neutral-900);--border-default:#2e2439;--border-strong:#43364f;--brand-50:#2a1a3d;--brand-100:#35214f;--brand-200:#4a2d6e;--brand-600:#8f44d6;--brand-700:#cfaef0;--brand-hover:#a05ce0;--success-50:#12301f;--warning-50:#33260b;--danger-50:#3a1714;--info-50:#0d2a30;--success-700:#5fd09a;--warning-700:#e9b44c;--danger-700:#f28b7d;--info-700:#4cc3d1;--sb:#0d0813;--sb-line:#2a1f38;--sb-text:#d9d0e6;--sb-muted:#a195b3;--sb-strong:#fff;--sb-field:#1a1126;--sb-on:#2f1d4a;--sb-on-text:#fff;--sb-avatar:#7e2ebd;--shadow-sm:0 1px 0 #0000004d;--shadow-md:0 2px 8px -2px #00000073;--shadow-lg:0 20px 40px #0000008c;--shadow-focus:0 0 0 3px #8f44d673}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::placeholder{opacity:1;color:color-mix(in oklab, currentcolor 50%, transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-calendar-picker-indicator{line-height:1}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";transition:background-color var(--duration-base) ease, color var(--duration-base) ease}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}a{color:inherit;text-decoration:none}.icon-xs,.icon-sm,.icon-md,.icon-lg,.icon-xl,.icon-2xl{flex-shrink:0}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-2xl{width:var(--icon-2xl);height:var(--icon-2xl)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-lg);border:2px solid var(--surface-base)}::-webkit-scrollbar-track{background:0 0}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.card{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--card-p)}.badge{align-items:center;gap:var(--space-1-5);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);white-space:nowrap;border:1px solid #0000;font-weight:500;line-height:1.4;display:inline-flex}.badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge-neutral{background:var(--neutral-100);color:var(--neutral-700);border-color:var(--border-default)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-danger{background:var(--danger-50);color:var(--danger-700)}.badge-info{background:var(--info-50);color:var(--info-700)}.badge-brand{background:var(--brand-50);color:var(--brand-700)}[data-theme=dark] .badge-neutral{background:var(--surface-overlay);color:var(--text-secondary)}[data-theme=dark] .badge-success{color:#6fd087;color:lab(76.2673% -42.0219 27.4338)}[data-theme=dark] .badge-warning{color:#fec84b;color:lab(83.9816% 10.8261 67.0844)}[data-theme=dark] .badge-danger{color:#ff9189;color:lab(72.9216% 50.0549 28.4249)}[data-theme=dark] .badge-info{color:var(--info-700)}[data-theme=dark] .badge-brand{color:var(--brand-ink)}.btn{justify-content:center;align-items:center;gap:var(--inline-gap);height:var(--control-h);padding:0 var(--button-px);border-radius:var(--radius-md);font-size:var(--text-sm);transition:background-color var(--duration-fast), border-color var(--duration-fast), color var(--duration-fast), transform var(--duration-fast);white-space:nowrap;border:1px solid #0000;font-weight:500;display:inline-flex}.btn:active{transform:translateY(.5px)}.btn-primary{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.btn-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover{background:var(--neutral-100)}[data-theme=dark] .btn-secondary:hover{background:var(--surface-overlay)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--neutral-100);color:var(--text-primary)}[data-theme=dark] .btn-ghost:hover{background:var(--surface-overlay)}.btn-danger{background:var(--danger-500);color:#fff}.btn-danger:hover{background:var(--danger-700)}.btn-icon{width:var(--control-h);height:var(--control-h);padding:0}.btn-sm{height:var(--control-h-sm);padding:0 var(--space-2-5);font-size:var(--text-xs)}.input{height:var(--control-h);width:100%;padding:0 var(--control-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast)}.input:hover{border-color:var(--neutral-400)}.input:focus{border-color:var(--brand-500);box-shadow:var(--shadow-focus);outline:none}.input:disabled{background:var(--surface-sunken,var(--neutral-100));color:var(--text-disabled);border-color:var(--border-default);cursor:not-allowed}.input:disabled:hover{border-color:var(--border-default)}.label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1-5);font-weight:500;display:block}.field-hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1);display:block}.select{height:var(--control-h);width:100%;padding:0 var(--space-8) 0 var(--control-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23888' stroke-width='1.5' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat}.select:focus{border-color:var(--brand-500);box-shadow:var(--shadow-focus);outline:none}.textarea{width:100%;padding:var(--space-2-5) var(--control-px);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface-raised);color:var(--text-primary);font-size:var(--text-sm);resize:vertical;transition:border-color var(--duration-fast), box-shadow var(--duration-fast)}.textarea:focus{border-color:var(--brand-500);box-shadow:var(--shadow-focus);outline:none}.fieldset{gap:var(--stack-gap);border:0;flex-direction:column;margin:0;padding:0;display:flex}.kbd{font-family:var(--font-mono);font-size:var(--text-2xs);padding:var(--space-0-5) var(--space-1-5);border-radius:var(--radius-sm);background:var(--neutral-100);border:1px solid var(--border-default);color:var(--text-secondary)}[data-theme=dark] .kbd{background:var(--surface-sunken)}.divider{background:var(--border-default);height:1px;margin:var(--space-3) 0;border:0}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.cb{border-radius:var(--radius-sm);border:1.5px solid var(--border-strong);background:var(--surface-raised);cursor:pointer;color:#fff;width:16px;height:16px;transition:all var(--duration-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.cb.checked,.cb.indeterminate{background:var(--brand-600);border-color:var(--brand-600)}.radio{border:1.5px solid var(--border-strong);background:var(--surface-raised);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.radio.checked{border-color:var(--brand-600)}.radio.checked:after{content:"";background:var(--brand-600);border-radius:50%;width:8px;height:8px}.switch{border-radius:var(--radius-full);background:var(--border-strong);width:34px;height:20px;transition:background var(--duration-base);cursor:pointer;border:0;flex-shrink:0;position:relative}.switch:after{content:"";width:16px;height:16px;transition:transform var(--duration-base);box-shadow:var(--shadow-knob);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px}.switch.on{background:var(--brand-600)}.switch.on:after{transform:translate(14px)}.switch.disabled{opacity:.4;cursor:not-allowed}.avatar{background:linear-gradient(135deg, var(--brand-200), var(--brand-400));width:32px;height:32px;color:var(--brand-900);font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-sm{width:24px;height:24px;font-size:var(--text-2xs)}.avatar-lg{width:40px;height:40px;font-size:var(--text-base)}.avatar-xl{width:72px;height:72px;font-size:var(--text-2xl)}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table thead th{text-align:left;font-weight:700;font-size:var(--text-2xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2-5) var(--row-px);border-bottom:1px solid var(--border-default);background:var(--surface-sunken);z-index:1;position:sticky;top:0}.table tbody td{padding:var(--row-py) var(--row-px);border-bottom:1px solid var(--border-default);color:var(--text-primary);vertical-align:middle}.table tbody tr{transition:background-color var(--duration-fast)}.table tbody tr:hover,.table-row-hover:hover{background:var(--surface-sunken)}.table tbody tr.selected{background:var(--brand-soft)}.pagination{align-items:center;gap:var(--space-1);display:flex}.pagination .page-btn{min-width:32px;height:32px;padding:0 var(--space-2);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.pagination .page-btn:hover{background:var(--neutral-100);color:var(--text-primary)}.pagination .page-btn.active{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.tabs{align-items:center;gap:var(--space-0-5);border-bottom:1px solid var(--border-default);margin-bottom:var(--space-5);display:flex}.tab{padding:var(--space-2-5) var(--space-3-5);font-size:var(--text-sm);white-space:nowrap;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--brand-700);border-bottom-color:var(--brand-600)}[data-theme=dark] .tab.active{color:var(--brand-ink)}.tab-count{margin-left:var(--space-1-5);font-size:var(--text-2xs);background:var(--surface-sunken);padding:1px var(--space-1-5);border-radius:var(--radius-full);color:var(--text-muted);font-variant-numeric:tabular-nums;display:inline-block}.tab.active .tab-count{background:var(--brand-50);color:var(--brand-700)}.steps{margin-bottom:var(--space-6);align-items:center;gap:0;display:flex}.step{align-items:center;gap:var(--space-2-5);flex:1;display:flex}.step-num{background:var(--surface-sunken);width:28px;height:28px;color:var(--text-muted);font-size:var(--text-sm);border:1.5px solid var(--border-default);transition:all var(--duration-base);border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.step.done .step-num{background:var(--brand-600);color:#fff;border-color:var(--brand-600)}.step.current .step-num{background:var(--surface-raised);color:var(--brand-600);border-color:var(--brand-600);box-shadow:var(--shadow-focus)}[data-theme=dark] .step.current .step-num{background:var(--surface-raised)}.step-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.step.current .step-label{color:var(--text-primary)}.step-line{background:var(--border-default);height:1px;margin:0 var(--space-2-5);flex:1}.step.done+.step .step-line{background:var(--brand-400)}.empty-state{padding:var(--space-12) var(--space-6);text-align:center;color:var(--text-muted)}.empty-icon{border-radius:var(--radius-xl);background:var(--surface-sunken);width:56px;height:56px;color:var(--text-muted);margin-bottom:var(--space-3);justify-content:center;align-items:center;display:inline-flex}.skeleton{background:linear-gradient(90deg, var(--neutral-100) 25%, var(--neutral-200) 50%, var(--neutral-100) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton}[data-theme=dark] .skeleton{background:linear-gradient(90deg, var(--surface-overlay) 25%, var(--surface-sunken) 50%, var(--surface-overlay) 75%);background-size:200% 100%}@keyframes skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.row{flex-direction:row;align-items:center;display:flex}.grid-2{gap:var(--grid-gap);grid-template-columns:2fr 1fr;display:grid}.grid-3{gap:var(--grid-gap);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1200px){.grid-2{grid-template-columns:1fr}}.app{grid-template:"sidebar topbar""sidebar main"1fr/auto 1fr;min-height:100vh;display:grid}.app-main{padding:var(--page-py) var(--page-px) var(--space-20);background:var(--surface-base);grid-area:main;overflow-y:auto}.sidebar{width:var(--sidebar-w);background:var(--sb);border-right:1px solid var(--sb-line);color:var(--sb-text);transition:width var(--duration-base) var(--ease-out);z-index:20;flex-direction:column;grid-area:sidebar;height:100vh;display:flex;position:sticky;top:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-w-collapsed);overflow:visible}.sidebar-brand{align-items:center;gap:var(--space-2-5);padding:0 var(--space-3) 0 var(--space-4);border-bottom:1px solid var(--sb-line);color:var(--sb-strong);height:var(--topbar-h);flex-shrink:0;display:flex}.sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar-brand-mark,.sidebar-collapse{color:var(--sb-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.sidebar-brand-mark{padding:var(--space-1)}.sidebar-brand-mark:hover{background:var(--sb-field)}.sidebar-collapse{width:var(--control-h-sm);height:var(--control-h-sm);margin-left:auto}.sidebar-collapse:hover{background:var(--sb-field);color:var(--sb-strong)}.brand-logo-wrap{align-items:center;gap:var(--space-2-5);min-width:0;display:flex}.brand-name{font-size:var(--text-sm);letter-spacing:-.01em;color:var(--sb-strong);white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.brand-sub{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--sb-muted);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-weight:500;display:block}.sidebar-search{padding:var(--space-3) var(--space-3) var(--space-1);flex-shrink:0}.sidebar-search.rail{padding:var(--space-3) 0 var(--space-1);justify-content:center;display:flex}.sidebar-search-field{align-items:center;gap:var(--space-2);width:100%;height:var(--control-h);padding:0 var(--space-2-5);border:1px solid var(--sb-line);border-radius:var(--radius-md);background:var(--sb-field);color:var(--sb-muted);font-size:var(--text-sm);text-align:left;cursor:pointer;display:flex}.sidebar-search-field:hover{color:var(--sb-strong)}.sidebar-search-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-kbd{border-color:var(--sb-line);color:var(--sb-muted);background:0 0}.sidebar-nav{padding:var(--space-2-5) var(--space-3) var(--space-5);gap:var(--space-3-5);flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar.collapsed .sidebar-nav{padding:var(--space-2) 0;align-items:center;gap:var(--space-1);overflow:visible}.sidebar-group{gap:var(--space-0-5);flex-direction:column;display:flex}.sidebar-group.rail{align-items:center;gap:var(--space-1);padding-bottom:var(--space-2);margin-bottom:var(--space-1);border-bottom:1px solid var(--sb-line);width:100%}.sidebar-items{gap:var(--space-0-5);flex-direction:column;display:flex}.sidebar-items[hidden]{display:none}.sidebar-heading{align-items:center;gap:var(--space-1-5);text-align:left;width:100%;font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.09em;color:var(--sb-muted);padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius-sm);background:0 0;border:0;font-weight:700;display:flex}button.sidebar-heading{cursor:pointer}button.sidebar-heading:hover{color:var(--sb-strong)}button.sidebar-heading[aria-disabled=true]{cursor:default}.sidebar-heading-chevron{transition:transform var(--duration-fast) var(--ease-out);margin-left:auto}.sidebar-heading[aria-expanded=false] .sidebar-heading-chevron{transform:rotate(-90deg)}.nav-item{align-items:center;gap:var(--space-2-5);padding:var(--item-py) var(--space-2-5);border-radius:var(--radius-md);color:var(--sb-text);font-size:var(--text-sm);text-align:left;cursor:pointer;width:100%;transition:background-color var(--duration-fast), color var(--duration-fast);background:0 0;border:0;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--sb-field);color:var(--sb-strong)}.nav-item.active{background:var(--sb-on);color:var(--sb-on-text);font-weight:700}.nav-icon{justify-content:center;width:17px;display:inline-flex}.nav-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-count{font-size:var(--text-2xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--sb-muted)}.nav-count.alert{color:var(--sb-strong);font-weight:700}.nav-item.active .nav-count{color:var(--sb-on-text)}.rail-item{width:calc(var(--control-h) + var(--space-1));height:calc(var(--control-h) + var(--space-1));border-radius:var(--radius-md);color:var(--sb-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.rail-item:hover,.rail-section.open>.rail-item{background:var(--sb-field);color:var(--sb-strong)}.rail-item.active{background:var(--sb-on);color:var(--sb-on-text)}.rail-dot{top:var(--space-1);right:var(--space-1);min-width:15px;height:15px;padding:0 var(--space-1);border-radius:var(--radius-full);color:var(--sb);font-size:var(--text-2xs);text-align:center;box-shadow:0 0 0 2px var(--sb);background:#fff;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;position:absolute}[data-theme=dark] .rail-dot{background:var(--brand-600);color:#fff}.rail-section{justify-content:center;width:100%;display:flex;position:relative}.rail-section:after{content:"";width:var(--space-3);position:absolute;top:0;bottom:0;left:100%}.flyout{left:calc(100% + var(--space-2));z-index:300;gap:var(--space-0-5);min-width:14rem;padding:var(--space-2);border:1px solid var(--sb-line);border-radius:var(--radius-lg);background:var(--sb);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;top:0}.flyout[hidden]{display:none}.flyout-heading{padding:var(--space-1-5) var(--space-2-5) var(--space-1);font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--sb-muted);font-weight:700}.sidebar.collapsed .tooltip-wrap{justify-content:center;width:100%;display:flex}.sidebar-footer{padding:var(--space-3);border-top:1px solid var(--sb-line)}.sidebar.collapsed .sidebar-footer{padding:var(--space-2) 0;justify-content:center;display:flex}.logo{flex-shrink:0;display:block}.logo-mark{width:30px;height:30px}.logo-full{aspect-ratio:4226/1125;width:auto;height:28px}.logo-white{color:#fff}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.topbar-crumbs{align-items:center;gap:var(--space-2);min-width:0;display:flex}.topbar-crumb-section{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.topbar-crumb-sep{color:var(--border-strong)}.topbar-crumb-page{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}@media (min-width:769px){.topbar-menu,.topbar-search-btn{display:none}}.topbar{height:var(--topbar-h);background:var(--surface-raised);border-bottom:1px solid var(--border-default);padding:0 var(--space-5);align-items:center;gap:var(--space-4);z-index:10;grid-area:topbar;display:flex;position:sticky;top:0}.topbar-left{align-items:center;gap:var(--space-2-5);display:flex}.topbar-right{align-items:center;gap:var(--space-1-5);margin-left:auto;display:flex}.tenant-switcher{position:relative}.tenant-btn{align-items:center;gap:var(--space-2-5);padding:var(--space-1-5) var(--space-2-5) var(--space-1-5) var(--space-1-5);border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);min-width:220px;display:flex}.tenant-btn:hover{background:var(--neutral-100)}[data-theme=dark] .tenant-btn:hover{background:var(--surface-overlay)}.tenant-avatar{border-radius:var(--radius-md);width:28px;height:28px;font-size:var(--text-2xs);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.tenant-name{font-size:var(--text-sm);font-weight:600}.tenant-type{font-size:var(--text-2xs);color:var(--text-muted)}.topbar-search{align-items:center;gap:var(--space-2);max-width:520px;padding:0 var(--space-3);height:var(--control-h);border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid #0000;flex:1;display:flex}.topbar-search:focus-within{background:var(--surface-raised);border-color:var(--brand-500);box-shadow:var(--shadow-focus)}.search-input{color:var(--text-primary);font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.search-input::placeholder{color:var(--text-muted)}.notif-wrap,.user-wrap{position:relative}.notif-dot{background:var(--danger-500);border:2px solid var(--surface-raised);border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.user-btn{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);color:var(--text-primary);background:0 0;border:0;display:flex}.user-btn:hover{background:var(--neutral-100)}[data-theme=dark] .user-btn:hover{background:var(--surface-overlay)}.menu{background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-1-5);z-index:50;min-width:240px;position:absolute;top:calc(100% + 6px)}.tenant-menu{width:320px;left:0}.notif-menu,.user-menu{width:300px;right:0}.menu-heading{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-2) var(--space-2-5) var(--space-1-5);font-weight:600}.menu-item{align-items:center;gap:var(--space-2-5);padding:var(--item-py) var(--space-2-5);border-radius:var(--radius-sm);width:100%;font-size:var(--text-sm);color:var(--text-primary);text-align:left;background:0 0;border:0;display:flex}.menu-item:hover{background:var(--neutral-100)}[data-theme=dark] .menu-item:hover{background:color-mix(in oklch, var(--neutral-50) 10%, transparent)}.menu-item.active{background:var(--brand-50);color:var(--brand-700)}[data-theme=dark] .menu-item.active{background:color-mix(in oklch, var(--brand-600) 18%, transparent);color:var(--brand-ink)}.notif{align-items:flex-start;gap:var(--space-2-5);padding:var(--space-2-5);border-radius:var(--radius-sm);font-size:var(--text-sm);display:flex}.notif:hover{background:var(--neutral-100)}[data-theme=dark] .notif:hover{background:color-mix(in oklch, var(--neutral-50) 10%, transparent)}.notif.read{color:var(--text-muted)}.notif-kind{width:6px;height:6px;margin-top:var(--space-2);border-radius:50%;flex-shrink:0}.kind-audit{background:#816dd2;background:lab(51.5516% 26.208 -50.4713)}.kind-warning{background:var(--warning-500)}.kind-info{background:var(--info-500)}.kind-success{background:var(--success-500)}.notif-menu{width:340px;max-width:calc(100vw - var(--space-6));padding:var(--space-1-5);color:var(--text-primary)}.notif-menu-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.notif-mark-all{cursor:pointer;font-size:var(--text-xs);color:var(--brand-700);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-sm);background:0 0;border:0}.notif-mark-all:hover{background:var(--neutral-100)}.notif-list{max-height:60vh;margin:0;padding:0;list-style:none;overflow-y:auto}.notif-button{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:0}.notif-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.notif-title{font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-sm)}.notif.read .notif-title{font-weight:400}.notif-time{font-size:var(--text-2xs);color:var(--text-muted)}.notif-empty{padding:var(--space-4) var(--space-2-5);font-size:var(--text-sm);color:var(--text-muted);text-align:center;margin:0}.kind-read{background:0 0}.page-header{margin-bottom:var(--section-gap)}.breadcrumb{align-items:center;gap:var(--space-1-5);font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-2-5);display:flex}.breadcrumb .current{color:var(--text-secondary);font-weight:500}.page-header-row{justify-content:space-between;align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;display:flex}.page-title{font-size:var(--text-2xl);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.2}.page-subtitle{color:var(--text-muted);font-size:var(--text-sm);max-width:70ch;margin:0}.page-actions{align-items:center;gap:var(--space-2);display:flex}.banner{align-items:flex-start;gap:var(--space-2-5);padding:var(--space-3) var(--space-3-5);border-radius:var(--radius-md);font-size:var(--text-sm);margin-bottom:var(--space-5);border:1px solid #0000;display:flex}.banner-info{background:var(--info-50);color:var(--info-700)}.banner-warning{background:var(--warning-50);color:var(--warning-700)}.banner-danger{background:var(--danger-50);color:var(--danger-700)}.banner-success{background:var(--success-50);color:var(--success-700)}.impersonation-banner{z-index:20;color:#fff;padding:var(--space-2) var(--space-5);align-items:center;gap:var(--space-2-5);font-size:var(--text-sm);background:#8e35a1;background:lab(39.0977% 49.4956 -41.4426);border-bottom:1px solid #6f0f82;border-bottom:1px solid lab(27.3265% 50.2585 -41.2782);font-weight:500;display:flex;position:sticky;top:0}.stat-grid{gap:var(--grid-gap);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{padding:var(--card-p);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:var(--space-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.stat-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:500}.stat-value{font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.stat-trend{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-variant-numeric:tabular-nums;display:inline-flex}.stat-trend.up{color:var(--success-700)}.stat-trend.down{color:var(--danger-700)}[data-theme=dark] .stat-trend.up{color:#6fd087;color:lab(76.2673% -42.0219 27.4338)}[data-theme=dark] .stat-trend.down{color:#ff9189;color:lab(72.9216% 50.0549 28.4249)}.stat-spark{opacity:.85;width:80px;height:28px;position:absolute;bottom:12px;right:12px}.section-title{font-size:var(--text-base);letter-spacing:-.01em;margin:0;font-weight:600}.card-sub{color:var(--text-muted);font-size:var(--text-xs)}.toolbar{align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--row-px);border-bottom:1px solid var(--border-default);background:var(--surface-raised);display:flex}.toolbar .search-input-wrap{align-items:center;gap:var(--space-2);max-width:360px;padding:0 var(--space-2-5);border-radius:var(--radius-md);background:var(--surface-sunken);flex:1;height:32px;display:flex}.toolbar .search-input-wrap input{color:var(--text-primary);font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.chip{align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);font-size:var(--text-xs);background:var(--surface-sunken);color:var(--text-secondary);border:1px solid var(--border-default);cursor:pointer;font-weight:500;display:inline-flex}.chip.active,.chip--active{background:var(--brand-50);color:var(--brand-700);border-color:var(--brand-200)}.chip:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .chip.active,[data-theme=dark] .chip--active{background:color-mix(in oklch, var(--brand-600) 16%, transparent);color:var(--brand-ink);border-color:#0000}.quantity-stepper{gap:var(--space-2);flex-direction:column;display:flex}.quantity-stepper__row{align-items:center;gap:var(--space-2);display:flex}.quantity-stepper__input{text-align:center;width:96px}.quantity-stepper__presets{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.quantity-stepper__hint{font-size:var(--text-xs);color:var(--text-muted)}.row-actions{gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast);display:inline-flex}tr:hover .row-actions{opacity:1}.action-list{gap:var(--space-1);flex-direction:column;display:flex}.action-row{align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--duration-fast);display:flex}.action-row:hover{background:var(--neutral-100)}[data-theme=dark] .action-row:hover{background:var(--surface-overlay)}.action-kind{border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.kind-warning-bg{background:var(--warning-50);color:var(--warning-700)}.kind-info-bg{background:var(--info-50);color:var(--info-700)}.kind-danger-bg{background:var(--danger-50);color:var(--danger-700)}.kind-success-bg{background:var(--success-50);color:var(--success-700)}.checkin-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);display:flex}.checkin-row:hover{background:var(--neutral-100)}[data-theme=dark] .checkin-row:hover{background:var(--surface-overlay)}.checkin-result{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.result-allow{background:var(--success-500)}.result-deny{background:var(--danger-500)}.result-ended{background:var(--border-default);color:var(--text-muted)}.checkin-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-left:auto}.timeline{padding-left:var(--space-5);position:relative}.timeline:before{content:"";background:var(--border-default);width:1.5px;position:absolute;top:8px;bottom:8px;left:5px}.timeline-entry{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border-default);grid-template-columns:210px 1fr;align-items:start;display:grid;position:relative}.timeline-entry:last-child{border-bottom:0}.timeline-entry:before{content:"";background:var(--surface-raised);border:2px solid var(--border-strong);border-radius:50%;width:12px;height:12px;position:absolute;top:18px;left:-20px}.timeline-entry.action-READ:before{border-color:var(--info-500)}.timeline-entry.action-WRITE:before{border-color:var(--success-500)}.timeline-entry.action-DELETE:before{border-color:var(--danger-500)}.timeline-entry.action-AUTH:before{border-color:#816dd2;border-color:lab(51.5516% 26.208 -50.4713)}.timeline-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);padding-top:var(--space-0-5)}.timeline-body{gap:var(--space-1);flex-direction:column;display:flex}.timeline-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.timeline-detail{color:var(--text-secondary);font-size:var(--text-sm)}.timeline-meta{gap:var(--space-2-5);color:var(--text-muted);font-size:var(--text-2xs);margin-top:var(--space-0-5);display:flex}.action-tag{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.04em;padding:1px var(--space-1-5);border-radius:var(--radius-sm);font-weight:600}.action-READ{background:var(--info-50);color:var(--info-700)}.action-WRITE{background:var(--success-50);color:var(--success-700)}.action-DELETE{background:var(--danger-50);color:var(--danger-700)}.action-AUTH{color:#4a3191;color:lab(27.9443% 30.5957 -50.0737);background:#eeecff;background:lab(93.9071% 3.78299 -10.565)}[data-theme=dark] .action-AUTH{color:#bcb1ff;color:lab(75.3894% 18.2435 -40.9609);background:#211d38;background:lab(12.3661% 8.16462 -16.9269)}.diff-list{gap:var(--space-1);padding:var(--space-2);flex-direction:column;display:flex}.diff-row{gap:var(--space-3-5);padding:var(--space-2-5) var(--space-3-5);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--surface-sunken);grid-template-columns:80px 110px 1fr auto;align-items:center;display:grid}.diff-kind{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.06em;padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);justify-self:start;font-weight:600}.diff-added{background:var(--success-50);color:var(--success-700)}.diff-changed{background:var(--warning-50);color:var(--warning-700)}.diff-removed{background:var(--danger-50);color:var(--danger-700)}.diff-entity{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-muted)}.module-grid{gap:var(--space-3-5);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:1200px){.module-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.module-grid{grid-template-columns:1fr}}.module-card{padding:var(--space-5);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);gap:var(--space-2-5);transition:border-color var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;display:flex}.module-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.module-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.module-icon{border-radius:var(--radius-lg);background:var(--brand-50);width:36px;height:36px;color:var(--brand-700);justify-content:center;align-items:center;display:flex}[data-theme=dark] .module-icon{background:color-mix(in oklch, var(--brand-600) 18%, transparent);color:var(--brand-ink)}.module-name{font-size:var(--text-base);font-weight:600}.module-desc{font-size:var(--text-sm);color:var(--text-muted);flex:1;line-height:1.5}.module-foot{padding-top:var(--space-2-5);border-top:1px solid var(--border-default);justify-content:space-between;align-items:center;display:flex}.member-header{align-items:flex-start;gap:var(--space-5);padding:var(--card-p);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);margin-bottom:var(--space-5);display:flex}.member-name{font-size:var(--text-2xl);letter-spacing:-.02em;font-weight:600;line-height:1.1}.check-field{align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;display:flex}.check-field input{width:var(--space-4);height:var(--space-4);margin-top:var(--space-0-5);accent-color:var(--brand-600);flex:none}.check-field-hint{margin-top:var(--space-0-5);font-size:var(--text-xs);color:var(--text-muted);display:block}.text-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.member-header-body{flex:1;min-width:0}.member-header-text{color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-base);max-width:var(--content-md);margin:0}.member-header-stat{text-align:right;flex:none}.checklist{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist li{align-items:center;gap:var(--space-2);display:flex}.checklist-ok{color:var(--text-muted)}.checklist-open{color:var(--text-primary)}.row-end{margin-left:auto}.card-narrow{max-width:var(--content-md)}.live-tile-clickable{cursor:pointer}.live-tile-link{font-size:var(--text-2xs);color:var(--text-muted);text-decoration:none}.live-tile-link:hover{color:var(--brand-ink);text-decoration:underline}.live-tile-occupied .live-tile-body.live-tile-body-stack{flex-direction:column;align-items:stretch}.live-tile-actions{margin-top:auto}.live-member-disc{align-items:center;gap:var(--space-1);display:inline-flex}.text-danger{color:var(--danger-600)}.row-start{margin-right:auto}.pick-list{border:1px solid var(--border-default);border-radius:var(--radius-md);max-height:calc(var(--space-12) * 6);margin:0;padding:0;list-style:none;overflow:hidden auto}.pick-list li+li{border-top:1px solid var(--border-default)}.pick-list-item{align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2-5) var(--space-3-5);text-align:left;cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;display:flex}.pick-list-item:hover,.pick-list-item:focus-visible{background:var(--surface-sunken);outline:none}.pick-list-item:disabled{opacity:.5;cursor:not-allowed}.choice-group{gap:var(--space-1-5);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.choice-group-row{flex-flow:wrap}.choice-legend{margin-bottom:var(--space-1);font-size:var(--text-sm);color:var(--text-primary);padding:0;font-weight:500}.choice-card{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);display:flex}.choice-card:has(input:checked){border-color:var(--brand-500);background:var(--brand-soft)}.choice-card input{accent-color:var(--brand-600);margin:0}.choice-card-label{flex:1}.choice-card-meta{font-size:var(--text-2xs);font-weight:600}.detail-body{margin-top:var(--space-6)}.member-meta{gap:var(--space-2-5) var(--space-5);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.member-meta .label-val{align-items:center;gap:var(--space-1-5);display:flex}.kv-grid{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);grid-template-columns:180px 1fr;display:grid}.kv-label{color:var(--text-muted)}.kv-val{color:var(--text-primary)}.kiosk{color:#fff;z-index:100;font-family:var(--font-sans);background:#0a0d12;flex-direction:column;display:flex;position:fixed;inset:0}.kiosk-topbar{align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-8);border-bottom:1px solid #ffffff0f;display:flex}.kiosk-brand{align-items:center;gap:var(--space-2-5);display:flex}.kiosk-brand .brand-mark{width:32px;height:32px}.kiosk-tenant{font-size:var(--text-sm);color:#fff9;align-items:center;gap:var(--space-2-5);margin-left:auto;display:flex}.kiosk-clock{font-family:var(--font-mono);font-size:var(--text-xl);letter-spacing:.05em;color:#ffffffd9;font-variant-numeric:tabular-nums}.kiosk-body{padding:var(--space-8);flex:1;grid-template-columns:1fr;place-items:center;display:grid;overflow:hidden}.kiosk-search{align-items:center;gap:var(--space-3-5);width:100%;max-width:620px;padding:0 var(--space-6);border-radius:var(--radius-xl);height:72px;font-size:var(--text-2xl);background:#ffffff0f;border:1px solid #ffffff14;display:flex}.kiosk-search input{color:#fff;font-size:var(--text-2xl);font-family:var(--font-sans);background:0 0;border:0;outline:none;flex:1}.kiosk-search input::placeholder{color:#fff6}.kiosk-qr{border-radius:var(--radius-2xl);justify-content:center;align-items:center;gap:var(--space-3-5);color:#fff9;border:2px dashed #fff3;flex-direction:column;width:260px;height:260px;display:flex}.kiosk-member{gap:var(--space-8);grid-template-columns:auto 1fr;align-items:center;width:100%;max-width:1000px;display:grid}.kiosk-photo{border-radius:var(--radius-3xl);background:linear-gradient(135deg, var(--brand-800), var(--neutral-950));width:220px;height:220px;font-size:var(--text-7xl);color:#e6d3f7;letter-spacing:.05em;justify-content:center;align-items:center;font-weight:600;display:flex}.kiosk-name{font-size:var(--text-5xl);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:600;line-height:1}.kiosk-id{font-family:var(--font-mono);color:#ffffff80;font-size:var(--text-base);margin-bottom:var(--space-5)}.kiosk-disc-grid{gap:var(--space-2-5);grid-template-columns:repeat(3,1fr);display:grid}.kiosk-disc{padding:var(--space-3) var(--space-3-5);border-radius:var(--radius-xl);gap:var(--space-1);background:#ffffff0a;border:1px solid #ffffff0f;flex-direction:column;display:flex}.kiosk-disc-name{font-size:var(--text-sm);color:#ffffffb3}.kiosk-disc-status{font-size:var(--text-lg);letter-spacing:.02em;font-weight:600}.kiosk-disc.active .kiosk-disc-status{color:#6fd087;color:lab(76.2673% -42.0219 27.4338)}.kiosk-disc.expired .kiosk-disc-status{color:#ff9189;color:lab(72.9216% 50.0549 28.4249)}.kiosk-disc.training .kiosk-disc-status{color:#fec84b;color:lab(83.9816% 10.8261 67.0844)}.kiosk-disc.achieved .kiosk-disc-status{color:#d9bdf3}.kiosk-verdict{margin-top:var(--space-8);gap:var(--space-5);grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.kiosk-btn{border-radius:var(--radius-2xl);height:120px;font-size:var(--text-4xl);letter-spacing:.02em;justify-content:center;align-items:center;gap:var(--space-3-5);cursor:pointer;transition:transform var(--duration-fast), filter var(--duration-fast);border:0;font-weight:700;display:flex}.kiosk-btn:hover{filter:brightness(1.08)}.kiosk-btn:active{transform:translateY(1px)}.kiosk-allow{color:#fff;background:#008d3e;background:lab(51.1616% -55.1865 37.4471)}.kiosk-deny{color:#fff;background:#d73337;background:lab(49.2539% 63.2983 39.3808)}.kiosk-verdict-full{border-radius:var(--radius-3xl);height:180px;font-size:var(--text-6xl);letter-spacing:.04em;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;font-weight:700;display:flex}.kiosk-verdict-full.allow{color:#fff;background:#008d3e;background:lab(51.1616% -55.1865 37.4471)}.kiosk-verdict-full.deny{color:#fff;background:#d73337;background:lab(49.2539% 63.2983 39.3808)}.kiosk-verdict-sub{font-size:var(--text-lg);opacity:.9;letter-spacing:0;margin-top:var(--space-2);font-weight:400}.kiosk-exit{padding:var(--space-2) var(--space-3-5);border-radius:var(--radius-lg);color:#fff;background:#ffffff0f;border:1px solid #ffffff1a}@media (max-width:900px){.hide-md{display:none}}.disc-layout{gap:var(--section-gap);grid-template-columns:280px 1fr;align-items:start;display:grid}.disc-rail{gap:var(--space-1);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.disc-rail-item{gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:var(--text-primary);background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;width:100%;transition:background .12s;display:grid}.disc-rail-item:hover{background:var(--surface-sunken)}.disc-rail-item.active{background:color-mix(in oklab, var(--brand-500) 10%, transparent);color:var(--brand-700)}.disc-rail-item.active .disc-rail-meta{color:color-mix(in oklab, var(--brand-500) 75%, var(--text-secondary))}[data-theme=dark] .disc-rail-item.active{color:var(--brand-ink)}.disc-hue{border-radius:50%;flex-shrink:0;width:10px;height:10px}.disc-rail-name{font-weight:500;font-size:var(--text-sm)}.disc-rail-meta{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-0-5)}.disc-hero-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4);display:flex}.disc-hero-eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-weight:500}.disc-hero-title{font-size:var(--text-3xl);letter-spacing:-.02em;margin:var(--space-1) 0 var(--space-1-5);font-weight:600}.disc-hero-sub{color:var(--text-secondary);font-size:var(--text-sm)}.disc-hero-stats{gap:var(--space-5);display:flex}.stat-mini-n{font-size:var(--text-2xl);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600}.stat-mini-l{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.disc-ladder-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:var(--space-2-5);margin-top:var(--space-1-5);font-weight:500}.disc-ladder{gap:var(--space-3);grid-template-columns:repeat(5,1fr);align-items:end;height:180px;display:grid}.ladder-step{align-items:center;gap:var(--space-1-5);flex-direction:column;height:100%;display:flex}.ladder-bar{background:var(--surface-sunken);border-radius:var(--radius-sm);flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.ladder-fill{width:100%;min-height:6px;transition:height .3s}.ladder-count{font-variant-numeric:tabular-nums;font-weight:600;font-size:var(--text-sm)}.ladder-name{font-size:var(--text-xs);color:var(--text-muted)}.req-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.req-row{gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:auto 1fr;align-items:flex-start;display:grid}.req-dot{width:8px;height:8px;margin-top:var(--space-1-5);border-radius:50%;flex-shrink:0}.req-dot.ok{background:var(--success-500)}.req-dot.warn{background:var(--warning-500)}.req-t{font-weight:500;font-size:var(--text-sm)}.req-s{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-0-5)}.seg{gap:var(--space-0-5);background:var(--surface-sunken);border-radius:var(--radius-md);padding:3px;display:flex}.seg button{padding:var(--space-1-5) var(--space-3);border-radius:calc(var(--radius-md) - var(--radius-xs));color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast), color var(--duration-fast);background:0 0;border:0}.seg button:hover{background:var(--surface-raised);color:var(--text-primary)}.seg button.on{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-sm)}.display-prefs{gap:var(--space-3);padding:var(--space-2) var(--space-2-5);flex-direction:column;display:flex}.pref-group{gap:var(--space-1-5);flex-direction:column;display:flex}.pref-label{font-size:var(--text-2xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-muted)}.display-prefs .seg button{flex:1}[data-theme=dark] .seg button.on{background:var(--surface-overlay)}.search-inline{align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-2-5);background:var(--surface-sunken);border-radius:var(--radius-md);color:var(--text-muted);display:flex}.search-inline input{font:inherit;color:var(--text-primary);background:0 0;border:0;outline:none;width:220px}.asset-stats{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:repeat(4,1fr);display:grid}.stat-cell{padding:var(--space-4) var(--space-5)}.stat-cell-n{font-size:var(--text-2xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600}.stat-cell-l{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:var(--space-0-5)}.card-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-3-5);display:flex}.live-summary{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4);align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.live-sum-cell{gap:var(--space-0-5);padding:0 var(--space-4);flex-direction:column;display:flex}.live-sum-cell:first-child{padding-left:0}.live-sum-n{font-size:var(--text-3xl);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:600}.live-sum-l{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.live-n-occupied{color:var(--brand-600)}.live-n-free{color:var(--success)}.live-n-oos{color:var(--text-muted)}.live-divider{background:var(--border-default);flex-shrink:0;align-self:stretch;width:1px}.live-pulse{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);display:inline-flex}.live-pulse-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in oklab, var(--success) 40%, transparent);border-radius:50%;animation:2s ease-in-out infinite livepulse;display:inline-block}@keyframes livepulse{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--success) 40%, transparent)}70%{box-shadow:0 0 0 var(--space-2) transparent}to{box-shadow:0 0 #0000}}.live-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.live-tile{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-4);gap:var(--space-3);cursor:pointer;transition:border-color var(--duration-fast), box-shadow var(--duration-fast);flex-direction:column;min-height:140px;display:flex}.live-tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.live-tile.selected{border-color:var(--brand-500);box-shadow:var(--shadow-focus)}.live-tile-occupied{border-left:3px solid var(--warning-500)}.live-tile-free{border-left:3px solid var(--success-500)}.live-tile-out-of-service{border-left:3px solid var(--danger-500);opacity:.75}.live-tile-header{justify-content:space-between;align-items:flex-start;display:flex}.live-tile-name{font-weight:600;font-size:var(--text-base)}.live-tile-zone{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-0-5)}.live-state-dot{width:12px;height:12px;margin-top:var(--space-1);border-radius:50%;flex-shrink:0}.state-occupied{background:var(--brand-600)}.state-free{background:var(--success)}.state-out-of-service{background:var(--border-strong)}.live-tile-body{gap:var(--space-1-5);flex-direction:column;flex:1;display:flex}.live-member-info{gap:var(--space-0-5);flex-direction:column;flex:1;display:flex}.live-member-name{font-weight:500;font-size:var(--text-sm)}.live-member-disc{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.live-member-time{align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-0-5);font-family:var(--font-mono);display:inline-flex}.live-tile-occupied .live-tile-body{align-items:flex-start;gap:var(--space-2-5);flex-direction:row}.live-checkout{align-self:flex-end;margin-top:auto}.live-free-label{font-size:var(--text-xl);color:var(--success);letter-spacing:-.01em;flex:1;align-items:center;font-weight:300;display:flex}.live-tile-oos-body{align-items:flex-start}.live-oos-note{font-size:var(--text-sm);color:var(--text-muted);flex:1;line-height:1.5}nav.mkt-nav{z-index:100;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--neutral-200);background:#ffffffe0;position:sticky;top:0}.mkt-nav-inner{max-width:var(--content-max);padding:0 var(--space-8);align-items:center;gap:var(--space-10);height:64px;margin:0 auto;display:flex}.mkt-logo{align-items:center;gap:var(--space-2-5);color:inherit;flex-shrink:0;text-decoration:none;display:flex}.mkt-nav-links{align-items:center;gap:var(--space-1);flex:1;margin:0;padding:0;list-style:none;display:flex}.mkt-nav-links a{color:var(--neutral-600);font-size:var(--text-base);padding:var(--space-1-5) var(--space-3);border-radius:var(--radius-lg);transition:color var(--duration-fast), background var(--duration-fast);font-weight:500;text-decoration:none}.mkt-nav-links a:hover{color:var(--neutral-900);background:var(--neutral-100)}.mkt-nav-right{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.btn-ghost-nav{color:var(--neutral-600);font-size:var(--text-base);padding:var(--space-2) var(--space-3-5);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--duration-fast), background var(--duration-fast);background:0 0;border:0;font-weight:500;text-decoration:none}.btn-ghost-nav:hover{color:var(--neutral-900);background:var(--neutral-100)}.btn-cta-nav{background:var(--brand-500);color:#fff;font-size:var(--text-base);padding:var(--space-2) var(--space-5);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast);white-space:nowrap;border:0;font-weight:600;text-decoration:none}.btn-cta-nav:hover{background:var(--brand-hover)}footer.mkt-footer{background:var(--neutral-900);color:#ffffff8c;padding:var(--space-8)}.mkt-footer-inner{max-width:var(--content-max);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.mkt-footer-brand{align-items:center;gap:var(--space-2);font-size:var(--text-base);color:#fffc;font-weight:600;display:flex}.mkt-footer-copy{font-size:var(--text-sm)}.mkt-footer-links{gap:var(--space-5);display:flex}.mkt-footer-links a{font-size:var(--text-sm);color:#ffffff73;transition:color var(--duration-fast);text-decoration:none}.mkt-footer-links a:hover{color:#fffc}.mkt-text-page{max-width:var(--content-narrow);padding:var(--space-16) var(--space-8);margin:0 auto}.mkt-text-page h1{font-size:clamp(var(--text-3xl), 4vw, var(--text-4xl));letter-spacing:-.025em;color:var(--neutral-900);margin-bottom:var(--space-2);font-weight:700}.mkt-text-page .mkt-text-meta{font-size:var(--text-base);color:var(--neutral-400);margin-bottom:var(--space-10)}.mkt-text-page h2{font-size:var(--text-lg);color:var(--neutral-900);margin:var(--space-8) 0 var(--space-2-5);font-weight:600}.mkt-text-page p{font-size:var(--text-base);color:var(--neutral-700);margin-bottom:var(--space-3-5);line-height:1.7}.mkt-text-page ul{padding-left:var(--space-5);margin-bottom:var(--space-3-5)}.mkt-text-page li{font-size:var(--text-base);color:var(--neutral-700);margin-bottom:var(--space-1-5);line-height:1.7}.mkt-text-page a{color:var(--brand-600);text-decoration:none}.mkt-text-page a:hover{text-decoration:underline}@media (max-width:600px){.mkt-nav-links{display:none}.mkt-nav-inner{padding:0 var(--space-5)}}.date-nav{align-items:center;gap:var(--space-2);display:flex}.date-nav-title{font-weight:600;font-size:var(--text-base);white-space:nowrap}.date-nav-sub{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.day-strip{gap:var(--space-1);margin-bottom:var(--space-4);grid-template-columns:repeat(7,1fr);display:grid}.day-cell{text-align:center;padding:var(--space-2-5) var(--space-1);background:var(--surface-sunken);border-radius:var(--radius-md)}.day-cell.today{background:color-mix(in oklab, var(--brand) 12%, transparent);color:var(--brand)}.day-cell-l{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.day-cell.today .day-cell-l{color:var(--brand)}.day-cell-n{font-size:var(--text-xl);margin-top:var(--space-0-5);font-weight:600}.roles-tabs-bar{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border-default);flex-wrap:wrap;margin-bottom:0;padding-bottom:0;display:flex}.role-tab{padding:var(--space-2) var(--space-4);cursor:pointer;font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;margin-bottom:-1px;font-weight:500;transition:color .12s,border-color .12s;display:flex}.role-tab:hover{color:var(--text-default)}.role-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.perm-matrix{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.perm-matrix th{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-2-5) var(--space-4);border-bottom:1px solid var(--border-default);text-align:center;white-space:nowrap}.perm-matrix th:first-child{text-align:left}.perm-matrix td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);text-align:center}.perm-matrix tr:last-child td{border-bottom:none}.perm-matrix td.perm-module-col{text-align:left;font-weight:500}.perm-cell-na{color:var(--text-muted);opacity:.35;pointer-events:none}.perm-matrix-admin-banner{background:color-mix(in oklab, var(--warning-500,#f59e0b) 12%, transparent);border:1px solid color-mix(in oklab, var(--warning-500,#f59e0b) 30%, transparent);border-radius:var(--radius-md);padding:var(--space-3-5) var(--space-5);font-size:var(--text-sm);color:var(--text-default);margin:var(--space-4)}@media (max-width:768px){.app{grid-template-columns:1fr;grid-template-areas:"topbar""main"}.sidebar{z-index:200;height:100vh;width:var(--sidebar-w);transition:transform var(--duration-base) var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar-backdrop{z-index:199;background:#0006;display:none;position:fixed;inset:0}.sidebar-backdrop.visible{display:block}.app-main{padding:var(--page-py) var(--page-px) var(--space-20);min-width:0;overflow-x:hidden}.page-header-row{gap:var(--space-3);flex-direction:column}.page-actions{gap:var(--space-1-5);flex-wrap:wrap}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.toolbar{flex-wrap:wrap}.toolbar .search-input-wrap{flex:1;min-width:160px;max-width:none}.card .row{flex-wrap:wrap}.card .stack{min-width:0}.tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.topbar-search{max-width:160px}}.portal-shell{flex-direction:column;width:100%;max-width:1280px;min-height:100dvh;margin:0 auto;display:flex}.portal-header{z-index:20;align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3-5);background:var(--sb);color:var(--sb-text);box-shadow:0 0 0 100vmax var(--sb);clip-path:inset(0 -100vmax);flex-shrink:0;display:flex;position:sticky;top:0}@media (min-width:640px){.portal-header{padding:var(--space-3-5) var(--space-6);gap:var(--space-4)}}@media (min-width:1024px){.portal-header{padding:var(--space-4) var(--space-10);gap:var(--space-6)}}.portal-header-brand{align-items:center;gap:var(--space-2-5);flex-shrink:0;min-width:0;display:flex}.portal-header-brand .tenant-label{min-width:0;line-height:1.15;display:none}@media (min-width:480px){.portal-header-brand .tenant-label{display:block}}.portal-header-brand .tenant-name{font-size:var(--text-base);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;max-width:200px;color:var(--sb-strong);font-weight:600;overflow:hidden}@media (min-width:640px){.portal-header-brand .tenant-name{font-size:var(--text-base)}}.portal-header-brand .tenant-sub{font-size:var(--text-2xs);color:var(--sb-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.portal-header .header-actions{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.portal-header .icon-btn{border-radius:var(--radius-full);width:34px;height:34px;color:var(--sb-text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:relative}.portal-header .icon-btn:hover{background:var(--sb-field);color:var(--sb-strong)}.portal-header .icon-btn .dot{background:var(--on-color);border:2px solid var(--sb);border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.portal-top-nav{align-items:center;gap:var(--space-0-5);margin:0 auto;display:flex}@media (min-width:640px){.portal-top-nav{gap:var(--space-1)}}.portal-top-nav-item{align-items:center;gap:var(--space-1-5);padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-md);color:var(--sb-text);font-size:var(--text-sm);letter-spacing:-.005em;transition:background-color var(--duration-fast), color var(--duration-fast);font-weight:500;text-decoration:none;display:inline-flex}@media (min-width:640px){.portal-top-nav-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}.portal-top-nav-item:hover{background:var(--sb-field);color:var(--sb-strong)}.portal-top-nav-item--active,.portal-top-nav-item--active:hover{background:var(--sb-on);color:var(--sb-on-text);font-weight:700}.portal-top-nav-label{display:none}@media (min-width:768px){.portal-top-nav-label{display:inline}}.portal-body{width:100%;padding:var(--space-5) var(--space-4) var(--space-10);flex:1}@media (min-width:640px){.portal-body{padding:var(--space-7) var(--space-7) var(--space-14)}}@media (min-width:1024px){.portal-body{padding:var(--space-10) var(--space-10) var(--space-18)}}button.sidebar-brand{border:0;border-bottom:1px solid var(--border-default);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0}.brand-logo{width:auto;height:24px}.topbar-search-icon{color:var(--text-muted)}.topbar-action{position:relative}.topbar-indicator{top:var(--space-1-5);right:var(--space-1-5);background:var(--danger-500);border-radius:50%;width:6px;height:6px;position:absolute}.user-avatar{background:linear-gradient(135deg, var(--brand-400), var(--brand-600));color:#fff;font-size:var(--text-2xs)}.user-name{font-size:var(--text-sm);font-weight:var(--weight-medium)}.user-chevron{color:var(--text-muted)}.menu-item-danger{color:var(--danger-700)}.menu-divider{margin:var(--space-1) 0}.page-container{width:100%;max-width:var(--content-max)}.page-container-narrow{max-width:var(--content-narrow)}.auth-layout{min-height:100dvh;padding:var(--space-2);background:var(--surface-sunken);flex-direction:column;display:flex}.auth-layout-center{padding:var(--space-6);flex:1;justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--space-10)}.auth-layout-footer{text-align:center;font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2)}.kiosk-brand-mark{border-radius:var(--radius-lg);background:var(--brand-600);justify-content:center;align-items:center;width:32px;height:32px;display:flex}.kiosk-brand-title{font-weight:var(--weight-semibold);font-size:var(--text-lg)}.kiosk-brand-sub{font-size:var(--text-xs);color:#ffffff80}.kiosk-status-dot{background:#ffffff4d;border-radius:50%;width:8px;height:8px;display:inline-block}.kiosk-status-dot.ready{background:#4cc157;background:lab(69.679% -50.5618 42.4636)}.table-cell-link{position:absolute;inset:0}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field{gap:var(--space-1-5);flex-direction:column;display:flex}.field .label{align-items:baseline;gap:var(--space-1);margin-bottom:0;display:flex}.field .field-hint{margin-top:0}.field-required{color:var(--danger-700)}.field-optional{color:var(--text-muted);font-weight:400}.field-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.field-error{font-size:var(--text-xs);color:var(--danger-700);font-weight:500}.field-has-error .input,.field-has-error .select,.field-has-error .textarea{border-color:var(--danger-600)}.fieldset-legend{margin-bottom:var(--space-4)}.stack{flex-direction:column;display:flex}.row-flex{flex-direction:row;min-width:0;display:flex}.row-wrap{flex-wrap:wrap}.grid{display:grid}.section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--stack-gap);flex-wrap:wrap;display:flex}.section-header-text{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.section-header-eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.section-header-title{font-size:var(--text-lg);line-height:var(--leading-lg);letter-spacing:-.01em;color:var(--text-primary);margin:0;font-weight:700}h3.section-header-title,h4.section-header-title{font-size:var(--text-base);line-height:var(--leading-base)}.section-header-desc{font-size:var(--text-sm);color:var(--text-muted);margin:0}.section-header-actions{align-items:center;gap:var(--inline-gap);display:flex}.status-pill{align-items:center;gap:var(--space-1-5);height:calc(var(--leading-xs) + var(--space-1) * 1.5);padding:0 var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;font-weight:500;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-ok{background:var(--success-50);color:var(--success-700)}.status-warn{background:var(--warning-50);color:var(--warning-700)}.status-bad{background:var(--danger-50);color:var(--danger-700)}.status-idle{background:var(--surface-sunken);color:var(--text-secondary)}.status-info{background:var(--info-50);color:var(--info-700)}.status-brand{background:var(--brand-soft);color:var(--brand-ink)}.status-text-ok{color:var(--success-700)}.status-text-warn{color:var(--warning-700)}.status-text-bad{color:var(--danger-700)}.status-text-idle{color:var(--text-muted)}.status-text-info{color:var(--info-700)}.status-text-brand{color:var(--brand-ink)}.tooltip-wrap{display:inline-flex;position:relative}.tooltip{z-index:300;pointer-events:none;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--neutral-900);color:#fff;font-size:var(--text-xs);white-space:nowrap;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-out);font-weight:600;display:inline-flex;position:absolute}[data-theme=dark] .tooltip{background:var(--surface-overlay);color:var(--text-primary);border:1px solid var(--border-strong)}.tooltip-meta{font-family:var(--font-mono);opacity:.75;font-weight:400}.tooltip-wrap:hover>.tooltip,.tooltip-wrap:focus-within>.tooltip{opacity:1;visibility:visible}.tooltip-top>.tooltip{bottom:calc(100% + var(--space-1-5));left:50%;transform:translate(-50%)}.tooltip-bottom>.tooltip{top:calc(100% + var(--space-1-5));left:50%;transform:translate(-50%)}.tooltip-right>.tooltip{left:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.tooltip-left>.tooltip{right:calc(100% + var(--space-2));top:50%;transform:translateY(-50%)}.segmented{align-items:center;gap:var(--space-0-5);padding:var(--space-0-5);border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken);max-width:100%;display:inline-flex;overflow-x:auto}.segment{align-items:center;gap:var(--space-1-5);height:var(--control-h-sm);padding:0 var(--space-2-5);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:0;font-weight:500;display:inline-flex}.segment:hover{color:var(--text-primary)}.segment.on{background:var(--surface-raised);color:var(--text-primary);box-shadow:0 0 0 1px var(--border-strong)}.segment-count{font-size:var(--text-2xs);color:var(--text-muted)}.segment.on .segment-count{color:var(--brand-ink)}.stat-band{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));margin:0;display:grid;overflow:hidden}.stat-band-item{gap:var(--space-1);padding:var(--card-p);border-right:1px solid var(--border-default);color:inherit;flex-direction:column;margin-right:-1px;text-decoration:none;display:flex}a.stat-band-item:hover{background:var(--surface-sunken)}.stat-band-label{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.stat-band-value{font-size:var(--text-3xl);line-height:var(--leading-3xl);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-weight:600}.stat-band-hint{font-size:var(--text-xs);color:var(--text-muted);margin:0}.dialog-root{z-index:50;padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0d081373;position:fixed;inset:0}.dialog-panel{z-index:1;width:100%;max-height:90vh;box-shadow:var(--shadow-xl);position:relative;overflow-y:auto}.dialog-sm{max-width:30rem}.dialog-md{max-width:35rem}.dialog-lg{max-width:45rem}.dialog-head{margin-bottom:var(--space-5);padding-right:var(--space-8)}.dialog-title{margin:0 0 var(--space-1);font-size:var(--text-xl);line-height:var(--leading-xl);letter-spacing:-.01em;font-weight:600}.dialog-desc{font-size:var(--text-sm);color:var(--text-muted);margin:0}.dialog-close{top:var(--space-3);right:var(--space-3);position:absolute}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-default);display:flex}.toast{align-items:flex-start;gap:var(--space-2-5);width:min(22rem, calc(100vw - var(--space-8)));padding:var(--space-3) var(--space-3-5);border:1px solid var(--border-default);border-left:3px solid var(--brand-600);border-radius:var(--radius-md);background:var(--surface-overlay);color:var(--text-primary);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-sm);display:flex}.toast-title{font-weight:600}.toast-desc{color:var(--text-muted);font-size:var(--text-xs);margin-top:var(--space-0-5)}.toast-success{border-left-color:var(--success-600)}.toast-error{border-left-color:var(--danger-600)}.toast-warning{border-left-color:var(--warning-500)}.toast-info{border-left-color:var(--info-600)}.toast [data-icon]{color:var(--brand-600);margin-top:var(--space-0-5);display:inline-flex}.toast-success [data-icon]{color:var(--success-600)}.toast-error [data-icon]{color:var(--danger-600)}.toast-warning [data-icon]{color:var(--warning-600)}.toast-info [data-icon]{color:var(--info-600)}.palette-root{z-index:60;padding:12vh var(--space-4) var(--space-4);justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.palette{z-index:1;border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--surface-overlay);width:100%;max-width:40rem;max-height:70vh;color:var(--text-primary);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:relative;overflow:hidden}.palette-input-row{align-items:center;gap:var(--space-2-5);padding:0 var(--space-4);border-bottom:1px solid var(--border-default);color:var(--text-muted);display:flex}.palette-input{min-width:0;height:calc(var(--control-h) + var(--space-4));color:var(--text-primary);font:inherit;font-size:var(--text-base);background:0 0;border:0;outline:none;flex:1}.palette-input:focus,.palette-input:focus-visible{box-shadow:none;outline:none}.palette-list{padding:var(--space-2);flex:1;overflow-y:auto}.palette-group+.palette-group{margin-top:var(--space-2)}.palette-heading{padding:var(--space-1-5) var(--space-2-5);font-size:var(--text-2xs);letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.palette-option{align-items:center;gap:var(--space-2-5);padding:var(--item-py) var(--space-2-5);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;display:flex}.palette-option.active{background:var(--brand-soft);color:var(--brand-ink)}.palette-option-icon{color:var(--text-muted)}.palette-option.active .palette-option-icon{color:inherit}.palette-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.palette-option-hint{font-size:var(--text-2xs);color:var(--text-muted)}.palette-option-enter{color:inherit}.palette-empty,.palette-searching{padding:var(--space-6) var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.palette-searching{padding:var(--space-2) var(--space-3)}.palette-foot{gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border-default);background:var(--surface-sunken);font-size:var(--text-2xs);color:var(--text-muted);display:flex}.palette-foot .kbd{margin-right:var(--space-0-5)}.filter-bar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-search{align-items:center;gap:var(--space-2);min-width:0;max-width:24rem;height:var(--control-h-sm);padding:0 var(--space-2-5);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--text-muted);flex:16rem;display:flex}.filter-search:focus-within{border-color:var(--brand-500);box-shadow:var(--shadow-focus)}.filter-search input{min-width:0;color:var(--text-primary);font:inherit;font-size:var(--text-sm);background:0 0;border:0;outline:none;flex:1}.filter-search input::-webkit-search-cancel-button{cursor:pointer}.filter-menu-wrap{position:relative}.filter-button-count{min-width:18px;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--brand-600);color:#fff;font-size:var(--text-2xs);text-align:center}.filter-menu{z-index:70;min-width:14rem;max-height:60vh;padding:var(--space-1-5);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-overlay);box-shadow:var(--shadow-lg);gap:var(--space-2);flex-direction:column;display:flex;overflow-y:auto}.filter-group{gap:var(--space-0-5);border:0;flex-direction:column;margin:0;padding:0;display:flex}.filter-group-label{padding:var(--space-1) var(--space-2);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.filter-option{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1-5) var(--space-2);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.filter-option:hover,.filter-option:focus-visible{background:var(--surface-sunken)}.filter-check{border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:var(--surface-raised);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.filter-option.on .filter-check{background:var(--brand-600);border-color:var(--brand-600)}.filter-option[role=radio] .filter-check{border-radius:var(--radius-full)}.filter-chip{align-items:center;gap:var(--space-1);height:var(--control-h-sm);padding:0 var(--space-1) 0 var(--space-2-5);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand-ink);font-size:var(--text-xs);white-space:nowrap;font-weight:600;display:inline-flex}.filter-chip button{border-radius:var(--radius-sm);width:20px;height:20px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.filter-chip button:hover{background:#7e2ebd24}.filter-end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.filter-count{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.dt{gap:var(--space-3);flex-direction:column;display:flex}.dt-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--surface-raised);overflow:hidden}.dt-toolbar{padding:var(--space-3) var(--row-px);border-bottom:1px solid var(--border-default)}.dt-bulk{align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--row-px);border-bottom:1px solid var(--border-default);background:var(--brand-soft);color:var(--brand-ink);flex-wrap:wrap;display:flex}.dt-bulk-count{font-size:var(--text-sm);font-weight:700}.dt-bulk-actions{align-items:center;gap:var(--space-1-5);flex-wrap:wrap;display:flex}.dt-bulk-clear{color:var(--brand-ink);margin-left:auto}.dt-scroll{overflow-x:auto}.dt-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm)}.dt-table th{z-index:2;height:calc(var(--control-h) - var(--space-1));padding:0 var(--row-px);border-bottom:1px solid var(--border-default);background:var(--surface-sunken);text-align:left;white-space:nowrap;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-weight:700;position:sticky;top:0}.dt-table th.dt-sorted{color:var(--text-primary)}.dt-sort{align-items:center;gap:var(--space-1);font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.dt-sort:hover{color:var(--text-primary)}.dt-sort-idle{opacity:0;transition:opacity var(--duration-fast)}.dt-sort:hover .dt-sort-idle,.dt-sort:focus-visible .dt-sort-idle{opacity:.6}.dt-table td{height:calc(var(--control-h) + var(--row-py));padding:0 var(--row-px);border-bottom:1px solid var(--border-default);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:24rem;position:relative;overflow:hidden}.dt-table tbody tr:last-child td{border-bottom:0}.dt-table tbody tr:hover td{background:var(--surface-sunken)}.dt-table tbody tr.selected td{background:var(--brand-soft)}.dt-table .num{color:var(--text-secondary)}.dt-end{text-align:right}.dt-center{text-align:center}.dt-shrink{width:1%}.dt-select{width:1%;padding-right:0!important}.dt-check{width:15px;height:15px;accent-color:var(--brand-600);cursor:pointer;z-index:1;margin:0;position:relative}.dt-table .dt-first{z-index:1;background:var(--surface-raised);position:sticky;left:0}.dt-table th.dt-first{z-index:3;background:var(--surface-sunken)}.dt-table td.dt-first{font-weight:500}.dt-row-link{z-index:0;position:absolute;inset:0}.dt-link-row{cursor:pointer}.dt-link-row a:not(.dt-row-link),.dt-link-row button,.dt-link-row input{z-index:1;position:relative}.dt-actions{text-align:right;width:1%}.dt-actions>*{opacity:0;transition:opacity var(--duration-fast)}.dt-table tr:hover .dt-actions>*,.dt-actions:focus-within>*,.dt-actions [aria-expanded=true]{opacity:1}@media (hover:none){.dt-actions>*{opacity:1}}.dt-message{text-align:center;color:var(--text-muted);height:auto!important;padding:var(--space-8) var(--row-px)!important;white-space:normal!important}.dt-error{color:var(--danger-700)}.dt-error .btn{margin-left:var(--space-3)}.dt-skeleton{height:var(--space-3);border-radius:var(--radius-sm);width:70%;display:block}.dt-foot{align-items:center;gap:var(--space-4);padding:var(--space-2-5) var(--row-px);border-top:1px solid var(--border-default);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.dt-per{align-items:center;gap:var(--space-2);display:inline-flex}.select.select-sm,.dt-per .select{height:var(--control-h-sm);width:auto;font-size:var(--text-xs);padding-top:0;padding-bottom:0}.dt-pager{align-items:center;gap:var(--space-2);margin-left:auto;display:inline-flex}.dt-page{color:var(--text-primary)}.dt-message .empty-state{padding:var(--space-6) var(--space-4)}.empty-title{margin:0 0 var(--space-1);color:var(--text-secondary);font-weight:600}.empty-desc{font-size:var(--text-sm);margin:0}.empty-action{margin-top:var(--space-4)}.cell-entity{align-items:center;gap:var(--space-2-5);min-width:0;max-width:100%;display:inline-flex}.cell-entity-text{min-width:0;line-height:var(--leading-sm);flex-direction:column;display:flex}.cell-entity-name{color:var(--text-primary);text-overflow:ellipsis;font-weight:600;text-decoration:none;overflow:hidden}.cell-entity-name:hover{color:var(--brand-ink);text-decoration:underline}.cell-entity-sub{font-size:var(--text-xs);color:var(--text-muted);text-overflow:ellipsis;font-weight:400;overflow:hidden}.text-muted{color:var(--text-muted)}.text-brand{color:var(--brand-600)}.breadcrumb-back{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);text-decoration:none;display:inline-flex}.breadcrumb-back:hover{color:var(--text-primary)}.code-block{margin:var(--space-4) 0 0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);font-family:var(--font-mono);font-size:var(--text-xs);overflow:auto}.avatar-muted{background:var(--surface-sunken);color:var(--text-muted)}.grid-fixed{grid-template-columns:repeat(var(--grid-cols,2), minmax(0, 1fr))}@media (max-width:640px){.grid-fixed{grid-template-columns:minmax(0,1fr)}}.modal-backdrop{z-index:50;padding:var(--space-4);background:#0d081373;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{width:min(28rem,100%);padding:var(--space-6);max-height:90vh;box-shadow:var(--shadow-xl);overflow-y:auto}.modal-card-md{width:min(32.5rem,100%)}.modal-backdrop-blur{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-flush{padding:0;overflow:hidden}.card-section-head{padding:var(--card-p);border-bottom:1px solid var(--border-default);align-items:center;margin:0}.card-body{padding:var(--card-p)}.card-empty{padding:var(--space-5) var(--card-p);color:var(--text-muted);font-size:var(--text-sm);margin:0}.list-rows{padding:var(--space-1-5);flex-direction:column;margin:0;list-style:none;display:flex}.list-row{align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-md);color:inherit;font-size:var(--text-sm);text-decoration:none;display:flex}a.list-row:hover{background:var(--surface-sunken)}.list-row-main{flex:1;min-width:0}.metric-list{padding:var(--space-1-5) var(--card-p) var(--card-p);margin:0}.metric-list>div{padding:var(--space-2) 0;border-bottom:1px solid var(--border-default);font-size:var(--text-sm);justify-content:space-between;align-items:baseline;display:flex}.metric-list>div:last-child{border-bottom:0}.metric-list dt{color:var(--text-secondary)}.metric-list dd{margin:0;font-weight:600}.court-groups{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.court-group-name{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-1-5);font-weight:600}.court-grid{grid-template-columns:repeat(auto-fill, minmax(var(--space-8), 1fr));gap:var(--space-1-5);margin:0;padding:0;list-style:none;display:grid}.court-cell{aspect-ratio:1;border-radius:var(--radius-sm);display:inline-block}.court-grid .court-cell{width:100%;font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;place-items:center;font-weight:600;display:grid}.court-grid .court-free{color:var(--success-700)}.court-grid .court-occupied{color:var(--on-color)}.court-grid .court-closed{color:var(--text-muted)}.court-free{background:var(--success-50);box-shadow:inset 0 0 0 1px var(--success-500)}.court-occupied{background:var(--brand-600)}.court-closed{background:var(--surface-sunken);box-shadow:inset 0 0 0 1px var(--border-strong)}.court-legend{gap:var(--space-4);font-size:var(--text-xs);color:var(--text-muted);flex-wrap:wrap;display:flex}.court-legend span{align-items:center;gap:var(--space-1-5);display:inline-flex}.court-legend .court-cell{width:var(--space-3)}.tile{padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-md);gap:var(--space-3);flex-direction:column;display:flex}.tile-head,.tile-foot{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.tile-foot{font-size:var(--text-xs);color:var(--text-muted)}.meter{height:var(--space-1-5);border-radius:var(--radius-sm);background:var(--surface-sunken);overflow:hidden}.meter>span{background:var(--brand-600);border-radius:var(--radius-sm);height:100%;transition:width var(--duration-base) var(--ease-out);display:block}.demo-feed{right:var(--space-6);bottom:var(--space-6);z-index:60;width:min(26rem, calc(100vw - var(--space-8)));background:var(--kiosk-surface);color:var(--kiosk-sel);border:1px solid var(--kiosk-line);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:var(--text-xs);position:fixed;overflow:hidden}.demo-feed-head{align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-3-5);border-bottom:1px solid var(--kiosk-line);background:var(--kiosk-fill-1);display:flex}.demo-feed-dot{width:var(--space-2);height:var(--space-2);background:var(--kiosk-bad-text);border-radius:50%;flex:none;animation:1.4s ease-in-out infinite demo-pulse}.demo-feed-title{font-weight:600;font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--on-color)}.demo-feed-sub{font-size:var(--text-2xs);color:var(--kiosk-dim);margin-left:auto}.demo-feed-close{padding:var(--space-0-5);border-radius:var(--radius-sm);color:var(--kiosk-dim);cursor:pointer;background:0 0;border:0;place-items:center;display:inline-grid}.demo-feed-close:hover,.demo-feed-close:focus-visible{color:var(--on-color);background:var(--kiosk-fill-2)}.demo-feed-list{padding:var(--space-2) 0;max-height:17.5rem;margin:0;list-style:none;overflow-y:auto}.demo-feed-empty{padding:var(--space-4) var(--space-3-5);color:var(--kiosk-dim);text-align:center}.demo-feed-row{gap:var(--space-2-5);padding:var(--space-1-5) var(--space-3-5);border-left:2px solid #0000;grid-template-columns:4.5rem 5.5rem 1fr;transition:background .4s;display:grid}.demo-feed-row.is-new{background:var(--kiosk-info-fill);border-left-color:var(--kiosk-info-text)}.demo-feed-time{color:var(--kiosk-dim)}.demo-feed-module{font-size:var(--text-2xs);letter-spacing:.05em;text-transform:uppercase;padding-top:var(--space-0-5);color:var(--kiosk-mid);font-weight:600}.demo-mod-check-in,.demo-mod-training{color:var(--kiosk-ok-text)}.demo-mod-incident{color:var(--kiosk-bad-text)}.demo-mod-announcement{color:var(--kiosk-info-text)}.demo-mod-membership{color:var(--kiosk-warn-text)}.demo-mod-equipment{color:var(--brand-300)}.demo-feed-text{color:var(--kiosk-sel)}@keyframes demo-pulse{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.demo-feed-dot{animation:none}.demo-feed-row{transition:none}}.demo-persona{background:linear-gradient(135deg, var(--brand-600) 0%, var(--brand-800) 100%);color:var(--on-color);border-radius:var(--radius-2xl);padding:var(--space-5);margin-bottom:var(--space-6);font-size:var(--text-sm)}.demo-persona-eyebrow{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em;opacity:.85}.demo-persona-name{font-size:var(--text-lg);margin:var(--space-1) 0 var(--space-0-5);font-weight:700}.demo-persona-label{opacity:.85;margin-bottom:var(--space-3-5)}.demo-persona-reset{font-size:var(--text-2xs);opacity:.7;margin-top:var(--space-3)}.demo-magic{gap:var(--space-2-5);flex-direction:column;display:flex}.demo-magic-input{padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-xl);background:var(--surface-raised);color:var(--text-primary);font:inherit;font-size:var(--text-base);border:0}.demo-magic-input:focus-visible{outline:2px solid var(--on-color);outline-offset:2px}.demo-magic-roles{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.demo-magic-role{padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-xl);border:1px solid var(--kiosk-line-strong);color:var(--on-color);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;flex-direction:column;flex:7rem;align-items:flex-start;display:flex}.demo-magic-role[aria-checked=true]{border-color:var(--on-color);background:var(--kiosk-fill-2)}.demo-magic-role-label{font-weight:600}.demo-magic-role-hint{font-size:var(--text-2xs);opacity:.75}.demo-magic-submit{padding:var(--space-2-5) var(--space-3-5);border-radius:var(--radius-xl);background:var(--surface-raised);color:var(--brand-700);font:inherit;font-weight:600;font-size:var(--text-base);cursor:pointer;border:0}.demo-magic-submit:disabled{opacity:.7;cursor:not-allowed}.demo-magic-sent{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-xl);background:var(--kiosk-fill-2);font-size:var(--text-sm);align-items:flex-start;margin:0;display:flex}.impersonation-bar{z-index:70;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--warning-600);color:var(--on-color);font-size:var(--text-sm);display:flex;position:sticky;top:0}.impersonation-bar.is-expired{background:var(--danger-600)}.impersonation-bar-text{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.impersonation-bar-time{opacity:.9}.impersonation-bar-stop{padding:var(--space-1) var(--space-3);border:1px solid var(--kiosk-line-strong);border-radius:var(--radius-lg);background:var(--kiosk-fill-2);color:var(--on-color);font:inherit;font-size:var(--text-xs);cursor:pointer;font-weight:600}.impersonation-bar-stop:disabled{opacity:.7;cursor:not-allowed}
.sa-mark{border-radius:var(--radius-lg);background:var(--neutral-900);color:#fff;width:32px;height:32px;font-size:var(--text-xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;display:inline-flex}.sa-mark-lg{border-radius:var(--radius-xl);width:48px;height:48px;font-size:var(--text-lg)}.sa-brand{align-items:center;gap:var(--space-2);display:flex}.sa-brand-name{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--sb-strong);text-align:left}.sa-brand-sub{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--sb-muted);text-align:left}.sa-login-head{text-align:center;margin-bottom:var(--space-8)}.sa-login-head .sa-mark{margin-bottom:var(--space-4)}.sa-login-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin:0}.sa-login-sub{font-size:var(--text-base);color:var(--text-muted);margin:var(--space-1) 0 0}.sa-error{color:var(--danger-700);font-size:var(--text-sm);margin:0}.sa-optional{color:var(--text-muted);font-weight:var(--weight-regular)}.tenant-card-grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tenant-card{gap:var(--space-3);transition:box-shadow var(--duration-fast), border-color var(--duration-fast);flex-direction:column;display:flex}.tenant-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong)}.tenant-card-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.tenant-card-name{align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--text-primary);display:flex}.tenant-card-slug{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.tenant-card-meta{font-size:var(--text-xs);color:var(--text-muted)}.tenant-card-meta strong{color:var(--text-secondary);font-weight:var(--weight-medium)}.tenant-warning{color:var(--warning-700)}.tenant-warning.critical{color:var(--danger-700)}.usage{gap:var(--space-1);flex-direction:column;display:flex}.usage-head{font-size:var(--text-xs);color:var(--text-muted);justify-content:space-between;display:flex}.usage-track{border-radius:var(--radius-full);background:var(--surface-sunken);height:6px;overflow:hidden}.usage-fill{border-radius:var(--radius-full);background:var(--success-500);height:100%;transition:width var(--duration-base)}.usage-fill.high{background:var(--warning-500)}.sa-list{gap:var(--space-2);flex-direction:column;display:flex}.sa-list-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sa-checks{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.sa-check{align-items:center;gap:var(--space-2);font-size:var(--text-sm);cursor:pointer;display:flex}.align-right{text-align:right}
