:root {
  --orange:#ff7a00;
  --orange-2:#ff8e1a;
  --navy:#092553;
  --blue:#1767a5;
  --teal:#12aba9;
  --bg:#f5f8fc;
  --panel:#ffffff;
  --line:#e6ecf4;
  --muted:#6d7f9c;
  --text:#132a4f;
  --green:#0caf68;
  --green-bg:#ddf7e9;
  --red:#ef3340;
  --red-bg:#ffe3e4;
  --amber:#f39b19;
  --amber-bg:#fff0d8;
  --info:#2c76d2;
  --info-bg:#e5efff;
  --shadow:0 10px 30px rgba(25,64,112,.08);
  --radius:16px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select{font:inherit}
button{cursor:pointer}
a{text-decoration:none;color:inherit}
.hidden{display:none!important}

/* Shared */
.brand{display:flex;flex-direction:column;align-items:flex-start;line-height:1;width:max-content}
.brand img{width:218px;height:auto;display:block}
.brand .tacho{font-family:Verdana,Arial,sans-serif;font-weight:800;color:var(--orange);font-size:26px;letter-spacing:.5px;align-self:flex-end;margin-top:-2px;margin-right:8px}
.logo-small img{width:210px}.logo-small .tacho{font-size:25px}
.btn{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px 15px;font-weight:700;display:inline-flex;align-items:center;gap:8px;justify-content:center}
.btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(12,41,82,.08)}
.btn.primary{background:linear-gradient(135deg,var(--orange),var(--orange-2));border-color:transparent;color:#fff}
.btn.green{background:var(--green);border-color:var(--green);color:#fff}
.btn.ghost-orange{border-color:var(--orange);color:var(--orange)}
.btn.sm{padding:8px 11px;font-size:13px}
.icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.muted{color:var(--muted)}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}

/* Login */
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f7faff 52%,#eef5fb 100%)}
.login-shell:before{content:"";position:absolute;width:900px;height:900px;border-radius:50%;left:-360px;top:-500px;border:110px solid rgba(23,103,165,.035)}
.login-left{position:relative;z-index:1;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:center}
.login-left .brand img{width:min(470px,45vw)}
.login-left .brand .tacho{font-size:48px;margin-right:16px}
.login-subtitle{font-size:29px;line-height:1.25;color:#5f7292;margin:34px 0 30px;max-width:540px}
.login-features{display:grid;gap:22px;max-width:610px}.login-feature{display:grid;grid-template-columns:58px 1fr;gap:18px;align-items:center}.feature-badge{width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px}.feature-badge.blue{background:#e3efff;color:#2473d9}.feature-badge.green{background:#dff7ec;color:#0cae69}.feature-badge.orange{background:#ffead9;color:var(--orange)}
.login-feature strong{font-size:17px}.login-feature p{margin:4px 0 0;color:var(--muted)}
.login-road{position:absolute;left:0;right:0;bottom:0;height:175px;background:linear-gradient(to top,rgba(225,235,246,.9),rgba(255,255,255,0));pointer-events:none}
.login-right{position:relative;z-index:2;padding:5vh 6vw;display:flex;align-items:center;justify-content:center}.login-card{width:min(560px,100%);padding:48px 46px}.login-card h1{font-size:38px;margin:0 0 8px;text-align:center;color:var(--navy)}.login-card>.muted{text-align:center;display:block;margin-bottom:32px}.form-row{margin-bottom:19px}.form-row label{display:block;font-size:14px;font-weight:800;margin-bottom:8px}.input-wrap{display:flex;align-items:center;border:1px solid #d8e2ef;border-radius:10px;padding:0 14px;background:#fff}.input-wrap:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,122,0,.1)}.input-wrap input{width:100%;border:0;outline:0;padding:14px 10px;background:transparent}.login-options{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin:6px 0 24px}.login-options a{color:#176bd2}.login-card .btn.primary{width:100%;font-size:18px;padding:14px}.login-divider{display:flex;align-items:center;gap:15px;color:#8b99ae;margin:24px 0 16px;font-size:13px}.login-divider:before,.login-divider:after{content:"";height:1px;background:var(--line);flex:1}.login-card .btn.ghost-orange{width:100%}.login-msg{min-height:22px;margin-top:12px;font-size:13px;color:var(--red);text-align:center}.demo-hint{margin-top:18px;background:#fff8ef;border:1px solid #ffe1bd;border-radius:10px;padding:12px 14px;font-size:12px;color:#875116}

/* App shell */
.shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:18px 8px 14px;display:flex;flex-direction:column;z-index:5}.sidebar-brand{padding:0 12px 18px}.nav{display:grid;gap:4px}.nav-item{border:0;background:transparent;color:#30486e;text-align:left;padding:12px 13px;border-radius:10px;display:flex;align-items:center;gap:11px;font-size:15px}.nav-item:hover{background:#f3f7fb}.nav-item.active{background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;box-shadow:0 8px 18px rgba(255,122,0,.22)}.sidebar-footer{margin-top:auto;padding:10px 8px}.mode-pill{display:flex;gap:8px;align-items:center;border-radius:12px;padding:10px 12px;background:#f6f8fc;color:#667b9d;font-size:12px}.mode-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.mode-dot.live{background:var(--green)}
.main{min-width:0}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:4}.global-search{width:min(500px,45vw);display:flex;align-items:center;gap:9px;border:1px solid #dbe4ef;border-radius:9px;background:#f9fbfe;padding:0 13px}.global-search input{border:0;outline:0;width:100%;padding:11px;background:transparent;color:var(--text)}.top-actions{display:flex;align-items:center;gap:16px}.notification{position:relative;color:#4c6489}.notif-badge{position:absolute;top:-8px;right:-7px;width:20px;height:20px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}.user-menu{display:flex;align-items:center;gap:10px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#426188;color:#fff;font-weight:800}.user-meta strong{display:block;font-size:14px}.user-meta span{font-size:12px;color:var(--muted)}.content{padding:22px 18px 36px;max-width:none;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}.page-title h1{font-size:18px;line-height:1.1;margin:0 0 5px;color:var(--navy)}.page-title p{margin:0;color:var(--muted);font-size:16px}.date-control{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 14px;color:#29446c;font-weight:700}

/* KPI */
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 16px}.kpi{padding:18px;display:grid;grid-template-columns:64px 1fr;gap:13px;align-items:center;min-height:116px}.kpi-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center}.kpi-icon.blue{background:#e3eeff;color:#2971db}.kpi-icon.green{background:#ddf7e9;color:var(--green)}.kpi-icon.orange{background:#ffead9;color:var(--orange)}.kpi-icon.red{background:#ffe1e3;color:var(--red)}.kpi-label{font-size:13px;font-weight:800;color:#314a71;margin-bottom:6px}.kpi-num{font-size:34px;line-height:1;font-weight:800;color:var(--navy)}.kpi-sub{font-size:12px;color:var(--muted);margin-top:7px}.delta{font-size:13px;font-weight:800;margin-left:6px}.delta.up{color:var(--green)}.delta.warn{color:var(--orange)}.delta.bad{color:var(--red)}

/* v2.3 compact overview cards: keep primary lists higher on desktop. */
.compact-kpis{gap:10px;margin:8px 0 12px}
.compact-kpis .kpi{padding:10px 13px;grid-template-columns:46px 1fr;gap:10px;min-height:78px;border-radius:14px}
.compact-kpis .kpi-icon{width:42px;height:42px}
.compact-kpis .kpi-icon .icon{width:18px;height:18px;flex-basis:18px}
.compact-kpis .kpi-label{font-size:12px;margin-bottom:3px}
.compact-kpis .kpi-num{font-size:27px}
.compact-kpis .kpi-sub{font-size:10.5px;margin-top:4px;line-height:1.2}
.compact-kpis .delta{font-size:11px;margin-left:4px}
@media(max-width:1200px){.compact-kpis .kpi{min-height:72px}}

/* Main cards/tables */
.grid-main{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.table-card{overflow:hidden}.card-toolbar{min-height:64px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.card-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;color:var(--navy)}.card-title .icon{color:var(--orange)}.toolbar-actions{display:flex;gap:8px;align-items:center}.search-mini{display:flex;align-items:center;gap:7px;border:1px solid #dbe4ef;border-radius:9px;padding:0 11px;background:#fff;min-width:230px}.search-mini input{border:0;outline:0;padding:10px 2px;width:100%;background:transparent}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:13px;min-width:860px}.data-table th{background:#f7f9fc;color:#425878;text-align:left;padding:11px 12px;font-size:12px;white-space:nowrap}.data-table td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle;white-space:nowrap}.data-table tbody tr{transition:.15s}.data-table tbody tr:hover{background:#f8fbff}.data-table tbody tr.selected{background:#eef6ff}.row-main{font-weight:800;color:#1b365e}.status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:800}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status.green{background:var(--green-bg);color:var(--green)}.status.red{background:var(--red-bg);color:var(--red)}.status.orange{background:var(--amber-bg);color:#e48600}.status.blue{background:var(--info-bg);color:var(--info)}.status.gray{background:#eff2f6;color:#7c8a9f}.status.purple{background:#eee7ff;color:#7046d4}.actions-dots{border:0;background:transparent;color:#34547e;font-size:19px}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:16px;color:#546b8e;font-size:13px}.pagination{display:flex;gap:6px}.page-btn{width:34px;height:34px;border-radius:8px;border:1px solid #dbe4ef;background:#fff;color:#294970}.page-btn.active{background:var(--orange);color:#fff;border-color:var(--orange)}
.side-card{padding:16px}.side-card+.side-card{margin-top:16px}.side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.side-head h3{display:flex;align-items:center;gap:8px;font-size:17px;margin:0;color:var(--navy)}.side-link{font-size:12px;color:var(--orange);font-weight:800}.detail-title{display:flex;align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line);margin-bottom:8px}.detail-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e7f0ff;color:#226ac5;font-size:18px;font-weight:800}.detail-title strong{display:block;font-size:17px}.detail-title .status{margin-top:5px}.detail-list{display:grid}.detail-row{display:grid;grid-template-columns:44% 56%;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12.5px}.detail-row span:first-child{color:#5d7190}.detail-row span:last-child{font-weight:700;color:#233f68;word-break:break-word}.notice-box{border-radius:10px;padding:11px 12px;margin-top:12px;font-size:12px;line-height:1.45}.notice-box.green{background:#eaf9f1;border:1px solid #cdeedc;color:#28704a}.notice-box.orange{background:#fff6e9;border:1px solid #ffe4bf;color:#86550d}.activity-list{display:grid;gap:10px}.activity-item{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:start}.activity-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px}.activity-dot.green{background:var(--green)}.activity-dot.orange{background:var(--orange)}.activity-dot.red{background:var(--red)}.activity-dot.blue{background:var(--info)}.activity-item strong{font-size:12px;display:block}.activity-item p{font-size:11px;color:var(--muted);margin:2px 0 0}.activity-item time{font-size:10px;color:#7d8da5}

/* Settings */
.settings-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:16px}.settings-stack{display:grid;gap:16px}.settings-card{padding:18px}.settings-card h3{margin:0 0 14px;font-size:19px;color:var(--navy);display:flex;align-items:center;gap:9px}.settings-card h3 .icon{color:var(--orange)}.settings-row{display:grid;grid-template-columns:45% 1fr auto;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line);font-size:13px}.settings-row:first-of-type{border-top:0}.settings-row .label{color:#435d80}.settings-row .value{font-weight:700}.toggle{width:44px;height:24px;border-radius:999px;background:#abb8ca;position:relative;border:0}.toggle:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.2s}.toggle.on{background:var(--green)}.toggle.on:after{left:23px}.brand-preview{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:center}.brand-preview-box{border:1px solid var(--line);border-radius:12px;padding:20px;background:#f9fbfe}.brand-preview-box .brand img{width:230px}.brand-preview-box .brand .tacho{font-size:25px}.color-chip{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px}.swatch{width:38px;height:38px;border-radius:50%;background:var(--orange)}.api-key{font-family:ui-monospace,Consolas,monospace;background:#f8fafe;border:1px solid var(--line);border-radius:8px;padding:10px 12px}.connection-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}

/* Toast / modal */
.toast{position:fixed;right:24px;bottom:24px;background:#102c51;color:#fff;padding:13px 16px;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:13px;z-index:99;max-width:390px}.toast.good{background:#087a4b}.toast.bad{background:#a9232f}.modal-backdrop{position:fixed;inset:0;background:rgba(4,24,52,.32);display:grid;place-items:center;z-index:100;padding:20px;overflow-y:auto}.modal{width:min(560px,100%);max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(4,24,52,.25);padding:22px}.modal h3{margin:0 0 15px}.modal textarea,.modal input,.modal select{width:100%;border:1px solid #dbe4ef;border-radius:9px;padding:10px;margin-top:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;position:sticky;bottom:-22px;background:#fff;padding:12px 0 0;z-index:2}

@media (max-width:1200px){.shell{grid-template-columns:195px 1fr}.sidebar-brand .brand img{width:155px}.sidebar-brand .brand .tacho{font-size:19px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-main{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.side-card+.side-card{margin-top:0}.settings-grid{grid-template-columns:1fr}}
@media (max-width:820px){.shell{display:block}.sidebar{height:auto;position:relative;border-right:0;padding-bottom:8px}.sidebar-brand{padding-bottom:10px}.nav{grid-template-columns:repeat(3,1fr)}.nav-item{padding:10px;font-size:13px;justify-content:center}.sidebar-footer{display:none}.topbar{position:relative}.global-search{width:100%;max-width:none}.user-meta{display:none}.content{padding:18px 12px}.page-head{align-items:flex-start;flex-direction:column}.kpi-grid{grid-template-columns:1fr}.right-column{grid-template-columns:1fr}.toolbar-actions{flex-wrap:wrap}.search-mini{min-width:180px}.settings-grid{display:block}.settings-stack+.settings-stack{margin-top:16px}.login-shell{grid-template-columns:1fr}.login-left{display:none}.login-right{min-height:100vh}.login-card{padding:32px 24px}.brand-preview{grid-template-columns:1fr}}


/* v0.2 vehicle connectivity + download monitoring */
.vehicle-table{min-width:1460px}
.monitor-chip{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}
.monitor-chip .status{transition:transform .15s ease,box-shadow .15s ease}
.monitor-chip:hover .status{transform:translateY(-1px);box-shadow:0 3px 9px rgba(0,0,0,.10)}
.monitor-modal{width:min(720px,92vw)}
.monitor-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.monitor-summary>div{border:1px solid var(--line,#e8edf3);border-radius:12px;padding:14px;background:#fafbfd;display:flex;align-items:center;justify-content:space-between;gap:12px}
.monitor-summary>div>span:first-child{font-size:12px;color:#697586;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
@media(max-width:900px){.monitor-summary{grid-template-columns:1fr}}

/* v0.3 detailed technical-support Download Monitoring */
.monitor-modal-v3{width:min(1180px,96vw);max-height:92vh;overflow:auto;padding:0}
.monitor-loading{padding:46px;text-align:center;color:#5f6f82}.monitor-loading .icon{vertical-align:middle;margin-right:7px}
.monitor-head-v3{position:sticky;top:0;z-index:4;background:#fff;border-bottom:1px solid var(--line,#e8edf3);display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:20px 22px 16px}
.monitor-head-v3 h3{margin:3px 0 5px;font-size:20px}.monitor-head-v3 p{margin:0;color:#7a8798;font-size:12px}.monitor-kicker{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f17819}.monitor-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.monitor-summary-v3{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px 22px;background:#f7f9fc;border-bottom:1px solid var(--line,#e8edf3)}
.monitor-mini{background:#fff;border:1px solid #e4eaf1;border-radius:12px;padding:12px;min-width:0}.monitor-mini>span:first-child{display:block;color:#758294;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.04em;margin-bottom:7px}.monitor-mini>strong{display:block;font-size:14px;color:#15345b}.monitor-mini small{display:block;margin-top:7px;color:#7b8795;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.monitor-progress{height:7px;border-radius:999px;background:#edf1f5;overflow:hidden;margin-top:10px}.monitor-progress i{height:100%;display:block;background:#f17819;border-radius:999px;transition:width .25s ease}
.monitor-layout-v3{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr);gap:14px;padding:16px 22px 0}.monitor-section{border:1px solid #e3e9f0;border-radius:13px;background:#fff;padding:16px}.monitor-section.compact{padding:14px}.monitor-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid #eef2f6}.monitor-section-head h4{margin:0;color:#16395f;font-size:14px}.monitor-section-head p{margin:4px 0 0;color:#8591a0;font-size:11px}.attempt-meta{display:flex;gap:18px;flex-wrap:wrap;background:#f8fafc;border:1px solid #edf1f5;padding:9px 11px;border-radius:9px;margin:12px 0;font-size:11px;color:#677486}.attempt-meta strong{color:#243b58}
.monitor-error-box{border:1px solid #f1c6c6;background:#fff7f7;border-radius:10px;padding:12px 13px;margin:12px 0;color:#6c3434;font-size:12px;line-height:1.45}.monitor-error-title{font-weight:800;color:#a72d36;display:flex;align-items:center;gap:6px}.monitor-error-title .icon{width:16px;height:16px}.monitor-error-box p{margin:6px 0}
.monitor-pipeline{margin-top:13px}.monitor-stage{display:grid;grid-template-columns:34px 1fr;gap:9px;min-height:70px}.stage-rail{display:flex;align-items:center;flex-direction:column}.stage-node{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;background:#eef2f6;color:#768395;border:2px solid #dce4ed}.stage-node .icon{width:15px;height:15px}.stage-line{width:2px;flex:1;background:#e4eaf0;margin:4px 0}.monitor-stage.green .stage-node{background:#e9f8f1;border-color:#a9dfc5;color:#128458}.monitor-stage.green .stage-line{background:#bfe7d1}.monitor-stage.red .stage-node{background:#fff0f0;border-color:#f0b2b2;color:#b52f38}.monitor-stage.orange .stage-node{background:#fff7e9;border-color:#f2d29c;color:#c67a14}.monitor-stage.blue .stage-node{background:#edf5ff;border-color:#b8d6f6;color:#2e70b5}
.stage-body{padding-bottom:13px}.stage-head{display:flex;justify-content:space-between;gap:8px;align-items:center}.stage-head strong{color:#183758;font-size:12px}.stage-body p{margin:5px 0 3px;color:#657487;font-size:11px;line-height:1.4}.stage-body time{color:#98a3af;font-size:10px}
.monitor-side-v3{display:flex;flex-direction:column;gap:14px}.diagnostic-list{padding-top:4px}.diagnostic-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f0f3f6}.diagnostic-row:last-child{border-bottom:0}.diagnostic-row>div{min-width:0}.diagnostic-row strong{display:block;color:#34495f;font-size:11px}.diagnostic-row span:not(.status){display:block;color:#7e8a99;font-size:10px;margin-top:2px;white-space:normal}.support-note{font-size:11px;line-height:1.55;color:#647385;background:#f8fafc;border:1px solid #edf1f5;border-radius:9px;padding:11px}.diag-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f2f5f8;border:1px solid #e1e7ed;border-radius:5px;padding:2px 5px;color:#31465f;font-size:10px}
.attempts-section{margin:14px 22px 0}.attempts-table{font-size:10.5px}.attempts-table th,.attempts-table td{white-space:nowrap}.attempts-table td:last-child{white-space:normal;min-width:220px}.monitor-actions-v3{position:sticky;bottom:0;background:#fff;border-top:1px solid #e8edf3;padding:14px 22px;margin-top:15px;z-index:3}.monitor-actions-v3 .btn .icon{width:15px;height:15px}
@media(max-width:1050px){.monitor-summary-v3{grid-template-columns:repeat(2,minmax(0,1fr))}.monitor-layout-v3{grid-template-columns:1fr}.monitor-side-v3{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:700px){.monitor-head-v3{position:static;flex-direction:column}.monitor-summary-v3{grid-template-columns:1fr}.monitor-layout-v3{padding:12px}.monitor-side-v3{display:flex}.attempts-section{margin:12px}.monitor-actions-v3{position:static;padding:12px;flex-wrap:wrap}.monitor-modal-v3{max-height:none}}

/* v0.4 automatic alarm engine */
.alarm-engine-card{padding:14px 16px;margin:0 0 16px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(480px,1fr);gap:14px;align-items:center}
.alarm-engine-main{display:flex;align-items:flex-start;gap:12px}.engine-icon{width:44px;height:44px;border-radius:12px;background:#fff1e3;color:var(--orange);display:grid;place-items:center;flex:0 0 44px}.engine-title{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--navy);font-size:15px}.alarm-engine-main p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.45}.engine-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.engine-stats>div{border:1px solid var(--line);background:#f9fbfd;border-radius:10px;padding:9px 10px}.engine-stats span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;font-weight:800;letter-spacing:.04em}.engine-stats strong{display:block;color:#263f60;font-size:11px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alarm-rule-list{grid-column:1/-1;display:flex;gap:7px;flex-wrap:wrap;padding-top:2px}.alarm-rule{display:inline-flex;gap:6px;align-items:center;padding:5px 8px;border:1px solid #e5eaf0;background:#fbfcfe;border-radius:999px;font-size:10px;color:#6d7988}.alarm-rule b{color:#355170;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}
.alarm-table{min-width:1260px}.cell-sub{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:2px}.source-pill{display:inline-flex;align-items:center;border:1px solid #dde5ee;border-radius:999px;padding:4px 7px;background:#f7f9fc;color:#6c7a8c;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.source-pill.auto{background:#fff1e3;border-color:#ffd3aa;color:#d66f0a}.alarm-detail-card .detail-title{align-items:flex-start}.alert-avatar{background:#fff0f0!important;color:#bd3038!important}.detail-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.alarm-code-box{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#f7f9fc;border:1px solid var(--line);padding:10px 11px;border-radius:9px;margin:12px 0}.alarm-code-box span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.alarm-description{margin-top:12px;border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:11px}.alarm-description strong{font-size:11px;color:#3b526e}.alarm-description p{font-size:11px;color:#66768a;line-height:1.5;margin:6px 0 0;white-space:normal}
.notice-box.red{background:#fff2f2;border-color:#f3c9cc;color:#8c353b}
@media(max-width:1200px){.alarm-engine-card{grid-template-columns:1fr}.engine-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.engine-stats{grid-template-columns:repeat(2,1fr)}.alarm-rule-list{display:none}}

/* v0.5 DDD file retrieval */
.format-focus{display:inline-flex;align-items:center;gap:6px;border:1px solid #ffd3aa;background:#fff6ed;color:#9d5512;padding:9px 13px;border-radius:10px;font-size:13px}
.format-focus strong{color:var(--orange)}
.ddd-banner{margin:0 0 14px;font-size:12px;line-height:1.5}
.file-download{white-space:nowrap}


/* v1.7 contextual row actions */
.row-actions-menu{position:fixed;z-index:12000;width:220px;background:#fff;border:1px solid #dbe5f1;border-radius:14px;box-shadow:0 18px 45px rgba(14,42,79,.18);padding:7px}
.row-actions-menu button{width:100%;border:0;background:transparent;color:#12345d;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.row-actions-menu button:hover{background:#f2f6fb}
.row-actions-menu svg{width:18px;height:18px}


/* v1.9 desktop density + wider operational workspace */
@media (min-width:1201px){
  .sidebar-brand .brand img{width:170px}
  .sidebar-brand .brand .tacho{font-size:20px;margin-right:6px}
  .grid-main .table-card{min-width:0}
  .vehicle-table{min-width:1260px}
  .right-column{min-width:0}
}
.file-source-note{display:block;margin-top:4px;color:#7b8ba3;font-size:10.5px;line-height:1.35;font-weight:500}
.source-ambiguous{color:#b56c00;font-weight:800}


/* v2.0 file-list usability + denser operational layout */
@media (min-width:1201px){
  .shell{grid-template-columns:198px minmax(0,1fr)}
  .sidebar{padding-left:6px;padding-right:6px}
  .sidebar-brand{padding-left:9px;padding-right:9px}
  .sidebar-brand .brand img{width:154px}
  .sidebar-brand .brand .tacho{font-size:18px}
  .nav-item{padding:11px 10px;gap:9px;font-size:14px}
  .content{padding-left:14px;padding-right:14px}
  .grid-main{grid-template-columns:minmax(0,1fr) 288px;gap:12px}
  .vehicle-table{min-width:1210px}
}
.table-scroll-top{height:17px;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--line);background:#fbfcfe;scrollbar-gutter:stable;display:none}
.table-scroll-top.is-needed{display:block}
.table-scroll-top-track{height:1px;min-width:100%}
.table-scroll-top::-webkit-scrollbar{height:12px}
.table-scroll-top::-webkit-scrollbar-track{background:#eef2f6;border-radius:999px;margin:0 8px}
.table-scroll-top::-webkit-scrollbar-thumb{background:#98a3ad;border-radius:999px;border:2px solid #eef2f6}
.table-scroll-top::-webkit-scrollbar-thumb:hover{background:#7f8c98}
.file-list-scroll{scrollbar-gutter:stable}
.file-table{min-width:1160px}
.file-table th:first-child,.file-table td:first-child{min-width:330px}

/* v2.1 production cleanup + notification center */
@media (min-width:1201px){
  .dashboard-main{grid-template-columns:minmax(0,1fr) 260px}
}
.auto-refresh-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef6ff;border:1px solid #cfe1f4;color:#356a9d;font-size:10.5px;font-weight:800;white-space:nowrap}
.email-settings .settings-row{grid-template-columns:34% 1fr auto}
.email-test-box{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.email-test-box label{display:block;color:#435d80;font-size:12px;font-weight:800;margin-bottom:8px}
.email-test-box>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.email-test-box input{width:100%;border:1px solid #d7e0ea;background:#fff;border-radius:9px;padding:10px 11px;color:#17365d;font:inherit;font-size:12px;outline:none}
.email-test-box input:focus{border-color:#ffb168;box-shadow:0 0 0 3px rgba(255,122,0,.10)}
.email-test-box .btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){.email-test-box>div{grid-template-columns:1fr}.email-settings .settings-row{grid-template-columns:1fr}}


/* v2.2 */
.quick-file-badge,.newest-file-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.04em;vertical-align:middle}
.quick-file-badge{background:#fff0df;color:#d45f00;border:1px solid #ffd2a6}
.newest-file-badge{background:#e8f7ef;color:#087f4b;border:1px solid #bfead1}
.quick-correlated-row td:first-child{box-shadow:inset 3px 0 0 #ff7a00}
.file-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}.file-detail-actions .btn{width:100%}
.previous-history-note{margin:0 40px 18px;padding:12px 16px;border:1px solid #f2d4ad;background:#fff8ee;border-radius:12px;color:#87511a;font-size:13px}.previous-history-note small{display:block;color:#8f765d;margin-top:4px}
.email-rule-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:18px 0 10px}.email-rule-list{display:grid;gap:10px}.email-rule{border:1px solid #dfe8f2;border-radius:12px;padding:12px;background:#fbfdff}.email-rule-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.email-rule-recipients{width:100%;border:1px solid #d5e0ec;border-radius:9px;padding:9px 11px;margin-bottom:9px}.email-rule-options{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#425a78;margin-bottom:9px}.email-rule-options label{display:flex;gap:6px;align-items:center}
@media (max-width:1100px){.file-detail-actions{grid-template-columns:1fr}.previous-history-note{margin:0 20px 14px}}


/* v2.5 visual density optimization */
@media (min-width:1201px){
  /* 15% smaller SECCOM TACHO brand and left-aligned sidebar contents */
  .sidebar{padding-left:0;padding-right:5px}
  .sidebar-brand{padding-left:0;padding-right:7px;padding-bottom:14px}
  .sidebar-brand .brand img{width:131px}
  .sidebar-brand .brand .tacho{font-size:15.3px;margin-right:5px}
  .nav-item{padding-left:7px;padding-right:8px;gap:8px}

  /* Global search is 30% narrower; its containing top bar is 30% lower. */
  .topbar{height:48px;padding-left:14px;padding-right:16px}
  .global-search{width:min(350px,31.5vw);padding-left:10px;padding-right:10px}
  .global-search input{padding-top:8px;padding-bottom:8px}
  .top-actions{gap:12px}
  .avatar{width:34px;height:34px;font-size:13px}
  .user-menu{gap:8px}
  .user-meta strong{font-size:13px}
  .user-meta span{font-size:11px}
  .topbar .btn.sm{padding:6px 9px}

  /* Page header: 10% smaller title; 20% smaller date control. */
  .content{padding-top:16px}
  .page-title h1{font-size:16.2px;margin-bottom:4px}
  .date-control{font-size:13px;padding:8px 11px;border-radius:9px}

  /* About 30% less vertical space between title block and KPI cards. */
  .page-head{margin-bottom:11px}
  .compact-kpis{margin-top:6px}
}

/* v2.6 SMTP DDD delivery */
.email-rule-label{display:block;color:#435d80;font-size:11px;font-weight:800;margin:8px 0 5px}
.email-rule-vehicle-recipients,.email-rule-driver-recipients{width:100%;border:1px solid #d5e0ec;border-radius:9px;padding:9px 11px;margin-bottom:5px;font:inherit;font-size:12px}
.email-audit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 8px}
.email-audit-list{border:1px solid #e0e8f1;border-radius:10px;overflow:hidden}
.email-audit-row{display:grid;grid-template-columns:150px minmax(180px,1fr) minmax(180px,1.2fr) auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid #edf2f7;font-size:11px}
.email-audit-row:last-child{border-bottom:0}
@media(max-width:900px){.email-audit-row{grid-template-columns:1fr}.email-audit-row .status{justify-self:start}}

/* v2.8 KPI centering + SECCOM TACHO spacing */
/* Requested pages: Dashboard, Kompanije, Vozila, Vozači i Tacho fajlovi. */
.centered-kpis .kpi{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-left:58px;
  padding-right:58px;
}
.centered-kpis .kpi>.kpi-icon{
  position:absolute;
  left:13px;
  top:50%;
  transform:translateY(-50%);
}
.centered-kpis .kpi>div:not(.kpi-icon){
  width:100%;
  min-width:0;
  text-align:center;
}
.centered-kpis .kpi-label,
.centered-kpis .kpi-sub{ text-align:center; }

/* TACHO is 2 mm lower than SECCOM and shifted 2 mm to the right. */
.brand .tacho{
  margin-top:2mm;
  transform:translateX(2mm);
}

@media(max-width:820px){
  .centered-kpis .kpi{padding-left:54px;padding-right:54px}
  .centered-kpis .kpi>.kpi-icon{left:11px}
}

/* v2.9 - compact file details + fully centered KPI content */
/* Center the whole KPI content group (icon + text) on all pages using centered-kpis. */
.centered-kpis .kpi{
  position:relative;
  display:grid;
  grid-template-columns:46px minmax(0,150px);
  justify-content:center;
  align-items:center;
  column-gap:11px;
  text-align:center;
  padding:9px 12px;
  min-height:76px;
}
.centered-kpis .kpi>.kpi-icon{
  position:static;
  left:auto;
  top:auto;
  transform:none;
  margin:0;
  justify-self:center;
}
.centered-kpis .kpi>div:not(.kpi-icon){
  width:100%;
  min-width:0;
  text-align:center;
  justify-self:center;
}
.centered-kpis .kpi-label,
.centered-kpis .kpi-num,
.centered-kpis .kpi-sub{ text-align:center; }

/* Tacho fajlovi: give the file list more room and keep the detail card compact. */
@media (min-width:1201px){
  .files-main{grid-template-columns:minmax(0,1fr) 270px;gap:10px}
}
.files-main .right-column{min-width:0}
.file-detail-card{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  padding:12px;
}
.file-detail-card .side-head{gap:6px;margin-bottom:9px;min-width:0}
.file-detail-card .side-head h3{font-size:15px;gap:6px;min-width:0;white-space:nowrap}
.file-detail-card .side-link{font-size:10px;white-space:nowrap}
.file-detail-card .detail-title{
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  align-items:start;
  gap:8px;
  min-width:0;
  padding-bottom:10px;
  margin-bottom:5px;
}
.file-detail-card .detail-avatar{width:36px;height:36px;font-size:14px}
.file-detail-card .detail-title>div:last-child{min-width:0;max-width:100%;overflow:hidden}
.file-detail-card .detail-title strong{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  font-size:11.5px !important;
  line-height:1.28;
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}
.file-detail-card .detail-title .status{margin-top:4px;padding:4px 8px;font-size:10px}
.file-detail-card .detail-list{min-width:0}
.file-detail-card .detail-row{
  grid-template-columns:minmax(0,41%) minmax(0,59%);
  gap:6px;
  min-width:0;
  padding:6px 0;
  font-size:11.5px;
}
.file-detail-card .detail-row>span{min-width:0;max-width:100%}
.file-detail-card .detail-row>span:last-child{
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal;
}
.file-detail-card .hash-short{display:inline-block;max-width:100%;overflow-wrap:anywhere;word-break:break-all}
.file-detail-card .notice-box{padding:9px 10px;margin-top:9px;font-size:10.5px;line-height:1.4}
.file-detail-card .file-source-note{font-size:9.5px}
.file-detail-actions{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);
  gap:6px;
  margin-top:10px;
  min-width:0;
}
.file-detail-actions .btn{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:9px 8px;
  gap:5px;
  font-size:11.5px;
  white-space:normal;
  line-height:1.15;
  justify-content:center;
}
.file-detail-actions .btn .icon{width:15px;height:15px;flex:0 0 15px}
.file-detail-card>small.muted{font-size:10px;line-height:1.35;margin-top:6px !important;overflow-wrap:anywhere}

@media(max-width:1200px){
  .centered-kpis .kpi{grid-template-columns:42px minmax(0,145px)}
  .file-detail-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .centered-kpis .kpi{grid-template-columns:42px minmax(0,150px);padding:9px 10px}
}


/* v3.1 account and company forms */
.admin-modal{width:min(680px,95vw);max-width:680px;max-height:90vh;overflow:auto}
.admin-modal>label,.admin-fields>label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:13px;font-weight:600}
.admin-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.admin-modal input:not([type=checkbox]),.admin-modal select,.admin-modal textarea{width:100%;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:white;color:#15243a;font:inherit}
.admin-permissions{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid #dbe3ed;border-radius:8px;margin-top:16px;padding:16px}
.admin-permissions label{display:flex;align-items:center;gap:8px;font-size:13px}
.admin-error{color:#b91c1c;white-space:pre-wrap}
@media(max-width:600px){.admin-fields{grid-template-columns:1fr}}

.schedule-actions{display:flex;flex-direction:column;gap:8px;margin-top:14px}.schedule-targets{max-height:300px;overflow:auto}.schedule-assigned{padding-left:20px;max-height:160px;overflow:auto;font-size:12px}.admin-modal [hidden]{display:none!important}

.admin-permissions input[type=checkbox]{width:16px;flex:0 0 16px;margin:0}.admin-permissions label{justify-content:flex-start}

.driver-modal{width:min(760px,95vw)}.driver-modal>label{display:block;margin:12px 0;font-size:13px;font-weight:600}.driver-modal .table-wrap{max-height:50vh;overflow:auto}

.file-bulk-toolbar,.file-filter-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 16px}.file-filter-summary{padding:0 0 12px;justify-content:space-between;font-size:13px;color:#546b8e}.file-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--orange)}.file-table td:first-child,.file-table th:first-child{min-width:36px}.file-history+.muted{font-size:12px}

/* v3.7 notification history */
.email-audit-list { max-height: 420px; overflow: auto; }
.alarm-description p { overflow-wrap: anywhere; }

.email-audit-row > span { min-width: 0; overflow-wrap: anywhere; }
.email-audit-row .retry-notification { grid-column: 2 / -1; justify-self: start; }
@media(max-width:900px) { .email-audit-row .retry-notification { grid-column: 1; } }

/* v3.8 operations and activity history */
.operations-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.activity-modal { max-width:1100px; width:calc(100vw - 40px); max-height:90vh; overflow:auto; }
.activity-filters { display:flex; flex-wrap:wrap; gap:8px; align-items:end; margin:15px 0; }
.activity-filters input, .activity-filters select { border:1px solid #d5e0ec; border-radius:8px; padding:9px; min-width:110px; }
.activity-filters label { display:grid; gap:4px; font-size:11px; }
.activity-pager { display:flex; gap:10px; align-items:center; justify-content:flex-end; margin:12px 0; }
.activity-pager span { margin-right:auto; font-size:12px; }
.activity-route { max-width:350px; overflow-wrap:anywhere; white-space:normal!important; }
.activity-error { color:#b91c1c; font-size:13px; margin-bottom:8px; }
@media(max-width:700px) { .activity-modal { width:calc(100vw - 20px); } .activity-filters>* { width:100%; } }

/* v3.9 own account and sessions */
.account-modal { width:calc(100vw - 30px); max-width:820px; max-height:90vh; overflow:auto; }
.account-profile p,.account-session { overflow-wrap:anywhere; }
.account-password { border-top:1px solid #e0e8f1; padding-top:12px; }
#ownPasswordForm { display:grid; gap:10px; }
#ownPasswordForm label { display:grid; gap:5px; font-size:13px; }
#ownPasswordForm input { border:1px solid #d5e0ec; border-radius:8px; padding:10px; width:100%; }
#ownPasswordForm button { justify-self:start; }
.account-sessions { margin-top:24px; }
.account-session { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid #e0e8f1; }
.account-session button { flex-shrink:0; }
.account-error { color:#b91c1c; margin:10px 0; font-size:13px; }
.login-help { border:0; padding:0; background:none; color:#526b8d; cursor:pointer; font:inherit; }
@media(max-width:600px) { .account-session { align-items:flex-start; flex-direction:column; } .top-actions { gap:8px; } }

/* v4.0 DDD object archives */
.archive-modal { width:calc(100vw - 30px); max-width:1000px; max-height:90vh; overflow:auto; }
.archive-filters,.archive-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:end; margin:14px 0; }
.archive-filters label { display:grid; gap:5px; font-size:12px; }
.archive-filters input { border:1px solid #d5e0ec; border-radius:8px; padding:9px; }
.archive-summary { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:14px 0; }
.archive-message { color:#29446c; font-size:13px; overflow-wrap:anywhere; }
.archive-body td { overflow-wrap:anywhere; white-space:normal; }
@media(max-width:600px) { .archive-filters label { width:100%; } }

/* v4.1 list controls */
.list-filters{display:flex;flex-wrap:wrap;gap:12px;padding:14px 20px;border-bottom:1px solid #e2e8f0;background:#f8fafc}
.list-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:140px;flex:1}
.list-filters select,.list-size{padding:7px;border:1px solid #cbd5e1;border-radius:6px;background:white;color:#334155;max-width:100%}
.list-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 20px;font-size:12px;color:#64748b;border-bottom:1px solid #e2e8f0}
.list-footer{flex-wrap:wrap;gap:12px}.list-footer label{display:flex;gap:8px;align-items:center}.page-btn:disabled{opacity:.4;cursor:default}
@media(max-width:700px){.list-filters label{min-width:125px}.list-footer .pagination{flex-wrap:wrap}.list-summary{align-items:flex-start}}

/* v4.2 Dashboard */
.dashboard-note{font-size:12px;color:#64748b;padding:10px 20px;margin:0;border-bottom:1px solid #e2e8f0}
#dashboardKind{border:1px solid #cbd5e1;border-radius:6px;padding:6px;background:white;color:#334155}

/* v0.1.1 pristupačnost i čitljivost */
/* Navy text on brand orange (5.74:1); darker green button and status text (WCAG AA). */
.btn.primary{background:var(--orange);color:var(--navy)}
.nav-item.active{background:var(--orange);color:var(--navy)}
.page-btn.active{color:var(--navy)}
.notif-badge{color:var(--navy)}
.activity-dot.orange{color:var(--navy)}
.btn.green{background:#08804c;border-color:#08804c;color:#fff}
.status.green{color:#067a48}
.status.red{color:#b4232f}
.status.orange{color:#9a5a00}
.status.blue{color:#1f5fb0}
.status.gray{color:#5b6778}
.status.green:before{background:var(--green)}
.status.red:before{background:var(--red)}
.status.orange:before{background:#e48600}
.status.blue:before{background:var(--info)}
.status.gray:before{background:#7c8a9f}
/* Keyboard focus must stay visible; search boxes show focus on their wrapper. */
:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.global-search:focus-within,.search-mini:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px rgba(255,122,0,.25)}
.email-test-box input:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;filter:none}
/* Heading hierarchy */
.page-title h1{font-size:20px}
.page-title p{font-size:13px}
.card-title{font-size:16px}
.settings-card h3{font-size:16px}
.sidebar-brand{padding-left:12px}
/* Inter is never loaded (strict CSP, no external fonts): use system fonts. */
html,body{font-family:system-ui,"Segoe UI",Roboto,Arial,sans-serif}
/* Minimum text size 11px (same selectors as the rules they override). */
.compact-kpis .kpi-sub{font-size:11px}
.activity-item time{font-size:11px}
.monitor-kicker{font-size:11px}
.monitor-mini>span:first-child{font-size:11px}
.stage-body time{font-size:11px}
.diagnostic-row span:not(.status){font-size:11px}
.diag-code{font-size:11px}
.attempts-table{font-size:11px}
.engine-stats span{font-size:11px}
.alarm-rule{font-size:11px}
.alarm-rule b{font-size:11px}
.cell-sub{font-size:11px}
.source-pill{font-size:11px}
.alarm-code-box span{font-size:11px}
.file-source-note{font-size:11px}
.auto-refresh-pill{font-size:11px}
.quick-file-badge,.newest-file-badge{font-size:11px}
.file-detail-card .side-link{font-size:11px}
.file-detail-card .detail-title .status{font-size:11px}
.file-detail-card .notice-box{font-size:11px}
.file-detail-card .file-source-note{font-size:11px}
.file-detail-card>small.muted{font-size:11px}
