:root,[data-theme=light]{color-scheme:light;--bg: #e8ecf1;--bg-glow-a: rgba(56, 189, 248, .18);--bg-glow-b: rgba(99, 102, 241, .12);--ink: #0f172a;--muted: #64748b;--card: rgba(255, 255, 255, .62);--card-solid: #f8fafc;--glass: rgba(255, 255, 255, .55);--glass-strong: rgba(255, 255, 255, .78);--line: rgba(15, 23, 42, .1);--line-strong: rgba(15, 23, 42, .16);--accent: #0d9488;--accent-2: #0f766e;--accent-soft: rgba(13, 148, 136, .14);--warn: #c2410c;--warn-soft: rgba(194, 65, 12, .12);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--ok: #15803d;--ok-soft: rgba(22, 163, 74, .12);--shadow: 0 10px 30px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 50px rgba(15, 23, 42, .12);--inset: inset 0 1px 0 rgba(255, 255, 255, .65);--nav-scrim: rgba(248, 250, 252, .72);--pill-grad: linear-gradient(145deg, #0f766e, #115e59);--mega-grad: linear-gradient(145deg, #134e4a 0%, #0f766e 100%);--table-head: rgba(241, 245, 249, .9);--focus: rgba(13, 148, 136, .35);--theme-meta: #0f172a}[data-theme=dark]{color-scheme:dark;--bg: #070b12;--bg-glow-a: rgba(45, 212, 191, .12);--bg-glow-b: rgba(56, 189, 248, .08);--ink: #e8eef7;--muted: #8b9bb0;--card: rgba(18, 26, 38, .72);--card-solid: #121a26;--glass: rgba(22, 32, 48, .55);--glass-strong: rgba(22, 32, 48, .82);--line: rgba(148, 163, 184, .14);--line-strong: rgba(148, 163, 184, .22);--accent: #2dd4bf;--accent-2: #5eead4;--accent-soft: rgba(45, 212, 191, .14);--warn: #fb923c;--warn-soft: rgba(251, 146, 60, .14);--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--ok: #4ade80;--ok-soft: rgba(74, 222, 128, .12);--shadow: 0 12px 36px rgba(0, 0, 0, .35);--shadow-lg: 0 24px 60px rgba(0, 0, 0, .45);--inset: inset 0 1px 0 rgba(255, 255, 255, .06);--nav-scrim: rgba(7, 11, 18, .78);--pill-grad: linear-gradient(145deg, rgba(45, 212, 191, .22), rgba(14, 116, 144, .28));--mega-grad: linear-gradient(145deg, rgba(15, 118, 110, .55), rgba(8, 47, 73, .7));--table-head: rgba(15, 23, 42, .85);--focus: rgba(45, 212, 191, .4);--theme-meta: #e8eef7}*{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif;color:var(--ink);background:radial-gradient(900px 480px at 0% -10%,var(--bg-glow-a),transparent 55%),radial-gradient(700px 420px at 100% 0%,var(--bg-glow-b),transparent 50%),radial-gradient(600px 400px at 50% 110%,var(--bg-glow-a),transparent 45%),var(--bg);background-attachment:fixed;overscroll-behavior-y:contain;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select{font-size:16px}.app{min-height:100%;display:grid;grid-template-columns:248px 1fr}.only-mobile{display:none!important}.desktop-only{display:block}.haul-cards{display:none}.glass{background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow),var(--inset);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35)}.sidebar{background:var(--glass-strong);border-right:1px solid var(--line);padding:1.15rem .9rem;display:flex;flex-direction:column;gap:.4rem;position:sticky;top:0;height:100vh;backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);box-shadow:var(--inset)}@media (max-width: 900px){.app{grid-template-columns:1fr;padding-bottom:calc(var(--nav-h, 64px) + var(--safe-b, 0px) + 8px)}.sidebar{display:none!important;pointer-events:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important}.mobile-nav{display:flex!important}.only-mobile{display:inline-flex!important}.desktop-only{display:none!important}.haul-cards{display:flex;flex-direction:column;gap:.45rem}.main{padding:.7rem .85rem 1.15rem;padding-top:calc(.45rem + var(--safe-t, 0px));position:relative;z-index:1}.topbar{position:sticky;top:0;z-index:20;margin:-.45rem -.85rem .75rem;padding:.55rem .85rem;background:var(--nav-scrim);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line)}.page-title{font-size:1.15rem!important}.sticky-filters{position:sticky;top:52px;z-index:15;background:var(--nav-scrim);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin:0 -.85rem;padding:.45rem .85rem .55rem;border-bottom:1px solid transparent}}:root{--nav-h: 64px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--radius: 14px;--font: "IBM Plex Sans", "Segoe UI", sans-serif;--display: "Manrope", "IBM Plex Sans", sans-serif;--mono: "IBM Plex Sans", "Segoe UI", sans-serif}.brand{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.03em;line-height:1.2;padding:.35rem .55rem .85rem}.brand span{display:block;color:var(--muted);font-size:.7rem;font-weight:500;margin-top:.2rem;letter-spacing:0}.brand-block{padding:.25rem .45rem .95rem;display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.brand-pill{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .95rem;border-radius:999px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--inset),var(--shadow);font-family:var(--display);font-weight:800;font-size:.95rem;letter-spacing:-.03em;color:var(--accent-2)}.brand-sub{font-family:var(--display);font-weight:600;font-size:.82rem;color:var(--muted);letter-spacing:-.01em;padding-left:.2rem}.detail-title{margin:0;font-size:1.2rem;word-break:break-word}.nav-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:12px;padding:.62rem .8rem;color:var(--muted);font-weight:500;display:flex;align-items:center;gap:.55rem;transition:background .15s,color .15s,border-color .15s}.nav-btn.active,.nav-btn:hover{background:var(--accent-soft);color:var(--accent-2);border-color:var(--line)}.main{padding:1.15rem 1.4rem 1.75rem;min-width:0}.topbar{display:flex;gap:.65rem;align-items:center;justify-content:space-between;margin-bottom:.9rem}.topbar-actions{display:flex;gap:.35rem;align-items:center}.meta{color:var(--muted);font-size:.8rem;line-height:1.35}.btn{border:none;border-radius:12px;padding:.65rem .95rem;min-height:42px;font-weight:600;background:var(--accent);color:#042f2e;width:100%;box-shadow:var(--inset)}[data-theme=light] .btn{color:#fff}.btn:disabled{opacity:.55;cursor:wait}.btn.ghost{background:var(--glass);color:var(--ink);border:1px solid var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-icon{width:42px;min-width:42px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-lg{min-height:48px;font-size:1.02rem}.theme-switch{border:none;background:transparent;padding:0;width:auto;min-height:0;display:inline-flex;box-shadow:none;color:inherit}.theme-switch-track{position:relative;width:76px;height:38px;border-radius:999px;border:1.5px solid transparent;display:block;overflow:hidden;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}.theme-switch.is-light .theme-switch-track{background:linear-gradient(135deg,#fde68a,#fbbf24 40%,#f59e0b);border-color:#d97706;box-shadow:inset 0 1px #ffffff8c,0 0 0 2px #fbbf2459,0 4px 14px #f59e0b59}.theme-switch.is-dark .theme-switch-track{background:linear-gradient(135deg,#1e3a8a,#2563eb 45%,#0ea5e9);border-color:#3b82f6;box-shadow:inset 0 1px #ffffff26,0 0 0 2px #3b82f666,0 4px 16px #2563eb73}.theme-switch-knob{position:absolute;top:3px;left:3px;width:30px;height:30px;border-radius:50%;z-index:1;display:grid;place-items:center;transition:transform .35s cubic-bezier(.34,1.4,.64,1),background .3s ease,box-shadow .3s ease,color .3s ease}.theme-switch-knob svg{width:16px;height:16px;display:block}.theme-switch.is-light .theme-switch-knob{background:radial-gradient(circle at 35% 30%,#fffbeb,#fef3c7 45%,#fde68a);color:#92400e;box-shadow:0 2px 8px #92400e59,inset 0 1px #fff,0 0 10px #fbbf248c}.theme-switch.is-light .theme-switch-knob svg{fill:#f59e0b;color:#92400e}.theme-switch.is-dark .theme-switch-knob{transform:translate(40px);background:radial-gradient(circle at 35% 30%,#f8fafc,#e2e8f0 55%,#cbd5e1);color:#0f172a;box-shadow:0 2px 10px #0f172a73,inset 0 1px #ffffffd9,0 0 12px #60a5fa8c}.theme-switch.is-dark .theme-switch-knob svg{fill:#0f172a;color:#0f172a}.theme-switch:active .theme-switch-knob{width:34px}.theme-switch.is-dark:active .theme-switch-knob{transform:translate(36px)}.stack{display:flex;flex-direction:column;gap:.65rem}.filters{display:flex;flex-wrap:wrap;gap:.45rem;align-items:end}.field{min-width:0}.field.grow{flex:1 1 140px}.field label{display:block;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.22rem}.field input,.field select{width:100%;border:1px solid var(--line);background:var(--glass-strong);border-radius:11px;padding:.6rem .75rem;min-height:42px;color:var(--ink);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--inset)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.1rem;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 9px) calc(50% - 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;font-weight:600;font-size:.88rem;cursor:pointer}.field select:hover{border-color:var(--line-strong)}.field input:focus,.field select:focus,.date-range-btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.chip-row{display:flex;gap:.35rem;flex-wrap:wrap;width:100%}.chip{border:1px solid var(--line);background:var(--glass);color:var(--muted);border-radius:999px;padding:.45rem .85rem;min-height:36px;font-weight:600;font-size:.84rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip.on{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent-2)}.summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}@media (min-width: 720px){.summary{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}}.summary .pill{background:var(--pill-grad);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:.7rem .8rem;min-width:0;box-shadow:var(--shadow),var(--inset);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-theme=light] .summary .pill{color:#ecfdf5}.summary .pill .lbl{font-size:.65rem;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em}.summary .pill .val{font-family:var(--display);font-size:1.28rem;font-weight:700;margin-top:.12rem;word-break:break-word;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.company-list{display:flex;flex-direction:column;gap:.4rem}.company-card{display:flex;align-items:center;gap:.55rem;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:var(--radius);padding:.8rem .9rem;min-height:58px;box-shadow:var(--shadow),var(--inset);color:var(--ink);backdrop-filter:blur(14px) saturate(1.25);-webkit-backdrop-filter:blur(14px) saturate(1.25);transition:border-color .15s,transform .12s}.company-card:hover{border-color:var(--line-strong)}.company-card:active{transform:scale(.99)}.company-card-main{flex:1;min-width:0}.company-card h3{margin:0 0 .18rem;font-family:var(--display);font-size:.95rem;font-weight:700;line-height:1.25;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-group-title.linkish{border:none;background:transparent;padding:0;color:var(--accent-2);font:inherit;font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:-.02em;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.day-group-title.linkish:active{opacity:.75}.gap-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--inset)}.gap-card-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.65rem;text-align:left;border:none;background:transparent;padding:.8rem .9rem;color:var(--ink)}.gap-title{font-family:var(--display);font-weight:700;font-size:.92rem}.gap-body{border-top:1px solid var(--line);padding:.35rem;display:flex;flex-direction:column;gap:.2rem}.gap-row{display:flex;justify-content:space-between;gap:.75rem;border:none;background:transparent;color:var(--ink);padding:.55rem .65rem;border-radius:10px;text-align:left;font-weight:600}.gap-row.static{cursor:default;pointer-events:none}.gap-row.gap-result{background:var(--accent-soft);font-weight:700}.gap-sheet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.gap-m3{flex-shrink:0;color:var(--accent-2);font-variant-numeric:tabular-nums}.history-list{display:flex;flex-direction:column;gap:.45rem}.history-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--inset)}.history-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.65rem;text-align:left;border:none;background:transparent;padding:.8rem .9rem;color:var(--ink)}.history-title{font-family:var(--display);font-weight:700;font-size:.9rem;letter-spacing:-.02em}.history-detail{margin:0;padding:.75rem .9rem .9rem;border-top:1px solid var(--line);font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--muted);font-family:var(--font);background:color-mix(in srgb,var(--card-solid) 60%,transparent)}.sync-banner.stale{background:var(--warn-soft);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent)}@media (max-width: 900px){.mobile-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 .1rem}}.company-card .stats{display:flex;flex-wrap:wrap;gap:.2rem .3rem;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}.company-card .stats strong{color:var(--ink);font-weight:650}.company-card svg{color:var(--muted);flex-shrink:0;opacity:.7}.haul-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem;box-shadow:var(--shadow),var(--inset);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.haul-card-top{display:flex;justify-content:space-between;gap:.65rem;align-items:flex-start}.haul-vehicle{font-family:var(--display);font-weight:700;font-size:.95rem;letter-spacing:-.02em}.haul-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;margin-top:.2rem;font-size:.76rem;color:var(--muted)}.haul-total{text-align:right;flex-shrink:0}.haul-total strong{display:block;font-family:var(--display);font-size:1.12rem;color:var(--accent-2);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.haul-total span{font-size:.7rem;color:var(--muted)}.haul-stats{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.55rem;padding-top:.55rem;border-top:1px solid var(--line)}.haul-stats .k{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.haul-stats .v{font-weight:600;font-size:.9rem;font-variant-numeric:tabular-nums}.haul-footer{margin-top:.2rem;padding:.65rem .8rem;border-radius:12px;background:var(--accent-soft);color:var(--accent-2);border:1px solid var(--line);font-size:.86rem;display:flex;flex-wrap:wrap;gap:.2rem .35rem;align-items:center;font-variant-numeric:tabular-nums}.day-groups{display:flex;flex-direction:column;gap:.45rem}.day-group{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow),var(--inset);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.day-group-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.65rem;text-align:left;border:none;background:transparent;padding:.8rem .9rem;min-height:52px;color:var(--ink)}.day-group-title{font-family:var(--display);font-weight:700;font-size:.92rem;letter-spacing:-.02em}.day-group .haul-cards,.day-group .table-wrap{border-top:1px solid var(--line);padding:.55rem;background:color-mix(in srgb,var(--card-solid) 55%,transparent)}.chev{color:var(--muted);transition:transform .15s;display:inline-flex}.chev.open{transform:rotate(90deg)}.record-list{display:flex;flex-direction:column;gap:.4rem}.record-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem;display:flex;justify-content:space-between;gap:.65rem;align-items:flex-start;box-shadow:var(--inset);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.record-title{font-weight:700;font-family:var(--display);letter-spacing:-.02em}.record-metrics{text-align:right;font-variant-numeric:tabular-nums}.record-metric .k{display:block;font-size:.62rem;color:var(--muted);text-transform:uppercase}.record-metric .v{font-weight:650}.table-wrap{overflow:auto;border-radius:12px;border:1px solid var(--line);-webkit-overflow-scrolling:touch;background:var(--card);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}table.data{width:100%;border-collapse:collapse;font-size:.86rem;background:transparent;font-variant-numeric:tabular-nums}table.data th,table.data td{padding:.5rem .65rem;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.data th{background:var(--table-head);color:var(--muted);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}table.data tfoot td{background:var(--accent-soft);font-weight:700;color:var(--accent-2)}.badge{display:inline-block;font-size:.66rem;font-weight:600;padding:.12rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--muted) 14%,transparent);color:var(--muted)}.badge.loader{background:var(--warn-soft);color:var(--warn)}.badge.source{background:var(--accent-soft);color:var(--accent-2)}.dot{opacity:.4}.back{border:none;background:transparent;color:var(--accent-2);font-weight:600;padding:.3rem 0;min-height:38px;display:inline-flex;align-items:center;gap:.15rem}.mega-card{background:var(--mega-grad);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:.9rem 1rem;box-shadow:var(--shadow),var(--inset);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}[data-theme=light] .mega-card{color:#ecfdf5}.mega-title{font-family:var(--display);font-weight:700;margin-bottom:.55rem;letter-spacing:-.02em}.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.mega-grid .k{font-size:.66rem;opacity:.8;text-transform:uppercase;letter-spacing:.04em}.mega-grid .v{font-family:var(--display);font-size:1.18rem;font-weight:700;margin-top:.1rem;font-variant-numeric:tabular-nums}.tabs.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:.2rem;padding:.22rem;background:var(--glass);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--inset)}.tabs.segmented button{border:none;background:transparent;border-radius:11px;padding:.55rem .35rem;min-height:40px;color:var(--muted);font-weight:600;font-size:.82rem}.tabs.segmented button.active{background:var(--glass-strong);color:var(--accent-2);box-shadow:var(--shadow),var(--inset)}.mobile-nav{display:none;position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav-h) + var(--safe-b));padding:.3rem .35rem var(--safe-b);background:var(--nav-scrim);backdrop-filter:blur(18px) saturate(1.35);-webkit-backdrop-filter:blur(18px) saturate(1.35);border-top:1px solid var(--line);justify-content:space-around;align-items:stretch;z-index:50;box-shadow:0 -10px 30px #0000001f}.mobile-nav button{flex:1;border:none;background:transparent;color:var(--muted);font-size:.55rem;font-weight:600;display:flex;flex-direction:column;gap:.08rem;align-items:center;justify-content:center;border-radius:12px;max-width:none;padding:.15rem .1rem}.mobile-nav button.active{color:var(--accent-2);background:var(--accent-soft)}.mobile-sheet{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060c73;z-index:60;display:flex;align-items:flex-end;padding:.65rem;padding-bottom:calc(.65rem + var(--safe-b))}.mobile-sheet-panel{width:100%;background:var(--glass-strong);border:1px solid var(--line);border-radius:18px;padding:.95rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-lg),var(--inset);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:1.15rem;padding-top:calc(1.15rem + var(--safe-t))}.login-card{width:min(100%,380px);background:var(--glass-strong);border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:var(--shadow-lg),var(--inset);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4)}.login-mark{width:46px;height:46px;border-radius:14px;background:var(--accent-soft);color:var(--accent-2);display:grid;place-items:center;margin-bottom:.75rem;border:1px solid var(--line)}.login-card h1,.login-title{font-family:var(--display);font-size:1.28rem;margin:.55rem 0 .3rem;letter-spacing:-.03em}.login-card .brand-pill{margin-bottom:0}.login-card p{color:var(--muted);margin:0 0 1rem;font-size:.88rem}.login-card input{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;margin-bottom:.65rem;min-height:46px;background:var(--glass);color:var(--ink)}.login-card .btn{width:100%}.err{color:var(--danger);font-size:.84rem;margin-bottom:.3rem}.err.banner{margin-bottom:.55rem;padding:.6rem .8rem;background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:12px;color:var(--danger)}.sync-banner{display:flex;align-items:center;gap:.45rem;margin-bottom:.65rem;padding:.6rem .8rem;border-radius:12px;font-size:.86rem;font-weight:500;border:1px solid var(--line)}.sync-banner.running{background:var(--accent-soft);color:var(--accent-2)}.sync-banner.done{background:var(--ok-soft);color:var(--ok)}.sync-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.85)}}.empty{text-align:center;color:var(--muted);padding:1.75rem 1rem;font-size:.9rem}.section-title{font-family:var(--display);font-size:.98rem;margin:.4rem 0 .1rem;letter-spacing:-.02em}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 901px){.company-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.btn:not(.btn-icon):not(.theme-switch){width:auto}.sidebar .btn{width:100%}.sidebar .theme-switch{margin-bottom:.2rem;align-self:flex-start}}.person-summary{display:flex;flex-wrap:wrap;gap:.35rem}.person-chip{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:.45rem .65rem;display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:6.5rem;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--inset)}.person-chip.on{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--accent-soft)}.person-chip-name{font-weight:700;font-family:var(--display);font-size:.82rem;letter-spacing:-.02em}.person-chip-val{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums}.date-range-field{position:relative}.date-range-ctrl{display:flex;gap:.3rem;align-items:stretch}.date-range-btn{flex:1;border:1px solid var(--line);background:var(--glass-strong);border-radius:11px;padding:.55rem .75rem;text-align:left;font-weight:600;min-height:42px;color:var(--ink);font-size:.88rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.date-range-clear{width:42px!important;min-width:42px;padding:0!important;font-size:1.15rem;line-height:1}.date-range-pop{position:absolute;z-index:45;top:calc(100% + 4px);left:0;width:252px;max-width:min(252px,calc(100vw - 1.5rem));background:var(--glass-strong);border:1px solid var(--line);border-radius:14px;padding:.55rem;box-shadow:var(--shadow-lg),var(--inset);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}.date-range-backdrop{display:none}@media (max-width: 900px){.date-range-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:none;padding:0;margin:0;width:100%;height:100%;background:#02060c8c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.date-range-pop{position:fixed!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;z-index:85;width:min(288px,calc(100vw - 2rem));max-width:min(288px,calc(100vw - 2rem));max-height:min(72vh,calc(100dvh - var(--nav-h) - 2.5rem));overflow:auto;-webkit-overflow-scrolling:touch;padding:.65rem .7rem .55rem;border-radius:16px}.dr-day{height:32px;font-size:.78rem}}@media (min-width: 901px){.date-range-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;border:none;padding:0;margin:0;background:transparent}.date-range-pop{position:fixed!important;left:50%;top:22%;transform:translate(-50%);z-index:85;width:280px}}.dr-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem;gap:.25rem}.dr-title{font-family:var(--display);font-weight:700;font-size:.8rem;letter-spacing:-.02em}.dr-nav{border:none;background:var(--accent-soft);width:28px;height:28px;border-radius:8px;font-size:1rem;color:var(--ink);flex-shrink:0;display:grid;place-items:center;padding:0}.dr-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:.15rem;text-align:center;font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.dr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.dr-day{border:none;background:transparent;height:30px;width:100%;border-radius:7px;font-weight:600;font-size:.75rem;color:var(--ink);padding:0;font-variant-numeric:tabular-nums}.dr-day.empty{visibility:hidden;pointer-events:none}.dr-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.dr-day.in-range{background:var(--accent-soft);border-radius:0}.dr-day.endpoint,.dr-day.selected{background:var(--accent)!important;color:#042f2e!important;border-radius:7px}[data-theme=light] .dr-day.endpoint,[data-theme=light] .dr-day.selected{color:#fff!important}.dr-day:hover:not(.empty):not(:disabled){outline:1.5px solid var(--focus);outline-offset:-1px}.dr-hint{margin-top:.35rem;font-size:.65rem;color:var(--muted);text-align:center;line-height:1.3}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem}
