.app-container{display:flex;flex-direction:column;min-height:100vh}@media (min-width:768px){.app-container{flex-direction:row}}.app-container.app-container--hub{height:100dvh;min-height:0}@media (max-width:767px){.page-header{align-items:flex-start!important;flex-wrap:wrap;gap:12px;margin-bottom:16px!important}.page-header__copy{min-width:0;overflow-wrap:anywhere}.page-header__title{font-size:24px!important;line-height:1.2}.page-header__actions{max-width:100%}.app-container input:not([type=checkbox]),.app-container select,.app-container textarea{font-size:16px!important}.login-page input{font-size:16px;min-height:44px}.mobile-ticket-report button{min-height:42px!important}.mobile-ticket-report input,.mobile-ticket-report select{min-height:44px!important}.mobile-egate-summary{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible!important}.mobile-egate-summary>*{justify-content:center;min-height:44px;min-width:0}.mobile-stock-filters{flex-wrap:wrap;overflow:visible!important}.mobile-stock-filters>button{flex-basis:calc(50% - 6px);flex-grow:1;flex-shrink:1;min-height:44px}}.skip-link{align-items:center;background:var(--accent);border-radius:10px;color:var(--on-fill);display:inline-flex;font-weight:700;left:8px;min-height:44px;padding:0 16px;position:fixed;text-decoration:none;top:8px;transform:translateY(-200%);z-index:var(--z-skip)}.skip-link:focus{outline:3px solid var(--text);outline-offset:2px;transform:none}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}#main-content:focus{outline:none}.ui-btn{align-items:center;border:1.5px solid #0000;cursor:pointer;display:inline-flex;font:inherit;font-weight:700;gap:6px;justify-content:center;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.ui-btn--xs{border-radius:6px;padding:4px 8px}.ui-btn--sm,.ui-btn--xs{font-size:var(--text-xs)}.ui-btn--sm{border-radius:var(--radius-sm);padding:6px 12px}.ui-btn--md{border-radius:var(--radius-md);font-size:var(--text-sm);padding:10px 18px}.ui-btn--lg{border-radius:12px;font-size:var(--text-md);padding:12px 24px}.ui-btn--primary{background:var(--accent);border-color:var(--accent);box-shadow:0 2px 10px var(--adim);color:var(--on-accent)}.ui-btn--secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.ui-btn--ghost{background:#0000;color:var(--muted)}.ui-btn--danger{background:color-mix(in srgb,var(--bad) 10%,#0000);border-color:color-mix(in srgb,var(--bad) 30%,#0000);color:var(--bad-text)}@media (hover:hover) and (pointer:fine){.ui-btn--primary:hover:not(:disabled):not([aria-disabled=true]){filter:brightness(1.08)}.ui-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--accent)}.ui-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface);color:var(--text)}.ui-btn--danger:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--bad) 16%,#0000)}}.ui-btn:active:not(:disabled):not([aria-disabled=true]){transform:scale(.97)}.ui-btn:focus-visible{outline:var(--focus-ring);outline-offset:2px}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.6}.ui-btn[aria-busy=true]{cursor:progress}.ui-btn__spinner{animation:spin .7s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid #0000;height:14px;width:14px}@media (pointer:coarse){.ui-btn--lg,.ui-btn--md,.ui-btn--sm{min-height:var(--touch-min)}}.ui-switch{align-items:center;background:none;border:0;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--text-sm);font-weight:600;gap:10px;min-height:var(--touch-min);padding:0;text-align:left}.ui-switch__track{background:var(--border-strong);border-radius:var(--radius-pill);flex:none;height:24px;position:relative;transition:background-color var(--dur) var(--ease-out);width:40px}.ui-switch__thumb{background:var(--on-accent);border-radius:50%;box-shadow:0 1px 3px #0000004d;height:18px;left:3px;position:absolute;top:3px;transition:transform var(--dur) var(--ease-out);width:18px}.ui-switch[aria-checked=true] .ui-switch__track{background:var(--accent)}.ui-switch[aria-checked=true] .ui-switch__thumb{transform:translateX(16px)}.ui-switch:focus-visible{border-radius:var(--radius-sm);outline:var(--focus-ring);outline-offset:2px}.ui-switch:disabled{cursor:not-allowed;opacity:.6}.ui-pill{--pill-c:var(--border-strong);--pill-t:var(--muted);align-items:center;background:color-mix(in srgb,var(--pill-c) 12%,#0000);border:1px solid color-mix(in srgb,var(--pill-c) 30%,#0000);border-radius:var(--radius-pill);color:var(--pill-t);display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:5px;line-height:1.3;padding:3px 10px;white-space:nowrap}.ui-pill--info{--pill-c:var(--info);--pill-t:var(--accent-text)}.ui-pill--ok{--pill-c:var(--ok);--pill-t:var(--ok-text)}.ui-pill--warn{--pill-c:var(--warn);--pill-t:var(--warn-text)}.ui-pill--bad{--pill-c:var(--bad);--pill-t:var(--bad-text)}.ui-pill--teal{--pill-c:var(--teal);--pill-t:var(--teal-text)}.ui-pill--purple{--pill-c:var(--purple);--pill-t:var(--purple-text)}.ui-stat{--tile-c:var(--border);--tile-t:var(--text);background:var(--card);border:1.5px solid var(--border);border-left:4px solid var(--tile-c);border-radius:12px;color:var(--text);display:flex;flex-direction:column;font:inherit;gap:6px;min-width:0;padding:12px 16px;text-align:left}.ui-stat--info{--tile-c:var(--info);--tile-t:var(--accent-text)}.ui-stat--ok{--tile-c:var(--ok);--tile-t:var(--ok-text)}.ui-stat--warn{--tile-c:var(--warn);--tile-t:var(--warn-text)}.ui-stat--bad{--tile-c:var(--bad);--tile-t:var(--bad-text)}.ui-stat--teal{--tile-c:var(--teal);--tile-t:var(--teal-text)}.ui-stat--purple{--tile-c:var(--purple);--tile-t:var(--purple-text)}.ui-stat__icon{color:var(--tile-t);display:inline-flex}.ui-stat__label{color:var(--muted);font-size:var(--text-xs);font-weight:700}.ui-stat__value{font-feature-settings:"tnum";color:var(--tile-t);font-size:var(--text-xl);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.ui-stat__hint{color:var(--muted);font-size:var(--text-xs)}button.ui-stat{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out)}button.ui-stat[aria-pressed=true]{background:var(--surface);border-color:var(--tile-c)}button.ui-stat:focus-visible{outline:var(--focus-ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){button.ui-stat:hover{border-color:var(--tile-c)}}@keyframes ui-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ui-skeleton{animation:ui-shimmer 1.6s ease-in-out infinite;background:linear-gradient(90deg,var(--border2) 0,color-mix(in srgb,var(--border2) 50%,var(--surface)) 50%,var(--border2) 100%);background-size:200% 100%;border-radius:var(--radius-sm);display:block}.ui-skeleton-text{grid-gap:8px;display:grid;gap:8px}@media (prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-dialog__desc{color:var(--muted);font-size:var(--text-sm);margin:0 0 var(--space-3)}.ui-toasts{bottom:calc(var(--space-4) + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;position:fixed;right:var(--space-4);width:min(380px,calc(100vw - 32px));z-index:var(--z-toast)}.ui-toast{--toast-c:var(--border-strong);align-items:flex-start;animation:ui-toast-in .25s var(--ease-out);background:var(--card);border:1px solid var(--border);border-left:4px solid var(--toast-c);border-radius:12px;box-shadow:var(--shadow);color:var(--text);display:flex;font-size:var(--text-sm);gap:10px;padding:12px 8px 12px 14px;pointer-events:auto}.ui-toast--ok{--toast-c:var(--ok)}.ui-toast--warn{--toast-c:var(--warn)}.ui-toast--bad{--toast-c:var(--bad)}.ui-toast--info{--toast-c:var(--info)}.ui-toast__message{flex:1 1;min-width:0;overflow-wrap:anywhere;padding-top:3px}.ui-toast__action,.ui-toast__close{align-items:center;background:none;border:0;border-radius:var(--radius-sm);color:var(--accent-text);cursor:pointer;display:inline-flex;font:inherit;font-weight:700;justify-content:center;min-height:36px;min-width:36px;padding:0 10px}.ui-toast__close{color:var(--muted);padding:0}.ui-toast__action:focus-visible,.ui-toast__close:focus-visible{outline:var(--focus-ring);outline-offset:1px}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ui-toast{animation:none}}@media (max-width:767px){.ui-toasts{bottom:calc(96px + env(safe-area-inset-bottom, 0px));right:50%;transform:translateX(50%)}.ui-toast__action,.ui-toast__close{min-height:var(--touch-min);min-width:var(--touch-min)}}.mw{align-items:center;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:var(--z-modal)}.mw__backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;inset:0;position:absolute}.mw__panel{animation:mw-pop .2s cubic-bezier(.16,1,.3,1);background:var(--card);border:1.5px solid var(--border);border-radius:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;max-height:90vh;max-width:500px;max-width:var(--mw-max,500px);outline:none;overflow:hidden;position:relative;width:100%}.mw__backdrop{animation:mw-fade .2s ease-out}@keyframes mw-fade{0%{opacity:0}}@keyframes mw-pop{0%{opacity:0;transform:translateY(-10px)}}@keyframes mw-rise{0%{transform:translateY(100%)}}@media (max-width:767px){.mw{align-items:flex-end;padding:0}.mw__panel{animation:mw-rise .26s cubic-bezier(.16,1,.3,1);border-bottom:0;border-radius:20px 20px 0 0;max-height:92dvh;max-width:none;padding-bottom:env(safe-area-inset-bottom,0)}.mw__panel:before{background:var(--border);border-radius:4px;content:"";display:block;flex-shrink:0;height:4px;margin:8px auto 2px;width:40px}}@media (prefers-reduced-motion:reduce){.mw__backdrop,.mw__panel{animation:none}}.mw-head{align-items:flex-start;background:var(--card);border-bottom:1px solid var(--border);display:flex;flex:none;gap:12px;justify-content:space-between;padding:16px 20px 14px}.mw-head__text{flex:1 1;min-width:0}.mw-head__title{align-items:center;color:var(--text);display:flex;font-size:17px;font-weight:800;gap:8px;line-height:1.3;margin:0;overflow-wrap:anywhere}.mw-head__sub{color:var(--muted);font-size:12.5px;line-height:1.5;margin:3px 0 0}.mw-head__close{background:none;border:0;border-radius:10px;color:var(--muted);cursor:pointer;display:grid;flex:none;height:40px;margin:-6px -8px -6px 0;place-items:center;width:40px}.mw-head__close:hover:not(:disabled){background:var(--surface);color:var(--text)}.mw-head__close:disabled{cursor:not-allowed;opacity:.5}.mw-body{grid-gap:16px;align-content:start;color:var(--text);display:grid;flex:1 1 auto;gap:16px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px}.mw-foot{align-items:center;background:var(--card);border-top:1px solid var(--border);display:flex;flex:none;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:12px 20px}.mw-form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.mw-body--two{column-gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.mw-span-all{grid-column:1/-1}.mw-section{grid-gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:grid;gap:12px;padding:14px}.mw-section>h3,.mw-section__head>h3{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.mw-section__head{align-items:center;justify-content:space-between}.mw-section__actions,.mw-section__head{display:flex;flex-wrap:wrap;gap:8px}@media (pointer:coarse){.mw__panel .mw-section .mw-section__actions>button{min-height:44px}}.mw-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.mw-field{grid-gap:6px;align-content:start;display:grid;gap:6px;min-width:0}.mw-field>label{color:var(--muted);font-size:12px;font-weight:700}.mw-field input:not([type=checkbox]):not([type=radio]),.mw-field select,.mw-field textarea{background:var(--card);border:1px solid var(--border);border-radius:9px;color:var(--text);font:inherit;font-size:14px;min-height:42px;min-width:0;padding:9px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.mw-field textarea{line-height:1.5;resize:vertical}.mw-field input:focus-visible,.mw-field select:focus-visible,.mw-field textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--adim);outline:none}.mw-field__hint{color:var(--muted);font-size:12px}.mw-field__error{color:var(--bad-text);font-size:12px;font-weight:600}.mw-alert{background:#dc262614;border:1px solid var(--bad);border-inline-start-width:4px;border-radius:9px;font-size:13px;line-height:1.5;padding:11px 14px}@media (max-width:767px){.mw-head{padding:12px 16px}.mw-head__close{height:44px;margin:-6px -10px -6px 0;width:44px}.mw-body{padding:16px}.mw-body--two{grid-template-columns:minmax(0,1fr)}.mw-body--two>*{grid-column:auto!important}.mw-foot{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 16px}.mw-foot>*{min-height:44px!important;width:100%}.mw-foot>:last-child{grid-column:1/-1;min-height:48px!important;order:-1}.mw-foot>:first-child:nth-last-child(2){grid-column:1/-1}.mw-field input:not([type=checkbox]):not([type=radio]),.mw-field select,.mw-field textarea{font-size:16px}}@media (prefers-reduced-motion:reduce){.mw-field input,.mw-field select,.mw-field textarea{transition:none}}.cd-body{padding:18px 20px 8px}.cd-title{color:var(--text);font-size:17px;font-weight:800}.cd-message{color:var(--muted);font-size:13px;line-height:1.6;margin-top:8px}.cd-actions{border-top:0;padding-top:6px}.cd-actions button{border-radius:10px;cursor:pointer;font:inherit;font-size:13px;font-weight:700;min-height:44px;padding:0 18px}.cd-actions button:disabled{cursor:not-allowed;opacity:.5}.cd-cancel{background:var(--surface);border:1.5px solid var(--border);color:var(--text)}.cd-confirm{background:var(--accent);border:1px solid var(--accent);color:var(--on-fill)}.cd-confirm.is-danger{background:var(--danger-fill);border-color:var(--danger-fill)}.fld-error{color:var(--bad-text);font-size:12px;font-weight:600;margin-top:6px}.fld-badge{background:var(--adim);border-radius:999px;color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.04em;margin-left:8px;padding:1px 7px;text-transform:none}.fld-badge--missing{align-items:center;background:color-mix(in srgb,var(--warn) 14%,#0000);color:var(--warn-text);display:inline-flex;gap:4px}.fld--missing{position:relative}.fld--missing>label{padding-right:84px}.fld--missing>.fld-badge--missing{margin:0;position:absolute;right:0;top:-2px}.fld-stray{align-items:center;color:var(--warn-text);display:flex;flex-wrap:wrap;font-size:12px;font-weight:600;gap:2px 8px;margin-top:6px}.fld-stray button{background:none;border:0;color:var(--accent-text);cursor:pointer;font:inherit;font-weight:700;min-height:24px;padding:0 2px;text-decoration:underline}.fld-stray button:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.fld-stray button{min-height:44px;padding:0 8px}}.fld-suggest{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:2px 8px;margin-top:6px}.fld-suggest button{background:none;border:0;color:var(--accent-text);cursor:pointer;font:inherit;font-weight:700;min-height:24px;padding:0 2px;text-decoration:underline}.fld-suggest button:focus-visible{border-radius:4px;outline:2px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.fld-suggest button{min-height:44px;padding:0 8px}}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--bad)!important}.brand-mark{border-radius:25%;display:block;flex-shrink:0}.brand-mark.login-mark{box-shadow:0 8px 32px var(--adim);margin:0 auto 16px}.brand-mark__tile{fill:var(--accent)}.brand-mark__links{fill:none;stroke:var(--on-accent);stroke-width:2.6;stroke-linecap:round}.brand-mark__node{fill:var(--on-accent)}.brand-mark__node.is-soft{opacity:.72}.brand-mark__core{fill:#0f172a;stroke:var(--on-accent);stroke-width:2.6}.mobile-nav__hub:focus-visible,.mobile-nav__item:focus-visible{border-radius:12px;outline:2px solid var(--accent);outline-offset:2px}.mobile-nav__hub:focus-visible{border-radius:50%}.mobile-nav__item:active>div{transform:scale(.9)}.mobile-nav__item>div{transition:background .2s,transform .12s ease-out}@media (prefers-reduced-motion:reduce){.mobile-nav__hub,.mobile-nav__item>div{transition:none!important}}:root{--m-font:"DM Sans",system-ui,sans-serif;--m-header-h:52px;--m-nav-h:62px;--m-page-pad:16px;--m-page-bottom:calc(var(--m-nav-h) + 34px + env(safe-area-inset-bottom, 0px));--m-radius-sm:10px;--m-radius:14px;--m-radius-lg:18px;--m-title-size:24px;--m-tap:44px;--m-sticky-top:0px;--m-sticky-bottom:0px}@media (max-width:767px){:root{--m-sticky-top:calc(var(--m-header-h) + env(safe-area-inset-top, 0px));--m-sticky-bottom:calc(79px + env(safe-area-inset-bottom, 0px))}}.m-page{background:var(--bg);color:var(--text);font-family:DM Sans,system-ui,sans-serif;font-family:var(--m-font);min-height:100%;padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px));padding-bottom:var(--m-page-bottom)}.m-page-header{background:var(--surface);border-bottom:1px solid var(--border);padding:20px 16px 16px;padding:20px var(--m-page-pad) 16px}.m-page-header__row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.m-page-header__text{min-width:0}.m-page-header__eyebrow{color:var(--accent-text);font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.m-page-header__title{color:var(--text);font-size:24px;font-size:var(--m-title-size);font-weight:800;letter-spacing:-.03em;line-height:1.15}.m-page-header__sub{color:var(--muted);font-size:12px;margin-top:4px}.m-page-header__actions{display:flex;flex-wrap:wrap;gap:8px}.m-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--surface) 90%,#0000);border-bottom:1px solid var(--border);font-family:DM Sans,system-ui,sans-serif;font-family:var(--m-font);gap:8px;height:calc(52px + env(safe-area-inset-top, 0px));height:calc(var(--m-header-h) + env(safe-area-inset-top, 0px));justify-content:space-between;left:0;padding:env(safe-area-inset-top,0) 8px 0 16px;padding:env(safe-area-inset-top,0) 8px 0 var(--m-page-pad);position:fixed;right:0;top:0;z-index:200}.m-header,.m-header__left{align-items:center;display:flex}.m-header__left{flex:1 1;gap:10px;min-width:0}.m-header__right{align-items:center;display:flex;flex-shrink:0;gap:2px}.m-header__brand{display:inline-flex;flex-shrink:0}.m-header__logo{border-radius:9px;box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 35%,#0000);display:grid;flex-shrink:0;place-items:center}.m-header__heading{display:flex;flex-direction:column;line-height:1.15;min-width:0}.m-header__title{color:var(--text);font-size:16px;font-weight:800;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-header__back,.m-header__icon{-webkit-tap-highlight-color:transparent;background:#0000;border:0;border-radius:12px;color:var(--text);cursor:pointer;display:grid;flex-shrink:0;font:inherit;height:44px;height:var(--m-tap);place-items:center;width:44px;width:var(--m-tap)}.m-header__back{margin-left:-8px}.m-header__icon{color:var(--muted);position:relative}.m-header__back:active,.m-header__icon:active{background:var(--adim)}.m-header__icon[aria-expanded=true]{background:var(--adim);color:var(--accent-text)}.m-header__avatar{background:none;border:0;cursor:pointer;display:grid;height:44px;height:var(--m-tap);padding:0;place-items:center;width:44px;width:var(--m-tap)}.m-header__badge{background:var(--bad);border:2px solid var(--bg);border-radius:99px;color:var(--on-fill);display:grid;font-size:12px;font-weight:800;height:16px;line-height:1;min-width:16px;padding:0 3px;place-items:center;position:absolute;right:2px;top:4px}.m-header button:focus-visible,.m-page button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.m-header *{transition:none!important}}.m-header__slot{position:relative}.dt-wrap{-webkit-overflow-scrolling:touch;background:var(--card);border:1.5px solid var(--border);border-radius:12px;overflow:auto}@media (max-width:767px){.dt-wrap{border-radius:14px}}.not-found{align-items:center;color:var(--text);display:flex;flex-direction:column;gap:var(--space-3);justify-content:center;min-height:60dvh;padding:var(--space-6) var(--space-4);text-align:center}.not-found__mark{background:var(--adim);border-radius:var(--radius-lg);color:var(--accent-text);display:grid;height:48px;place-items:center;width:48px}.not-found__title{font-size:clamp(22px,5vw,28px);line-height:1.2;margin:var(--space-2) 0 0}.not-found__text{color:var(--muted);font-size:14px;margin:0}.not-found__path{background:var(--col);border:1px solid var(--border2);border-radius:var(--radius-sm);color:var(--muted);font-size:13px;max-width:100%;overflow-wrap:anywhere;padding:var(--space-1) var(--space-3)}.not-found__home{background:var(--accent);border:0;border-radius:var(--radius-md);color:var(--on-accent);cursor:pointer;font:inherit;font-weight:700;margin-top:var(--space-2);min-height:44px;padding:0 var(--space-5)}.not-found__home:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.first-login-page{background:var(--bg);display:grid;min-height:100dvh;padding:24px;place-items:center}.first-login-card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);color:var(--text);padding:clamp(24px,5vw,38px);width:min(100%,440px)}.first-login-mark{background:var(--adim);border-radius:12px;color:var(--accent-text);display:grid;height:48px;place-items:center;width:48px}.first-login-eyebrow{color:var(--accent-text);font-size:12px;font-weight:700;letter-spacing:.08em;margin:24px 0 5px;text-transform:uppercase}.first-login-card h1{font-size:clamp(24px,5vw,30px);line-height:1.2;margin:0}.first-login-intro{color:var(--muted);font-size:14px;line-height:1.6;margin:10px 0 24px}.first-login-card label{display:block;font-size:13px;font-weight:700;margin:16px 0 7px}.first-login-card input{font-size:16px;min-height:44px;width:100%}.first-login-input{position:relative}.first-login-input input{padding-right:48px}.first-login-eye{background:#0000;border:0;border-radius:10px;color:var(--muted);cursor:pointer;display:grid;height:44px;place-items:center;position:absolute;right:0;top:0;width:44px}.first-login-eye:hover{color:var(--text)}.first-login-eye:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.first-login-card input:focus-visible,.first-login-signout:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.first-login-hint{color:var(--muted);font-size:12px;margin:6px 0 0}.first-login-error{color:var(--bad-text);font-size:13px;margin:16px 0}.first-login-signout{background:#0000;border:0;color:var(--muted);cursor:pointer;display:block;font:inherit;font-size:13px;margin:16px auto 0}.update-banner{align-items:center;animation:ub-rise .25s cubic-bezier(.23,1,.32,1);background:var(--card);border:1px solid var(--border);border-radius:999px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));box-shadow:0 6px 20px #0f172a29;color:var(--text);display:flex;font-size:13px;gap:10px;left:50%;max-width:calc(100vw - 32px);padding:4px 4px 4px 14px;position:fixed;transform:translateX(-50%);z-index:var(--z-banner)}@keyframes ub-rise{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.update-banner{animation:none}}.update-banner__dot{background:var(--accent);border-radius:50%;flex:none;height:8px;width:8px}.update-banner__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.update-banner__text small{color:var(--muted);font-size:12px}.update-banner button{align-items:center;background:none;border:0;border-radius:999px;color:var(--text);cursor:pointer;display:inline-flex;flex:none;font:inherit;font-weight:700;justify-content:center;min-height:36px;transition:transform .15s ease}.update-banner button:active{transform:scale(.97)}.update-banner .update-banner__primary{background:var(--accent);color:var(--on-fill);padding:0 16px}.update-banner .update-banner__close{color:var(--muted);width:36px}.update-banner button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (max-width:767px){.update-banner{bottom:calc(96px + env(safe-area-inset-bottom, 0px))}.update-banner button{min-height:44px}.update-banner .update-banner__close{min-width:44px;width:44px}}:root{--bg:#f1f5f9;--surface:#fff;--card:#fff;--border:#cbd5e1;--border2:#e2e8f0;--text:#0f172a;--muted:#475569;--muted2:#94a3b8;--accent:#2563eb;--on-accent:#fff;--on-fill:#fff;--danger-fill:#b4232b;--brand-2:#7c3aed;--brand-gradient:linear-gradient(135deg,var(--accent),var(--brand-2));--adim:#2563eb1a;--accent-text:#1d4ed8;--ok-text:#166534;--warn-text:#92400e;--bad-text:#b91c1c;--teal-text:#0f766e;--purple-text:#7e22ce;--info:#3b82f6;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--teal:#00d4aa;--purple:#a855f7;--border-strong:#7c8ca3;--col:#f8fafc;--shadow:0 4px 20px #0f172a14;--preview-bg:#fff;--preview-tx:#0f172a;color-scheme:light}:root[data-theme=dark]{--bg:#080e1a;--surface:#0d1526;--card:#111d35;--border:#1e2d4d;--border2:#152240;--text:#eef2ff;--muted:#7b90b8;--muted2:#4a6088;--accent:#2563eb;--on-accent:#fff;--on-fill:#fff;--danger-fill:#b4232b;--brand-2:#7c3aed;--brand-gradient:linear-gradient(135deg,var(--accent),var(--brand-2));--adim:#3b82f61f;--accent-text:#60a5fa;--ok-text:#4ade80;--warn-text:#fbbf24;--bad-text:#f87171;--teal-text:#2dd4bf;--purple-text:#c084fc;--info:#3b82f6;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;--teal:#00d4aa;--purple:#a855f7;--border-strong:#5b7094;--col:#080e1a;--shadow:0 8px 32px #0009;--preview-bg:#080e1a;--preview-tx:#3b82f6;color-scheme:dark}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-lg:16px;--text-xl:20px;--text-2xl:28px;--font-sans:"DM Sans",sans-serif;--font-mono:"JetBrains Mono",monospace;--radius-sm:8px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--z-sticky:30;--z-nav:700;--z-banner:900;--z-modal:1000;--z-toast:1100;--z-skip:10000;--ease-out:cubic-bezier(0.23,1,0.32,1);--dur-fast:0.15s;--dur:0.2s;--touch-min:44px;--focus-ring:2px solid var(--accent)}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:100 1000;src:url(/static/media/dm-sans-latin-wght-normal.09cead2724b8d8c7e453.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:100 800;src:url(/static/media/jetbrains-mono-latin-wght-normal.6724bbc0741b07b1d0b2.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif}input,select,textarea{background:var(--surface);border:1.5px solid var(--border-strong);border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:6px 14px;transition:all .2s;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--adim)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}button{font-family:inherit;outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}table{border-collapse:initial;border-spacing:0;width:100%}table,th{font-size:12px}th{background:var(--surface);border-bottom:1.5px solid var(--border);color:var(--muted);cursor:pointer;font-weight:700;letter-spacing:.08em;padding:12px 14px;position:sticky;text-align:left;text-transform:uppercase;top:0;-webkit-user-select:none;user-select:none;z-index:10}td,th:hover{color:var(--text)}td{border-bottom:1px solid var(--border2);font-family:JetBrains Mono,monospace;max-width:200px;overflow:hidden;padding:12px 14px;text-overflow:ellipsis;white-space:nowrap}tr:last-child td{border-bottom:none}tr:hover td{background:var(--surface)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fadeUp{animation:fadeUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.slideRight{animation:slideRight .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.slideDown{animation:slideDown .2s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeDown{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.slideUp{animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards}@keyframes spin{to{transform:rotate(1turn)}}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--adim)}70%{box-shadow:0 0 0 6px #0000}to{box-shadow:0 0 0 0 #0000}}.pulse-dot{animation:pulse 2s infinite}.nav-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--muted);cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:10px;margin-bottom:4px;padding:10px 14px;transition:all .15s;width:100%}.nav-btn:hover{background:var(--surface);color:var(--text)}.nav-btn.active{background:var(--adim);color:var(--accent-text)}.nav-btn.compact{justify-content:center;padding:10px 8px}.recharts-cartesian-axis-tick-value{fill:var(--muted)}.recharts-tooltip-wrapper{outline:none}@media (max-width:820px){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important;max-width:100%;min-width:0}}.time-field__hint{color:var(--warn-text);display:block;font-size:12px;font-weight:600;margin-top:4px}.rcc-list{grid-gap:2px;display:grid;gap:2px}.rcc-option{align-items:center;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-size:13px;gap:10px;min-height:40px;padding:0 8px}.rcc-option:hover{background:var(--surface)}.rcc-option input{accent-color:var(--accent);height:18px;padding:0;width:18px}.rcc-reset{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--accent-text);cursor:pointer;font:inherit;font-size:12px;font-weight:700;margin-top:6px;min-height:38px;width:100%}.rcc-reset:disabled{cursor:default;opacity:.4}.rcc-option input:focus-visible,.rcc-reset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.records-fixed{min-width:100%;table-layout:fixed}.records-fixed td,.records-fixed th{max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.records-fixed th{position:relative}.rcc-resizer{bottom:0;cursor:col-resize;position:absolute;right:0;top:0;touch-action:none;width:10px}.rcc-resizer:after{background:var(--border);border-radius:1px;bottom:25%;content:"";position:absolute;right:4px;top:25%;width:2px}.rcc-resizer:hover:after{background:var(--accent)}@media (pointer:coarse){.rcc-resizer{width:22px}.rcc-resizer:after{right:10px}}.rfp,.rmm{display:inline-block;position:relative}.rfp .rfp-btn,.rmm .rmm-btn{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:inline-flex;font:inherit;font-size:13px;font-weight:700;gap:6px;justify-content:center;min-height:44px;min-width:44px;padding:0 12px}.rfp .rfp-btn.is-active{background:var(--adim);border-color:var(--accent);color:var(--accent-text)}.rfp-count{background:var(--accent);border-radius:99px;color:var(--on-fill);display:inline-grid;font-size:12px;font-weight:800;height:18px;min-width:18px;padding:0 5px;place-items:center}.rfp-btn:focus-visible,.rfp-done:focus-visible,.rfp-reset:focus-visible,.rmm-btn:focus-visible,.rmm-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rfp-backdrop{background:#0006;inset:0;position:fixed;z-index:840}.rfp-panel{background:var(--card);border-radius:18px 18px 0 0;bottom:0;box-shadow:var(--shadow);display:flex;flex-direction:column;left:0;max-height:82vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:850}.rfp-head{align-items:center;color:var(--text);display:flex;font-size:16px;justify-content:space-between;margin-bottom:12px}.rfp .rfp-close{background:none;border:0;color:var(--muted);cursor:pointer;display:grid;height:40px;place-items:center;width:40px}.rfp-body{grid-gap:14px;display:grid;gap:14px;overflow-y:auto}.rfp-field{display:flex;flex-direction:column;gap:5px}.rfp-field-label,.rfp-section-title{color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.rfp-field select{font-size:14px;font-weight:600;min-height:44px;width:100%}.rfp-field.is-active select{background:var(--adim);border-color:var(--accent);color:var(--accent-text);font-weight:700}.rfp-foot{display:flex;gap:10px;margin-top:14px}.rfp .rfp-done,.rfp .rfp-reset{border-radius:12px;cursor:pointer;flex:1 1;font:inherit;font-size:14px;font-weight:700;min-height:44px}.rfp .rfp-reset{background:#0000;border:1px solid var(--border);color:var(--text)}.rfp .rfp-reset:disabled{cursor:default;opacity:.4}.rfp .rfp-done{background:var(--accent);border:1px solid var(--accent);color:var(--on-fill)}.rmm-menu{background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);min-width:200px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:30}.rmm .rmm-item{align-items:center;background:none;border:0;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:600;gap:10px;min-height:44px;padding:0 12px;text-align:left;width:100%}.rmm .rmm-item:hover{background:var(--surface)}.rmm .rmm-item.is-danger{color:var(--bad-text)}.rmm .rmm-item:disabled{cursor:default;opacity:.5}.raf{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.raf,.raf-chip{align-items:center}.raf-chip{background:var(--adim);border:1px solid var(--accent);border-radius:999px;color:var(--accent-text);display:inline-flex;font-size:12px;font-weight:700;gap:4px;min-height:32px;padding:0 4px 0 12px}.raf-chip button{background:none;border:0;color:inherit;cursor:pointer;display:grid;height:28px;place-items:center;width:28px}.raf-count{color:var(--muted);font-size:12px}.raf .raf-clear{background:#0000;border:1px solid var(--border);border-radius:999px;color:var(--accent-text);cursor:pointer;font:inherit;font-size:12px;font-weight:700;min-height:32px;padding:0 12px}@media (min-width:768px){.rfp-backdrop{display:none}.rfp-panel{border:1px solid var(--border);border-radius:12px;bottom:auto;left:auto;max-height:70vh;padding:14px;position:absolute;right:0;top:calc(100% + 6px);width:340px}}@media (max-width:767px){.rfp .rfp-btn-text{display:none}}.incident-chips{align-items:center;display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.incident-chip{background:var(--surface);border:1px solid var(--border);border-radius:999px;color:var(--text);font-size:12px;font-weight:700;padding:2px 9px}.incident-chip.is-high{border-color:color-mix(in srgb,var(--bad) 50%,#0000);color:var(--bad-text)}.incident-chip--action,.incident-chip.is-editing{border-color:var(--accent);color:var(--accent-text)}.incident-chip--action{align-items:center;background:var(--adim);cursor:pointer;display:inline-flex;font:inherit;font-size:12px;font-weight:700;gap:5px}.incident-chip--action:hover:not(:disabled){background:var(--surface)}.incident-chip--action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.incident-chip--action:disabled{cursor:not-allowed;opacity:.5}.incident-chip-error{color:var(--bad-text);font-size:12px;font-weight:600}@media (pointer:coarse){.incident-chip--action{min-height:44px;padding:0 14px}}.incident-modal__body{gap:10px}.incident-error{background:color-mix(in srgb,var(--bad) 10%,#0000);border:1px solid color-mix(in srgb,var(--bad) 40%,#0000);border-radius:10px;color:var(--bad-text);font-size:12px;padding:10px 12px}.incident-timeline{grid-gap:10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:10px 12px}.incident-timeline small{color:var(--muted);display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase}.incident-timeline strong{color:var(--text);display:block;font-size:13px}.incident-timeline>div:last-child{text-align:end}.incident-timeline__middle{background:var(--card);border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px;font-weight:700;padding:3px 12px;white-space:nowrap}.incident-timeline.is-open .incident-timeline__middle{background:color-mix(in srgb,var(--warn) 10%,#0000);border-color:color-mix(in srgb,var(--warn) 50%,#0000);color:var(--warn-text)}.incident-card,.incident-edit,.incident-timeline{animation:incident-in .26s ease-out both}.incident-modal__body>:nth-child(2){animation-delay:.03s}.incident-modal__body>:nth-child(3){animation-delay:.07s}.incident-modal__body>:nth-child(4){animation-delay:.11s}.incident-modal__body>:nth-child(5){animation-delay:.15s}.incident-chip,.incident-timeline__middle{transition:background-color .2s ease,color .2s ease,border-color .2s ease}@keyframes incident-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.incident-card,.incident-edit,.incident-timeline{animation:none}.incident-chip,.incident-timeline__middle{transition:none}}.incident-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.incident-card h3{color:var(--accent-text);font-size:12px;font-weight:800;letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase}.incident-card dl{grid-gap:10px;display:grid;gap:10px;margin:0}.incident-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.incident-fact dt{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.incident-fact dd{color:var(--text);font-size:14px;line-height:1.5;margin:3px 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.incident-fact dd.is-empty{color:var(--muted);font-style:italic}.incident-links__list{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.incident-link{background:var(--card);border:1px solid var(--border);border-radius:8px;font-size:12px;font-weight:600;padding:4px 10px}.incident-edit{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px}.incident-edit__field{min-width:0}.incident-edit__field input{max-width:100%;min-width:0}.incident-edit__title{color:var(--accent-text);font-size:12px;font-weight:800;grid-column:1/-1;letter-spacing:.05em;text-transform:uppercase}.incident-edit__note{color:var(--muted);font-size:12px;grid-column:1/-1}.incident-modal__footer{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:10px}.incident-created{color:var(--muted);font-size:12px}.incident-modal__actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width:767px){.incident-edit__field--date,.incident-edit__field--time{grid-column:1/-1}.incident-modal__body input,.incident-modal__body select,.incident-modal__body textarea{font-size:16px;min-height:44px}.incident-timeline{grid-template-columns:minmax(0,1fr);text-align:start}.incident-timeline>div:last-child{text-align:start}.incident-timeline__middle{justify-self:start}.incident-modal__footer{background:var(--card);border-bottom:0;border-left:0;border-radius:0;border-right:0;bottom:-10px;box-shadow:0 -6px 16px #0000001f;margin:0 -10px -10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));position:sticky;z-index:5}.incident-created,.incident-modal__actions{width:100%}.incident-modal__actions>button{flex:1 1;font-size:13px!important;min-height:44px}}.incident-history>summary{align-items:center;color:var(--accent-text);cursor:pointer;display:flex;font-size:12px;font-weight:800;gap:12px;justify-content:space-between;letter-spacing:.06em;list-style:none;min-height:28px;text-transform:uppercase}.incident-history>summary::-webkit-details-marker{display:none}.incident-history>summary:focus-visible{border-radius:3px;outline:2px solid var(--accent);outline-offset:4px}.incident-history__summary-meta{align-items:center;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:0;text-transform:none}.incident-history__summary-meta svg{transition:transform .18s ease}.incident-history[open] .incident-history__summary-meta svg{transform:rotate(180deg)}.incident-history>ol{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:12px 0 0;padding:0}@media (max-width:767px){.incident-history>summary{min-height:44px}}@media (prefers-reduced-motion:reduce){.incident-history__summary-meta svg{transition:none}}.incident-history>ol>li{border-left:2px solid var(--border);padding-left:12px}.incident-history__head{display:flex;flex-wrap:wrap;font-size:12px;gap:4px 12px;justify-content:space-between}.incident-history__head time{color:var(--muted)}.incident-history ul{font-size:12px;margin:6px 0 0;overflow-wrap:anywhere;padding-left:18px}.incident-history ul li+li{margin-top:4px}.incident-history ul span{color:var(--muted)}.tcc-employee-picker{grid-gap:5px;display:grid;gap:5px;min-width:160px}.tcc-employee-picker select{background:var(--card);border:1px solid var(--border);border-radius:5px;color:var(--text);font:inherit;font-size:12px;min-height:32px;padding:4px;width:100%}@media (max-width:640px){.tcc-employee-picker select{font-size:14px;min-height:44px}}