:root{--bg:#fafafa;--surface:#fff;--surface-2:#f6f6f7;--surface-3:#f0f0f2;--hover:#f4f4f5;--border:#e8e8eb;--border-strong:#d4d4d8;--divider:#efeff2;--text:#09090b;--text-2:#52525b;--text-3:#71717a;--text-4:#a1a1aa;--brand-navy:#141936;--brand-navy-2:#1d2247;--brand-navy-3:#252b54;--brand-blue:#4f7fab;--brand-blue-2:#6a98c4;--brand-blue-soft:#eaf1f8;--accent:#3b6fa8;--accent-hover:#2c5d92;--accent-soft:#eaf1f8;--accent-border:#c4d6e8;--ok:#047857;--ok-bg:#ecfdf5;--ok-border:#a7f3d0;--warn:#b45309;--warn-bg:#fffbeb;--warn-border:#fde68a;--crit:#b91c1c;--crit-bg:#fef2f2;--crit-border:#fecaca;--info:#2c5d92;--info-bg:#eaf1f8;--info-border:#c4d6e8;--neutral-bg:#f4f4f5;--neutral-border:#e4e4e7;--neutral-text:#3f3f46;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm:4px;--r:6px;--r-lg:8px;--r-xl:12px;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-lg:0 8px 24px #00000014, 0 2px 6px #0000000a;--row-h:40px;--pad-card:18px;--gap:16px;--font-base:13.5px;--font-sm:12.5px;--font-xs:11.5px;--sidebar-w:224px;--topbar-h:52px}:root[data-density=compact]{--row-h:32px;--pad-card:12px;--gap:10px;--font-base:12.5px;--font-sm:11.5px;--font-xs:10.5px;--topbar-h:44px}:root[data-theme=dark]{--bg:#09090b;--surface:#0f0f11;--surface-2:#161618;--surface-3:#1c1c1f;--hover:#1a1a1d;--border:#232327;--border-strong:#2e2e33;--divider:#1e1e22;--text:#fafafa;--text-2:#a1a1aa;--text-3:#71717a;--text-4:#52525b;--brand-navy:#0c1024;--brand-navy-2:#161b3d;--brand-navy-3:#1e2451;--brand-blue:#6a98c4;--brand-blue-2:#84a9cf;--brand-blue-soft:#1a2342;--accent:#6a98c4;--accent-hover:#84a9cf;--accent-soft:#1a2342;--accent-border:#2a3a66;--ok:#34d399;--ok-bg:#052e22;--ok-border:#0e4d3a;--warn:#fbbf24;--warn-bg:#2a1f04;--warn-border:#5a3f08;--crit:#f87171;--crit-bg:#2b0808;--crit-border:#5a1212;--info:#84a9cf;--info-bg:#1a2342;--info-border:#2a3a66;--neutral-bg:#1c1c1f;--neutral-border:#2a2a2e;--neutral-text:#d4d4d8;--shadow-sm:0 1px 2px #0006;--shadow:0 1px 3px #00000080, 0 1px 2px #0006;--shadow-lg:0 8px 24px #0009, 0 2px 6px #00000080}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-sans);font-size:var(--font-base);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";margin:0;padding:0;line-height:1.45}#app{height:100%}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}input,select,textarea{font:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--bg);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-4)}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;height:100vh;min-height:100vh;transition:grid-template-columns .18s;display:grid}.app-shell.sidebar-collapsed{--sidebar-w:56px}.app-shell.sidebar-collapsed .sidebar{padding:14px 6px}.app-shell.sidebar-collapsed .nav-item{justify-content:center;padding:8px;position:relative}.app-shell.sidebar-collapsed .nav-item .lbl,.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .sidebar-footer .who,.app-shell.sidebar-collapsed .nav-item .badge-count{display:none}.app-shell.sidebar-collapsed .sidebar-brand{justify-content:center;padding:6px 0 18px}.app-shell.sidebar-collapsed .brand-logo{object-fit:cover;object-position:left center;width:28px;height:28px}.app-shell.sidebar-collapsed .sidebar-footer{justify-content:center;gap:0;height:44px;padding:6px 4px}.app-shell.sidebar-collapsed .sidebar-footer .account-chevron{display:none}.app-shell.sidebar-collapsed .account-menu-wrap{width:44px}.app-shell.sidebar-collapsed .sidebar-footer .avatar{margin:0 auto}.app-shell.sidebar-collapsed .nav-item[data-has-badge=true]:after{content:"";background:var(--brand-blue);border:1.5px solid var(--brand-navy);border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.app-shell.sidebar-collapsed .nav-item[data-tip]:hover:before{content:attr(data-tip);background:var(--brand-navy-3);color:#fff;white-space:nowrap;z-index:100;pointer-events:none;border-radius:5px;padding:4px 9px;font-size:12px;font-weight:500;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 2px 8px #00000040}.hint{width:16px;height:16px;color:var(--text-4);border:1px solid var(--border-strong);cursor:help;border-radius:50%;outline:none;flex-shrink:0;place-items:center;margin-left:2px;display:inline-grid;position:relative}.hint-mark{font-family:var(--font-sans);font-size:10.5px;font-weight:700;line-height:1}.hint:hover,.hint:focus-visible{color:var(--text-2);background:var(--hover)}.hint-bubble{border-radius:var(--r);border:1px solid var(--border-strong);background:var(--surface);width:max-content;max-width:min(300px,72vw);color:var(--text);box-shadow:var(--shadow-lg);white-space:normal;opacity:0;pointer-events:none;z-index:200;padding:8px 10px;font-size:11.5px;font-weight:450;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(3px)}.hint-bubble:after{content:"";border-right:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);background:var(--surface);width:8px;height:8px;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px)rotate(45deg)}.hint:hover .hint-bubble,.hint:focus-visible .hint-bubble{opacity:1;transform:translate(-50%)translateY(0)}.card-header h3,.section-head h2{align-items:center;gap:4px;display:inline-flex}.sidebar-toggle{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:30px;height:30px;color:var(--text-2);flex-shrink:0;place-items:center;display:grid}.sidebar-toggle:hover{background:var(--hover);color:var(--text)}.sidebar-toggle svg{width:15px;height:15px;transition:transform .18s}.app-shell.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar{z-index:3200;background:var(--brand-navy);border-right:1px solid var(--brand-navy-2);color:#cbd2e6;--hover:var(--brand-navy-2);--surface-2:var(--brand-navy-2);--surface-3:var(--brand-navy-3);--surface:var(--brand-navy-2);--text:#f1f3fb;--text-2:#b6bfdb;--text-3:#8a93b8;--text-4:#6f78a0;--border:#ffffff0f;--divider:#ffffff0f;flex-direction:column;gap:4px;padding:14px 10px;display:flex;position:relative;overflow:visible}.sidebar-brand{align-items:center;padding:6px 8px 18px;display:flex}.brand-logo{object-fit:contain;width:138px;max-width:100%;height:auto;display:block}.nav-section{flex-direction:column;gap:1px;padding:8px 0;display:flex}.nav-section+.nav-section{border-top:1px solid var(--divider);margin-top:4px}.nav-label{color:var(--text-4);letter-spacing:.04em;text-transform:uppercase;padding:8px 10px 4px;font-size:10.5px;font-weight:500}.nav-item{border-radius:var(--r);color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:6px 10px;font-size:13px;font-weight:500;display:flex}.nav-item:hover{background:var(--hover);color:var(--text)}.nav-item.active{background:var(--brand-navy-3);color:#fff;box-shadow:inset 2px 0 0 var(--brand-blue-2)}.nav-item svg{opacity:.9;flex-shrink:0;width:15px;height:15px}.nav-item .badge-count{font-family:var(--font-mono);background:var(--brand-blue);color:#fff;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:500}.nav-item.active .badge-count{background:var(--brand-blue-2)}.sidebar-footer{border-top:1px solid var(--divider);align-items:center;gap:10px;margin-top:auto;padding:10px;display:flex}.account-menu-wrap{cursor:pointer;border-radius:8px;position:relative}.account-menu-wrap:hover{background:color-mix(in oklab, var(--brand-blue) 7%, transparent)}.account-chevron{color:var(--text-3);margin-left:auto;transition:transform .12s}.account-menu-wrap[aria-expanded=true] .account-chevron{transform:rotate(-90deg)}.account-menu-wrap:has(.account-menu) .account-chevron{transform:rotate(-90deg)}.account-menu{z-index:2600;border:1px solid var(--border);background:var(--surface);cursor:default;border-radius:8px;gap:6px;width:232px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:10px;box-shadow:0 18px 45px #00000052}.account-menu-head{border-bottom:1px solid var(--border);gap:2px;padding:8px;display:grid}.account-menu-head strong{font-size:12.5px}.account-menu-head span,.account-theme>span{text-overflow:ellipsis;min-width:0;color:var(--text-3);font-size:11px;overflow:hidden}.account-theme{gap:6px;padding:8px;display:grid}.account-theme-options{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.account-theme-options button,.account-menu-item{border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;font-size:12px}.account-theme-options button{height:28px}.account-theme-options button.active{border-color:var(--brand-blue);background:color-mix(in oklab, var(--brand-blue) 16%, var(--surface));color:var(--brand-blue-2);font-weight:700}.account-menu-item{text-align:left;align-items:center;gap:8px;width:100%;height:34px;padding:0 9px;display:flex}.account-menu-item:hover,.account-theme-options button:hover{background:var(--hover);border-color:var(--border-strong)}.account-menu-item.danger{color:var(--crit)}.avatar{background:linear-gradient(135deg, var(--brand-blue), var(--brand-blue-2));color:#fff;border:1px solid #ffffff26;border-radius:50%;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:grid}.sidebar-footer .who{flex:1;min-width:0}.sidebar-footer .who-name{font-size:12.5px;font-weight:500}.sidebar-footer .who-org{color:var(--text-3);font-size:11px}.account-modal{width:min(480px,100%)}.account-modal-copy{color:var(--text-2);margin:-4px 0 0;font-size:12.5px;line-height:1.45}.two-factor-secret{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:5px;padding:12px;display:grid}.two-factor-secret span{color:var(--text-3);font-size:11px}.two-factor-secret strong{font-family:var(--font-mono);letter-spacing:1px;overflow-wrap:anywhere;font-size:15px}.two-factor-qr{border:1px solid var(--border);background:#fff;border-radius:8px;place-items:center;padding:14px;display:grid}.two-factor-qr img{width:220px;height:220px;display:block}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface);z-index:1500;flex-shrink:0;align-items:center;gap:14px;padding:0 20px;display:flex;position:relative}.topbar-title{letter-spacing:-.01em;font-size:14px;font-weight:600}.topbar-crumb{color:var(--text-3);font-size:12.5px}.topbar-spacer{flex:1}.topbar-search{width:280px;position:relative}.topbar-search input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);outline:none;width:100%;height:30px;padding:0 10px 0 30px;font-size:12.5px}.topbar-search input:focus{border-color:var(--border-strong);background:var(--surface)}.topbar-search svg{width:13px;height:13px;color:var(--text-3);position:absolute;top:50%;left:9px;transform:translateY(-50%)}.topbar-search kbd{font-family:var(--font-mono);color:var(--text-3);background:var(--surface);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:10.5px;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.topbar-status{color:var(--text-2);border:1px solid var(--border);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;display:flex}.topbar-status .dot{background:var(--ok);width:6px;height:6px;box-shadow:0 0 0 3px color-mix(in oklab, var(--ok) 18%, transparent);border-radius:50%}.environment-combobox{width:230px;margin-right:10px;position:relative}.environment-combobox input{border:1px solid var(--border);background:var(--surface-2);width:100%;height:30px;color:var(--text);font:inherit;border-radius:6px;outline:none;padding:0 30px 0 10px;font-size:12px}.environment-combobox input:focus{border-color:var(--border-strong);background:var(--surface)}.environment-combobox-toggle{width:22px;height:22px;color:var(--text-3);background:0 0;border:0;border-radius:4px;place-items:center;display:grid;position:absolute;top:4px;right:4px;transform:rotate(90deg)}.environment-combobox-toggle:hover{background:var(--hover);color:var(--text)}.environment-options{z-index:2600;border:1px solid var(--border);background:var(--surface);width:100%;max-height:260px;box-shadow:var(--shadow-lg);border-radius:8px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto}.environment-option{width:100%;min-height:38px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex}.environment-option:hover,.environment-option.active{background:var(--hover)}.environment-option span{font-size:12.5px;font-weight:600}.environment-option small{color:var(--text-3);font-size:11px}.environment-empty{color:var(--text-3);padding:9px 8px;font-size:12px}.icon-btn{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);width:30px;height:30px;color:var(--text-2);place-items:center;display:grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn svg{width:14px;height:14px}.view{flex:1;padding:20px;overflow:auto}.view.no-pad{padding:0}.page-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;display:flex}.page-head h1{letter-spacing:-.02em;margin:0;font-size:20px;font-weight:600}.page-head .sub{color:var(--text-3);margin-top:4px;font-size:13px}.page-head .actions{align-items:center;gap:8px;display:flex}.section-head{justify-content:space-between;align-items:center;margin:0 0 10px;display:flex}.section-head h2{color:var(--text-2);letter-spacing:.01em;margin:0;font-size:12.5px;font-weight:600}.section-head .link{color:var(--text-3);align-items:center;gap:3px;font-size:12px;display:inline-flex}.section-head .link:hover{color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--pad-card)}.card-flush{padding:0}.card-header{padding:12px var(--pad-card);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;display:flex}.card-header h3{letter-spacing:-.005em;margin:0;font-size:13px;font-weight:600}.card-header .meta{color:var(--text-3);font-size:11.5px}.card-body{padding:var(--pad-card)}.faq-grid{gap:var(--gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:24px;display:grid}.faq-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.faq-tabs button{appearance:none;background:var(--surface);border:1px solid var(--border);color:var(--text-2);cursor:pointer;font:inherit;border-radius:6px;min-height:32px;padding:0 12px;font-size:12px;font-weight:700}.faq-tabs button:hover{background:var(--hover);color:var(--text)}.faq-tabs button.active{background:var(--accent-soft);border-color:var(--brand-blue);color:var(--text)}.faq-card{border-color:var(--border-strong);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.faq-card:hover{box-shadow:var(--shadow);border-color:var(--accent-border);transform:translateY(-2px)}.faq-card .card-header{flex-direction:column;justify-content:center;align-items:center;gap:8px;padding-bottom:10px;display:flex}.faq-card .card-header>svg{margin-bottom:4px;display:block}.faq-card-title-group{flex-direction:column;align-items:center;gap:4px;display:flex}.faq-card h3{letter-spacing:-.02em;margin:0;font-size:15px}.faq-card .meta{color:var(--text-3);margin-top:4px;display:block}.faq-card .card-body{gap:14px;display:grid}.faq-card p{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.45}.faq-card-action{border:1px solid var(--border);width:fit-content;min-height:26px;color:var(--brand-blue-2);background:color-mix(in oklab, var(--brand-blue) 9%, transparent);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.faq-card ul{color:var(--text-2);margin:14px 0 0;padding-left:18px}.faq-card li{margin-bottom:10px}.faq-card li:last-child{margin-bottom:0}.faq-page .meta{color:var(--text-3);font-size:12px}.faq-help-modal{width:min(920px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.faq-help-title{align-items:center;gap:10px;display:flex}.faq-help-title h2{margin:0}.faq-help-summary{color:var(--text-2);margin:0;line-height:1.5}.faq-help-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.faq-help-section{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;padding:14px}.faq-help-section h3{margin:0 0 10px;font-size:13px}.faq-help-section ul{color:var(--text-2);margin:0;padding-left:18px;font-size:12.5px;line-height:1.5}.faq-help-section li+li{margin-top:8px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.kpi-label{color:var(--text-3);align-items:center;gap:6px;font-size:11.5px;font-weight:500;display:flex}.kpi-label svg{opacity:.7;width:12px;height:12px}.kpi-value{font-family:var(--font-mono);letter-spacing:-.02em;font-feature-settings:"tnum";margin-top:2px;font-size:22px;font-weight:500;line-height:1.1}.kpi-value .unit{color:var(--text-3);margin-left:4px;font-size:12px;font-weight:400}.kpi-delta{font-size:11.5px;font-family:var(--font-mono);font-feature-settings:"tnum";align-items:center;gap:3px;display:inline-flex}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--crit)}.kpi-delta.flat{color:var(--text-3)}.kpi-sub{color:var(--text-3);font-size:11.5px}.badge{border:1px solid var(--neutral-border);background:var(--neutral-bg);color:var(--neutral-text);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:500;line-height:1.5;display:inline-flex}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-border)}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.badge.crit{color:var(--crit);background:var(--crit-bg);border-color:var(--crit-border)}.badge.info{color:var(--info);background:var(--info-bg);border-color:var(--info-border)}.badge.solid{color:var(--surface);background:var(--text);border-color:var(--text)}.plate{font-family:var(--font-mono);letter-spacing:.02em;background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:1px 6px;font-size:12px;font-weight:500;display:inline-block}.plate.lg{letter-spacing:.05em;padding:4px 10px;font-size:16px}.btn{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);height:30px;color:var(--text);align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:500;display:inline-flex}.btn:hover{background:var(--hover)}.btn svg{width:13px;height:13px}.btn.primary{background:var(--brand-navy);color:#fff;border-color:var(--brand-navy)}.btn.primary:hover{background:var(--brand-navy-2);border-color:var(--brand-navy-2)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover);color:var(--text)}.btn.danger{color:var(--crit)}.btn.danger:hover{color:var(--crit);background:color-mix(in oklab, var(--crit) 10%, transparent)}.btn.sm{height:26px;padding:0 8px;font-size:12px}.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.tbl-toolbar{border-bottom:1px solid var(--divider);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.tbl-toolbar .search{flex:1;min-width:200px;max-width:320px;position:relative}.tbl-toolbar .search input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);outline:none;width:100%;height:28px;padding:0 8px 0 28px;font-size:12px}.tbl-toolbar .search input:focus{background:var(--surface);border-color:var(--border-strong)}.tbl-toolbar .search svg{width:13px;height:13px;color:var(--text-3);position:absolute;top:7px;left:8px}.tbl-filter{border:1px dashed var(--border-strong);border-radius:var(--r);height:28px;color:var(--text-2);background:0 0;align-items:center;gap:5px;padding:0 9px;font-size:12px;display:inline-flex}.tbl-filter:hover{background:var(--hover);color:var(--text)}.tbl-filter.active{background:var(--surface-2);color:var(--text);border-style:solid}.tbl-filter .v{color:var(--text);margin-left:3px;font-weight:500}.tbl-filter svg{width:12px;height:12px}.select-filter{border:1px dashed var(--border-strong);border-radius:var(--r);height:28px;color:var(--text-2);background:0 0;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex;position:relative}.select-filter.active{background:var(--surface-2);color:var(--text);border-style:solid}.select-filter:hover{background:var(--hover);color:var(--text)}.select-filter select{min-width:74px;max-width:160px;height:26px;color:var(--text);appearance:none;cursor:pointer;background:0 0;border:0;outline:none;padding:0 14px 0 0;font-size:12px;font-weight:500}.select-filter select option{background:var(--surface);color:var(--text)}:root[data-theme=dark] .select-filter select option{color:#fafafa;background:#0f0f11}.select-filter svg{pointer-events:none;position:absolute;right:7px}.tbl-toolbar-secondary{background:var(--surface);padding-top:8px}.tbl{border-collapse:collapse;width:100%;font-size:var(--font-sm)}.tbl thead th{text-align:left;color:var(--text-3);background:var(--surface-2);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:11.5px;font-weight:500}.tbl thead th.sortable{cursor:pointer}.tbl thead th.sortable:hover{color:var(--text)}.tbl thead th .sort{opacity:.5;margin-left:4px;display:inline-block}.tbl tbody td{height:var(--row-h);border-bottom:1px solid var(--divider);vertical-align:middle;color:var(--text);padding:0 12px}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{cursor:default}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--surface-2)}.tbl td.num{font-family:var(--font-mono);font-feature-settings:"tnum";text-align:right}.tbl td.muted{color:var(--text-3)}.tbl td.actions{width:1%}.tbl-footer{border-top:1px solid var(--divider);color:var(--text-3);justify-content:space-between;align-items:center;padding:8px 12px;font-size:11.5px;display:flex}.tbl-footer .pager{gap:4px;display:flex}.tbl-footer .pager button{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-sm);min-width:24px;height:24px;color:var(--text-2);padding:0 6px;font-size:11.5px}.tbl-footer .pager button:hover{background:var(--hover);color:var(--text)}.tbl-footer .pager button.active{background:var(--surface-2);color:var(--text);border-color:var(--border-strong)}.alerts-pagination-footer{gap:14px;min-height:52px;padding:10px 14px}.pagination-summary{align-items:baseline;gap:6px;min-width:190px;display:flex}.pagination-summary strong{color:var(--text);font-family:var(--font-mono);font-size:12.5px}.pagination-summary span{color:var(--text-2)}.pagination-summary small{color:var(--text-3);border-left:1px solid var(--divider);padding-left:8px}.compact-pager{flex-wrap:wrap;justify-content:flex-end;align-items:center}.tbl-footer .compact-pager button{justify-content:center;align-items:center;min-width:30px;height:30px;padding:0 9px;display:inline-flex}.tbl-footer .compact-pager button.active{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}.tbl-footer .compact-pager button:disabled{cursor:not-allowed;opacity:.45}.pager-gap{min-width:22px;height:30px;color:var(--text-3);font-family:var(--font-mono);place-items:center;display:inline-grid}.minibar{align-items:flex-end;gap:2px;height:22px;display:flex}.minibar i{background:var(--text-4);border-radius:1px;width:4px;display:block}.minibar.accent i{background:var(--brand-blue)}.chart-bars{gap:6px;display:grid}.chart-bars .row{grid-template-columns:140px 1fr 50px;align-items:center;gap:10px;font-size:12px;display:grid}.chart-bars .row .label{color:var(--text-2)}.chart-bars .row .bar-track{background:var(--surface-2);border-radius:3px;height:8px;position:relative;overflow:hidden}.chart-bars .row .bar-fill{background:var(--brand-blue);border-radius:3px;height:100%}.chart-bars .row .bar-fill.crit{background:var(--crit)}.chart-bars .row .bar-fill.warn{background:var(--warn)}.chart-bars .row .bar-fill.info{background:var(--info)}.chart-bars .row .bar-fill.ok{background:var(--ok)}.chart-bars .row .val{font-family:var(--font-mono);color:var(--text-2);text-align:right;font-feature-settings:"tnum";font-size:11.5px}.chart-bars .row.clickable{cursor:pointer;border-radius:4px}.chart-bars .row.clickable:hover .label,.chart-bars .row.clickable:hover .val{color:var(--text)}.chart-bars .row.clickable:hover .bar-track{background:var(--hover)}.fleet-activity-card{background:var(--brand-navy);border-color:var(--brand-navy-2);color:#fff}.fleet-activity-card h2,.fleet-activity-card .num{color:#fff!important}.fleet-activity-card .muted{color:#ffffffb8}.fleet-activity-legend{color:#fffc;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.fleet-activity-legend .dot{background:var(--brand-blue-2);box-shadow:0 0 0 3px color-mix(in oklab, var(--brand-blue-2) 18%, transparent)}.muted{color:var(--text-3)}.dim{color:var(--text-4)}.num{font-family:var(--font-mono);font-feature-settings:"tnum"}.tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:16px;display:flex}.tab{color:var(--text-3);background:0 0;border:none;border-bottom:1.5px solid #0000;margin-bottom:-1px;padding:8px 12px;font-size:12.5px;font-weight:500}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--text)}.tab .count{font-family:var(--font-mono);color:var(--text-3);margin-left:4px;font-size:10.5px}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot.ok{background:var(--ok)}.dot.warn{background:var(--warn)}.dot.crit{background:var(--crit)}.dot.info{background:var(--info)}.dot.off{background:var(--text-4)}.timeline{padding-left:18px;position:relative}.timeline:before{content:"";background:var(--divider);width:1px;position:absolute;top:4px;bottom:4px;left:4px}.timeline-item{padding:0 0 14px;position:relative}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";background:var(--surface);border:1.5px solid var(--text-4);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-18px}.timeline-item.crit:before{border-color:var(--crit);background:var(--crit-bg)}.timeline-item.warn:before{border-color:var(--warn);background:var(--warn-bg)}.timeline-item.ok:before{border-color:var(--ok);background:var(--ok-bg)}.timeline-item.info:before{border-color:var(--info);background:var(--info-bg)}.timeline-item .when{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.timeline-item .what{color:var(--text);margin-top:1px;font-size:12.5px}.timeline-item .where{color:var(--text-3);margin-top:2px;font-size:11.5px}.map-layout{grid-template-columns:1fr 340px;height:100%;display:grid}.map-canvas{background:var(--surface-2);position:relative;overflow:hidden}.map-canvas .leaflet-container{background:var(--surface-2);width:100%;height:100%}.map-fullscreen-btn{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);cursor:pointer;z-index:1100;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex;position:absolute;bottom:14px;right:14px}.map-fullscreen-btn:hover,.map-google-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.map-google-btn{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text);cursor:pointer;z-index:1100;border-radius:6px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex;position:absolute;bottom:14px;right:14px}.google-maps-icon{flex:none;width:15px;height:15px}.map-canvas>.map-fullscreen-btn,.geofence-map>.map-fullscreen-btn,.vehicle-route-map-shell>.map-fullscreen-btn,.day-route-map-shell>.map-fullscreen-btn{top:auto;bottom:38px}.map-canvas>.map-google-btn,.geofence-map>.map-google-btn,.vehicle-route-map-shell>.map-google-btn,.day-route-map-shell>.map-google-btn{top:auto;bottom:14px}.map-detail>.map-google-btn,.map-detail-google-btn{width:100%;margin-top:12px;position:static}.map-canvas:fullscreen,.geofence-map:fullscreen,.vehicle-route-map-shell:fullscreen,.day-route-map-shell:fullscreen{background:var(--surface-2);width:100vw;height:100vh}.map-canvas:fullscreen .leaflet-container,.geofence-map:fullscreen .leaflet-container,.vehicle-route-map-shell:fullscreen .leaflet-container,.day-route-map-shell:fullscreen .leaflet-container{width:100%;height:100%}.map-panel{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:0;display:flex}.map-panel-head{border-bottom:1px solid var(--divider);padding:12px 14px}.map-panel-filters{border-bottom:1px solid var(--divider);flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.map-panel-list{flex:1;overflow:auto}.map-veh-row{border-bottom:1px solid var(--divider);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.map-veh-row:hover{background:var(--surface-2)}.map-veh-row.selected{background:var(--accent-soft)}.map-veh-row .meta{flex:1;min-width:0}.map-veh-row .top{align-items:center;gap:6px;display:flex}.map-veh-row .driver{color:var(--text-2);margin-top:2px;font-size:12px}.map-veh-row .loc{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;overflow:hidden}.map-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);width:320px;box-shadow:var(--shadow-lg);z-index:1000;padding:14px;position:absolute;bottom:16px;left:16px}.map-detail h4{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.map-detail .grid{grid-template-columns:1fr 1fr;gap:10px 14px;margin-top:10px;display:grid}.map-detail .grid .k{color:var(--text-3);font-size:11px}.map-detail .grid .v{font-size:12.5px;font-family:var(--font-mono);margin-top:1px}.veh-head{align-items:center;gap:16px;margin-bottom:16px;display:flex}.veh-head .veh-icon{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--border);width:44px;height:44px;color:var(--text-2);place-items:center;display:grid}.veh-head .veh-icon svg{width:22px;height:22px}.veh-head .veh-meta{flex:1}.veh-head .veh-title{align-items:center;gap:10px;display:flex}.veh-head .veh-sub{color:var(--text-3);flex-wrap:wrap;gap:12px;margin-top:3px;font-size:12px;display:flex}.veh-head .veh-sub span b{color:var(--text-2);font-weight:500}.stat-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.grid{gap:var(--gap);display:grid}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-5{grid-template-columns:repeat(5,1fr)}.grid.cols-6{grid-template-columns:repeat(6,1fr)}.grid.cols-2-1{grid-template-columns:2fr 1fr}.grid.cols-1-2{grid-template-columns:1fr 2fr}.row{align-items:center;gap:8px;display:flex}.row.between{justify-content:space-between}.col{flex-direction:column;gap:6px;display:flex}.gap-sm{gap:8px}.gap-md{gap:12px}.gap-lg{gap:16px}tr.row-crit td:first-child{box-shadow:inset 3px 0 0 var(--crit)}tr.row-warn td:first-child{box-shadow:inset 3px 0 0 var(--warn)}tr.row-info td:first-child{box-shadow:inset 3px 0 0 var(--info)}tr.row-ok td:first-child{box-shadow:inset 3px 0 0 var(--ok)}.donut{--p:70;--c:var(--ok);--size:88px;--thick:10px;width:var(--size);height:var(--size);background:conic-gradient(var(--c) calc(var(--p) * 1%), var(--surface-2) 0);border-radius:50%;place-items:center;display:grid;position:relative}.donut:before{content:"";inset:var(--thick);background:var(--surface);border-radius:50%;position:absolute}.donut .donut-val{font-family:var(--font-mono);font-feature-settings:"tnum";font-size:16px;font-weight:500;position:relative}.leaflet-popup-content-wrapper{border:1px solid var(--border);background:var(--surface)!important;color:var(--text)!important;border-radius:var(--r-lg)!important;box-shadow:var(--shadow-lg)!important}.leaflet-popup-tip{background:var(--surface)!important}.leaflet-control-attribution{background:#ffffffb3!important;font-size:10px!important}:root[data-theme=dark] .leaflet-control-attribution{color:var(--text-2)!important;background:#00000080!important}:root[data-theme=dark] .standard-map-tile,:root[data-theme=dark] .map-label-tile{filter:invert()hue-rotate(180deg)brightness(.95)contrast(.9)}.leaflet-control-layers{background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--r)!important;box-shadow:var(--shadow)!important;color:var(--text)!important;font-family:var(--font-sans)!important;font-size:12px!important}.leaflet-control-layers-expanded{padding:8px 10px!important}.leaflet-control-layers label{color:var(--text-2);align-items:center;gap:6px;display:flex;margin:3px 0!important}.leaflet-control-layers input{accent-color:var(--brand-blue)}.truck-marker{background:var(--surface);border:2px solid var(--brand-navy);width:26px;height:26px;color:var(--brand-navy);border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 6px #00000040}.truck-marker.ok{border-color:var(--ok);color:var(--ok)}.truck-marker.warn{border-color:var(--warn);color:var(--warn)}.truck-marker.crit{border-color:var(--crit);color:var(--crit)}.truck-marker svg{width:14px;height:14px}.truck-marker .pulse{opacity:.4;border:2px solid;border-radius:50%;animation:2s ease-out infinite pulse;position:absolute;inset:-4px}@keyframes pulse{0%{opacity:.5;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}.spec{grid-template-columns:110px 1fr;gap:2px 14px;font-size:12px;display:grid}.spec dt{color:var(--text-3)}.spec dd{color:var(--text);font-family:var(--font-mono);font-feature-settings:"tnum";margin:0}.log{font-family:var(--font-mono);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);color:var(--text-2);max-height:180px;padding:10px 12px;font-size:11.5px;line-height:1.55;overflow:auto}.log .err{color:var(--crit)}.log .ok{color:var(--ok)}.log .ts{color:var(--text-3)}.auth-shell{background:radial-gradient(circle at 50% 38%, #4f7fab1f, transparent 28%), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel,.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:16px;width:min(430px,100%);padding:24px;display:flex;box-shadow:0 24px 70px #00000052}.auth-brand-lockup{justify-content:center;align-self:center;align-items:center;width:min(230px,100%);margin-bottom:2px;display:flex}.auth-brand-logo{width:100%;height:auto;display:block}.auth-panel h1{letter-spacing:0;margin:0 0 4px;font-size:26px}.form-field{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;line-height:1.2;display:flex}.form-field input,.form-field select,.form-field textarea{border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--text);font:inherit;border-radius:6px;padding:0 10px;transition:border-color .12s,background .12s,box-shadow .12s}.form-field textarea{resize:vertical;height:auto;min-height:72px;padding-top:9px}.form-select,.topbar-select{border:1px solid var(--border);background:var(--surface-2);height:38px;color:var(--text);font:inherit;border-radius:6px;padding:0 10px}.topbar-select{width:190px;height:30px;font-size:12px}.table-select{width:180px;height:30px;font-size:12px}.table-input{border:1px solid var(--border);background:var(--surface-2);width:150px;height:30px;color:var(--text);font:inherit;border-radius:6px;padding:0 9px;font-size:12px}.table-input:focus,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--accent-border);border-color:var(--brand-blue)}.form-grid-2{grid-template-columns:1fr 1fr;gap:14px 10px;display:grid}.driver-form{gap:16px;padding:20px;display:grid}.driver-form .section-head{margin-bottom:0}.driver-form .form-field{font-weight:500}.driver-form .form-field input,.driver-form .form-field select,.driver-form .form-field textarea{background:color-mix(in oklab, var(--surface-2) 86%, var(--surface))}.driver-form .form-field input:hover,.driver-form .form-field select:hover,.driver-form .form-field textarea:hover{border-color:var(--border-strong);background:var(--surface-2)}.driver-form .btn.primary,.driver-engage-modal .btn.primary{border-color:var(--brand-blue);background:linear-gradient(180deg, var(--brand-blue), var(--accent-hover));width:100%;height:40px;box-shadow:0 8px 18px color-mix(in oklab, var(--brand-blue) 24%, transparent);justify-content:center;margin-top:2px;font-weight:700}.driver-form .btn.primary:hover,.driver-engage-modal .btn.primary:hover{border-color:var(--accent-hover);background:linear-gradient(180deg, var(--brand-blue-2), var(--brand-blue))}.driver-form .btn.primary:disabled,.driver-engage-modal .btn.primary:disabled{opacity:.72;cursor:wait;box-shadow:none}.driver-table-layout{display:block}.driver-modal{width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);overflow:auto}.driver-engage-modal{width:min(430px,100vw - 32px)}.driver-modal .modal-actions .btn.primary{width:auto;min-width:120px}.driver-link-cell{align-items:center;gap:6px;min-width:118px;display:inline-flex}.driver-link-cell small{border:1px solid var(--border);height:18px;color:var(--text-3);border-radius:999px;align-items:center;padding:0 6px;font-size:10px;font-weight:700;display:inline-flex}.analysis-driver-list-card{overflow:hidden}.analysis-driver-grid{background:var(--divider);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;display:grid}.analysis-driver-card{background:var(--surface);width:100%;min-height:74px;color:var(--text);text-align:left;border:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.analysis-driver-card:hover{background:var(--surface-2)}.rank-pos{border-radius:var(--r);background:var(--accent-soft);width:24px;height:24px;color:var(--brand-blue);font-family:var(--font-mono);place-items:center;font-size:11.5px;font-weight:700;display:grid}.rank-main{gap:2px;min-width:0;display:grid}.rank-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.rank-main small,.rank-metric small{color:var(--text-3);font-size:11px}.rank-metric{font-family:var(--font-mono);justify-items:end;gap:1px;display:grid}.rank-metric b{font-size:12px}.empty-state{color:var(--text-3);text-align:center;padding:24px 14px;font-size:12.5px}.analysis-period-modal{gap:16px;display:grid}.selected-driver{min-height:32px;color:var(--text);align-items:center;gap:8px;font-weight:600;display:inline-flex}.selected-driver svg{color:var(--brand-blue)}.analysis-period-modal .btn.primary{justify-content:center;height:40px}.analysis-result-view{gap:16px;display:grid}.analysis-result-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.analysis-result-head h1{letter-spacing:0;margin:10px 0 0;font-size:20px}.gamification-kpis{margin:0}.analysis-bonus-card{border-color:var(--accent-border)}.analysis-bonus-body{gap:12px;padding:16px;display:grid}.bonus-progress{gap:10px;display:grid}.bonus-progress strong{color:var(--text);font-size:14px;display:block}.bonus-progress small{color:var(--text-3);margin-top:3px;font-size:12px;display:block}.bonus-progress b{color:var(--text);font-family:var(--font-mono);font-size:22px}.bonus-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.bonus-metrics div{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);gap:6px;padding:10px;display:grid}.bonus-metrics span{color:var(--text-3);font-size:11.5px}.bonus-metrics strong{color:var(--text);font-family:var(--font-mono);font-size:13px}.analysis-bonus-body p{color:var(--text-2);margin:0;font-size:12px;line-height:1.45}.analysis-daily-card{grid-column:1/-1}.analysis-daily-body{gap:12px;padding:14px;display:grid}.analysis-daily-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.analysis-daily-summary div{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);gap:5px;padding:10px;display:grid}.analysis-daily-summary span,.analysis-daily-days small{color:var(--text-3);font-size:11.5px}.analysis-daily-summary strong,.analysis-daily-days strong{color:var(--text);font-family:var(--font-mono)}.analysis-daily-days{gap:0;display:grid}.analysis-daily-days div{border-top:1px solid var(--divider);grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 0;display:grid}.analysis-daily-days div:first-child{border-top:0}.analysis-daily-days span{color:var(--text-2);font-family:var(--font-mono);font-size:12px}.analysis-charts{gap:var(--gap);grid-template-columns:1.35fr 1fr 1fr;align-items:stretch;display:grid}.analysis-chart-card{min-width:0;overflow:hidden}.score-composition-card{grid-column:span 2}.analysis-chart-body{gap:12px;padding:14px;display:grid}.score-bar-row{gap:6px;display:grid}.score-bar-label,.score-band-row,.critical-trip-row{align-items:center;gap:10px;display:grid}.score-bar-label{color:var(--text-2);grid-template-columns:1fr auto;font-size:12px}.score-bar-label b,.score-band-row b{font-family:var(--font-mono);color:var(--text)}.score-bar-track,.score-band-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:8px;overflow:hidden}.score-bar-fill,.score-band-fill{height:100%;width:var(--score-width,0%);border-radius:inherit;display:block}.score-band-fill{width:var(--band-width,0%)}.score-bar-fill.great,.score-band-fill.great,.score-band-dot.great{background:var(--ok)}.score-bar-fill.good,.score-band-fill.good,.score-band-dot.good{background:var(--info)}.score-bar-fill.warn,.score-band-fill.warn,.score-band-dot.warn{background:var(--warn)}.score-bar-fill.bad,.score-band-fill.bad,.score-band-dot.bad{background:var(--crit)}.score-band-chart{align-content:start;gap:12px}.score-band-summary{border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--r);background:var(--surface-2);gap:4px;padding:12px;display:grid}.score-band-summary strong{color:var(--text);font-size:14px}.score-band-summary span{color:var(--text-3);font-size:12px;line-height:1.35}.score-band-row{color:var(--text-2);grid-template-columns:10px minmax(74px,.6fr) minmax(120px,1fr) 30px 42px;min-height:34px;font-size:12px}.score-band-dot{border-radius:999px;width:8px;height:8px}.score-band-row>strong{color:var(--text);font-family:var(--font-mono);justify-self:end;font-size:13px}.period-average-grid{grid-template-columns:1.1fr 1fr;gap:10px}.period-average-grid>div{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);gap:4px;min-width:0;padding:10px;display:grid}.period-average-card{border-color:color-mix(in oklab, var(--brand-blue) 32%, var(--border));background:linear-gradient(180deg, color-mix(in oklab, var(--brand-blue) 8%, var(--surface)), var(--surface))}.period-average-card .card-header{background:color-mix(in oklab, var(--brand-blue) 6%, transparent)}.period-average-hero{text-align:center;grid-row:span 3;place-content:center;justify-items:center;min-height:176px;background:color-mix(in oklab, var(--brand-blue) 12%, var(--surface-2))!important;border-color:color-mix(in oklab, var(--brand-blue) 28%, var(--border))!important}.period-average-hero strong{line-height:1;color:var(--brand-blue)!important;font-size:56px!important}.period-average-hero span{font-size:12px;font-weight:700}.period-average-grid span{color:var(--text-3);font-size:11px}.period-average-grid strong{color:var(--text);font-family:var(--font-mono);font-size:13px}.critical-trip-list{gap:8px}.critical-trip-row{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;border-bottom:1px solid var(--divider);background:0 0;grid-template-columns:28px minmax(0,1fr) auto;min-height:38px;padding:7px 0}.critical-trip-row:hover{background:var(--hover)}.critical-trip-row:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;border-radius:var(--r)}.critical-trip-row:last-child{border-bottom:0}.critical-trip-main{min-width:0}.critical-trip-main strong,.critical-trip-main small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.critical-trip-main strong{color:var(--text);font-size:12px}.critical-trip-main small{color:var(--text-3);margin-top:2px;font-size:11px}.critical-trip-main em{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);margin-top:4px;font-size:11px;font-style:normal;display:block;overflow:hidden}.analysis-argument-card{grid-column:1/-1}.argument-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.argument-column{align-content:start;gap:10px;min-width:0;display:grid}.argument-column h4{color:var(--text-2);margin:0;font-size:12px;font-weight:700}.argument-item{border:1px solid var(--border);border-left:3px solid var(--warn);border-radius:var(--r);background:var(--surface-2);gap:8px;min-width:0;padding:10px;display:grid}.argument-item.positive{border-left-color:var(--ok)}.argument-item strong{font-size:12px}.argument-item p,.argument-item small{color:var(--text-2);margin:0;font-size:12px;line-height:1.4}.argument-item small{color:var(--text-3)}.day-detail-modal{width:min(1180px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.critical-trip-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.critical-trip-summary>div{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);gap:5px;min-width:0;padding:10px;display:grid}.critical-trip-summary span{color:var(--text-3);font-size:11px}.critical-trip-summary strong{color:var(--text);font-family:var(--font-mono);font-size:13px}.critical-trip-explanation{gap:10px;display:grid}.critical-trip-evidence{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);gap:8px;padding:12px;display:grid}.critical-trip-evidence strong{font-size:13px}.critical-trip-evidence p,.critical-trip-evidence small{color:var(--text-2);margin:0;font-size:12px;line-height:1.4}.critical-trip-evidence small{color:var(--text-3)}.critical-trip-evidence dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin:0;display:grid}.critical-trip-evidence dt{color:var(--text-3);font-size:11px}.critical-trip-evidence dd{color:var(--text);font-family:var(--font-mono);margin:1px 0 0;font-size:12px}.day-detail-layout{display:block}.day-detail-layout.has-route{grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);align-items:start;gap:14px;display:grid}.day-detail-info{min-width:0}.day-route-panel{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.day-route-map{border-top:1px solid var(--divider);border-bottom:1px solid var(--divider);background:var(--surface-2);width:100%;height:min(56vh,520px);min-height:360px;position:relative;overflow:hidden}.day-route-map-shell{position:relative}.day-route-map-shell:fullscreen .day-route-map{border:0;height:100%;min-height:100%}.vehicle-route-map-shell{background:var(--surface-2);width:100%;height:360px;position:relative;overflow:hidden}.vehicle-route-map-shell:fullscreen{height:100vh}.day-route-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px 12px;display:grid}.day-route-summary div{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);min-width:0;padding:8px}.day-route-summary span,.day-route-summary strong{display:block}.day-route-summary span{color:var(--text-3);font-size:10.5px}.day-route-summary strong{color:var(--text);font-family:var(--font-mono);margin-top:3px;font-size:12px}.day-route-quality{border-top:1px solid var(--divider);color:var(--text-2);align-items:center;gap:7px;padding:8px 12px;font-size:11.5px;line-height:1.35;display:flex}.day-route-quality svg{color:var(--brand-blue);flex:none}.day-route-quality.warn{background:color-mix(in oklab, var(--warn) 9%, transparent);color:var(--text)}.day-route-quality.warn svg{color:var(--warn)}.day-route-map .empty-state{place-items:center;height:100%;display:grid}.day-route-footer{color:var(--text-3);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:12px;display:flex}.empty-state.compact{padding:18px 8px}.report-table-card{grid-column:1/-1;overflow:hidden}.wide-table-scroll{overflow:auto}.gamification-table{min-width:1260px}.gamification-table thead th{background:var(--surface-2);color:var(--text-2);font-weight:700}:root[data-theme=dark] .gamification-table thead th{background:var(--surface-2);color:var(--text-2)}.score-pill{border-radius:var(--r);border:1px solid var(--border);background:var(--surface-2);min-width:38px;height:24px;font-family:var(--font-mono);place-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-grid}.score-pill.great{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-border)}.score-pill.good{color:var(--info);background:var(--info-bg);border-color:var(--info-border)}.score-pill.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-border)}.score-pill.bad{color:var(--crit);background:var(--crit-bg);border-color:var(--crit-border)}.selected-analysis-row td{background:color-mix(in oklab, var(--brand-blue) 8%, transparent)}.evidence-panel{border-bottom:1px solid var(--divider);background:var(--surface);padding:14px}.evidence-modal{width:min(980px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.evidence-modal .evidence-panel{border:1px solid var(--border);border-radius:var(--r);padding:12px}.evidence-modal .evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.evidence-head h4{margin:0;font-size:13px}.evidence-head span{color:var(--text-3);margin-top:2px;font-size:11.5px;display:block}.evidence-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.evidence-card{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);min-width:0;padding:10px}.evidence-card strong{font-size:12px}.evidence-card dl{grid-template-columns:1fr auto;gap:4px 10px;margin:10px 0 0;font-size:11.5px;display:grid}.evidence-card dt{color:var(--text-3)}.evidence-card dd{font-family:var(--font-mono);color:var(--text);margin:0}.evidence-card p{color:var(--text-2);margin:10px 0 0;font-size:11.5px;line-height:1.35}.evidence-card small{color:var(--text-3);margin-top:8px;font-size:11.5px;line-height:1.35;display:block}.form-success{border:1px solid color-mix(in oklab, var(--ok) 35%, var(--border));background:color-mix(in oklab, var(--ok) 8%, var(--surface));color:var(--text);border-radius:var(--r);padding:9px 10px;font-size:12.5px}.auth-submit{background:linear-gradient(180deg, var(--brand-navy-2), var(--brand-navy));justify-content:center;height:42px;margin-top:2px;font-weight:700;box-shadow:0 10px 24px #14193652}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 14px 30px #14193661}.auth-submit:disabled{opacity:.72;cursor:wait;transform:none}.form-error{color:var(--crit);background:color-mix(in oklab, var(--crit) 9%, transparent);border:1px solid color-mix(in oklab, var(--crit) 24%, transparent);border-radius:6px;padding:8px 10px;font-size:12px}.form-success{color:var(--ok);background:color-mix(in oklab, var(--ok) 9%, transparent);border:1px solid color-mix(in oklab, var(--ok) 24%, transparent);border-radius:6px;padding:8px 10px;font-size:12px}.settings-card-button{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.settings-card-button:hover{border-color:var(--border-strong);background:var(--hover)}.support-action{text-align:left;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);color:var(--text);cursor:pointer;gap:6px;padding:12px;display:grid}.support-action:hover{border-color:var(--border-strong);background:var(--hover)}.support-action:disabled{cursor:not-allowed;opacity:.55}.support-action span{align-items:center;gap:8px;font-size:12.5px;font-weight:700;display:inline-flex}.support-action small{color:var(--text-3);font-size:11.5px;line-height:1.4}.settings-form{flex-direction:column;gap:14px;max-width:560px;display:flex}.bonus-page-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:stretch;gap:16px;margin-bottom:16px;display:grid}.bonus-page-grid.setup,.bonus-page-grid.lists{align-items:start}.bonus-hero-card{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:16px;padding:16px;display:grid}.bonus-hero-main{align-content:center;gap:5px;display:grid}.bonus-hero-main span,.bonus-hero-main small,.bonus-hero-stats span{color:var(--text-3);font-size:12px}.bonus-hero-main strong{color:var(--text);font-family:var(--font-mono);font-size:32px;line-height:1}.bonus-hero-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.bonus-hero-stats div,.bonus-month-card,.bonus-config-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r)}.bonus-hero-stats div{gap:8px;padding:12px;display:grid}.bonus-hero-stats b{color:var(--text);font-family:var(--font-mono);font-size:16px}.bonus-month-card{align-content:center;gap:12px;padding:16px;display:grid}.bonus-month-card .btn{justify-content:center}.bonus-config-card{flex-direction:column;gap:14px;padding:16px;display:flex}.bonus-group-list,.bonus-vehicle-list{display:grid}.bonus-group-row{appearance:none;border:0;border-top:1px solid var(--divider);color:var(--text);cursor:pointer;text-align:left;background:0 0;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px 16px;display:grid}.bonus-group-row:first-child{border-top:0}.bonus-group-row:hover{background:var(--hover)}.bonus-group-row strong,.bonus-group-row small{display:block}.bonus-group-row small,.bonus-warning{color:var(--text-3);margin-top:3px;font-size:11.5px}.bonus-group-row b{color:var(--text);font-family:var(--font-mono);align-self:center}.bonus-vehicle-row{border-top:1px solid var(--divider);grid-template-columns:110px minmax(0,1fr);align-items:center;gap:10px;padding:11px 16px;display:grid}.bonus-vehicle-row:first-child{border-top:0}.plate-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);border-radius:6px;justify-content:center;padding:4px 8px;font-size:12px;font-weight:800;display:inline-flex}.bonus-monthly-card .tbl tbody td:first-child strong,.bonus-monthly-card .tbl tbody td:first-child small{display:block}.bonus-table-progress{gap:4px;min-width:160px;display:grid}.bonus-table-progress span,.bonus-table-progress small{color:var(--text-3);font-size:11px}.bonus-table-progress .score-bar-track{height:7px}.bonus-table-progress i{background:var(--brand-blue);height:100%;width:var(--score-width);display:block}.daily-page{gap:16px;display:grid}.geofence-layout{grid-template-columns:minmax(0,1fr) minmax(320px,360px);width:100%;max-width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.geofence-map{min-width:0;min-height:0;position:relative;overflow:hidden}.geofence-map-canvas{width:100%;height:100%}.geofence-map-canvas.drawing,.geofence-map-canvas.drawing .leaflet-grab{cursor:crosshair}.geofence-map-tip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);color:var(--text-2);z-index:20;border-radius:6px;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:16px;left:54px}.geofence-draw-toolbar{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);z-index:20;border-radius:6px;flex-wrap:nowrap;align-items:center;gap:6px;min-height:38px;padding:5px 6px 5px 10px;display:flex;position:absolute;top:16px;left:54px}.geofence-draw-toolbar span{color:var(--text-2);white-space:nowrap;font-size:12px;font-weight:600}.geofence-draw-toolbar .icon-btn{width:26px;height:26px}.geofence-map-detail{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:20;border-radius:8px;gap:12px;width:min(330px,100% - 36px);padding:14px;display:grid;position:absolute;bottom:18px;left:18px}.geofence-map-detail .btn{justify-content:center;width:100%}.geofence-map-detail strong,.geofence-map-detail small{display:block}.geofence-map-detail small{color:var(--text-3);margin-top:3px;font-size:11.5px}.geofence-vertex-marker{background:0 0;border:0}.geofence-vertex-marker span{background:var(--surface);border:2px solid var(--brand-blue);cursor:grab;border-radius:50%;width:18px;height:18px;display:block;position:relative;box-shadow:0 4px 14px #00000059}.geofence-vertex-marker span:after{background:var(--brand-blue);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.leaflet-drag-target .geofence-vertex-marker span{cursor:grabbing}.geofence-detail-grid,.geofence-summary{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.geofence-detail-grid{border-bottom:1px solid var(--divider);border-top:1px solid var(--divider);padding:10px 0}.geofence-detail-grid div,.geofence-summary div{min-width:0}.geofence-detail-grid span,.geofence-detail-grid b,.geofence-summary span,.geofence-summary b{display:block}.geofence-detail-grid span,.geofence-summary span{color:var(--text-3);font-size:10.5px}.geofence-detail-grid b,.geofence-summary b{color:var(--text);font-family:var(--font-mono);margin-top:4px;font-size:12px}.geofence-panel{background:var(--surface);border-left:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.geofence-panel-head{border-bottom:1px solid var(--divider);align-items:flex-start;padding:16px;display:block}.geofence-panel-head h1{margin:0;font-size:18px}.geofence-panel-head p{color:var(--text-3);margin:4px 0 0;font-size:11.5px;line-height:1.4}.geofence-panel>.form-error,.geofence-panel>.form-success{margin:10px 12px 0}.geofence-create-card{border-bottom:1px solid var(--divider);gap:12px;padding:14px 16px 16px;display:grid}.geofence-create-card strong,.geofence-create-card span,.geofence-create-actions b,.geofence-create-actions small{display:block}.geofence-create-card>div:first-child strong{color:var(--text);font-size:13px}.geofence-create-card>div:first-child span{color:var(--text-3);margin-top:2px;font-size:11.5px}.geofence-create-actions{gap:8px;display:grid}.geofence-create-actions button{background:var(--surface-2);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:7px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:58px;padding:9px 10px;display:grid}.geofence-create-actions button:hover{background:var(--hover);border-color:var(--border-strong)}.geofence-create-actions button.active{background:var(--accent-soft);border-color:var(--brand-blue);box-shadow:inset 3px 0 0 var(--brand-blue)}.geofence-create-actions svg{color:var(--brand-blue);justify-self:center}.geofence-create-actions b{font-size:12.5px}.geofence-create-actions small{color:var(--text-3);margin-top:2px;font-size:11px}.geofence-draw-save{background:var(--surface-2);border:1px solid var(--accent-border);border-radius:7px;align-items:center;gap:10px;padding:10px;display:grid}.geofence-draw-save strong,.geofence-draw-save span{display:block}.geofence-draw-save strong{color:var(--text);font-size:12.5px}.geofence-draw-save span{color:var(--text-3);margin-top:2px;font-size:11px}.geofence-draw-save .btn{justify-content:center;width:100%}.geofence-summary{border-bottom:1px solid var(--divider);gap:8px;padding:13px 16px}.geofence-list{min-height:0;overflow:auto}.geofence-list-row{border:0;border-bottom:1px solid var(--divider);color:var(--text);cursor:pointer;text-align:left;background:0 0;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:66px;padding:12px 16px;display:grid}.geofence-list-row:hover,.geofence-list-row.selected{background:var(--hover)}.geofence-list-row.selected{box-shadow:inset 3px 0 0 var(--brand-blue)}.geofence-list-row i{border-radius:50%;width:9px;height:9px}.geofence-list-row strong,.geofence-list-row small{display:block}.geofence-list-row strong{font-size:12.5px}.geofence-list-row small{color:var(--text-3);margin-top:3px;font-size:11px}.geofence-list-row b{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);font-family:var(--font-mono);border-radius:999px;justify-content:center;align-items:center;min-width:24px;padding:2px 7px;font-size:12px;display:inline-flex}.geofence-modal input[type=color]{cursor:pointer;padding:3px}.geofence-modal input[type=range]{accent-color:var(--brand-blue);padding:0}.geofence-polygon-summary{background:var(--surface-2);border:1px solid var(--border);color:var(--text-2);border-radius:6px;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.daily-toolbar{grid-template-columns:220px minmax(0,1fr);align-items:end;gap:16px;padding:14px 16px;display:grid}.daily-rule-note{color:var(--text-2);align-items:center;gap:8px;min-height:38px;font-size:12px;line-height:1.45;display:flex}.daily-rule-note svg{color:var(--brand-blue);flex:none}.daily-table-card{overflow:visible}.daily-table-head{align-items:flex-start;min-height:64px;padding:14px 16px}.daily-table-head h3{font-size:14px}.daily-table-head p{color:var(--text-3);margin:5px 0 0;font-size:11.5px;line-height:1.4}.daily-filter-bar{border-top:1px solid var(--divider);grid-template-columns:minmax(240px,1fr) repeat(3,minmax(145px,190px));align-items:center;gap:8px;padding:10px 16px;display:grid}.daily-filter-bar select,.daily-bulk-bar select{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font:inherit;height:32px;padding:0 9px;font-size:12px}.daily-search{position:relative}.daily-search input{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font:inherit;width:100%;height:32px;padding:0 10px 0 31px;font-size:12px}.daily-search svg{color:var(--text-3);position:absolute;top:8px;left:9px}.daily-bulk-bar{background:var(--accent-soft);border-top:1px solid var(--accent-border);flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:6px 16px;display:flex}.daily-bulk-bar strong{color:var(--text);margin-right:6px;font-size:12px}.daily-bulk-bar span{color:var(--text-2);font-size:12px}.daily-table-hint{border-top:1px solid var(--divider);color:var(--text-3);align-items:center;gap:6px;padding:7px 16px;font-size:11px;display:flex}.daily-table-hint svg{flex:none}.daily-table-card .tbl tbody td{vertical-align:middle}.daily-table-scroll{overflow:visible}.daily-table-scroll::-webkit-scrollbar{height:10px}.daily-table-scroll::-webkit-scrollbar-track{background:var(--surface-2)}.daily-table-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid var(--surface-2);border-radius:10px}.daily-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--text-3)}.daily-table-scroll .tbl thead th{background:var(--surface-2);box-shadow:0 1px 0 var(--border)}.daily-driver-pager{border-top:1px solid var(--divider);color:var(--text-3);justify-content:space-between;align-items:center;min-height:48px;padding:8px 16px;font-size:11.5px;display:flex}.daily-driver-pager-top{background:var(--surface-2)}.daily-driver-pager-actions{align-items:center;gap:10px;display:flex}.daily-driver-pager-actions strong{color:var(--text-2);font-size:11.5px;font-weight:600}.daily-select-cell{text-align:center;width:38px}.daily-select-cell input{accent-color:var(--brand-blue);cursor:pointer;width:15px;height:15px}.daily-table-card .tbl tbody tr.selected-daily-row{background:var(--accent-soft)}.daily-driver-row{background:var(--surface-2)}.daily-driver-row td{border-top:1px solid var(--border-strong);padding-top:11px!important;padding-bottom:11px!important}.daily-driver-toggle{appearance:none;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.daily-driver-toggle svg{color:var(--text-3);flex:none;transition:transform .16s}.daily-driver-toggle svg.expanded{transform:rotate(90deg)}.daily-driver-toggle strong,.daily-driver-toggle small{display:block}.daily-driver-toggle strong{font-size:12.5px}.daily-driver-toggle small,.daily-driver-source,.daily-driver-statuses{color:var(--text-3);margin-top:3px;font-size:11px}.daily-child-row td:nth-child(2){padding-left:24px}.daily-child-row{background:color-mix(in oklab, var(--surface) 92%, var(--surface-2))}.daily-kind,.daily-status{border:1px solid var(--border);border-radius:6px;min-height:22px;padding:2px 7px;font-size:11px;font-weight:800;display:inline-flex}.daily-kind.automatic,.daily-status.approved{background:color-mix(in oklab, var(--brand-blue) 12%, transparent);border-color:var(--accent-border);color:var(--brand-blue-2)}.daily-kind.extra,.daily-status.pending{background:color-mix(in oklab, var(--warn) 10%, transparent);border-color:color-mix(in oklab, var(--warn) 35%, var(--border));color:var(--warn)}.daily-kind.manual,.daily-status.paid{background:color-mix(in oklab, var(--ok) 10%, transparent);border-color:color-mix(in oklab, var(--ok) 35%, var(--border));color:var(--ok)}.daily-status.ignored{color:var(--text-3)}.daily-row-detail{color:var(--text-3);margin-top:3px;font-size:11px;display:block}.daily-modal{width:min(560px,100vw - 32px)}.daily-rules-modal{width:min(860px,100vw - 32px)}.daily-rules-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.daily-rule-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:12px;padding:14px;display:grid}.daily-rule-card.enabled{border-color:color-mix(in oklab, var(--brand-blue) 60%, var(--border));box-shadow:inset 3px 0 0 var(--brand-blue)}.daily-rule-toggle{align-items:flex-start;gap:10px;display:flex}.daily-rule-toggle input{margin-top:3px}.daily-rule-toggle span{gap:3px;display:grid}.daily-rule-toggle strong{color:var(--text);font-size:13px}.daily-rule-toggle small{color:var(--text-3);font-size:11.5px;line-height:1.35}.daily-rule-warning{background:color-mix(in oklab, var(--warn) 8%, transparent);border:1px solid color-mix(in oklab, var(--warn) 30%, var(--border));border-radius:var(--r);color:var(--text-2);padding:10px;font-size:12px;line-height:1.45}.daily-edit-summary{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);gap:4px;padding:10px;display:grid}.daily-edit-summary span{color:var(--text-3);font-size:11.5px}.daily-edit-summary strong{color:var(--text);font-family:var(--font-mono);font-size:13px}.gamification-settings-form{gap:14px;max-width:820px;display:grid}.weight-control{border-top:1px solid var(--divider);grid-template-columns:minmax(180px,1fr) minmax(160px,1.4fr) 76px 48px;align-items:center;gap:12px;padding:12px 0;display:grid}.weight-control:first-of-type{border-top:0}.weight-main{gap:3px;min-width:0;display:grid}.weight-title{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.weight-title svg{color:var(--brand-blue)}.weight-main small{color:var(--text-3);font-size:11.5px}.weight-control input[type=range]{width:100%;accent-color:var(--brand-blue)}.weight-number{border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2);width:76px;height:36px;color:var(--text);font:inherit;font-family:var(--font-mono);padding:0 10px}.weight-share{min-width:42px;color:var(--text-2);font-family:var(--font-mono);justify-self:end;font-size:12px}.gamification-settings-actions{border-top:1px solid var(--divider);padding-top:12px}.check-field{min-height:38px;color:var(--text-2);align-items:center;gap:8px;font-size:12px;display:flex}.check-field input{width:16px;height:16px;accent-color:var(--brand-blue)}.form-label{color:var(--text-2);margin-bottom:8px;font-size:12px;font-weight:700}.module-toggle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.module-toggle{appearance:none;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;gap:4px;min-height:72px;padding:10px;display:grid}.module-toggle:hover{background:var(--hover);border-color:var(--border-strong)}.module-toggle.active{background:var(--accent-soft);border-color:var(--brand-blue)}.module-toggle span{font-size:12.5px;font-weight:800}.module-toggle small{color:var(--text-3);font-size:11px;line-height:1.35}.client-module-list{flex-wrap:wrap;gap:5px;min-width:280px;display:flex}.module-pill{appearance:none;border:1px solid var(--border);background:var(--surface);color:var(--text-3);cursor:pointer;border-radius:6px;height:24px;padding:0 8px;font-size:11px;font-weight:700}.module-pill:hover{color:var(--text);border-color:var(--border-strong)}.module-pill.active{background:var(--accent-soft);border-color:var(--brand-blue);color:var(--text)}.modal-backdrop{z-index:5000;background:#00000073;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.tweaks-panel{font-family:var(--font-sans)}@media (max-width:960px){.faq-help-sections{grid-template-columns:1fr}.app-shell{--sidebar-w:56px}.sidebar{padding:14px 6px}.nav-item span.lbl,.nav-label,.sidebar-footer .who,.nav-item .badge-count{display:none}.nav-item{justify-content:center;padding:8px}.sidebar-brand{justify-content:center;padding:6px 0 18px}.brand-logo{object-fit:cover;object-position:left center;width:28px;height:28px}.sidebar-footer{justify-content:center;padding:10px 4px}.map-layout{grid-template-columns:1fr}.map-panel{display:none}.geofence-layout{grid-template-rows:minmax(420px,60vh) auto;grid-template-columns:1fr;height:auto}.geofence-panel{border-left:0;border-top:1px solid var(--border)}.geofence-list{max-height:360px}.grid.cols-4,.grid.cols-5{grid-template-columns:repeat(2,1fr)}.grid.cols-6{grid-template-columns:repeat(3,1fr)}.bonus-page-grid,.bonus-hero-card,.bonus-hero-stats,.daily-toolbar,.daily-filter-bar,.daily-rules-grid,.analysis-charts{grid-template-columns:1fr}.score-composition-card{grid-column:auto}.period-average-grid,.analysis-daily-summary,.analysis-daily-days div{grid-template-columns:1fr}.period-average-hero{grid-row:auto}.argument-grid{grid-template-columns:1fr}.critical-trip-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.critical-trip-evidence dl,.day-detail-layout.has-route{grid-template-columns:1fr}.day-route-map{min-height:320px}.analysis-result-head{flex-direction:column;align-items:flex-start}.weight-control{grid-template-columns:1fr}.weight-number,.weight-share{justify-self:start}.evidence-grid,.evidence-modal .evidence-grid{grid-template-columns:1fr}}@media (max-width:720px){:root{--topbar-h:auto;--font-base:13px}html,body,#app{height:100%;overflow:hidden}.app-shell,.app-shell.sidebar-collapsed{--sidebar-w:0px;grid-template-columns:1fr;height:100dvh;min-height:100dvh;padding-bottom:0;display:block}.sidebar{z-index:4200;height:calc(62px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:1px solid #ffffff1a;border-right:0;grid-row:2;grid-template-columns:1fr;display:grid;position:fixed;inset:auto 0 0}.sidebar-brand,.sidebar-footer,.nav-label{display:none}.nav-section{scrollbar-width:none;flex-direction:row;gap:4px;padding:0;display:flex;overflow:auto hidden;border:0!important}.nav-section::-webkit-scrollbar{display:none}.nav-item,.app-shell.sidebar-collapsed .nav-item{border-radius:8px;flex:0 0 66px;align-content:center;justify-items:center;gap:3px;min-width:66px;min-height:50px;padding:5px 4px;font-size:10.5px;display:grid}.nav-item span.lbl,.app-shell.sidebar-collapsed .nav-item span.lbl{text-overflow:ellipsis;white-space:nowrap;max-width:62px;display:block;overflow:hidden}.nav-item svg{width:17px;height:17px}.nav-item.active{box-shadow:inset 0 2px 0 var(--brand-blue-2)}.main{height:100dvh;min-height:0;padding-bottom:calc(62px + env(safe-area-inset-bottom))}.topbar{flex-wrap:wrap;gap:8px;height:auto;min-height:50px;padding:8px 10px}.sidebar-toggle{display:none}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 34px);overflow:hidden}.topbar-status{border-radius:6px;order:3;justify-content:center;width:100%;min-height:30px}.environment-combobox{order:2;width:min(100%,210px);margin-right:0}.view{padding:12px;overflow-x:hidden}.page-head{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.page-head h1{font-size:21px;line-height:1.15}.sub{font-size:12px}.grid.cols-2,.grid.cols-2-1,.grid.cols-1-2,.grid.cols-3,.grid.cols-4,.grid.cols-5,.grid.cols-6{grid-template-columns:1fr}.card{border-radius:8px;padding:12px}.card-header,.section-head,.analysis-result-head{flex-direction:column;align-items:flex-start;gap:8px}.btn,.btn.sm,.btn.ghost.sm{min-height:40px;padding:0 12px}.tbl-wrap,.wide-table-scroll,.daily-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tbl{min-width:720px}.tbl-toolbar,.tbl-toolbar-secondary{flex-direction:column;align-items:stretch}.tbl-toolbar .search,.topbar-search{width:100%}.map-layout{grid-template-rows:1fr;height:calc(100dvh - 112px)}.map-canvas{min-height:calc(100dvh - 112px)}.map-detail{width:auto;max-height:44dvh;bottom:58px;left:10px;right:10px;overflow:auto}.map-fullscreen-btn,.map-google-btn{min-height:40px;padding:0 11px}.map-canvas>.map-fullscreen-btn,.geofence-map>.map-fullscreen-btn,.vehicle-route-map-shell>.map-fullscreen-btn,.day-route-map-shell>.map-fullscreen-btn{bottom:58px}.map-canvas>.map-google-btn,.geofence-map>.map-google-btn,.vehicle-route-map-shell>.map-google-btn,.day-route-map-shell>.map-google-btn{bottom:12px}.vehicle-route-map-shell,.day-route-map-shell,.geofence-map{min-height:320px}.analysis-driver-grid,.analysis-bonus-body,.critical-trip-summary,.bonus-page-grid,.bonus-hero-card,.bonus-hero-stats,.geofence-layout,.daily-header-grid,.daily-rules-grid,.module-toggle-grid{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:10px}.modal-card{width:100%;max-height:88dvh;overflow:auto}}@media print{@page{size:A4 landscape;margin:10mm}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}html,body{background:var(--bg)!important}.sidebar,.topbar,.no-print,.print-hidden,.modal-backdrop{display:none!important}.app-shell{height:auto;min-height:0;display:block}.main,.view{display:block;overflow:visible;padding:0!important}.analysis-result-view{gap:12px;width:100%;display:grid}.analysis-result-head{break-after:avoid;justify-content:space-between;align-items:flex-end;display:flex}.analysis-result-head h1{font-size:18px}.gamification-kpis{gap:8px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))!important}.analysis-charts{gap:8px;grid-template-columns:none!important;display:block!important}.score-composition-card,.analysis-argument-card{grid-column:auto!important}.analysis-chart-card,.analysis-argument-card,.report-table-card{margin-bottom:8px;width:100%!important;display:block!important}.analysis-chart-body{gap:8px;padding:10px}.period-average-grid,.argument-grid,.critical-trip-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.period-average-hero{min-height:120px}.period-average-hero strong{font-size:42px!important}.critical-trip-row{min-height:32px;padding:5px 0}.critical-trip-main em,.critical-trip-main small{white-space:normal}.argument-item,.critical-trip-evidence{padding:8px}.card,.kpi{break-inside:avoid}.card{border-radius:6px}.kpi{padding:10px}.kpi-value{font-size:18px}.wide-table-scroll{overflow:visible}.report-table-card{break-before:page;page-break-before:always;break-inside:auto;page-break-inside:auto;grid-column:auto!important;display:block!important;overflow:visible!important}.gamification-table{table-layout:fixed;width:100%;min-width:0;font-size:8.5px}.gamification-table thead{display:table-header-group}.gamification-table tr{break-inside:avoid;page-break-inside:avoid}.gamification-table th,.gamification-table td{white-space:normal;word-break:break-word;padding:5px 4px}.score-pill{min-width:28px;height:18px;padding:0 5px;font-size:9px}}
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.1220hx8ja1.sy.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0olxl6i2vnf_c.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.0i9~u_difxrfa.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
