:root,:root[data-theme=light]{--bg:#f4f7fb;--bg-secondary:#e9eef5;--card:#ffffff;--card-hover:#f8fafc;--card-muted:#f8fafc;--border:#d8dee7;--border-strong:#c9d2de;--text:#152235;--text-muted:#5f6f85;--primary:#16263a;--primary-foreground:#f4f7fb;--primary-strong:#0f1c2d;--accent:#0f766e;--accent-foreground:#f4fffd;--accent-bg:rgba(15,118,110,0.12);--accent-border:rgba(15,118,110,0.22);--accent-soft:rgba(15,118,110,0.12);--info:#1d4ed8;--info-bg:#eff6ff;--info-border:#bfdbfe;--info-text:#1d4ed8;--field-bg:#fbfdff;--field-border:#c9d2de;--field-focus:#17324d;--field-focus-ring:rgba(23,50,77,0.14);--field-disabled-bg:#f3f5f8;--field-disabled-text:#8a97a8;--danger:#d92d20;--danger-bg:#fff7f7;--danger-border:#fecdd3;--danger-text:#9f1239;--success-text:#166534;--success:#176c3a;--success-bg:#eefbf3;--success-border:#b6dfc2;--warning:#b45309;--warning-bg:#fff8e6;--warning-border:#ead7a0;--warning-text:#8a5a00;--neutral-bg:#f8fafc;--neutral-border:#d8dee7;--neutral-text:#475569;--sidebar-bg:#152235;--sidebar-text:#d7e0ec;--sidebar-muted:rgba(243,246,251,0.72);--sidebar-border:rgba(255,255,255,0.08);--sidebar-active-bg:#f4f7fb;--sidebar-active-text:#152235;--backdrop:rgba(8,15,28,0.38);--shadow-soft:0 18px 40px rgba(15,23,42,0.08);--js-color-surface:var(--card);--js-color-ink:var(--text);--js-color-border:var(--border);--js-color-border-strong:var(--border-strong);--js-color-muted:var(--text-muted);--js-color-field-bg:var(--field-bg);--js-color-field-border:var(--field-border);--js-color-field-focus:var(--field-focus);--js-color-field-focus-ring:var(--field-focus-ring);--js-color-field-disabled-bg:var(--field-disabled-bg);--js-color-field-disabled-text:var(--field-disabled-text);--js-color-field-error:var(--danger);--js-color-field-error-bg:var(--danger-bg);--js-color-field-success:var(--success);--js-button-font-size:14px}:root[data-theme=dark]{--bg:#0b1220;--bg-secondary:#111a2b;--card:#121c2f;--card-hover:#182337;--card-muted:#182337;--border:#273349;--border-strong:#32415a;--text:#e7edf7;--text-muted:#9bacbf;--primary:#d9e4f3;--primary-foreground:#08101d;--primary-strong:#ffffff;--accent:#3dd5c3;--accent-foreground:#071613;--accent-bg:rgba(61,213,195,0.14);--accent-border:rgba(61,213,195,0.28);--accent-soft:rgba(61,213,195,0.14);--info:#93c5fd;--info-bg:rgba(59,130,246,0.18);--info-border:rgba(147,197,253,0.34);--info-text:#bfdbfe;--field-bg:#0f1728;--field-border:#32415a;--field-focus:#7cc9ff;--field-focus-ring:rgba(124,201,255,0.18);--field-disabled-bg:#141d2f;--field-disabled-text:#73839a;--danger:#fb7185;--danger-bg:rgba(251,113,133,0.12);--danger-border:rgba(251,113,133,0.34);--danger-text:#fecdd3;--success-text:#bbf7d0;--success:#4ade80;--success-bg:rgba(74,222,128,0.12);--success-border:rgba(74,222,128,0.3);--warning:#fbbf24;--warning-bg:rgba(251,191,36,0.12);--warning-border:rgba(251,191,36,0.3);--warning-text:#fcd34d;--neutral-bg:var(--card-muted);--neutral-border:var(--border);--neutral-text:var(--text-muted);--sidebar-bg:#08101d;--sidebar-text:#cdd8e8;--sidebar-muted:rgba(205,216,232,0.68);--sidebar-border:rgba(205,216,232,0.08);--sidebar-active-bg:#d9e4f3;--sidebar-active-text:#08101d;--backdrop:rgba(2,6,23,0.62);--shadow-soft:0 18px 40px rgba(2,6,23,0.42);--js-color-surface:var(--card);--js-color-ink:var(--text);--js-color-border:var(--border);--js-color-border-strong:var(--border-strong);--js-color-muted:var(--text-muted);--js-color-field-bg:var(--field-bg);--js-color-field-border:var(--field-border);--js-color-field-focus:var(--field-focus);--js-color-field-focus-ring:var(--field-focus-ring);--js-color-field-disabled-bg:var(--field-disabled-bg);--js-color-field-disabled-text:var(--field-disabled-text);--js-color-field-error:var(--danger);--js-color-field-error-bg:var(--danger-bg);--js-color-field-success:var(--success)}*{box-sizing:border-box}html{color:var(--text)}body,html{background:var(--bg)}body{margin:0;color:var(--js-color-ink);font-family:Segoe UI,Helvetica,Arial,sans-serif;transition:background-color .2s ease,color .2s ease}a{color:inherit}::selection{background:var(--accent-soft)}.js-form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease}.js-form-control::placeholder{color:var(--text-muted)}.js-form-control:focus,.js-form-control:focus-visible{border-color:var(--js-color-field-focus);box-shadow:0 0 0 4px var(--js-color-field-focus-ring)}.js-form-control:disabled,.js-form-control[aria-disabled=true]{background:var(--js-color-field-disabled-bg);color:var(--js-color-field-disabled-text);border-color:var(--border);cursor:not-allowed}.js-form-control--error{border-color:var(--js-color-field-error);background:var(--js-color-field-error-bg)}.js-form-control--error:focus,.js-form-control--error:focus-visible{border-color:var(--js-color-field-error);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 18%,transparent)}.js-form-control--success{border-color:var(--js-color-field-success)}.js-form-control--success:focus,.js-form-control--success:focus-visible{border-color:var(--js-color-field-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--success) 18%,transparent)}.js-form-field__message{min-height:18px}.js-form-field__message:empty{display:none}.js-button{--js-button-bg:var(--primary);--js-button-fg:var(--primary-foreground);--js-button-border:var(--primary);--js-button-hover-bg:var(--primary-strong);--js-button-hover-fg:var(--primary-foreground);--js-button-hover-border:var(--primary-strong);--js-button-active-bg:var(--primary-strong);--js-button-active-fg:var(--primary-foreground);--js-button-active-border:var(--primary-strong);--js-button-focus:color-mix(in srgb,var(--primary) 18%,transparent);--js-button-shadow:color-mix(in srgb,var(--text) 8%,transparent);--js-button-height:44px;--js-button-padding-x:16px;--js-button-radius:12px;--js-button-opacity-disabled:0.56;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--js-button-height);padding:0 var(--js-button-padding-x);border-radius:var(--js-button-radius);border:1px solid var(--js-button-border);background:var(--js-button-bg);color:var(--js-button-fg);text-decoration:none;font-size:var(--js-button-font-size);font-weight:700;line-height:1.2;letter-spacing:.01em;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .08s ease,opacity .16s ease}.js-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--js-button-hover-bg);color:var(--js-button-hover-fg);border-color:var(--js-button-hover-border);box-shadow:0 10px 20px var(--js-button-shadow)}.js-button:active:not(:disabled):not([aria-disabled=true]){background:var(--js-button-active-bg);color:var(--js-button-active-fg);border-color:var(--js-button-active-border);transform:translateY(1px);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--text) 14%,transparent)}.js-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--js-button-focus),0 10px 20px var(--js-button-shadow)}.js-button:disabled,.js-button[aria-disabled=true]{opacity:var(--js-button-opacity-disabled);cursor:not-allowed;transform:none;box-shadow:none}.js-button[aria-busy=true]{cursor:progress}.js-button--full{width:100%}.js-button--sm{--js-button-height:38px;--js-button-padding-x:12px;--js-button-radius:10px;--js-button-font-size:13px}.js-button--lg{--js-button-height:52px;--js-button-padding-x:22px;--js-button-radius:14px;--js-button-font-size:16px}.js-button--primary{--js-button-bg:var(--primary);--js-button-fg:var(--primary-foreground);--js-button-border:var(--primary);--js-button-hover-bg:var(--primary-strong);--js-button-hover-border:var(--primary-strong);--js-button-active-bg:var(--primary-strong);--js-button-active-border:var(--primary-strong)}.js-button--secondary{--js-button-bg:var(--card);--js-button-fg:var(--text);--js-button-border:var(--border-strong);--js-button-hover-bg:var(--card-muted);--js-button-hover-fg:var(--text);--js-button-hover-border:var(--border-strong);--js-button-active-bg:var(--bg-secondary);--js-button-active-fg:var(--text);--js-button-active-border:var(--border-strong)}.js-button--ghost{--js-button-bg:transparent;--js-button-fg:var(--text-muted);--js-button-border:color-mix(in srgb,var(--border-strong) 72%,transparent);--js-button-hover-bg:color-mix(in srgb,var(--card-hover) 88%,transparent);--js-button-hover-fg:var(--text);--js-button-hover-border:var(--border-strong);--js-button-active-bg:color-mix(in srgb,var(--bg-secondary) 95%,transparent);--js-button-active-fg:var(--text);--js-button-active-border:var(--border-strong)}.js-button--destructive{--js-button-bg:var(--danger-bg);--js-button-fg:var(--danger-text);--js-button-border:var(--danger-border);--js-button-hover-bg:color-mix(in srgb,var(--danger) 18%,transparent);--js-button-hover-fg:var(--danger-text);--js-button-hover-border:color-mix(in srgb,var(--danger) 72%,transparent);--js-button-active-bg:color-mix(in srgb,var(--danger) 24%,transparent);--js-button-active-fg:var(--danger-text);--js-button-active-border:color-mix(in srgb,var(--danger) 90%,transparent)}.js-button--success{--js-button-bg:var(--success);--js-button-fg:var(--primary-foreground);--js-button-border:var(--success);--js-button-hover-bg:color-mix(in srgb,var(--success) 88%,var(--text));--js-button-hover-border:color-mix(in srgb,var(--success) 88%,var(--text));--js-button-active-bg:color-mix(in srgb,var(--success) 72%,var(--text));--js-button-active-border:color-mix(in srgb,var(--success) 72%,var(--text))}.js-button--link{--js-button-bg:transparent;--js-button-fg:var(--primary);--js-button-border:transparent;--js-button-hover-bg:color-mix(in srgb,var(--primary) 6%,transparent);--js-button-hover-fg:var(--primary);--js-button-hover-border:transparent;--js-button-active-bg:color-mix(in srgb,var(--primary) 10%,transparent);--js-button-active-fg:var(--primary);--js-button-active-border:transparent;min-height:auto;padding:0;border-radius:8px}.js-button__spinner{width:14px;height:14px;border-radius:999px;border:2px solid;border-right:2px solid transparent;animation:js-button-spin .75s linear infinite}.js-button__content{display:inline-flex;align-items:center;justify-content:center;gap:10px}@keyframes js-button-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.js-button,.js-button__spinner{transition:none;animation:none}}.js-auth-page{min-height:100dvh}.js-auth-card,.js-auth-shell{width:100%}.js-responsive-two-panel{display:grid;grid-template-columns:minmax(320px,400px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.js-sticky-desktop{position:-webkit-sticky;position:sticky;top:24px;align-self:start;height:-moz-fit-content;height:fit-content}.js-mobile-full-width-actions{display:flex;gap:12px;flex-wrap:wrap}.js-mobile-scroll-row{scrollbar-width:thin}.js-office-page-body{padding:24px}.js-office-header{padding:20px 24px}.js-office-header-title{min-width:0}.js-office-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.js-tech-tablist{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.js-mobile-action-bar{display:grid;grid-gap:12px;gap:12px}.js-dispatch-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:10px;gap:10px}@media (max-width:1080px){.js-responsive-two-panel{grid-template-columns:minmax(0,1fr)}.js-sticky-desktop{position:static;top:auto}.js-office-page-body{padding:20px}}@media (max-width:900px){.js-auth-shell{max-width:560px}.js-auth-brand{order:2}.js-auth-card{order:1}.js-dispatch-calendar{display:flex;overflow-x:auto;padding-bottom:4px}.js-dispatch-calendar>*{flex:0 0 108px}}@media (max-width:640px){.js-auth-page{padding:16px!important;place-items:start center!important}.js-auth-shell{gap:18px!important}.js-auth-brand{gap:14px!important}.js-auth-card{padding:20px!important;border-radius:20px!important}.js-auth-links{flex-direction:column;align-items:stretch}.js-auth-links>*{width:100%}.js-mobile-full-width-actions>*{flex:1 1 100%;width:100%}.js-mobile-full-width-actions .js-button,.js-mobile-full-width-actions a,.js-mobile-full-width-actions button{width:100%}.js-office-header,.js-office-page-body{padding:16px}.js-office-header-actions,.js-office-header-title{width:100%}.js-office-header-actions>*{flex:1 1 100%}.js-tech-tablist{display:flex;overflow-x:auto;padding-bottom:4px}.js-tech-tablist>*{flex:0 0 auto;min-width:120px}.js-mobile-action-bar{position:-webkit-sticky;position:sticky;bottom:12px;z-index:5}}