:root,[data-theme=light]{--bg-page:#f6f4ef;--bg-surface:#fff;--bg-sunken:#ece8df;--bg-scrim:#17211f8c;--text-primary:#17211f;--text-secondary:#46524f;--text-muted:#5a6562;--text-on-primary:#fff;--text-on-danger:#fff;--border-subtle:#d9d3c7;--border-strong:#7d8783;--primary:#0e5f58;--primary-hover:#0a4c46;--primary-pressed:#073b36;--primary-subtle:#e1eeea;--primary-text:#0b5650;--success:#1c6b3c;--success-subtle:#e3f1e7;--warning:#8a4b00;--warning-subtle:#fcefd9;--danger:#b3261e;--danger-hover:#921e17;--danger-pressed:#74170f;--danger-subtle:#fbe6e3;--flag:#b45f06;--focus-ring:#1f5fd1;--disabled-bg:#ece8df;--disabled-text:#7a8380;--disabled-border:#d9d3c7;--shadow-1:0 1px 2px #17211f14;--shadow-2:0 4px 12px #17211f1a;--shadow-3:0 12px 32px #17211f2e}[data-theme=dark]{--bg-page:#101614;--bg-surface:#18201e;--bg-sunken:#0b100f;--bg-scrim:#000000a6;--text-primary:#e9eeec;--text-secondary:#bac6c2;--text-muted:#9aa7a3;--text-on-primary:#04211d;--text-on-danger:#3a0b08;--border-subtle:#2e3a37;--border-strong:#6f7c78;--primary:#4fc1b2;--primary-hover:#6fd0c3;--primary-pressed:#8edcd1;--primary-subtle:#13302c;--primary-text:#6fd0c3;--success:#5cc98a;--success-subtle:#12301f;--warning:#f2b45a;--warning-subtle:#33240d;--danger:#ff8a80;--danger-hover:#ffa79f;--danger-pressed:#ffc2bc;--danger-subtle:#3a1513;--flag:#f2a65a;--focus-ring:#8ab4ff;--disabled-bg:#222b29;--disabled-text:#6c7774;--disabled-border:#2e3a37;--shadow-1:0 1px 2px #00000080;--shadow-2:0 4px 12px #0000008c;--shadow-3:0 12px 32px #0009}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-14:56px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:999px;--control-sm:36px;--control-md:44px;--control-lg:48px;--option-min:56px;--measure:760px;--rail:328px;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.32s;--duration-spin:.9s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.3, 0, 1, 1);--z-sticky:10;--z-banner:20;--z-dialog:30;--font-sans:"IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-serif:"Source Serif 4", Georgia, "Times New Roman", serif;--font-mono:"IBM Plex Mono", Consolas, "Courier New", monospace}.display{font-family:var(--font-sans);letter-spacing:-.01em;font-size:32px;font-weight:600;line-height:40px}.heading-1{font-family:var(--font-sans);font-size:24px;font-weight:600;line-height:32px}.heading-2{font-family:var(--font-sans);font-size:20px;font-weight:600;line-height:28px}.heading-3{font-family:var(--font-sans);font-size:17px;font-weight:600;line-height:24px}.question{font-family:var(--font-serif);font-size:20px;font-weight:400;line-height:32px}.body-lg{font-family:var(--font-sans);font-size:17px;font-weight:400;line-height:26px}.body{font-family:var(--font-sans);font-size:15px;font-weight:400;line-height:24px}.label{font-family:var(--font-sans);font-size:15px;font-weight:500;line-height:20px}.caption{font-family:var(--font-sans);font-size:13px;font-weight:400;line-height:18px}.timer{font-family:var(--font-mono);font-size:24px;font-weight:600;line-height:28px}.key{font-family:var(--font-mono);font-size:14px;font-weight:600;line-height:20px}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/IBMPlexSans-Regular.0c_u524x_edqt.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(../media/IBMPlexSans-Italic.238v2p9uuv13c.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/IBMPlexSans-Medium.09hoxsii3f0h-.woff2)format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/IBMPlexSans-SemiBold.2ow68i6tlq0ib.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/SourceSerif4-Regular.1haakc279vvue.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/SourceSerif4-Italic.3wbizf66dlc47.woff2)format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(../media/SourceSerif4-SemiBold.29k91063p5d7u.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/IBMPlexMono-Medium.2aowb655hzo9u.woff2)format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/IBMPlexMono-SemiBold.0-k81p_n2_mkc.woff2)format("woff2")}
.ek-root{font-family:var(--font-sans);color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased}.ek-root *,.ek-root :before,.ek-root :after{box-sizing:border-box}.ek-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ek-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:18px;height:18px}.ek-focusable:focus-visible,.ek-btn:focus-visible,.ek-btn.is-focus,.ek-input:focus-visible,.ek-input.is-focus,.ek-navcell:focus-visible,.ek-navcell.is-focus,.ek-examcard:focus-visible,.ek-examcard.is-focus,.ek-link:focus-visible,.ek-link.is-focus,.ek-essay__input:focus-visible,.ek-essay__input.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-spinner{border-radius:var(--radius-full);width:18px;height:18px;animation:ek-spin var(--duration-spin) linear infinite;border:2px solid;border-right-color:#0000;flex-shrink:0}.ek-spinner--lg{border-width:3px;width:32px;height:32px}@keyframes ek-spin{to{transform:rotate(360deg)}}.ek-skeleton{background:var(--bg-sunken);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){.ek-spinner{animation-duration:1.6s}}.ek-btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-md);border-radius:var(--radius-md);font:500 15px/20px var(--font-sans);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);border:1px solid #0000;padding:0 18px;text-decoration:none;display:inline-flex}.ek-btn--lg{height:var(--control-lg);padding:0 24px;font-weight:600}.ek-btn--block{width:100%;display:flex}.ek-btn--primary{background:var(--primary);color:var(--text-on-primary);font-weight:600}.ek-btn--primary:hover,.ek-btn--primary.is-hover{background:var(--primary-hover)}.ek-btn--primary:active,.ek-btn--primary.is-pressed{background:var(--primary-pressed)}.ek-btn--secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-strong)}.ek-btn--secondary:hover,.ek-btn--secondary.is-hover{background:var(--bg-sunken)}.ek-btn--secondary:active,.ek-btn--secondary.is-pressed{background:var(--border-subtle)}.ek-btn--soft{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--primary);font-weight:600}.ek-btn--soft:hover,.ek-btn--soft.is-hover{background:var(--bg-surface)}.ek-btn--soft:active,.ek-btn--soft.is-pressed{background:var(--border-subtle)}.ek-btn--ghost{color:var(--primary-text);background:0 0}.ek-btn--ghost:hover,.ek-btn--ghost.is-hover{background:var(--primary-subtle)}.ek-btn--ghost:active,.ek-btn--ghost.is-pressed{background:var(--border-subtle)}.ek-btn--flag{background:var(--bg-surface);color:var(--warning);border-color:var(--border-strong)}.ek-btn--flag:hover,.ek-btn--flag.is-hover{background:var(--warning-subtle)}.ek-btn--flag:active,.ek-btn--flag.is-pressed{background:var(--border-subtle)}.ek-btn--flag[aria-pressed=true],.ek-btn--flag.is-on{background:var(--warning-subtle);border-color:var(--warning);font-weight:600}.ek-btn--danger{background:var(--danger);color:var(--text-on-danger);font-weight:600}.ek-btn--danger:hover,.ek-btn--danger.is-hover{background:var(--danger-hover)}.ek-btn--danger:active,.ek-btn--danger.is-pressed{background:var(--danger-pressed)}.ek-btn:disabled,.ek-btn.is-disabled,.ek-btn[aria-disabled=true]{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border);cursor:not-allowed}.ek-btn.is-loading{cursor:progress}.ek-btn.is-loading .ek-btn__icon{display:none}.ek-btn-error{align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);color:var(--danger);font:400 13px/18px var(--font-sans);display:flex}.ek-field{flex-direction:column;gap:6px;display:flex}.ek-field__label{font:500 15px/20px var(--font-sans);color:var(--text-primary)}.ek-field__hint{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-field__error{font:500 13px/18px var(--font-sans);color:var(--danger);align-items:flex-start;gap:6px;display:flex}.ek-field__control{align-items:center;display:flex;position:relative}.ek-input{width:100%;height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:400 17px/24px var(--font-sans);transition:border-color var(--duration-fast) var(--ease-standard);padding:0 14px}.ek-input::placeholder{color:var(--text-muted)}.ek-input:hover,.ek-input.is-hover{border-color:var(--text-secondary)}.ek-input:focus-visible,.ek-input.is-focus{border-color:var(--primary)}.ek-input:disabled,.ek-input.is-disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed}.ek-input[aria-invalid=true],.ek-input.is-error{border:2px solid var(--danger);background:var(--danger-subtle);padding:0 13px}.ek-field__control .ek-input--with-suffix{padding-right:52px}.ek-field__suffix{min-width:44px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);font:500 13px var(--font-sans);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;right:4px}.ek-field__suffix:hover{color:var(--text-primary);background:var(--bg-sunken)}.ek-field__suffix:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.ek-check{cursor:pointer;font:400 15px/24px var(--font-sans);color:var(--text-primary);align-items:flex-start;gap:12px;min-height:44px;padding:10px 0;display:flex}.ek-check__box{border-radius:var(--radius-sm);border:2px solid var(--border-strong);background:var(--bg-surface);color:#0000;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;display:flex}.ek-check:hover .ek-check__box,.ek-check.is-hover .ek-check__box{border-color:var(--text-secondary)}.ek-check input:focus-visible+.ek-check__box,.ek-check.is-focus .ek-check__box{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-check input:checked+.ek-check__box,.ek-check.is-checked .ek-check__box{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ek-check.is-pressed .ek-check__box{background:var(--primary-subtle);border-color:var(--primary)}.ek-check.is-disabled{color:var(--disabled-text);cursor:not-allowed}.ek-check.is-disabled .ek-check__box{background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-check.is-error .ek-check__box{border-color:var(--danger);background:var(--danger-subtle)}.ek-check input{opacity:0;width:1px;height:1px;position:absolute}.ek-option{align-items:center;gap:var(--space-4);min-height:var(--option-min);padding:10px var(--space-4);border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);display:flex;position:relative}.ek-option input{opacity:0;width:1px;height:1px;position:absolute}.ek-option__radio{border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--bg-surface);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ek-option__key{border-radius:var(--radius-sm);background:var(--bg-sunken);width:28px;height:28px;color:var(--text-primary);font:600 14px/20px var(--font-mono);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ek-option__text{font:400 17px/26px var(--font-sans);color:var(--text-primary);flex:1}.ek-option__status{font:400 13px/18px var(--font-sans);color:var(--text-secondary);align-items:center;gap:6px;display:flex}.ek-option:hover,.ek-option.is-hover{border-color:var(--border-strong);background:var(--bg-page)}.ek-option.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-option:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}.ek-option:active,.ek-option.is-pressed{background:var(--primary-subtle);border-color:var(--border-strong)}.ek-option.is-selected{background:var(--primary-subtle);border:2px solid var(--primary);padding:9px 15px}.ek-option:has(input:checked){background:var(--primary-subtle);border:2px solid var(--primary);padding:9px 15px}.ek-option.is-selected .ek-option__radio{border-color:var(--primary)}.ek-option:has(input:checked) .ek-option__radio{border-color:var(--primary)}.ek-option.is-selected .ek-option__radio:after{content:"";border-radius:var(--radius-full);background:var(--primary);width:10px;height:10px}.ek-option:has(input:checked) .ek-option__radio:after{content:"";border-radius:var(--radius-full);background:var(--primary);width:10px;height:10px}.ek-option.is-selected .ek-option__key{background:var(--primary);color:var(--text-on-primary)}.ek-option:has(input:checked) .ek-option__key{background:var(--primary);color:var(--text-on-primary)}.ek-option.is-disabled{cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-option:has(input:disabled){cursor:not-allowed;background:var(--disabled-bg);border-color:var(--disabled-border)}.ek-option.is-disabled .ek-option__text{color:var(--disabled-text)}.ek-option:has(input:disabled) .ek-option__text{color:var(--disabled-text)}.ek-option.is-error{border:2px solid var(--danger);background:var(--danger-subtle);padding:9px 15px}.ek-option.is-error .ek-option__status{color:var(--danger);font-weight:500}.ek-navgrid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.ek-navcell{height:var(--control-sm);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:36px;color:var(--text-primary);font:600 14px/20px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);padding:0;position:relative}.ek-navcell:hover,.ek-navcell.is-hover{background:var(--bg-sunken)}.ek-navcell:active,.ek-navcell.is-pressed{background:var(--border-subtle)}.ek-navcell.is-answered{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ek-navcell.is-answered:hover,.ek-navcell.is-answered.is-hover{background:var(--primary-hover)}.ek-navcell.is-answered:active,.ek-navcell.is-answered.is-pressed{background:var(--primary-pressed)}.ek-navcell[aria-current=true],.ek-navcell.is-current{border:2px solid var(--text-primary);box-shadow:inset 0 -5px 0 var(--text-primary)}.ek-navcell.is-answered[aria-current=true],.ek-navcell.is-answered.is-current{border-color:var(--text-primary);box-shadow:inset 0 -5px 0 var(--text-on-primary)}.ek-navcell__flag{width:12px;height:12px;position:absolute;top:2px;right:2px}.ek-navcell__flag circle{fill:var(--bg-surface)}.ek-navcell__flag path{fill:var(--flag)}.ek-navcell__unsaved{border-radius:var(--radius-full);background:var(--danger);width:8px;height:8px;box-shadow:0 0 0 2px var(--bg-surface);position:absolute;bottom:3px;left:3px}.ek-navcell:disabled,.ek-navcell.is-disabled{background:var(--disabled-bg);border-color:var(--disabled-border);color:var(--disabled-text);cursor:not-allowed}.ek-navcell.is-loading{color:#0000}.ek-navcell.is-loading:before{content:"";border-radius:var(--radius-full);border:2px solid var(--text-on-primary);width:14px;height:14px;animation:ek-spin var(--duration-spin) linear infinite;border-right-color:#0000;margin:auto;position:absolute;inset:0}.ek-navlegend{font:400 13px/18px var(--font-sans);color:var(--text-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.ek-navlegend li{align-items:center;gap:8px;display:flex}.ek-timer{height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-page);color:var(--text-primary);align-items:center;gap:10px;padding:0 14px;display:inline-flex}.ek-timer__label{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-timer__value{font:600 24px/28px var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.01em}.ek-timer.is-warning{background:var(--warning-subtle);border-color:var(--warning);color:var(--warning)}.ek-timer.is-warning .ek-timer__label{color:var(--warning)}.ek-timer.is-critical{background:var(--danger-subtle);border:2px solid var(--danger);color:var(--danger);padding:0 13px}.ek-timer.is-critical .ek-timer__label{color:var(--danger);font-weight:500}.ek-timer.is-paused,.ek-timer.is-syncing{background:var(--bg-sunken);color:var(--text-secondary)}.ek-timer.is-offline{background:var(--bg-surface);border:1px dashed var(--border-strong);color:var(--text-primary)}.ek-timer.is-offline .ek-timer__label{color:var(--text-secondary)}.ek-save{font:400 14px/20px var(--font-sans);color:var(--success);align-items:center;gap:8px;display:inline-flex}.ek-save.is-saving{color:var(--text-secondary)}.ek-save.is-offline{color:var(--warning)}.ek-save.is-error{color:var(--danger);font-weight:500}.ek-alert{padding:14px var(--space-4);border-radius:var(--radius-md);font:400 15px/24px var(--font-sans);color:var(--text-primary);border:1px solid;align-items:flex-start;gap:12px;display:flex}.ek-alert__title{font-weight:600;display:block}.ek-alert__actions{align-self:center;gap:8px;margin-left:auto;display:flex}.ek-alert--info{background:var(--primary-subtle);border-color:var(--primary)}.ek-alert--info>.ek-icon{color:var(--primary-text)}.ek-alert--success{background:var(--success-subtle);border-color:var(--success)}.ek-alert--success>.ek-icon{color:var(--success)}.ek-alert--warning{background:var(--warning-subtle);border-color:var(--warning)}.ek-alert--warning>.ek-icon{color:var(--warning)}.ek-alert--danger{background:var(--danger-subtle);border-color:var(--danger)}.ek-alert--danger>.ek-icon{color:var(--danger)}.ek-alert--floating{box-shadow:var(--shadow-2)}.ek-alert__close{width:36px;height:36px;color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex}.ek-alert__close:hover{background:var(--bg-surface);color:var(--text-primary)}.ek-alert__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:0}.ek-badge{border-radius:var(--radius-sm);height:26px;font:500 13px/18px var(--font-sans);background:var(--bg-sunken);color:var(--text-primary);white-space:nowrap;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.ek-badge--info{background:var(--primary-subtle);color:var(--primary-text)}.ek-badge--success{background:var(--success-subtle);color:var(--success)}.ek-badge--warning{background:var(--warning-subtle);color:var(--warning)}.ek-badge--danger{background:var(--danger-subtle);color:var(--danger)}.ek-badge .ek-icon{width:14px;height:14px}.ek-progress{background:var(--bg-sunken);border-radius:3px;height:6px;overflow:hidden}.ek-progress__bar{background:var(--primary);height:100%;transition:width var(--duration-base) var(--ease-standard);border-radius:3px}.ek-examcard{gap:var(--space-4) var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-1);color:var(--text-primary);grid-template-columns:minmax(0,1fr) auto;align-items:center;text-decoration:none;display:grid}.ek-examcard__title{font:600 17px/24px var(--font-sans);margin:0}.ek-examcard__code{font:500 13px/18px var(--font-sans);color:var(--primary-text);letter-spacing:.04em}.ek-examcard__meta{font:400 14px/20px var(--font-sans);color:var(--text-secondary);flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.ek-examcard.is-open{border:2px solid var(--primary);padding:23px}.ek-examcard.is-hover,.ek-examcard:hover{border-color:var(--border-strong)}.ek-examcard.is-open.is-hover,.ek-examcard.is-open:hover{border-color:var(--primary-hover)}.ek-examcard.is-pressed{background:var(--primary-subtle)}.ek-examcard.is-disabled{background:var(--bg-page);box-shadow:none}.ek-examcard.is-disabled .ek-examcard__title{color:var(--text-secondary)}.ek-examcard.is-error{border:2px solid var(--danger);padding:23px}.ek-essay{flex-direction:column;gap:8px;display:flex}.ek-essay__input{width:100%;min-height:280px;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:400 17px/28px var(--font-sans);resize:vertical}.ek-essay__input:hover,.ek-essay__input.is-hover{border-color:var(--text-secondary)}.ek-essay__input:focus-visible,.ek-essay__input.is-focus{border-color:var(--primary)}.ek-essay__input:disabled,.ek-essay__input.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border)}.ek-essay__input.is-error{border:2px solid var(--danger)}.ek-essay__foot{font:400 13px/18px var(--font-sans);color:var(--text-secondary);justify-content:space-between;align-items:center;display:flex}.ek-essay__count.is-warning{color:var(--warning);font-weight:500}.ek-essay__count.is-error{color:var(--danger);font-weight:600}.ek-scrim{background:var(--bg-scrim);padding:var(--space-6);z-index:var(--z-dialog);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ek-scrim--inline{min-height:100%;position:relative;inset:auto}.ek-dialog{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-3);padding:var(--space-8);gap:var(--space-5);color:var(--text-primary);flex-direction:column;display:flex}.ek-dialog__title{font:600 20px/28px var(--font-sans);margin:0}.ek-dialog__body{font:400 15px/24px var(--font-sans);color:var(--text-secondary);margin:0}.ek-dialog__actions{justify-content:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.ek-kbd{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-surface);min-width:22px;height:22px;font:600 13px/1 var(--font-mono);color:var(--text-secondary);justify-content:center;align-items:center;padding:0 5px;display:inline-flex}.ek-segment{border:1px solid var(--border-strong);border-radius:var(--radius-md);margin:0;padding:0;display:inline-flex;overflow:hidden}.ek-segment label{min-height:var(--control-md);font:500 15px/20px var(--font-sans);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;align-items:center;padding:0 16px;display:flex;position:relative}.ek-segment label+label{border-left:1px solid var(--border-strong)}.ek-segment input{opacity:0;width:1px;height:1px;position:absolute}.ek-segment label:hover,.ek-segment label.is-hover{background:var(--bg-sunken)}.ek-segment label.is-checked{background:var(--primary);color:var(--text-on-primary)}.ek-segment label:has(input:checked){background:var(--primary);color:var(--text-on-primary)}.ek-segment label.is-focus{outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-segment label:has(input:focus-visible){outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-segment label.is-disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.ek-segment label:has(input:disabled){background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed}.ek-filter{height:var(--control-md);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:500 15px/20px var(--font-sans);cursor:pointer;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.ek-filter:hover,.ek-filter.is-hover{background:var(--bg-sunken)}.ek-filter:focus-visible,.ek-filter.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-filter[aria-pressed=true],.ek-filter.is-on{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-surface)}.ek-filter__count{font-variant-numeric:tabular-nums;color:inherit;opacity:1}.ek-tab{height:100%;font:500 15px/20px var(--font-sans);color:var(--text-secondary);align-items:center;padding:0 14px;text-decoration:none;display:flex}.ek-tab:hover,.ek-tab.is-hover{color:var(--text-primary);background:var(--bg-sunken)}.ek-tab:focus-visible,.ek-tab.is-focus{outline:2px solid var(--focus-ring);outline-offset:-4px}.ek-tab[aria-current=page]{color:var(--text-primary);box-shadow:inset 0 -3px 0 var(--primary);font-weight:600}.ek-banner-slot{flex-direction:column;gap:8px;padding:12px 56px 0;display:flex}:root[data-text-size=large] body{zoom:1.2}.ek-link{color:var(--primary-text);text-underline-offset:3px;border-radius:2px;font-weight:500;text-decoration:underline}.ek-link:hover,.ek-link.is-hover{text-decoration-thickness:2px}
.ek-app{background:var(--bg-page);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);grid-template-rows:56px minmax(0,1fr);grid-template-columns:248px minmax(0,1fr);display:grid}.ek-topbar{align-items:center;gap:var(--space-4);padding:0 var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);grid-column:1/-1;display:flex}.ek-topbar__brand{font:600 13px/20px var(--font-sans);letter-spacing:.08em;color:var(--primary-text);width:200px}.ek-topbar__spacer{flex:1}.ek-topbar__user{align-items:center;gap:var(--space-3);font:400 14px/20px var(--font-sans);color:var(--text-secondary);display:flex}.ek-avatar{border-radius:var(--radius-full);background:var(--primary-subtle);width:32px;height:32px;color:var(--primary-text);font:600 13px/1 var(--font-sans);justify-content:center;align-items:center;display:inline-flex}.ek-rail{background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:var(--space-4) var(--space-3);gap:var(--space-1);flex-direction:column;display:flex;overflow-y:auto}.ek-rail__group{font:500 13px/18px var(--font-sans);color:var(--text-secondary);padding:var(--space-4) var(--space-3) var(--space-1)}.ek-nav{align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-md);font:500 15px/20px var(--font-sans);color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;width:100%;text-decoration:none;display:flex}.ek-nav:hover,.ek-nav.is-hover{background:var(--bg-sunken)}.ek-nav:active,.ek-nav.is-pressed{background:var(--border-subtle)}.ek-nav:focus-visible,.ek-nav.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-nav[aria-current=page],.ek-nav.is-current{background:var(--primary-subtle);color:var(--primary-text);border-color:var(--primary);font-weight:600}.ek-nav[aria-disabled=true],.ek-nav.is-disabled{color:var(--disabled-text);cursor:not-allowed}.ek-nav__count{border-radius:var(--radius-sm);background:var(--bg-sunken);min-width:24px;height:22px;color:var(--text-primary);font:600 13px/22px var(--font-sans);text-align:center;margin-left:auto;padding:0 6px}.ek-nav[aria-current=page] .ek-nav__count{background:var(--bg-surface)}.ek-nav__count--alert{background:var(--warning-subtle);color:var(--warning)}.ek-main{padding:var(--space-6) var(--space-8) var(--space-10);gap:var(--space-6);flex-direction:column;min-width:0;display:flex;overflow:auto}.ek-crumbs{align-items:center;gap:var(--space-2);font:400 14px/20px var(--font-sans);color:var(--text-secondary);display:flex}.ek-crumbs a{color:var(--primary-text);text-underline-offset:3px;text-decoration:underline}.ek-pagehead{justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-wrap:wrap;display:flex}.ek-pagehead__title{font:600 24px/32px var(--font-sans);margin:0}.ek-pagehead__meta{font:400 15px/24px var(--font-sans);color:var(--text-secondary);margin:4px 0 0}.ek-pagehead__actions{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.ek-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.ek-card__head{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.ek-card__title{font:600 17px/24px var(--font-sans);margin:0}.ek-card__body{padding:var(--space-5)}.ek-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);flex-wrap:wrap;display:flex}.ek-select{height:var(--control-sm);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);color:var(--text-primary);font:400 14px/20px var(--font-sans);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2346524F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:0 32px 0 12px}.ek-select:hover,.ek-select.is-hover{background-color:var(--bg-sunken)}.ek-select:focus-visible,.ek-select.is-focus{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-select:disabled,.ek-select.is-disabled{background-color:var(--disabled-bg);color:var(--disabled-text);border-color:var(--disabled-border)}.ek-search{align-items:center;display:flex;position:relative}.ek-search .ek-icon{color:var(--text-secondary);position:absolute;left:10px}.ek-search input{height:var(--control-sm);border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);width:280px;color:var(--text-primary);font:400 14px/20px var(--font-sans);padding:0 12px 0 34px}.ek-search input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-chip{border-radius:var(--radius-sm);background:var(--primary-subtle);height:28px;color:var(--primary-text);font:500 13px/18px var(--font-sans);border:1px solid var(--primary);align-items:center;gap:6px;padding:0 6px 0 10px;display:inline-flex}.ek-chip button{all:unset;cursor:pointer;border-radius:var(--radius-sm);justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.ek-chip button:focus-visible{outline:2px solid var(--focus-ring)}.ek-btn--sm{height:var(--control-sm);padding:0 12px;font-size:14px}.ek-tablewrap{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow-x:auto}.ek-tablewrap>.ek-toolbar{border-radius:var(--radius-lg) var(--radius-lg) 0 0}.ek-table{border-collapse:collapse;width:100%;font:400 14px/20px var(--font-sans)}.ek-table caption{text-align:left;padding:var(--space-3) var(--space-4);font:600 15px/20px var(--font-sans)}.ek-table th{text-align:left;font:500 13px/18px var(--font-sans);color:var(--text-secondary);padding:10px var(--space-4);background:var(--bg-surface);border-bottom:1px solid var(--border-strong);white-space:nowrap}.ek-table td{padding:0 var(--space-4);height:var(--control-md);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.ek-table--compact td{height:var(--control-sm)}.ek-table tbody tr.is-selected{background:var(--primary-subtle)}.ek-table .is-num{text-align:right;font-variant-numeric:tabular-nums}.ek-table a.ek-rowlink{color:var(--text-primary);font-weight:600;text-decoration:none}.ek-table a.ek-rowlink:hover{text-underline-offset:3px;text-decoration:underline}.ek-table a.ek-rowlink:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-table th button{all:unset;cursor:pointer;align-items:center;gap:4px;min-height:24px;display:inline-flex}.ek-table th button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-pager{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);font:400 14px/20px var(--font-sans);color:var(--text-secondary);display:flex}.ek-bulkbar{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--primary-subtle);color:var(--primary-text);font:600 14px/20px var(--font-sans);border-bottom:1px solid var(--primary);display:flex}.ek-badge--neutral{background:var(--bg-sunken);color:var(--text-primary);border-color:var(--border-strong)}.ek-badge--returned{background:var(--warning-subtle);color:var(--warning)}.ek-dot{border-radius:var(--radius-full);background:currentColor;width:8px;height:8px;display:inline-block}.ek-stats{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ek-stat{padding:var(--space-4) var(--space-5);flex-direction:column;gap:4px;display:flex}.ek-stat__label{font:500 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-stat__value{font:600 32px/40px var(--font-sans);font-variant-numeric:tabular-nums}.ek-stat__note{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-6);color:var(--text-secondary);flex-direction:column;display:flex}.ek-empty h3{font:600 17px/24px var(--font-sans);color:var(--text-primary);margin:0}.ek-empty p{max-width:440px;font:400 15px/24px var(--font-sans);margin:0}.ek-empty .ek-icon{width:32px;height:32px;color:var(--text-secondary)}.ek-stepper{gap:var(--space-2);margin:0;padding:0;list-style:none;display:flex}.ek-step{align-items:center;gap:var(--space-3);min-height:var(--control-md);padding:0 var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);font:500 14px/20px var(--font-sans);color:var(--text-secondary);flex:1;text-decoration:none;display:flex}.ek-step__n{border-radius:var(--radius-full);border:1px solid var(--border-strong);width:24px;height:24px;font:600 13px/1 var(--font-sans);background:var(--bg-surface);color:var(--text-primary);justify-content:center;align-items:center;display:inline-flex}.ek-step[aria-current=step],.ek-step.is-current{border-color:var(--primary);background:var(--primary-subtle);color:var(--primary-text);font-weight:600}.ek-step[aria-current=step] .ek-step__n{background:var(--primary);color:var(--text-on-primary);border-color:var(--primary)}.ek-step.is-done .ek-step__n{background:var(--success-subtle);color:var(--success);border-color:var(--success)}.ek-step.is-error,.ek-step.is-error .ek-step__n{border-color:var(--danger);color:var(--danger)}.ek-subtabs{gap:var(--space-1);border-bottom:1px solid var(--border-subtle);display:flex}.ek-subtab{all:unset;box-sizing:border-box;cursor:pointer;padding:0 var(--space-4);min-height:var(--control-md);align-items:center;gap:var(--space-2);font:500 15px/20px var(--font-sans);color:var(--text-secondary);border-bottom:3px solid #0000;margin-bottom:-1px;display:inline-flex}.ek-subtab:hover{color:var(--text-primary);background:var(--bg-sunken)}.ek-subtab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ek-subtab[aria-selected=true],.ek-subtab.is-current{color:var(--primary-text);border-bottom-color:var(--primary);font-weight:600}.ek-split{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 320px;align-items:start;display:grid}.ek-pane{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ek-pane__head{padding:var(--space-3) var(--space-5);background:var(--bg-sunken);border-bottom:1px solid var(--border-subtle);font:600 14px/20px var(--font-sans);justify-content:space-between;align-items:center;display:flex}.ek-pane__body{padding:var(--space-5);font:400 17px/26px var(--font-sans)}.ek-pane__body--serif{font-family:var(--font-serif);font-size:18px;line-height:30px}.ek-bars{gap:var(--space-2);flex-direction:column;display:flex}.ek-bar{gap:var(--space-3);font:400 14px/20px var(--font-sans);grid-template-columns:96px minmax(0,1fr) 72px;align-items:center;display:grid}.ek-bar__track{background:var(--bg-sunken);border-radius:var(--radius-sm);height:20px;overflow:hidden}.ek-bar__fill{background:var(--primary);height:100%}.ek-bar__fill--danger{background:var(--danger)}.ek-bar__fill--warning{background:var(--flag)}.ek-bar__val{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ek-timeline{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ek-timeline li{gap:var(--space-3);font:400 14px/20px var(--font-sans);grid-template-columns:24px minmax(0,1fr);display:grid}.ek-timeline__mark{border-radius:var(--radius-full);border:2px solid var(--border-strong);background:var(--bg-surface);width:24px;height:24px;color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}.ek-timeline .is-done .ek-timeline__mark{background:var(--success-subtle);border-color:var(--success);color:var(--success)}.ek-timeline .is-now .ek-timeline__mark{background:var(--primary);border-color:var(--primary);color:var(--text-on-primary)}.ek-timeline time{color:var(--text-secondary);font-size:13px}.ek-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--warning-subtle);color:var(--text-primary);border:1px solid var(--warning);font:400 14px/21px var(--font-sans)}.ek-note b{color:var(--warning)}.ek-textarea{border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--bg-surface);width:100%;min-height:96px;color:var(--text-primary);font:400 15px/24px var(--font-sans);resize:vertical;padding:10px 14px}.ek-textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-textarea.is-error{border-color:var(--danger);border-width:2px}.ek-menu{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-1);min-width:220px}.ek-menu__item{align-items:center;gap:var(--space-3);min-height:var(--control-sm);padding:0 var(--space-3);border-radius:var(--radius-sm);font:400 14px/20px var(--font-sans);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.ek-menu__item:hover,.ek-menu__item.is-hover{background:var(--bg-sunken)}.ek-menu__item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.ek-menu__item--danger{color:var(--danger)}.ek-table tbody tr:hover,.ek-table tbody tr.is-hover{background:var(--bg-sunken)}@media (max-width:1200px){.ek-app{grid-template-columns:72px minmax(0,1fr)}.ek-rail .ek-nav span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.ek-rail__group{display:none}.ek-topbar__brand{width:auto}.ek-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ek-split{grid-template-columns:minmax(0,1fr)}.ek-main{padding:var(--space-4)}}@media (max-width:720px){.ek-stats{grid-template-columns:minmax(0,1fr)}.ek-stepper{flex-direction:column}}
.ad-seatgrid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.ad-seat{border:1px solid var(--border-strong);background:var(--bg-surface);height:34px;font:500 12px/16px var(--font-mono);color:var(--text-primary);border-radius:6px;justify-content:center;align-items:center;gap:2px;display:flex}.ad-seat--prog{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text)}.ad-seat--done{background:var(--bg-sunken);color:var(--text-secondary);border-style:dashed}.ad-seat--wait{background:var(--info-subtle);border-color:var(--info);color:var(--info)}.ad-seat--disc{background:var(--warning-subtle);border:2px solid var(--warning);color:var(--warning);font-weight:600}.ad-seat--abs{background:var(--bg-page);color:var(--text-secondary);border-style:dotted}.ad-seat--flag{box-shadow:inset 0 0 0 2px var(--danger)}.ad-legend{font:400 13px/18px var(--font-sans);color:var(--text-secondary);flex-wrap:wrap;gap:14px;display:flex}.ad-legend span{align-items:center;gap:6px;display:inline-flex}.ad-legend i{border:1px solid var(--border-strong);border-radius:3px;width:14px;height:14px;display:inline-block}.ad-mx{border-collapse:collapse;width:100%;font:400 14px/20px var(--font-sans)}.ad-mx th,.ad-mx td{border-bottom:1px solid var(--border-subtle);text-align:center;padding:8px 10px}.ad-mx th:first-child,.ad-mx td:first-child{text-align:left}.ad-mx thead th{color:var(--text-secondary);border-bottom:1px solid var(--border-strong);background:var(--bg-sunken);font-weight:600}.ad-mx .grp td{background:var(--bg-page);text-align:left;color:var(--text-secondary);text-transform:none;font-size:13px;font-weight:600}.ad-yes{color:var(--success);font-weight:600}.ad-no{color:var(--text-secondary)}.ad-lock{color:var(--text-secondary);align-items:center;gap:4px;font-size:13px;display:inline-flex}.ad-kv{font:400 14px/21px var(--font-sans);grid-template-columns:150px 1fr;gap:6px 12px;margin:0;display:grid}.ad-kv dt{color:var(--text-secondary)}.ad-kv dd{margin:0}.ad-av{background:var(--primary-subtle);width:32px;height:32px;color:var(--primary-text);font:600 12px/16px var(--font-sans);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ad-ph{border:1px solid var(--border-strong);background:var(--bg-sunken);width:96px;height:120px;font:600 28px/32px var(--font-sans);color:var(--text-secondary);border-radius:8px;flex:none;justify-content:center;align-items:center;display:flex}.ad-health{font:500 13px/18px var(--font-sans);color:var(--text-secondary);align-items:center;gap:8px;display:inline-flex}.ad-health i{background:var(--success);border-radius:50%;width:10px;height:10px;display:inline-block}.ad-tl{flex-direction:column;gap:0;margin:0;padding:0;list-style:none;display:flex}.ad-tl li{border-bottom:1px solid var(--border-subtle);font:400 14px/20px var(--font-sans);grid-template-columns:52px 1fr;gap:10px;padding:8px 0;display:grid}.ad-tl li:last-child{border-bottom:0}.ad-tl time{font:500 13px/20px var(--font-mono);color:var(--text-secondary)}.ad-mono{font-family:var(--font-mono);font-size:13px}.ad-sub{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ad-tag{border:1px solid var(--border-strong);font:500 12px/18px var(--font-sans);color:var(--text-secondary);border-radius:999px;padding:1px 8px;display:inline-block}
html,body{margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}*,:before,:after{box-sizing:border-box}h1,h2,h3,h4,p,dl,dd,ul,ol,figure{margin:0}button{font:inherit}a{color:inherit}.ek-btn{text-decoration:none}.muted{color:var(--text-secondary)}.mono{font-family:var(--font-mono)}.num{font-variant-numeric:tabular-nums}.skip{z-index:100;background:var(--bg-surface);border:2px solid var(--focus-ring);border-radius:var(--radius-md);color:var(--text-primary);padding:10px 14px;font-weight:600;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}.staff{height:100dvh}.staff .ek-app{height:100%}.ek-main:focus{outline:none}.ek-rail{position:relative}.ek-rail .ek-nav .ek-icon{color:var(--text-secondary)}.ek-rail .ek-nav[aria-current=page] .ek-icon{color:var(--primary-text)}.ek-topbar__user .ek-btn{height:36px}.ek-topbar__brand span{color:var(--text-secondary);letter-spacing:.04em;margin-left:8px;font-weight:500}.userbtn{all:unset;box-sizing:border-box;border-radius:var(--radius-md);cursor:pointer;font:500 14px/20px var(--font-sans);color:var(--text-primary);align-items:center;gap:10px;padding:4px 8px 4px 4px;display:inline-flex}.userbtn:hover{background:var(--bg-sunken)}.userbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.userwrap{position:relative}.usermenu{z-index:30;width:280px;position:absolute;top:calc(100% + 6px);right:0}.usermenu__who{border-bottom:1px solid var(--border-subtle);font:400 13px/18px var(--font-sans);color:var(--text-secondary);margin-bottom:4px;padding:10px 12px}.usermenu__who b{font:600 15px/20px var(--font-sans);color:var(--text-primary);display:block}.rolepill{border-radius:var(--radius-sm);background:var(--primary-subtle);color:var(--primary-text);font:600 12px/18px var(--font-sans);margin-top:6px;padding:1px 8px;display:inline-block}.auth{background:var(--bg-page);flex-direction:column;min-height:100dvh;display:flex}.auth__top{align-items:center;gap:12px;height:64px;padding:0 40px;display:flex}.auth__main{flex:1;justify-content:center;align-items:center;padding:16px 16px 40px;display:flex}.auth__card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-1);flex-direction:column;gap:20px;padding:40px;display:flex}.auth__foot{height:56px;color:var(--text-secondary);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:0 40px;font-size:13px;display:flex}.h-title{font:600 24px/32px var(--font-sans)}.lede{font:400 15px/24px var(--font-sans);color:var(--text-secondary)}.stack{flex-direction:column;gap:6px;display:flex}.otp{gap:8px;display:flex}.otp input{text-align:center;width:48px;height:56px;font:600 24px/1 var(--font-mono);padding:0}.btn-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.btn-row--end{justify-content:flex-end}.page{gap:var(--space-6);flex-direction:column;display:flex}.page--narrow{max-width:960px}.page--wide{max-width:1280px}.grid2{gap:var(--space-6);grid-template-columns:3fr 2fr;align-items:start;display:grid}.grid-eq{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.formgrid{gap:var(--space-5) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.formgrid>.full{grid-column:1/-1}.sect{gap:var(--space-4);flex-direction:column;display:flex}.sect>h2{font:600 17px/24px var(--font-sans)}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.ek-select--field{width:100%;height:var(--control-md);font-size:15px}.todo{gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;display:grid}.todo:last-child{border-bottom:0}.todo__icon{border-radius:var(--radius-md);background:var(--primary-subtle);width:36px;height:36px;color:var(--primary-text);justify-content:center;align-items:center;display:flex}.todo__icon--warn{background:var(--warning-subtle);color:var(--warning)}.todo b{font:600 15px/22px var(--font-sans);display:block}.todo span.sub{font:400 14px/20px var(--font-sans);color:var(--text-secondary)}.upc{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:4px;display:flex}.upc:last-child{border-bottom:0}.upc b{font:600 15px/22px var(--font-sans)}.kv{gap:var(--space-3) var(--space-4);font:400 15px/22px var(--font-sans);grid-template-columns:180px minmax(0,1fr);display:grid}.kv dt{color:var(--text-secondary)}.kv dd{margin:0}.stem{font:400 17px/26px var(--font-sans)}.qcell{flex-direction:column;gap:2px;max-width:460px;display:flex}.qcell a{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:500;line-height:20px;display:-webkit-box;overflow:hidden}.qcell small{color:var(--text-secondary);font-size:12px}.table-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.table-actions .ek-btn{white-space:nowrap}.ek-table td.wrap{height:auto;padding-top:10px;padding-bottom:10px}.ek-table tbody tr.row-click{cursor:pointer}.skeleton-rows{padding:var(--space-5);flex-direction:column;gap:12px;display:flex}.skeleton-rows .ek-skeleton{border-radius:4px;height:20px}.check-col{width:44px}.check-col input{width:18px;height:18px;accent-color:var(--primary)}.ek-input--sm{height:var(--control-sm);font-size:14px}.ek-input--num{text-align:right;font-variant-numeric:tabular-nums;width:88px}textarea.ek-textarea{min-height:120px}.charcount{font:400 13px/18px var(--font-sans);color:var(--text-secondary);text-align:right}.editor{gap:var(--space-6);grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.editor__side{gap:var(--space-4);flex-direction:column;display:flex;position:sticky;top:0}.optrow{gap:var(--space-3);grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;display:grid}.optrow .key{border-radius:var(--radius-sm);background:var(--bg-sunken);width:32px;height:32px;font:600 14px var(--font-sans);justify-content:center;align-items:center;display:flex}.optrow.is-correct .key{background:var(--success);color:var(--text-on-primary)}.correct-radio{font:500 14px/20px var(--font-sans);cursor:pointer;align-items:center;gap:6px;min-height:36px;display:inline-flex}.correct-radio input{width:18px;height:18px;accent-color:var(--success)}.pointrow{gap:var(--space-3);grid-template-columns:minmax(0,1fr) 88px auto;align-items:center;display:grid}.savebar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);display:flex;position:sticky;bottom:0}.previewbox{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.tag{border-radius:var(--radius-sm);background:var(--bg-sunken);font:500 12px/18px var(--font-sans);color:var(--text-secondary);padding:1px 8px;display:inline-block}.linkbtn{all:unset;cursor:pointer;color:var(--primary-text);text-underline-offset:3px;font:500 14px/20px var(--font-sans);text-decoration:underline}.linkbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.filters{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;display:flex}.filters label{font:500 12px/16px var(--font-sans);color:var(--text-secondary);flex-direction:column;gap:2px;display:flex}.chiprow{gap:var(--space-2);padding:0 var(--space-4) var(--space-3);flex-wrap:wrap;display:flex}.pickrow{gap:var(--space-3);padding:10px var(--space-4);border-bottom:1px solid var(--border-subtle);font:400 14px/20px var(--font-sans);grid-template-columns:24px minmax(0,1fr) auto;align-items:start;display:grid}.pickrow input{width:18px;height:18px;accent-color:var(--primary);margin-top:2px}.pickrow small{color:var(--text-secondary);font-size:12px;display:block}.picklist{max-height:520px;overflow:auto}.meter{flex-direction:column;gap:6px;display:flex}.gradegrid{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr) 340px;align-items:start;display:grid}.pointgrade{gap:var(--space-3);border-bottom:1px solid var(--border-subtle);font:400 14px/20px var(--font-sans);grid-template-columns:minmax(0,1fr) 88px;align-items:center;padding:10px 0;display:grid}.pointgrade:last-child{border-bottom:0}.ek-kbd{white-space:nowrap}.big{font:600 32px/40px var(--font-sans)}.toasts{z-index:70;flex-direction:column;gap:8px;width:min(420px,100vw - 48px);display:flex;position:fixed;bottom:24px;right:24px}.toasts .ek-alert{background:var(--bg-surface);box-shadow:var(--shadow-2)}.toasts .ek-alert--success{border-color:var(--success)}.demo{z-index:60;font:400 13px/18px var(--font-sans);position:fixed;bottom:22px;left:264px}.demo__toggle{border-radius:var(--radius-md);border:1px dashed var(--border-strong);background:var(--bg-surface);height:32px;color:var(--text-secondary);cursor:pointer;padding:0 12px}.demo__panel{background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:320px;max-height:72dvh;box-shadow:var(--shadow-3);color:var(--text-primary);flex-direction:column;gap:10px;margin-bottom:8px;padding:14px;display:flex;overflow:auto}.demo__panel h2{font:600 14px/20px var(--font-sans)}.demo__panel p{color:var(--text-secondary)}.demo__grid{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.demo__grid button{border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--bg-page);height:30px;color:var(--text-primary);cursor:pointer;font:500 13px var(--font-sans);padding:0 10px}.demo__grid button:hover{background:var(--bg-sunken)}.demo__grid button[aria-pressed=true]{background:var(--primary-subtle);border-color:var(--primary);color:var(--primary-text)}.demo__grid button:focus-visible,.demo__toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media (max-width:1200px){.grid2,.editor,.gradegrid,.grid3{grid-template-columns:minmax(0,1fr)}.demo{left:88px}}.stepbtn{padding:0 var(--space-4);color:inherit;border-radius:var(--radius-md);flex:1;align-self:stretch;align-items:center;gap:12px;text-decoration:none;display:flex}.stepbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ek-step{padding:0}.ek-table--tight th,.ek-table--tight td{padding-left:12px;padding-right:12px}.ek-table--tight td.nw{white-space:nowrap}.ad-dialog{width:min(560px,100vw - 48px)}.ad-dialog__body{flex-direction:column;gap:16px;display:flex}.ad-affects{background:var(--bg-sunken);border-radius:var(--radius-md);font:400 14px/20px var(--font-sans);padding:10px 12px}.ad-codeinput{width:160px;font:600 20px/1 var(--font-mono);letter-spacing:.3em;text-align:center}.rail-count{margin-left:auto}.health{font:500 13px/18px var(--font-sans);color:var(--text-secondary);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.health i{background:var(--success);border-radius:50%;width:8px;height:8px;display:inline-block}.health--warn i{background:var(--warning)}.savedat{font:400 13px/18px var(--font-sans);color:var(--text-secondary);margin-right:8px}.updated{font:400 13px/18px var(--font-sans);color:var(--text-secondary)}.ek-btn--sm{height:var(--control-sm)}.filters select,.filters input{min-width:140px}.tabsrow{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.linkrow{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.big-num{font:600 28px/36px var(--font-sans);font-variant-numeric:tabular-nums}.warn-row td{background:var(--warning-subtle)}.dim{opacity:.55}.photo{width:120px;height:150px}.sev{align-items:center;gap:6px;display:inline-flex}.ek-table tbody th[scope=row]{color:var(--text-primary);font:600 14px/20px var(--font-sans);padding:0 var(--space-4);height:var(--control-md);border-bottom:1px solid var(--border-subtle);white-space:nowrap;background:0 0}.ek-topbar__brand{white-space:nowrap;width:auto}.ek-topbar__brand span{margin-left:10px}.ek-check.is-disabled{opacity:.6}.ek-search input{width:300px}
