/* Fleet refresh: local fonts, SVG/CSS graphics, no animation runtime. */
:root { --paper:#f2f6fc; --line:#dfe6f2; --steel:#465be1; --steel-dark:#3245bd; --amber:#df9625; --focus-ring:0 0 0 3px #6276ec40; }
body { font-family:'Fleet Vazir',Tahoma,sans-serif; font-feature-settings:normal; background:radial-gradient(ellipse at 100% 0,#dce9ff80,transparent 55%),#f2f6fc; }
body:has(.owner-shell) { background:radial-gradient(ellipse at 0 12%,#e1dcff66,transparent 46%),radial-gradient(ellipse at 95% 0,#dbefff80,transparent 38%),#f5f7fc; color:#25334d; }
button,input,select,.btn-primary,.field input { font-family:inherit; }
.owner-shell { --owner-ink:#25334d; --owner-muted:#60708c; --owner-line:#e0e7f2; max-width:1280px; }
.owner-shell a { color:#4054c4; }
.owner-header { padding-bottom:24px; }
.brand-symbol { background:linear-gradient(135deg,#455ce0,#7961d3); box-shadow:0 7px 16px #4c5cdb25; }
.owner-filters { gap:16px; padding:22px 0; }
.owner-shell select,.owner-shell input { border-color:#dce3f0; border-radius:12px; transition:border-color .18s,box-shadow .18s; }
.owner-shell input:focus,.owner-shell select:focus { outline:none; border-color:#7d8bec; box-shadow:var(--focus-ring); }
.owner-button,.filter-bar button,.btn-primary { background:linear-gradient(120deg,#465cdb,#6455cb); box-shadow:0 4px 10px #4c5bdd20; border:0; color:white; border-radius:11px; transition:transform .16s,box-shadow .16s,background .16s; }
.owner-button:hover,.filter-bar button:hover,.btn-primary:hover { background:linear-gradient(120deg,#354abe,#5847bd); box-shadow:0 6px 14px #4c5bdd35; transform:translateY(-1px); }
.owner-button:active,.filter-bar button:active { transform:translateY(1px); box-shadow:none; }
.owner-nav a,.quiet-link { border-radius:9px; padding:5px 9px; transition:background .16s; }
.owner-nav a:hover,.quiet-link:hover { background:#e6eafa; }
.overview-grid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.balance-card { position:relative; overflow:hidden; background:linear-gradient(115deg,#384cbe,#5d4cbb 65%,#7352bd); padding:25px 26px 18px; box-shadow:0 12px 24px #4658bd16; min-height:220px; }
.balance-card>*:not(svg) { position:relative; }
.truck-art { position:absolute; width:140px; left:20px; bottom:68px; opacity:.13; color:white; pointer-events:none; animation:truck-arrive .6s ease-out both; }
.balance-value bdi { font-size:clamp(25px,3vw,36px); }
.balance-heading { font-size:13px; }
.state-pill { border:0; background:#ffffff20; color:#fff; }
.balance-note { color:#eceaff; }
.balance-footer { color:#f5f2ff; margin-top:16px; }
.metric-tile { padding:18px 20px; box-shadow:0 4px 10px #273a7504; }
.metric-tile:first-child { border-color:#d9e9f5; background:linear-gradient(110deg,#f7fcff,#fff); }
.metric-tile:first-child .metric-icon { background:#e1f1fc; color:#2386b9; }
.metric-tile:last-child { border-color:#d9eae5; background:linear-gradient(110deg,#f3fcf8,#fff); }
.metric-tile:last-child .metric-icon { background:#dff4ec; color:#198b68; }
.metric-tile p { font-size:22px; color:#2a3c59; }
.owner-disclosure>summary { transition:background .18s; }
.owner-disclosure>summary:hover { background:#f5f7fd; }
.owner-disclosure>summary::after { color:#697bd9; }
.owner-disclosure[open]>.disclosure-content { animation:panel-in .22s ease-out; }
.owner-chart { border-color:#e1e5f2; box-shadow:0 7px 18px #23335c05; }
.owner-shell .trend-line { stroke:#6172df; }
.owner-shell .trend-point { fill:#edac44; }
.owner-shell .bar-fill { background:linear-gradient(90deg,#8b7de0,#6178e5); }
.owner-shell .leader-row:first-child .bar-fill { background:linear-gradient(90deg,#ecc177,#df9e38); }
.owner-shell .leader-row:nth-child(2) .bar-fill { background:linear-gradient(90deg,#5bc3c1,#349bab); }
.owner-shell .leader-row:nth-child(3) .bar-fill { background:linear-gradient(90deg,#a696e9,#7f6acf); }
.owner-shell .leader-row:first-child .rank { background:#fff0d9; color:#9e6909; }
.owner-shell .leader-row:nth-child(2) .rank { background:#e2f5f5; color:#267d87; }
.owner-shell .leader-row:nth-child(3) .rank { background:#eee8fb; color:#7255b6; }
.owner-shell .month-badge { background:#eeedfb; color:#6354ab; }
.owner-shell .plate-pill { background:#eaf0fa; color:#425780; }
.owner-shell .count-pill { background:#eef0fc; color:#5969a1; }
.owner-shell .chart-controls select { background:#fff; }
.owner-shell .owner-table th { background:#f0f3fb; color:#455d84; }
.owner-shell .owner-table tbody tr:hover { background:#f7f9fe; }
.fleet-scopes { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:0 0 28px; }
.scope-card { display:flex; align-items:center; gap:15px; padding:20px; border:1px solid #e0e6f2; border-radius:17px; background:#fff; text-decoration:none; transition:transform .18s,border-color .18s,box-shadow .18s; }
.scope-card strong { display:block; color:#364565; font-size:16px; }
.scope-card div>span { display:block; color:#6b7890; font-size:11px; margin-top:3px; }
.scope-card.selected { border-color:#8f9aed; background:#f0f2ff; box-shadow:0 0 0 2px #6d7ce615; }
.scope-card:hover { transform:translateY(-2px); border-color:#8f9aed; }
.scope-icon { display:grid; place-items:center; border-radius:12px; width:44px; height:44px; flex-shrink:0; background:#e8ecff; color:#6373d5; font-size:25px; }
.scope-card:nth-child(2) .scope-icon { background:#e9e4fb; color:#8366c4; }
.scope-arrow { margin-right:auto; color:#7b89bd; }
.fleet-metrics { display:grid; grid-template-columns:1.2fr 1.2fr 1fr .75fr; gap:14px; }
.fleet-stat { padding:22px 20px; border-radius:17px; background:#fff; border:1px solid #e2e7f2; min-width:0; }
.fleet-stat>span { font-size:11px; color:#67738a; display:block; }
.fleet-stat strong { display:block; margin:12px 0 4px; font-size:clamp(19px,2.1vw,28px); line-height:1.6; overflow-wrap:anywhere; }
.fleet-stat small { font-size:11px; color:#6c7a91; }
.primary-stat { background:linear-gradient(120deg,#4158cb,#6a51bf); color:white; border:none; }
.primary-stat>span,.primary-stat small { color:#eeedff; }
.violet-stat { background:#f5f1ff; border-color:#e6dff6; color:#7053aa; }
.cyan-stat { background:#effafa; border-color:#dceff0; color:#237d87; }
.amber-stat { background:#fff8eb; border-color:#f0e7d5; color:#a67622; }
.fleet-chart { margin-top:28px; padding:24px; }
.fleet-chart h2 { font-size:18px; }
.fleet-search { display:flex; align-items:center; gap:12px; margin:20px 0 12px; }
.fleet-search label { font-size:12px; }
.fleet-search input { flex:1; min-width:0; max-width:400px; }
.fleet-search a { font-size:12px; }
.fleet-results-note { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; color:#687992; font-size:11px; margin-bottom:10px; }
.fleet-bars { max-height:620px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#b3beeb #f1f4fa; padding:0 3px 0 10px; }
.fleet-bar-row { display:flex; align-items:center; gap:15px; padding:14px 12px; border-bottom:1px solid #eef1f7; text-decoration:none; border-radius:9px; animation:panel-in .3s ease-out both; animation-delay:var(--row-delay); }
.fleet-bar-row[hidden] { display:none; }
.fleet-bar-row:hover { background:#f2f5ff; }
.fleet-rank { font-size:12px; min-width:27px; color:#8090ad; }
.fleet-bar-main { flex:1; min-width:0; }
.fleet-bar-label { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; font-size:13px; margin-bottom:9px; color:#374b70; }
.fleet-bar-value { font-weight:700; }
.company-tag { display:inline-block; padding:0 6px; margin-right:7px; background:#ebe6f7; color:#755fa9; border-radius:5px; font-size:9px; }
.fleet-track { display:block; background:#edf1f9; height:9px; border-radius:9px; overflow:hidden; }
.fleet-fill { display:block; height:100%; width:var(--bar); background:linear-gradient(90deg,#7da6ed,#637cdb); border-radius:9px; transform-origin:right; animation:bar-reveal .55s ease-out both; }
.company-row .fleet-fill { background:linear-gradient(90deg,#b099e7,#8771cc); }
.fleet-bar-row:first-child .fleet-fill { background:linear-gradient(90deg,#f1c675,#dfa43d); }
.row-arrow { font-size:15px; color:#a1afc7; }
.plate-list { display:flex; flex-wrap:wrap; gap:8px; }
.search-empty { padding:30px; text-align:center; font-size:13px; }
.fleet-overview,.overview,.fleet-scopes { animation:panel-in .32s ease-out both; }
@keyframes panel-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:translateY(0); } }
@keyframes truck-arrive { from { opacity:0; transform:translateX(-16px); } to { opacity:.13; transform:translateX(0); } }
@keyframes bar-reveal { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:1000px) { .fleet-metrics { grid-template-columns:1fr 1fr; } .fleet-stat strong { font-size:26px; } }
@media(max-width:720px) { .overview-grid { grid-template-columns:1fr; } .owner-shell { padding:20px 16px; } .owner-header { align-items:flex-start; gap:14px; } .owner-nav { gap:5px; } .owner-nav a { font-size:11px; padding:4px; } .fleet-scopes { gap:10px; } .scope-card { padding:15px 12px; gap:8px; } .scope-card strong { font-size:13px; } .scope-icon { width:30px; height:34px; font-size:20px; } .scope-arrow { display:none; } .scope-card div>span { font-size:10px; } .fleet-stat { padding:17px 14px; } .fleet-stat strong { font-size:23px; } .fleet-chart { padding:18px 13px; } .fleet-search { flex-wrap:wrap; } .fleet-search label { flex:0 0 100%; } .fleet-search input { flex:1; } .fleet-bar-row { padding:13px 4px; gap:8px; } .fleet-bar-label { font-size:12px; } .row-arrow { display:none; } .fleet-bars { max-height:560px; } .owner-filters { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

.single-month-chart { padding:30px 10px; min-height:175px; }
.single-month-chart>span { font-size:12px; color:#667895; }
.single-month-chart strong { display:block; margin:13px 0 22px; font-size:25px; color:#5365c6; }
.single-month-chart small { font-size:11px; font-weight:400; color:#6b7a94; }
.single-month-track { height:13px; border-radius:9px; background:#edf0fb; overflow:hidden; }
.single-month-track>span { display:block; height:100%; background:linear-gradient(90deg,#aa9ae8,#6176df); border-radius:9px; transform-origin:right; animation:bar-reveal .5s ease-out both; }
@media(max-width:600px) { .fleet-metrics .primary-stat,.fleet-metrics .violet-stat { grid-column:1/-1; } .fleet-metrics .primary-stat strong,.fleet-metrics .violet-stat strong { font-size:28px; white-space:nowrap; } }
@media(prefers-reduced-motion:reduce) { .single-month-track>span { animation:none; } }
