.freezer-dash{display:flex;flex-direction:column;gap:1rem}.freezer-sample-pill,.freezer-status-pill{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.28rem .7rem;font-size:.75rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.freezer-sample-pill{color:#0e7490;background:color-mix(in srgb,var(--info) 12%,white);border:1px solid color-mix(in srgb,var(--info) 28%,var(--border))}.freezer-status-pill.tone-success{color:#166534;background:color-mix(in srgb,var(--success) 14%,white)}.freezer-status-pill.tone-danger{color:#991b1b;background:color-mix(in srgb,var(--danger) 12%,white)}.freezer-status-pill.tone-warning{color:#92400e;background:color-mix(in srgb,var(--warning) 14%,white)}.freezer-status-pill.tone-info{color:#155e75;background:color-mix(in srgb,var(--info) 14%,white)}.freezer-command{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:.75rem}.freezer-command button,.freezer-command-note{text-align:left;border:1px solid var(--border);background:var(--bg-card);border-radius:16px;padding:.9rem 1rem;box-shadow:0 8px 24px var(--shadow-md);cursor:pointer}.freezer-command-note{cursor:default;background:radial-gradient(120% 80% at 100% 0%,color-mix(in srgb,var(--info) 18%,transparent),transparent 55%),var(--bg-card)}.freezer-command button strong,.freezer-command-note strong{display:block;font-size:1.7rem;line-height:1;color:var(--text)}.freezer-command button span,.freezer-command-note span{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.78rem}.freezer-command button.is-active{border-color:#0e7490;box-shadow:0 0 0 3px color-mix(in srgb,var(--info) 18%,transparent)}.freezer-command button.tone-danger strong{color:var(--danger)}.freezer-command button.tone-info strong{color:#0e7490}.freezer-command button.tone-warning strong{color:var(--warning)}.freezer-cost{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.freezer-cost article{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:.9rem 1rem;box-shadow:0 8px 24px var(--shadow-md)}.freezer-cost strong{display:block;font-size:1.45rem;letter-spacing:-.03em}.freezer-cost span{display:block;margin-top:.3rem;color:var(--text-muted);font-size:.78rem}.freezer-hours{padding:.85rem 1rem}.freezer-hours summary{cursor:pointer;font-weight:700}.ac-hours-editor{display:flex;flex-direction:column;gap:.85rem;margin-top:.9rem}.ac-hours-editor h4{margin:.2rem 0;font-size:.92rem}.ac-hours-editor section{display:flex;flex-direction:column;gap:.35rem}.ac-hours-grace,.ac-hours-day{display:flex;align-items:center;gap:.65rem}.ac-hours-day{justify-content:space-between}.ac-hours-day label,.ac-hours-grace span{min-width:7rem}.ac-hours-times{display:flex;gap:.4rem}.ac-hours-editor input[type=time],.ac-hours-editor input[type=number]{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:8px;padding:.35rem .45rem}.ac-hours-day em,.ac-hours-note{color:var(--text-muted);font-size:.8rem;font-style:normal}.freezer-notices{padding:1rem}.freezer-notices-toggle{display:flex;align-items:flex-start;gap:.65rem;width:100%;margin:0 0 .15rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.freezer-notices-toggle h3{font-size:1rem}.freezer-notices-toggle p{margin:.15rem 0 .65rem;color:var(--text-muted);font-size:.8rem}.freezer-notices-chevron{flex:0 0 auto;margin-top:.1rem;color:var(--text-muted);font-size:.85rem}.freezer-notice-badge{flex:0 0 auto;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:1.7rem;height:1.7rem;padding:0 .45rem;border-radius:999px;color:#fff;font-size:.78rem;font-weight:800;line-height:1}.freezer-notice-badge.is-danger{background:#b91c1c}.freezer-notice-badge.is-warning{background:#c2410c}.freezer-notice-badge.is-caution{background:#0e7490}.freezer-notice-badge.is-ok{background:#15803d}.freezer-notice-badge.is-neutral{background:#64748b}.freezer-notice-list{display:flex;flex-direction:column;gap:.65rem}.freezer-notice{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:.75rem;align-items:start;padding:.75rem .85rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.freezer-notice em{font-style:normal;font-size:.75rem;font-weight:800;letter-spacing:.02em;color:#155e75}.freezer-notice.is-notice em,.freezer-notice.is-overcool em{color:#92400e}.freezer-notice.is-live{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--bg-card))}.freezer-notice strong{display:block;font-size:.92rem}.freezer-notice p{margin:.3rem 0 0}.freezer-notice span{display:block;margin-top:.35rem;color:var(--text-muted);font-size:.78rem}.freezer-card-story{margin:.15rem 0 0;color:var(--text-muted);font-size:.8rem}.freezer-datalog-tools{display:flex;flex-direction:column;gap:.75rem;margin:.85rem 0 1rem}.freezer-datalog-tools .freezer-filters{margin:0}.freezer-datalog-tools .freezer-filters label{display:flex;flex:1 1 220px;flex-direction:column;gap:.25rem;font-size:.75rem;font-weight:700;color:var(--text-muted)}.freezer-datalog-tools .freezer-filters input{flex:none;width:100%}.freezer-datalog-scroll{overflow-x:auto}.freezer-branches{padding:1rem}.freezer-branches table{width:100%;border-collapse:collapse;font-size:.86rem}.freezer-branches th,.freezer-branches td{text-align:left;padding:.5rem .35rem;border-bottom:1px solid var(--border)}.freezer-branches th{color:var(--text-muted);font-size:.72rem}.freezer-unit-list td small{display:block;color:var(--text-muted);font-size:.75rem}.freezer-unit-list td strong a{color:inherit;text-decoration:none}.freezer-filters .genset-view-toggle{margin-inline-start:auto}.freezer-attention{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border-radius:16px;background:color-mix(in srgb,var(--danger) 7%,var(--bg-card));border:1px solid color-mix(in srgb,var(--danger) 24%,var(--border))}.freezer-attention header{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#991b1b}.freezer-attention div{display:flex;flex-wrap:wrap;gap:.55rem}.freezer-attention a{display:flex;align-items:center;gap:.55rem;padding:.55rem .75rem;border-radius:999px;background:#fff;color:var(--text);text-decoration:none;border:1px solid var(--border)}.freezer-attention a span{color:var(--danger);font-size:.78rem}.freezer-attention a em{font-style:normal;color:var(--text-muted)}.freezer-filters{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.freezer-filters input,.freezer-filters select,.freezer-picker input,.freezer-picker select{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:12px;padding:.65rem .8rem;min-height:42px}.freezer-filters input{flex:1 1 220px}.freezer-chips{display:flex;flex-wrap:wrap;gap:.4rem}.freezer-chips button{border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:999px;padding:.35rem .7rem;cursor:pointer;display:inline-flex;gap:.4rem;align-items:center}.freezer-chips button small{color:var(--text-muted)}.freezer-chips button.is-active{background:#0f2744;color:#fff;border-color:#0f2744}.freezer-chips button.is-active small{color:#bae6fd}.freezer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.85rem}.freezer-card{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1rem .85rem;border-radius:18px;background:var(--bg-card);border:1px solid var(--border);text-decoration:none;color:var(--text);box-shadow:0 10px 28px var(--shadow-md);min-height:210px}.freezer-card header,.freezer-card footer{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.freezer-card header small,.freezer-card footer,.freezer-card-range{color:var(--text-muted);font-size:.78rem}.freezer-card header strong{display:block;font-size:1.05rem}.freezer-card header div{display:flex;flex-direction:column;gap:.15rem}.freezer-card-temp{display:flex;align-items:flex-end;gap:.25rem;margin-top:.35rem}.freezer-card-temp b{font-size:2.6rem;line-height:.9;letter-spacing:-.04em}.freezer-card.tone-danger .freezer-card-temp b{color:var(--danger)}.freezer-card.tone-warning .freezer-card-temp b{color:#b45309}.freezer-card.tone-info .freezer-card-temp b{color:#0e7490}.freezer-card.tone-success .freezer-card-temp b{color:#0f2744}.freezer-card footer{margin-top:auto;padding-top:.35rem}.freezer-footnote,.freezer-empty{color:var(--text-muted);font-size:.82rem}.freezer-empty.panel{padding:1rem}.freezer-unit-page .dash-view-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.freezer-back-link{display:inline-block;margin-bottom:.35rem;color:#0e7490;text-decoration:none;font-size:.82rem;font-weight:700}.freezer-picker{display:flex;flex-direction:row;flex-wrap:wrap;gap:.65rem;align-items:flex-end;font-size:.75rem;color:var(--text-muted)}.freezer-picker label{display:flex;flex-direction:column;gap:.3rem}.freezer-attention a small{color:var(--text-muted);font-size:.75rem}.freezer-banner{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border-radius:14px}.freezer-banner.tone-danger{background:var(--banner-error-bg);border:1px solid var(--banner-error-border);color:var(--banner-error-text)}.freezer-banner.tone-warning{background:var(--banner-warning-bg);border:1px solid var(--banner-warning-border);color:var(--banner-warning-text)}.freezer-banner.tone-info{background:var(--banner-info-bg);border:1px solid var(--banner-info-border);color:var(--banner-info-text)}.freezer-hero{display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(280px,.85fr);gap:.85rem}.freezer-stage{position:relative;overflow:hidden;min-height:430px;border-radius:24px;background:radial-gradient(90% 70% at 18% 0%,rgba(125,211,252,.28),transparent 55%),radial-gradient(70% 50% at 90% 100%,rgba(14,116,144,.35),transparent 50%),linear-gradient(180deg,#12304a,#07111c);box-shadow:0 18px 40px #07111c47;display:grid;grid-template-columns:1.1fr .9fr;align-items:center}.freezer-now{color:#fff;padding:1.4rem 1.4rem 1.4rem 0}.freezer-kicker{display:inline-flex;align-items:center;gap:.4rem;color:#bae6fd;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800}.freezer-live-dot{width:8px;height:8px;border-radius:50%;background:#67e8f9;box-shadow:0 0 #67e8f9b3;animation:freezer-pulse 1.8s ease-out infinite}.freezer-now-value{display:flex;align-items:flex-start;gap:.25rem;margin:.35rem 0 .55rem}.freezer-now-value strong{font-size:4.4rem;line-height:.85;letter-spacing:-.05em}.freezer-now-value small{margin-top:.45rem;font-size:1.2rem;color:#bae6fd}.freezer-now p{margin-top:.35rem;color:#ffffffc7;font-size:.92rem}.freezer-last-good{color:#fde68a!important}.freezer-art{--air-warmth: 0;position:relative;height:390px}.freezer-svg{position:relative;z-index:1;width:100%;height:100%}.ac-unit{transition:opacity 2s ease}.freezer-art.is-quiet .ac-unit{opacity:.42}.ac-shadow{fill:#00000047}.ac-unit rect:first-child{stroke:#ffffff8c;stroke-width:2}.ac-led{fill:#67e8f9;transition:fill 2s ease}.freezer-art.is-warm .ac-led,.freezer-art.is-afterHours .ac-led{fill:#fb923c}.freezer-art.is-cold .ac-led{fill:#38bdf8}.freezer-art.is-quiet .ac-led{fill:#64748b}.ac-louvers path{fill:none;stroke:#0f27448c;stroke-width:3.5;stroke-linecap:round}.ac-plume{position:absolute;top:40%;z-index:0;width:36px;height:168px;pointer-events:none}.ac-plume.s1{left:24%}.ac-plume.s2{left:44%}.ac-plume.s3{left:64%}.ac-stream{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;filter:blur(10px);opacity:0;transform-origin:top center;transition:opacity 2s ease}.ac-stream-cool{background:linear-gradient(180deg,#a5f3fcf2,#7dd3fc00)}.ac-stream-warm{background:linear-gradient(180deg,#fdba74f2,#fb923c00)}.freezer-art.is-blowing .ac-stream-cool{opacity:.92}.freezer-art.is-blowing .ac-stream-warm{opacity:var(--air-warmth)}.freezer-art.is-blowing .ac-stream{animation:ac-flow 1.5s ease-in-out infinite alternate}.ac-plume.s2 .ac-stream{animation-delay:.35s}.ac-plume.s3 .ac-stream{animation-delay:.7s}.freezer-art.is-quiet .ac-stream{opacity:0;animation:none}.freezer-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.freezer-metric{background:var(--bg-card);border:1px solid var(--border);border-radius:18px;padding:1rem;box-shadow:0 10px 24px var(--shadow-md);display:flex;flex-direction:column;gap:.35rem}.freezer-metric span,.freezer-metric em{color:var(--text-muted);font-size:.78rem;font-style:normal}.freezer-metric strong{font-size:1.7rem;letter-spacing:-.03em;display:flex;align-items:baseline;gap:.2rem}.freezer-metric strong small{font-size:.95rem;color:var(--text-muted)}.freezer-metric.tone-success strong{color:#166534}.freezer-metric.tone-warning strong{color:#b45309}.freezer-metric.tone-danger strong{color:var(--danger)}.freezer-band.is-low{grid-template-columns:auto auto minmax(0,1fr) auto}.freezer-band.is-high{grid-template-columns:auto minmax(0,1fr) auto auto}.freezer-band-chip.is-outside{position:relative;top:auto;left:auto;transform:none}.freezer-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;direction:ltr;color:#334155;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums}.freezer-band-end{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:5.4rem;height:2rem;padding:0 .75rem;border-radius:10px;border:1.5px solid #cbd5e1;background:#fff;color:#0f2744;font-size:1.02rem;font-weight:800;letter-spacing:-.03em;line-height:1;white-space:nowrap;box-shadow:0 1px 2px #0f274414}.freezer-band-end--min{border-color:#67e8f9;background:linear-gradient(180deg,#fff,#ecfeff);color:#0e7490}.freezer-band-end--max{border-color:#4ade80;background:linear-gradient(180deg,#fff,#f0fdf4);color:#166534}.freezer-band-end--min:after,.freezer-band-end--max:before{content:"";position:absolute;top:50%;width:.7rem;height:6px;border-radius:999px;transform:translateY(-50%)}.freezer-band-end--min:after{right:-.7rem;background:#67e8f9}.freezer-band-end--max:before{left:-.7rem;background:#4ade80}.freezer-range{padding:1rem 1.1rem 2.6rem}.freezer-band-scale{position:relative;height:28px;border-radius:999px;background:#f8fafc;border:2px solid #64748b;box-shadow:inset 0 1px 2px #0f274414}.freezer-band-scale i{position:absolute;top:3px;bottom:3px;border-radius:999px;border:2px solid #15803d;background:linear-gradient(90deg,#67e8f9,#16a34a 30%,#16a34a 70%,#67e8f9)}@property --gem-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.freezer-band-chip{position:absolute;top:50%;z-index:1;display:inline-flex;align-items:center;justify-content:center;min-width:5.6rem;height:2.15rem;padding:0 .85rem;border-radius:999px;border:2.5px solid transparent;background:linear-gradient(#0f2744,#0f2744) padding-box,conic-gradient(from var(--gem-angle),#7f1d1d 0deg,#ef4444 40deg,#fff 58deg,#fecaca 78deg,#b91c1c 120deg,#450a0a 180deg,#f87171 230deg,#fff 248deg,#dc2626 280deg,#7f1d1d 360deg) border-box;color:#fff;font-size:1.05rem;font-weight:800;letter-spacing:-.03em;line-height:1;white-space:nowrap;box-shadow:0 0 0 1px #7f1d1d73,0 0 10px #f87171d9,0 0 18px #dc262673;animation:freezer-gem-shine 2.6s linear infinite}.freezer-band-needle{position:absolute;left:50%;top:calc(100% + 4px);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:2px;color:#b91c1c;font-size:.62rem;font-weight:800;letter-spacing:.08em;line-height:1;text-transform:uppercase;pointer-events:none}.freezer-band-needle:before{content:"";width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:10px solid #dc2626;filter:drop-shadow(0 1px 1px rgba(127,29,29,.35))}@keyframes freezer-gem-shine{to{--gem-angle: 360deg}}@media(prefers-reduced-motion:reduce){.freezer-band-chip{animation:none}}.freezer-ribbon,.freezer-events,.freezer-log{padding:1rem}.freezer-section-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.8rem}.freezer-section-head h3{font-size:1rem}.freezer-section-head p{color:var(--text-muted);font-size:.8rem;margin-top:.15rem}.freezer-legend{display:flex;flex-wrap:wrap;gap:.45rem .85rem;list-style:none;color:var(--text-muted);font-size:.72rem}.freezer-legend li{display:inline-flex;align-items:center;gap:.35rem}.freezer-legend i{display:inline-block;width:22px;height:16px;border-radius:3px;flex:none;box-shadow:inset 0 0 0 1px #0f27441f}.zone-holding{background:#16a34a}.zone-edge{background:#f59e0b}.zone-warm{background:#dc2626}.zone-cold{background:#0284c7}.zone-offline{background:#94a3b8}.zone-power{background:#f87171}.zone-future{background:transparent}.freezer-ribbon-track{display:grid;grid-template-columns:repeat(96,minmax(0,1fr));gap:2px;height:46px;align-items:end}.freezer-slot{display:block;height:100%;border-radius:2px;background:var(--bg-hover)}.freezer-slot.zone-holding{background:#16a34a;height:70%;align-self:center}.freezer-slot.zone-edge{background:#f59e0b;height:84%}.freezer-slot.zone-warm{background:#dc2626;height:100%}.freezer-slot.zone-cold{background:#0284c7;height:100%}.freezer-slot.zone-offline,.freezer-legend i.zone-offline{background:repeating-linear-gradient(-45deg,#cbd5e1,#cbd5e1 3px,#94a3b8 3px,#94a3b8 6px)}.freezer-slot.zone-offline{height:60%}.freezer-slot.zone-power,.freezer-legend i.zone-power{background:repeating-linear-gradient(-45deg,#fecaca,#fecaca 3px,#f87171 3px,#f87171 6px)}.freezer-slot.zone-power{height:60%}.freezer-slot.zone-future{background:transparent;border:1px dashed #cbd5e1;height:40%}.freezer-slot.is-closed:not(.zone-future){filter:saturate(.72)}.freezer-slot.is-after-hours{box-shadow:inset 0 4px #c2410c}.zone-after,.freezer-legend i.zone-after{background:linear-gradient(#c2410c,#c2410c) top / 100% 4px no-repeat,#16a34a}.freezer-ribbon-axis{display:flex;justify-content:space-between;margin-top:.4rem;color:var(--text-muted);font-size:.72rem}.freezer-temp-graph{padding:1rem}.ac-temp-chart{position:relative}.ac-temp-chart svg{display:block;width:100%;height:auto;cursor:crosshair}.ac-temp-canvas{fill:color-mix(in srgb,var(--bg-card, #fff) 82%,#e0f2fe);stroke:color-mix(in srgb,var(--border, #e2e8f0) 80%,transparent)}.ac-temp-band-edge{stroke:#16a34a;stroke-width:1.25;stroke-dasharray:4 4;opacity:.85}.ac-temp-grid{stroke:color-mix(in srgb,var(--border, #cbd5e1) 70%,transparent);stroke-width:1;stroke-dasharray:3 6}.ac-temp-axis{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.ac-temp-area{stroke:none;opacity:0;animation:ac-temp-fade .8s ease .15s forwards}.ac-temp-line{fill:none;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round;animation:ac-temp-draw 1.15s cubic-bezier(.22,.8,.28,1) forwards;filter:drop-shadow(0 1px 1px rgba(15,23,42,.12))}.ac-temp-line.is-room{stroke-width:2.8}.ac-temp-halo{opacity:.22;transform-box:fill-box;transform-origin:center;animation:ac-temp-pulse 2.4s ease-out infinite}.ac-temp-dot{stroke:#fff;stroke-width:1.5}.ac-temp-cursor{stroke:#64748b;stroke-width:1;stroke-dasharray:2 3;pointer-events:none}.ac-temp-tip{position:absolute;top:.4rem;z-index:2;transform:translate(-50%);display:grid;gap:.2rem;min-width:9.5rem;padding:.55rem .7rem;border:1px solid color-mix(in srgb,var(--border, #e2e8f0) 80%,#94a3b8);border-radius:12px;background:color-mix(in srgb,var(--bg-card, #fff) 92%,transparent);box-shadow:0 10px 28px #0f172a24;color:var(--text, #0f172a);font-size:.75rem;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ac-temp-tip.is-start{transform:translate(0)}.ac-temp-tip.is-end{transform:translate(-100%)}.ac-temp-tip strong{font-size:.72rem;color:var(--text-muted);font-weight:650}.ac-temp-tip span{display:flex;align-items:center;gap:.35rem}.ac-temp-tip i{width:8px;height:8px;border-radius:99px;flex:none}.ac-temp-tip b{margin-left:auto;font-variant-numeric:tabular-nums}.ac-temp-legend{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:.55rem 0 0;padding:0}.ac-temp-legend li{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:999px;background:color-mix(in srgb,var(--bg-hover, #f8fafc) 80%,transparent);color:var(--text, #0f172a);font-size:.75rem;font-weight:650}.ac-temp-legend i{width:8px;height:8px;border-radius:99px;flex:none}.ac-temp-legend i.is-room{background:#2563eb}.ac-temp-legend i.is-ac1{background:#06b6d4}.ac-temp-legend i.is-ac2{background:#8b5cf6}.ac-temp-legend i.is-ac3{background:#f59e0b}.ac-temp-legend i.is-ac4{background:#10b981}.ac-temp-legend i.is-band{background:#22c55ed9;box-shadow:inset 0 0 0 1px #16a34a}@keyframes ac-temp-draw{to{stroke-dashoffset:0}}@keyframes ac-temp-fade{to{opacity:1}}@keyframes ac-temp-pulse{0%{transform:scale(.7);opacity:.35}70%{transform:scale(1.55);opacity:0}to{transform:scale(1.55);opacity:0}}@media(prefers-reduced-motion:reduce){.ac-temp-line,.ac-temp-area,.ac-temp-halo{animation:none}.ac-temp-line{stroke-dashoffset:0}.ac-temp-area{opacity:1}.ac-temp-halo{opacity:.22}}.freezer-split{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.freezer-events ol{list-style:none;display:flex;flex-direction:column;gap:.55rem;max-height:420px;overflow:auto}.freezer-events li{display:flex;justify-content:space-between;gap:.8rem;padding:.7rem .75rem;border-radius:12px;border:1px solid var(--border);border-left-width:4px}.freezer-events li strong,.freezer-events li span{display:block}.freezer-events li span,.freezer-events time{color:var(--text-muted);font-size:.78rem}.freezer-events li.tone-danger{border-left-color:var(--danger)}.freezer-events li.tone-warning{border-left-color:var(--warning)}.freezer-events li.tone-info{border-left-color:var(--info)}.freezer-events li.tone-success{border-left-color:var(--success)}.freezer-log-wrap{max-height:420px;overflow:auto}.freezer-log table{width:100%;border-collapse:collapse;font-size:.82rem}.freezer-log th,.freezer-log td{text-align:left;padding:.45rem .35rem;border-bottom:1px solid var(--border)}.freezer-log th{color:var(--text-muted);font-size:.72rem}.freezer-cockpit{display:flex;flex-direction:column;gap:.85rem}@keyframes freezer-pulse{0%{box-shadow:0 0 #67e8f9a6}to{box-shadow:0 0 0 10px #67e8f900}}@keyframes ac-flow{0%{transform:translateY(0) scaleY(.82)}to{transform:translateY(28px) scaleY(1.08)}}@media(max-width:980px){.freezer-command,.freezer-hero,.freezer-split{grid-template-columns:1fr}.freezer-stage{grid-template-columns:1fr;min-height:0}.freezer-cost,.freezer-notice{grid-template-columns:1fr}.freezer-now{padding:0 1.1rem 1.2rem}.freezer-now-value strong{font-size:3.4rem}}.ac-setup-modal{max-width:440px}.ac-setup-form{gap:.9rem}.ac-setup-range{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.ac-setup-check{display:flex;align-items:center;gap:.55rem;margin:.15rem 0 0;font-size:.875rem;color:var(--text);cursor:pointer}.ac-setup-check input{width:1rem;height:1rem;margin:0;accent-color:var(--accent, #c41e3a)}@media(prefers-reduced-motion:reduce){.freezer-live-dot,.ac-stream{animation:none!important}.ac-stream,.ac-led,.ac-unit{transition:none}}.dashboard{display:flex;min-height:100vh;min-height:100dvh}.dashboard:has(.track-together-page){height:100vh;max-height:100vh;overflow:hidden}.dashboard:has(.history-replay-page){height:100vh;max-height:100vh;overflow:hidden}.main:has(.track-together-page){overflow:hidden;min-height:0}.main:has(.history-replay-page){overflow:hidden;min-height:0}.main:has(.track-together-page)>.content.track-together-page{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.sidebar{width:var(--sidebar-width);background:var(--bg-panel);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-brand{padding:1.25rem 1rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem}.contra-logo,.app-logo,.vtrack-logo{display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0;background:transparent}.contra-logo-img,.app-logo-img,.vtrack-logo-img{height:var(--logo-size);width:auto;max-width:none;object-fit:contain;display:block;background:transparent}.contra-logo-wordmark,.app-logo-wordmark{font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--text)}.contra-logo-accent,.app-logo-accent{color:var(--accent)}.contra-text-logo{--contra-blue: #1d4ed8;--contra-blue-deep: #1e40af;--contra-logo-font: "Bebas Neue", Impact, sans-serif;--contra-frame-radius: 4px;--contra-frame-border: color-mix(in srgb, var(--contra-blue) 42%, var(--border));--contra-frame-border-soft: color-mix(in srgb, var(--contra-blue) 18%, var(--border));--contra-frame-fill: color-mix(in srgb, var(--contra-blue) 7%, transparent);--contra-frame-inset: color-mix(in srgb, #fff 9%, transparent);--contra-frame-shadow: 0 2px 10px color-mix(in srgb, #000 22%, transparent);--contra-frame-glow: 0 0 20px color-mix(in srgb, var(--contra-blue) 10%, transparent);--contra-frame-py: .14em;--contra-frame-px: .72em;--contra-logo-scale-y: .86;display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;background:transparent;font-family:var(--contra-logo-font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.contra-text-logo-frame{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:var(--contra-frame-py) var(--contra-frame-px);border-radius:var(--contra-frame-radius);background:linear-gradient(180deg,color-mix(in srgb,var(--contra-blue) 10%,transparent) 0%,var(--contra-frame-fill) 42%,transparent 100%);border:1px solid var(--contra-frame-border);box-shadow:var(--contra-frame-shadow),var(--contra-frame-glow),inset 0 1px 0 var(--contra-frame-inset),inset 0 -1px color-mix(in srgb,var(--contra-blue) 8%,transparent);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contra-text-logo-frame:before{content:"";position:absolute;top:-1px;left:14%;right:14%;height:1.5px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--contra-blue) 70%,#3b82f6) 42%,#60a5fa 50%,color-mix(in srgb,var(--contra-blue) 70%,#3b82f6) 58%,transparent);opacity:.9;pointer-events:none}.contra-text-logo-frame:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:calc(var(--contra-frame-radius) - 1px);border:1px solid var(--contra-frame-border-soft);opacity:.55;pointer-events:none}.contra-text-logo-name{position:relative;z-index:1;display:inline-block;font-family:var(--contra-logo-font);font-size:calc(var(--logo-size, 52px) * .52);font-weight:700;line-height:.9;letter-spacing:.08em;text-transform:uppercase;-webkit-text-stroke:.5px currentColor;paint-order:stroke fill;transform:scaleY(var(--contra-logo-scale-y));transform-origin:center center;margin-block:calc((1 - var(--contra-logo-scale-y)) * -.42em)}[data-theme=light] .contra-text-logo{--contra-frame-fill: color-mix(in srgb, var(--contra-blue) 5%, #fff);--contra-frame-inset: rgba(255, 255, 255, .92);--contra-frame-shadow: 0 1px 3px color-mix(in srgb, #0f172a 8%, transparent);--contra-frame-glow: 0 0 0 1px color-mix(in srgb, var(--contra-blue) 8%, transparent)}.contra-text-logo-accent{color:var(--contra-blue);-webkit-text-stroke:.5px var(--contra-blue)}[data-theme=light] .contra-text-logo-accent{color:var(--contra-blue-deep);-webkit-text-stroke:.5px var(--contra-blue-deep)}.contra-text-logo-tagline{display:inline-block;font-family:var(--contra-logo-font);font-size:calc(var(--logo-size, 52px) * .115);font-weight:700;line-height:1;letter-spacing:.32em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 78%,transparent);-webkit-text-stroke:.35px color-mix(in srgb,var(--text) 78%,transparent);paint-order:stroke fill;transform:scaleY(var(--contra-logo-scale-y));transform-origin:left center;margin-block:calc((1 - var(--contra-logo-scale-y)) * -.18em)}.sidebar-brand .contra-text-logo{align-items:center;text-align:center;--contra-frame-shadow: 0 1px 4px color-mix(in srgb, #000 14%, transparent);--contra-frame-glow: none}.sidebar-brand .contra-text-logo-frame:before{opacity:.72}.sidebar-brand .contra-text-logo-tagline{letter-spacing:.26em;transform-origin:center center}.sidebar-brand .contra-logo,.sidebar-brand .app-logo,.sidebar-brand .vtrack-logo{margin-bottom:0;justify-content:center;align-items:center}.sidebar-brand-name{display:block;font-size:.95rem;font-weight:700;letter-spacing:.05em;color:var(--text);margin-top:0}.sidebar-brand-tagline{display:flex;flex-direction:column;align-items:center;gap:.15rem;margin:0;max-width:100%;color:var(--text-muted);font-size:.72rem;line-height:1.35;font-weight:500;text-align:center}.login-brand-tagline{display:flex;flex-direction:column;gap:.2rem;color:var(--text-muted);font-size:.9rem;line-height:1.35;margin:0}.login-brand p,.login-brand-tagline span{color:var(--text-muted)}.sidebar-nav{padding:1rem .75rem;flex:1;position:relative;z-index:1}.nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.65rem .75rem;border-radius:8px;color:var(--text-muted);font-size:.9rem;text-align:left;text-decoration:none;transition:background .15s,color .15s}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-selected-text, var(--accent));font-weight:600;box-shadow:none}.nav-icon{font-size:1.1rem;width:1.25rem;text-align:center}.sidebar-footer{padding:1rem;border-top:1px solid var(--border);font-size:.75rem;color:var(--text-muted)}.vtrack-logo{flex-direction:row;align-items:center;gap:0;background:transparent}.login-logo.app-logo,.login-logo.contra-logo{--logo-size: 56px}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.main:has(.track-together-page)>.header{flex-shrink:0}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-panel)}.header h1{font-size:1.25rem;font-weight:600}.header-subtitle{margin:.2rem 0 0;font-size:.85rem;color:var(--text-muted);font-weight:400}.header-meta{display:flex;align-items:center;gap:1rem;font-size:.85rem;color:var(--text-muted);flex-wrap:wrap;justify-content:flex-end}.theme-toggle{display:inline-flex;padding:3px;border-radius:8px;background:var(--bg-hover);border:1px solid var(--border);gap:2px}.theme-toggle-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:6px;font-size:.78rem;font-weight:500;color:var(--text-muted);transition:background .15s,color .15s}.theme-toggle-btn:hover{color:var(--text);background:var(--bg-hover)}.theme-toggle-btn.active{background:var(--bg-panel);color:var(--text);box-shadow:0 1px 3px var(--shadow-md);font-weight:600}.theme-toggle-icon{font-size:.9rem;line-height:1}.language-toggle{display:inline-flex;padding:3px;border-radius:8px;background:var(--bg-hover);border:1px solid var(--border);gap:2px}.language-toggle-btn{min-width:2.5rem;padding:.35rem .55rem;border-radius:6px;font-size:.78rem;font-weight:600;color:var(--text-muted);transition:background .15s,color .15s}.language-toggle-btn:hover{color:var(--text);background:var(--bg-hover)}.language-toggle-btn.active{background:var(--bg-panel);color:var(--accent);box-shadow:0 1px 3px var(--shadow-md)}.login-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end;flex:1 1 280px}html[dir=rtl] body{text-align:right}html[dir=rtl] .sidebar{border-right:none;border-left:1px solid var(--border)}html[dir=rtl] .nav-item,html[dir=rtl] .dashboards-subnav-item,html[dir=rtl] .settings-subnav-item,html[dir=rtl] .header-meta{flex-direction:row-reverse}html[dir=rtl] .alert-card-meta,html[dir=rtl] .handled-history-form dt,html[dir=rtl] .form-field label,html[dir=rtl] .report-history-table th,html[dir=rtl] .report-history-table td{text-align:right}.header-time{white-space:nowrap}.header-digital-clock{display:flex;flex-direction:column;align-items:center;gap:.15rem;line-height:1}.header-digital-clock-face{display:inline-flex;align-items:center;font-family:SF Mono,Roboto Mono,Courier New,monospace;font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:700;letter-spacing:.06em;padding:.35rem .65rem;border-radius:8px;border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-hover) 0%,var(--bg-panel) 100%);box-shadow:inset 0 1px #ffffff0a,0 1px 2px var(--shadow-md);color:var(--accent);text-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent)}.header-digital-clock-segment{min-width:1.35em;text-align:center}.header-digital-clock-seconds{opacity:.88}.header-digital-clock-colon{opacity:.75;animation:digital-clock-blink 1s step-end infinite}@keyframes digital-clock-blink{0%,to{opacity:.75}50%{opacity:.25}}[data-theme=dark] .header-digital-clock-face{color:#5eead4;text-shadow:0 0 10px rgba(94,234,212,.35);background:linear-gradient(180deg,#0f1720,#111827);border-color:#5eead438}.live-badge{display:flex;align-items:center;gap:.4rem;color:var(--success);font-weight:500}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.content{flex:1;padding:1.25rem 1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.15rem}.stat-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.stat-value{display:flex;align-items:baseline;flex-wrap:nowrap;gap:.35rem;font-size:1.5rem;font-weight:700;line-height:1.15;min-width:0}.stat-value small{font-size:.85rem;font-weight:500;color:var(--text-muted)}.stat-card.moving .stat-value{color:var(--vehicle-status-moving)}.stat-card.idle .stat-value{color:var(--vehicle-status-idle)}.stat-card.parked .stat-value{color:var(--vehicle-status-parked)}.stat-card.offline .stat-value{color:var(--vehicle-status-offline)}.stat-card.alerts .stat-value{color:var(--danger)}.main-grid{display:grid;grid-template-columns:340px 1fr;gap:1.25rem;min-height:380px}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.9rem;font-weight:600;color:var(--text)}.panel-body{flex:1;overflow-y:auto}.vehicle-list-item{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.85rem 1rem;border-bottom:1px solid var(--border);text-align:left;transition:background .15s}.vehicle-list-item:hover{background:var(--bg-hover)}.vehicle-list-item.selected{background:var(--accent-soft)}.vehicle-row-top{display:flex;justify-content:space-between;align-items:center}.vehicle-name{font-weight:600;font-size:.9rem}.vehicle-id{font-size:.75rem;color:var(--text-muted)}.vehicle-row-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.status-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.status-badge.moving,.status-badge.running{background:color-mix(in srgb,var(--vehicle-status-moving) 15%,transparent);color:var(--vehicle-status-moving)}.status-badge.idle{background:color-mix(in srgb,var(--vehicle-status-idle) 15%,transparent);color:var(--vehicle-status-idle)}.status-badge.parked,.status-badge.standby{background:color-mix(in srgb,var(--vehicle-status-parked) 15%,transparent);color:var(--vehicle-status-parked)}.status-badge.offline{background:color-mix(in srgb,var(--vehicle-status-offline) 15%,transparent);color:var(--vehicle-status-offline)}.map-panel{display:flex;flex-direction:column;min-height:420px}.overview-map-wrap{position:relative;flex:1;min-height:360px;display:flex;flex-direction:column}.overview-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);background:var(--bg-panel);z-index:401}.overview-map-toolbar .map-label{position:static;border:none;background:none;padding:0}.overview-map-toolbar .map-label-meta{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:500;letter-spacing:.04em;line-height:1.35;color:var(--text);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"lnum" 1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overview-map-toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.vehicle-console-hero-location{display:flex;align-items:flex-start;gap:.4rem;min-width:0}.vehicle-console-hero-location-icon{flex-shrink:0;font-size:.9rem;line-height:1.45;color:var(--console-badge)}.vehicle-console-hero-location-text{min-width:0;font-size:.88rem;font-weight:400;letter-spacing:.015em;line-height:1.45;color:var(--text)}.overview-map-mode-toggle{display:inline-flex;padding:3px;border-radius:8px;background:var(--bg-hover);border:1px solid var(--border)}.overview-map-mode-btn{padding:.35rem .75rem;border-radius:6px;font-size:.78rem;color:var(--text-muted);transition:background .15s,color .15s}.overview-map-mode-btn:hover{color:var(--text)}.overview-map-mode-btn.active{background:var(--bg-card);color:var(--text);box-shadow:0 1px 3px var(--shadow-md)}.overview-map{width:100%;flex:1;min-height:280px;z-index:0}.genset-map-panel{min-height:840px}.genset-map-panel .overview-map-wrap{min-height:800px}.genset-map-panel .overview-map{min-height:760px;height:min(80vh,920px)}.overview-map-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f141973;pointer-events:none;z-index:500;font-size:.9rem;color:var(--text-muted)}.map-view{position:relative;background:linear-gradient(var(--map-grid) 1px,transparent 1px),linear-gradient(90deg,var(--map-grid) 1px,transparent 1px),radial-gradient(ellipse at 30% 40%,var(--map-grid-accent) 0%,transparent 60%),var(--map-surface);background-size:40px 40px,40px 40px,100% 100%,100% 100%;min-height:260px}.map-label{position:absolute;top:.75rem;left:.75rem;font-size:.75rem;color:var(--text-muted);background:var(--map-label-bg);padding:.3rem .6rem;border-radius:6px;border:1px solid var(--border)}.map-marker{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.15rem}.marker-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--marker-border);box-shadow:0 0 8px var(--marker-shadow)}.marker-dot.moving,.marker-dot.running{background:var(--vehicle-status-moving)}.marker-dot.idle{background:var(--vehicle-status-idle)}.marker-dot.parked,.marker-dot.standby{background:var(--vehicle-status-parked)}.marker-dot.offline{background:var(--vehicle-status-offline)}.marker-dot.selected{width:18px;height:18px;box-shadow:0 0 0 4px var(--accent-soft),0 0 12px #3b82f680}.marker-label{font-size:.65rem;background:var(--marker-label-bg);padding:.1rem .35rem;border-radius:4px;white-space:nowrap;border:1px solid var(--border);color:var(--text)}.vehicle-detail{padding:1rem;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem}.detail-item label{display:block;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.15rem}.detail-item span{font-size:.9rem;font-weight:600}.detail-item span.highlight{color:var(--accent)}.vehicle-detail-strip{padding:.85rem 1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.65rem;flex-shrink:0;background:var(--bg-panel)}.vehicle-detail-strip-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.vehicle-detail-identity{display:flex;flex-direction:column;gap:.1rem;min-width:0}.vehicle-detail-plate{font-size:1rem;font-weight:700;line-height:1.2;color:var(--text)}.vehicle-detail-id{font-size:.75rem;color:var(--text-muted)}.vehicle-detail-badges{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.vehicle-detail-speed{font-size:.82rem;font-weight:700;color:var(--accent);white-space:nowrap}.vehicle-detail-updated{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.vehicle-detail-location{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .65rem;border-radius:8px;background:var(--bg-hover);border:1px solid var(--border);min-width:0}.vehicle-detail-location-icon{flex-shrink:0;font-size:.85rem;line-height:1.35}.vehicle-detail-location p{margin:0;font-size:.82rem;line-height:1.4;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.vehicle-detail-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem}.vehicle-detail-meta-item{display:inline-flex;align-items:baseline;gap:.35rem;min-width:0;font-size:.78rem}.vehicle-detail-meta-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600;flex-shrink:0}.vehicle-detail-meta-value{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}.vehicle-detail-meta-item.mono .vehicle-detail-meta-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem;font-weight:500;max-width:11rem}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.alert-item,.trip-item{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-size:.85rem}.alert-item:last-child,.trip-item:last-child{border-bottom:none}.alert-top,.trip-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.alert-vehicle{font-weight:600;font-size:.8rem}.alert-time,.trip-meta{font-size:.75rem;color:var(--text-muted)}.alert-message{color:var(--text-muted);font-size:.82rem}.severity-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:.4rem}.severity-dot.critical{background:var(--danger)}.severity-dot.warning{background:var(--warning)}.severity-dot.info{background:var(--info)}.trip-route{font-weight:500;margin-bottom:.15rem}.trip-status{font-size:.72rem;padding:.1rem .4rem;border-radius:4px;font-weight:600}.trip-status.in-progress{background:var(--accent-soft);color:var(--accent)}.trip-status.completed{background:#22c55e26;color:var(--success)}.fuel-bar{height:6px;background:var(--bg-hover);border-radius:3px;margin-top:.25rem;overflow:hidden}.fuel-fill{height:100%;border-radius:3px;background:var(--accent)}.fuel-fill.low{background:var(--danger)}.fleet-page{display:flex;flex-direction:column;gap:1.5rem;flex:1;min-height:0}.fleet-filter-panel .panel-header{padding:1rem 1.25rem;gap:1rem}.filter-result-count{font-size:.8rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.filter-body{padding:1.25rem}.filter-search-row{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.filter-search{flex:1;min-width:0}.live-filter-field .searchable-filter-select,.live-filter-field .searchable-vehicle-select,.filter-search .searchable-vehicle-select{width:100%}.filter-actions{flex-shrink:0;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:.5rem}.filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem 1rem;align-items:start}.filter-field{display:flex;flex-direction:column;gap:.375rem;min-width:0}.filter-field label{font-size:.78rem;font-weight:500;color:var(--text-muted);line-height:1.3}.filter-field input,.filter-field select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem;line-height:1.25;transition:border-color .15s,box-shadow .15s}.filter-field input::placeholder{color:var(--text-muted);opacity:.75}.filter-field input:focus,.filter-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.filter-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2rem;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) calc(50% - .15rem),calc(100% - .65rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;cursor:pointer}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text);font-size:.875rem;font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-secondary:active{background:var(--bg-panel)}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.fleet-card{overflow:visible}.fleet-card-clickable{position:relative;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.fleet-card-clickable:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 12%,transparent)}.fleet-card-stretched-link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.fleet-card-clickable .fleet-card-actions,.fleet-card-clickable .fleet-card-footer .btn-link{position:relative;z-index:2}.fleet-card-hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.35rem 1rem 1rem;border-bottom:1px solid var(--border)}.fleet-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem;flex-shrink:0}.fleet-card-action-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted);line-height:1;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}.fleet-card-action-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.fleet-card-action-btn.danger:hover{border-color:var(--danger);color:var(--danger);background:#ef44441f}.fleet-card-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fleet-card-avatar{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.85rem;line-height:1;border:2px solid var(--border);margin-bottom:.7rem;flex-shrink:0;overflow:hidden}.fleet-card-avatar-img{display:block;width:118%;height:118%;margin:-4% 0 0 -6%;object-fit:contain}.fleet-card-avatar.is-genset{background:color-mix(in srgb,#c9252b 10%,var(--surface))}.fleet-card-avatar.is-genset .fleet-card-avatar-img{width:46%;height:46%;margin:0}.vehicle-status-ring.moving,.vehicle-status-ring.running{border-color:var(--vehicle-status-moving);background:color-mix(in srgb,var(--vehicle-status-moving) 16%,transparent)}.vehicle-status-ring.idle{border-color:var(--vehicle-status-idle);background:color-mix(in srgb,var(--vehicle-status-idle) 16%,transparent)}.vehicle-status-ring.parked,.vehicle-status-ring.standby{border-color:var(--vehicle-status-parked);background:color-mix(in srgb,var(--vehicle-status-parked) 16%,transparent)}.vehicle-status-ring.offline{border-color:var(--vehicle-status-offline);background:color-mix(in srgb,var(--vehicle-status-offline) 16%,transparent)}.fleet-card-registration{font-size:1.02rem;font-weight:700;letter-spacing:.02em;line-height:1.25;margin:0;word-break:break-word}.fleet-card-subtitle{display:block;margin-top:.2rem;font-size:.78rem;color:var(--text-muted)}.fleet-card-unit-id{display:block;margin-top:.28rem;font-size:.72rem;font-weight:600;letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--text-muted)}.fleet-card-status{margin-top:.55rem}.fleet-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid var(--border)}.fleet-card-header h3{font-size:.95rem;font-weight:600;margin-bottom:.15rem}.fleet-card-body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.5rem}.fleet-card-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.85rem}.fleet-label{flex-shrink:0;color:var(--text-muted);font-size:.78rem}.fleet-value-truncate{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-card-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--border);font-size:.8rem}.fleet-card-footer .fleet-updated{min-width:0}.fleet-updated{color:var(--text-muted)}.btn-link{color:var(--accent);text-decoration:none;font-weight:500;white-space:nowrap}.btn-link:hover{text-decoration:underline}.fleet-empty .empty-state{padding:3rem 1.5rem;text-align:center}.empty-state p{font-size:.95rem;font-weight:500}.empty-hint{margin-top:.35rem;font-size:.85rem!important;font-weight:400!important;color:var(--text-muted)}.actions-menu{position:relative}.actions-trigger{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:6px;color:var(--text-muted);font-size:1.1rem;line-height:1;transition:background .15s,color .15s}.actions-trigger:hover{background:var(--bg-hover);color:var(--text)}.actions-dropdown{position:absolute;top:calc(100% + .25rem);right:0;z-index:10;min-width:11rem;padding:.35rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #00000040}.actions-item{display:block;width:100%;padding:.5rem .65rem;border-radius:6px;text-align:left;text-decoration:none;font-size:.82rem;color:var(--text);transition:background .15s}.actions-item:hover{background:var(--bg-hover)}.actions-item.danger{color:var(--danger)}@media(max-width:1200px){.filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1024px){.main-grid,.bottom-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.sidebar{display:none}.header{flex-wrap:wrap;gap:.65rem;padding:.75rem 1rem}.header-meta{width:100%;justify-content:flex-start;gap:.5rem .75rem}.header-subtitle{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.content{padding:.85rem .75rem;gap:1rem}.panel-header{flex-wrap:wrap;gap:.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.filter-search-row{flex-direction:column;align-items:stretch}.filter-actions{width:100%}.filter-actions .btn-primary,.filter-actions .btn-secondary{flex:1}.filter-grid{grid-template-columns:1fr;gap:1rem}.fleet-filter-panel .panel-header{flex-direction:column;align-items:flex-start;gap:.35rem}.filter-result-count{white-space:normal}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.header-digital-clock-face{font-size:.92rem;padding:.28rem .5rem}}.live-track-page{gap:1rem;min-height:0;flex:1}.live-track-status-bar{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;font-size:.85rem}.live-connection{display:inline-flex;align-items:center;gap:.4rem;font-weight:500;color:var(--danger)}.live-connection:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.live-connection.online{color:var(--success)}.live-updated-at{color:var(--text-muted)}.live-follow-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;color:var(--text-muted);cursor:pointer}.live-follow-toggle input{accent-color:var(--accent)}.live-track-loading,.live-track-error{padding:.75rem 1rem;border-radius:8px;font-size:.875rem}.live-track-loading{background:var(--accent-soft);color:var(--accent)}.live-track-error{background:#ef44441f;color:var(--alert-critical-text)}.live-track-layout{display:grid;grid-template-columns:280px 1fr;gap:1rem;flex:1;min-height:0;height:calc(100vh - 11rem)}.live-track-section-nav{display:flex;flex-wrap:wrap;gap:.5rem;flex-shrink:0}.live-track-section-nav-item{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem 1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text-muted);font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.live-track-section-nav-item:hover{border-color:var(--accent);color:var(--text)}.live-track-section-nav-item.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--accent-selected-text, var(--accent));box-shadow:none}.live-track-section-content{min-height:0;display:flex;flex-direction:column;flex:1}.live-track-history-section{display:flex;flex-direction:column;gap:1rem;min-height:0;flex:1}.live-track-history-nav{margin-bottom:0}.live-track-history-content{min-height:0;display:flex;flex-direction:column;flex:1}.live-track-section{display:flex;flex-direction:column;gap:1rem;min-height:0;flex:1}.live-track-section .live-track-layout{height:calc(100vh - 12.5rem)}.live-track-section-desc{margin:0;font-size:.875rem;color:var(--text-muted)}.live-track-sidebar{overflow:hidden}.live-filter-body{padding:1rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.live-status-chips{display:flex;flex-wrap:wrap;gap:.5rem}.live-chip{padding:.35rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-hover);color:var(--text-muted);font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s,color .15s}.live-chip:hover{background:var(--bg-hover);color:var(--text)}.live-chip.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent-selected-text, var(--accent))}.live-filter-field{display:flex;flex-direction:column;gap:.375rem}.live-filter-field label{font-size:.78rem;font-weight:500;color:var(--text-muted)}.live-filter-field input,.live-filter-field select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem}.live-filter-field input:focus,.live-filter-field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchable-vehicle-select{position:relative;width:100%}.searchable-vehicle-select-input{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem}.searchable-vehicle-select-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.searchable-vehicle-select-list{margin:0;padding:.35rem;list-style:none;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);box-shadow:0 12px 32px var(--shadow-lg)}.searchable-vehicle-select-list-portal{position:fixed;z-index:900;max-height:min(16rem,calc(100vh - 1rem))}.searchable-vehicle-select-option{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .65rem;border:none;border-radius:6px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font:inherit}.searchable-vehicle-select-option:hover,.searchable-vehicle-select-option.active{background:var(--accent-soft)}.searchable-vehicle-select-option-main{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.searchable-vehicle-select-option.is-check{flex-direction:row;align-items:center;gap:.55rem}.searchable-vehicle-select-option.is-check input{width:1rem;height:1rem;margin:0;flex:none;pointer-events:none;accent-color:var(--accent)}.searchable-vehicle-select-list.is-multiple{max-height:min(22rem,calc(100vh - 1rem))}.searchable-vehicle-select-option-label{font-size:.875rem;font-weight:600}.searchable-vehicle-select-option-meta{font-size:.75rem;color:var(--text-muted)}.searchable-vehicle-select-empty{padding:.75rem;font-size:.8125rem;color:var(--text-muted)}.searchable-vehicle-select.disabled .searchable-vehicle-select-input{opacity:.6;cursor:not-allowed}.live-filter-summary{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem;background:var(--bg-hover);border-radius:8px;border:1px solid var(--border)}.live-filter-summary div{display:flex;flex-direction:column;gap:.15rem}.live-summary-label{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.live-filter-summary strong{font-size:1.25rem}.live-reset-btn{width:100%}.live-map-container{position:relative;overflow:hidden;min-height:0}.live-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-panel);flex-shrink:0}.live-map-legend{display:flex;gap:1rem;font-size:.78rem;color:var(--text-muted)}.legend-item{display:inline-flex;align-items:center;gap:.35rem}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.live{background:var(--vehicle-status-moving);box-shadow:0 0 6px var(--vehicle-status-moving)}.legend-dot.idle{background:var(--vehicle-status-idle)}.legend-dot.parked{background:var(--vehicle-status-parked)}.legend-dot.offline{background:var(--vehicle-status-offline)}.legend-dot.history-replay-route{background:#0182e7;box-shadow:0 0 6px #0182e78c}.legend-dot.history-replay-traveled{background:#5cc4ff;box-shadow:0 0 6px #5cc4ffa6}.live-selected-banner{display:flex;align-items:center;gap:.75rem;font-size:.82rem;color:var(--text-muted)}.live-selected-banner strong{color:var(--text)}.live-map{width:100%;height:calc(100% - 2.75rem);min-height:420px;z-index:0}.live-map-empty{position:absolute;top:2.75rem;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0f14198c;pointer-events:none;z-index:500;font-size:.9rem;color:var(--text-muted)}.live-map-layer-toggle{display:flex;gap:.35rem;flex-shrink:0}.live-map-layer-btn{padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-hover);color:var(--text-muted);font-size:.78rem;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.live-map-layer-btn:hover{border-color:var(--accent);color:var(--text)}.live-map-layer-btn.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 40%,transparent);color:var(--accent-selected-text, var(--accent));font-weight:600}.cluster-live-map .live-map-toolbar{flex-wrap:wrap}.legend-item.cluster-hint{font-style:italic}.vehicle-cluster-wrap{background:transparent!important;border:none!important}.vehicle-cluster-marker{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:.82rem;border:3px solid #fff;box-shadow:0 2px 12px #00000059}.vehicle-cluster-marker.vehicle-cluster-md,.vehicle-cluster-md{width:48px;height:48px;font-size:.92rem}.vehicle-cluster-marker.vehicle-cluster-lg,.vehicle-cluster-lg{width:56px;height:56px;font-size:1rem}.vehicle-cluster-wrap.vehicle-cluster-selected,.vehicle-cluster-marker.vehicle-cluster-selected{z-index:1000!important}.vehicle-cluster-wrap.vehicle-cluster-selected .vehicle-cluster-marker,.vehicle-cluster-marker.vehicle-cluster-selected{background:#f59e0b;border-color:#fff;transform:scale(1.14);box-shadow:0 0 0 4px #f59e0b66,0 4px 18px #f59e0b8c;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.vehicle-cluster-wrap:hover .vehicle-cluster-marker{transform:scale(1.08);box-shadow:0 3px 14px #0006}.vehicle-cluster-wrap.vehicle-cluster-selected:hover .vehicle-cluster-marker,.vehicle-cluster-marker.vehicle-cluster-selected:hover{transform:scale(1.18);box-shadow:0 0 0 5px #f59e0b80,0 6px 22px #f59e0b99}.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:transparent!important}.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:var(--accent)!important;color:#fff!important}.leaflet-div-icon.vehicle-marker-wrapper,.leaflet-div-icon.genset-marker-wrapper,.vehicle-marker-wrapper{background:transparent!important;border:none!important;overflow:visible}.genset-marker-wrapper{background:transparent;border:none}.genset-map-marker{--genset-ring: #94a3b8;--genset-pip: #94a3b8;position:relative;width:48px;height:48px;display:grid;place-items:center;pointer-events:none}.genset-map-marker.tone-running{--genset-ring: #22c55e;--genset-pip: #22c55e}.genset-map-marker.tone-off{--genset-ring: #64748b;--genset-pip: #94a3b8}.genset-map-marker.tone-offline{--genset-ring: #94a3b8;--genset-pip: #cbd5e1}.genset-map-marker.tone-warning{--genset-ring: #f59e0b;--genset-pip: #f59e0b}.genset-map-marker.tone-critical{--genset-ring: #ef4444;--genset-pip: #ef4444}.genset-map-marker.is-running{--genset-pip: #22c55e}.genset-map-halo{position:absolute;top:1px;right:1px;bottom:1px;left:1px;border-radius:50%;border:2.5px solid var(--genset-ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--genset-ring) 22%,transparent),0 4px 12px #0f172a47;background:color-mix(in srgb,var(--genset-ring) 10%,#fff)}.genset-map-marker.is-running .genset-map-halo,.genset-map-marker.tone-warning .genset-map-halo,.genset-map-marker.tone-critical .genset-map-halo{animation:genset-map-pulse 1.8s ease-out infinite}.genset-map-pin{position:relative;z-index:1;width:34px;height:34px;border-radius:50%;overflow:hidden;background:#f8fafc;box-shadow:inset 0 0 0 1px #0f172a14}.genset-map-pin img,.genset-map-emoji{display:block;width:118%;height:118%;margin:-6% 0 0 -9%;object-fit:contain}.genset-map-emoji{width:100%;height:100%;margin:0;display:grid;place-items:center;font-size:1.15rem;line-height:1}.genset-map-marker.tone-offline .genset-map-pin img,.genset-map-marker.tone-offline .genset-map-emoji{filter:grayscale(.7) saturate(.55);opacity:.82}.genset-map-pip{position:absolute;right:5px;bottom:5px;z-index:2;width:9px;height:9px;border-radius:50%;background:var(--genset-pip);border:1.5px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--genset-pip) 35%,transparent)}.genset-map-marker.is-selected{transform:scale(1.12)}.genset-map-marker.is-selected .genset-map-halo{box-shadow:0 0 0 4px color-mix(in srgb,var(--genset-ring) 34%,transparent),0 6px 14px #0f172a52}@keyframes genset-map-pulse{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--genset-ring) 22%,transparent),0 4px 12px #0f172a47}70%{box-shadow:0 0 0 8px color-mix(in srgb,var(--genset-ring) 0%,transparent),0 4px 12px #0f172a38}to{box-shadow:0 0 0 3px color-mix(in srgb,var(--genset-ring) 22%,transparent),0 4px 12px #0f172a47}}.genset-map-legend{position:absolute;left:12px;bottom:12px;z-index:500;display:flex;flex-wrap:wrap;gap:.4rem;padding:.4rem .5rem;border-radius:999px;background:color-mix(in srgb,#fff 88%,transparent);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 6px 18px #0f172a1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.genset-map-legend-item{display:inline-flex;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;color:#334155;padding:.12rem .28rem}.genset-map-legend-swatch{width:9px;height:9px;border-radius:50%;background:var(--genset-ring, #94a3b8);box-shadow:0 0 0 2px color-mix(in srgb,var(--genset-ring, #94a3b8) 24%,transparent)}.genset-map-legend-item.tone-running{--genset-ring: #22c55e}.genset-map-legend-item.tone-off{--genset-ring: #64748b}.genset-map-legend-item.tone-warning{--genset-ring: #f59e0b}.genset-map-legend-item.tone-critical{--genset-ring: #ef4444}.vehicle-map-icon{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-panel);border:2px solid var(--border);box-shadow:0 2px 10px #00000059;transition:transform .2s ease}.vehicle-map-icon.moving,.vehicle-map-icon.running{border-color:var(--vehicle-status-moving)}.vehicle-map-icon.idle{border-color:var(--vehicle-status-idle)}.vehicle-map-icon.parked,.vehicle-map-icon.standby{border-color:var(--vehicle-status-parked)}.vehicle-map-icon.offline{border-color:var(--vehicle-status-offline)}.vehicle-map-icon.live{border-color:var(--vehicle-status-moving)}.vehicle-map-icon.selected{transform:scale(1.15);box-shadow:0 0 0 4px var(--accent-soft),0 2px 12px #0006}.vehicle-map-icon.directed{transform:rotate(var(--heading-deg, 0deg))}.vehicle-map-icon.directed.selected{transform:rotate(var(--heading-deg, 0deg)) scale(1.12)}.vehicle-direction-chevron{position:absolute;top:-2px;left:50%;width:0;height:0;margin-left:-5px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid var(--icon-color, var(--accent));filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.vehicle-map-emoji{font-size:1rem;line-height:1}.vehicle-map-type-img{display:block;width:22px;height:22px;object-fit:contain}.vehicle-map-pulse{position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;border:2px solid var(--vehicle-status-moving);animation:map-pulse 2s ease-out infinite}@keyframes map-pulse{0%{transform:scale(.85);opacity:.8}to{transform:scale(1.35);opacity:0}}.map-popup{display:flex;flex-direction:column;gap:.2rem;font-size:.82rem;line-height:1.35;color:var(--text)}.map-popup strong{display:block;font-size:.9rem;font-weight:600;color:var(--text)}.map-popup span{color:var(--text-muted);font-size:.75rem}.map-popup p{margin:0;color:var(--text-muted);font-size:.78rem}.vehicle-map-popup{min-width:240px;max-width:280px;min-height:0;display:flex;flex-direction:column;gap:.65rem}.vehicle-map-popup-body{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;padding-right:2px}.vehicle-map-popup-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem}.vehicle-map-popup-identity{min-width:0;flex:1}.vehicle-map-popup-name{display:block;font-size:.95rem;font-weight:700;line-height:1.25;color:var(--text)}.vehicle-map-popup-id{display:block;margin-top:.12rem;font-size:.72rem;color:var(--text-muted)}.vehicle-map-popup-badges{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.vehicle-map-popup-live{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vehicle-status-moving);background:color-mix(in srgb,var(--vehicle-status-moving) 14%,transparent)}.vehicle-map-popup-location{display:flex;align-items:flex-start;gap:.4rem;padding:.5rem .55rem;border-radius:8px;background:var(--bg-hover);border:1px solid var(--border)}.vehicle-map-popup-location-icon{flex-shrink:0;font-size:.82rem;line-height:1.35}.vehicle-map-popup-location p{margin:0;font-size:.78rem;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.vehicle-map-popup-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.5rem .75rem}.vehicle-map-popup-metric{display:flex;flex-direction:column;gap:.08rem;min-width:0}.vehicle-map-popup-metric-label{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.vehicle-map-popup-metric-value{font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vehicle-map-popup-metric-value.accent{color:var(--accent)}.vehicle-map-popup-metric-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;font-weight:500;font-variant-numeric:tabular-nums}.vehicle-map-popup-action{display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0;box-sizing:border-box;padding:.48rem .7rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer}.vehicle-map-popup-action:hover,.vehicle-map-popup-action:focus-visible{color:#fff;filter:brightness(1.06)}.leaflet-container a.vehicle-map-popup-action{color:#fff}.leaflet-container .leaflet-popup-content-wrapper{background:var(--bg-panel)!important;color:var(--text)!important;border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 16px var(--shadow-md)}.leaflet-container .leaflet-popup-tip{background:var(--bg-panel)!important;border:1px solid var(--border);box-shadow:none}.leaflet-container .leaflet-popup-content{margin:.75rem .85rem;line-height:1.4;color:var(--text)!important;min-width:240px}.leaflet-container .leaflet-popup.vehicle-map-popup-wrap .leaflet-popup-content{max-height:min(22rem,calc(100vh - 14rem));overflow:hidden;display:flex;flex-direction:column}.leaflet-container .leaflet-popup.vehicle-map-popup-wrap .vehicle-map-popup{flex:1 1 auto;min-height:0;overflow:hidden;width:100%}@media(max-height:820px){.vehicle-map-popup{gap:.45rem;min-width:220px}.leaflet-container .leaflet-popup-content,.leaflet-container .leaflet-popup.vehicle-map-popup-wrap .leaflet-popup-content{min-width:220px;margin:.5rem .65rem;max-height:min(18rem,calc(100vh - 12rem))}.vehicle-map-popup-body{gap:.45rem}.vehicle-map-popup-location{padding:.4rem .5rem}.vehicle-map-popup-metrics{gap:.35rem .6rem}}.leaflet-container a.leaflet-popup-close-button{color:var(--text-muted)!important;font-size:1.1rem;width:1.5rem;height:1.5rem}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:var(--text)!important;background:transparent}@media(max-width:900px){.live-track-layout{grid-template-columns:1fr;height:auto}.live-track-section .live-track-layout{height:auto}.live-track-sidebar{max-height:none}.live-map{min-height:360px;height:50vh}}@media(max-width:768px){.live-track-status-bar{flex-direction:column;align-items:flex-start}.live-follow-toggle{margin-left:0}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;padding:0 1rem;border:none;border-radius:8px;background:var(--accent);color:var(--btn-primary-text);font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s}.btn-primary:hover{background:var(--accent-hover)}.btn-sm{height:2.125rem;padding:0 .75rem;font-size:.82rem}.alerts-page{gap:1.25rem}.alerts-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card.critical-stat .stat-value{color:var(--danger)}.stat-card.warning-stat .stat-value{color:var(--warning)}.stat-card.info-stat .stat-value{color:var(--info)}.alerts-page-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.handled-alerts-filter-panel .alerts-filter-body{max-height:calc(100vh - 14rem);overflow-y:auto}.handled-alert-card{overflow:visible}.handled-alert-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .5rem}.handled-alert-card-meta{background:var(--bg-hover)}.handled-alert-resolution{padding:.75rem 1rem;border-top:1px solid var(--border);background:var(--bg-hover)}.handled-alerts-list{gap:1rem}.alerts-toolbar{display:flex;align-items:center;justify-content:space-between}.alerts-view-toggle{display:flex;flex-wrap:wrap;gap:.5rem}.alerts-layout{display:grid;grid-template-columns:minmax(280px,320px) 1fr;gap:1.25rem;align-items:start}.alerts-filter-panel .alerts-filter-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.alerts-filter-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem}.alerts-filter-row--dates{grid-template-columns:1fr}.alerts-filter-panel .live-filter-field input[type=datetime-local]{min-width:0;width:100%;max-width:100%;height:auto;min-height:2.65rem;padding:.55rem .5rem;font-size:.8rem;line-height:1.2;box-sizing:border-box;overflow:visible;text-overflow:clip}.alerts-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.85rem 0 .25rem}.alerts-pagination-meta{font-size:.85rem;color:var(--text-muted)}.live-chip.severity-critical.active{background:#ef444426;border-color:var(--danger);color:var(--alert-critical-text)}.live-chip.severity-warning.active{background:#f59e0b26;border-color:var(--warning);color:var(--alert-warning-text)}.live-chip.severity-info.active{background:#06b6d426;border-color:var(--info);color:var(--alert-info-text)}.alerts-main{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.alert-group-title{font-size:.9rem;font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.alert-group-title.severity-critical{color:var(--alert-critical-text)}.alert-group-title.severity-warning{color:var(--alert-warning-text)}.alert-group-title.severity-info{color:var(--alert-info-text)}.alerts-list{display:flex;flex-direction:column;gap:1rem}.alert-card{overflow:visible}.alert-card.severity-border-critical{border-left:3px solid var(--danger)}.alert-card.severity-border-warning{border-left:3px solid var(--warning)}.alert-card.severity-border-info{border-left:3px solid var(--info)}.alert-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1rem .5rem}.alert-card-title-row{display:flex;align-items:flex-start;gap:.65rem}.alert-card-title-row h3{font-size:.95rem;font-weight:600;margin-bottom:.1rem}.alert-card-time{font-size:.75rem;color:var(--text-muted)}.alert-severity-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.alert-severity-badge.critical{background:#ef444426;color:var(--alert-critical-text)}.alert-severity-badge.warning{background:#f59e0b26;color:var(--alert-warning-text)}.alert-severity-badge.info{background:#06b6d426;color:var(--alert-info-text)}.alert-card-message{padding:0 1rem .75rem;font-size:.9rem;color:var(--text-muted);line-height:1.45}.alert-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem;padding:.75rem 1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-hover);font-size:.85rem}.alert-card-meta>div{display:flex;flex-direction:column;gap:.2rem}.alert-vehicle-link{color:var(--accent);text-decoration:none;font-weight:500}.alert-vehicle-link:hover{text-decoration:underline}.alert-type-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500}.alert-type-icon{font-size:.95rem}.alert-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;padding:.85rem 1rem}.alert-history-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;margin-left:.35rem;padding:0 .35rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.68rem;font-weight:700}.snooze-menu{position:relative}.snooze-dropdown{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;min-width:9rem;padding:.35rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0000004d}.snooze-dropdown-title{display:block;padding:.35rem .65rem .25rem;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.snooze-option{display:block;width:100%;padding:.5rem .65rem;border-radius:6px;text-align:left;font-size:.85rem;color:var(--text);transition:background .15s}.snooze-option:hover{background:var(--bg-hover)}.alerts-empty .empty-state{padding:3rem 1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-state.compact{padding:1.5rem 1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--overlay-bg);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-panel{width:100%;max-width:520px;max-height:90vh;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px var(--shadow-lg)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.25rem .75rem;border-bottom:1px solid var(--border)}.modal-header h2{font-size:1.1rem;font-weight:600}.modal-subtitle{font-size:.82rem;color:var(--text-muted);margin-top:.15rem}.modal-close{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1.35rem;line-height:1;color:var(--text-muted);transition:background .15s,color .15s}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.handle-alert-summary{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem;font-size:.88rem;color:var(--text-muted)}.handle-alert-form{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.alert-detail-modal,.alert-history-modal{max-width:720px}.alert-detail-summary{padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.alert-detail-summary-top{display:flex;align-items:center;gap:.65rem;margin-bottom:.5rem}.alert-detail-message{font-size:.9rem;color:var(--text-muted);line-height:1.45}.alert-detail-body{padding:1.25rem;display:flex;flex-direction:column;gap:1.25rem}.alert-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem 1rem}.alert-detail-row{display:flex;flex-direction:column;gap:.15rem}.alert-detail-label{font-size:.72rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.alert-detail-value{font-size:.88rem;color:var(--text);word-break:break-word}.alert-detail-map-wrap{display:flex;flex-direction:column;gap:.5rem}.alert-detail-map-title{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.alert-detail-map{width:100%;height:260px;border-radius:10px;border:1px solid var(--border);overflow:hidden;z-index:0}.alert-map-marker-wrapper{background:transparent;border:none}.alert-map-marker{width:18px;height:18px;border-radius:50%;background:var(--danger);border:3px solid #fff;box-shadow:0 2px 8px #00000059}.alert-detail-actions{padding:0 1.25rem 1.25rem}.alert-history-body{padding:1rem 1.25rem;max-height:60vh;overflow-y:auto}.handled-history-list{display:flex;flex-direction:column;gap:1rem}.handled-history-record{padding:1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover)}.handled-history-record-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.handled-history-record-header>div{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.handled-history-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.handled-history-message{font-size:.88rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.45}.handled-history-form{display:flex;flex-direction:column;gap:.65rem;margin:0}.handled-history-form div{display:flex;flex-direction:column;gap:.15rem}.handled-history-form dt{font-size:.72rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.handled-history-form dd{margin:0;font-size:.85rem;color:var(--text);line-height:1.45}.handled-history-location{margin:.75rem 0 0;font-size:.78rem;color:var(--text-muted)}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.78rem;font-weight:500;color:var(--text-muted)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem;resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.form-error{font-size:.82rem;color:var(--error-text)}.form-hint{font-size:.78rem;color:var(--text-muted);margin:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}@media(max-width:900px){.alerts-layout,.alerts-filter-row{grid-template-columns:1fr}}.reports-page{gap:1.25rem}.reports-section-content,.reports-section{display:flex;flex-direction:column;gap:1rem;min-height:0;flex:1}.content.history-page{min-height:0}.content.history-page:has(.history-replay-page){overflow:hidden;flex:1;min-height:0;gap:.75rem;padding-top:.85rem;padding-bottom:.85rem}.reports-section-content:has(.history-replay-page){flex:1;min-height:0;overflow:hidden;gap:.65rem}.history-section-nav{display:inline-flex;flex-wrap:wrap;gap:.2rem;flex-shrink:0;width:fit-content;padding:.2rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover)}.history-section-nav .live-track-section-nav-item{border:none;background:transparent;padding:.38rem .8rem}.history-section-nav .live-track-section-nav-item.active{background:var(--bg-card);box-shadow:0 1px 2px color-mix(in srgb,#000 8%,transparent)}.history-replay-page{display:flex;flex-direction:column;gap:.55rem;flex:1;min-height:0;overflow:hidden}.history-replay-filters{flex-shrink:0;padding:.65rem .8rem}.history-replay-workspace{display:flex;flex-direction:column;gap:.65rem;flex:1;min-height:0;overflow:hidden}.history-page-body{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:.75rem;flex:1;min-height:0;overflow:hidden}.history-page-main{display:flex;flex-direction:column;gap:.65rem;min-width:0;min-height:0;overflow:hidden;flex:1}.history-page-main .history-replay-workspace,.history-page-main .trips-history-map-layout,.history-page-main .history-map-with-usage,.history-page-main .track-history-map.live-map-container{flex:1;min-height:0}.history-page-main .trips-history-list{max-height:none;height:100%}.history-page-main .track-history-map.live-map-container{display:flex;flex-direction:column}.history-page-main .track-history-map .track-history-map-canvas,.history-page-main .track-history-map .live-map{flex:1;height:100%;min-height:0}.history-page-main .track-history-map .leaflet-container{height:100%!important}.history-vehicle-sidebar.track-together-sidebar{height:100%;max-height:100%}.history-vehicle-sidebar .track-together-vehicle-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.track-together-vehicle-item.primary{box-shadow:inset 3px 0 0 var(--accent)}.together-chip.is-primary{background:var(--accent-soft)}.history-replay-toolbar{display:flex;flex-direction:column;gap:.5rem}.history-replay-toolbar-main{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(196px,232px) minmax(196px,232px) auto;gap:.5rem .7rem;align-items:end}.history-replay-toolbar .live-filter-field>span{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.history-replay-toolbar .live-filter-field{min-width:0}.history-replay-toolbar-secondary{display:flex;align-items:center;justify-content:space-between;gap:.65rem 1rem;flex-wrap:wrap}.history-replay-filter-vehicles{min-width:0}.history-vehicle-multi-field{display:flex;flex-direction:column;gap:.3rem}.history-replay-toolbar .history-vehicle-multi-field .track-together-selected-chips{gap:.25rem}.history-vehicle-multi-field .together-chip{cursor:pointer}.history-replay-filter-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.history-dataset-preview{flex:1;min-height:0;display:flex;flex-direction:column}.history-dataset-preview .report-preview-panel{flex:1;min-height:0}.history-dataset-kind{display:inline-flex;gap:.3rem}.history-dataset-kind .btn-secondary.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.history-replay-filter-actions .btn-primary,.history-replay-filter-actions .btn-secondary{white-space:nowrap}.history-replay-follow-toggle{margin:0;font-size:.8rem;white-space:nowrap}.history-replay-empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:1.25rem;text-align:center;color:var(--text-muted)}@media(max-width:1100px){.history-replay-toolbar-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.history-replay-filter-vehicles,.history-replay-filter-actions{grid-column:1 / -1}}@media(max-width:720px){.history-replay-toolbar-main{grid-template-columns:minmax(0,1fr)}.history-replay-follow-toggle{width:100%}.history-replay-filter-actions{flex-wrap:wrap}}.history-replay-map-toolbar{flex-wrap:wrap;gap:.65rem 1rem;flex-shrink:0}.history-replay-map-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;min-width:0}.history-replay-map-meta strong{font-size:.92rem;color:var(--text);white-space:nowrap}.history-replay-map-meta-time{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.history-replay-map-toolbar-right{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-left:auto}.history-replay-map-stage{position:relative;flex:1;min-height:0}.history-replay-map.live-map-container{flex:1;min-height:0;display:flex;flex-direction:column}.history-replay-map .history-replay-map-canvas,.history-replay-map .live-map{height:100%;min-height:0}.history-replay-map .leaflet-container{height:100%!important}.history-replay-dashboard{padding:.65rem 1rem .75rem;flex-shrink:0}.history-replay-dashboard-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.history-replay-dashboard-header strong{display:block;font-size:.95rem;color:var(--text)}.history-replay-dashboard-header span{display:block;font-size:.78rem;color:var(--text-muted)}.replay-ignition-badge{padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;background:#ef44441f;color:var(--danger)}.replay-ignition-badge.on{background:#22c55e1f;color:var(--success)}.history-replay-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.65rem}.replay-gauge{display:flex;flex-direction:column;align-items:center;gap:.15rem}.replay-gauge-svg{width:100%;max-width:110px;height:auto}.replay-gauge-readout{display:flex;flex-direction:column;align-items:center;gap:.1rem;color:var(--text)}.replay-gauge-readout strong{font-size:.82rem;line-height:1.1}.replay-gauge-readout span{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.replay-digital-readout{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:88px;padding:.5rem;border-radius:10px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text)}.replay-digital-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.replay-digital-value{font-size:1.15rem;font-variant-numeric:tabular-nums}.replay-compass{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;color:var(--text)}.replay-compass-ring{position:relative;width:64px;height:64px;border-radius:50%;border:2px solid var(--border);background:var(--bg-hover)}.replay-compass-ring span{position:absolute;font-size:.62rem;color:var(--text-muted)}.replay-compass-ring span:nth-child(1){top:4px;left:50%;transform:translate(-50%)}.replay-compass-ring span:nth-child(2){top:50%;right:4px;transform:translateY(-50%)}.replay-compass-ring span:nth-child(3){bottom:4px;left:50%;transform:translate(-50%)}.replay-compass-ring span:nth-child(4){top:50%;left:4px;transform:translateY(-50%)}.replay-compass-needle{position:absolute;top:18px;width:3px;height:28px;border-radius:999px;background:#ef4444;transform-origin:bottom center;transform:rotate(var(--compass-heading, 0deg));box-shadow:0 0 8px #ef444473}.replay-compass strong{margin-top:.25rem;font-size:.78rem}.history-replay-controls{padding:.85rem 1rem;flex-shrink:0}.history-replay-controls-top{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:.75rem}.history-replay-play-btn{min-width:110px}.history-replay-speed-group{display:flex;flex-wrap:wrap;gap:.35rem}.history-replay-time-readout{display:inline-flex;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.history-replay-time-sep{opacity:.6}.history-replay-point-count{margin-left:auto;font-size:.82rem;color:var(--text-muted)}.history-replay-scrubber-wrap{position:relative;display:block;height:1.75rem}.history-replay-timeline-block{display:flex;flex-direction:column;gap:.75rem}.history-replay-timeline-row{display:flex;flex-direction:column;gap:.3rem}.history-replay-timeline-meta{display:flex;align-items:center;gap:.45rem;min-width:0}.history-replay-timeline-meta strong{font-size:.82rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-replay-timeline-meta .history-replay-time-readout{margin-left:auto;font-size:.75rem}.history-replay-timeline-vehicle-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.history-replay-scrubber-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);display:flex;height:10px;border-radius:999px;overflow:hidden;pointer-events:none;box-shadow:inset 0 0 0 1px #ffffff14}.history-replay-scrubber-segment{min-width:0;height:100%}.history-replay-scrubber{width:100%;height:1.75rem;margin:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;position:relative;z-index:1}.history-replay-scrubber:disabled{cursor:not-allowed;opacity:.55}.history-replay-scrubber::-webkit-slider-runnable-track{height:10px;background:transparent;border-radius:999px}.history-replay-scrubber::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px #00000059;margin-top:-3px}.history-replay-scrubber::-moz-range-track{height:10px;background:transparent;border:none;border-radius:999px}.history-replay-scrubber::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px #00000059}.history-replay-timeline-legend{display:flex;flex-wrap:wrap;gap:.35rem .85rem;font-size:.78rem;color:var(--text-muted)}.history-replay-timeline-legend-item{display:inline-flex;align-items:center;gap:.35rem}.history-replay-timeline-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.track-history-map-page{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.track-history-map-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem 1.5rem;padding:.85rem 1rem}.track-history-map-meta strong{display:block;font-size:1rem}.track-history-map-meta span{color:var(--text-muted);font-size:.85rem}.track-history-map-meta-stats{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem;color:var(--text-muted)}.history-map-with-usage{display:grid;grid-template-columns:minmax(0,1fr) minmax(248px,300px);grid-template-areas:"map usage";gap:.65rem;flex:1;min-height:0}.history-map-with-usage>.live-map-container,.history-map-with-usage>.history-replay-map,.history-map-with-usage>.track-history-map{grid-area:map;min-width:0;min-height:0;height:100%}.history-map-with-usage>.history-usage-panel{grid-area:usage;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:auto}.history-map-with-usage .history-usage-grid{grid-template-columns:1fr;flex:1;align-content:start}.history-map-with-usage .history-usage-header{flex-direction:column;align-items:flex-start}.history-page-main .history-map-with-usage .track-history-map .track-history-map-canvas,.history-page-main .history-map-with-usage .track-history-map .live-map,.history-page-main .history-map-with-usage .history-replay-map .history-replay-map-canvas,.history-page-main .history-map-with-usage .history-replay-map .live-map{height:100%;min-height:0}.history-usage-panel{flex-shrink:0;padding:.7rem .85rem .8rem}.history-usage-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.45rem 1rem;margin-bottom:.55rem}.history-usage-header strong{display:block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.history-usage-vehicle{display:block;margin-top:.12rem;font-size:.92rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--text)}.history-usage-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem;font-size:.78rem;color:var(--text-muted)}.history-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.history-usage-card{display:flex;align-items:flex-start;gap:.7rem;min-width:0;padding:.75rem .8rem .8rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);background:linear-gradient(180deg,var(--bg-hover) 0%,var(--bg-panel) 100%);box-shadow:0 8px 20px color-mix(in srgb,var(--text) 4%,transparent)}.history-usage-card-icon{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex-shrink:0;border-radius:11px}.history-usage-card-icon svg{width:1.2rem;height:1.2rem}.history-usage-card-body{min-width:0;display:flex;flex-direction:column;gap:.08rem}.history-usage-card-label{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.history-usage-card-value{font-size:1.28rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text)}.history-usage-card-hint{font-size:.72rem;color:var(--text-muted)}.history-usage-fuel-track{position:relative;height:5px;margin-top:.4rem;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.history-usage-fuel-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#34d399,#059669)}.history-usage-card.tone-distance .history-usage-card-icon{color:#0f766e;background:color-mix(in srgb,#14b8a6 16%,var(--bg-panel))}.history-usage-card.tone-hours .history-usage-card-icon{color:#b45309;background:color-mix(in srgb,#f59e0b 18%,var(--bg-panel))}.history-usage-card.tone-fuel .history-usage-card-icon{color:#047857;background:color-mix(in srgb,#10b981 16%,var(--bg-panel))}.history-usage-card.tone-distance{border-color:color-mix(in srgb,#14b8a6 22%,var(--border))}.history-usage-card.tone-hours{border-color:color-mix(in srgb,#f59e0b 24%,var(--border))}.history-usage-card.tone-fuel{border-color:color-mix(in srgb,#10b981 22%,var(--border))}.history-usage-card.tone-expense .history-usage-card-icon{color:#6d28d9;background:color-mix(in srgb,#8b5cf6 16%,var(--bg-panel))}.history-usage-card.tone-expense{border-color:color-mix(in srgb,#8b5cf6 22%,var(--border))}@media(max-width:860px){.history-usage-grid{grid-template-columns:1fr}}.track-history-map .track-history-map-canvas,.track-history-map .live-map{min-height:420px;height:min(62vh,640px)}.track-history-map-toolbar{flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem}.track-history-map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .85rem;flex:1;min-width:220px}.track-history-legend-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-right:.25rem}.track-history-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-secondary)}.track-history-legend-line{display:inline-block;width:22px;height:4px;border-radius:2px}.track-history-legend-icon{font-style:normal;font-size:.9rem;line-height:1}.track-history-event-wrap,.track-history-endpoint-wrap{background:transparent!important;border:none!important}.track-history-event{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--surface-elevated);border:2px solid var(--border);box-shadow:0 2px 8px #00000040;font-size:14px;line-height:1}.track-history-event.track-event-overspeed{border-color:#ef4444;background:#ef444426}.track-history-event.track-event-ignition-on{border-color:#22c55e}.track-history-event.track-event-ignition-off{border-color:#64748b}.track-history-endpoint{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.85rem;color:#fff;box-shadow:0 2px 10px #00000059;border:2px solid #fff}.track-history-endpoint.is-start{background:#22c55e}.track-history-endpoint.is-end{background:#ef4444}.track-history-event-stack,.track-history-endpoint-stack{display:flex;align-items:center;gap:.28rem;pointer-events:auto}.track-history-event-reg{max-width:7.5rem;padding:.14rem .4rem;border-radius:999px;background:#0f172ae6;color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 1px 6px #00000059;border:1px solid rgba(255,255,255,.28)}.track-history-event[style*=--event-color]{box-shadow:0 0 0 2px var(--event-color),0 2px 8px #00000040}.track-history-legend-endpoint{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;color:#fff;font-size:.62rem;font-weight:800;font-style:normal;border:1px solid #fff}.track-history-legend-endpoint.is-start{background:#16a34a}.track-history-legend-endpoint.is-end{background:#dc2626}.trips-history-map-page{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.trips-history-back-row{margin-bottom:-.25rem}.trips-history-back-link{display:inline-flex;align-items:center;font-size:.88rem;font-weight:500}.vehicle-dashboard-trip-link{display:block;text-decoration:none;color:inherit;transition:background .15s ease}.vehicle-dashboard-trip-link:hover{background:var(--bg-hover)}.vehicle-dashboard-trip-link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.trips-history-map-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:1rem;min-height:0;align-items:stretch}.trips-history-list{display:flex;flex-direction:column;min-height:0;max-height:min(68vh,680px);overflow:hidden}.trips-history-list-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.trips-history-list-header span{font-size:.8rem;color:var(--text-muted)}.trips-history-list-body{overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.45rem}.trips-history-item{width:100%;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--surface);padding:.65rem .75rem;cursor:pointer;transition:border-color .15s,background .15s}.trips-history-item:hover{border-color:var(--accent);background:var(--surface-elevated)}.trips-history-item.active{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:var(--accent-soft);color:var(--accent-selected-text, var(--accent));box-shadow:none}.trips-history-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.trips-history-item-time{font-size:.72rem;color:var(--text-muted);white-space:nowrap}.trips-history-item-route{display:flex;flex-direction:column;gap:.22rem;font-size:.82rem;font-weight:600;line-height:1.3}.trips-history-leg{display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.4rem;align-items:baseline}.trips-history-leg-label{font-size:.64rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.trips-history-leg-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trips-history-item-meta{margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.trips-history-map-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%}.trips-history-map-stage .track-history-map.live-map-container,.trips-history-map-stage .history-replay-empty,.trips-history-map-stage .fleet-page-loader-stage,.history-page-main .trips-history-map-stage .track-history-map .track-history-map-canvas,.history-page-main .trips-history-map-stage .track-history-map .live-map,.history-page-main .trips-history-map-stage .track-history-map .leaflet-container{flex:1;min-height:360px;height:100%}.trips-history-map-loading{position:absolute;top:.75rem;left:50%;transform:translate(-50%);z-index:500;padding:.35rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--surface-elevated) 88%,transparent);border:1px solid var(--border);font-size:.8rem;color:var(--text-secondary);pointer-events:none}@media(max-width:960px){.trips-history-map-layout{grid-template-columns:1fr}.trips-history-list{max-height:240px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reports-smtp-banner{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.5rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;font-size:.85rem}.reports-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.reports-generate-stack,.reports-history-stack{display:flex;flex-direction:column;gap:1.25rem}.reports-generate-layout{display:grid;grid-template-columns:300px 1fr;gap:1.25rem;align-items:start}.report-preview-panel{width:100%;display:flex;flex-direction:column;min-height:min(72vh,760px)}.report-preview-panel-header{align-items:flex-start}.report-preview-panel-header h2{margin:0;font-size:1.05rem;font-weight:700}.report-preview-subtitle{margin:.2rem 0 0;font-size:.8rem;color:var(--text-muted)}.report-type-list{display:flex;flex-direction:column}.report-type-item{display:flex;flex-direction:column;gap:.25rem;width:100%;padding:.85rem 1rem;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .15s}.report-type-item:hover{background:var(--bg-hover)}.report-type-item.selected{background:var(--accent-soft)}.report-type-item strong{font-size:.9rem}.report-type-item span{font-size:.78rem;color:var(--text-muted);line-height:1.4}.reports-main-col{display:flex;flex-direction:column;gap:1.25rem}.report-filters-body{padding:1rem}.report-filters-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.report-filters-empty{padding:1.5rem;color:var(--text-muted);font-size:.9rem}.report-date-range{grid-column:1 / -1;display:flex;flex-direction:column;gap:.65rem}.report-date-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.date-range-presets{display:flex;flex-direction:column;gap:.4rem}.date-range-presets-label{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.date-range-preset-chips{display:flex;flex-wrap:wrap;gap:.35rem}.comm-log-recent{display:flex;align-items:center;gap:.6rem;margin-top:.75rem}.comm-log-recent>span{flex:0 0 auto;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.comm-log-recent .date-range-preset-chips{flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;margin:0}.comm-log-packet-modal{display:flex;flex-direction:column;width:min(980px,calc(100vw - 2rem));max-width:980px;max-height:min(90vh,920px);overflow:hidden}.comm-log-packet-freeze{flex:none;background:var(--bg-card);border-bottom:1px solid var(--border)}.comm-log-packet-modal .modal-header h3{margin:0;font-size:1.05rem;font-weight:700}.comm-log-packet-nav{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.comm-log-packet-meta{display:grid;gap:.65rem;padding:.85rem 1.25rem 1rem}.comm-log-packet-meta p{margin:0}.comm-log-packet-highlight-note{margin:.25rem 0 0}.comm-log-packet-meta pre{max-height:7.5rem;margin:.35rem 0 0;overflow:auto;white-space:pre-wrap;word-break:break-all;line-height:1.7}.comm-log-packet-scroll{flex:1;min-height:0;overflow:auto;padding:.75rem 1rem 1rem}.comm-log-packet-scroll thead th{position:sticky;top:0;z-index:1;background:var(--bg-card)}.date-range-preset-chips button{border:1px solid var(--border);background:var(--bg-hover);color:var(--text);border-radius:999px;padding:.28rem .7rem;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer;line-height:1.3}.date-range-preset-chips button:hover{border-color:var(--accent);color:var(--accent)}.date-range-preset-chips button.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.date-range-preset-chips button:disabled{opacity:.65;cursor:wait}.history-replay-date-presets{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex:1;min-width:0}.history-replay-date-presets .date-range-presets-label{flex-shrink:0}.history-replay-date-presets .date-range-preset-chips{flex:1}.report-sensor-toggles{grid-column:1 / -1;display:flex;flex-direction:column;gap:.5rem}.report-output-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.report-format-toggle{display:flex;flex-direction:column;gap:.5rem}.report-action-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.generate-msg{font-size:.85rem;color:var(--success);padding:.5rem .75rem;background:#22c55e1a;border-radius:6px}.generate-msg.error{color:var(--alert-critical-text);background:#ef44441a}.schedule-hint{font-size:.78rem;color:var(--text-muted);line-height:1.45}.report-history-table-wrap{overflow-x:auto}.report-history-table{width:100%;border-collapse:collapse;font-size:.85rem}.report-history-table th,.report-history-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.report-history-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;background:var(--bg-hover)}.report-file-name{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.15rem}.format-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.03em}.format-badge.xlsx{background:#22c55e26;color:var(--success)}.format-badge.pdf{background:#ef444426;color:var(--alert-critical-text)}.report-row-actions{display:flex;flex-wrap:wrap;gap:.5rem}.email-status{display:block;margin-top:.35rem;font-size:.75rem;color:var(--success)}.email-status.error{color:var(--alert-critical-text)}.report-history-empty .empty-state{padding:2.5rem 1.5rem}@media(max-width:900px){.reports-generate-layout,.report-filters-grid,.report-date-range-fields{grid-template-columns:1fr}}.report-preview-modal{max-width:min(1100px,96vw);max-height:92vh;display:flex;flex-direction:column}.report-preview-toolbar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.report-preview-search{flex:1;min-width:180px;height:2.25rem;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem}.report-preview-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.report-preview-actions{display:flex;gap:.5rem;flex-shrink:0}.report-preview-body{flex:1;min-height:360px;overflow:hidden;display:flex;flex-direction:column}.report-preview-status{padding:2rem 1.25rem;text-align:center;color:var(--text-muted);font-size:.9rem}.report-preview-status.error{color:var(--alert-critical-text)}.report-preview-table-wrap{flex:1;overflow:auto;padding:0 1.25rem}.report-preview-table{width:100%;border-collapse:collapse;font-size:.82rem}.report-preview-table th,.report-preview-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.report-preview-table th{position:sticky;top:0;z-index:2;background:var(--bg-panel);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;vertical-align:top}.report-preview-sort{display:inline-flex;align-items:center;gap:.4rem;width:100%;min-height:2rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;text-transform:uppercase;letter-spacing:.04em;text-align:left;cursor:pointer}.report-preview-sort:hover,.report-preview-sort.active{color:var(--text)}.report-preview-sort-icon{color:var(--text-muted);font-size:.7rem}.report-preview-sort.active .report-preview-sort-icon{color:var(--accent)}.report-preview-filter-row th{top:2.5rem;z-index:1;padding-top:.2rem;text-transform:none;font-weight:400;letter-spacing:0}.report-preview-col-filter{display:flex;flex-direction:column;gap:.3rem;min-width:120px}.report-preview-col-filter-input,.report-preview-col-filter-select{width:100%;height:1.85rem;padding:0 .45rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.75rem}.report-preview-col-filter-input:focus,.report-preview-col-filter-select:focus{outline:none;border-color:var(--accent)}.report-preview-table tbody tr:hover{background:var(--bg-hover)}.report-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-muted);flex-wrap:wrap}.report-preview-pagination{display:flex;align-items:center;gap:.75rem}.settings-page{gap:1.25rem}.settings-layout{display:grid;grid-template-columns:240px 1fr;gap:1.25rem;align-items:start}.settings-subnav-list{padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.settings-subnav-item{display:flex;align-items:center;gap:.6rem;padding:.65rem .75rem;border-radius:8px;color:var(--text-muted);font-size:.88rem;text-decoration:none;transition:background .15s,color .15s}.settings-subnav-item:hover{background:var(--bg-hover);color:var(--text)}.settings-subnav-item.active{background:var(--accent-soft);color:var(--accent-selected-text, var(--accent));font-weight:600;box-shadow:none}.settings-content{min-width:0}.settings-section-page,.fence-management-page{display:flex;flex-direction:column;gap:1.25rem}.settings-section-header h2{font-size:1.15rem;font-weight:600;margin-bottom:.25rem}.settings-section-header p{font-size:.88rem;color:var(--text-muted)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.settings-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.settings-field-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.settings-prose{font-size:.85rem;color:var(--text-muted);line-height:1.55}.settings-prose p{margin:0 0 .65rem}.settings-prose ul{margin:0;padding-left:1.15rem}.settings-prose li+li{margin-top:.35rem}.settings-field{display:flex;flex-direction:column;gap:.375rem}.settings-field label{font-size:.78rem;font-weight:500;color:var(--text-muted)}.settings-field input,.settings-field select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.875rem}.settings-checkbox-row{display:flex;align-items:center;gap:.6rem;font-size:.88rem;cursor:pointer}.settings-checkbox-row input{accent-color:var(--accent)}.settings-checkbox-row small{display:block;font-size:.75rem;color:var(--text-muted)}.settings-actions{display:flex;gap:.75rem;flex-wrap:wrap}.settings-message{font-size:.85rem;color:var(--success);padding:.5rem .75rem;background:#22c55e1a;border-radius:6px}.detail-toolbar{display:flex;gap:.75rem;flex-wrap:wrap}.vehicle-dashboard-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:.75rem;align-items:start;width:100%;min-width:0;flex:1}.vehicle-dashboard-layout .history-vehicle-sidebar.track-together-sidebar{position:sticky;top:.75rem;height:calc(100vh - 12.5rem);max-height:calc(100vh - 12.5rem)}.vehicle-dashboard-pane,.vehicle-dashboard-main{min-width:0;width:100%}.vehicle-dashboard-pane .fleet-page-loader-stage{min-height:420px;width:100%}.vehicle-detail-page{flex:1;min-width:0;width:100%;--vd-page-bg: #eef1f6;--vd-card-bg: #ffffff;--vd-card-header-bg: #ffffff;--vd-card-header-text: #0f172a;--vd-card-border: #d8dee6;--vd-card-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px rgba(15, 23, 42, .06);--vd-surface-muted: #f4f6f9;--vd-surface-inset: #eef2f6;--vd-text: #0f172a;--vd-text-muted: #64748b;--vd-accent: #334155;gap:1rem;padding:1rem;border-radius:14px;background:var(--vd-page-bg)}.vehicle-dashboard{display:flex;flex-direction:column;gap:1rem;padding:0}.vd-dash-hero{border-radius:12px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow);padding:1rem 1.1rem 1.05rem;overflow:hidden}.vd-dash-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--vd-card-border)}.vd-dash-hero-identity{min-width:0}.vd-dash-hero-eyebrow{display:block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-dash-hero-plate{margin:.15rem 0 0;font-size:clamp(1.35rem,2.4vw,1.65rem);font-weight:700;letter-spacing:.04em;color:var(--vd-text);text-transform:uppercase}.vd-dash-hero-unit{display:block;margin-top:.15rem;font-size:.72rem;font-weight:600;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--vd-text-muted)}.vd-dash-hero-actions{display:flex;flex-wrap:wrap;gap:.45rem}.vd-dash-hero-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px) minmax(0,1fr);grid-template-rows:repeat(4,minmax(2.9rem,auto));gap:.45rem 1rem;align-items:stretch;padding:.75rem 20rem;border-radius:10px;background:#fff;overflow:hidden;isolation:isolate}.vd-dash-hero-body:before,.vd-dash-hero-body:after{content:"";position:absolute;top:0;bottom:0;width:20rem;pointer-events:none;z-index:0}.vd-dash-hero-body:before{left:0;background:linear-gradient(90deg,#9e3a3a 0%,#b85555 28%,rgba(214,96,96,.42) 64%,transparent 100%)}.vd-dash-hero-body:after{right:0;background:linear-gradient(270deg,#9e3a3a 0%,#b85555 28%,rgba(214,96,96,.42) 64%,transparent 100%)}.vd-dash-hero-body>*{position:relative;z-index:1}.vd-dash-gauge-cell{grid-column:2;grid-row:1 / span 4;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.vd-dash-gauge-plate{flex-shrink:0;max-width:100%;margin:0 0 .3rem;padding:.32rem .75rem;border-radius:6px;border:2px solid #000000;background:#000;box-shadow:0 2px 10px #00000038;font-size:clamp(1rem,2vw,1.35rem);font-weight:800;line-height:1.1;letter-spacing:.07em;text-align:center;text-transform:uppercase;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-dash-hero-col{display:flex;flex-direction:column;gap:.45rem;min-width:0}.vd-dash-hero-col.side-left{align-items:flex-end}.vd-dash-hero-col.side-right{align-items:flex-start}.vd-dash-stat{display:flex;align-items:center;gap:.45rem;min-width:0;max-width:100%;padding:0;background:transparent;border:none;height:100%}.vd-dash-stat.side-left{flex-direction:row;justify-content:flex-end;grid-column:1}.vd-dash-stat.side-right{flex-direction:row;justify-content:flex-start;grid-column:3}.vd-dash-stat-row-1{grid-row:1}.vd-dash-stat-row-2{grid-row:2}.vd-dash-stat-row-3{grid-row:3}.vd-dash-stat-row-4{grid-row:4}.vd-dash-stat-accent{width:12px;height:1.65rem;border-radius:3px;flex-shrink:0;background:var(--vd-accent)}.vd-dash-stat.tone-critical .vd-dash-stat-accent{background:#dc2626}.vd-dash-stat.tone-warning .vd-dash-stat-accent{background:#f59e0b}.vd-dash-stat.tone-info .vd-dash-stat-accent{background:#2563eb}.vd-dash-stat.tone-success .vd-dash-stat-accent{background:#16a34a}.vd-dash-stat-copy{min-width:0;min-height:2.9rem;display:flex;flex-direction:column;justify-content:space-between;gap:.08rem}.vd-dash-stat.side-left .vd-dash-stat-copy{align-items:flex-end;text-align:right}.vd-dash-stat.side-right .vd-dash-stat-copy{align-items:flex-start;text-align:left}.vd-dash-stat-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted);line-height:1.2;min-height:.85rem}.vd-dash-stat-value{font-size:1rem;font-weight:700;line-height:1.2;color:var(--vd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:1rem}.vd-dash-stat-detail{font-size:.68rem;line-height:1.25;color:var(--vd-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;min-height:.85rem}.vd-dash-gauge{position:relative;width:min(100%,280px);margin:0 auto;padding:.25rem 0 .15rem}.vd-dash-gauge-face{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.vd-dash-gauge-dial{position:relative;width:min(100%,280px);margin-inline:auto}.vd-dash-gauge-svg{width:100%;height:auto;display:block;position:relative;z-index:1;filter:drop-shadow(0 10px 18px rgba(15,23,42,.08))}.vd-dash-gauge-ring{fill:#fff;stroke:#1e293b;stroke-width:3}.vd-dash-gauge-needle{stroke:#1e293b;stroke-width:3.5;stroke-linecap:round}.vd-dash-gauge-hub-outer{fill:#fff;stroke:#1e293b;stroke-width:2}.vd-dash-gauge-hub-inner{fill:#2563eb}.vd-dash-gauge-center{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;z-index:2}.vd-dash-gauge-title{display:block;font-size:.58rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-dash-gauge-speed{display:block;font-size:1.65rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-dash-gauge-unit{position:absolute;left:50%;top:68%;transform:translate(-50%);margin:0;font-size:.68rem;font-weight:600;color:var(--vd-text-muted);text-align:center;pointer-events:none;z-index:2}.vd-dash-odometer-window{position:absolute;left:50%;bottom:0;transform:translate(-50%);z-index:2;width:min(58%,120px);margin:0;padding:.18rem .32rem .14rem;border-radius:5px;background:linear-gradient(180deg,#f8fafc,#e2e8f0);border:2px solid #1e293b;text-align:center;clip-path:polygon(5% 0%,95% 0%,100% 100%,0% 100%);box-shadow:0 2px 8px #0f172a1f;pointer-events:none}.vd-dash-odometer-label{display:block;font-size:.48rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted);line-height:1.1}.vd-dash-odometer-digits{display:flex;justify-content:center;gap:.08rem;margin-top:.08rem}.vd-dash-odometer-digit{min-width:.82rem;padding:.05rem .08rem;border-radius:2px;background:#0f172a;color:#f8fafc;font-size:.78rem;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.15}.vd-dash-odometer-unit{display:block;margin-top:.06rem;font-size:.52rem;font-weight:600;color:var(--vd-text-muted);line-height:1.1}.vd-dash-gauge-scale{display:flex;justify-content:space-between;width:min(100%,280px);margin-inline:auto;padding:0 1.4rem;margin-top:.05rem;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-dash-hero-footnote{margin:.75rem 0 0;padding-top:.65rem;border-top:1px solid var(--vd-card-border);font-size:.74rem;color:var(--vd-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-dash-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--vd-card-border)}.vd-dash-hero-meta-item{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.65rem .75rem;border-radius:8px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow)}.vd-dash-hero-meta-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-dash-hero-meta-value{font-size:.88rem;font-weight:700;color:var(--vd-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-dash-hero-meta-detail{font-size:.72rem;color:var(--vd-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-hero{display:flex;flex-direction:column;gap:1rem;padding:0;border-radius:12px;border:1px solid var(--vd-card-border);box-shadow:var(--vd-card-shadow);background:var(--vd-card-bg);overflow:hidden}.vd-hero-identity{display:flex;align-items:center;gap:1rem;min-width:0;padding:1.15rem 1.25rem 0}.vd-hero-avatar{width:80px;height:80px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--vd-surface-muted);border-width:2px;flex-shrink:0}.vd-hero-emoji{font-size:2rem;line-height:1}.vd-hero-copy{min-width:0;display:flex;flex-direction:column;gap:.4rem}.vd-hero-eyebrow{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-hero-plate{margin:0;font-size:clamp(1.4rem,2.5vw,1.75rem);font-weight:700;letter-spacing:.04em;line-height:1.05;color:var(--vd-text);text-transform:uppercase}.vd-hero-unit-id{display:block;margin-top:.2rem;font-size:.74rem;font-weight:600;letter-spacing:.03em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;color:var(--vd-text-muted)}.vd-hero-tags{display:flex;flex-wrap:wrap;gap:.35rem}.vd-hero-tag{padding:.18rem .55rem;border-radius:6px;font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vd-accent);background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-hero-status{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;padding:.22rem .6rem .22rem .45rem;border-radius:6px;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border);color:var(--vd-text-muted)}.vd-hero-status.status-moving,.vd-hero-status.status-running{color:var(--vehicle-status-moving);border-color:color-mix(in srgb,var(--vehicle-status-moving) 35%,var(--vd-card-border))}.vd-hero-status.status-idle{color:var(--vehicle-status-idle);border-color:color-mix(in srgb,var(--vehicle-status-idle) 35%,var(--vd-card-border))}.vd-hero-status.status-parked,.vd-hero-status.status-standby{color:var(--vehicle-status-parked);border-color:color-mix(in srgb,var(--vehicle-status-parked) 35%,var(--vd-card-border))}.vd-hero-status.status-offline{color:var(--vehicle-status-offline);border-color:color-mix(in srgb,var(--vehicle-status-offline) 35%,var(--vd-card-border))}.vd-hero-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem;padding:0 1.25rem}.vd-hero-meta-item{display:flex;align-items:flex-start;gap:.55rem;min-width:0;padding:.7rem .8rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-hero-meta-icon{font-size:.9rem;line-height:1;margin-top:.1rem;opacity:.72}.vd-hero-meta-item div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.vd-hero-meta-label{font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-hero-meta-value{font-size:.82rem;font-weight:600;line-height:1.35;color:var(--vd-text);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.vd-hero-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.25rem 1.25rem 1.15rem;border-top:1px solid var(--vd-card-border);background:var(--vd-surface-muted)}.vd-hero-btn{display:inline-flex;align-items:center;justify-content:center;padding:.48rem .9rem;border-radius:8px;font-size:.78rem;font-weight:600;text-decoration:none;color:var(--vd-accent);background:var(--vd-card-bg);border:1px solid var(--vd-card-border);transition:background .15s ease,border-color .15s ease}.vd-hero-btn:hover{background:var(--vd-surface-inset);border-color:#94a3b8}.vd-hero-btn.primary{color:#fff;background:#1e293b;border-color:#1e293b}.vd-hero-btn.primary:hover{background:#334155;border-color:#334155}.vd-today-bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.vd-dash-card{position:relative;min-height:108px;padding:.55rem .7rem .5rem;border-radius:4px;border:none;box-shadow:0 1px 4px #0f172a14;display:flex;flex-direction:column;overflow:hidden}.vd-dash-card-status,.vd-dash-card-moving{background:#d9edc4}.vd-dash-card-distance,.vd-dash-card-total{background:#cce4f7}.vd-dash-card-idle{background:#f5e4a8}.vd-dash-card-parked{background:#e8edf3}.vd-dash-card-offline{background:#fde8e8}.vd-dash-card-alerts{background:#f5c9c0}.vd-dash-card.tone-critical.vd-dash-card-alerts{background:#f3b4aa}.vd-dash-card.tone-warning.vd-dash-card-idle,.vd-dash-card.tone-warning.vd-dash-card-alerts,.vd-dash-card.tone-warning.vd-dash-card-offline{filter:saturate(1.05)}.vd-dash-card-top{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-height:1.75rem}.vd-dash-card-title{font-size:.82rem;font-weight:700;line-height:1.15;color:#111827}.vd-dash-card-detail{align-self:flex-end;max-width:100%;font-size:.58rem;font-weight:600;line-height:1.25;color:#dc2626;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-dash-card-bottom{margin-top:.35rem;display:flex;align-items:flex-end;justify-content:space-between;gap:.5rem}.vd-dash-card-icon{display:flex;align-items:flex-end;justify-content:flex-start;width:2rem;height:2rem;color:#fff;flex-shrink:0}.vd-dash-card-icon svg{width:100%;height:100%;filter:drop-shadow(0 1px 1px rgba(15,23,42,.08))}.vd-dash-card-value-wrap{min-width:0;text-align:right}.vd-dash-card-value{display:block;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:700;line-height:1;color:#dc2626;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-dash-card-caption{display:block;margin-top:.1rem;font-size:.65rem;font-weight:600;line-height:1.1;color:#111827}.vd-radar{width:100%;border-radius:12px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow);overflow:hidden}.vd-radar-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;background:linear-gradient(180deg,#fff,#f8fafc);color:var(--vd-text);border-bottom:1px solid var(--vd-card-border)}.vd-radar-head.is-clear{background:linear-gradient(180deg,#f0fdf4,#fff);border-bottom-color:color-mix(in srgb,#16a34a 20%,var(--vd-card-border))}.vd-radar-eyebrow{display:block;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-radar-head.is-clear .vd-radar-eyebrow{color:#15803d}.vd-radar-title{display:block;font-size:.9rem;font-weight:600;margin-top:.12rem;color:var(--vd-text)}.vd-radar-head.is-clear .vd-radar-title{color:#166534}.vd-radar-clear-badge{width:2.1rem;height:2.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;background:linear-gradient(160deg,#4ade80,#16a34a);border:1px solid color-mix(in srgb,#16a34a 70%,white);box-shadow:inset 0 1px #ffffff59,0 2px 10px #16a34a47}.vd-radar-clear-icon{width:1.15rem;height:1.15rem;display:block}.vd-radar-pulse{width:8px;height:8px;border-radius:50%;background:#64748b;flex-shrink:0}.vd-radar-pulse[data-active=true]{background:#f59e0b;box-shadow:0 0 #f59e0b73;animation:vd-radar-ping 2s ease-out infinite}@keyframes vd-radar-ping{0%{box-shadow:0 0 #f59e0b73}70%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}.vd-radar-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem;padding:.85rem;background:#fff;width:100%}.vd-radar-chip{position:relative;display:flex;align-items:center;gap:.55rem;min-width:0;padding:.72rem .8rem;border-radius:10px;overflow:hidden;border:1px solid #86efac;background:#d9edc4;box-shadow:0 2px 8px #16a34a1f;color:#166534}.vd-radar-chip.is-clear{border-color:#86efac;background:#d9edc4;box-shadow:0 2px 8px #16a34a1f;color:#166534}.vd-radar-chip.is-hot{border-color:#b91c1c;background:#dc2626;box-shadow:0 4px 14px #991b1b52;color:#fff}.vd-radar-chip-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;flex-shrink:0;color:#15803d;background:none;border:none;border-radius:0;box-shadow:none}.vd-radar-chip.is-hot .vd-radar-chip-icon{color:#fff}.vd-radar-chip-icon svg{width:100%;height:100%}.vd-radar-chip-copy{position:relative;z-index:1;min-width:0;flex:1}.vd-radar-chip-label{display:block;font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#166534}.vd-radar-chip.is-hot .vd-radar-chip-label{color:#fff}.vd-radar-chip-detail{display:block;font-size:.72rem;font-weight:700;color:#15803d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-radar-chip.is-hot .vd-radar-chip-detail{color:#ffffffeb}.vd-radar-chip-count{position:relative;z-index:1;min-width:1.75rem;text-align:right;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:800;font-variant-numeric:tabular-nums;color:#fff;line-height:1}.vd-radar-chip-clear{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;flex-shrink:0;color:#166534}.vd-radar-chip-clear svg{width:100%;height:100%}.vd-temp-gauge{border-radius:12px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow);overflow:hidden}.vd-temp-gauge-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem 1rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vd-card-header-text);background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid var(--vd-card-border)}.vd-temp-gauge-note{font-size:.62rem;font-weight:500;color:var(--vd-text-muted);text-transform:none;letter-spacing:0}.vd-temp-gauge-body{padding:.75rem 1rem .9rem;background:var(--vd-card-bg)}.vd-temp-pie{position:relative;width:100%;max-width:220px;margin:0 auto}.vd-temp-pie-svg{width:100%;height:auto;display:block}.vd-temp-pie-needle{stroke:#0f172a;stroke-width:3;stroke-linecap:round}.vd-temp-pie-range-line{stroke:#0f172a38;stroke-width:1.5;stroke-linecap:round}.vd-temp-pie-range-dot{stroke:#fff;stroke-width:1.5}.vd-temp-pie-range-dot.low{fill:#2563eb}.vd-temp-pie-range-dot.high{fill:#dc2626}.vd-temp-pie-hub-outer{fill:#fff;stroke:#0f172a;stroke-width:2}.vd-temp-pie-hub-inner{fill:#16a34a}.vd-temp-pie-hub-inner.out-of-range{fill:#dc2626}.vd-temp-pie-center{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);text-align:center;line-height:1.05;pointer-events:none}.vd-temp-pie-center strong{display:block;font-size:1.35rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-temp-pie-center strong.out-of-range{color:var(--danger)}.vd-temp-pie-center span{display:block;margin-top:.1rem;font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-temp-readout{margin-top:.55rem;text-align:center}.vd-temp-range-label{display:block;font-size:.72rem;color:var(--vd-text-muted)}.vd-temp-scale{display:flex;justify-content:space-between;gap:.5rem;margin-top:.35rem;padding:0 .35rem;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-drive-computer{border-radius:12px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow);overflow:hidden}.vd-drive-computer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem 1rem;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vd-text);background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid var(--vd-card-border)}.vd-drive-computer-note{font-size:.62rem;font-weight:500;color:var(--vd-text-muted);text-transform:none;letter-spacing:0}.vd-drive-computer-body{padding:.85rem 1rem 1rem;display:flex;flex-direction:column;gap:.85rem}.vd-drive-odometer{padding:.65rem .75rem;border-radius:10px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-drive-odometer-label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-drive-odometer-value{display:block;margin-top:.15rem;font-size:1.45rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-drive-odometer-unit{margin-left:.25rem;font-size:.82rem;font-weight:600;color:var(--vd-text-muted)}.vd-drive-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.vd-drive-stat{min-width:0;padding:.55rem .6rem;border-radius:8px;background:#fff;border:1px solid var(--vd-card-border)}.vd-drive-stat-label{display:block;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-drive-stat-value{display:block;margin-top:.12rem;font-size:1rem;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-drive-stat-unit{margin-left:.15rem;font-size:.68rem;font-weight:600;color:var(--vd-text-muted)}.vd-drive-stat-hint{display:block;margin-top:.12rem;font-size:.64rem;line-height:1.3;color:var(--vd-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vd-drive-fuel-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-drive-fuel-head strong{font-size:.82rem;color:var(--vd-text);letter-spacing:0;text-transform:none}.vd-drive-fuel-track{height:8px;border-radius:999px;background:var(--vd-surface-inset);overflow:hidden}.vd-drive-fuel-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#0ea5e9)}.vd-drive-fuel-fill.low{background:linear-gradient(90deg,#f59e0b,#dc2626)}.vd-drive-behavior{padding-top:.75rem;border-top:1px solid var(--vd-card-border)}.vd-drive-behavior-intro{margin-bottom:.75rem}.vd-drive-behavior-eyebrow{display:block;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-drive-behavior-title{display:block;margin-top:.08rem;font-size:.86rem;font-weight:700;color:var(--vd-text)}.vd-drive-behavior-visual{display:grid;grid-template-columns:minmax(200px,280px) minmax(0,1fr);gap:.85rem;align-items:start}.vd-behavior-pie{width:100%;max-width:280px;margin:0 auto}.vd-behavior-pie-chart-wrap{position:relative;width:100%}.vd-behavior-pie-svg{width:100%;height:auto;display:block}.vd-behavior-pie-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.05;pointer-events:none;width:52%;max-width:7.5rem;padding:0 .15rem}.vd-behavior-pie-center-label{font-size:.68rem;font-weight:600;color:var(--vd-text-muted);line-height:1.2;max-width:100%;word-wrap:break-word}.vd-behavior-pie-center strong{margin-top:.18rem;font-size:1.65rem;font-weight:800;color:var(--vd-text);font-variant-numeric:tabular-nums;line-height:1}.vd-behavior-pie-center-rating{margin-top:.14rem;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-behavior-pie-legend{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem .85rem}.vd-behavior-pie-legend-item{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;font-size:.72rem;color:var(--vd-text-muted)}.vd-behavior-pie-legend-dot{width:.58rem;height:.58rem;border-radius:999px;flex-shrink:0}.vd-behavior-pie-legend-label{font-weight:600;color:var(--vd-text)}.vd-behavior-pie-legend-value{font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--vd-text-muted)}.vd-behavior-pie.is-loading .vd-behavior-pie-center strong,.vd-behavior-pie.is-loading .vd-behavior-pie-center-label,.vd-behavior-pie.is-loading .vd-behavior-pie-center-rating{opacity:.55}.vd-drive-behavior-side{min-width:0}.vd-drive-behavior-tags{display:flex;flex-direction:column;gap:.45rem}.vd-drive-behavior-tag{display:inline-flex;align-items:center;gap:.35rem;width:fit-content;max-width:100%;padding:.38rem .58rem;border-radius:6px;font-size:.68rem;font-weight:600;color:var(--vd-text);background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-drive-behavior-tag strong{margin-left:auto;font-size:.72rem;font-weight:800;color:#2563eb}.vd-drive-behavior-empty{margin:0;font-size:.74rem;line-height:1.45;color:var(--vd-text-muted)}.vd-drive-behavior-foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:.65rem;font-size:.68rem;color:var(--vd-text-muted)}.vd-drive-behavior-foot .btn-link{font-size:.72rem;font-weight:600}.vehicle-dashboard-work{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:1rem;align-items:stretch}.vehicle-dashboard-work .map-panel{height:100%;min-height:420px;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;border:1px solid var(--vd-card-border);box-shadow:var(--vd-card-shadow)}.vehicle-dashboard-work .map-panel .overview-map-wrap{flex:1;min-height:0}.vehicle-dashboard-work .map-panel .overview-map{flex:1;min-height:0;height:100%}.vehicle-dashboard-work-side{display:flex;flex-direction:column;gap:1rem;min-width:0}.vehicle-dashboard-work-side .vd-drive-computer{flex:1}[data-theme=light] .vehicle-console-compass-ring{border-color:var(--console-border-soft);background:radial-gradient(circle at 50% 50%,var(--bg-panel),var(--console-bg-mid));box-shadow:inset 0 0 12px var(--console-btn-hover-glow)}[data-theme=light] .vehicle-console-compass-ring span{color:var(--text-muted)}[data-theme=light] .vehicle-console-compass-ring span:nth-child(1){color:var(--accent)}[data-theme=light] .vehicle-console-compass-hub{background:var(--text);box-shadow:0 0 6px var(--shadow-md)}.vehicle-dashboard-hero{display:none}.vehicle-dashboard-hero-main{display:flex;align-items:flex-start;gap:1rem}.vehicle-dashboard-avatar{width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;line-height:1;border:2px solid var(--border);flex-shrink:0}.vehicle-dashboard-identity{min-width:0;flex:1}.vehicle-dashboard-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .75rem;margin-bottom:.25rem}.vehicle-dashboard-registration{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:.01em;line-height:1.2}.vehicle-dashboard-subtitle,.vehicle-dashboard-meta-line,.vehicle-dashboard-updated{margin:0;font-size:.84rem;color:var(--text-muted);line-height:1.45}.vehicle-dashboard-meta-line strong{color:var(--text);font-weight:600}.vehicle-dashboard-updated{margin-top:.35rem;font-size:.78rem}.vehicle-dashboard-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:.65rem}.vehicle-dashboard-quick-stat{padding:.65rem .75rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-hover);display:flex;flex-direction:column;gap:.15rem;min-width:0}.vehicle-dashboard-quick-stat.moving,.vehicle-dashboard-quick-stat.running{border-color:color-mix(in srgb,var(--vehicle-status-moving) 35%,var(--border));background:color-mix(in srgb,var(--vehicle-status-moving) 10%,var(--bg-hover))}.vehicle-dashboard-quick-stat.idle{border-color:color-mix(in srgb,var(--vehicle-status-idle) 35%,var(--border))}.vehicle-dashboard-quick-stat.offline{border-color:color-mix(in srgb,var(--vehicle-status-offline) 35%,var(--border))}.vehicle-dashboard-quick-stat-value{font-size:1rem;font-weight:700;color:var(--text);line-height:1.2}.vehicle-dashboard-quick-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.vehicle-dashboard-actions{display:flex;flex-wrap:wrap;gap:.55rem}.vehicle-dashboard-pane .map-panel,.vehicle-dashboard-main .map-panel{min-height:420px}.vehicle-dashboard-telemetry{padding:0;display:flex;flex-direction:column;min-height:0;border-radius:12px;border:1px solid #334155;box-shadow:var(--vd-card-shadow);overflow:hidden;background:#1e293b}.vehicle-dashboard-telemetry .vehicle-console{background:transparent;border:none;border-radius:0;box-shadow:none;margin:0}.vehicle-dashboard-telemetry .vehicle-console-scanlines,.vehicle-dashboard-telemetry .vehicle-console-glow{display:none}.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console{--console-bg-from: #243044;--console-bg-mid: #1e293b;--console-bg-to: #172033;--console-glow-a: rgba(148, 163, 184, .08);--console-glow-b: rgba(148, 163, 184, .04);--console-border: #334155;--console-border-soft: #3d4f66;--console-inset: rgba(255, 255, 255, .06);--console-surface: rgba(255, 255, 255, .04);--console-surface-soft: rgba(255, 255, 255, .03);--console-tile-bg: rgba(255, 255, 255, .05);--console-tile-border: #3d4f66;--console-badge: #94a3b8;--console-text-glow: transparent;--console-scanline: rgba(255, 255, 255, .03);color:#e2e8f0}.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-badge,.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-metric-label,.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-odometer-label{color:#94a3b8}.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-odometer-num,.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-metric-value,.vehicle-detail-page .vehicle-dashboard-telemetry .vehicle-console-metric-value strong{color:#f1f5f9}.vehicle-telemetry-panel{display:flex;flex-direction:column;height:100%;min-height:0;padding:0;overflow:hidden}.vehicle-telemetry-odometer-block{flex-shrink:0;padding:0;border-bottom:none}.vehicle-console{position:relative;flex-shrink:0;margin:.65rem .65rem 0;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse 120% 80% at 50% -20%,var(--console-glow-a),transparent 55%),linear-gradient(165deg,var(--console-bg-from) 0%,var(--console-bg-mid) 45%,var(--console-bg-to) 100%);border:1px solid var(--console-border);box-shadow:inset 0 1px 0 var(--console-inset),0 8px 28px var(--shadow-lg)}.vehicle-console-scanlines{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.035;background:repeating-linear-gradient(0deg,transparent,transparent 2px,var(--console-scanline) 2px,var(--console-scanline) 3px)}.vehicle-console-glow{pointer-events:none;position:absolute;width:140px;height:140px;border-radius:50%;filter:blur(40px);opacity:.35}.vehicle-console-glow-left{top:-30px;left:-20px;background:var(--console-glow-left)}.vehicle-console-glow-right{bottom:-40px;right:-10px;background:var(--console-glow-right)}.vehicle-console-inner{position:relative;z-index:1;padding:.85rem .95rem .9rem}.vehicle-console-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem}.vehicle-console-badge{font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--console-badge)}.vehicle-console-live-dot{width:7px;height:7px;border-radius:50%;background:var(--console-live-dot);box-shadow:0 0 10px var(--console-live-glow);animation:console-live-pulse 2.4s ease-in-out infinite}@keyframes console-live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.vehicle-console-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:.75rem;align-items:center}.vehicle-console-odometer-zone{position:relative;display:flex;align-items:center;justify-content:center;min-height:172px;padding:.35rem .5rem}.vehicle-console-odometer-ring{position:absolute;width:168px;height:168px}.vehicle-console-fuel-arc{filter:drop-shadow(0 0 6px rgba(45,212,191,.65))}.vehicle-console-odometer-readout{position:relative;z-index:1;text-align:center;padding:.4rem .75rem .25rem;max-width:62%}.vehicle-console-odometer-label{display:block;margin-bottom:.2rem;font-size:.54rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.vehicle-console-odometer-digits{display:flex;align-items:baseline;justify-content:center;gap:.18rem;margin-top:.05rem}.vehicle-console-odometer-num{font-size:clamp(.95rem,2.8vw,1.22rem);font-weight:400;line-height:1.15;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 12px var(--console-text-glow)}.vehicle-console-odometer-unit{font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--console-badge);margin-left:.05rem}.vehicle-console-metrics{display:flex;flex-direction:column;gap:0;padding:.55rem .65rem;border-radius:10px;background:var(--console-surface);border:1px solid var(--console-border-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vehicle-console-metric{display:flex;flex-direction:column;gap:.1rem;padding:.45rem 0}.vehicle-console-metric-divider{height:1px;background:linear-gradient(90deg,transparent,var(--console-border-soft) 20%,var(--console-border) 80%,transparent)}.vehicle-console-metric-label{font-size:.58rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.vehicle-console-metric-value-row{display:flex;align-items:baseline;gap:.35rem}.vehicle-console-metric-value{font-size:1.15rem;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:.02em}.vehicle-console-metric-unit{font-size:.68rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--console-badge)}.vehicle-console-metric-hint{font-size:.62rem;color:var(--text-muted);line-height:1.3}.vehicle-console-footer{margin-top:.75rem;padding-top:.65rem;border-top:1px solid var(--console-border-soft)}.vehicle-console-tank{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem}.vehicle-console-tank-label{font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}.vehicle-console-tank-track{height:6px;border-radius:999px;background:var(--console-surface-soft);overflow:hidden;border:1px solid var(--console-border-soft)}.vehicle-console-tank-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#0891b2,#2dd4bf,#38bdf8);box-shadow:0 0 10px #2dd4bf8c;transition:width .45s ease}.vehicle-console-tank-fill.low{background:linear-gradient(90deg,#dc2626,#f97316);box-shadow:0 0 10px #f973168c}.vehicle-console-tank-value{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--text);min-width:2.2rem;text-align:right}.vehicle-console-footer-note{margin:.45rem 0 0;font-size:.62rem;letter-spacing:.04em;color:var(--text-muted);text-align:center}.vehicle-telemetry-today-grid,.vehicle-telemetry-odometer-label,.vehicle-telemetry-odometer-value,.vehicle-telemetry-today-stat,.vehicle-telemetry-rate-note,.vehicle-telemetry-gauges{display:none}.vehicle-console-gauges-wrap{flex:1;min-height:0;display:flex;flex-direction:column;margin:.55rem .65rem .65rem;padding:.75rem .7rem .8rem;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse 100% 70% at 50% 110%,var(--console-glow-b),transparent 55%),linear-gradient(165deg,var(--console-bg-from) 0%,var(--console-bg-mid) 50%,var(--console-bg-to) 100%);border:1px solid var(--console-border-soft);box-shadow:inset 0 1px 0 var(--console-inset),0 6px 22px var(--shadow-lg)}.vehicle-console-gauges-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.55rem;padding-bottom:.45rem;border-bottom:1px solid var(--console-border-soft)}.vehicle-console-gauges-header span{font-size:.58rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--console-badge)}.vehicle-console-gauges-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;flex:1;align-content:start;overflow-y:auto;min-height:0}.vehicle-console-gauge{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.45rem .25rem .35rem;border-radius:10px;background:var(--console-tile-bg);border:1px solid var(--console-tile-border);transition:border-color .2s ease,box-shadow .2s ease}.vehicle-console-gauge:hover{border-color:var(--console-border);box-shadow:inset 0 0 20px var(--console-btn-hover-glow)}.vehicle-console-gauge.warning{border-color:#f9731659;box-shadow:inset 0 0 16px #f973160f}.vehicle-console-gauge-face{position:relative;width:100%;max-width:108px}.vehicle-console-gauge-svg{display:block;width:100%;height:auto}.vehicle-console-gauge-arc{transition:stroke-dasharray .35s ease}.vehicle-console-gauge-readout{position:absolute;left:50%;bottom:.15rem;transform:translate(-50%);display:flex;align-items:baseline;justify-content:center;gap:.12rem;pointer-events:none}.vehicle-console-gauge-readout strong{font-size:.95rem;font-weight:400;line-height:1;font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 12px var(--console-text-glow)}.vehicle-console-gauge-unit{font-size:.58rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--console-badge)}.vehicle-console-gauge-label{font-size:.56rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);text-align:center}.vehicle-console-compass .vehicle-console-gauge-face{display:flex;flex-direction:column;align-items:center;min-height:72px}.vehicle-console-compass-dial{position:relative;width:58px;height:58px;margin-top:.15rem}.vehicle-console-compass-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:2px solid rgba(56,189,248,.25);background:radial-gradient(circle at 50% 50%,#0f172ae6,#070a0ef2);box-shadow:inset 0 0 12px #38bdf814}.vehicle-console-compass-ring span{position:absolute;font-size:.52rem;font-weight:600;color:#94a3b8e6}.vehicle-console-compass-ring span:nth-child(1){top:3px;left:50%;transform:translate(-50%);color:#38bdf8f2}.vehicle-console-compass-ring span:nth-child(2){top:50%;right:4px;transform:translateY(-50%)}.vehicle-console-compass-ring span:nth-child(3){bottom:3px;left:50%;transform:translate(-50%)}.vehicle-console-compass-ring span:nth-child(4){top:50%;left:4px;transform:translateY(-50%)}.vehicle-console-compass-needle{position:absolute;top:50%;left:50%;width:3px;height:22px;margin-left:-1.5px;margin-top:-20px;border-radius:999px;background:linear-gradient(180deg,#f87171,#ef4444);transform-origin:bottom center;transform:rotate(var(--compass-heading, 0deg));box-shadow:0 0 10px #ef4444a6;z-index:2}.vehicle-console-compass-hub{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#e2e8f0;box-shadow:0 0 6px #ffffff59;z-index:3}.vehicle-console-compass-readout{position:static;transform:none;margin-top:.15rem}.vehicle-dashboard-telemetry .history-replay-dashboard-grid{display:none}.vehicle-dashboard-grid,.vehicle-dashboard-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vehicle-dashboard-bottom .vehicle-dashboard-alerts-wide{grid-column:1 / -1}.vd-record{border-radius:12px;border:1px solid var(--vd-card-border);background:var(--vd-card-bg);box-shadow:var(--vd-card-shadow);overflow:hidden;display:flex;flex-direction:column;min-height:0}.vd-record-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem 1rem;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vd-card-header-text);background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid var(--vd-card-border)}.vd-record-timeline .vd-record-head,.vd-record-feed .vd-record-head,.vd-record-location .vd-record-head,.vd-record-device .vd-record-head,.vd-record-profile .vd-record-head,.vd-record-stats .vd-record-head{color:var(--vd-card-header-text);background:linear-gradient(180deg,#fff,#f8fafc);border-bottom:1px solid var(--vd-card-border)}.vd-record-head .btn-link{color:#2563eb;font-size:.72rem;text-transform:none;letter-spacing:0;font-weight:600}.vd-record-head .btn-link:hover{color:#1d4ed8}.vd-record-body{padding:.35rem 1rem .85rem;display:flex;flex-direction:column;gap:0;flex:1;background:var(--vd-card-bg)}.vd-trip-timeline{display:flex;flex-direction:column;gap:0}.vd-trip-timeline-item{display:flex;gap:.75rem;padding:.75rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);text-decoration:none;color:inherit;transition:background .15s ease}.vd-trip-timeline-item:last-child{border-bottom:none}.vd-trip-timeline-item:hover{background:var(--vd-surface-muted);margin:0 -1rem;padding-left:1rem;padding-right:1rem}.vd-trip-timeline-dot{width:8px;height:8px;margin-top:.4rem;border-radius:50%;background:var(--vd-accent);box-shadow:0 0 0 3px var(--vd-surface-inset);flex-shrink:0}.vd-trip-timeline-copy{min-width:0;flex:1}.vd-alert-feed{display:flex;flex-direction:column;gap:0;padding-top:0}.vd-alert-feed-item{padding:.72rem 0;border-bottom:1px solid var(--vd-card-border);border-radius:0;background:transparent;border-left:none}.vd-alert-feed-item:last-child{border-bottom:none}.vd-alert-feed-item.severity-critical,.vd-alert-feed-item.severity-warning,.vd-alert-feed-item.severity-info{background:transparent;border-left:none}.vd-location-feature{display:flex;gap:.75rem;align-items:flex-start;margin:.65rem 0 .85rem;padding:.85rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-location-pin{font-size:1.25rem;line-height:1}.vd-location-label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted);margin-bottom:.2rem}.vd-location-feature strong{display:block;font-size:.92rem;line-height:1.45;color:var(--vd-text)}.vd-location-stats{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--vd-card-border)}.vd-location-stats div{padding:.65rem .75rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-location-stats span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-location-stats strong{display:block;margin-top:.15rem;font-size:.95rem;font-variant-numeric:tabular-nums}.vd-device-battery-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.vd-device-battery{margin:.65rem 0 .85rem;padding:.85rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-device-battery-head span{font-size:.64rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-device-battery-head strong{font-size:1.1rem;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-device-battery-track{height:8px;border-radius:999px;background:var(--vd-surface-inset);overflow:hidden}.vd-device-battery-fill{display:block;height:100%;border-radius:inherit;background:var(--vd-accent)}.vd-profile-head{display:flex;align-items:center;gap:.75rem;margin:.65rem 0 .85rem;padding:.85rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-profile-avatar{width:2.5rem;height:2.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:var(--vd-card-bg);border:1px solid var(--vd-card-border);flex-shrink:0}.vd-profile-head strong{display:block;font-size:.92rem;color:var(--vd-text)}.vd-profile-head span{display:block;margin-top:.15rem;font-size:.76rem;color:var(--vd-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.vd-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:.65rem 0 .15rem}.vd-summary-stat{padding:.75rem .65rem;border-radius:8px;text-align:center;border:1px solid var(--vd-card-border);background:var(--vd-surface-muted)}.vd-summary-stat span{display:block;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vd-text-muted);margin-bottom:.25rem}.vd-summary-stat strong{display:block;font-size:1.05rem;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--vd-text)}.vd-summary-stat.accent-teal,.vd-summary-stat.accent-blue,.vd-summary-stat.accent-amber,.vd-summary-stat.accent-violet,.vd-summary-stat.accent-rose,.vd-summary-stat.accent-slate{background:var(--vd-surface-muted);border-color:var(--vd-card-border)}.vd-trip-summary{display:flex;flex-direction:column;gap:.75rem;padding-top:.1rem}.vd-trip-summary-panel{padding:.75rem .8rem .8rem;border-radius:10px;border:1px solid var(--vd-card-border);background:#fff;box-shadow:inset 0 1px #fffc}.vd-trip-summary-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.65rem;padding-bottom:.5rem;border-bottom:1px solid var(--vd-card-border)}.vd-trip-summary-panel-head span{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-trip-summary-top{display:grid;grid-template-columns:minmax(120px,150px) minmax(0,1fr);gap:.85rem;align-items:center;padding:.15rem .05rem 0}.vd-trip-summary-donut{position:relative;width:100%;max-width:150px;margin:0 auto}.vd-trip-summary-donut-svg{width:100%;height:auto;display:block}.vd-trip-summary-donut-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;line-height:1.05;pointer-events:none}.vd-trip-summary-donut-center strong{display:block;font-size:1.35rem;font-weight:800;color:var(--vd-text);font-variant-numeric:tabular-nums}.vd-trip-summary-donut-center span{display:block;margin-top:.08rem;font-size:.58rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-trip-summary-legend{list-style:none;margin:0;padding:.5rem .55rem;display:flex;flex-direction:column;gap:.45rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-trip-summary-legend li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;font-size:.76rem;color:var(--vd-text)}.vd-trip-summary-legend-dot{width:.65rem;height:.65rem;border-radius:999px;flex-shrink:0}.vd-trip-summary-legend-label{color:var(--vd-text-muted);font-weight:600}.vd-trip-summary-legend li strong{font-size:.86rem;font-weight:800;font-variant-numeric:tabular-nums}.vd-trip-summary-metrics{display:flex;flex-direction:column;gap:.5rem;padding:.1rem .05rem 0}.vd-trip-summary-metric-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;align-items:center;gap:.55rem;padding:.35rem .45rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-trip-summary-metric-label{font-size:.72rem;font-weight:600;color:var(--vd-text-muted)}.vd-trip-summary-metric-track{height:.55rem;border-radius:999px;background:var(--vd-surface-inset);overflow:hidden}.vd-trip-summary-metric-fill{display:block;height:100%;border-radius:inherit;box-shadow:inset 0 1px #ffffff40}.vd-trip-summary-metric-value{font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;color:var(--vd-text);white-space:nowrap}.vd-trip-summary-recent{padding:.1rem .05rem 0}.vd-trip-summary-columns{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.55rem;align-items:end;min-height:118px;padding:.55rem .45rem .35rem;border-radius:8px;background:var(--vd-surface-muted);border:1px solid var(--vd-card-border)}.vd-trip-summary-column{display:flex;flex-direction:column;align-items:center;gap:.28rem;min-width:0}.vd-trip-summary-column-track{width:100%;max-width:2.2rem;height:72px;display:flex;align-items:flex-end;border-radius:6px 6px 4px 4px;background:var(--vd-surface-inset);overflow:hidden}.vd-trip-summary-column-fill{display:block;width:100%;border-radius:inherit;box-shadow:inset 0 1px #ffffff47}.vd-trip-summary-column-label{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--vd-text-muted)}.vd-trip-summary-column strong{font-size:.62rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--vd-text);text-align:center;white-space:nowrap}.vd-trip-summary.is-loading{opacity:.65;pointer-events:none}.vehicle-dashboard-row{display:grid;grid-template-columns:minmax(6.75rem,40%) minmax(0,1fr);align-items:baseline;gap:.5rem 1rem;padding:.58rem 0;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);line-height:1.45}.vehicle-dashboard-row:last-child{border-bottom:none;padding-bottom:.15rem}.vehicle-dashboard-row.highlight .vehicle-dashboard-row-value{color:var(--text);font-weight:600}.vehicle-dashboard-row-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.35}.vehicle-dashboard-row-value{text-align:right;font-size:.86rem;font-weight:400;letter-spacing:.01em;color:var(--text);min-width:0;word-break:break-word;line-height:1.45}.vehicle-dashboard-row-value.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;letter-spacing:.02em;font-variant-numeric:tabular-nums}.vehicle-dashboard-empty{margin:0;padding:.65rem 0;color:var(--text-muted);font-size:.85rem;line-height:1.5}.vd-record-body .trip-top,.vd-record-body .alert-top{gap:.75rem;margin-bottom:.35rem;align-items:flex-start}.vd-record-body .trip-route{font-weight:600;font-size:.86rem;line-height:1.4;color:var(--text);min-width:0;word-break:break-word}.vd-record-body .trip-meta,.vd-record-body .alert-time{flex-shrink:0;font-size:.74rem;line-height:1.35;letter-spacing:.01em}.vd-record-body .alert-message{font-size:.82rem;line-height:1.45}.vehicle-dashboard-trip .trip-route{font-weight:600;color:var(--text)}@media(max-width:1200px){.vd-today-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-radar-chips{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.vd-radar-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.vd-dash-hero-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.45rem .4rem;padding:.85rem .65rem}.vd-dash-gauge-cell{grid-column:1 / -1;grid-row:1;order:unset;width:100%;max-width:none;margin:0}.vd-dash-stat.side-left.vd-dash-stat-row-1{grid-column:1;grid-row:2}.vd-dash-stat.side-right.vd-dash-stat-row-1{grid-column:2;grid-row:2}.vd-dash-stat.side-left.vd-dash-stat-row-2{grid-column:1;grid-row:3}.vd-dash-stat.side-right.vd-dash-stat-row-2{grid-column:2;grid-row:3}.vd-dash-stat.side-left.vd-dash-stat-row-3{grid-column:1;grid-row:4}.vd-dash-stat.side-right.vd-dash-stat-row-3{grid-column:2;grid-row:4}.vd-dash-stat.side-left.vd-dash-stat-row-4{grid-column:1;grid-row:5}.vd-dash-stat.side-right.vd-dash-stat-row-4{grid-column:2;grid-row:5}.vd-dash-stat{align-items:center;gap:.35rem;padding:.2rem .1rem;border:none;background:transparent;height:auto}.vd-dash-stat.side-left{flex-direction:row;justify-content:flex-end}.vd-dash-stat.side-right{flex-direction:row;justify-content:flex-start}.vd-dash-stat.side-left .vd-dash-stat-copy{align-items:flex-end;text-align:right;min-height:auto;gap:.04rem}.vd-dash-stat.side-right .vd-dash-stat-copy{align-items:flex-start;text-align:left;min-height:auto;gap:.04rem}.vd-dash-stat-label{font-size:.52rem;letter-spacing:.05em;min-height:auto;line-height:1.15}.vd-dash-stat-value{font-size:.76rem;white-space:normal;line-height:1.15;min-height:auto}.vd-dash-stat-detail{font-size:.54rem;white-space:normal;line-height:1.2;min-height:auto}.vd-dash-stat-accent{width:7px;height:1.3rem;flex-shrink:0}.vd-dash-gauge{width:min(100%,280px);margin-inline:auto;padding-bottom:.15rem}.vd-dash-gauge-face{display:flex}.vd-dash-gauge-dial{width:min(100%,280px)}.vd-dash-gauge-scale{width:min(100%,280px);margin-inline:auto;padding:.35rem 1.4rem 0}.vd-dash-gauge-plate{width:auto;max-width:min(68%,168px);margin-inline:auto;margin-bottom:.2rem;padding:.16rem .42rem;border-width:1.5px;font-size:.78rem;letter-spacing:.05em}.vd-dash-hero-body:before,.vd-dash-hero-body:after{display:block;width:26%;max-width:none;opacity:1}}@media(min-width:769px)and (max-width:1024px){.vd-dash-hero-body{display:flex;flex-direction:column;gap:.65rem;padding:.75rem 1rem}.vd-dash-hero-body:before,.vd-dash-hero-body:after{width:4.5rem;opacity:.72}.vd-dash-gauge-cell{order:-1;max-width:320px;margin:0 auto}.vd-dash-stat.side-left,.vd-dash-stat.side-right{grid-column:unset;grid-row:unset}.vd-dash-hero-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.vd-dash-gauge{order:-1;max-width:320px}.vehicle-dashboard-work{grid-template-columns:1fr}.vehicle-dashboard-work .map-panel{min-height:360px}.vehicle-dashboard-bottom,.vehicle-dashboard-grid{grid-template-columns:1fr}.vd-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-console-gauges-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.vd-dash-hero-top{flex-direction:column;align-items:stretch}.vd-dash-hero-meta{grid-template-columns:1fr}.vd-dash-hero-actions{justify-content:flex-start}.vd-dash-hero-col{grid-template-columns:1fr}.vd-dash-gauge{max-width:100%}.vd-hero-identity{flex-direction:column;align-items:center;text-align:center}.vd-hero-copy{align-items:center}.vd-hero-tags{justify-content:center}.vd-hero-meta{grid-template-columns:1fr}.vd-hero-actions{justify-content:center}.vd-today-bento,.vd-summary-stats,.vd-trip-summary-top{grid-template-columns:1fr}.vd-trip-summary-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.vd-radar-chips{grid-template-columns:1fr;gap:.45rem}.vd-radar-chip{flex:unset}.vd-drive-stats-grid,.vd-drive-behavior-visual{grid-template-columns:1fr}.vd-behavior-pie{max-width:260px}.vd-drive-behavior-tags{flex-direction:row;flex-wrap:wrap}.vehicle-console-body{grid-template-columns:1fr;gap:.5rem}.vehicle-console-gauges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-console-gauge-readout strong{font-size:.85rem}.vehicle-console-odometer-zone{min-height:152px;padding:.3rem .35rem}.vehicle-console-odometer-ring{width:148px;height:148px}.vehicle-console-odometer-readout{max-width:68%;padding:.35rem .55rem .2rem}.vehicle-console-odometer-num{font-size:1.05rem}.vehicle-console-metrics{padding:.45rem .55rem}.vehicle-dashboard-grid,.vehicle-dashboard-bottom{grid-template-columns:1fr}.vehicle-dashboard-row{grid-template-columns:1fr;gap:.2rem;padding:.52rem 0}.vehicle-dashboard-row-value{text-align:left}}.fence-editor-layout{display:grid;grid-template-columns:minmax(480px,34%) 1fr;gap:1.25rem;min-height:520px}.fence-controls-body{padding:1rem;display:flex;flex-direction:column;gap:1rem}.fence-hint-box{padding:.75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;font-size:.82rem;color:var(--text-muted);display:flex;flex-direction:column;gap:.5rem}.fence-hint-box strong{color:var(--text);font-size:.85rem}.fence-hint-box p{line-height:1.45;margin:0}.fence-action-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.fence-saved-list{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--border);padding-top:1rem}.fence-saved-list-scroll{display:flex;flex-direction:column;gap:.5rem;max-height:360px;overflow:auto;padding-right:2px}.fence-saved-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg)}.fence-saved-item.selected{border-color:var(--accent);background:var(--accent-soft)}.fence-saved-info{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;cursor:pointer}.fence-saved-info strong{display:block;font-size:.85rem;overflow-wrap:anywhere;word-break:break-word}.fence-saved-info span{display:block;font-size:.75rem;color:var(--text-muted)}.fence-saved-actions{display:flex;gap:.5rem;flex-shrink:0}.fence-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.fence-map-panel{overflow:hidden;min-height:520px;display:flex;flex-direction:column}.fence-map{width:100%;height:100%;min-height:480px;flex:1;z-index:0}.fence-vertex-marker{background:transparent;border:none}.fence-vertex{width:22px;height:22px;border-radius:50%;background:var(--bg-panel);border:2px solid var(--accent);color:var(--text);font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059}.fence-assignment-layout{display:grid;grid-template-columns:340px 1fr;gap:1.25rem;align-items:start}.fence-checkbox-list{display:flex;flex-direction:column;gap:.5rem}.fence-matrix-table th{font-size:.68rem;white-space:nowrap}.matrix-cell{text-align:center}.matrix-toggle{width:2rem;height:2rem;border-radius:6px;border:1px solid var(--border);background:var(--input-bg);color:var(--text-muted);font-size:.85rem;transition:background .15s,border-color .15s,color .15s}.matrix-toggle.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:700}.fence-bulk-actions{border-top:1px solid var(--border)}.fence-bulk-assignment-panel{margin-bottom:1.25rem}.fence-bulk-assignment-toolbar{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:flex-end;margin-bottom:.75rem}.fence-bulk-assignment-toolbar .live-filter-field{min-width:180px}.fence-bulk-search{flex:1 1 220px}.fence-bulk-assignment-actions{margin-left:auto}.fence-bulk-assignment-quick{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.75rem}.fence-bulk-assignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.65rem;max-height:420px;overflow:auto;padding-right:4px}.fence-bulk-assignment-row{display:grid;grid-template-columns:auto 1fr;gap:.35rem .65rem;align-items:start;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);cursor:pointer}.fence-bulk-assignment-row.is-selected{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent-soft) 55%,var(--bg-card))}.fence-bulk-assignment-row__main{display:flex;flex-direction:column;gap:.1rem}.fence-bulk-assignment-row__meta{grid-column:2;font-size:.75rem}.panel-header-meta{margin:.25rem 0 0;font-size:.8rem;font-weight:400;color:var(--text-muted)}.fence-coverage-panel{margin-top:.25rem}.alert-config-layout{display:grid;grid-template-columns:280px 1fr;gap:1.25rem;align-items:start}.alert-config-layout .panel:last-child{grid-column:1 / -1}.alert-config-vehicle-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.alert-config-vehicle-meta span{padding:.2rem .5rem;background:var(--input-bg);border-radius:4px}.settings-apply-group{padding-top:.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.5rem}.alert-rules-body{gap:1.25rem}.alert-rules-group h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem}.settings-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}@media(max-width:1024px){.settings-layout,.admin-layout,.dashboards-layout,.fence-editor-layout,.fence-assignment-layout,.alert-config-layout{grid-template-columns:1fr}.alert-config-layout .panel:last-child{grid-column:auto}.fence-map{min-height:360px}}.admin-page{padding-bottom:2rem}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:1.25rem;align-items:start}.admin-subnav{position:sticky;top:1rem}.admin-subnav-sections{display:flex;flex-direction:column;gap:1rem;padding:.75rem}.admin-subnav-group-title{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.25rem .75rem;margin-bottom:.25rem}.admin-content{min-width:0}.admin-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.admin-overview-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}.admin-overview-card:hover{border-color:var(--accent);transform:translateY(-2px)}.admin-overview-icon{font-size:1.5rem}.admin-overview-count{font-size:.82rem;color:var(--text-muted)}.admin-crud-page .settings-section-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.icon-action-group{display:inline-flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-shrink:0}a.icon-action-btn{text-decoration:none}.icon-action-btn{position:relative;width:36px;height:36px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-card);color:var(--text);cursor:pointer;box-shadow:0 1px 2px #0f172a0f}.icon-action-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%);white-space:nowrap;padding:.28rem .5rem;border-radius:6px;background:#0f172a;color:#fff;font-size:.72rem;line-height:1.2;opacity:0;pointer-events:none;z-index:80;box-shadow:0 4px 12px #0f172a33}.report-row-actions .icon-action-btn[data-tooltip]:after,.icon-action-group .icon-action-btn[data-tooltip]:after{bottom:calc(100% + 7px);top:auto}.icon-action-btn[data-tooltip]:hover:after,.icon-action-btn[data-tooltip]:focus-visible:after{opacity:1}.icon-action-btn svg{width:16px;height:16px;display:block}.icon-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.icon-action-btn:disabled{opacity:.45;cursor:not-allowed}.icon-action-btn.icon-action-primary{background:var(--accent);border-color:var(--accent);color:#fff}.icon-action-btn.icon-action-primary:hover:not(:disabled){filter:brightness(1.05);color:#fff}.icon-action-btn.icon-action-danger{color:var(--alert-critical-text, #b91c1c)}.icon-action-btn.icon-action-danger:hover:not(:disabled){border-color:var(--alert-critical-text, #b91c1c);background:color-mix(in srgb,var(--alert-critical-text, #b91c1c) 8%,var(--bg-card))}.admin-crud-page .settings-section-header .icon-action-group,.admin-crud-page .settings-section-header .icon-action-btn{margin-left:auto}.report-row-actions .icon-action-btn{width:32px;height:32px}.admin-crud-page .report-history-table th:last-child,.admin-crud-page .report-history-table td:last-child{text-align:right}.account-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);gap:1rem;align-items:start}.account-page .report-history-table tbody tr{cursor:pointer}.account-page .report-history-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent)}.access-detail-panel{position:sticky;top:.75rem;align-self:start;min-height:28rem;max-height:calc(100vh - 7.5rem);overflow:auto}.access-detail-toolbar{padding:.8rem 1.15rem;border-bottom:1px solid var(--border)}.access-detail-toolbar h3{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.access-detail-empty{display:grid;place-content:center;min-height:18rem;text-align:center;padding:2rem 1.25rem;color:var(--text-muted)}.access-detail-empty p{margin:0 0 .35rem;color:var(--text);font-weight:600}.access-detail{padding:1.15rem 1.2rem 1.35rem}.access-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.access-identity{display:flex;align-items:center;gap:.85rem;min-width:0}.access-detail-kicker{margin:0 0 .2rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.access-detail-head h3{margin:0;font-size:1.15rem}.access-detail-code{margin:.25rem 0 0;color:var(--text-muted);font-size:.85rem}.access-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1.1rem 0 .35rem}.access-stat-row--two{grid-template-columns:repeat(2,minmax(0,1fr))}.access-stat-row div{padding:.7rem .75rem;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--bg-card, #fff) 88%,var(--accent, #2563eb) 8%)}.access-stat-row strong,.access-stat-row span{display:block}.access-stat-row strong{font-size:1.15rem}.access-stat-row span{margin-top:.15rem;color:var(--text-muted);font-size:.75rem}.access-section{margin-top:1.2rem}.access-section header{margin:0 0 .55rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.access-person-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.access-person-list li{display:flex;align-items:center;gap:.7rem;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--bg-card, transparent)}.access-person-static,.access-person-link{display:flex;align-items:center;gap:.7rem;flex:1;min-width:0;padding:.65rem .75rem;color:inherit;text-decoration:none}.access-person-link:hover{background:color-mix(in srgb,var(--accent, #2563eb) 7%,transparent)}.access-person-link strong{display:block}.access-person-list span,.access-subtext{display:block;color:var(--text-muted);font-size:.8rem}.access-open{margin-left:auto;color:var(--accent, #2563eb);font-size:.75rem;font-weight:700}.access-avatar{width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;flex:0 0 auto;background:color-mix(in srgb,var(--accent, #2563eb) 16%,transparent);color:var(--accent, #2563eb);font-size:.72rem;font-weight:700}.access-avatar-lg{width:3rem;height:3rem;font-size:.9rem}.access-mini-table td strong{display:block}.access-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.access-chip{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent);color:inherit;font-size:.78rem;font-weight:600;text-decoration:none}.access-chip:hover{text-decoration:underline}@media(max-width:960px){.account-layout{grid-template-columns:1fr}}.admin-table-toolbar{display:flex;justify-content:flex-start;align-items:center;gap:.65rem;flex-wrap:wrap}.admin-search{flex:1;min-width:200px;max-width:360px;padding:.45rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text)}.admin-form-modal{max-width:520px;width:100%}.admin-form-modal.wide{max-width:720px}.user-assign-modal{display:flex;flex-direction:column;width:min(1180px,calc(100vw - 2rem));max-width:min(1180px,calc(100vw - 2rem));height:min(860px,calc(100vh - 2rem));max-height:min(860px,calc(100vh - 2rem));overflow:hidden}.user-assign-modal .modal-header,.user-assign-modal .user-assign-lead,.user-assign-modal .form-error,.user-assign-modal .modal-actions{flex-shrink:0}.user-assign-lead{margin:0;padding:.85rem 1.25rem 0;color:var(--text-muted);line-height:1.45}.user-assign-modal .form-error{margin:.65rem 1.25rem 0}.user-assign-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;flex:1;min-height:0;padding:.9rem 1.25rem 0}.user-assign-pane{display:flex;flex-direction:column;min-height:0}.user-assign-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 0 .55rem}.user-assign-toolbar h3{margin:0;font-size:.95rem}.user-assign-search-field{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;margin:0 0 .35rem}.user-assign-search-field span{font-size:.75rem;color:var(--text-muted)}.user-assign-search,.user-assign-filter{width:220px;max-width:100%;height:34px;box-sizing:border-box;padding:.3rem .6rem;font-size:.84rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text)}.user-assign-preview{margin:0 0 .5rem;font-size:.78rem;color:var(--text-muted)}.user-assign-preview.warn{color:var(--warning, #b45309)}.user-assign-hint{margin:.4rem 0 .55rem;color:var(--text-muted);font-size:.78rem}.user-assign-list-wrap{flex:1;min-height:280px;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--input-bg)}.user-assign-list{list-style:none;margin:0;padding:0}.user-assign-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border-bottom:1px solid var(--border)}.user-assign-item:last-child{border-bottom:0}.user-assign-item label{display:flex;align-items:flex-start;gap:.65rem;min-width:0;cursor:pointer}.user-assign-item label input{margin-top:.2rem}.user-assign-item strong{display:block}.user-assign-item span{display:block;margin-top:.15rem;color:var(--text-muted);font-size:.8rem}.user-assign-item em{flex-shrink:0;font-style:normal;font-size:.75rem;color:var(--success, #15803d)}.user-assign-item.is-assigned{opacity:.72}.user-assign-item-all{background:color-mix(in srgb,var(--accent) 7%,var(--input-bg))}.user-assign-list-wrap .text-muted{margin:0;padding:1.1rem .9rem}.user-assign-modal .modal-actions{padding:.9rem 1.25rem 1.15rem}@media(max-width:900px){.user-assign-modal{height:min(960px,calc(100vh - 1rem));max-height:calc(100vh - 1rem)}.user-assign-split{grid-template-columns:1fr;overflow:auto}.user-assign-list-wrap{min-height:220px;max-height:280px;flex:none}.user-assign-toolbar{flex-direction:column;align-items:stretch}}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.85rem}.admin-form-grid .full-width{grid-column:1 / -1}.admin-form-grid .checkbox-field{display:flex;align-items:center}.admin-form-grid .checkbox-field label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.empty-cell{text-align:center;color:var(--text-muted);padding:2rem!important}.danger-text{color:var(--danger)!important}.dashboards-page{padding-bottom:2rem}.dashboards-layout{display:grid;grid-template-columns:260px 1fr;gap:1.25rem;align-items:start}.dashboards-subnav{position:sticky;top:1rem}.dashboards-subnav-list{display:flex;flex-direction:column;gap:.25rem;padding:.5rem}.dashboards-subnav-item{display:flex;align-items:flex-start;gap:.65rem;padding:.65rem .75rem;border-radius:8px;text-decoration:none;color:var(--text-muted);transition:background .15s,color .15s}.dashboards-subnav-item:hover{background:var(--input-bg);color:var(--text)}.dashboards-subnav-item.active{background:var(--accent-soft);color:var(--accent-selected-text, var(--accent));box-shadow:none}.dashboards-subnav-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.dashboards-subnav-text strong{font-size:.88rem;color:inherit}.dashboards-subnav-text small{font-size:.72rem;color:var(--text-muted);line-height:1.3}.dashboards-content{min-width:0}.dashboards-subnav-divider{margin:.75rem 0 .35rem;padding:.45rem .85rem 0;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dashboards-subnav-item.custom-dashboard-nav-item .nav-icon{color:#f59e0b}.dashboards-create-item{border-style:dashed}.custom-dash-personal-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#f59e0b24;color:#d97706;font-size:.72rem;font-weight:700;letter-spacing:.03em}.custom-dash-title-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.custom-dashboard-builder,.custom-dashboard-view{display:flex;flex-direction:column;gap:1rem}.custom-dash-builder-toolbar{display:grid;grid-template-columns:1fr minmax(220px,320px) auto;gap:1rem;align-items:end;padding:1rem}.custom-dash-builder-title h2{margin:0 0 .25rem;font-size:1.2rem}.custom-dash-builder-title p{margin:0;color:var(--text-muted);font-size:.85rem}.custom-dash-name-field{display:flex;flex-direction:column;gap:.35rem}.custom-dash-name-field span{font-size:.78rem;color:var(--text-muted)}.custom-dash-name-field input{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input, var(--bg-hover));color:var(--text)}.custom-dash-builder-actions{display:flex;gap:.5rem;flex-wrap:wrap}.custom-dash-builder-layout{display:grid;grid-template-columns:340px 1fr;gap:1rem;align-items:start}.custom-dash-catalog-body{padding:1rem;display:flex;flex-direction:column;gap:.85rem;max-height:calc(100vh - 14rem);overflow:auto}.custom-dash-search{width:100%;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-input, var(--bg-hover));color:var(--text)}.custom-dash-category-chips{display:flex;flex-wrap:wrap;gap:.35rem}.custom-dash-catalog-list{display:flex;flex-direction:column;gap:.75rem}.custom-dash-catalog-card{padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover);display:flex;flex-direction:column;gap:.75rem}.custom-dash-catalog-card-head{display:flex;gap:.75rem}.custom-dash-catalog-icon{font-size:1.35rem;line-height:1}.custom-dash-catalog-card strong{display:block;font-size:.88rem}.custom-dash-catalog-card p{margin:.2rem 0 0;font-size:.76rem;color:var(--text-muted);line-height:1.35}.custom-dash-add-btn{width:100%}.custom-dash-canvas-body{padding:1rem;min-height:420px}.custom-dash-widget-count{font-size:.78rem;color:var(--text-muted)}.custom-dash-canvas-empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;color:var(--text-muted);border:2px dashed var(--border);border-radius:12px;padding:2rem}.custom-dash-canvas-grid,.custom-dash-render-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.custom-dash-canvas-item,.custom-dash-widget{min-width:0}.custom-dash-canvas-item.full,.custom-dash-widget-full{grid-column:1 / -1}.custom-dash-canvas-item.half,.custom-dash-widget-half{grid-column:span 1}.custom-dash-canvas-item-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel)}.custom-dash-canvas-item-title{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.custom-dash-size-badge{font-size:.68rem;padding:.15rem .45rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.custom-dash-canvas-item-actions{display:flex;gap:.35rem;flex-wrap:wrap}.custom-dash-canvas-item-actions .btn-link.danger,.danger-btn{color:var(--danger)}.custom-dash-widget.is-preview{pointer-events:none}.custom-dash-widget-preview-label{display:none}.custom-dash-donut-body{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.custom-dash-view-header{align-items:center}.custom-dash-view-actions{display:flex;gap:.5rem;flex-wrap:wrap}.custom-dash-loading,.custom-dash-error,.custom-dash-empty-view{padding:1.5rem}.custom-dash-empty-copy{color:var(--text-muted);font-size:.85rem}@media(max-width:1100px){.custom-dash-builder-layout,.custom-dash-builder-toolbar,.custom-dash-canvas-grid,.custom-dash-render-grid{grid-template-columns:1fr}.custom-dash-canvas-item.half,.custom-dash-widget-half{grid-column:1 / -1}}.dash-view{display:flex;flex-direction:column;gap:1.25rem}.dash-view-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.dash-view-header h2{font-size:1.35rem;margin-bottom:.35rem}.dash-view-header p{color:var(--text-muted);font-size:.9rem;max-width:640px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:.85rem}.dash-kpi-card{display:flex;align-items:flex-start;gap:.65rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.9rem 1rem;color:var(--text)}.dash-kpi-card.tone-success{border-color:#22c55e59}.dash-kpi-card.tone-warning{border-color:#f59e0b59}.dash-kpi-card.tone-danger{border-color:#ef444459}.fleet-kpi-strip .dash-kpi-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(.55rem,1vw,.8rem)}.fleet-kpi-strip .dash-kpi-card{--fleet-kpi-height: clamp(6.86rem, 10.5vw, 8.75rem);position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:0;width:100%;height:var(--fleet-kpi-height);min-height:6.86rem;padding:clamp(.62rem,1vw,.82rem) clamp(.7rem,1.1vw,.95rem);border:none;border-radius:1.35rem;box-shadow:none;overflow:hidden;color:#111}.fleet-kpi-strip .dash-kpi-card:before{display:none}.fleet-kpi-strip .dash-kpi-icon{position:absolute;top:clamp(.52rem,.9vw,.72rem);right:clamp(.52rem,.9vw,.72rem);display:inline-flex;align-items:center;justify-content:center;width:clamp(1.5rem,2.1vw,1.8rem);height:clamp(1.5rem,2.1vw,1.8rem);margin:0;border-radius:.5rem;background:#ffffff7a;color:#111;font-size:0;line-height:0;font-weight:400;flex-shrink:0}.fleet-kpi-strip .dash-kpi-icon svg{width:58%;height:58%}.fleet-kpi-strip .dash-kpi-body{display:flex;flex-direction:column;justify-content:space-between;min-width:0;flex:1;height:100%;padding-right:clamp(1.7rem,2.4vw,2.05rem)}.fleet-kpi-strip .dash-kpi-label{font-size:clamp(.7rem,.95vw,.82rem);letter-spacing:0;text-transform:none;margin-bottom:0;font-weight:600;line-height:1.25;color:#111}.fleet-kpi-strip .dash-kpi-value{display:block;margin-top:auto;font-size:clamp(1.28rem,2.1vw,1.75rem);font-weight:800;line-height:.95;color:#111;font-variant-numeric:tabular-nums}.fleet-kpi-strip .dash-kpi-value small{margin-left:.2rem;font-size:.55em;font-weight:600;color:#3f3f46;opacity:1}.fleet-kpi-strip .dash-kpi-hint{margin-top:.18rem;font-size:clamp(.6rem,.8vw,.7rem);font-weight:500;line-height:1.2;color:#3f3f46}.fleet-kpi-strip .dash-kpi-card.tone-fleet-total{background:radial-gradient(120% 90% at 8% 6%,#d7c7ff 0%,transparent 56%),radial-gradient(95% 80% at 92% 12%,#ffc7a0 0%,transparent 52%),radial-gradient(90% 95% at 55% 108%,#f6b7d4 0%,transparent 58%),#f3e6ff}.fleet-kpi-strip .dash-kpi-card.tone-fleet-moving{background:radial-gradient(120% 90% at 8% 8%,#b8f3d4 0%,transparent 55%),radial-gradient(95% 80% at 92% 10%,#b7e4ff 0%,transparent 50%),radial-gradient(90% 95% at 58% 110%,#c9c4ff 0%,transparent 58%),#d9f4ff}.fleet-kpi-strip .dash-kpi-card.tone-fleet-idle{background:radial-gradient(120% 90% at 10% 8%,#ffe7a8 0%,transparent 55%),radial-gradient(95% 80% at 92% 14%,#ffc49a 0%,transparent 50%),radial-gradient(90% 95% at 50% 110%,#ffd6c4 0%,transparent 58%),#fff1d2}.fleet-kpi-strip .dash-kpi-card.tone-fleet-parked{background:radial-gradient(120% 90% at 8% 8%,#c9d4ff 0%,transparent 55%),radial-gradient(95% 80% at 94% 12%,#d7c6ff 0%,transparent 50%),radial-gradient(90% 95% at 48% 110%,#b9e4ff 0%,transparent 58%),#e4e9ff}.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline-active{background:radial-gradient(120% 90% at 8% 8%,#d7deea 0%,transparent 55%),radial-gradient(95% 80% at 92% 12%,#c7d4e8 0%,transparent 50%),radial-gradient(90% 95% at 52% 110%,#e4d7f0 0%,transparent 58%),#e8edf4}.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline-active{background:radial-gradient(120% 90% at 8% 8%,#ffd0c8 0%,transparent 55%),radial-gradient(95% 80% at 92% 12%,#ffc1b4 0%,transparent 50%),radial-gradient(90% 95% at 52% 110%,#f3c6d6 0%,transparent 58%),#ffe4df}.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts-active{background:radial-gradient(120% 90% at 8% 8%,#ffd0dc 0%,transparent 55%),radial-gradient(95% 80% at 92% 12%,#ffc2b0 0%,transparent 50%),radial-gradient(90% 95% at 55% 110%,#f3b8d0 0%,transparent 58%),#ffe4ea}.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts-active{background:radial-gradient(120% 90% at 8% 8%,#ffb8c8 0%,transparent 55%),radial-gradient(95% 80% at 92% 12%,#ffb09c 0%,transparent 50%),radial-gradient(90% 95% at 55% 110%,#f0a8c4 0%,transparent 58%),#ffd6de}.fleet-kpi-strip .dash-kpi-card.tone-fleet-distance{background:radial-gradient(120% 90% at 8% 8%,#b8f3e4 0%,transparent 55%),radial-gradient(95% 80% at 92% 12%,#b6e7ff 0%,transparent 50%),radial-gradient(90% 95% at 52% 110%,#c6d4ff 0%,transparent 58%),#d6f7f0}.fleet-kpi-strip .dash-kpi-card.tone-fleet-total .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-moving .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-idle .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-parked .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline-active .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts-active .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-distance .dash-kpi-label,.fleet-kpi-strip .dash-kpi-card.tone-fleet-total .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-moving .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-idle .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-parked .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline-active .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts-active .dash-kpi-value,.fleet-kpi-strip .dash-kpi-card.tone-fleet-distance .dash-kpi-value{color:#111}.fleet-kpi-strip .dash-kpi-card.tone-fleet-total .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-moving .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-idle .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-parked .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-offline-active .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-alerts-active .dash-kpi-icon,.fleet-kpi-strip .dash-kpi-card.tone-fleet-distance .dash-kpi-icon{background:#ffffff7a;color:#111}@media(max-width:1280px){.fleet-kpi-strip .dash-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.fleet-kpi-strip .dash-kpi-card{--fleet-kpi-height: clamp(7rem, 16vw, 8.75rem)}}@media(max-width:768px){.fleet-kpi-strip .dash-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fleet-kpi-strip .dash-kpi-card{--fleet-kpi-height: clamp(7.2rem, 28vw, 8.75rem)}}button.dash-kpi-card-btn{width:100%;text-align:left;cursor:pointer;font:inherit;transition:border-color .15s,box-shadow .15s}button.dash-kpi-card-btn:hover{border-color:var(--accent, #3b82f6);box-shadow:0 2px 8px #00000014}.dash-kpi-icon{font-size:1.25rem;line-height:1;margin-top:.1rem}.dash-kpi-label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.25rem}.dash-kpi-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .35rem;font-size:1.35rem;font-weight:700;line-height:1.15;color:var(--text)}.dash-kpi-card-money .dash-kpi-value{flex-wrap:nowrap}.dash-kpi-value small{font-size:.8rem;font-weight:500;color:var(--text-muted);margin-left:0}.money-display{display:inline-flex;align-items:baseline;gap:.4rem;min-width:0;max-width:100%}.money-display--kpi,.money-display--stat{font-size:inherit;font-weight:inherit;line-height:inherit}.money-display--inline{font-size:inherit;font-weight:inherit;line-height:inherit;gap:.3rem}.money-display--inline .money-display-currency{font-size:.65em;padding:.1em .35em}.money-display-currency{flex-shrink:0;font-size:.58em;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb,var(--bg-hover) 75%,transparent);border:1px solid var(--border);border-radius:5px;padding:.14em .42em;line-height:1.25}.money-display-amount{font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.stat-value .money-display,.dash-kpi-value .money-display{max-width:100%}.dash-kpi-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.dash-two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.dash-chart-panel .panel-header{flex-direction:column;align-items:flex-start}.dash-panel-subtitle{font-size:.78rem;color:var(--text-muted);margin-top:.2rem;font-weight:400}.dash-bar-chart{padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.65rem}.dash-bar-row{display:grid;grid-template-columns:100px 1fr auto;gap:.65rem;align-items:center}.dash-bar-label{font-size:.82rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-bar-track{height:8px;background:var(--input-bg);border-radius:999px;overflow:hidden}.dash-bar-fill{height:100%;background:var(--accent);border-radius:999px;min-width:4px;transition:width .4s ease}.dash-bar-fill.tone-success{background:var(--success)}.dash-bar-fill.tone-warning{background:var(--warning)}.dash-bar-fill.tone-danger{background:var(--danger)}.dash-bar-value{font-size:.82rem;font-weight:600;min-width:48px;text-align:right}.dash-donut-layout{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.25rem;flex-wrap:wrap}.dash-donut-wrap{position:relative;flex-shrink:0}.dash-donut{border-radius:50%}.dash-donut-hole{position:absolute;top:22%;right:22%;bottom:22%;left:22%;background:var(--bg-card);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.dash-donut-hole strong{font-size:1.25rem}.dash-donut-hole span{font-size:.65rem;color:var(--text-muted);text-transform:uppercase}.dash-donut-legend{list-style:none;display:flex;flex-direction:column;gap:.5rem}.dash-donut-legend li{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.dash-donut-legend strong{margin-left:auto}.dash-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dash-sparkline-panel .dash-sparkline{display:flex;align-items:flex-end;gap:.5rem;padding:1rem 1.25rem .75rem;min-height:140px}.dash-spark-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;height:120px;justify-content:flex-end}.dash-spark-bar{width:100%;max-width:36px;background:linear-gradient(to top,var(--accent),rgba(59,130,246,.4));border-radius:4px 4px 0 0;min-height:4px}.dash-spark-label{font-size:.65rem;color:var(--text-muted)}.dash-attention-list{display:flex;flex-direction:column;gap:.65rem}.dash-attention-item{padding:.75rem .85rem;border-radius:8px;border-left:3px solid var(--border);background:var(--input-bg);display:flex;flex-direction:column;gap:.2rem}.dash-attention-item strong{font-size:.88rem}.dash-attention-item span{font-size:.8rem;color:var(--text-muted)}.dash-attention-item.success{border-left-color:var(--success)}.dash-attention-item.warning{border-left-color:var(--warning)}.dash-attention-item.danger{border-left-color:var(--danger)}.dash-attention-item.info{border-left-color:var(--info)}.dash-score-cell{display:flex;align-items:center;gap:.5rem}.dash-score-bar{flex:1;height:6px;background:var(--input-bg);border-radius:999px;overflow:hidden;min-width:60px}.dash-score-fill{height:100%;border-radius:999px}.dash-rating{font-size:.78rem;padding:.15rem .5rem;border-radius:4px;font-weight:600}.dash-rating.good{background:#22c55e26;color:var(--success)}.dash-rating.fair{background:#f59e0b26;color:var(--warning)}.dash-rating.poor{background:#ef444426;color:var(--danger)}.dash-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.dash-insight-card{display:flex;flex-direction:column;gap:.5rem}.dash-insight-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.dash-insight-title{font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.dash-trend-badge{font-size:.7rem;padding:.15rem .45rem;border-radius:4px;font-weight:600;white-space:nowrap}.dash-trend-badge.up{background:#22c55e26;color:var(--success)}.dash-trend-badge.down{background:#ef444426;color:var(--danger)}.dash-insight-value{font-size:2rem;font-weight:700;line-height:1}.dash-insight-value small{font-size:.9rem;color:var(--text-muted);font-weight:500}.dash-insight-summary{font-size:.85rem;color:var(--text-muted);line-height:1.45;flex:1}.dash-insight-link{margin-top:.25rem}.dash-intelligence-banner{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border-color:#3b82f640;flex-wrap:wrap}.dash-intelligence-score{display:flex;flex-direction:column;gap:.25rem}.dash-intelligence-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dash-intelligence-value{font-size:3rem;font-weight:800;line-height:1}.dash-intelligence-value.good{color:var(--success)}.dash-intelligence-value.fair{color:var(--warning)}.dash-intelligence-sub{font-size:.85rem;color:var(--text-muted)}.dash-intelligence-actions{display:flex;gap:.5rem;flex-wrap:wrap}.dash-coverage-alert p{padding:1rem 1.25rem;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.dash-empty{padding:1.5rem;text-align:center;color:var(--text-muted);font-size:.88rem}.dash-source-hint{margin:.35rem 0 0;font-size:.82rem;color:var(--text-muted)}.overview-dash .main-grid,.overview-dash .bottom-grid{margin-top:0;gap:1.25rem}.content.fleet-overview-page{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:0;padding:.75rem 1rem .65rem}.overview-dash{flex:1;min-height:0;gap:.75rem;overflow:hidden}.fleet-page-loader{position:relative}.fleet-skel-kpi{background:radial-gradient(120% 90% at 8% 8%,color-mix(in srgb,var(--accent-soft) 80%,#fff) 0%,transparent 55%),radial-gradient(90% 95% at 92% 12%,color-mix(in srgb,var(--border) 55%,#fff) 0%,transparent 52%),color-mix(in srgb,var(--bg-card) 88%,var(--accent-soft));border:none!important;box-shadow:none}.fleet-skel-kpi:before{display:none!important}.fleet-skel-icon,.fleet-skel-dot,.fleet-skel-line{display:block;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--border) 70%,transparent),color-mix(in srgb,var(--accent-soft) 80%,var(--bg-card)),color-mix(in srgb,var(--border) 70%,transparent));background-size:220% 100%;animation:fleet-skel-shimmer 1.35s ease-in-out infinite}.fleet-skel-icon{width:clamp(1.5rem,2.1vw,1.8rem);height:clamp(1.5rem,2.1vw,1.8rem);border-radius:.5rem;flex-shrink:0}.fleet-kpi-strip .dash-kpi-icon.fleet-skel-icon{background:#ffffff6b}.fleet-skel-kpi .dash-kpi-label.fleet-skel-line-sm{margin-bottom:0}.fleet-skel-kpi .dash-kpi-value.fleet-skel-line-lg{margin-top:auto}.fleet-skel-dot{width:.7rem;height:.7rem;flex-shrink:0}.fleet-skel-line{height:.55rem}.fleet-skel-line-xs{width:18%}.fleet-skel-line-sm{width:46%;margin-bottom:.45rem}.fleet-skel-line-md{width:68%}.fleet-skel-line-lg{width:38%;height:1.05rem}.fleet-skel-panel .panel-header{display:flex;align-items:center;min-height:3rem}.fleet-skel-row{display:flex;align-items:center;gap:.7rem;padding:.7rem .2rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.fleet-skel-map{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:22rem;overflow:hidden;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--accent-soft) 70%,transparent),transparent 42%),linear-gradient(180deg,color-mix(in srgb,var(--bg-card) 92%,var(--accent)),var(--bg-card))}.fleet-page-loader-radar{position:relative;width:10.5rem;height:10.5rem;margin-bottom:1.1rem}.fleet-page-loader-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));animation:fleet-radar-pulse 2.4s ease-out infinite}.fleet-page-loader-ring:nth-child(2){top:16%;right:16%;bottom:16%;left:16%;animation-delay:.35s}.fleet-page-loader-ring:nth-child(3){top:32%;right:32%;bottom:32%;left:32%;animation-delay:.7s}.fleet-page-loader-sweep{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,color-mix(in srgb,var(--accent) 38%,transparent) 70deg,transparent 110deg);animation:fleet-radar-spin 1.8s linear infinite;mask:radial-gradient(circle,transparent 42%,#000 43%)}.fleet-page-loader-pin{position:absolute;top:50%;right:50%;bottom:50%;left:50%;width:2.4rem;height:2.4rem;margin:-1.2rem 0 0 -1.2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent);color:#fff;font-size:1.05rem;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 18%,transparent)}.fleet-page-loader-title{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.01em;color:var(--text)}.fleet-page-loader-hint{margin:.35rem 0 .95rem;font-size:.86rem;color:var(--text-muted)}.fleet-page-loader-bar{width:min(14rem,70%);height:4px;border-radius:999px;overflow:hidden;background:color-mix(in srgb,var(--border) 80%,var(--bg-card))}.fleet-page-loader-bar span{display:block;width:42%;height:100%;border-radius:inherit;background:var(--accent);animation:fleet-bar-slide 1.2s ease-in-out infinite}.fleet-page-loader-stage{flex:1;width:100%;min-height:22rem}.history-replay-page .fleet-page-loader-stage,.track-history-map-page .fleet-page-loader-stage,.trips-history-map-page .fleet-page-loader-stage,.trips-history-map-stage .fleet-page-loader-stage,.fleet-page .fleet-page-loader-stage{min-height:18rem}@keyframes fleet-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes fleet-radar-pulse{0%{opacity:.85;transform:scale(.92)}to{opacity:0;transform:scale(1.08)}}@keyframes fleet-radar-spin{to{transform:rotate(360deg)}}@keyframes fleet-bar-slide{0%{transform:translate(-80%)}to{transform:translate(240%)}}@media(prefers-reduced-motion:reduce){.fleet-skel-icon,.fleet-skel-dot,.fleet-skel-line,.fleet-page-loader-ring,.fleet-page-loader-sweep,.fleet-page-loader-bar span{animation:none}}.overview-dash .fleet-kpi-strip,.overview-dash .dash-view-header{flex-shrink:0}.overview-dash .overview-fleet-grid{flex:1;min-height:0;height:auto;align-items:stretch;grid-template-columns:minmax(320px,400px) minmax(0,1fr) minmax(240px,280px)}.overview-dash .overview-fleet-grid>.panel,.overview-dash .overview-fleet-grid>.overview-fleet-side,.overview-dash .overview-fleet-grid>.map-panel{height:100%;min-height:0}.overview-fleet-side{display:flex;flex-direction:column;min-height:0;max-height:100%;overflow:auto;gap:.7rem}.overview-dash .fleet-list-panel{flex:1;min-height:0;height:100%}.fleet-event-donut-title{margin:0;font-size:.72rem;font-weight:700;color:var(--text)}.fleet-event-donut-empty{margin:.35rem 0 .15rem;color:var(--text-muted);font-size:.8rem}.fleet-event-donut .fleet-status-donut-legend-btn{cursor:default}.fleet-event-chart-card{flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;padding:.45rem .5rem .5rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:14px;background:#fff;color:var(--text)}.fleet-event-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.55rem;flex-wrap:wrap}.fleet-event-chart-title{margin:0;font-size:.88rem;font-weight:700;color:var(--text)}.fleet-event-chart-link{flex-shrink:0;margin-top:.1rem;font-size:.74rem;font-weight:700;color:var(--accent);text-decoration:none;white-space:nowrap}.fleet-event-chart-link:hover{text-decoration:underline}.fleet-event-chart-empty{margin:.2rem 0 0;color:var(--text-muted);font-size:.86rem}.fleet-event-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.fleet-event-summary-card{display:flex;flex-direction:column;gap:.18rem;min-width:0;padding:.38rem .42rem .4rem;border:1.5px solid var(--border);border-radius:8px;background:var(--bg-card)}.fleet-event-summary-card.is-critical{border-color:color-mix(in srgb,var(--danger) 55%,var(--border));background:color-mix(in srgb,var(--danger) 9%,#fff)}.fleet-event-summary-card.is-warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 11%,#fff)}.fleet-event-summary-card.is-info{border-color:color-mix(in srgb,#2563eb 50%,var(--border));background:color-mix(in srgb,#2563eb 9%,#fff)}button.fleet-event-summary-card{width:100%;text-align:start;font:inherit;cursor:pointer}.fleet-event-summary-card.is-clickable.is-selected,.fleet-event-bar-row.is-selected{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px}.fleet-event-summary-label{font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-event-summary-card.is-critical .fleet-event-summary-label{color:color-mix(in srgb,var(--danger) 72%,var(--text))}.fleet-event-summary-card.is-warning .fleet-event-summary-label{color:color-mix(in srgb,var(--warning) 72%,var(--text))}.fleet-event-summary-card.is-info .fleet-event-summary-label{color:color-mix(in srgb,#2563eb 68%,var(--text))}.fleet-event-summary-value{font-size:1.32rem;font-weight:800;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--text)}.fleet-event-summary-card.is-critical .fleet-event-summary-value{color:var(--danger)}.fleet-event-summary-card.is-warning .fleet-event-summary-value{color:var(--warning)}.fleet-event-summary-card.is-info .fleet-event-summary-value{color:#2563eb}.fleet-event-bars{display:flex;flex-direction:column;gap:.34rem}.fleet-event-bar-row,.fleet-event-axis{display:grid;grid-template-columns:minmax(0,8.4rem) minmax(0,1fr) 3.1rem;align-items:center;column-gap:.42rem}.fleet-event-bar-label{min-width:0;font-size:.76rem;font-weight:600;color:var(--text);text-align:end;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-event-bar-track{height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,#fff);overflow:hidden}.fleet-event-bar-fill{display:block;height:100%;border-radius:999px;min-width:.4rem}.fleet-event-bar-fill.is-critical{background:var(--danger)}.fleet-event-bar-fill.is-warning{background:var(--warning)}.fleet-event-bar-fill.is-info{background:#3b82f6}.fleet-event-bar-value{font-size:.76rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:start}.fleet-event-axis-ticks{display:flex;justify-content:space-between;padding-top:.12rem;color:var(--text-muted);font-size:.68rem;font-variant-numeric:tabular-nums}.fleet-list-header-actions{display:inline-flex;align-items:center;gap:.55rem;margin-left:auto}.fleet-list-clear,.fleet-list-expand{border:0;background:transparent;color:var(--accent);font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.fleet-list-expand{padding:.18rem .55rem;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:999px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.fleet-list-search{flex-shrink:0;padding:.55rem .75rem .65rem;border-bottom:1px solid var(--border);background:var(--bg-panel)}.fleet-list-search-input{width:100%;box-sizing:border-box;padding:.42rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--text);font:inherit;font-size:.8rem}.fleet-list-search-input:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.fleet-list-search-input::placeholder{color:var(--text-muted)}.fleet-list-hint{margin:0;padding:.35rem .85rem .55rem;color:var(--text-muted);font-size:.78rem}.fleet-list-empty{padding:.85rem .2rem;color:var(--text-muted);font-size:.82rem}.fleet-pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding:.55rem .75rem;border-top:1px solid var(--border);background:var(--bg-panel)}.fleet-grid+.fleet-pagination,.fleet-page .fleet-pagination{margin-top:.75rem;border:1px solid var(--border);border-radius:10px}.fleet-pagination-meta,.fleet-pagination-page{font-size:.78rem;color:var(--text-muted)}.fleet-pagination-actions{display:flex;align-items:center;gap:.45rem}.fleet-status-donut{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:.28rem;padding:.45rem .5rem .5rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:14px;background:#fff}.fleet-status-donut-stage{position:relative;display:grid;place-items:center}.fleet-status-donut-svg{width:100%;max-width:380px;height:auto;overflow:visible;transform-origin:50% 58%}.fleet-status-donut-piece,.fleet-status-donut-all{cursor:pointer;outline:none;transition:opacity .18s ease}.fleet-status-donut-piece:focus,.fleet-status-donut-piece:focus-visible,.fleet-status-donut-all:focus,.fleet-status-donut-all:focus-visible{outline:none}.fleet-status-donut-piece.is-hot:not(.is-pressed),.fleet-status-donut-all.is-hot:not(.is-pressed){opacity:.92}.fleet-status-donut-piece.is-pressed,.fleet-status-donut-all.is-pressed{opacity:.96}.fleet-status-donut-pct{fill:#fff;font-size:11px;font-weight:700;letter-spacing:-.02em;pointer-events:none;paint-order:stroke;stroke:#11182780;stroke-width:1.8px}.fleet-status-donut-all-count{fill:#134e4a;font-size:16px;font-weight:800;letter-spacing:-.04em;pointer-events:none}.fleet-status-donut-all-pct{fill:#115e59;font-size:8px;font-weight:700;letter-spacing:.04em;pointer-events:none}.fleet-status-donut-legend{display:grid;grid-template-columns:1fr 1fr;gap:.28rem;list-style:none;margin:0;padding:.4rem 0 0;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.fleet-status-donut-legend>li{min-width:0}.fleet-status-donut-legend>li:last-child:nth-child(odd){grid-column:1 / -1}.fleet-status-donut-legend-btn{width:100%;display:grid;grid-template-columns:.5rem minmax(0,1fr) auto;align-items:center;column-gap:.38rem;padding:.28rem .5rem;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:999px;background:color-mix(in srgb,var(--bg-hover) 70%,#fff);color:inherit;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.fleet-status-donut-legend-btn.is-hot,.fleet-status-donut-legend-btn.is-active{background:color-mix(in srgb,var(--accent) 8%,#fff);border-color:color-mix(in srgb,var(--accent) 32%,var(--border))}.fleet-status-donut-legend-btn.is-active{box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 16%,transparent)}.fleet-status-donut-dot{width:.5rem;height:.5rem;border-radius:999px}.fleet-status-donut-legend-label{min-width:0;font-size:.8rem;font-weight:600;color:var(--text);text-align:start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-status-donut-legend-meta{display:inline-flex;align-items:baseline;gap:.22rem;flex-shrink:0}.fleet-status-donut-legend-count{color:var(--text);font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums}.fleet-status-donut-legend-pct{color:var(--text-muted);font-size:.72rem;font-weight:600;font-variant-numeric:tabular-nums}.overview-dash .fleet-list-panel .panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.overview-dash .map-panel{display:flex;flex-direction:column;min-height:0}.overview-dash .map-panel .overview-map-wrap{flex:1;min-height:0}.overview-dash .map-panel .overview-map{flex:1;min-height:0;height:100%}.overview-dash .map-panel .vehicle-detail-strip{flex-shrink:0}.map-panel.is-fullscreen{border-radius:0;background:var(--bg-panel)}.map-panel.is-fullscreen .overview-map-wrap,.map-panel.is-fullscreen .overview-map{flex:1;min-height:0;height:auto}@media(max-width:1024px){.overview-dash .overview-fleet-grid{grid-template-columns:1fr;grid-template-rows:auto minmax(220px,40vh) minmax(280px,1fr)}.dashboards-layout{grid-template-columns:1fr}.dashboards-subnav{position:static}.dash-bar-row{grid-template-columns:80px 1fr auto}}@media(max-width:960px){.dashboard:has(.history-replay-page){height:auto;max-height:none;min-height:100dvh;overflow:visible}.main:has(.history-replay-page){overflow:visible;min-height:auto}.content.fleet-overview-page,.erp-dashboard-root .admin-content.erp-content>.content:not(.track-together-page){overflow:visible;min-height:auto;flex:none}.content.history-page,.content.history-page:has(.history-replay-page),.reports-section-content,.reports-section-content:has(.history-replay-page),.history-replay-page,.history-replay-workspace,.history-map-with-usage,.history-page-body,.history-page-main,.track-history-map-page,.trips-history-map-page{overflow:visible;min-height:auto;flex:none}.history-page-body,.vehicle-dashboard-layout{grid-template-columns:1fr}.history-map-with-usage{grid-template-columns:1fr;grid-template-areas:"map" "usage"}.history-map-with-usage>.history-usage-panel{height:auto}.history-map-with-usage .history-usage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-dashboard-layout .history-vehicle-sidebar.track-together-sidebar{position:static;height:auto;max-height:360px}.history-vehicle-sidebar.track-together-sidebar{max-height:320px;height:auto}.history-replay-map-stage,.history-replay-map.live-map-container{flex:none;min-height:260px;height:auto}.history-replay-map .history-replay-map-canvas,.history-replay-map .live-map{height:260px;min-height:260px}.history-replay-map .leaflet-container{height:260px!important}.track-history-map .track-history-map-canvas,.track-history-map .live-map{height:280px;min-height:280px}.trips-history-map-layout{min-height:auto}.trips-history-map-stage{min-height:280px}.trips-history-list{max-height:none;overflow:visible}.overview-dash,.dash-view,.erp-dash-view,.admin-crud-page,.settings-section-page,.content.fleet-overview-page{overflow:visible;min-height:auto;flex:none}.overview-dash .overview-fleet-grid{grid-template-rows:auto auto;min-height:auto}.overview-dash .overview-fleet-grid>.panel,.overview-dash .overview-fleet-grid>.overview-fleet-side,.overview-dash .map-panel{height:auto;min-height:240px}.overview-dash .overview-fleet-side{min-height:0}.overview-dash .map-panel .overview-map-wrap,.overview-dash .map-panel .overview-map{min-height:240px;height:240px}.overview-dash .fleet-list-panel .panel-body{max-height:min(420px,55vh);overflow-y:auto}}.behavior-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;padding:.75rem 1rem 1rem}.behavior-filters.compact{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.behavior-analysis-page{display:flex;flex-direction:column;gap:1.25rem}.behavior-analysis-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.behavior-filter-panel .panel-header{display:flex;justify-content:space-between;align-items:center}.behavior-analysis-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.behavior-detail-panel{display:flex;flex-direction:column;gap:1.25rem}.behavior-score-table tr.selected-row{background:#3b82f614}.behavior-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.behavior-detail-meta strong{display:block;margin-top:.2rem}.behavior-trend.improving{color:var(--success)}.behavior-trend.stable{color:var(--warning)}.behavior-trend.declining{color:var(--danger)}.behavior-type-breakdown{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.behavior-type-chip{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;background:var(--input-bg);border-radius:6px;font-size:.82rem}.behavior-recommendations{padding:.75rem 1rem 1rem 2rem;margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.6}.behavior-timeline{display:flex;flex-direction:column;gap:.65rem;max-height:360px;overflow-y:auto}.behavior-timeline-item{padding:.65rem .75rem;border-radius:8px;background:var(--input-bg);border-left:3px solid var(--border);position:relative}.behavior-timeline-item.severity-critical{border-left-color:var(--danger)}.behavior-timeline-item.severity-warning{border-left-color:var(--warning)}.behavior-timeline-item.severity-info{border-left-color:var(--info)}.behavior-timeline-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.behavior-timeline-detail{font-size:.82rem;color:var(--text-muted)}.behavior-impact{position:absolute;top:.65rem;right:.75rem;font-size:.75rem;color:var(--danger);font-weight:600}.behavior-leaderboard{display:flex;flex-direction:column;gap:.5rem;padding:.85rem 1rem 1rem}.behavior-leaderboard .dash-empty{margin:0;padding:1.25rem .5rem}.behavior-leader-row{display:flex;align-items:center;gap:.85rem;padding:.65rem 0;border-bottom:1px solid var(--border)}.behavior-leader-row:last-child{border-bottom:none;padding-bottom:0}.behavior-rank{font-size:.85rem;color:var(--text-muted);font-weight:700;min-width:1.75rem;flex-shrink:0}.behavior-leader-info{flex:1;display:flex;flex-direction:column;gap:.2rem;min-width:0}.behavior-leader-info strong{margin:0;font-size:.9rem;line-height:1.3;font-weight:600}.behavior-leader-info span{margin:0;font-size:.78rem;color:var(--text-muted);line-height:1.35}.behavior-leader-actions{display:flex;align-items:center;gap:.65rem;flex-shrink:0;margin-left:.25rem}.behavior-analyze-link{font-size:.78rem}.behavior-score-badge{font-weight:700;font-size:1.1rem;padding:.2rem .55rem;border-radius:6px;min-width:2.5rem;text-align:center;flex-shrink:0}.behavior-score-badge.good{background:#22c55e26;color:var(--success)}.behavior-score-badge.fair{background:#f59e0b26;color:var(--warning)}.behavior-score-badge.poor{background:#ef444426;color:var(--danger)}.behavior-coaching-banner p{padding:1rem 1.25rem;font-size:.9rem;line-height:1.5;color:var(--text-muted)}.reports-behavior-banner{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:1rem 1.25rem;margin-bottom:.25rem;background:linear-gradient(135deg,#3b82f60f,#22c55e0f);border-color:#3b82f633;flex-wrap:wrap}.reports-behavior-banner p{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.reports-behavior-links{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:1024px){.behavior-analysis-layout{grid-template-columns:1fr}}.panel,.sidebar,.header,.stat-card,.dash-kpi-card,.fleet-card,.modal-panel,.nav-item,.settings-subnav-item,.dashboards-subnav-item,.admin-subnav-item{transition:background-color .2s ease,border-color .2s ease,color .2s ease}.leaflet-container{background:var(--map-surface)}.login-page{position:relative;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow-x:hidden;overflow-y:auto;background:var(--bg-dark)}.tech-partner-link{display:none}.login-page .tech-partner-link,.about-page .tech-partner-link{position:fixed;left:1.25rem;bottom:1.25rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .7rem .35rem .4rem;border-radius:10px;text-decoration:none;color:#1e3a52;background:#ffffff38;border:1px solid rgba(30,58,82,.08);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);font-size:.85rem;font-weight:700;letter-spacing:.01em;transform:translateY(0);transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease}.tech-partner-link img{display:block;width:28px;height:26px;object-fit:contain}.tech-partner-link:hover,.tech-partner-link:focus-visible{transform:translateY(-2px);background:#ffffff57;box-shadow:0 6px 16px #0f172a1a}.tech-partner-link.is-on-dark{color:#d5dee6;background:#0c101638;border-color:#ffffff1a}.tech-partner-link.is-on-dark:hover,.tech-partner-link.is-on-dark:focus-visible{transform:translateY(-2px);background:#0c10165c;box-shadow:0 6px 16px #00000038}.login-page .tech-partner-link{z-index:5}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-bg-canvas{width:100%;height:100%;display:block}.login-bg-brand{position:absolute;top:clamp(1.5rem,8vh,4rem);left:clamp(1.25rem,5vw,3.5rem);max-width:min(520px,calc(100vw - 28rem));z-index:1;pointer-events:none}.login-bg-brand-logo.contra-text-logo,.login-bg-brand-logo{width:auto;max-width:min(340px,calc(100vw - 28rem));margin-bottom:1.1rem;--contra-frame-shadow: 0 4px 18px color-mix(in srgb, #000 28%, transparent);--contra-frame-glow: 0 0 28px color-mix(in srgb, var(--contra-blue) 16%, transparent)}.login-bg-brand-logo .contra-text-logo-frame{--contra-frame-py: .16em;--contra-frame-px: .88em}.login-bg-brand-logo .contra-text-logo-name{font-size:clamp(1.65rem,2.35vw,2.35rem)}.login-bg-brand-logo .contra-text-logo-tagline{font-size:clamp(.6rem,.85vw,.72rem);letter-spacing:.3em}.login-bg-slogan{opacity:0;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease;pointer-events:none}.login-bg-slogan.visible{opacity:1;transform:translateY(0)}.login-bg-slogan-main{margin:0 0 .65rem;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--text);text-wrap:balance}.login-bg-slogan-main:before{content:"";display:block;width:2.5rem;height:3px;margin-bottom:.85rem;border-radius:999px;background:linear-gradient(90deg,#c9252b,transparent)}.login-bg-slogan-sub{margin:0;font-size:clamp(.92rem,1.4vw,1.05rem);line-height:1.5;color:color-mix(in srgb,var(--text) 68%,transparent);text-wrap:balance}@media(max-width:900px){.login-bg-brand{max-width:min(420px,calc(100% - 2.5rem));top:1rem;left:1.25rem}.login-bg-brand-logo.contra-text-logo,.login-bg-brand-logo{max-width:min(280px,calc(100vw - 2.5rem))}.login-bg-brand-logo .contra-text-logo-name{font-size:1.38rem}.login-bg-brand-logo .contra-text-logo-tagline{font-size:.55rem;letter-spacing:.18em}.login-bg-slogan-main{font-size:1.15rem}.login-bg-slogan-sub{font-size:.88rem}}.login-bg-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 32%,rgba(0,0,0,.42) 100%),radial-gradient(ellipse at 12% 78%,rgba(201,37,43,.06),transparent 42%),radial-gradient(ellipse at 88% 78%,rgba(22,163,74,.05),transparent 38%),linear-gradient(to bottom,rgba(0,0,0,.28),transparent 28%,transparent 68%,rgba(0,0,0,.38))}.login-bg-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.login-monitor-panels{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.login-monitor-panel{position:absolute;width:min(168px,34vw);padding:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.login-monitor-panel--cargo{right:clamp(7rem,28vw,14rem);left:auto;bottom:clamp(1rem,8vh,3rem);width:min(176px,36vw)}.login-monitor-panel--cold{right:clamp(2rem,8vw,4.5rem);left:auto;top:40%;width:min(176px,36vw)}.login-monitor-panel--genset{left:clamp(2rem,8vw,4.5rem);right:auto;top:44%}.login-monitor-panel-head{display:flex;align-items:flex-start;gap:.55rem}.login-monitor-icon-wrap{position:relative;flex:0 0 auto}.login-monitor-icon{flex:0 0 auto;display:block;filter:drop-shadow(0 2px 4px rgba(15,23,42,.12))}.login-monitor-label{margin:0;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.login-monitor-panel--cargo .login-monitor-label{color:#67e8f9;text-shadow:0 1px 2px rgba(15,23,42,.35)}.login-monitor-panel--cold .login-monitor-label{color:#0284c7}.login-monitor-panel--genset .login-monitor-label{color:var(--warning)}.login-monitor-value{margin:.12rem 0 0;font-size:.95rem;font-weight:700;line-height:1.1;color:var(--text)}.login-monitor-panel--cargo .login-monitor-value{color:#e2e8f0;text-shadow:0 1px 3px rgba(15,23,42,.45)}.login-monitor-value--mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.login-monitor-meta{margin:.45rem 0 .5rem;font-size:.68rem;line-height:1.35;color:color-mix(in srgb,var(--text) 62%,transparent)}.login-monitor-panel--cargo .login-monitor-meta{color:#e2e8f0;font-weight:600;text-shadow:0 1px 3px rgba(15,23,42,.55)}.login-monitor-badge{display:inline-block;padding:.08rem .35rem;border-radius:999px;font-size:.58rem;font-weight:700;letter-spacing:.04em;color:#14532d;background:color-mix(in srgb,var(--success) 18%,transparent)}.login-monitor-dot{position:absolute;top:1px;right:1px;width:7px;height:7px;margin:0;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 22%,transparent)}.login-monitor-panel--cargo .login-monitor-dot{background:#4ade80;box-shadow:0 0 0 3px #4ade8047}.login-monitor-dot.active{animation:login-monitor-pulse 1.25s ease-in-out infinite}.login-monitor-panel--cargo .login-monitor-dot.active{animation:login-monitor-pulse-cargo 1.25s ease-in-out infinite}@keyframes login-monitor-pulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 24%,transparent),0 0 6px color-mix(in srgb,var(--success) 18%,transparent)}50%{opacity:.48;transform:scale(.86);box-shadow:0 0 0 5px color-mix(in srgb,var(--success) 10%,transparent),0 0 12px color-mix(in srgb,var(--success) 42%,transparent)}}@keyframes login-monitor-pulse-cargo{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 0 3px #4ade804d,0 0 6px #4ade8038}50%{opacity:.48;transform:scale(.86);box-shadow:0 0 0 5px #4ade801f,0 0 12px #4ade807a}}.login-monitor-bar{height:4px;border-radius:999px;background:color-mix(in srgb,var(--info) 12%,transparent);overflow:hidden}.login-monitor-bar>span{display:block;height:100%;border-radius:inherit;background:color-mix(in srgb,var(--info) 58%,transparent)}.login-monitor-panel--cargo .login-monitor-bar{background:#ffffff24}.login-monitor-panel--cargo .login-monitor-bar>span{background:linear-gradient(90deg,#22d3ee,#0891b2)}.login-monitor-bar--cold{background:color-mix(in srgb,#0284c7 12%,transparent)}.login-monitor-bar--cold>span{background:color-mix(in srgb,#0284c7 58%,transparent)}.login-monitor-wave{display:block;width:100%;height:18px;margin-top:.15rem}.login-monitor-wave-path{fill:none;stroke:color-mix(in srgb,var(--warning) 62%,transparent);stroke-width:1.4;stroke-linecap:round;animation:login-monitor-wave-shift 3s linear infinite}@keyframes login-monitor-wave-shift{0%{transform:translate(0)}to{transform:translate(-8px)}}@media(max-width:900px){.login-monitor-panel{width:min(148px,42vw)}.login-monitor-panel--cargo{display:none}.login-monitor-panel--cold{top:auto;bottom:.5rem;left:clamp(1.5rem,6vw,3.5rem);right:auto}.login-monitor-panel--genset{top:auto;bottom:6.5rem;left:clamp(1.5rem,6vw,3.5rem);right:auto}.login-monitor-icon{transform:scale(.88);transform-origin:top left}.login-monitor-value{font-size:.82rem}}@media(prefers-reduced-motion:reduce){.login-monitor-dot.active,.login-monitor-wave-path{animation:none}}.login-card{position:relative;z-index:3;width:min(100%,400px);max-width:400px;padding:1.35rem 1.25rem;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:color-mix(in srgb,var(--bg-panel) 14%,transparent);border:1px solid #c9252b;border-radius:10px;box-shadow:0 10px 28px #0f172a0f,0 0 0 1px #ffffff05 inset}.login-page .login-card.panel{overflow:visible;background:color-mix(in srgb,var(--bg-panel) 14%,transparent);border:1px solid #c9252b}.login-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.login-brand{display:flex;flex-direction:column;gap:.5rem;flex:1 1 180px;min-width:0}.login-brand-tagline span{display:block}.login-brand-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--text)}.login-brand-app-name{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.15rem}.login-header-minimal{align-items:center;justify-content:space-between}.login-header-brand{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;min-width:0}.login-card-logo .vtrack-logo-img{height:34px}.login-header-title{font-size:1.35rem;font-weight:600;margin:0;color:var(--text)}.login-header h1{font-size:1.5rem;margin-bottom:.25rem}.login-header p{color:var(--text-muted);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-submit{width:100%;margin-top:.25rem}.login-store-badges{margin-top:1.1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--border) 55%,transparent);text-align:center}.login-store-badges-label{margin:0 0 .65rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--text) 58%,transparent)}.login-store-badges-row{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.login-store-badge{display:inline-flex;line-height:0;border-radius:7px;transition:transform .15s ease,opacity .15s ease}.login-store-badge:hover{transform:translateY(-1px);opacity:.92}.login-store-badge--disabled{opacity:.92;cursor:default}.login-store-badge-svg{display:block;height:34px;width:auto}.login-demo-hints{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.82rem;color:var(--text-muted);line-height:1.5}.login-demo-hints p+p{margin-top:.35rem}.login-header-actions .theme-toggle{flex-wrap:wrap;max-width:100%}@media(max-width:520px){.login-header-actions{justify-content:flex-start;width:100%}}@media(max-width:640px){.login-page{align-items:center;justify-content:flex-end;padding:11rem .85rem 1.75rem}.login-bg-brand{top:1rem;left:50%;right:auto;transform:translate(-50%);text-align:center;max-width:min(340px,calc(100vw - 2rem));width:max-content}.login-bg-brand-logo.contra-text-logo,.login-bg-brand-logo{max-width:min(220px,72vw);margin-inline:auto;margin-bottom:.75rem}.login-bg-brand-logo .contra-text-logo-name{font-size:1.25rem}.login-bg-slogan-main{font-size:1.05rem}.login-bg-slogan-main:before{margin-inline:auto;margin-bottom:.65rem}.login-bg-slogan-sub{font-size:.82rem}.login-monitor-panels{display:none}.login-card{width:100%;max-width:none;margin-top:0;padding:1.1rem .95rem}.login-header-brand .login-card-logo{display:none}.login-header-title{font-size:1.2rem}.login-store-badge-svg{height:30px}}@media(max-width:480px){.login-page{padding:10rem .65rem 1.5rem}.login-bg-brand{max-width:calc(100vw - 1.5rem)}.login-bg-slogan-main{font-size:.98rem}.login-card{padding:1rem .85rem}}.header-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.2}.header-user strong{font-size:.82rem;color:var(--text)}.header-user span{font-size:.72rem;color:var(--text-muted)}.header-logout{height:2rem}.sidebar-user-footer{display:flex;flex-direction:column;gap:.5rem}.sidebar-user-info{display:flex;flex-direction:column;gap:.15rem}.sidebar-user-info strong{font-size:.82rem;color:var(--text)}.sidebar-user-info span{font-size:.72rem}.sidebar-logout{font-size:.78rem;text-align:left;padding:0}.privilege-modal{max-width:820px}.privilege-matrix{margin-top:1rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.privilege-matrix-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-hover);border-bottom:1px solid var(--border)}.privilege-group+.privilege-group{border-top:1px solid var(--border)}.privilege-group-header{padding:.65rem 1rem;background:var(--input-bg)}.privilege-group-count{margin-left:auto;font-size:.75rem;color:var(--text-muted)}.privilege-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.35rem;padding:.65rem 1rem .85rem}.privilege-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;padding:.25rem 0}.privilege-id{margin-left:auto;font-size:.68rem;color:var(--text-muted);background:var(--bg-hover);padding:.1rem .35rem;border-radius:4px}.privilege-preview{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.content.track-together-page{overflow:hidden;gap:0;min-height:0;flex:1;padding-top:.65rem;padding-bottom:.65rem}.live-track-dash{display:flex;flex-direction:column;gap:.5rem;flex:1;min-height:0;overflow:hidden;height:100%}.live-track-dash .live-track-status-bar,.live-track-dash .live-track-fetch-error,.live-track-dash .live-track-loading,.live-track-dash .live-track-error{flex-shrink:0}.track-together-page{min-height:0;flex:1}.live-track-fetch-btn{white-space:nowrap}.flying-toast-stack{position:fixed;top:1.15rem;left:50%;z-index:1400;display:flex;flex-direction:column;align-items:center;gap:.55rem;width:min(520px,calc(100vw - 2rem));transform:translate(-50%);pointer-events:none}.flying-toast{position:fixed;top:1.25rem;left:50%;z-index:1200;display:flex;align-items:center;gap:.65rem;transform:translate(-50%);max-width:min(520px,calc(100vw - 2rem));padding:.8rem 1.15rem;border-radius:14px;font-size:.92rem;font-weight:600;line-height:1.4;text-align:left;box-shadow:0 16px 40px #0f172a2e,0 2px 8px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;animation:flying-toast-in .38s cubic-bezier(.22,1,.36,1),flying-toast-out .32s ease 2.7s forwards}.flying-toast.is-stacked{position:relative;top:auto;left:auto;transform:none;width:100%;animation:flying-toast-stack-in .38s cubic-bezier(.22,1,.36,1),flying-toast-stack-out .32s ease 2.7s forwards}.flying-toast-icon{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;border-radius:999px;font-size:.78rem;font-weight:800;flex-shrink:0}.flying-toast-success{background:color-mix(in srgb,#ecfdf5 88%,var(--bg-panel, #fff));border:1px solid rgba(34,197,94,.38);color:#15803d}.flying-toast-success .flying-toast-icon{background:#16a34a;color:#fff}.flying-toast-error{background:color-mix(in srgb,#fef2f2 88%,var(--bg-panel, #fff));border:1px solid rgba(239,68,68,.4);color:#b91c1c}.flying-toast-error .flying-toast-icon{background:#dc2626;color:#fff}.flying-toast-info{background:color-mix(in srgb,#eff6ff 88%,var(--bg-panel, #fff));border:1px solid rgba(59,130,246,.35);color:#1d4ed8}.flying-toast-info .flying-toast-icon{background:#2563eb;color:#fff}@keyframes flying-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-1.1rem) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes flying-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-.75rem) scale(.98)}}@keyframes flying-toast-stack-in{0%{opacity:0;transform:translateY(-.8rem) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes flying-toast-stack-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.55rem) scale(.98)}}.live-track-fetch-error{padding:.45rem .75rem;border-radius:8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);color:var(--danger);font-size:.85rem}.live-track-dash .live-track-status-bar{padding:.45rem .75rem;gap:.5rem .85rem;flex-wrap:wrap}.track-together-status-warn{color:var(--warning);font-size:.82rem}.track-together-layout{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr);gap:.75rem;flex:1;min-height:0;overflow:hidden}.live-track-dash .live-track-fleet-grid{align-items:stretch;flex:1;min-height:0;overflow:hidden}.live-track-dash .live-track-fleet-grid>.panel,.live-track-dash .live-track-fleet-grid>.track-together-map,.live-track-dash .live-track-fleet-grid>.track-together-main{height:100%;min-height:0}.track-together-main{display:flex;flex-direction:column;gap:.5rem;min-height:0;height:100%;overflow:hidden}.track-together-main .track-together-map{flex:1;min-height:0}.live-track-telemetry-dashboard{flex-shrink:0;padding:.4rem .65rem .5rem;max-height:118px;overflow:hidden}.live-track-dash .live-track-telemetry-dashboard .history-replay-dashboard-grid{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;overflow-x:auto;overscroll-behavior:contain;gap:.45rem;padding-bottom:.1rem}.live-track-dash .live-track-telemetry-dashboard .replay-gauge-svg{max-width:72px}.live-track-dash .live-track-telemetry-dashboard .replay-gauge,.live-track-dash .live-track-telemetry-dashboard .replay-digital-readout,.live-track-dash .live-track-telemetry-dashboard .replay-compass{flex:0 0 auto;min-width:80px}.live-track-dash .live-track-telemetry-dashboard .replay-digital-readout{order:-1}.live-track-dash .live-track-telemetry-dashboard .history-replay-dashboard-header{display:none}.track-together-sidebar{overflow:hidden;display:flex;flex-direction:column;min-height:0;height:100%;max-height:100%}.live-track-dash .track-together-sidebar .panel-header{flex-shrink:0;padding:.65rem .85rem}.track-together-selector-body{padding:.75rem;display:flex;flex-direction:column;gap:.55rem;overflow:hidden;flex:1;min-height:0}.track-together-select-actions{display:flex;flex-wrap:wrap;gap:.45rem}.track-together-select-actions .btn-secondary{flex:1 1 auto;min-width:7.5rem}.track-together-selector-controls{flex-shrink:0;display:flex;flex-direction:column;gap:.55rem;max-height:52%;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.live-track-dash .track-together-vehicle-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin-top:0}.live-track-dash .track-together-vehicle-list::-webkit-scrollbar{width:8px}.live-track-dash .track-together-vehicle-list::-webkit-scrollbar-track{background:var(--bg-hover)}.live-track-dash .track-together-vehicle-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}.live-track-dash .track-together-vehicle-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.track-together-hint{margin:0;font-size:.75rem;color:var(--text-muted);line-height:1.35}.filter-result-count.warn{color:var(--warning)}.track-together-selected-chips{display:flex;flex-wrap:wrap;gap:.4rem}.together-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem .25rem .65rem;border:1px solid var(--border);border-left-width:3px;border-radius:999px;background:var(--bg-hover);font-size:.78rem;font-weight:500}.together-chip button{border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 .15rem}.together-chip button:hover{color:var(--danger)}.track-together-vehicle-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.25rem}.track-together-vehicle-item{display:flex;align-items:center;gap:.55rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);cursor:pointer;transition:border-color .15s,background .15s}.track-together-vehicle-item:hover:not(.disabled){border-color:var(--accent);background:var(--bg-hover)}.track-together-vehicle-item.selected{border-color:var(--accent);background:var(--accent-soft)}.track-together-vehicle-item.disabled{opacity:.45;cursor:not-allowed}.together-color-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--border)}.track-together-vehicle-info{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}.track-together-vehicle-info strong{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-together-vehicle-info span{font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-together-map{display:flex;flex-direction:column;min-height:0}.track-together-toolbar{flex-wrap:wrap}.track-together-toolbar-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.track-together-map-exports{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem}.track-together-live-map{flex:1 1 auto;min-height:0;width:100%}.live-track-dash .track-together-map{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.live-track-dash .track-together-map .live-map-container,.live-track-dash .track-together-main .track-together-map{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.live-track-dash .track-together-live-map,.live-track-dash .track-together-map .live-map{flex:1 1 auto;min-height:0!important;height:100%!important;max-height:none;width:100%}.live-track-dash .track-together-map .leaflet-container{height:100%!important;width:100%}.live-track-dash .track-together-toolbar{flex-shrink:0;padding:.5rem .75rem}.track-together-map.is-fullscreen{background:var(--bg-panel)}.track-together-map.is-fullscreen .live-map{height:calc(100vh - 2.75rem);min-height:0}.vehicle-marker-wrapper.labeled-marker{background:transparent;border:none}.vehicle-map-labeled{display:flex;flex-direction:column;align-items:center;gap:.2rem;pointer-events:auto}.track-together-selected-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.track-together-last-received{font-size:.72rem;color:var(--text-muted)}.live-track-dashboard-wrap{display:flex;flex-direction:column;gap:.5rem}.live-track-last-received-bar{padding:.55rem .85rem;border-radius:var(--radius-md);background:var(--bg-panel);border:1px solid var(--border)}.vehicle-map-labeled .vehicle-map-icon.directed{transform:rotate(var(--heading-deg, 0deg))}.vehicle-map-labeled .vehicle-map-icon.directed.selected{transform:rotate(var(--heading-deg, 0deg)) scale(1.12)}.vehicle-map-label-tag{display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.2rem .45rem;border-radius:6px;background:var(--bg-panel);border:1px solid var(--label-color, var(--accent));box-shadow:0 2px 8px #00000040;max-width:110px;text-align:center}.vehicle-map-label-name{font-size:.72rem;font-weight:600;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vehicle-map-label-id{font-size:.62rem;color:var(--text-muted);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:960px){.dashboard:has(.track-together-page){height:100vh;max-height:100vh;overflow:hidden}.main:has(.track-together-page){overflow:hidden;min-height:0}.content.track-together-page{overflow:hidden}.live-track-dash .live-track-fleet-grid{flex:1;min-height:0;overflow:hidden}.track-together-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(160px,34vh) minmax(0,1fr)}.track-together-sidebar{max-height:none;min-height:0}.live-track-dash .track-together-selector-controls{max-height:none}.live-track-dash .track-together-live-map,.live-track-dash .track-together-map .live-map{min-height:0!important}}.audit-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem 1rem}.audit-filters-body{display:flex;flex-direction:column;gap:1rem;padding:1rem}.audit-filter-panel .panel-header{display:flex;justify-content:space-between;align-items:center}.audit-summary-cell{max-width:280px;word-break:break-word}.audit-user-role{display:block;font-size:.75rem;color:var(--text-muted)}.audit-entity-type{display:block;font-size:.78rem;color:var(--text-muted)}.audit-entity-id{font-family:ui-monospace,monospace;font-size:.78rem}.audit-category-badge,.audit-action-badge{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;font-weight:600}.audit-category-badge.cat-auth{background:#3b82f626;color:var(--accent)}.audit-category-badge.cat-admin{background:#a855f726;color:#a855f7}.audit-category-badge.cat-settings{background:#0ea5e926;color:var(--info)}.audit-category-badge.cat-alerts{background:#f59e0b26;color:var(--warning)}.audit-category-badge.cat-users{background:#22c55e26;color:var(--success)}.audit-category-badge.cat-reports{background:#6366f126;color:#6366f1}.audit-category-badge.cat-audit{background:#6b728026;color:var(--text-muted)}.audit-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.audit-logs-page,.audit-reports-page,.custom-alerts-page{display:flex;flex-direction:column;gap:1rem}.custom-alerts-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.custom-alerts-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.custom-alerts-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.custom-alerts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.custom-alert-card{display:flex;flex-direction:column;gap:0;min-height:100%}.custom-alert-card.disabled{opacity:.72}.custom-alert-card-top{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1rem .75rem}.custom-alert-card-icon{font-size:1.75rem;line-height:1;flex-shrink:0}.custom-alert-card-title{flex:1;min-width:0}.custom-alert-card-title h3{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.custom-alert-disabled-badge{display:inline-block;margin-top:.25rem;padding:.1rem .4rem;border-radius:4px;font-size:.7rem;background:var(--surface-elevated);color:var(--text-muted)}.custom-alert-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;border-radius:999px;font-size:.95rem;font-weight:700;background:#f59e0b2e;color:var(--warning);flex-shrink:0;cursor:pointer;border:none;font-family:inherit;transition:background .15s,transform .1s}.custom-alert-count-badge:hover{background:#f59e0b47;transform:scale(1.04)}.custom-alert-count-badge:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.custom-alert-card-body{flex:1;padding:0 1rem .75rem}.custom-alert-card-label{margin:0 0 .35rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.custom-alert-condition-list{margin:0 0 .75rem;padding-inline-start:1.1rem;font-size:.875rem;color:var(--text)}.custom-alert-condition-list li+li{margin-top:.2rem}.custom-alert-channel-tags{display:flex;flex-wrap:wrap;gap:.35rem}.custom-alert-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.custom-alert-card-buttons{display:flex;flex-wrap:wrap;gap:.35rem}.custom-alert-enable-toggle{margin:0}.custom-alerts-empty,.custom-alerts-empty-panel .panel-body{text-align:center;color:var(--text-muted)}.custom-alerts-empty-panel .panel-body{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem}.custom-alerts-builder-nav{margin-bottom:.25rem}.custom-alert-form{display:flex;flex-direction:column;gap:1rem}.custom-alert-form-hint{margin:0 0 .75rem;font-size:.85rem;color:var(--text-muted)}.custom-alert-condition-row{padding:.75rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:var(--radius, 8px);background:var(--surface-elevated)}.custom-alert-condition-fields{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.custom-alert-remove-condition{margin-top:.5rem;font-size:.85rem}.custom-alert-icon-picker{display:flex;flex-wrap:wrap;gap:.35rem}.custom-alert-icon-option{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-size:1.1rem;cursor:pointer;transition:border-color .15s,background .15s}.custom-alert-icon-option:hover{border-color:var(--accent)}.custom-alert-icon-option.active{border-color:var(--accent);background:#3b82f61f}.custom-alert-scope-toggle{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.custom-alert-vehicle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.35rem;max-height:220px;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius, 8px)}.custom-alert-form-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.custom-alert-matches-modal{max-width:920px;max-height:min(90vh,720px);display:flex;flex-direction:column}.custom-alert-matches-summary{padding:.75rem 1.25rem;border-bottom:1px solid var(--border)}.custom-alert-matches-window{margin:0 0 .5rem;font-size:.82rem;color:var(--text-muted)}.custom-alert-matches-conditions{margin:0;padding-inline-start:1.1rem;font-size:.85rem;color:var(--text)}.custom-alert-matches-conditions li+li{margin-top:.2rem}.custom-alert-matches-body{flex:1;overflow:auto;padding:1rem 1.25rem}.custom-alert-matches-empty{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.custom-alert-matches-empty p{margin:0}.custom-alert-matches-empty-hint{margin-top:.35rem!important;font-size:.85rem}.custom-alert-matches-table-wrap{overflow-x:auto}.custom-alert-matches-table{width:100%;border-collapse:collapse;font-size:.85rem}.custom-alert-matches-table th,.custom-alert-matches-table td{padding:.55rem .65rem;text-align:start;border-bottom:1px solid var(--border);vertical-align:top}.custom-alert-matches-table th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);background:var(--surface-elevated);white-space:nowrap}.custom-alert-match-vehicle-link{display:block;font-weight:600;color:var(--primary);text-decoration:none}.custom-alert-match-vehicle-link:hover{text-decoration:underline}.custom-alert-match-vehicle-id{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.1rem}.custom-alert-match-values{margin:0;padding:0;list-style:none}.custom-alert-match-values li+li{margin-top:.15rem}.custom-alert-match-field{font-weight:500;color:var(--text-muted)}.custom-alert-match-source{display:inline-block;padding:.15rem .45rem;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--surface-elevated);color:var(--text-muted)}.custom-alert-match-source.trackPoint{background:#3b82f61f;color:var(--primary)}.custom-alert-match-source.vehicle{background:#10b9811f;color:var(--success, #10b981)}.custom-alert-match-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 .5rem;padding-top:.65rem;border-top:1px solid var(--border)}.custom-alert-match-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.custom-alert-match-label{font-size:.85rem;color:var(--text-muted)}.custom-alert-view-matches,.custom-alert-view-alerts{font-size:.85rem}.settings-message.error{color:var(--danger)}.btn-secondary.btn-sm.danger{color:var(--danger);border-color:#ef444459}.btn-secondary.btn-sm.danger:hover{background:#ef444414}@media(max-width:640px){.custom-alerts-grid{grid-template-columns:1fr}.custom-alert-card-actions{flex-direction:column;align-items:stretch}.custom-alert-card-buttons{justify-content:flex-end}}.temp-dash .temp-zone-presets .panel-header{padding-bottom:.5rem}.temp-zone-preset-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;padding:0 1rem 1rem}.temp-zone-preset-card{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .9rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.temp-zone-preset-card strong{font-size:.85rem}.temp-zone-preset-card span{font-size:1.1rem;font-weight:700;color:var(--accent)}.temp-zone-preset-card small{font-size:.75rem;color:var(--text-muted)}.temp-filters{padding:.85rem 1rem}.temp-filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.temp-filter-row label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.temp-filter-row select{min-width:160px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);font-size:.9rem;text-transform:none;letter-spacing:normal}.temp-filter-check{flex-direction:row!important;align-items:center!important;text-transform:none!important;letter-spacing:normal!important;color:var(--text)!important;font-size:.9rem!important;padding-bottom:.45rem}.temp-filter-check input{margin-inline-end:.45rem}.temp-fleet-table tbody tr.temp-fleet-row{cursor:pointer;transition:background .15s ease}.temp-fleet-table tbody tr.temp-fleet-row:hover{background:var(--bg-hover)}.temp-fleet-table tbody tr.temp-fleet-row.selected{background:var(--accent-soft)}.temp-fleet-table td small{display:block;font-size:.75rem;color:var(--text-muted);font-weight:400}.temp-fleet-table .temp-value{font-weight:600;font-variant-numeric:tabular-nums}.temp-deviation-warn{color:var(--warning);font-weight:600}.temp-status-badge,.reefer-status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.temp-status-ok{background:#22c55e26;color:var(--success)}.temp-status-warning{background:#f59e0b26;color:var(--warning)}.temp-status-critical{background:#ef444426;color:var(--danger)}.temp-status-na{background:var(--input-bg);color:var(--text-muted)}.reefer-status-running{background:#22c55e1f;color:var(--success)}.reefer-status-standby{background:#3b82f61f;color:var(--info)}.reefer-status-defrost{background:#f59e0b1f;color:var(--warning)}.reefer-status-alarm{background:#ef44441f;color:var(--danger)}.reefer-status-offline{background:var(--input-bg);color:var(--text-muted)}.temp-empty-row{text-align:center;color:var(--text-muted);padding:1.5rem!important}.temp-vehicle-detail .temp-detail-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}.temp-detail-zone{display:block;font-size:.78rem;font-weight:400;color:var(--text-muted);margin-top:.2rem}.temp-compliance-badge{padding:.35rem .75rem;border-radius:8px;font-size:.82rem;font-weight:600;border:1px solid var(--border)}.temp-compliance-badge.good{border-color:#22c55e66;color:var(--success);background:#22c55e14}.temp-compliance-badge.warn{border-color:#f59e0b66;color:var(--warning);background:#f59e0b14}.temp-compliance-badge.bad{border-color:#ef444466;color:var(--danger);background:#ef444414}.temp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.65rem;padding:.75rem 1rem 0}.temp-stat{padding:.65rem .75rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.temp-stat span{display:block;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.25rem}.temp-stat strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.temp-chart-panel-body{padding-top:.5rem}.temp-chart-wrap{width:100%;overflow-x:auto}.temp-chart-svg{width:100%;min-width:480px;height:auto;display:block}.temp-chart-band{fill:#22c55e1f}.temp-chart-grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.temp-chart-axis-label{fill:var(--text-muted);font-size:11px}.temp-chart-setpoint-line{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:6 4}.temp-chart-setpoint-label{fill:var(--accent);font-size:10px}.temp-chart-line{stroke:#38bdf8;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}[data-theme=light] .temp-chart-line{stroke:#0284c7}.temp-chart-excursion{fill:var(--danger);stroke:var(--bg-card);stroke-width:1.5}.temp-chart-spike{fill:var(--warning);stroke:var(--bg-card);stroke-width:1.5}.temp-chart-legend{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;padding:.65rem .25rem .25rem;font-size:.78rem;color:var(--text-muted)}.temp-legend-item{display:inline-flex;align-items:center;gap:.4rem}.temp-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.temp-legend-swatch.band{background:#22c55e59}.temp-legend-swatch.setpoint{background:var(--accent)}.temp-legend-swatch.excursion{background:var(--danger);border-radius:50%}.temp-legend-swatch.spike{background:var(--warning);border-radius:50%}.temp-chart-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted)}@media(max-width:768px){.temp-filter-row{flex-direction:column;align-items:stretch}.temp-filter-row select{width:100%}.temp-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.fuel-dash-actions{display:flex;gap:.5rem;flex-wrap:wrap}.fuel-calculation-banner{padding:.85rem 1rem;border-left:3px solid var(--info);background:#06b6d40f}.fuel-calculation-banner p{margin:0;font-size:.88rem;line-height:1.45}.fuel-calculation-meta{margin-top:.35rem!important;color:var(--text-muted);font-size:.82rem!important}.fuel-detail-rate-note{margin:0 1rem 1rem;color:var(--text-muted);font-size:.82rem}.fuel-stat-highlight{background:#22c55e0f;border:1px solid rgba(34,197,94,.18);border-radius:8px;padding:.65rem .75rem}.fuel-stat-highlight strong{color:var(--success)}.fuel-filters{padding:.85rem 1rem}.fuel-filter-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.fuel-filter-row label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.fuel-filter-row select{min-width:160px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg);color:var(--text);font-size:.9rem;text-transform:none;letter-spacing:normal}.fuel-filter-check{flex-direction:row!important;align-items:center!important;text-transform:none!important;letter-spacing:normal!important;color:var(--text)!important;font-size:.9rem!important;padding-bottom:.45rem}.fuel-filter-check input{margin-inline-end:.45rem}.fuel-attention-panel .panel-header{color:var(--danger)}.fuel-attention-list{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem 1rem}.fuel-attention-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);text-align:start;width:100%;cursor:pointer;color:inherit;font:inherit}.fuel-attention-item:hover{background:var(--bg-hover)}.fuel-attention-item strong{display:block}.fuel-attention-item span{font-size:.8rem;color:var(--text-muted)}.fuel-attention-tags{display:flex;flex-wrap:wrap;gap:.35rem}.fuel-anomaly-tag{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap}.fuel-anomaly-critical{background:#ef444426;color:var(--danger)}.fuel-anomaly-warning{background:#f59e0b26;color:var(--warning)}.fuel-anomaly-info{background:#3b82f61f;color:var(--info, #3b82f6)}.fuel-fleet-table tbody tr.fuel-fleet-row{cursor:pointer;transition:background .15s ease}.fuel-fleet-table tbody tr.fuel-fleet-row:hover{background:var(--bg-hover)}.fuel-fleet-table tbody tr.fuel-fleet-row.selected{background:var(--accent-soft)}.fuel-fleet-table td small{display:block;font-size:.75rem;color:var(--text-muted);font-weight:400}.fuel-value-warn{color:var(--warning);font-weight:600}.fuel-status-badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600}.fuel-status-ok{background:#22c55e26;color:var(--success)}.fuel-status-warning{background:#f59e0b26;color:var(--warning)}.fuel-status-critical{background:#ef444426;color:var(--danger)}.fuel-detail-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.fuel-detail-meta{display:block;font-size:.8rem;color:var(--text-muted);font-weight:400}.fuel-detail-anomalies{display:flex;flex-wrap:wrap;gap:.35rem}.fuel-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.fuel-stat{display:flex;flex-direction:column;gap:.2rem}.fuel-stat span{font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.fuel-stat strong{font-size:1rem;font-variant-numeric:tabular-nums}.fuel-chart-panel-body{padding:.75rem 1rem 1rem}.fuel-chart-wrap{width:100%;overflow-x:auto}.fuel-chart-svg{width:100%;min-width:480px;height:auto;display:block}.fuel-chart-critical-zone{fill:#ef444414}.fuel-chart-warning-zone{fill:#f59e0b14}.fuel-chart-grid-line{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.fuel-chart-axis-label{fill:var(--text-muted);font-size:10px}.fuel-chart-threshold-line{stroke-width:1.5;stroke-dasharray:6 4}.fuel-chart-threshold-line.low{stroke:var(--warning)}.fuel-chart-threshold-line.critical{stroke:var(--danger)}.fuel-chart-threshold-label{fill:var(--text-muted);font-size:9px}.fuel-chart-line{stroke:#f59e0b;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}[data-theme=light] .fuel-chart-line{stroke:#d97706}.fuel-chart-anomaly{fill:var(--warning)}.fuel-chart-rapid-drop{fill:var(--danger)}.fuel-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-top:.75rem;font-size:.78rem;color:var(--text-muted)}.fuel-legend-item{display:inline-flex;align-items:center;gap:.4rem}.fuel-legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0}.fuel-legend-swatch.warning{background:#f59e0b59}.fuel-legend-swatch.critical{background:#ef444459}.fuel-legend-swatch.anomaly{background:var(--warning);border-radius:50%}.fuel-legend-swatch.rapid{background:var(--danger);border-radius:50%}.fuel-chart-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted)}.fuel-empty-row{text-align:center;color:var(--text-muted);padding:1.5rem!important}@media(max-width:768px){.fuel-filter-row{flex-direction:column;align-items:stretch}.fuel-filter-row select{width:100%}.fuel-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fuel-attention-item{flex-direction:column;align-items:flex-start}}.journeys-page .journey-header-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.journey-banner{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;border:1px solid var(--banner-info-border);background:var(--banner-info-bg);color:var(--banner-info-text);font-size:.9rem;line-height:1.45}.journey-banner.success,.journey-banner.ok{border-color:var(--banner-success-border);background:var(--banner-success-bg);color:var(--banner-success-text)}.journey-banner.warning,.journey-banner.warn{border-color:var(--banner-warning-border);background:var(--banner-warning-bg);color:var(--banner-warning-text)}.journey-banner.error{border-color:var(--banner-error-border);background:var(--banner-error-bg);color:var(--banner-error-text)}.form-feedback{display:inline-flex;align-items:center;padding:.35rem .65rem;border-radius:6px;font-size:.82rem;font-weight:500;line-height:1.35}.form-feedback.success{background:var(--banner-success-bg);border:1px solid var(--banner-success-border);color:var(--banner-success-text)}.form-feedback.error{background:var(--banner-error-bg);border:1px solid var(--banner-error-border);color:var(--banner-error-text)}.under-development-banner{display:flex;align-items:flex-start;gap:1rem;margin:0 1.5rem 1.25rem;padding:1.35rem 1.5rem;border-radius:12px;border:2px solid color-mix(in srgb,#f59e0b 60%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#f59e0b 20%,var(--bg-panel)),color-mix(in srgb,#fbbf24 14%,var(--bg-panel)));box-shadow:0 6px 24px color-mix(in srgb,#f59e0b 18%,transparent)}.content>.under-development-banner,.dash-view>.under-development-banner{margin:0}.under-development-banner-icon{flex-shrink:0;font-size:2rem;line-height:1;margin-top:.1rem}.under-development-banner-text{min-width:0}.under-development-banner-text strong{display:block;font-size:clamp(1.25rem,2.5vw,1.65rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#f59e0b;line-height:1.15}.under-development-banner-section{display:block;margin-top:.35rem;font-size:1.05rem;font-weight:700;color:var(--text)}.under-development-banner-text p{margin:.55rem 0 0;font-size:.92rem;line-height:1.45;color:var(--text-muted);max-width:72ch}.journey-list{display:flex;flex-direction:column;gap:.65rem;max-height:520px;overflow:auto}.journey-card{text-align:left;border:1px solid var(--border, #333);border-radius:10px;padding:.75rem .9rem;background:color-mix(in srgb,var(--panel, #151515) 92%,#ffd700 8%)}.journey-card.compact{padding:.6rem .8rem}.journey-card.selectable{cursor:pointer;width:100%;color:inherit;font:inherit}.journey-card.selectable:hover,.journey-card.selected{border-color:#c9a227;box-shadow:inset 0 0 0 1px #c9a227}.journey-card-top{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.journey-card-route{margin-top:.35rem;font-size:.9rem;opacity:.9}.journey-card-meta{margin-top:.3rem;font-size:.8rem;opacity:.7}.journey-status{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;text-transform:capitalize;background:#2a2a2a;border:1px solid #444}.journey-status.scheduled{border-color:#4a7ab8;color:#9ec4ff}.journey-status.in_progress{border-color:#c9a227;color:gold}.journey-status.completed{border-color:#3a8f5a;color:#8fefb0}.journey-status.cancelled{border-color:#8a4444;color:#f0a0a0}.journey-status.draft{border-color:#666;color:#ccc}.journey-plan-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem}.journey-plan-side{display:flex;flex-direction:column;gap:1rem}.journey-form{display:flex;flex-direction:column;gap:.75rem}.journey-form label,.journey-filter-controls label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.journey-form input,.journey-form select,.journey-form textarea,.journey-reassign select,.journey-filter-controls input,.panel-body>select{width:100%;border-radius:8px;border:1px solid var(--border, #444);background:var(--input-bg, #111);color:inherit;padding:.55rem .7rem}.journey-stops-header,.journey-form-actions,.journey-reassign-row,.journey-filter-row,.journey-filter-controls,.journey-header-actions{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.journey-form-actions{margin-top:.5rem}.journey-stop-row{display:grid;grid-template-columns:28px 1fr auto;gap:.5rem;align-items:start}.journey-stop-index{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#c9a227;color:#111;font-weight:700;font-size:.8rem;margin-top:.35rem}.journey-stop-fields{display:flex;flex-direction:column;gap:.4rem}.journey-coord-row{display:grid;grid-template-columns:1fr 1fr .8fr;gap:.4rem}.journey-map-wrap{border-radius:10px;overflow:hidden;border:1px solid var(--border, #333)}.journey-map-empty{display:flex;align-items:center;justify-content:center;border:1px dashed var(--border, #444);border-radius:10px;opacity:.7;padding:1rem;text-align:center}.journey-stop-marker span{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#c9a227;color:#111;font-weight:700;border:2px solid #fff;box-shadow:0 1px 4px #00000059}.journey-savings-box{margin-top:.75rem;padding:.75rem;border-radius:8px;background:color-mix(in srgb,#1b3a24 80%,#000);border:1px solid #3a8f5a;display:grid;gap:.25rem;font-size:.9rem}.journey-suggest-title{margin:.85rem 0 .45rem;font-size:.85rem;opacity:.8}.journey-suggest-list{display:flex;flex-direction:column;gap:.45rem}.journey-suggest-item{text-align:left;border:1px solid var(--border, #444);background:transparent;color:inherit;border-radius:8px;padding:.55rem .7rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem}.journey-suggest-item span{font-size:.8rem;opacity:.75}.journey-suggest-item.selected,.journey-suggest-item:hover{border-color:#c9a227}.journey-stop-ol{margin:.85rem 0;padding-left:1.2rem;display:grid;gap:.4rem}.journey-stop-ol li{display:flex;flex-direction:column;gap:.1rem}.journey-stop-ol span{font-size:.8rem;opacity:.7}.journey-detail-meta{margin:.85rem 0;display:grid;gap:.35rem;font-size:.92rem}.journey-reassign{margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--border, #333);display:grid;gap:.55rem}.journey-reassign-row{display:grid;grid-template-columns:1fr auto;gap:.55rem}.journey-filter-row{margin-bottom:.85rem}.btn-ghost.active-filter{border-color:#c9a227;color:gold}.btn-ghost.danger{color:#f0a0a0}.journey-report-filters{margin-bottom:1rem}.journey-filter-controls{align-items:end}@media(max-width:980px){.journey-plan-grid,.journey-reassign-row,.journey-coord-row{grid-template-columns:1fr}}.ws-status-pill{position:fixed;top:12px;right:16px;z-index:40;font-size:.7rem;padding:.2rem .55rem;border-radius:999px;border:1px solid #555;opacity:.7;background:#1a1a1a}.ws-status-pill.on{border-color:#3a8f5a;color:#8fefb0;opacity:1}.realtime-toast{position:fixed;left:16px;bottom:16px;z-index:50;display:flex;gap:.75rem;align-items:center;max-width:min(420px,calc(100vw - 32px));padding:.75rem .9rem;border-radius:10px;border:1px solid #c9a227;background:#1a1a14}.realtime-toast.alert{border-color:#c44}.realtime-toast button{background:transparent;border:none;color:inherit;cursor:pointer}.journey-board-detail-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.journey-crud-bar{margin-bottom:1rem;padding:.85rem 1rem;border-radius:10px;background:#c9a2271a;border:1px solid rgba(201,162,39,.35)}.journey-crud-bar-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.75;margin-bottom:.55rem;font-weight:700}.journey-crud-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.journey-crud-actions .btn-primary,.journey-crud-actions .btn-ghost{text-decoration:none}.journey-quick-edit{margin-bottom:.5rem}.journey-header-actions,.journey-map-header-actions{display:flex;gap:.5rem;flex-wrap:wrap}.journey-map-sidebar-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65;margin:.75rem 0 .35rem;padding:0 .15rem}.journey-color-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:.4rem;vertical-align:middle;box-shadow:0 0 0 1px #ffffff59}.journey-dir-arrow-wrap{background:transparent!important;border:none!important}.journey-dir-arrow{color:var(--c, #c9a227);font-size:14px;line-height:18px;text-align:center;transform:rotate(var(--rot, 0deg));text-shadow:0 0 2px rgba(0,0,0,.55);pointer-events:none}.journey-stop-num-wrap{background:transparent!important;border:none!important}.journey-stop-num{width:28px;height:28px;border-radius:50%;background:var(--c, #c9a227);color:#111;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;border:2px solid #fff;box-shadow:0 1px 4px #00000073}.journey-stop-num.done{background:#22c55e;color:#06210f}.journey-fence-anchor{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;border:2px solid #fff;box-shadow:0 1px 4px #00000073;color:#fff}.journey-fence-anchor.start{background:#4a7ab8}.journey-fence-anchor.end{background:#8a4444}.journey-fence-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.journey-fence-hint{margin:-.25rem 0 .75rem;font-size:.85rem;line-height:1.35}@media(max-width:720px){.journey-fence-row{grid-template-columns:1fr}}.journey-map-page .journey-map-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:1rem;min-height:640px}.journey-map-sidebar .journey-list{max-height:620px}.journey-map-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.journey-map-panel{flex:1;display:flex;flex-direction:column;min-height:420px}.journey-map-body{flex:1;padding:0!important;position:relative;min-height:420px}.journey-fleet-map-wrap{height:100%;min-height:420px}.journey-map-legend-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.journey-map-legend{display:flex;gap:.75rem;flex-wrap:wrap;font-size:.8rem;font-weight:400}.journey-map-legend-item{display:inline-flex;align-items:center;gap:.35rem}.journey-map-legend-item i{width:10px;height:10px;border-radius:50%;display:inline-block}.journey-map-detail-row{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem}.journey-insights-panel .journey-insights-header{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.journey-insights-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.journey-insights-sub{font-size:.85rem;opacity:.75;font-weight:400}.journey-health-pill{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:999px;background:#ffffff14}.journey-health-pill.on_track,.journey-health-pill.stable{color:#8fefb0;background:#22c55e26}.journey-health-pill.watch{color:#ffd56a;background:#eab30826}.journey-health-pill.at_risk{color:#ff8f8f;background:#ef444426}.journey-health-pill.done{color:#8fefb0;background:#22c55e2e}.journey-health-pill.queued{color:#9ec1ff;background:#4a7ab82e}.journey-insights-body{display:flex;flex-direction:column;gap:1rem}.journey-kpi-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.journey-kpi{padding:.75rem .85rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.2rem;min-width:0}.journey-kpi.emphasize{background:#22c55e14;border-color:#22c55e40}.journey-kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;opacity:.65}.journey-kpi-value{font-size:1.35rem;line-height:1.2}.journey-kpi-hint{font-size:.78rem;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.journey-progress-bar{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.journey-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,#22c55e,#c9a227);border-radius:999px}.journey-insights-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:1rem}.journey-insights-section h4{margin:0 0 .55rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;opacity:.75}.journey-insights-dl{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .75rem;margin:0}.journey-insights-dl .wide{grid-column:1 / -1}.journey-insights-dl dt{font-size:.72rem;opacity:.55;margin:0}.journey-insights-dl dd{margin:.1rem 0 0;font-size:.9rem;font-weight:600}.journey-insights-stops{max-height:220px;overflow:auto;margin:0;padding-left:1.1rem}.journey-signals{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.65rem}.journey-signal{padding:.65rem .75rem;border-radius:10px;display:flex;flex-direction:column;gap:.2rem;border:1px solid transparent;font-size:.85rem}.journey-signal strong{font-size:.82rem}.journey-signal.ok{background:#22c55e1a;border-color:#22c55e40}.journey-signal.warn{background:#eab3081a;border-color:#eab30847}.journey-signal.danger{background:#ef44441a;border-color:#ef444447}.journey-signal.info{background:#3b82f61a;border-color:#3b82f640}@media(max-width:1100px){.journey-kpi-strip,.journey-insights-grid{grid-template-columns:1fr 1fr}}@media(max-width:980px){.journey-map-page .journey-map-layout,.journey-map-detail-row,.journey-kpi-strip,.journey-insights-grid{grid-template-columns:1fr}}.journey-stop-ol li.done strong{color:#8fefb0}.journey-stop-ol li.en-route strong{color:gold}.journey-map-empty-hint{position:absolute;left:12px;bottom:12px;z-index:500;background:#000000b3;padding:.5rem .75rem;border-radius:8px}@media(max-width:980px){.journey-map-page .journey-map-layout,.journey-map-detail-row{grid-template-columns:1fr}}.ai-config-status-row{display:flex;align-items:flex-start;gap:1rem}.ai-config-check{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:50%;background:#22c55e26;color:#22c55e;font-size:1.35rem;font-weight:700;flex-shrink:0}.ai-config-meta{margin-top:1rem}.ai-config-details{display:grid;gap:.65rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.ai-config-details div{display:flex;flex-direction:column;gap:.15rem}.ai-config-details strong{font-size:.88rem;word-break:break-all}.ai-token-usage{margin-top:1rem;padding:.85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.ai-token-usage-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.ai-token-usage-bar{height:8px;border-radius:999px;background:var(--bg-hover);overflow:hidden}.ai-token-usage-fill{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.ai-token-usage-fill.limit{background:var(--danger)}.ai-config-hint{margin-top:.75rem}.ai-settings-actions{display:flex;gap:.75rem;margin-top:1rem}.ai-about-copy ul{margin:.75rem 0;padding-left:1.25rem}.field-hint{display:block;margin-top:.35rem;font-size:.82rem;color:var(--text-muted)}.vtrack-ai-fab{position:fixed;left:auto;right:1.25rem;bottom:1.25rem;z-index:1200;display:inline-flex;align-items:center;justify-content:center;width:3.25rem;height:3.25rem;padding:0;border:1px solid #f97316;border-radius:50%;background:var(--bg-panel);color:var(--text);box-shadow:0 8px 24px var(--shadow-md);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.vtrack-ai-fab:after{content:attr(data-tooltip);position:absolute;left:auto;right:calc(100% + .65rem);top:50%;transform:translateY(-50%) translate(4px);padding:.4rem .65rem;border-radius:8px;background:var(--bg-panel);border:1px solid var(--border);box-shadow:0 4px 14px var(--shadow-md);font-size:.82rem;font-weight:600;color:var(--text);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.vtrack-ai-fab:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.vtrack-ai-fab:hover{transform:translateY(-2px);border-color:#fb923c;box-shadow:0 10px 28px var(--shadow-lg)}.vtrack-ai-fab-icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.vtrack-ai-panel{position:fixed;left:auto;right:1.25rem;bottom:1.25rem;z-index:1201;width:min(400px,calc(100vw - 1.5rem));height:min(580px,calc(100vh - 2rem));display:flex;flex-direction:column;background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 48px var(--shadow-lg);overflow:hidden}.vtrack-ai-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-card)}.vtrack-ai-panel-title{display:flex;align-items:center;gap:.65rem;min-width:0}.vtrack-ai-avatar,.vtrack-ai-message-avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;background:var(--accent-soft);color:var(--accent)}.vtrack-ai-avatar{width:2.25rem;height:2.25rem}.vtrack-ai-message-avatar{width:1.65rem;height:1.65rem;margin-top:.15rem}.vtrack-ai-panel-header strong{display:block;font-size:.92rem;line-height:1.2}.vtrack-ai-panel-subtitle{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:var(--text-muted)}.vtrack-ai-status-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px color-mix(in srgb,var(--success) 25%,transparent)}.vtrack-ai-close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-hover);color:var(--text-muted);cursor:pointer;font-size:.9rem;transition:border-color .15s,color .15s}.vtrack-ai-close:hover{border-color:var(--accent);color:var(--text)}.vtrack-ai-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.85rem;background:var(--bg-dark)}.vtrack-ai-welcome p{margin:0 0 .85rem;color:var(--text-muted);font-size:.88rem;line-height:1.5}.vtrack-ai-starters{display:flex;flex-direction:column;gap:.45rem}.vtrack-ai-starter{text-align:left;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:10px;padding:.65rem .75rem;cursor:pointer;font-size:.84rem;line-height:1.35;transition:border-color .15s,background .15s}.vtrack-ai-starter:hover{border-color:var(--accent);background:var(--accent-soft)}.vtrack-ai-message{display:flex;align-items:flex-start;gap:.45rem}.vtrack-ai-message.user{justify-content:flex-end}.vtrack-ai-message.user .vtrack-ai-bubble{background:var(--accent);color:var(--btn-primary-text);border-bottom-right-radius:4px}.vtrack-ai-bubble{max-width:88%;padding:.7rem .85rem;border-radius:12px;line-height:1.45;font-size:.88rem;white-space:pre-wrap}.vtrack-ai-message.assistant .vtrack-ai-bubble{background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-bottom-left-radius:4px}.vtrack-ai-typing{color:var(--text-muted);font-style:italic}.vtrack-ai-error{padding:.65rem .75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--bg-card));color:var(--error-text, var(--danger));font-size:.84rem;line-height:1.4}.vtrack-ai-input-row{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem;border-top:1px solid var(--border);background:var(--bg-panel)}.vtrack-ai-usage-strip{flex:1 1 100%;height:4px;border-radius:999px;background:var(--bg-hover);overflow:hidden}.vtrack-ai-usage-fill{display:block;height:100%;background:var(--accent);transition:width .2s ease}.vtrack-ai-usage-fill.limit{background:var(--danger)}.vtrack-ai-input-row input{flex:1;min-width:0;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:.88rem}.vtrack-ai-input-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.vtrack-ai-send-btn{flex-shrink:0;min-width:4.5rem;padding-left:.85rem;padding-right:.85rem}@media(max-width:640px){.vtrack-ai-fab-label{display:none}.vtrack-ai-panel{right:.75rem;left:.75rem;width:auto}}.header-token-usage{display:flex;flex-direction:column;gap:.3rem;min-width:148px;max-width:200px;padding:.35rem .55rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.header-token-usage:hover{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.header-token-usage-label{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;line-height:1.1}.header-token-usage-title{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.header-token-usage-count{font-size:.78rem;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.header-token-usage-sep{margin:0 .12rem;color:var(--text-muted);font-weight:400}.header-token-usage-bar{position:relative;height:7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--bg-hover));overflow:hidden}.header-token-usage-bar.warning{background:color-mix(in srgb,var(--warning, #f59e0b) 15%,var(--bg-hover))}.header-token-usage-bar.limit{background:color-mix(in srgb,var(--danger) 15%,var(--bg-hover))}.header-token-usage-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 75%,white));transition:width .25s ease}.header-token-usage-bar.warning .header-token-usage-fill{background:linear-gradient(90deg,var(--warning, #f59e0b),#fbbf24)}.header-token-usage-bar.limit .header-token-usage-fill{background:linear-gradient(90deg,var(--danger),#f87171)}.ai-usage-page{gap:1.25rem}.ai-usage-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ai-usage-stat-card{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-panel)}.ai-usage-stat-card.tone-accent{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--bg-panel))}.ai-usage-stat-label{font-size:.78rem;color:var(--text-muted);font-weight:500}.ai-usage-stat-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}.ai-usage-stat-hint{font-size:.75rem;color:var(--text-muted)}.ai-usage-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.ai-usage-chart-panel .panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-usage-badge{font-size:.75rem;font-weight:600;padding:.2rem .55rem;border-radius:999px;background:var(--accent-soft);color:var(--accent)}.ai-usage-badge.limit{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.ai-usage-chart-body{padding:1.25rem}.ai-usage-chart-meta{display:flex;flex-direction:column;gap:.75rem;min-width:0}.ai-usage-chart-copy{font-size:.82rem;line-height:1.45;margin:0}.ai-usage-alert{margin:0;padding:.65rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);font-size:.82rem;font-weight:500}.ai-usage-monthly-body{display:flex;flex-direction:column;gap:1.25rem}.ai-usage-monthly-bar-wrap{display:flex;flex-direction:column;gap:.55rem}.ai-usage-monthly-bar-labels{display:flex;justify-content:space-between;font-size:.72rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ai-usage-monthly-bar{position:relative;height:28px;border-radius:10px;overflow:visible}.ai-usage-monthly-bar-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:color-mix(in srgb,var(--text-muted) 18%,var(--bg-hover))}.ai-usage-monthly-bar-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#6366f1));transition:width .3s ease;max-width:100%}.ai-usage-monthly-bar.warning .ai-usage-monthly-bar-fill{background:linear-gradient(90deg,var(--warning, #f59e0b),#fbbf24)}.ai-usage-monthly-bar.limit .ai-usage-monthly-bar-fill{background:linear-gradient(90deg,var(--danger),#f87171)}.ai-usage-monthly-bar-marker{position:absolute;top:-1.65rem;transform:translate(-50%);font-size:.72rem;font-weight:600;color:var(--text);white-space:nowrap;font-variant-numeric:tabular-nums}.ai-usage-monthly-bar-marker span{display:inline-block;padding:.12rem .4rem;border-radius:6px;background:var(--bg-panel);border:1px solid var(--border)}.ai-usage-monthly-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.82rem;color:var(--text-muted)}.ai-usage-monthly-legend .dot{display:inline-block;width:.55rem;height:.55rem;border-radius:999px;margin-right:.35rem;vertical-align:middle}.ai-usage-monthly-legend .dot.used{background:var(--accent)}.ai-usage-monthly-legend .dot.remaining{background:color-mix(in srgb,var(--text-muted) 35%,transparent)}.ai-usage-monthly-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.ai-usage-monthly-stats>div{display:flex;flex-direction:column;gap:.2rem;padding:.75rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.ai-usage-monthly-stats strong{font-size:1.05rem;font-variant-numeric:tabular-nums}.ai-usage-footnote{padding:.85rem 1rem}.ai-usage-footnote p{margin:0;font-size:.85rem}@media(max-width:1100px){.ai-usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-usage-charts-grid{grid-template-columns:1fr}}@media(max-width:768px){.header-token-usage{min-width:120px;max-width:160px}.ai-usage-summary-grid,.ai-usage-monthly-stats{grid-template-columns:1fr}}.erp-page,.erp-page .settings-section-header h2,.erp-dash-view .dash-kpi-card,.erp-dash-view .dash-kpi-value{color:var(--text)}.erp-stat-list li strong{color:var(--text);font-variant-numeric:tabular-nums}.genset-dash-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.genset-live-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);border:1px solid color-mix(in srgb,var(--success) 28%,transparent)}.genset-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 color-mix(in srgb,var(--success) 45%,transparent);animation:genset-live-pulse 2s ease-out infinite}@keyframes genset-live-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--success) 50%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.genset-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:1rem;align-items:start}.genset-sidebar{padding:0;overflow:hidden;position:sticky;top:.75rem;max-height:calc(100vh - 8rem);display:flex;flex-direction:column}.genset-sidebar-head{padding:.85rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.65rem}.genset-search{width:100%;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input, var(--bg-panel));color:var(--text);font-size:.88rem}.genset-search:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.genset-list-tabs{display:flex;gap:.35rem}.genset-list-tab{flex:1;padding:.4rem .5rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.genset-list-tab.active{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.genset-list{list-style:none;margin:0;padding:.35rem;overflow-y:auto;flex:1}.genset-list-item{width:100%;display:flex;align-items:center;gap:.55rem;padding:.65rem .55rem;border:none;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .15s}.genset-list-item:hover{background:color-mix(in srgb,var(--text) 5%,transparent)}.genset-list-item.selected{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.genset-list-item.offline{opacity:.82}.genset-list-status{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--danger)}.genset-list-status.online{background:var(--success)}.genset-list-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.genset-list-body strong{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.genset-list-body small{font-size:.72rem;color:var(--text-muted)}.genset-list-fuel{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted)}.genset-list-empty{padding:1.25rem .75rem;text-align:center;color:var(--text-muted);font-size:.85rem}.genset-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.genset-unit-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;flex-wrap:wrap}.genset-unit-title{display:flex;align-items:center;gap:.85rem}.genset-unit-title h3{margin:0;font-size:1.15rem}.genset-unit-title p{margin:.2rem 0 0;font-size:.82rem;color:var(--text-muted)}.genset-unit-icon{filter:drop-shadow(0 2px 6px rgba(15,23,42,.12))}.genset-unit-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.genset-status-pill{display:inline-flex;padding:.25rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.genset-status-pill.tone-success{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.genset-status-pill.tone-warning{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.genset-status-pill.tone-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.genset-status-pill.tone-neutral{color:var(--text-muted);background:color-mix(in srgb,var(--text) 8%,transparent)}.genset-last-seen{font-size:.75rem;color:var(--text-muted)}.genset-alert-banner{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent);color:var(--danger);font-size:.88rem}.genset-alert-banner strong{font-size:.92rem}.genset-chart-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.genset-chart-header span{display:block;margin-top:.15rem;font-size:.78rem;font-weight:400;color:var(--text-muted)}.genset-chart-reset{font-size:.78rem;padding:.35rem .65rem}.genset-chart-wrap{display:flex;flex-direction:column;gap:.65rem}.genset-chart-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem .85rem}.genset-chart-toggles{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}.genset-chart-zoom{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-inline-start:auto}.genset-chart-zoom-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem .85rem;min-height:2.15rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--text) 3%,var(--bg-panel, #fff))}.genset-chart-zoom-bar.is-zoomed{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--bg-panel, #fff))}.genset-chart-zoomed-flag{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:750;color:var(--text)}.genset-chart-zoomed-flag:before{content:"";width:.5rem;height:.5rem;border-radius:999px;background:var(--warning);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 22%,transparent)}.genset-chart-zoom-hint{font-size:.78rem;font-weight:600;color:var(--text-muted)}.genset-chart-zoom .btn-secondary,.genset-chart-zoom-bar .btn-secondary{min-height:2rem;padding:.28rem .7rem;font-size:.78rem;font-weight:650}.genset-chart-brush{fill:color-mix(in srgb,var(--warning) 20%,transparent);stroke:var(--warning);stroke-width:1.25;pointer-events:none}.genset-temp-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-inline-start:auto}.genset-chart-toggle{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .65rem .28rem .45rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-panel);color:var(--text-muted);font-size:.78rem;font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none}.genset-chart-toggle input{margin:0;accent-color:currentColor}.genset-chart-toggle-swatch{width:.65rem;height:.65rem;border-radius:999px;flex-shrink:0}.genset-chart-toggle.series-fuel{color:var(--warning)}.genset-chart-toggle.series-temperature{color:var(--info)}.genset-chart-toggle.series-voltage{color:#7c3aed}.genset-chart-toggle.series-ignition{color:var(--success)}.genset-chart-toggle.is-on{background:color-mix(in srgb,currentColor 10%,var(--bg-panel));border-color:color-mix(in srgb,currentColor 45%,var(--border))}.genset-chart-toggle.is-disabled{opacity:.45;cursor:not-allowed}.genset-chart-toggle-label{color:var(--text)}.genset-chart-canvas{position:relative;cursor:crosshair;-webkit-user-select:none;user-select:none;touch-action:pan-y}.genset-chart-canvas.is-brushing{cursor:crosshair}.genset-fuel-chart{width:100%;height:auto;display:block}.genset-chart-grid{stroke:var(--border);stroke-width:1;stroke-dasharray:4 4;opacity:.65}.genset-chart-axis-label{fill:var(--text-muted);font-size:11px}.genset-chart-axis-label.axis-fuel{fill:var(--warning)}.genset-chart-axis-label.axis-temp{fill:var(--info)}.genset-chart-axis-label.axis-voltage{fill:#7c3aed}.genset-chart-line.fuel{stroke:var(--warning);stroke-width:2.2}.genset-chart-line.temperature{stroke:var(--info);stroke-width:2.2}.genset-chart-line.voltage{stroke:#7c3aed;stroke-width:1}.genset-chart-line.liters{stroke:var(--warning);stroke-width:2.2}.genset-chart-line.percent{stroke:var(--accent);stroke-width:2.2}.genset-chart-ignition-band{fill:var(--success);opacity:.14}.genset-chart-crosshair line{stroke:var(--text);stroke-width:1;stroke-dasharray:3 3;opacity:.45}.genset-chart-crosshair .dot-fuel{fill:var(--warning);stroke:var(--bg-panel);stroke-width:1.5}.genset-chart-crosshair .dot-temp{fill:var(--info);stroke:var(--bg-panel);stroke-width:1.5}.genset-chart-crosshair .dot-voltage{fill:#7c3aed;stroke:var(--bg-panel);stroke-width:1.5}.genset-chart-tooltip{position:absolute;transform:translate(-50%,-8px);min-width:13.5rem;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);box-shadow:0 10px 24px var(--shadow-md);pointer-events:none;z-index:2}.genset-chart-tooltip strong{display:block;margin-bottom:.35rem;font-size:.78rem;color:var(--text)}.genset-chart-tooltip p{display:flex;align-items:center;gap:.4rem;margin:.18rem 0 0;font-size:.74rem;color:var(--text-muted)}.genset-chart-tooltip b{margin-inline-start:auto;color:var(--text);font-variant-numeric:tabular-nums}.genset-chart-tooltip .swatch{width:.55rem;height:.55rem;border-radius:999px;flex-shrink:0}.genset-chart-tooltip .swatch.fuel{background:var(--warning)}.genset-chart-tooltip .swatch.temperature{background:var(--info)}.genset-chart-tooltip .swatch.voltage{background:#7c3aed}.genset-chart-tooltip .swatch.ignition{background:color-mix(in srgb,var(--success) 35%,var(--border))}.genset-chart-tooltip .swatch.ignition.on{background:var(--success)}.genset-chart-legend-label{fill:var(--text-muted);font-size:11px}.genset-chart-empty{padding:2rem 1rem;text-align:center;color:var(--text-muted)}.genset-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.genset-today-section{display:flex;flex-direction:column;gap:.65rem}.genset-today-heading{display:flex;flex-direction:column;gap:.15rem}.genset-today-heading strong{font-size:.92rem;font-weight:700;color:var(--text)}.genset-today-heading span{font-size:.76rem;color:var(--text-muted)}.genset-status-card{padding:1rem;display:flex;flex-direction:column;gap:.45rem}.genset-status-card-head{display:flex;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.genset-status-icon{font-size:1.1rem}.genset-status-value{font-size:clamp(1rem,2.1vw,1.45rem);font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere;word-break:break-word}.genset-status-value.on{color:var(--success)}.genset-status-hint{margin:0;font-size:.76rem;color:var(--text-muted);line-height:1.35}.genset-status-detail{display:flex;justify-content:space-between;gap:.5rem;font-size:.76rem;color:var(--text-muted)}.genset-gauge-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--text) 10%,transparent);overflow:hidden}.genset-gauge-fill{display:block;height:100%;border-radius:inherit;transition:width .6s ease}.genset-gauge-fill.tone-success{background:var(--success)}.genset-gauge-fill.tone-warning{background:var(--warning)}.genset-gauge-fill.tone-danger{background:var(--danger)}.genset-gauge-fill.tone-accent{background:var(--accent)}.genset-location-body{display:flex;align-items:flex-start;gap:.65rem}.genset-location-body p{margin:0;font-size:.9rem;line-height:1.5}.genset-location-pin{font-size:1.1rem;line-height:1}@media(max-width:1100px){.genset-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.genset-layout{grid-template-columns:1fr}.genset-sidebar{position:static;max-height:320px}.genset-unit-rangebar{flex-direction:column;align-items:stretch}.genset-unit-rangebar .date-range-presets,.genset-unit-custom-range{width:100%}}@media(max-width:520px){.genset-status-grid{grid-template-columns:1fr}.genset-unit-meta{align-items:flex-start}}@media(prefers-reduced-motion:reduce){.genset-live-dot{animation:none}.genset-gauge-fill,.genset-fuel-tank-liquid.vertical,.genset-fuel-tank-sight i,.genset-fuel-mini-liquid,.genset-fuel-mini-liquid-h,.genset-fuel-mini-tube i{transition:none}.genset-data-spark,.genset-smoke-puff,.genset-cockpit-running-glow,.genset-cockpit-vibration-ring,.genset-fuel-tank-wave,.genset-fuel-tank-wave.horizontal,.genset-fuel-tank-wave.vertical,.genset-fuel-mini-wave,.genset-fuel-mini-wave-h,.genset-map-halo{animation:none!important}}.genset-cockpit-hero{position:relative;border-radius:16px;overflow:visible;border:1px solid color-mix(in srgb,#cbd5e1 55%,transparent);background:#f8fafc;box-shadow:0 8px 24px #0f172a0a}.genset-cockpit-scanlines,.genset-cockpit-glow{display:none}.genset-cockpit-glow-left{left:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent)}.genset-cockpit-glow-right{right:0;background:linear-gradient(270deg,color-mix(in srgb,var(--warning) 12%,transparent),transparent)}.genset-cockpit-inner{position:relative;z-index:1;padding:.75rem 1.15rem 1rem}.genset-cockpit-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.genset-cockpit-identity{min-width:0;max-width:min(100%,42rem)}.genset-cockpit-badge{display:inline-block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.genset-cockpit-place{margin-top:.55rem}.genset-cockpit-place-label{display:block;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--text-muted) 82%,#94a3b8)}.genset-cockpit-city{margin:.1rem 0 0;font-size:.82rem;font-weight:650;letter-spacing:.02em;color:var(--accent, #0f766e)}.genset-cockpit-customer{margin:.18rem 0 0;font-size:clamp(1.22rem,2.1vw,1.62rem);font-weight:600;line-height:1.28;letter-spacing:-.012em;color:color-mix(in srgb,var(--text) 58%,#64748b);text-wrap:balance;-webkit-font-smoothing:antialiased}.genset-cockpit-site{margin:.12rem 0 0;font-size:clamp(1.05rem,1.7vw,1.28rem);font-weight:600;line-height:1.3;letter-spacing:-.01em;color:color-mix(in srgb,var(--text) 52%,#64748b);-webkit-font-smoothing:antialiased}.genset-cockpit-unit{margin:.32rem 0 0;font-size:clamp(.9rem,1.35vw,1.05rem);font-weight:500;letter-spacing:.018em;color:color-mix(in srgb,var(--text-muted) 88%,#94a3b8);-webkit-font-smoothing:antialiased}.genset-cockpit-capacity{margin:.15rem 0 0;font-size:.78rem;color:var(--text-muted)}.genset-cockpit-status-block{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}.genset-cockpit-status{display:inline-flex;padding:.28rem .7rem;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.genset-cockpit-status.running{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.genset-cockpit-status.standby{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);border:1px solid color-mix(in srgb,var(--warning) 28%,transparent)}.genset-cockpit-status.offline{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border:1px solid color-mix(in srgb,var(--danger) 28%,transparent)}.genset-cockpit-live{display:inline-flex;align-items:center;gap:.35rem;font-size:.68rem;color:var(--success)}.genset-cockpit-live-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:genset-live-pulse 1.8s ease-out infinite}.genset-cockpit-body{display:grid;grid-template-columns:minmax(250px,295px) minmax(0,1fr) minmax(219px,250px);gap:1.35rem;align-items:center;padding-inline:.85rem}.genset-cockpit-readouts,.genset-cockpit-readouts-left,.genset-cockpit-readouts-right{display:flex;flex-direction:column;gap:.82rem;align-self:center;justify-content:center;width:100%}.genset-cockpit-hero .genset-metric-card{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.82rem;align-items:center;padding:.9rem 1rem .9rem 1.06rem;border-radius:15px;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 4px 14px #0f172a14;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;color:#0f172a}.genset-cockpit-hero .genset-metric-card:hover{border-color:#cbd5e1!important;box-shadow:0 6px 18px #0f172a1f;transform:translateY(-1px)}.genset-cockpit-hero .genset-metric-card-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:#38bdf8;opacity:.9;box-shadow:0 0 10px #38bdf873}.genset-cockpit-hero .genset-metric-card.tone-success .genset-metric-card-accent{background:#4ade80;box-shadow:0 0 10px #4ade8073}.genset-cockpit-hero .genset-metric-card.tone-warning .genset-metric-card-accent{background:#fbbf24;box-shadow:0 0 10px #fbbf2466}.genset-cockpit-hero .genset-metric-card.tone-danger .genset-metric-card-accent{background:#f87171;box-shadow:0 0 10px #f8717166}.genset-cockpit-hero .genset-metric-card.tone-accent .genset-metric-card-accent{background:#38bdf8;box-shadow:0 0 10px #38bdf873}.genset-cockpit-hero .genset-metric-card-icon-wrap{display:flex;align-items:center;justify-content:center;width:2.7rem;height:2.7rem;border-radius:12px;background:#f8fafc!important;border:1px solid #e2e8f0!important;flex-shrink:0}.genset-cockpit-hero .genset-metric-card.tone-success .genset-metric-card-icon-wrap{background:#4ade801a!important;border-color:#4ade8047!important}.genset-cockpit-hero .genset-metric-card.tone-warning .genset-metric-card-icon-wrap{background:#fbbf241a!important;border-color:#fbbf2447!important}.genset-cockpit-hero .genset-metric-card.tone-danger .genset-metric-card-icon-wrap{background:#f871711a!important;border-color:#f8717147!important}.genset-cockpit-hero .genset-metric-card.tone-accent .genset-metric-card-icon-wrap{background:#38bdf81a!important;border-color:#38bdf847!important}.genset-cockpit-hero .genset-metric-card-icon{font-size:1.25rem;line-height:1;filter:saturate(1.15) brightness(1.08)}.genset-cockpit-hero .genset-metric-card-body{min-width:0;overflow:hidden;container-type:inline-size}.genset-cockpit-hero .genset-metric-card-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#64748b!important}.genset-cockpit-hero .genset-metric-card-value-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.28rem .38rem;margin-top:.16rem;min-width:0;max-width:100%}.genset-cockpit-hero .genset-metric-card-value-row strong{min-width:0;max-width:100%;font-size:1.48rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15;letter-spacing:-.02em;overflow-wrap:anywhere;color:#0f172a!important}.genset-cockpit-hero .genset-metric-card-value-row small{flex-shrink:0;font-size:.85rem;font-weight:600;color:#64748b!important;text-transform:uppercase}.genset-cockpit-hero .genset-metric-card-aside{margin-left:auto;flex-shrink:0;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:#0369a1!important}.genset-cockpit-hero .genset-metric-card.tone-success .genset-metric-card-value-row strong{color:#15803d!important}.genset-cockpit-hero .genset-metric-card.tone-warning .genset-metric-card-value-row strong{color:#b45309!important}.genset-cockpit-hero .genset-metric-card.tone-danger .genset-metric-card-value-row strong{color:#b91c1c!important}.genset-cockpit-hero .genset-metric-card.tone-accent .genset-metric-card-value-row strong{color:#0369a1!important}.genset-cockpit-hero .genset-metric-card-bar{margin-top:.56rem;height:5px;border-radius:999px;background:#e2e8f0!important;overflow:hidden}.genset-cockpit-hero .genset-metric-card-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#38bdf8,#7dd3fc);box-shadow:0 0 8px #38bdf873;transition:width .6s ease}.genset-cockpit-hero .genset-metric-card-hint{display:block;margin-top:.38rem;font-size:.68rem;font-weight:650;letter-spacing:.02em;color:#64748b!important;line-height:1.3}.genset-cockpit-hero .genset-metric-card.tone-success .genset-metric-card-bar span{background:linear-gradient(90deg,#22c55e,#86efac);box-shadow:0 0 8px #22c55e66}.genset-cockpit-hero .genset-metric-card.tone-warning .genset-metric-card-bar span{background:linear-gradient(90deg,#f59e0b,#fcd34d);box-shadow:0 0 8px #f59e0b66}.genset-cockpit-hero .genset-metric-card.tone-danger .genset-metric-card-bar span{background:linear-gradient(90deg,#ef4444,#fca5a5);box-shadow:0 0 8px #ef444466}.genset-cockpit-hero .genset-metric-card.tone-accent .genset-metric-card-bar span{background:linear-gradient(90deg,#0ea5e9,#7dd3fc);box-shadow:0 0 8px #0ea5e966}.genset-cockpit-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:0;overflow:visible;background:transparent;width:100%;gap:.4rem}.genset-cockpit-pair{display:flex;align-items:flex-end;justify-content:center;gap:0;width:100%;padding-bottom:.35rem}.genset-cockpit-visual-wrap{position:relative;flex:0 1 640px;width:auto;max-width:640px;min-width:0;overflow:visible;background:transparent}.genset-unit-photo{display:block;width:100%;height:auto;background:transparent;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 16px 28px rgba(15,23,42,.28))}.genset-cockpit-visual-stage{position:relative;overflow:visible;padding-top:0;background:transparent}.genset-skid-fuel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.genset-skid-fuel-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.genset-skid-fuel-well-shape{fill:none;stroke:none}.genset-skid-fuel-glass-tint{fill:url(#genset-glass-tint);stroke:none}.genset-skid-fuel-liquid-shape{fill:url(#genset-honey-body);stroke:none}.genset-skid-fuel-liquid.is-critical .genset-skid-fuel-liquid-shape{fill:url(#genset-honey-critical)}.genset-skid-fuel-liquid-depth{fill:url(#genset-honey-depth);stroke:none;pointer-events:none}.genset-skid-fuel-liquid-ribs{fill:url(#genset-honey-ribs);stroke:none;opacity:.85;pointer-events:none}.genset-skid-fuel-liquid-foam{fill:url(#genset-honey-foam);stroke:none;opacity:.94}.genset-skid-fuel-liquid.is-critical .genset-skid-fuel-liquid-foam{fill:#fecaca;opacity:.7}.genset-skid-fuel-glass-glare{fill:url(#genset-glass-glare);stroke:none;mix-blend-mode:screen;opacity:.72;pointer-events:none}.genset-skid-fuel-glass-sheen{fill:url(#genset-glass-sheen);stroke:none;mix-blend-mode:screen;opacity:.55;pointer-events:none}.genset-skid-fuel-glass-streak{fill:#ffffffb8;stroke:none;pointer-events:none}.genset-skid-fuel-glass-streak.is-soft{fill:#ffffff61}.genset-skid-fuel-glass-tick{fill:#1c18126b;stroke:none}.genset-skid-fuel-pct{position:absolute;z-index:1;transform:translate(calc(-100% - 10px),-50%);min-width:3.6rem;padding:.36rem .85rem;border-radius:6px;background:#0c0a08f0;border:1px solid rgba(255,214,120,.32);color:#f5d060;font-size:clamp(.98rem,1.8vw,1.22rem);font-weight:800;letter-spacing:.01em;font-variant-numeric:tabular-nums;line-height:1.1;text-align:center;text-shadow:none;box-shadow:0 2px 8px #0000006b,inset 0 1px #ffffff14;white-space:nowrap}.genset-skid-fuel-pct.is-critical{color:#fecaca;background:#1c0808f0;border-color:#f871716b}.genset-skid-fuel-meta{margin:.35rem 0 0;text-align:center;font-size:.72rem;color:var(--text-muted)}.genset-skid-fuel-meta strong{color:var(--text);font-variant-numeric:tabular-nums}.genset-unit-icon{width:100%;height:auto;display:block;overflow:visible}.genset-cockpit-visual-wrap.is-running .genset-unit-photo{filter:drop-shadow(0 16px 30px rgba(47,74,88,.38))}.genset-radiator-fan.is-spinning{transform-origin:0 0;animation:genset-fan-spin 1.1s linear infinite}@keyframes genset-fan-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.genset-data-spark{animation:genset-spark-pulse 2s ease-in-out infinite}@keyframes genset-spark-pulse{0%,to{opacity:.35}50%{opacity:.75}}.genset-cockpit-exhaust-glow{position:absolute;top:6.3%;left:25.5%;width:7%;min-width:18px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(133,142,153,.45) 0%,rgba(158,166,175,.22) 45%,transparent 74%);z-index:4;pointer-events:none;animation:genset-exhaust-pulse 1.8s ease-in-out infinite}.genset-cockpit-visual-wrap.is-offline .genset-unit-photo{opacity:.78;filter:grayscale(.45) saturate(.7)}.genset-unit-running-panel{animation:genset-engine-pulse 2.4s ease-in-out infinite}@keyframes genset-exhaust-pulse{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.08)}}.genset-cockpit-running-glow{animation:genset-engine-pulse 2.4s ease-in-out infinite}@keyframes genset-engine-pulse{0%,to{opacity:.15}50%{opacity:.35}}.genset-cockpit-vibration-ring{display:none}@keyframes genset-vibration{0%,to{transform:translate(0)}25%{transform:translate(.4px,-.3px)}50%{transform:translate(-.3px,.4px)}75%{transform:translate(.3px,.2px)}}.genset-exhaust-mouth{position:absolute;top:-1.2%;left:19.8%;width:16px;height:12px;transform:translate(-50%,-45%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(108,115,124,.42) 0%,rgba(153,160,169,.22) 52%,transparent 78%);filter:blur(1.5px);z-index:7;pointer-events:none}.genset-smoke-stack{position:absolute;top:-1.2%;left:19.8%;width:84px;height:0;transform:translate(-50%);pointer-events:none;z-index:8;overflow:visible}.genset-smoke-puff{position:absolute;left:50%;top:0;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:radial-gradient(circle,rgba(189,194,202,.72) 0%,rgba(167,175,184,.48) 28%,rgba(151,158,167,.22) 54%,transparent 76%);filter:blur(3.4px);opacity:0;animation:genset-smoke-rise 2.8s ease-out infinite;box-shadow:0 0 12px #abb2bb47}.genset-smoke-puff.puff-1{animation-delay:0s;margin-left:-8px;width:28px;height:28px}.genset-smoke-puff.puff-2{animation-delay:.25s;width:32px;height:32px;margin-left:2px}.genset-smoke-puff.puff-3{animation-delay:.5s;margin-left:-12px;width:26px;height:26px}.genset-smoke-puff.puff-4{animation-delay:.75s;width:30px;height:30px;margin-left:6px}.genset-smoke-puff.puff-5{animation-delay:1s;width:36px;height:36px;margin-left:-4px}@keyframes genset-smoke-rise{0%{transform:translateY(2px) scale(.28);opacity:.72}16%{transform:translateY(-8px) scale(.62);opacity:.78}48%{opacity:.42}to{transform:translate(3px,-104px) scale(2.55);opacity:0}}.genset-cockpit-visual-caption{margin:0;font-size:.76rem;color:var(--text-muted);text-align:center}.genset-fuel-tank-visual{display:flex;flex-direction:column}.genset-fuel-tank-visual--toon{position:relative;flex:0 1 274px;width:auto;max-width:274px;min-width:0;margin-left:0;margin-bottom:0;z-index:2;align-items:center;gap:0;--fuel-color: #9a6a14;--fuel-mid: #c49228;--fuel-hi: #e6c24e;--fuel-deep: #5a3a0c}.genset-fuel-tank-art{position:relative;width:100%}.genset-fuel-tank-photo{display:block;position:relative;z-index:1;width:100%;height:auto;background:transparent;object-fit:contain;filter:drop-shadow(-8px 12px 18px rgba(15,23,42,.2))}.genset-fuel-tank-visual--toon.tone-warning,.genset-fuel-tank-visual--toon.tone-danger{--fuel-color: #9a6a14;--fuel-mid: #c49228;--fuel-hi: #e6c24e;--fuel-deep: #5a3a0c}.genset-fuel-tank-well{position:absolute;z-index:2;left:41.2%;width:6.9%;top:19.15%;height:59.35%;overflow:hidden;border-radius:9px;pointer-events:none}.genset-fuel-tank-liquid.vertical{position:absolute;left:0;right:0;bottom:0;min-height:0;border-radius:0;background:linear-gradient(180deg,rgba(255,236,180,.55) 0%,rgba(232,196,90,.14) 9%,transparent 18%),linear-gradient(90deg,rgba(255,244,210,.34) 0%,rgba(230,190,80,.1) 18%,transparent 40%,rgba(40,22,6,.26) 100%),url(/genset-diesel-texture.png),repeating-linear-gradient(181deg,transparent 0 2px,rgba(62,36,8,.2) 2px 3px,transparent 3px 6px,rgba(196,140,40,.16) 6px 7px,transparent 7px 11px),linear-gradient(180deg,var(--fuel-hi) 0%,var(--fuel-mid) 34%,var(--fuel-color) 70%,var(--fuel-deep) 100%);background-size:auto,auto,100% auto,auto,auto;background-blend-mode:soft-light,normal,multiply,overlay,normal;box-shadow:inset 0 1px #ffecbe6b,inset 0 -8px 10px #28160633;transition:height .7s ease,background .45s ease}.genset-fuel-tank-wave.vertical{position:absolute;left:-12%;right:-12%;top:-2px;height:6px;border-radius:50%;background:radial-gradient(ellipse at 30% 40%,rgba(255,236,190,.55),transparent 55%),linear-gradient(180deg,#e8c45ab3,#5a370c73);box-shadow:0 1px 1px #28160640;animation:genset-fuel-wave-v 2.6s ease-in-out infinite}.genset-fuel-tank-lcd{position:absolute;z-index:3;left:55.8%;top:31.4%;width:8.4%;height:9.2%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.05em;pointer-events:none;border-radius:2px;background:#1a140c;color:#e6c24e;font-variant-numeric:tabular-nums;line-height:1;box-shadow:inset 0 0 0 1px #0f172a73}.genset-fuel-tank-lcd span{font-size:.38rem;font-weight:700;letter-spacing:.08em;opacity:.72}.genset-fuel-tank-lcd strong{font-size:.62rem;font-weight:800}.genset-fuel-tank-scale{position:absolute;z-index:3;left:82%;top:25%;bottom:29.6%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;margin:0;padding:0;list-style:none;pointer-events:none;font-size:.62rem;font-weight:700;letter-spacing:.01em;line-height:1;color:color-mix(in srgb,var(--text) 78%,#64748b);font-variant-numeric:tabular-nums}.genset-fuel-tank-scale li{position:relative;padding-left:.45rem}.genset-fuel-tank-scale li:before{content:"";position:absolute;left:-.35rem;top:50%;width:.35rem;height:1.5px;background:color-mix(in srgb,var(--text) 70%,#64748b)}@keyframes genset-fuel-wave-v{0%,to{transform:translate(0) scaleY(1)}50%{transform:translate(7%) scaleY(1.18)}}.genset-fuel-tank-sight{position:absolute;right:13.6%;top:18%;bottom:20%;width:5.2%;border-radius:999px;overflow:hidden;pointer-events:none;background:#94a3b81f}.genset-fuel-tank-sight i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--fuel-hi),var(--fuel-color));transition:height .7s ease;opacity:.88}.genset-fuel-tank-visual--horizontal{width:100%;max-width:440px;margin-top:.15rem;padding-top:.5rem;border-top:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.genset-fuel-tank-visual--toon .genset-fuel-tank-head{position:absolute;left:50%;top:calc(100% + .2rem);transform:translate(-50%);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.28rem;width:max-content;min-width:100%}.genset-fuel-tank-visual--toon .genset-fuel-tank-readouts{justify-content:center;flex-wrap:wrap;gap:.65rem}.genset-fuel-tank-visual--horizontal .genset-fuel-tank-head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:.55rem}.genset-fuel-tank-title{display:inline-block;font-size:.92rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#fff;padding:.28rem .72rem;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 92%,#fff),var(--accent));border:1px solid color-mix(in srgb,var(--accent) 70%,#0f172a);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent),0 6px 16px color-mix(in srgb,var(--accent) 28%,transparent)}.genset-fuel-tank-type{display:block;margin-top:.1rem;font-size:.72rem;color:var(--accent);font-weight:600}.genset-fuel-tank-shell.horizontal{position:relative;width:100%;display:flex;flex-direction:row;align-items:stretch;height:56px}.genset-fuel-tank-end{width:16px;flex-shrink:0;background:linear-gradient(180deg,#a1a1aa,#71717a 55%,#52525b);border:1px solid #52525b}.genset-fuel-tank-end.left{border-radius:12px 0 0 12px;border-right:none}.genset-fuel-tank-end.right{border-radius:0 12px 12px 0;border-left:none}.genset-fuel-tank-glass.horizontal{position:relative;flex:1;height:100%;border-top:2px solid #52525b;border-bottom:2px solid #3f3f46;background:linear-gradient(180deg,rgba(255,255,255,.14) 0%,transparent 28%),linear-gradient(180deg,#a8a29e,#78716c 42%,#57534e);overflow:hidden;box-shadow:inset 0 2px 6px #0000002e,inset 0 -2px 4px #0000001f}.genset-fuel-tank-shell.horizontal.empty .genset-fuel-tank-glass.horizontal{background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 28%),linear-gradient(180deg,#a1a1aa,#737373 48%,#525252)}.genset-fuel-tank-liquid.horizontal{position:absolute;left:0;top:0;bottom:0;height:100%;min-width:2px;background:linear-gradient(90deg,#b45309,#d97706,#f59e0b 70%,#fbbf24);transition:width .7s ease;box-shadow:inset -3px 0 10px #b4530959;z-index:1}.genset-fuel-tank-shell.horizontal.low .genset-fuel-tank-liquid.horizontal{background:linear-gradient(90deg,#ea580c,#f97316,#fb923c)}.genset-fuel-tank-shell.horizontal.critical .genset-fuel-tank-liquid.horizontal{background:linear-gradient(90deg,#dc2626,#ef4444,#f87171);box-shadow:inset -4px 0 12px #ef444459}.genset-fuel-tank-wave.horizontal{position:absolute;top:-15%;right:-3px;width:10px;height:130%;background:#ffffff38;border-radius:50%;animation:genset-fuel-wave-h 2.8s ease-in-out infinite}@keyframes genset-fuel-wave-h{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.genset-fuel-tank-mark.horizontal{position:absolute;top:4px;font-size:.52rem;font-weight:600;color:#27272ab8;transform:translate(-50%);pointer-events:none;z-index:2}.genset-fuel-tank-readouts{display:flex;flex-direction:row;align-items:flex-end;gap:1rem;flex-shrink:0}.genset-fuel-tank-pct strong,.genset-fuel-tank-liters strong{display:block;font-size:1.1rem;line-height:1;font-variant-numeric:tabular-nums;color:var(--text)}.genset-fuel-tank-pct span,.genset-fuel-tank-liters span{display:block;margin-top:.12rem;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.genset-fuel-tank-capacity{font-size:.68rem;color:var(--text-muted);line-height:1.35;white-space:nowrap}@media(max-width:960px){.genset-cockpit-body{grid-template-columns:1fr}.genset-cockpit-center{order:-1}.genset-cockpit-pair{align-items:flex-end}.genset-cockpit-readouts-left,.genset-cockpit-readouts-right,.genset-cockpit-readouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.genset-fuel-tank-visual--horizontal .genset-fuel-tank-head{flex-wrap:wrap}}@media(max-width:640px){.genset-geo-row-head{flex-wrap:wrap}.genset-geo-select{flex:1;min-width:0;max-width:none}.genset-cockpit-readouts-left,.genset-cockpit-readouts-right,.genset-cockpit-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.genset-fuel-tank-readouts{flex-wrap:wrap;gap:.5rem}}.genset-live-badge.is-demo{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.genset-source-note{margin:0 0 .75rem;font-size:.82rem;color:var(--text-muted)}.genset-command{display:grid;gap:.95rem;margin-bottom:1rem}.genset-command-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:.6rem}.genset-command-chip{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem .75rem;border-radius:12px;border:1px solid var(--border);background:#fff;color:var(--text);text-align:left;cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,border-color .2s ease}.genset-command-chip:hover,.genset-command-chip.active{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.genset-command-chip:hover{transform:translateY(-3px);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),0 12px 22px #0f172a1a}.genset-command-chip strong{transform-origin:left center;transition:transform .28s ease}.genset-command-chip:hover strong{animation:genset-command-chip-pop 1.15s ease-in-out infinite}@keyframes genset-command-chip-pop{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@media(prefers-reduced-motion:reduce){.genset-command-chip:hover strong{animation:none;transform:scale(1.04)}}.genset-command-chip-label,.genset-command-chip-hint{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.genset-command-chip strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.genset-command-chip strong small{margin-inline-start:.2rem;font-size:.72rem;color:var(--text-muted)}.genset-command-chip.tone-success strong{color:var(--success)}.genset-command-chip.tone-warning strong{color:var(--warning)}.genset-command-chip.tone-danger strong{color:var(--danger)}.genset-command-chip.tone-accent strong{color:var(--accent)}.genset-mix{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.genset-mix-card{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;padding:.35rem .2rem .55rem;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:16px;background:#fff;color:var(--text);cursor:pointer;perspective:420px;transition:transform .28s ease,box-shadow .28s ease,border-color .2s ease,background .2s ease}.genset-mix-card:hover,.genset-mix-card.is-active{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--surface));transform:translateY(-3px);box-shadow:0 12px 24px #0f172a1a}.genset-mix-pie-svg{width:100%;max-width:200px;height:auto;overflow:visible;transform-origin:50% 58%;transform-style:preserve-3d;transition:transform .35s ease}.genset-mix-card:hover .genset-mix-pie-svg{animation:genset-mix-pie-turn 1.35s ease-in-out infinite}.genset-mix-card.is-active:not(:hover) .genset-mix-pie-svg{transform:scale(1.04)}@keyframes genset-mix-pie-turn{0%,to{transform:rotateY(-12deg) rotateX(5deg) scale(1.05)}50%{transform:rotateY(16deg) rotateX(-2deg) scale(1.08)}}@media(prefers-reduced-motion:reduce){.genset-mix-card:hover .genset-mix-pie-svg,.genset-mix-card.is-active .genset-mix-pie-svg{animation:none;transform:scale(1.04)}}.genset-mix-pie-pct{fill:#fff;font-size:22px;font-weight:800;letter-spacing:-.03em;pointer-events:none;paint-order:stroke;stroke:#1118278c;stroke-width:3.2px}.genset-mix-card strong{font-size:1.2rem;font-variant-numeric:tabular-nums;line-height:1.1}.genset-mix-card span{font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-align:center}.genset-geo-nav{display:flex;flex-direction:column;gap:.95rem;margin-bottom:.85rem;padding:.95rem 1rem .85rem;border:1px solid #c9ced6;border-radius:18px;background:#e6e8ed;color:#2f3340}.genset-geo-row{display:flex;flex-direction:column;gap:.55rem}.genset-geo-row-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.genset-geo-row-head .genset-geo-select{margin-left:auto;width:min(16rem,100%);flex:0 1 16rem}.genset-geo-nav .searchable-vehicle-select-input{height:34px;border-color:#c5cad3;background:#f3f4f7;color:#2f3340}.genset-geo-row-label{display:inline-flex;align-items:center;gap:.45rem;min-width:0;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#5b6170}.genset-geo-row-label:before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:#7c4dff;box-shadow:0 0 0 3px #7c4dff2e}.genset-geo-results{flex:0 0 auto;padding:.22rem .7rem;border:1px solid #c5cad3;border-radius:999px;background:#d5d8df;color:#4a5060;font-size:.7rem;font-weight:600}.admin-filter-select{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 .6rem}.genset-geo-select{min-height:34px;max-width:16rem;border:1px solid #c5cad3;border-radius:8px;background:#f3f4f7;color:#2f3340;padding:0 .6rem}.genset-geo-carousel{display:flex;align-items:center;gap:.5rem}.genset-geo-track{display:flex;gap:.5rem;overflow-x:auto;scroll-behavior:smooth;padding:.2rem .05rem;scrollbar-width:none}.genset-geo-track::-webkit-scrollbar{display:none}.genset-geo-chip{display:inline-flex;flex-direction:row;align-items:center;gap:.5rem;flex:0 0 auto;min-width:0;padding:.38rem .42rem .38rem .9rem;border:1px solid #c5cad3;border-radius:999px;background:#f3f4f7;color:#2f3340;cursor:pointer;text-align:start}.genset-geo-chip strong{font-size:.8rem;font-weight:600;line-height:1.15}.genset-geo-chip small{display:inline-flex;align-items:center;justify-content:center;min-width:1.45rem;height:1.45rem;padding:0 .38rem;border-radius:999px;background:#d9dce3;color:#4a5060;font-size:.68rem;font-weight:700;font-variant-numeric:tabular-nums}.genset-geo-chip.active{background:linear-gradient(90deg,#6334e3,#7c4dff);border-color:transparent;color:#fff;box-shadow:0 8px 20px #6334e36b}.genset-geo-chip.active small{background:#140a3061;color:#fff}.genset-geo-chevron{flex:0 0 auto;width:1.7rem;height:1.7rem;border:1px solid #c5cad3;border-radius:999px;background:#d5d8df;color:#3a3f4d;cursor:pointer}.genset-geo-chevron:hover{border-color:#aeb4c0;background:#cdd1d9;color:#1f2330}.genset-geo-crumb{display:flex;align-items:center;gap:.4rem;margin:0;font-size:.78rem;font-weight:600;color:#5b6170}.genset-fleet-results{scroll-margin-top:1rem}.genset-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:.9rem}.genset-toolbar .genset-search{min-width:220px;flex:1}.genset-toolbar-city{display:flex;align-items:center;gap:.4rem;flex:0 1 18rem;min-width:14rem}.genset-toolbar-city>span{font-size:.78rem;font-weight:700;color:var(--text-muted);white-space:nowrap}.genset-toolbar-city .searchable-vehicle-select{flex:1;min-width:0}.genset-site-filter,.genset-toggle,.genset-view-toggle button{min-height:36px}.genset-site-filter{border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);padding:0 .6rem}.genset-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.genset-view-toggle{display:inline-flex;margin-inline-start:auto;border:1px solid var(--border);border-radius:999px;overflow:hidden}.genset-view-toggle button{border:0;background:transparent;color:var(--text-muted);padding:0 .8rem;cursor:pointer}.genset-view-toggle button.active{background:var(--accent);color:#fff}.genset-attention{margin-bottom:1rem;padding:.85rem;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--warning) 7%,var(--surface))}.genset-attention-head,.genset-detail-head{display:flex;justify-content:flex-end;align-items:flex-start;gap:.75rem;margin-bottom:.7rem}.genset-attention-head span{display:block;font-size:.78rem;color:var(--text-muted)}.genset-attention-nav{display:inline-flex;align-items:center;gap:.4rem}.genset-attention-track,.genset-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.65rem}.genset-attention-card,.genset-fleet-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;padding:.8rem .8rem .8rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:inherit;text-align:left;cursor:pointer}.genset-attention-card:hover,.genset-fleet-card:hover,.genset-fleet-card.selected,.genset-fleet-table tr.selected{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.genset-fleet-card-rail{position:absolute;inset:0 auto 0 0;width:5px;border-radius:12px 0 0 12px;background:var(--text-muted)}.genset-fleet-card.state-running .genset-fleet-card-rail,.genset-fleet-state.state-running{background:var(--success)}.genset-fleet-card.state-standby .genset-fleet-card-rail{background:var(--accent)}.genset-fleet-card.state-stale .genset-fleet-card-rail,.genset-fleet-card.severity-warning .genset-fleet-card-rail{background:var(--warning)}.genset-fleet-card.state-offline .genset-fleet-card-rail,.genset-fleet-card.severity-critical .genset-fleet-card-rail{background:var(--danger)}.genset-fleet-card-head,.genset-fleet-card-metrics,.genset-fleet-card-foot,.genset-attention-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;width:100%}.genset-fleet-card-name,.genset-attention-card strong{font-size:.86rem}.genset-fleet-card-city{display:block;margin-top:.12rem;color:var(--accent, #0f766e);font-size:.72rem;font-weight:700;letter-spacing:.02em}.genset-fleet-card-site,.genset-attention-card small,.genset-fleet-table small{display:block;color:var(--text-muted);font-size:.72rem}.genset-fleet-state,.genset-attention-state,.genset-acc{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.genset-fleet-state.state-running,.genset-acc.on{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.genset-fleet-state.state-standby{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent)}.genset-fleet-state.state-stale{color:var(--warning);background:color-mix(in srgb,var(--warning) 14%,transparent)}.genset-fleet-state.state-offline,.genset-acc.off{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.genset-fleet-fuel-bar{width:100%;height:6px;border-radius:999px;background:color-mix(in srgb,var(--border) 70%,transparent);overflow:hidden}.genset-fleet-fuel-bar span{display:block;height:100%;background:var(--success)}.genset-fleet-fuel-bar.tone-warning span{background:var(--warning)}.genset-fleet-fuel-bar.tone-danger span{background:var(--danger)}.genset-fleet-card-metrics,.genset-fleet-card-foot,.genset-attention-meta{font-size:.74rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.genset-fleet-card-foot .is-warn{color:var(--warning);font-weight:700}.genset-fav-btn{margin-inline-start:auto;border:0;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.genset-fav-btn.on{color:#f5b301}.genset-site-heading{margin:.4rem 0 .55rem;font-size:.95rem}.genset-site-heading small{color:var(--text-muted);font-weight:500}.genset-table-wrap{overflow-x:auto}.genset-unit-report-panel .panel-body,.genset-chart-panel .panel-body,.genset-unit-refuel-panel .panel-body{padding:1rem}.genset-unit-report-panel .genset-table-wrap{margin:0}.genset-onoff-report{display:flex;flex-direction:column;gap:.9rem}.genset-onoff-timeline{display:flex;flex-direction:column;gap:.4rem}.genset-onoff-timeline-head{display:flex;flex-direction:column;gap:.1rem}.genset-onoff-timeline-head strong{font-size:.92rem}.genset-onoff-timeline-head span{font-size:.78rem;color:var(--text-muted)}.genset-onoff-timeline-bar{position:relative;padding:2px 0 0}.genset-onoff-timeline-track{display:flex;height:12px;border-radius:999px;overflow:hidden;background:#e2e8f0;box-shadow:inset 0 0 0 1px #0f172a14}.genset-onoff-timeline-focus{position:absolute;top:-2px;height:20px;border-radius:10px;border:2px solid #0f172a;background:color-mix(in srgb,#0f172a 8%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,#f8fafc 70%,transparent);pointer-events:none;box-sizing:border-box}.genset-onoff-timeline-segment{min-width:0;height:100%}.genset-onoff-timeline-meta{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;font-size:.78rem;color:var(--text-muted)}.genset-onoff-timeline-scale-start,.genset-onoff-timeline-scale-end{min-width:0}.genset-onoff-timeline-scale-end{text-align:right}.genset-onoff-timeline-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem .85rem}.genset-onoff-timeline-legend-item{display:inline-flex;align-items:center;gap:.35rem}.genset-onoff-timeline-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.genset-onoff-timeline-dot.is-running{background:#22c55e}.genset-onoff-timeline-dot.is-off{background:#3b82f6}.genset-onoff-table{width:100%;border-collapse:collapse;font-size:.84rem}.genset-onoff-table th,.genset-onoff-table td{padding:.7rem;border-bottom:1px solid var(--border);vertical-align:middle;text-align:left}.genset-onoff-table th:first-child,.genset-onoff-table td:first-child{padding-left:0}.genset-onoff-table th:last-child,.genset-onoff-table td:last-child{padding-right:0}.genset-onoff-table th{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);background:color-mix(in srgb,var(--text) 3%,var(--bg-panel, #fff))}.genset-onoff-table tbody tr{cursor:pointer}.genset-onoff-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.genset-onoff-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--accent)}.genset-onoff-table tbody tr:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-2px}.genset-onoff-table .col-num{text-align:left;font-variant-numeric:tabular-nums}.genset-onoff-table th:nth-child(4),.genset-onoff-table th:nth-child(6),.genset-onoff-table tbody td:nth-child(4),.genset-onoff-table tbody td:nth-child(6),.genset-onoff-table tfoot td:nth-child(2),.genset-onoff-table tfoot td:nth-child(4){text-align:right}.genset-onoff-index{font-weight:700;color:var(--text-muted)}.genset-onoff-stack{display:flex;flex-direction:column;gap:.55rem}.genset-onoff-stack span{line-height:1.35}.genset-onoff-event{font-weight:700;letter-spacing:.02em}.genset-onoff-event.is-on{color:#16a34a}.genset-onoff-event.is-off{color:var(--text-muted)}.genset-onoff-when{display:flex;flex-direction:column;gap:.15rem;line-height:1.3}.genset-onoff-when strong{font-weight:650;color:var(--text)}.genset-onoff-when span{font-size:.82rem;color:var(--text-muted)}.genset-onoff-duration{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.genset-onoff-status{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.genset-onoff-status.is-active{color:#15803d;background:color-mix(in srgb,#22c55e 14%,#fff)}.genset-onoff-status.is-completed{color:#334155;background:color-mix(in srgb,#64748b 12%,#fff)}.genset-onoff-table tfoot td{border-bottom:0;background:color-mix(in srgb,var(--text) 4%,var(--bg-panel, #fff));font-weight:700}.genset-temp-chart{display:flex;flex-direction:column;gap:.85rem}.genset-temp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.genset-temp-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.genset-temp-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--border);background:var(--bg-panel, #fff);border-radius:999px;padding:.38rem .7rem;font-family:inherit;font-size:.78rem;font-weight:600;color:var(--text);cursor:pointer}.genset-temp-chip i{width:.7rem;height:.7rem;border-radius:3px;background:currentColor}.genset-temp-chip b{color:var(--text-muted);font-weight:650}.genset-temp-chip.is-temp{color:#d97706}.genset-temp-chip.is-fuel{color:#ea580c}.genset-temp-chip.is-ignition{color:#16a34a}.genset-temp-chip.is-min{color:#0ea5e9}.genset-temp-chip.is-max{color:#eab308}.genset-fuel-capacity-chip{display:inline-flex;align-items:center;padding:.38rem .75rem;border-radius:999px;background:color-mix(in srgb,var(--text) 5%,transparent);color:var(--text-muted);font-size:.78rem;font-weight:650}.genset-temp-chip:not(.is-on){opacity:.45}.genset-temp-range{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;color:var(--text-muted)}.genset-temp-range label{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .5rem;border-radius:10px;background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text-muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.genset-temp-range input{width:4.2rem;border:0;background:transparent;color:var(--text);font-family:inherit;font-size:.82rem;font-weight:600}.genset-temp-range input:focus{outline:none}.genset-temp-stats{display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 1.5rem;font-size:.8rem;color:var(--text-muted)}.genset-temp-stats span{display:inline-flex;align-items:baseline;gap:.4rem}.genset-temp-stats b{color:var(--text);margin-inline-start:0;font-variant-numeric:tabular-nums}.genset-temp-canvas{margin-top:.15rem}.genset-temp-line{stroke:#f59e0b;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.genset-fuelpct-line{stroke:#ea580c;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.genset-fuel-capacity-line{stroke:var(--text);stroke-width:1.25;stroke-dasharray:4 5;opacity:.45}.genset-temp-ref{fill:none;stroke-width:1.5;stroke-dasharray:5 4}.genset-temp-ref.is-min{stroke:#0ea5e9}.genset-temp-ref.is-max{stroke:#eab308}.genset-temp-canvas{min-height:18rem}.genset-fleet-table{width:100%;border-collapse:collapse;font-size:.82rem}.genset-fleet-table th,.genset-fleet-table td{padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.genset-fleet-table tbody tr{cursor:pointer}.genset-fleet-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.genset-fleet-table .col-num{text-align:right;font-variant-numeric:tabular-nums}.genset-fleet-table .col-fuel{text-align:left;min-width:168px}.genset-fleet-table .col-center{text-align:center}.genset-fuel-mini{--fuel-color: #e4a21f;--fuel-surface: #f4c14a;display:inline-flex;align-items:center;gap:.45rem}.genset-fuel-mini.tone-success{--fuel-color: #e4a21f;--fuel-surface: #f4c14a}.genset-fuel-mini.tone-warning{--fuel-color: #f59e0b;--fuel-surface: #fbbf24}.genset-fuel-mini.tone-danger{--fuel-color: #dc2626;--fuel-surface: #f87171}.genset-fuel-mini-art{position:relative;width:40px;height:52px;flex-shrink:0}.genset-fuel-mini-photo{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(15,23,42,.16))}.genset-fuel-mini-well{position:absolute;left:10%;right:22%;top:17%;bottom:20%;overflow:hidden;border-radius:18% 12% 16% 20%/10% 8% 12% 14%;pointer-events:none}.genset-fuel-mini-liquid{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--fuel-surface),var(--fuel-color));transition:height .7s ease,background .45s ease;opacity:.88}.genset-fuel-mini-wave{position:absolute;top:-3px;left:-15%;display:block;width:130%;height:6px;border-radius:50%;background:#ffffff73;animation:genset-fuel-wave-v 2.8s ease-in-out infinite}.genset-fuel-mini-tube{position:absolute;right:1px;top:14%;bottom:18%;width:5px;border-radius:999px;background:#94a3b847;overflow:hidden;box-shadow:inset 0 0 0 1px #47556933}.genset-fuel-mini-tube i{position:absolute;left:0;right:0;bottom:0;background:var(--fuel-color);border-radius:999px 999px 2px 2px;transition:height .7s ease}.genset-fuel-mini-readout{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;font-variant-numeric:tabular-nums}.genset-fuel-mini-readout strong{font-size:.92rem;color:var(--text)}.genset-fuel-mini.tone-warning .genset-fuel-mini-readout strong{color:var(--warning)}.genset-fuel-mini.tone-danger .genset-fuel-mini-readout strong{color:var(--danger)}.genset-fuel-mini-readout span,.genset-fuel-mini-readout small{font-size:.68rem;color:var(--text-muted);font-weight:600}.genset-fuel-mini-readout small.is-warn{color:var(--warning)}.genset-fuel-mini--horizontal{flex-direction:column;align-items:stretch;gap:.22rem;min-width:132px}.genset-fuel-mini-shell{display:flex;flex-direction:row;align-items:stretch;height:18px;width:100%}.genset-fuel-mini-end{width:8px;flex-shrink:0;background:linear-gradient(180deg,#a1a1aa,#71717a 55%,#52525b);border:1px solid #52525b}.genset-fuel-mini-end.left{border-radius:9px 0 0 9px;border-right:none}.genset-fuel-mini-end.right{border-radius:0 9px 9px 0;border-left:none}.genset-fuel-mini-glass{position:relative;flex:1;overflow:hidden;border-top:1px solid #52525b;border-bottom:1px solid #3f3f46;background:linear-gradient(180deg,rgba(255,255,255,.16) 0%,transparent 32%),linear-gradient(180deg,#a8a29e,#78716c 48%,#57534e)}.genset-fuel-mini-liquid-h{position:absolute;left:0;top:0;bottom:0;min-width:2px;background:linear-gradient(90deg,var(--fuel-color) 0%,var(--fuel-surface) 70%,var(--fuel-surface) 100%);transition:width .7s ease,background .45s ease;box-shadow:inset -2px 0 6px color-mix(in srgb,var(--fuel-color) 35%,transparent)}.genset-fuel-mini-wave-h{position:absolute;top:-20%;right:-3px;display:block;width:7px;height:140%;border-radius:50%;background:#ffffff47;animation:genset-fuel-wave-h 2.8s ease-in-out infinite}.genset-fuel-mini--horizontal .genset-fuel-mini-readout{flex-direction:row;align-items:baseline;gap:.4rem}.genset-fuel-mini--horizontal .genset-fuel-mini-readout strong{font-size:.86rem}.genset-fleet-fuel-row{display:flex;align-items:center;width:100%;margin:.15rem 0 .1rem}.genset-fleet-table .is-fault{color:var(--danger);font-weight:700}.genset-table-link{color:var(--accent);font-weight:700}.genset-table-empty{text-align:center;color:var(--text-muted);padding:1.2rem}.genset-unit-page{max-width:none}.genset-unit-page .dash-view-header,.genset-unit-page .genset-live-badge{display:none}.genset-unit-picker-filter{display:flex;flex-direction:column;gap:.3rem}.genset-unit-picker-filter span{font-size:.75rem;font-weight:600;color:var(--text-muted)}a.genset-list-item{text-decoration:none;box-sizing:border-box}.genset-unit-controls{display:flex;flex-direction:column;gap:.75rem}.genset-unit-rangebar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .85rem;border-radius:16px;background:var(--bg-panel, #fff);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 8px 22px #0f172a0a}.genset-unit-rangebar .date-range-presets{flex:1;min-width:0}.genset-unit-custom-range{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.genset-unit-custom-range label{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:10px;background:color-mix(in srgb,var(--text) 4%,transparent)}.genset-unit-custom-range label span{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.genset-unit-custom-range input[type=datetime-local]{border:0;background:transparent;color:var(--text);min-width:12.5rem;font-family:inherit;font-size:.85rem;font-weight:550;letter-spacing:.01em;line-height:1.3;font-variant-numeric:tabular-nums}.genset-unit-custom-range input[type=datetime-local]:focus{outline:none}.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-text,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-year-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-month-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-day-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-hour-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-minute-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-second-field,.genset-unit-custom-range input[type=datetime-local]::-webkit-datetime-edit-ampm-field{font-family:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;padding:0}.genset-unit-custom-range input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.genset-unit-range-arrow{color:var(--text-muted);font-size:.9rem}.genset-period-banner{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.55rem 1rem;margin:0 0 .9rem;padding:.7rem .9rem;border-radius:12px;border:1px solid color-mix(in srgb,#0f766e 22%,var(--border));background:color-mix(in srgb,#0f766e 8%,var(--bg-panel, #fff))}.genset-period-banner div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.genset-period-banner span,.genset-period-banner em{font-size:.75rem;font-style:normal;color:var(--text-muted)}.genset-period-banner strong{font-size:.92rem;line-height:1.35}.genset-period-banner-side{display:flex;align-items:center;gap:.75rem;margin-left:auto}.genset-unit-tabstrip{display:flex;flex-wrap:wrap;gap:0;overflow-x:auto;padding:0;border-bottom:1px solid var(--border)}.genset-unit-tabstrip button{border:0;background:transparent;padding:.38rem .7rem;font-size:.78rem;font-weight:650;color:var(--text-muted);border-radius:0;cursor:pointer;white-space:nowrap}.genset-unit-tabstrip button:hover{color:var(--text);background:color-mix(in srgb,var(--text) 4%,transparent)}.genset-unit-tabstrip button[aria-selected=true]{color:var(--accent);background:transparent;box-shadow:inset 0 -2px 0 var(--accent)}.genset-unit-report-panel .panel-header span,.genset-unit-refuel-panel .panel-header span,.genset-chart-header span{display:block;margin-top:.2rem;font-weight:400;color:var(--text-muted)}.genset-unit-export-actions{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.genset-unit-pager{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-top:.85rem}.genset-unit-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem}.genset-unit-tabs .genset-list-tab{flex:0 0 auto;padding:.45rem .85rem}.genset-unit-cockpit{display:flex;flex-direction:column;gap:1rem;padding:.15rem 0 .35rem;background:#f8fafc;border-radius:16px}.genset-unit-report-placeholder{min-height:8rem}.genset-report-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;min-height:16rem;padding:2rem 1rem;color:var(--text-muted);text-align:center}.genset-report-loader p{margin:0;font-size:.92rem;font-weight:600}.genset-report-loader-hint{font-size:.82rem;font-weight:500;max-width:28rem}.genset-report-spinner{width:2.25rem;height:2.25rem;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent) 18%,var(--border));border-top-color:var(--accent);animation:genset-report-spin .7s linear infinite}@keyframes genset-report-spin{to{transform:rotate(360deg)}}.genset-detail-drawer{margin-top:1.1rem;padding:1rem;border:1px solid var(--border);border-radius:16px;background:var(--surface);scroll-margin-top:1.25rem}.genset-alert-banner.is-warn{background:color-mix(in srgb,var(--warning) 12%,transparent);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.genset-chart-event text{font-size:9px;fill:var(--text-muted)}.genset-chart-event.event-refuel circle{fill:var(--success)}.genset-chart-event.event-drain circle{fill:var(--danger)}@media(max-width:1100px){.genset-mix{grid-template-columns:repeat(3,minmax(0,1fr))}}.genset-fmb-alerts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.genset-fmb-alert-card{--fmb-tone: #3b82f6;display:flex;flex-direction:column;gap:.55rem;min-width:0;min-height:9.4rem;padding:.85rem .9rem .35rem;border-radius:16px;background:var(--bg-panel, #fff);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);box-shadow:0 8px 22px #0f172a0f;color:var(--text);overflow:hidden;cursor:default;transition:transform .28s ease,box-shadow .28s ease,border-color .2s ease}.genset-fmb-alert-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--fmb-tone) 42%,var(--border));box-shadow:0 14px 26px color-mix(in srgb,var(--fmb-tone) 18%,rgba(15,23,42,.08))}.genset-fmb-alert-head{display:flex;align-items:flex-start;gap:.55rem}.genset-fmb-alert-icon{flex-shrink:0;width:2.15rem;height:2.15rem;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(180deg,var(--fmb-tone-hi),var(--fmb-tone));box-shadow:0 6px 12px color-mix(in srgb,var(--fmb-tone) 32%,transparent);transition:transform .28s ease}.genset-fmb-alert-card:hover .genset-fmb-alert-icon{animation:genset-fmb-icon-bob 1.15s ease-in-out infinite}.genset-fmb-alert-icon svg{width:1.15rem;height:1.15rem}.genset-fmb-alert-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:.05rem}.genset-fmb-alert-title{font-size:.92rem;font-weight:700;line-height:1.2;color:var(--text)}.genset-fmb-alert-hint{font-size:.72rem;font-weight:500;line-height:1.25;color:var(--text-muted)}.genset-fmb-alert-chevron{color:var(--text-muted);font-size:.7rem;line-height:1;opacity:.7}.genset-fmb-alert-value{padding-top:.15rem;font-size:1.7rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.genset-fmb-alert-spark{display:block;width:calc(100% + 1.8rem);height:2.35rem;margin:auto -.9rem -.35rem;color:var(--fmb-tone)}.genset-fmb-alert-card:hover .genset-fmb-alert-spark{animation:genset-fmb-spark-wave 1.2s ease-in-out infinite}.genset-fmb-alert-spark-line{stroke-dasharray:280;stroke-dashoffset:0}.genset-fmb-alert-card:hover .genset-fmb-alert-spark-line{animation:genset-fmb-spark-draw 1.2s ease-in-out infinite}@keyframes genset-fmb-icon-bob{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(-8deg)}}@keyframes genset-fmb-spark-wave{0%,to{transform:translate(0)}50%{transform:translate(-10px)}}@keyframes genset-fmb-spark-draw{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:48}}@media(prefers-reduced-motion:reduce){.genset-fmb-alert-card:hover .genset-fmb-alert-icon,.genset-fmb-alert-card:hover .genset-fmb-alert-spark,.genset-fmb-alert-card:hover .genset-fmb-alert-spark-line{animation:none}}.genset-fmb-alert-card.tone-temp{--fmb-tone: #3b82f6;--fmb-tone-hi: #60a5fa}.genset-fmb-alert-card.tone-fuel{--fmb-tone: #22c55e;--fmb-tone-hi: #4ade80}.genset-fmb-alert-card.tone-battery{--fmb-tone: #8b5cf6;--fmb-tone-hi: #a78bfa}.genset-fmb-alert-card.tone-ignition{--fmb-tone: #f59e0b;--fmb-tone-hi: #fbbf24}.genset-fmb-alert-card.tone-refuel{--fmb-tone: #ec4899;--fmb-tone-hi: #f472b6}@media(max-width:1100px){.genset-fmb-alerts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.genset-fmb-alerts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.genset-mix,.genset-command-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.genset-view-toggle{margin-inline-start:0;width:100%}.genset-view-toggle button{flex:1}}.event-counts-report{display:flex;flex-direction:column;gap:1.1rem}.event-counts-heading{align-items:flex-end}.event-counts-heading h2{margin:0 0 .35rem}.event-counts-heading p{margin:0}.event-counts-summary{display:flex;flex-direction:column;gap:.7rem}.event-counts-section-title{margin:0;font-size:1.05rem;font-weight:750;color:var(--text)}.event-counts-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.event-counts-filters .panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.event-counts-presets{padding:.75rem 1rem 0}.event-counts-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr));gap:.85rem 1rem;padding:.85rem 1rem 1rem}.event-counts-filter-actions{display:flex;align-items:end}.event-counts-note{margin:0;padding:0 1rem .85rem;color:var(--text-muted);font-size:.8rem}.genset-summary-progress{margin:0 0 .85rem;padding:.75rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--text);font-size:.92rem;font-weight:600}.event-counts-chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .9rem}.event-counts-chip{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 10%,#fff);color:var(--text);border-radius:999px;padding:.22rem .65rem;font:inherit;font-size:.76rem;font-weight:600;cursor:pointer}.event-counts-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}.event-counts-kpi{display:flex;flex-direction:column;gap:.28rem;min-width:0;padding:.75rem .8rem .8rem;border:1px solid var(--border);border-radius:12px;background:#fff;color:inherit;text-align:start;font:inherit}button.event-counts-kpi{cursor:pointer}.event-counts-kpi span{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.event-counts-kpi strong{font-size:1.45rem;line-height:1;font-variant-numeric:tabular-nums}.event-counts-kpi em{min-width:0;font-style:normal;font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-counts-kpi.is-critical{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 8%,#fff)}.event-counts-kpi.is-warning{border-color:color-mix(in srgb,var(--warning) 45%,var(--border));background:color-mix(in srgb,var(--warning) 10%,#fff)}.event-counts-kpi.is-info{border-color:color-mix(in srgb,#2563eb 40%,var(--border));background:color-mix(in srgb,#2563eb 8%,#fff)}.event-counts-kpi.is-selected{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent)}.event-counts-mix{display:flex;align-items:center;gap:.75rem}.event-counts-mix>span{flex-shrink:0;font-size:.76rem;font-weight:700;color:var(--text-muted)}.event-counts-mix-track{display:flex;flex:1;min-width:0;height:.7rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,#fff)}.event-counts-mix-track .is-critical{background:var(--danger)}.event-counts-mix-track .is-warning{background:var(--warning)}.event-counts-mix-track .is-info{background:#3b82f6}.event-counts-charts,.event-counts-tables{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.event-counts-bar-btn{width:100%;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:8px}.event-counts-report .report-history-table tbody tr{cursor:pointer}.event-counts-report .report-history-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent)}.event-counts-severity{text-transform:capitalize;font-weight:700}.event-counts-severity.is-critical{color:var(--danger)}.event-counts-severity.is-warning{color:var(--warning)}.event-counts-severity.is-info{color:#2563eb}@media(max-width:1100px){.event-counts-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:800px){.event-counts-kpis,.event-counts-charts,.event-counts-tables{grid-template-columns:minmax(0,1fr)}}.fleet-summary-report{display:flex;flex-direction:column;gap:1.1rem}.fleet-summary-toolbar-actions{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.fleet-summary-type-tabs{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem 1rem 0}.fleet-summary-type-tabs button{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:999px;padding:.32rem .8rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.fleet-summary-type-tabs button.is-active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--accent-selected-text, var(--accent))}.fleet-summary-check{display:flex;align-items:end;gap:.45rem;padding-bottom:.55rem;font-size:.84rem;font-weight:600;color:var(--text)}.fleet-summary-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:.7rem}.sortable-th-btn{display:inline-flex;align-items:center;gap:.35rem;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer}.sortable-th-btn:hover,.sortable-th-btn.is-active{color:var(--text)}.sortable-th-icon{color:var(--text-muted);font-size:.7rem;line-height:1}.sortable-th-btn.is-active .sortable-th-icon{color:var(--accent)}.col-num .sortable-th-btn,.report-history-table .sortable-th:last-child .sortable-th-btn{justify-content:inherit}.fleet-summary-table{min-width:72rem}.genset-summary-table{min-width:110rem}.genset-summary-table th:first-child,.genset-summary-table td:first-child{width:3.25rem;text-align:right;white-space:nowrap}.fleet-summary-report .report-history-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent)}.fleet-summary-type{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.fleet-summary-type.is-fleet{background:color-mix(in srgb,#2563eb 12%,#fff);color:#2563eb}.fleet-summary-type.is-genset{background:color-mix(in srgb,var(--warning) 16%,#fff);color:color-mix(in srgb,var(--warning) 80%,#7a4b00)}.fleet-summary-kva{margin-top:.15rem;font-size:.72rem;color:var(--text-muted)}.fleet-summary-util{display:inline-flex;align-items:center;gap:.4rem;min-width:4.8rem}.fleet-summary-util-track{display:inline-block;width:2.6rem;height:.4rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border) 55%,#fff)}.fleet-summary-util-track i{display:block;height:100%;background:#3b82f6}@media(max-width:800px){.fleet-summary-kpis{grid-template-columns:minmax(0,1fr)}}.genset-unit-refuel-panel .panel-header{display:flex;align-items:baseline;justify-content:flex-start;gap:1rem}.genset-unit-refuel-panel .panel-header span:last-child{margin-top:0}.genset-refuel-report{display:flex;flex-direction:column;gap:1rem}.genset-manual-refuel-list{display:flex;flex-direction:column;gap:.85rem;padding:.85rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.genset-manual-refuel-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.genset-manual-refuel-list-head strong{font-size:.95rem}.genset-manual-refuel-list-head span{font-size:.78rem;color:var(--text-muted)}.genset-tank-sop{margin-bottom:0;border-radius:14px;overflow:hidden;border:1px solid var(--border);background:var(--bg-card)}.genset-tank-sop-head{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 1rem;background:var(--bg-card);color:var(--text);border-bottom:1px solid var(--border)}.genset-tank-sop-head strong{display:block;font-size:1.02rem}.genset-tank-sop-head span{display:block;font-size:.8rem;color:var(--text-muted)}.genset-tank-sop-head p{margin:0;max-width:22rem;font-size:.78rem;line-height:1.35;color:var(--text-muted)}.genset-tank-sop-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.15fr) minmax(260px,1fr);gap:.75rem;padding:.85rem;align-items:stretch}.genset-tank-sop-col{display:flex;flex-direction:column;gap:.75rem;min-width:0;min-height:100%}.genset-tank-sop-col>.genset-tank-sop-card:last-child{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.genset-tank-sop-list{padding:0 .85rem .85rem}.genset-tank-sop-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.genset-tank-sop-card.genset-tank-sop-diagram{overflow:hidden}.genset-tank-sop-card h3{margin:0;padding:.4rem .8rem;background:var(--bg-hover);color:var(--text);font-size:.84rem;border-bottom:1px solid var(--border)}.genset-tank-sop-card dl{margin:0;padding:.35rem 0}.genset-tank-sop-card dl>div{display:grid;grid-template-columns:1.2fr .8fr;gap:.5rem;padding:.45rem .8rem;border-bottom:1px solid var(--border);font-size:.84rem}.genset-tank-sop-card dt{color:var(--text-muted)}.genset-tank-sop-card dd{margin:0;text-align:right;font-weight:700;color:var(--text)}.genset-tank-sop-card dl>div.is-span{grid-template-columns:1fr}.genset-tank-sop-card dl>div.is-span dd{text-align:left;font-weight:700}.genset-tank-sop-diagram-svg{display:block;width:100%;height:100%;min-height:16rem;flex:1 1 auto;margin:0}.genset-tank-sop-formula-box,.genset-tank-sop-volume-box{margin:.7rem .75rem;padding:.7rem .8rem;border-radius:10px;font-size:.84rem;line-height:1.45}.genset-tank-sop-formula-box{background:color-mix(in srgb,var(--success) 12%,var(--bg-card));color:var(--text)}.genset-tank-sop-volume-box{background:var(--bg-hover);color:var(--text)}.genset-tank-sop-formula-box p,.genset-tank-sop-volume-box p{margin:.2rem 0}.genset-tank-sop-entry{font-size:.84rem;line-height:1.4;container-type:inline-size}.genset-tank-sop-entry-body{display:grid;gap:0;padding:.9rem}.genset-tank-sop-fields{display:grid;gap:.75rem}.genset-tank-sop-field{display:grid;grid-template-columns:minmax(0,1fr) 5.75rem 7.5rem;align-items:center;gap:.45rem .65rem}.genset-tank-sop-field-label{color:var(--text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.genset-tank-sop-entry-input{width:100%;height:2.5rem;padding:0 .55rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, #fff);color:var(--text);font:inherit;font-weight:700;text-align:center}.genset-tank-sop-entry-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-color:var(--accent)}.genset-tank-sop-entry-input:read-only{background:var(--bg-hover);color:var(--text-muted)}.genset-tank-sop-field-math{display:flex;align-items:baseline;justify-content:flex-end;gap:.4rem;width:100%;min-width:0;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.genset-tank-sop-field-math strong{min-width:4.4rem;color:var(--text);font-size:.92rem;text-align:right}.genset-tank-sop-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.6rem;margin:.9rem 0 .85rem}.genset-tank-sop-actions .genset-tank-sop-calc,.genset-tank-sop-actions .genset-tank-sop-save,.genset-tank-sop-warn-btn{display:inline-flex;align-items:center;justify-content:center;height:2.5rem;margin:0;padding:0 1rem;border-radius:8px;font:inherit;font-size:.8rem;font-weight:700;letter-spacing:.04em;cursor:pointer}.genset-tank-sop-actions .genset-tank-sop-calc,.genset-tank-sop-warn-btn{border:1px solid var(--border);background:var(--bg-card);color:var(--text)}.genset-tank-sop-actions .genset-tank-sop-save{border:none;background:var(--accent);color:var(--btn-primary-text, #fff)}.genset-tank-sop-actions .genset-tank-sop-calc:hover,.genset-tank-sop-warn-btn:hover{background:var(--bg-hover)}.genset-tank-sop-actions .genset-tank-sop-save:hover:not(:disabled){background:var(--accent-hover)}.genset-tank-sop-actions .genset-tank-sop-calc,.genset-tank-sop-actions .genset-tank-sop-save{width:100%}.genset-tank-sop-save:disabled{opacity:.6;cursor:wait}.genset-tank-sop-entry .genset-tank-sop-totals,.genset-refuel-scale-breakdown .genset-tank-sop-totals{display:grid;margin:0;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden}.genset-tank-sop-entry .genset-tank-sop-totals>div,.genset-refuel-scale-breakdown .genset-tank-sop-totals>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.55rem .75rem;border-bottom:1px solid var(--border);font-size:.8rem}.genset-tank-sop-entry .genset-tank-sop-totals>div:last-child,.genset-refuel-scale-breakdown .genset-tank-sop-totals>div:last-child{border-bottom:0}.genset-tank-sop-entry .genset-tank-sop-totals dt,.genset-refuel-scale-breakdown .genset-tank-sop-totals dt{margin:0;color:var(--text-muted);font-size:.75rem;font-weight:600}.genset-tank-sop-entry .genset-tank-sop-totals dd,.genset-refuel-scale-breakdown .genset-tank-sop-totals dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}.genset-tank-sop-note,.genset-tank-sop-error{margin:.65rem 0 0;font-weight:600}.genset-tank-sop-note{color:var(--text-muted)}.genset-tank-sop-error{color:#b91c1c}.genset-tank-sop-warn{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin:.7rem 0 0;padding:.7rem .75rem;border-radius:10px;background:color-mix(in srgb,#d97706 14%,var(--bg-card));color:var(--text)}.genset-tank-sop-warn p{margin:0;flex:1 1 14rem;font-weight:600}@container (max-width: 360px){.genset-tank-sop-field{grid-template-columns:5.75rem 7.5rem;grid-template-areas:"label label" "input math";row-gap:.3rem}.genset-tank-sop-field-label{grid-area:label}.genset-tank-sop-entry-input{grid-area:input}.genset-tank-sop-field-math{grid-area:math}}.genset-refuel-continue{display:inline-block;margin-top:.35rem}.genset-refuel-scale-breakdown{display:grid;gap:.85rem;margin:.75rem 0;padding:.9rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-card)}.genset-refuel-scale-breakdown .genset-tank-sop-fields,.genset-refuel-scale-breakdown .genset-tank-sop-totals{max-width:36rem}.genset-refuel-scale-breakdown .genset-tank-sop-field{grid-template-columns:minmax(8rem,1fr) 5.75rem 8.5rem}.genset-refuel-scale-value{display:flex;align-items:center;justify-content:center;height:2.5rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-hover);color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.genset-tank-sop-examples{margin:0}.genset-example-metrics{display:grid;grid-template-rows:repeat(3,minmax(4.25rem,1fr));gap:.65rem;margin-top:auto;padding:.75rem;flex:1 1 auto}.genset-example-metric{display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-height:0;padding:.75rem .9rem;border-radius:12px;border:1px solid transparent;border-inline-start-width:4px}.genset-example-metric span{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.genset-example-metric strong{font-size:1.55rem;line-height:1.1;font-variant-numeric:tabular-nums}.genset-example-metric.tone-verified{color:#166534;background:color-mix(in srgb,#16a34a 14%,var(--bg-card));border-color:color-mix(in srgb,#16a34a 35%,var(--border));border-inline-start-color:#16a34a}.genset-example-metric.tone-incomplete{color:#9a3412;background:color-mix(in srgb,#f59e0b 16%,var(--bg-card));border-color:color-mix(in srgb,#f59e0b 40%,var(--border));border-inline-start-color:#f59e0b}.genset-example-metric.tone-added{color:#1e3a8a;background:color-mix(in srgb,#2563eb 12%,var(--bg-card));border-color:color-mix(in srgb,#2563eb 35%,var(--border));border-inline-start-color:#2563eb}.genset-tank-sop-table-wrap{overflow-x:auto}.genset-tank-sop-examples table{width:100%;border-collapse:collapse;font-size:.78rem}.genset-tank-sop-examples th{background:var(--bg-hover);color:var(--text);padding:.4rem;text-align:center;font-weight:700}.genset-tank-sop-examples td{padding:.4rem;text-align:center;border-bottom:1px solid var(--border);color:var(--text)}.genset-tank-sop-examples tbody tr:nth-child(2n){background:color-mix(in srgb,var(--bg-hover) 55%,var(--bg-card))}.genset-tank-sop-examples tbody tr.is-highlight{background:color-mix(in srgb,var(--success) 16%,var(--bg-card))}.genset-tank-sop-examples tbody tr.is-highlight td{font-weight:700}.genset-refuel-table tbody tr:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.genset-refuel-table tbody tr.is-selected{background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:inset 3px 0 0 var(--accent)}@media(max-width:1100px){.genset-tank-sop-layout{grid-template-columns:1fr}.genset-tank-sop-col>.genset-tank-sop-card:last-child{flex:0 0 auto}.genset-tank-sop-diagram-svg{height:auto;min-height:0}.genset-tank-sop-head{display:flex;flex-direction:column}}@media(max-width:720px){.genset-tank-sop-layout{grid-template-columns:1fr}}.genset-manual-refuel-card{border:1px solid var(--border, #d9e2ec);border-radius:10px;padding:.85rem}.genset-manual-refuel-card header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.genset-manual-refuel-detail-grid{display:grid;grid-template-columns:minmax(18rem,1.15fr) minmax(16rem,1fr);gap:.85rem;align-items:stretch}.genset-manual-refuel-detail-grid .genset-refuel-scale-breakdown{margin-top:0}.genset-manual-refuel-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.genset-manual-refuel-detail-grid .genset-manual-refuel-steps{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:100%}.genset-manual-refuel-detail-grid .genset-manual-refuel-step{display:flex;flex-direction:column;min-width:0}.genset-manual-refuel-detail-grid .genset-manual-refuel-photo{flex:0 0 auto;width:100%;height:auto;aspect-ratio:4 / 3;min-height:0}.genset-manual-refuel-meta{display:grid;gap:.35rem;margin:.55rem 0 0}.genset-manual-refuel-meta>div{display:grid;grid-template-columns:4.4rem minmax(0,1fr);gap:.35rem .5rem;align-items:baseline}.genset-manual-refuel-meta dt{margin:0;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.genset-manual-refuel-meta dd{margin:0;font-size:.8rem;font-weight:650;line-height:1.35;overflow-wrap:anywhere}.genset-refuel-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}.genset-refuel-compare article{border:1px solid var(--border, #d9e2ec);border-radius:10px;padding:.7rem .85rem;background:#f8fafc}.genset-refuel-compare span{display:block;font-size:.75rem;color:var(--text-muted, #64748b)}.genset-refuel-compare strong{font-size:1.15rem}.genset-manual-refuel-step p{margin:.25rem 0 0;font-size:.85rem}.genset-manual-refuel-photo{display:block;aspect-ratio:4 / 3;overflow:hidden;border-radius:8px;background:#eef2f6}.genset-manual-refuel-photo img{width:100%;height:100%;object-fit:cover}.genset-manual-refuel-photo.is-empty{display:flex;align-items:center;justify-content:center;color:#64748b;font-size:.8rem}.genset-manual-refuel-card.is-detail{margin-top:.75rem}.genset-refuel-summary-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-bottom:.85rem}.genset-refuel-summary-strip article{border:1px solid var(--border, #d9e2ec);border-radius:10px;padding:.7rem .85rem;background:#fff}.genset-refuel-summary-strip span{display:block;font-size:.75rem;color:var(--text-muted, #64748b)}.genset-refuel-summary-strip strong{display:block;margin-top:.15rem;font-size:1.15rem}.genset-refuel-status{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.genset-refuel-status.is-complete{background:#dcfce7;color:#166534}.genset-refuel-status.is-pending{background:#fef3c7;color:#92400e}.genset-refuel-band{margin:0 0 1rem;padding:.9rem 1rem 1rem;border:1px solid var(--border, #d9e2ec);border-radius:14px;background:#fff}.genset-refuel-band-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.genset-refuel-band-head strong{display:block;font-size:1rem}.genset-refuel-band-head span{color:var(--text-muted, #64748b);font-size:.82rem}.genset-refuel-band-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.genset-refuel-band-card{text-align:left;border:1px solid var(--border, #d9e2ec);border-radius:12px;padding:.9rem 1rem;background:#f8fafc;cursor:pointer;text-decoration:none;color:inherit;display:block}.genset-refuel-band-card span,.genset-refuel-band-card em{display:block;font-style:normal;color:var(--text-muted, #64748b);font-size:.8rem}.genset-refuel-unit-link{color:var(--accent, #c9252b);font-weight:700;text-decoration:none}.genset-refuel-unit-link:hover,.genset-refuel-unit-link:focus-visible{text-decoration:underline}.genset-refuel-band-card strong{display:block;font-size:1.7rem;line-height:1.2;margin:.2rem 0}.genset-refuel-band-card.tone-success{background:#f0fdf4;border-color:#bbf7d0}.genset-refuel-band-card.tone-warning{background:#fffbeb;border-color:#fde68a}.genset-refuel-band-card.tone-neutral{background:#f8fafc}.genset-refuel-band-card.is-on{box-shadow:0 0 0 2px #2563eb inset}.genset-refuel-band-drawer{margin-top:.9rem;padding-top:.9rem;border-top:1px solid var(--border, #d9e2ec)}.genset-refuel-band-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.genset-status-card-btn{width:100%;text-align:left;cursor:pointer}.genset-status-card-btn.is-warn{background:#fffbeb}@media(max-width:720px){.genset-refuel-band-cards,.genset-refuel-summary-strip{grid-template-columns:1fr}}@media(max-width:900px){.genset-manual-refuel-detail-grid{grid-template-columns:1fr}}@media(max-width:720px){.genset-manual-refuel-steps,.genset-manual-refuel-detail-grid .genset-manual-refuel-steps{grid-template-columns:1fr}}.genset-refuel-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.7rem}.genset-refuel-note{margin:0;font-size:.8rem;color:var(--text-muted)}.genset-refuel-views{display:inline-flex;flex-wrap:wrap;gap:.35rem}.genset-refuel-views button{border:1px solid var(--border);background:var(--bg-panel, #fff);color:var(--text);border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer}.genset-refuel-views button.is-on{background:color-mix(in srgb,#0f766e 16%,#fff);border-color:color-mix(in srgb,#0f766e 40%,var(--border));color:#0f766e}.genset-refuel-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}.genset-refuel-card{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:.75rem .85rem;border-radius:14px;border:1px solid #c9252b;background:var(--bg-panel, #fff);box-shadow:0 8px 18px #0f172a0d}.genset-refuel-card span,.genset-refuel-card em{font-size:.74rem;color:var(--text-muted);font-style:normal}.genset-refuel-card strong{font-size:1.15rem;line-height:1.2}.genset-refuel-card.tone-accent,.genset-refuel-card.tone-success,.genset-refuel-card.tone-warning{border-color:#c9252b}.genset-refuel-fill-graphic{display:flex;flex-direction:column;gap:.75rem;padding:.85rem .9rem .95rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:linear-gradient(180deg,color-mix(in srgb,#0f766e 7%,#fff),#fff)}.genset-refuel-fill-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;font-size:.76rem;color:var(--text-muted)}.genset-refuel-fill-legend span{display:inline-flex;align-items:center;gap:.35rem}.genset-refuel-fill-legend i,.genset-refuel-tank-track i{display:inline-block}.genset-refuel-fill-legend i{width:.7rem;height:.7rem;border-radius:3px}.genset-refuel-fill-legend i.is-before,.genset-refuel-tank-track i.is-before{background:#94a3b8}.genset-refuel-fill-legend i.is-added,.genset-refuel-tank-track i.is-added{background:#0f766e}.genset-refuel-fill-legend i.is-empty{background:color-mix(in srgb,var(--border) 55%,#fff)}.genset-refuel-fill-list{display:flex;flex-direction:column;gap:.65rem}.genset-refuel-fill-row{display:flex;flex-direction:column;gap:.45rem;width:100%;padding:.7rem .75rem;border:1px solid color-mix(in srgb,var(--border) 65%,transparent);border-radius:12px;background:var(--bg-panel, #fff);text-align:start;cursor:pointer}.genset-refuel-fill-row.is-on{border-color:color-mix(in srgb,#0f766e 45%,var(--border));box-shadow:0 0 0 2px color-mix(in srgb,#0f766e 18%,transparent)}.genset-refuel-fill-copy{display:flex;justify-content:space-between;gap:.6rem;font-size:.8rem;color:var(--text-muted)}.genset-refuel-fill-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.genset-refuel-fill-stats span{display:flex;flex-direction:column;gap:.05rem;min-width:0}.genset-refuel-fill-stats em{font-size:.7rem;font-style:normal;color:var(--text-muted)}.genset-refuel-fill-stats b{font-size:1rem}.genset-refuel-fill-stats small{color:var(--text-muted)}.genset-refuel-fill-stats .is-added-copy b{color:#0f766e}.genset-refuel-tank-track{position:relative;display:flex;height:1.15rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--border) 45%,#fff)}.genset-refuel-tank-track i{height:100%}.genset-refuel-tank-plus{position:absolute;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:.68rem;pointer-events:none;white-space:nowrap}.genset-refuel-pct{color:var(--text-muted);font-weight:500}.genset-refuel-table tbody tr{cursor:pointer}.genset-refuel-chart{position:relative;border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:14px;padding:.4rem .5rem .2rem;background:linear-gradient(180deg,color-mix(in srgb,#0f766e 6%,#fff),#fff)}.genset-refuel-chart-svg{width:100%;height:auto}.genset-refuel-grid{stroke:color-mix(in srgb,var(--border) 70%,transparent);stroke-dasharray:3 4}.genset-refuel-tick,.genset-refuel-bar-label{fill:var(--text-muted);font-size:11px}.genset-refuel-bar{fill:#0f766e;opacity:.88;cursor:pointer}.genset-refuel-bar.is-on{opacity:1;fill:#0d9488}.genset-refuel-tooltip{position:absolute;top:.7rem;right:.8rem;display:flex;flex-direction:column;gap:.1rem;padding:.4rem .55rem;border-radius:10px;background:#0f172ae0;color:#fff;font-size:.78rem}.genset-refuel-table th,.genset-refuel-table td{white-space:nowrap}@media(max-width:1100px){.genset-refuel-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.genset-refuel-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.genset-refuel-fill-stats{grid-template-columns:1fr}}.camera-stream-page{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:.75rem;flex:1;min-height:0;overflow:hidden}.camera-stream-list,.camera-stream-stage{min-height:0;height:100%}.camera-stream-list-body{display:flex;flex-direction:column;gap:.45rem;padding:.75rem;overflow-y:auto}.camera-stream-imei{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:.7rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text);text-align:left}.camera-stream-imei span{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;color:var(--text-muted)}.camera-stream-imei.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-panel))}.camera-channel-toggles{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem;width:100%}.camera-channel-chip{min-width:3.4rem;height:1.85rem;padding:0 .5rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font-size:.75rem;font-weight:700;cursor:pointer}.camera-channel-chip.is-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,var(--bg-card));color:var(--text)}.camera-channel-chip.is-live{box-shadow:0 0 0 1px color-mix(in srgb,#38bdf8 55%,transparent)}.camera-stream-empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:1.25rem;color:var(--text-muted);text-align:center}.camera-stream-toolbar{align-items:flex-start;gap:.75rem}.camera-stream-toolbar h1{margin:0;font-size:1.05rem}.camera-stream-toolbar .text-muted{margin:.25rem 0 0}.camera-stream-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.camera-stream-actions .btn-primary:disabled,.camera-stream-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.camera-layout-toggle{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.camera-layout-toggle button{min-width:2.25rem;height:2.125rem;padding:0 .65rem;border:none;background:var(--bg-panel);color:var(--text-muted);font-weight:600;cursor:pointer}.camera-layout-toggle button+button{border-left:1px solid var(--border)}.camera-layout-toggle button.is-active{background:color-mix(in srgb,var(--accent) 18%,var(--bg-panel));color:var(--text)}.camera-stream-grid{display:grid;gap:.75rem;padding:.75rem;flex:1;min-height:0;overflow:auto}.camera-stream-grid.is-1{grid-template-columns:1fr}.camera-stream-grid.is-2{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-stream-grid.is-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.camera-led-frame{--camera-led: #38bdf8;--camera-led-deep: #1d4ed8;position:relative;min-height:0;padding:2px;border-radius:16px;background:linear-gradient(135deg,#60a5faf2,#1d4ed859 42%,#0ea5e9e6);box-shadow:0 0 18px color-mix(in srgb,var(--camera-led) 28%,transparent),0 0 36px color-mix(in srgb,var(--camera-led-deep) 18%,transparent)}.camera-led-frame:before{content:"";position:absolute;top:0;left:16%;right:16%;height:2px;border-radius:0 0 2px 2px;background:linear-gradient(90deg,transparent,#93c5fd 40%,#fff 50%,#38bdf8 60%,transparent);opacity:.9;pointer-events:none}.camera-led-frame.is-live{box-shadow:0 0 22px color-mix(in srgb,var(--camera-led) 45%,transparent),0 0 48px color-mix(in srgb,var(--camera-led-deep) 28%,transparent)}.camera-led-frame:fullscreen,.camera-led-frame:-webkit-full-screen,.camera-led-frame.is-fullscreen{width:100%;height:100%;border-radius:0;padding:10px;box-sizing:border-box}.camera-led-frame:fullscreen .camera-led-bezel,.camera-led-frame:-webkit-full-screen .camera-led-bezel,.camera-led-frame.is-fullscreen .camera-led-bezel{height:100%;min-height:0;border-radius:16px}.camera-led-frame:fullscreen .camera-led-screen,.camera-led-frame:-webkit-full-screen .camera-led-screen,.camera-led-frame.is-fullscreen .camera-led-screen{min-height:0}.camera-led-bezel{display:flex;flex-direction:column;height:100%;min-height:220px;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#1e3a5f8c,#0b1220 38%,#070b14);border:1px solid color-mix(in srgb,var(--camera-led) 22%,#1e293b);box-shadow:inset 0 1px #ffffff1a}.camera-led-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.65rem .75rem}.camera-led-toolbar strong{display:block;color:#e2e8f0;font-size:.92rem}.camera-led-toolbar span{display:block;margin-top:.15rem;color:#93c5fd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.camera-led-actions{display:flex;align-items:center;gap:.4rem}.camera-led-screen{position:relative;flex:1;min-height:160px;margin:0 .65rem .65rem;border-radius:10px;overflow:hidden;background:#05080f;border:1px solid rgba(56,189,248,.18);box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 28px #0ea5e914}.camera-stream-video{display:block;width:100%;height:100%;object-fit:contain;background:#05080f}.camera-stream-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1rem;color:#cbd5e1;font-size:.9rem;text-align:center;pointer-events:none}.camera-stream-error{margin:0;padding:.45rem .75rem .7rem;color:#fca5a5;font-size:.82rem}@media(max-width:1100px){.camera-stream-grid.is-2,.camera-stream-grid.is-4{grid-template-columns:1fr;grid-template-rows:none}}@media(max-width:900px){.camera-stream-page{grid-template-columns:1fr;overflow:auto}.camera-stream-list{height:auto;max-height:280px}}.camera-history-page{display:flex;flex-direction:column;gap:.85rem}.camera-history-page .erp-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.camera-history-page h1{margin:0 0 .25rem;font-size:1.25rem}.camera-history-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;padding:.85rem 1rem 1rem}.camera-history-filter-actions{display:flex;align-items:flex-end}.camera-history-hint{padding:0 1rem .85rem}.camera-history-library-header{gap:.75rem}.camera-history-search{min-width:180px;height:2.125rem;padding:0 .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text)}.camera-history-page td input{width:100%;min-width:180px;height:2.125rem;padding:0 .55rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-panel);color:var(--text)}.camera-history-row-actions{display:flex;flex-wrap:wrap;gap:.35rem}.camera-history-rename{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem;padding:.75rem 1rem 1rem}.camera-history-rename label{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:220px}.camera-history-player{padding:0 1rem 1rem}.camera-history-video{display:block;width:100%;min-height:240px;background:#05080f;border-radius:10px}.insight-band{margin:1.25rem 0 0;padding:1.1rem 1.15rem 1.25rem;border:1px solid var(--border);border-radius:16px;background:var(--bg-card)}.insight-band-head{margin-bottom:.9rem}.insight-band-head h2{font-size:1.28rem;font-weight:700;color:var(--text)}.insight-band-head p,.insight-band-status{margin-top:.2rem;color:var(--text-muted);font-size:.85rem}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.insight-card{border:1px solid color-mix(in srgb,var(--accent) 14%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 35%,var(--bg-card));padding:.9rem .95rem .8rem;display:flex;flex-direction:column;min-height:250px}.insight-card-head{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:.5rem}.insight-card-head h3{font-size:1rem;font-weight:700;color:var(--text)}.insight-card-head p{margin-top:.15rem;font-size:.78rem;color:var(--text-muted)}.insight-card-why{margin:0 0 .55rem;font-size:.82rem;line-height:1.4;color:color-mix(in srgb,var(--text) 82%,var(--text-muted));font-weight:500}.insight-card-stat{font-size:1.2rem;color:var(--accent);white-space:nowrap}.insight-card-chart{flex:1;min-height:160px}.insight-svg{width:100%;height:auto;min-height:150px;display:block}.insight-svg-clock,.insight-svg-ring{min-height:160px;max-width:280px;margin:0 auto}.insight-svg-label{fill:var(--text-muted);font-size:11px}.insight-svg-label-accent{fill:var(--accent)}.insight-svg-headline{fill:var(--text);font-size:15px;font-weight:700}.insight-week-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem}.insight-week-chips span{font-size:.85rem;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:.25rem .6rem}.fuel-avg-search{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.fuel-avg-search input[type=search]{flex:1;min-width:16rem}.fuel-avg-actions{display:flex;flex-wrap:wrap;gap:.4rem}.insight-timeline{list-style:none;display:flex;flex-direction:column;gap:.55rem}.insight-timeline li{border-left:3px solid var(--accent);padding:.35rem 0 .35rem .7rem;background:var(--bg-card);border-radius:0 10px 10px 0}.insight-timeline-time,.insight-timeline-meta{display:block;font-size:.88rem;color:var(--text-muted)}.insight-timeline strong{display:block;font-size:1rem}.insight-triple{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:.85rem;min-width:0}.insight-svg-triple{width:148px;height:148px;min-height:148px;max-width:148px}.insight-triple-legend{list-style:none;display:flex;flex-direction:column;gap:.55rem;min-width:0}.insight-triple-legend li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.65rem;font-size:.84rem}.insight-triple-legend span{color:var(--text-muted);min-width:0}.insight-triple-legend strong{color:var(--text);white-space:nowrap;text-align:right}@media(max-width:900px){.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.insight-grid{grid-template-columns:1fr}}.genset-job-view-toggle{display:inline-flex;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff}.genset-job-view-toggle button{border:0;background:transparent;color:var(--text);padding:.4rem .8rem;font:inherit;cursor:pointer}.genset-job-view-toggle button.is-active{background:var(--accent);color:#fff}.genset-job-check{align-self:end}.genset-job-sheet-scroll{max-height:70vh}.genset-job-sheet{border-collapse:separate;border-spacing:0;font-size:.82rem;white-space:nowrap}.genset-job-sheet th,.genset-job-sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:.35rem .5rem;text-align:right}.genset-job-sheet th:first-child,.genset-job-sheet td.genset-job-vehicle,.genset-job-sheet th:nth-child(2),.genset-job-sheet td.genset-job-metric{text-align:left}.genset-job-vehicle{font-weight:700;vertical-align:middle;background:color-mix(in srgb,var(--accent) 8%,#fff)}.refuel-summary-scroll{max-height:72vh}.refuel-summary-sheet{border-collapse:separate;border-spacing:0;font-size:.82rem;white-space:nowrap}.refuel-summary-sheet th,.refuel-summary-sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:.45rem .55rem;vertical-align:top;background:#fff}.refuel-summary-sheet th{position:sticky;top:0;z-index:2;background:#f8fafc;text-align:center;font-size:.75rem}.refuel-summary-sheet th:first-child{left:0;z-index:3;text-align:left;min-width:180px}.refuel-summary-unit{position:sticky;left:0;z-index:1;text-align:left;min-width:180px;background:#fff;white-space:normal}.refuel-summary-unit strong,.refuel-summary-unit span{display:block}.refuel-summary-unit strong{color:var(--text)}.refuel-summary-unit span,.refuel-day-weekday,.refuel-day-empty{color:var(--text-muted);font-size:.72rem;font-weight:600}.refuel-day-weekday{display:block}.refuel-day-cell{min-width:118px}.refuel-day-head,.refuel-day-total strong{color:var(--text);font-weight:800}.refuel-day-entries{max-height:140px;overflow:auto;margin-top:4px}.refuel-day-entry{display:flex;justify-content:space-between;gap:8px;color:var(--text-muted);font-size:.72rem;line-height:1.35}.refuel-day-entry b{color:var(--text);font-weight:700}.refuel-day-total{min-width:96px;background:color-mix(in srgb,var(--accent) 6%,#fff)}.erp-page,.erp-page .settings-section-header h2{color:var(--text)}.erp-page .erp-content{display:flex;flex-direction:column;gap:1rem}.erp-page-header .erp-page-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;overflow:visible;position:relative;z-index:20}.finance-page .finance-table th:last-child,.finance-page .finance-table td:last-child,.finance-page .report-history-table th:last-child,.finance-page .report-history-table td:last-child{text-align:right}.settings-section-header.erp-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;overflow:visible}.erp-loading-panel{min-height:120px}.erp-loading-body{padding:2rem 1rem;text-align:center;color:var(--text-muted)}.erp-status-badge{text-transform:capitalize;letter-spacing:.02em}.invoice-number-cell{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.invoice-kind-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;background:var(--banner-info-bg);border:1px solid var(--banner-info-border);color:var(--banner-info-text)}.erp-filter-bar{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;padding:1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem}.erp-filter-bar label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-muted);min-width:160px;line-height:1.3}.erp-filter-bar select,.erp-filter-bar input:not([type=checkbox]){width:100%;min-height:2.5rem;padding:.55rem .75rem;background:var(--input-bg, var(--bg-hover));border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:.875rem;line-height:1.25;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.erp-filter-bar select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) calc(50% - .15rem),calc(100% - .65rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;cursor:pointer}.erp-filter-bar input::placeholder{color:var(--text-muted);opacity:.75}.erp-filter-bar select:hover,.erp-filter-bar input:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--text-muted))}.erp-filter-bar select:focus,.erp-filter-bar input:focus,.erp-filter-bar .search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(59, 130, 246, .2))}.erp-filter-bar .search-input{flex:1 1 240px;min-width:200px}.erp-timeline-panel .panel-body{padding:1rem 1.25rem}.erp-timeline-header{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.erp-timeline-header strong{font-size:1.05rem}.erp-timeline-pipeline{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px dashed var(--border)}.erp-timeline-stage{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:5.5rem;font-size:.78rem;color:var(--text-muted);opacity:.55}.erp-timeline-stage.reached{opacity:1;color:var(--text);font-weight:600}.erp-timeline-stage-dot{width:12px;height:12px;border-radius:50%;background:var(--text-muted)}.erp-timeline-meta-row{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.82rem;color:var(--text-muted);margin-top:.35rem}.erp-timeline-track{position:relative;padding-left:1.5rem;border-left:2px solid var(--border);margin-left:.35rem}.erp-timeline-item{position:relative;margin-bottom:1.25rem}.erp-timeline-item:last-child{margin-bottom:0}.erp-timeline-dot{position:absolute;left:calc(-1.5rem - 5px);top:.35rem;width:10px;height:10px;border-radius:50%;border:2px solid var(--bg-card);box-shadow:0 0 0 1px var(--border)}.erp-timeline-state{font-size:.92rem}.erp-timeline-from{color:var(--text-muted)}.erp-timeline-notes{font-size:.85rem;color:var(--text-muted);margin:.35rem 0 0;font-style:italic}.erp-ticket-duration-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px}.erp-ticket-duration-label{font-size:.82rem;color:var(--text-muted)}.erp-ticket-duration-value{font-size:1.05rem;color:var(--text)}.erp-timeline-duration{color:var(--accent);font-weight:500}.erp-dash-view{display:flex;flex-direction:column;gap:1.25rem;color:var(--text)}.erp-dash-view .dash-kpi-card,.erp-dash-view .dash-kpi-value{color:var(--text)}.erp-dash-view .alerts-page-root .alerts-page{padding:0}.erp-dash-view .alerts-page-root .alerts-layout{margin-top:0}.erp-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.platform-object-section{margin-top:1.25rem}.platform-object-section-title{margin:0 0 .75rem;font-size:.95rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.platform-object-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem}.platform-object-card{display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease}.platform-object-card:hover{border-color:var(--accent);box-shadow:0 4px 16px #00000014}.platform-object-card-head{display:flex;gap:.75rem;align-items:flex-start}.platform-object-icon{font-size:1.5rem;line-height:1}.platform-object-card-head strong{display:block;font-size:1rem}.platform-object-card-head p{margin:.25rem 0 0;font-size:.82rem;color:var(--text-muted);line-height:1.35}.platform-object-counts{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.82rem}.platform-object-counts strong{font-size:1rem;margin-right:.2rem}.platform-object-muted{color:var(--text-muted)}.platform-object-metrics{list-style:none;margin:0;padding:0;border-top:1px solid var(--border);padding-top:.55rem;display:grid;gap:.35rem}.platform-object-metrics li{display:flex;justify-content:space-between;gap:.75rem;font-size:.8rem}.platform-object-metrics li.tone-warning strong{color:var(--warning, #f59e0b)}.erp-kpi-fastest-panel{width:100%}.erp-kpi-fastest-table{min-width:720px}.erp-kpi-fastest-table th,.erp-kpi-fastest-table td{white-space:nowrap}.erp-kpi-fastest-table td:nth-child(3),.erp-kpi-fastest-table td:nth-child(6){white-space:normal;min-width:8rem}.erp-kpi-charts-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.erp-dashboard-grid .panel-body{padding:.85rem 1rem;color:var(--text)}.erp-stat-list{list-style:none;padding:0;margin:0}.erp-stat-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--border);font-size:.88rem}.erp-stat-list li:last-child{border-bottom:none}.erp-stat-list li span{color:var(--text-muted)}.erp-stat-list li strong{font-variant-numeric:tabular-nums;color:var(--text)}.erp-bar-chart{padding:1rem}.erp-bar-chart-title{font-size:.95rem;font-weight:600;margin:0 0 1rem}.erp-bar-row{display:grid;grid-template-columns:minmax(120px,160px) 1fr minmax(64px,80px);align-items:center;gap:.75rem;margin-bottom:.65rem}.erp-bar-label{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.erp-bar-track{height:22px;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.erp-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#6366f1));border-radius:5px;min-width:4px;transition:width .35s ease}.erp-bar-value{font-size:.82rem;text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}.erp-svr-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.erp-svr-detail{position:sticky;top:1rem}.erp-svr-detail .panel-body{padding:1rem}.erp-svr-detail h3{margin:1.25rem 0 .75rem;font-size:1rem;color:var(--text)}.erp-svr-meta{display:flex;flex-direction:column;gap:.5rem;font-size:.88rem;margin-bottom:1rem}.erp-svr-meta p{margin:0}.erp-svr-meta strong{color:var(--text-muted);font-weight:500;margin-right:.35rem}.erp-dispatch-list{list-style:none;padding:0;margin:0 0 1rem}.erp-dispatch-list li{padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.85rem}.erp-dispatch-list li:last-child{border-bottom:none}.erp-svr-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.report-history-table tr.selected-row{background:var(--accent-soft)}.report-history-table tr.clickable-row{cursor:pointer}.report-history-table tr.clickable-row:hover{background:var(--bg-hover)}.erp-inline-select{padding:.3rem .5rem;background:var(--input-bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.82rem;max-width:140px}.erp-section-gap{margin-top:1.5rem}.erp-section-gap h3{font-size:.95rem;margin:0 0 .75rem}.erp-ticket-view-modal .erp-ticket-view-body{padding:0 1.25rem 1rem;max-height:min(70vh,640px);overflow-y:auto}.erp-ticket-view-modal h3{margin:1.25rem 0 .75rem;font-size:1rem;color:var(--text)}.erp-ticket-view-modal .modal-actions{padding:0 1.25rem 1.25rem;margin-top:0}@media(max-width:960px){.erp-svr-layout{grid-template-columns:1fr}.erp-svr-detail{position:static}.erp-bar-row{grid-template-columns:1fr;gap:.35rem}.erp-bar-value{text-align:left}}.text-muted{color:var(--text-muted);font-size:.85em}.panel-toolbar{padding:.85rem 1rem;border-bottom:1px solid var(--border)}.plan-subscriber-overlay{padding:.75rem}.plan-subscriber-modal{width:min(1440px,98vw);max-width:none;height:min(92vh,960px);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.plan-subscriber-modal-header{flex-shrink:0}.plan-subscriber-panel{flex:1;min-height:0;padding:0;display:flex;flex-direction:column;gap:0}.plan-subscriber-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) min(380px,34vw);border-top:1px solid var(--border)}.plan-subscriber-main{min-height:0;display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.25rem;overflow:hidden}.plan-subscriber-tabs{display:flex;gap:.5rem;flex-wrap:wrap;flex-shrink:0}.plan-subscriber-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;flex-shrink:0}.plan-subscriber-toolbar .search-input{flex:1 1 280px;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.875rem;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.plan-subscriber-toolbar .search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(59, 130, 246, .2))}.plan-subscriber-table-wrap{flex:1;min-height:0;max-height:none;overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-card)}.plan-subscriber-table thead th{position:sticky;top:0;z-index:1;background:var(--bg-panel, var(--bg-card));box-shadow:0 1px 0 var(--border)}.plan-subscriber-table-wrap .plan-select-col{width:2.75rem}.plan-subscriber-row{cursor:pointer}.plan-subscriber-row:hover{background:var(--bg-hover)}.plan-subscriber-row.selected-row{background:color-mix(in srgb,var(--accent, #3b82f6) 10%,transparent)}.plan-subscriber-row.selected-row:hover{background:color-mix(in srgb,var(--accent, #3b82f6) 14%,transparent)}.plan-subscriber-name-cell{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.plan-subscriber-badge{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.12rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--success, #22c55e) 18%,transparent);color:var(--text);border:1px solid color-mix(in srgb,var(--success, #22c55e) 35%,transparent)}.plan-subscriber-badge-warn{background:color-mix(in srgb,var(--warning, #f59e0b) 20%,transparent);border-color:color-mix(in srgb,var(--warning, #f59e0b) 45%,transparent)}.plan-subscriber-customer-row td{background:color-mix(in srgb,var(--bg-panel, var(--bg-card)) 88%,var(--accent, #3b82f6) 8%);vertical-align:top}.plan-subscriber-vehicle-row td:first-child,.plan-subscriber-vehicle-row td:nth-child(2){padding-left:1.75rem}.plan-subscriber-row-other-plan{background:color-mix(in srgb,var(--warning, #f59e0b) 8%,transparent)}.plan-subscriber-other-plan{color:var(--warning, #b45309);font-weight:600}.plan-subscriber-reassign-note{margin:.25rem 0 0;font-size:.75rem;line-height:1.35;color:var(--text-muted);max-width:28rem}.plan-subscriber-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-shrink:0;padding-top:.25rem}.plan-subscriber-selected-panel{display:flex;flex-direction:column;gap:.65rem;min-height:0;padding:1rem;border-left:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel, var(--bg-card)) 88%,var(--accent, #3b82f6) 12%)}.plan-subscriber-selected-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.plan-subscriber-selected-header h3{margin:0;font-size:1rem;font-weight:600}.plan-subscriber-selected-count{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .55rem;border-radius:999px;font-weight:700;font-size:.9rem;background:var(--accent-soft, rgba(59, 130, 246, .18));color:var(--text)}.plan-subscriber-selected-hint{margin:0;font-size:.78rem;line-height:1.4}.plan-subscriber-selected-search{width:100%;min-height:2.25rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.82rem;box-sizing:border-box}.plan-subscriber-selected-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(59, 130, 246, .2))}.plan-subscriber-clear-btn{align-self:flex-start;font-size:.82rem}.plan-subscriber-selected-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:.45rem;padding-right:.15rem}.plan-subscriber-selected-empty{padding:1.5rem .5rem!important;font-size:.85rem}.plan-subscriber-selected-item{display:flex;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.plan-subscriber-selected-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.plan-subscriber-selected-item-body strong{font-size:.88rem;line-height:1.3;word-break:break-word}.plan-subscriber-selected-item-body .text-muted{font-size:.76rem;line-height:1.35;word-break:break-word}.plan-subscriber-selected-remove{flex-shrink:0;width:1.75rem;height:1.75rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer}.plan-subscriber-selected-remove:hover{background:color-mix(in srgb,var(--danger, #ef4444) 12%,transparent);color:var(--danger, #ef4444)}.plan-subscriber-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-shrink:0;padding:.85rem 1.25rem;border-top:1px solid var(--border);background:var(--bg-card)}@media(max-width:960px){.plan-subscriber-modal{width:98vw;height:96vh}.plan-subscriber-body{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(180px,34vh)}.plan-subscriber-selected-panel{border-left:none;border-top:1px solid var(--border)}}.asset-chain-modal{width:min(960px,96vw);max-height:90vh;overflow:auto}.asset-chain-body{padding:0 1.25rem 1.25rem;display:flex;flex-direction:column;gap:1rem}.chain-flow{display:flex;flex-wrap:wrap;align-items:stretch;gap:.5rem}.chain-arrow{align-self:center;color:var(--text-muted);font-size:1.1rem;padding:0 .15rem}.chain-card{flex:1 1 140px;min-width:130px;text-align:left;border:1px solid var(--border);border-radius:8px;padding:.75rem;background:var(--bg-hover);cursor:pointer;display:flex;flex-direction:column;gap:.25rem}.chain-card:hover{border-color:var(--accent, #3b82f6)}.chain-card-active{border-color:var(--accent, #3b82f6);box-shadow:0 0 0 1px var(--accent, #3b82f6)}.chain-card-empty{cursor:default;opacity:.75}.chain-card-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.chain-card-meta{font-size:.8rem;color:var(--text-muted)}.chain-detail-panel{border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--panel-bg, var(--bg-hover))}.chain-detail-panel h3{margin:0 0 .75rem}.chain-detail-panel h4{margin:1rem 0 .5rem;font-size:.9rem}.chain-detail-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem 1rem;margin:0}.chain-detail-list div{display:flex;flex-direction:column;gap:.15rem}.chain-detail-list dt{font-size:.72rem;text-transform:uppercase;color:var(--text-muted)}.chain-detail-list dd{margin:0}.chain-vehicle-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.35rem}.chain-loading{padding:1rem 1.25rem;color:var(--text-muted)}.erp-bar-row-btn{width:100%;border:none;background:transparent;cursor:pointer;text-align:left;padding:.35rem 0}.erp-bar-row-btn:hover .erp-bar-fill{opacity:.85}.inventory-io-panel{display:flex;flex-direction:column;gap:.75rem}.inventory-io-actions{display:flex;flex-wrap:wrap;gap:.5rem}.inventory-csv-preview{width:100%;font-family:ui-monospace,monospace;font-size:.8rem;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-hover)}.inventory-io-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.inventory-io-inline{margin-bottom:1rem}.inventory-filters-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem;margin-bottom:1rem}.inventory-filters-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem}.inventory-filters-header .btn-link{margin-left:auto}.inventory-filters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.85rem 1rem}.inventory-filters-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--text-muted);line-height:1.3}.erp-dash-view .search-input,.inventory-filters-grid input:not([type=checkbox]):not([type=file]),.inventory-filters-grid select,.inventory-io-panel input[type=file]{width:100%;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.875rem;line-height:1.25;box-sizing:border-box;transition:border-color .15s,box-shadow .15s,background .15s}.inventory-filters-grid input::placeholder{color:var(--text-muted);opacity:.75}.inventory-filters-grid input:hover,.inventory-filters-grid select:hover{border-color:color-mix(in srgb,var(--border) 60%,var(--text-muted))}.inventory-filters-grid input:focus,.inventory-filters-grid select:focus,.erp-dash-view .search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(59, 130, 246, .2))}.inventory-filters-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem;background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 1rem) calc(50% - .15rem),calc(100% - .65rem) calc(50% - .15rem);background-size:.35rem .35rem,.35rem .35rem;background-repeat:no-repeat;cursor:pointer}.inventory-filters-grid input[type=date]{color-scheme:dark light}.inventory-io-panel input[type=file]{padding:.45rem .65rem;cursor:pointer}.inventory-io-panel input[type=file]::file-selector-button{margin-right:.75rem;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel, var(--bg-card));color:var(--text);font:inherit;font-size:.82rem;cursor:pointer}.inventory-io-panel input[type=file]::file-selector-button:hover{background:var(--bg-hover)}.inventory-filters-header .filter-result-count{font-size:.78rem;font-weight:500;color:var(--accent);background:var(--accent-soft, rgba(59, 130, 246, .12));padding:.15rem .5rem;border-radius:999px}.erp-dashboard-root{--erp-module-rail-width: 60px;--erp-group-nav-width: 248px;--erp-topbar-height: 58px;display:flex;flex-direction:column;min-height:100vh;width:100%;max-width:none}.erp-dashboard-root .main.erp-main-shell{flex:1;display:flex;flex-direction:column;min-width:0;width:100%;max-width:none}.erp-shell-header{position:relative;flex-shrink:0;flex-direction:column;align-items:stretch;gap:0;padding:0;overflow:visible;z-index:50}.erp-shell-header:has(.erp-mega-nav.is-open){z-index:1100}.erp-topbar-main{display:flex;align-items:center;gap:.75rem 1rem;min-height:var(--erp-topbar-height);padding:.45rem 1.15rem;box-sizing:border-box}.erp-shell-header .header-subtitle{display:none}.erp-shell-header .header-meta{position:relative;z-index:2;flex-shrink:0;gap:.75rem;background:var(--bg-panel)}.erp-mega-nav{flex:1;min-width:0}.erp-mega-triggers{display:flex;align-items:center;gap:.12rem;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:.22rem .28rem;border:1px solid color-mix(in srgb,var(--border) 72%,#e2e8f0);border-radius:14px;background:linear-gradient(180deg,#ffffffb8,#ffffff47),color-mix(in srgb,var(--bg-dark) 78%,#ffffff);box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0f172a0a}.erp-top-module{position:relative;display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.55rem .8rem .5rem;border:0;border-radius:10px;background:transparent;color:var(--text-muted);font:inherit;font-size:.9rem;font-weight:600;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none}a.erp-top-module:hover,a.erp-top-module:focus{text-decoration:none}.erp-top-module .nav-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1}.erp-nav-icon,.erp-home-icon{width:1.05rem;height:1.05rem}.erp-top-module:hover,.erp-top-module.is-open{color:var(--text);background:color-mix(in srgb,#ffffff 82%,var(--bg-dark))}.erp-top-module.is-active,.erp-top-module.is-open{color:var(--text);background:#fff;box-shadow:0 1px 2px #0f172a0f}.erp-top-module.is-active:after,.erp-top-module.is-open:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:.18rem;height:2px;border-radius:999px;background:var(--accent)}.erp-mega-panel{position:fixed;z-index:1100;isolation:isolate;width:max-content;padding:1.2rem 1.35rem 1rem;border:1px solid color-mix(in srgb,var(--border) 88%,#94a3b8);border-radius:18px;background:#f8fafc;box-shadow:0 22px 48px #0f172a29,0 0 0 1px #ffffffb3}.erp-mega-panel:before{content:"";position:absolute;left:-1.5rem;right:-1.5rem;bottom:100%;height:28px}.erp-mega-cols{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(13.5rem,max-content);width:max-content;max-width:100%;gap:0}.erp-mega-col{min-width:13.5rem;max-width:18rem;padding:0 1.15rem;border-inline-start:1px solid var(--border)}.erp-mega-col:first-child{padding-inline-start:0;border-inline-start:0}.erp-mega-col-title{margin:0 0 .75rem;color:var(--text-muted);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.erp-mega-links{display:flex;flex-direction:column;gap:.15rem}.erp-mega-link{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.15rem .7rem;align-items:start;padding:.42rem .4rem;border-radius:10px;color:inherit;text-decoration:none}.erp-mega-link-icon{line-height:1.35;font-size:1rem}.erp-mega-link-copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.erp-mega-link-title{font-size:.9rem;font-weight:700;line-height:1.25;color:var(--text)}.erp-mega-link-hint{font-size:.75rem;line-height:1.35;color:var(--text-muted)}.erp-mega-link:hover,.erp-mega-link.is-active{background:var(--bg-hover)}.erp-mega-link.is-active .erp-mega-link-title{color:var(--accent)}.erp-mega-foot{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.1rem}.erp-mega-panel.is-cols-1 .erp-mega-foot,.erp-mega-panel.is-cols-2 .erp-mega-foot{grid-template-columns:1fr}.erp-mega-cta{display:flex;align-items:flex-start;gap:.75rem;min-width:0;padding:.95rem 1rem;border-radius:14px;background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 34%),#171717;color:#fff;text-decoration:none}.erp-mega-cta-muted{background:radial-gradient(circle at 12% 80%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 36%),#111}.erp-mega-cta-icon{flex-shrink:0;font-size:1.1rem;line-height:1.3}.erp-mega-cta span:last-child{display:flex;flex-direction:column;gap:.18rem;min-width:0}.erp-mega-cta strong{font-size:.92rem}.erp-mega-cta span span{font-size:.75rem;line-height:1.35;color:#ffffffb8}.erp-subnav-bar{display:flex;align-items:center;gap:.65rem;flex-shrink:0;padding:.35rem 1.15rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg-panel) 88%,var(--bg-hover))}.erp-subnav-bar.is-collapsed{align-items:center;padding-block:.28rem}.erp-subnav-collapse{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;margin-top:0;padding:.32rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.02em;cursor:pointer;white-space:nowrap}.erp-subnav-bar.is-collapsed .erp-subnav-collapse{margin-top:0}.erp-subnav-collapse:hover{background:var(--bg-hover);color:var(--text)}.erp-subnav-collapse-icon{font-size:.7rem;line-height:1}.erp-subnav-current{margin:0;min-width:0;font-size:.8rem;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.erp-subnav-sections{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1;overflow-x:auto;scrollbar-width:thin;padding-bottom:.1rem}.erp-subnav-group{display:flex;flex-direction:row;align-items:center;gap:.4rem;flex:0 0 auto;min-width:0;padding-inline-start:.85rem;border-inline-start:1px solid var(--border)}.erp-subnav-group:first-child{padding-inline-start:0;border-inline-start:0}.erp-subnav-group-label{padding:0;border:none;background:none;color:var(--text-muted);font:inherit;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.erp-subnav-group-label:hover,.erp-subnav-group-label.is-open{color:var(--text)}.erp-subnav-links{display:flex;align-items:center;gap:.28rem}.erp-subnav-link{display:inline-flex;align-items:center;gap:.32rem;padding:.32rem .65rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);text-decoration:none;font-size:.78rem;font-weight:500;line-height:1.2;white-space:nowrap}.erp-subnav-link .nav-icon{font-size:.85rem}.erp-subnav-link:hover{background:var(--bg-hover);color:var(--text)}.erp-subnav-link.is-active{background:var(--bg-card);border-color:var(--border);color:var(--accent-selected-text, var(--accent));font-weight:600;box-shadow:0 1px 2px #0f172a0d}.erp-shell-brand{display:flex;align-items:center;gap:.85rem;min-width:0;flex-shrink:0}.erp-shell-logo,.erp-shell-logo.vtrack-logo{flex-shrink:0;background:transparent}.erp-shell-logo .vtrack-logo-img{height:42px;width:auto;max-width:none;background:transparent}.erp-shell-logo .contra-text-logo-tagline{display:none}.erp-shell-brand-text{min-width:0}.erp-shell{display:flex;gap:.75rem;align-items:flex-start;min-height:0;width:100%;max-width:none}.erp-module-rail{flex:0 0 var(--erp-module-rail-width);width:var(--erp-module-rail-width);display:flex;flex-direction:column;gap:.35rem;padding:.5rem .35rem;position:sticky;top:0;overflow:visible;z-index:30}.erp-module-tab,.erp-home-tab{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;width:100%;padding:.65rem .35rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text-muted);text-decoration:none;font:inherit;font-size:.82rem;line-height:1.25;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.erp-module-tab .nav-icon,.erp-home-tab .nav-icon{font-size:1.2rem;flex-shrink:0;width:1.35rem;text-align:center}.erp-module-tab:hover,.erp-home-tab:hover{background:var(--bg-hover);color:var(--text)}.erp-module-tab.active,.erp-home-tab.active{background:var(--accent-soft);border-color:transparent;color:var(--accent-selected-text, var(--accent));font-weight:600;box-shadow:none}.erp-module-tab-label{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);z-index:40;padding:.35rem .65rem;border-radius:8px;background:#0f172a;color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;box-shadow:0 8px 20px #0f172a2e}.erp-module-tab-label:before{content:"";position:absolute;right:100%;top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#0f172a}.erp-module-tab:hover .erp-module-tab-label,.erp-module-tab:focus-visible .erp-module-tab-label,.erp-home-tab:hover .erp-module-tab-label,.erp-home-tab:focus-visible .erp-module-tab-label{opacity:1;visibility:visible}.erp-main{flex:1;min-width:0;width:100%;display:flex;gap:.75rem;align-items:flex-start}.erp-group-nav{flex:0 0 var(--erp-group-nav-width);width:var(--erp-group-nav-width);position:sticky;top:0;max-height:calc(100vh - 140px);overflow-y:auto}.erp-group-nav .settings-subnav-item{white-space:normal;line-height:1.3;font-size:.86rem}.erp-nav-group{margin-bottom:.35rem}.erp-nav-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .65rem;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:normal;text-align:left;line-height:1.3}.erp-nav-group-toggle:hover{background:var(--bg-hover);color:var(--text)}.erp-nav-chevron{font-size:.75rem;opacity:.7}.erp-nav-group-items{display:flex;flex-direction:column;gap:.1rem;padding:.15rem 0 .35rem}.erp-content-home{width:100%;max-width:none}.admin-content.erp-content{flex:1;width:100%;max-width:none;min-width:0}.erp-embedded-page{width:100%;max-width:none}.erp-dashboard-root .content.admin-page.erp-page{flex:1;width:100%;max-width:none;min-width:0;padding:.85rem 1rem 1.25rem;box-sizing:border-box}.erp-dashboard-root .admin-content.erp-content>.content,.erp-dashboard-root .admin-content.erp-content>.content.erp-embedded-page,.erp-dashboard-root .erp-content .erp-embedded-page.content{width:100%;max-width:none;padding:0;box-sizing:border-box}.erp-dashboard-root .erp-content .reports-section-content,.erp-dashboard-root .erp-content .dashboards-content,.erp-dashboard-root .erp-content .settings-content,.erp-dashboard-root .erp-content .admin-crud-page,.erp-dashboard-root .erp-content .erp-dash-view,.erp-dashboard-root .erp-content .dash-view{width:100%;max-width:none}.erp-dashboard-root:has(.fleet-overview-page),.erp-dashboard-root:has(.track-together-page),.erp-dashboard-root:has(.camera-stream-page),.erp-dashboard-root:has(.history-replay-page){height:100vh;max-height:100vh;overflow:hidden}.erp-dashboard-root:has(.fleet-overview-page) .main.erp-main-shell,.erp-dashboard-root:has(.track-together-page) .main.erp-main-shell,.erp-dashboard-root:has(.camera-stream-page) .main.erp-main-shell,.erp-dashboard-root:has(.history-replay-page) .main.erp-main-shell{flex:1;min-height:0;overflow:hidden}.erp-dashboard-root:has(.fleet-overview-page) .content.admin-page.erp-page,.erp-dashboard-root:has(.track-together-page) .content.admin-page.erp-page,.erp-dashboard-root:has(.camera-stream-page) .content.admin-page.erp-page,.erp-dashboard-root:has(.history-replay-page) .content.admin-page.erp-page{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:.5rem}.erp-dashboard-root:has(.fleet-overview-page) .erp-shell,.erp-dashboard-root:has(.track-together-page) .erp-shell,.erp-dashboard-root:has(.camera-stream-page) .erp-shell,.erp-dashboard-root:has(.history-replay-page) .erp-shell{flex:1;min-height:0;align-items:stretch}.erp-dashboard-root:has(.fleet-overview-page) .erp-main,.erp-dashboard-root:has(.track-together-page) .erp-main,.erp-dashboard-root:has(.camera-stream-page) .erp-main,.erp-dashboard-root:has(.history-replay-page) .erp-main{flex:1;min-height:0;align-items:stretch}.erp-dashboard-root:has(.fleet-overview-page) .admin-content.erp-content,.erp-dashboard-root:has(.track-together-page) .admin-content.erp-content,.erp-dashboard-root:has(.camera-stream-page) .admin-content.erp-content,.erp-dashboard-root:has(.history-replay-page) .admin-content.erp-content{flex:1;min-height:0;display:flex;flex-direction:column}.erp-dashboard-root:has(.fleet-overview-page) .admin-content.erp-content>.content.fleet-overview-page,.erp-dashboard-root:has(.track-together-page) .admin-content.erp-content>.content.track-together-page,.erp-dashboard-root:has(.camera-stream-page) .admin-content.erp-content>.content.camera-stream-page,.erp-dashboard-root:has(.history-replay-page) .admin-content.erp-content>.content.history-page{flex:1;min-height:0;overflow:hidden;padding:0}.erp-module-placeholder .erp-placeholder-lead{margin:0 0 .75rem;color:var(--text-muted)}.erp-module-placeholder .erp-placeholder-list{margin:0;padding-left:1.25rem;color:var(--text-muted)}.erp-module-placeholder .erp-placeholder-list li{margin-bottom:.35rem}.privilege-hierarchy-module{border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;overflow:hidden}.privilege-hierarchy-module-toggle,.privilege-hierarchy-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.65rem .85rem;border:none;background:var(--bg-hover);color:var(--text);font:inherit;cursor:pointer;text-align:left}.privilege-hierarchy-group-toggle{background:transparent;padding-left:1.25rem;font-size:.88rem}.privilege-hierarchy-module-body,.privilege-hierarchy-group-body{padding:.35rem .5rem .65rem}.privilege-hierarchy-group{margin-top:.25rem}.privilege-module-license{display:flex;align-items:center;gap:.5rem;padding:.5rem .85rem;border-bottom:1px solid var(--border);background:var(--bg-card);font-weight:600}.finance-je-line{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.finance-je-row{cursor:pointer}.finance-je-row:hover{background:var(--bg-hover)}.finance-je-detail-row td{font-size:.85rem;color:var(--text-muted);background:color-mix(in srgb,var(--bg-hover) 60%,transparent)}.finance-report-kpis{margin-bottom:1rem}.finance-page .panel-body{padding:1rem 1.15rem}.finance-page .panel-header{flex-shrink:0;min-height:2.75rem;white-space:normal;line-height:1.35;flex-wrap:wrap;gap:.35rem .75rem;align-items:flex-start}.finance-page .panel .report-history-table-wrap{min-height:0;flex:1 1 auto;padding:0 1.15rem 1rem;box-sizing:border-box;overflow-x:auto;-webkit-overflow-scrolling:touch}.finance-report-stack{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.finance-report-stack:last-child{margin-bottom:0}.finance-page .finance-report-panel .finance-table,.finance-page .finance-report-panel .report-history-table-wrap{width:100%}.finance-page .dash-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.finance-page .dash-kpi-card{min-width:0}.finance-page .dash-kpi-body{flex:1;min-width:0}.finance-page .dash-kpi-label{white-space:normal;line-height:1.35;overflow-wrap:break-word}.finance-page .dash-kpi-card-money .dash-kpi-value{flex-wrap:wrap}.recovery-workflow{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.15rem;margin-bottom:1rem}.recovery-workflow-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem}.recovery-workflow-step{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center;position:relative;min-width:0}.recovery-workflow-step:not(:last-child):after{content:"";position:absolute;top:1rem;left:calc(50% + 1.1rem);width:calc(100% - 2.2rem);height:2px;background:var(--border);z-index:0}.recovery-workflow-step.done:not(:last-child):after{background:color-mix(in srgb,var(--success, #22c55e) 55%,var(--border))}.recovery-workflow-marker{width:2rem;height:2rem;border-radius:999px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;background:var(--bg-card);color:var(--text-muted);position:relative;z-index:1}.recovery-workflow-step.done .recovery-workflow-marker{border-color:color-mix(in srgb,var(--success, #22c55e) 60%,var(--border));color:var(--success, #22c55e)}.recovery-workflow-step.active .recovery-workflow-marker{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-card));color:var(--accent)}.recovery-workflow-label{font-size:.72rem;font-weight:600;color:var(--text-muted);line-height:1.3;overflow-wrap:anywhere}.recovery-workflow-step.active .recovery-workflow-label,.recovery-workflow-step.done .recovery-workflow-label{color:var(--text)}.recovery-workflow-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;font-size:.85rem;color:var(--text-muted);padding-top:.65rem;border-top:1px solid var(--border)}.recovery-workflow-date{font-variant-numeric:tabular-nums}@media(max-width:720px){.recovery-workflow-track{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-workflow-step:not(:last-child):after{display:none}}.finance-filter-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:1rem 1.15rem;margin-bottom:1rem}.finance-filter-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem;font-size:.88rem;color:var(--text)}.finance-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem 1.25rem;align-items:end}.finance-form-grid label,.finance-field-wide{display:flex;flex-direction:column;gap:.4rem;min-width:0}.finance-field-label{font-size:.82rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.finance-field-wide{grid-column:1 / -1}.finance-form-grid input:not([type=checkbox]),.finance-form-grid select,.finance-form-grid textarea{width:100%;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.875rem;box-sizing:border-box}.finance-form-grid input:focus,.finance-form-grid select:focus,.finance-form-grid textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft, rgba(59, 130, 246, .2))}.finance-form-actions{display:flex;align-items:flex-end;gap:.5rem;padding-bottom:.15rem}.finance-report-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;padding:.35rem;background:var(--bg-card);border:1px solid var(--border);border-radius:10px}.finance-report-tab{padding:.55rem .9rem;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:.84rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.finance-report-tab:hover{background:var(--bg-hover);color:var(--text)}.finance-report-tab.active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--accent-selected-text, var(--accent));font-weight:600;box-shadow:none}.finance-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 1.25rem;padding:.8rem 1rem;margin-bottom:.85rem;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;font-size:.84rem;color:var(--text-muted)}.finance-summary-bar strong{color:var(--text);font-weight:600}.finance-summary-bar-money strong{font-weight:600}.finance-summary-bar .money-display-amount{font-variant-numeric:tabular-nums}.finance-report-panel{margin-bottom:1rem;width:100%;min-width:0}.finance-page .erp-dashboard-grid .finance-report-panel,.finance-page .erp-dashboard-grid .panel:has(.finance-table),.finance-page .erp-dashboard-grid .panel:has(.report-history-table-wrap),.finance-page .erp-dashboard-grid .crm-documents-panel{grid-column:1 / -1;min-width:0}.finance-report-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.finance-report-panel-meta{font-size:.8rem;font-weight:500;color:var(--text-muted)}.finance-report-panel-footer{padding:.75rem 1rem .85rem;border-top:1px solid var(--border)}.finance-table{width:100%;border-collapse:collapse;font-size:.875rem}.finance-table th,.finance-table td{padding:.72rem .85rem;border-bottom:1px solid var(--border);vertical-align:middle}.finance-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;background:var(--bg-hover);white-space:nowrap}.finance-table tbody tr:hover{background:color-mix(in srgb,var(--bg-hover) 65%,transparent)}.finance-table tfoot td{font-weight:600;background:color-mix(in srgb,var(--bg-hover) 45%,transparent);border-top:2px solid var(--border);border-bottom:none}.finance-table .col-num,.finance-page .report-history-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-table .col-text{text-align:left}.finance-table .col-center{text-align:center}.finance-muted-cell{color:var(--text-muted);font-size:.82rem}.finance-empty-cell{text-align:center;padding:1.5rem 1rem!important;color:var(--text-muted)}.finance-aging-visual-col{min-width:120px;width:18%}.finance-aging-bar{height:6px;border-radius:999px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}.finance-aging-bar-fill{height:100%;border-radius:999px;background:var(--accent);min-width:0;transition:width .2s ease}.finance-aging-bar-fill.current{background:var(--success, #22c55e)}.finance-aging-bar-fill.warning{background:var(--vehicle-status-idle, #f59e0b)}.finance-aging-bar-fill.overdue{background:var(--danger, #ef4444)}.finance-page .erp-stat-list li{padding:.65rem 0}.finance-page .erp-stat-list li span{flex:1;min-width:0}.finance-page .erp-stat-list li strong{text-align:right;min-width:8rem;font-weight:600}.finance-page .report-history-table th.num,.finance-page .report-history-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.finance-page .report-history-table td.empty-cell{text-align:center;color:var(--text-muted);padding:1.5rem 1rem}.finance-page .erp-filter-bar{align-items:flex-end;gap:1rem 1.25rem}.finance-page .erp-filter-bar label{min-width:180px}.inventory-filter-wide,.finance-field-wide{grid-column:1 / -1}.erp-mobile-nav-toggle{display:none}@media(max-width:960px){.finance-field-wide,.inventory-filter-wide{grid-column:span 1}.finance-aging-visual-col{display:none}.finance-report-panel-header{flex-direction:column;align-items:flex-start}.erp-dashboard-root{--erp-module-rail-width: 100%;--erp-group-nav-width: 100%;--erp-topbar-height: auto}.erp-shell{flex-direction:column}.erp-module-rail{flex:none;flex-direction:row;flex-wrap:wrap;width:100%;padding:.45rem;gap:.35rem;position:sticky;top:0;z-index:40;flex-shrink:0;background:var(--bg-panel);border-bottom:1px solid var(--border)}.erp-module-tab,.erp-home-tab{flex:0 0 auto;width:auto;min-width:44px;padding:.55rem .65rem}.erp-module-tab-label{display:none}.erp-main{flex-direction:column;width:100%;gap:.65rem}.erp-group-nav,.erp-group-nav.admin-subnav{position:static;top:auto;flex:none;width:100%;display:none;max-height:none;margin:0;z-index:auto}.erp-group-nav.is-open{display:flex;flex-direction:column;max-height:min(42vh,360px);overflow-y:auto;flex-shrink:0;margin-bottom:.15rem;background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 2px 8px #0f172a0f}.erp-group-nav.is-open+.admin-content.erp-content{margin-top:0;width:100%;min-width:0}.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)){height:auto;max-height:none;min-height:100dvh;overflow:visible}.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .main.erp-main-shell,.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .content.admin-page.erp-page,.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .erp-main,.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .admin-content.erp-content,.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .admin-content.erp-content>.content{overflow:visible;min-height:auto;flex:none}.erp-dashboard-root:not(:has(.track-together-page)):not(:has(.camera-stream-page)) .erp-shell{min-height:auto}.erp-dashboard-root:has(.history-page) .admin-content.erp-content>.content.history-page,.erp-dashboard-root:has(.history-replay-page) .admin-content.erp-content>.content.history-page{overflow:visible;min-height:auto;flex:none;padding-bottom:1rem}.erp-shell-header{flex-wrap:nowrap;gap:0;padding:0}.erp-topbar-main{flex-wrap:wrap;gap:.55rem .75rem;padding:.65rem .85rem}.erp-mega-nav{order:3;flex:1 1 100%;width:100%}.erp-mega-panel{left:.55rem!important;right:.55rem!important;inset-inline-start:.55rem!important;width:auto;max-width:none!important;max-height:min(70vh,560px);overflow:auto}.erp-mega-cols{grid-auto-flow:row;grid-auto-columns:minmax(0,1fr);width:100%;gap:1rem}.erp-mega-col{min-width:0;max-width:none;padding:0;border-inline-start:0;padding-top:.75rem;border-top:1px solid var(--border)}.erp-mega-col:first-child{padding-top:0;border-top:0}.erp-mega-foot{grid-template-columns:1fr}.erp-shell-header .header-meta{width:auto;margin-inline-start:auto;justify-content:flex-end;gap:.5rem .75rem}.erp-shell-header .header-subtitle{display:none}.erp-shell-logo .vtrack-logo-img{height:36px}.erp-dashboard-root .content.admin-page.erp-page{padding:.65rem .55rem 1rem}.erp-mobile-nav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.75rem;padding:.65rem .85rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-card);color:var(--text);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;flex-shrink:0}.erp-mobile-nav-toggle-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.erp-mobile-nav-toggle-icon{flex-shrink:0;color:var(--text-muted)}}@media(max-width:640px){.erp-module-rail{padding:.35rem;gap:.25rem}.erp-module-tab,.erp-home-tab{min-width:40px;padding:.5rem .55rem}.erp-shell-header .header-digital-clock-face{font-size:.92rem;padding:.28rem .5rem}.erp-shell-header .header-user{align-items:flex-start}.erp-shell-header .header-logout{padding-inline:.65rem}.erp-page-header{flex-direction:column;align-items:stretch;gap:.65rem}.erp-page-header .erp-page-actions,.admin-page-header-actions{width:100%;flex-wrap:wrap}}.sales-pipeline-board{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;align-items:flex-start}.sales-pipeline-column{flex:0 0 240px;min-width:220px;background:var(--bg-card);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;max-height:calc(100vh - 220px)}.sales-pipeline-column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.sales-pipeline-column-meta{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.sales-pipeline-cards{padding:.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.sales-pipeline-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.65rem .75rem}.sales-pipeline-card-title{font-weight:600;display:block;margin-bottom:.25rem}.sales-pipeline-card-sub{font-size:.8rem;color:var(--text-muted)}.sales-pipeline-card-amount{margin-top:.35rem;font-weight:600;font-variant-numeric:tabular-nums}.sales-pipeline-card-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sales-pipeline-empty{font-size:.85rem;color:var(--text-muted);padding:.75rem;text-align:center}.sales-quote-editor-table .sales-quote-line-input{width:100%;min-width:0;min-height:2.25rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.875rem;box-sizing:border-box}.sales-quote-editor-table .sales-quote-line-input-num{text-align:right;font-variant-numeric:tabular-nums}.sales-quote-editor-table .sales-quote-line-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft, rgba(59, 130, 246, .2))}.sales-quote-editor-table tfoot td{background:color-mix(in srgb,var(--bg-hover) 45%,transparent)}.cro-console-page .cro-search-input{width:100%;font-size:1.05rem;padding:.75rem 1rem}.cro-console-page .cro-search-results{grid-template-columns:1fr}.crm-form-hint{display:block;margin-top:.35rem;font-size:.82rem;color:var(--text-muted)}.crm-customer-picker{list-style:none;margin:.5rem 0 0;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg-card);max-height:220px;overflow-y:auto}.crm-customer-picker-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;padding:.65rem .85rem;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.crm-customer-picker-item:last-child{border-bottom:0}.crm-customer-picker-item:hover{background:var(--bg-hover)}.crm-customer-picker-item-meta{font-size:.82rem;color:var(--text-muted)}.crm-customer-picker-field{display:flex;flex-direction:column;gap:.65rem;padding:.75rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));min-height:2.5rem;box-sizing:border-box}.crm-customer-picker-selected{display:flex;flex-direction:column;gap:.2rem}.crm-customer-picker-selected span{font-size:.82rem;color:var(--text-muted)}.crm-customer-picker-actions,.crm-customer-picker-empty{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.crm-customer-search-modal{width:min(600px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden}.crm-customer-search-modal .modal-body{display:flex;flex-direction:column;gap:.85rem;overflow:hidden;flex:1;min-height:0;padding:1rem 1.25rem}.crm-customer-search-toolbar{display:flex;flex-direction:column;gap:.35rem;flex-shrink:0}.crm-customer-search-results{display:flex;flex-direction:column;gap:.45rem;flex:1;min-height:0}.crm-customer-search-results-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.82rem;color:var(--text-muted);flex-shrink:0}.crm-customer-search-actions{justify-content:space-between;align-items:center;padding:.85rem 1.25rem 1.15rem;border-top:1px solid var(--border);margin-top:0}.crm-customer-search-input{width:100%;min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;box-sizing:border-box}.crm-customer-search-hint{margin:0;font-size:.82rem;color:var(--text-muted)}.crm-customer-picker-modal{flex:1;min-height:180px;max-height:none;margin:0}.crm-customer-picker-item-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.crm-customer-picker-badge{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-hover);border:1px solid var(--border)}.crm-customer-picker-empty-row{padding:.85rem;color:var(--text-muted);font-size:.875rem}.crm-documents-panel{width:100%;margin-top:1rem}.crm-documents-panel .panel-header{display:flex;align-items:center;gap:.5rem}.crm-documents-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .45rem;border-radius:999px;background:var(--bg-hover);color:var(--text-muted);font-size:.75rem;font-weight:600}.crm-document-cards{display:flex;flex-direction:column;gap:.75rem;width:100%}.crm-document-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.9rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-card);box-shadow:0 1px 2px color-mix(in srgb,var(--text) 6%,transparent);transition:border-color .15s ease,box-shadow .15s ease}.crm-document-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));box-shadow:0 4px 14px color-mix(in srgb,var(--text) 8%,transparent)}.crm-document-card-main{display:flex;align-items:flex-start;gap:.85rem;flex:1;min-width:0}.crm-document-card-meta{display:flex;flex-direction:column;gap:.25rem;min-width:0;flex:1}.crm-document-card-sub{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .85rem}.crm-document-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.crm-document-card-title{display:block;width:100%;font-size:.94rem;font-weight:600;line-height:1.4;text-align:left;word-break:break-word}.crm-document-card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-shrink:0;margin:0;padding:0;border-top:0}.crm-document-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.15rem;height:2.15rem;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover);color:var(--text-muted);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.crm-document-icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 10%,var(--bg-hover));border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent);transform:translateY(-1px)}.crm-document-icon-btn.whatsapp:hover:not(:disabled){background:color-mix(in srgb,#25d366 12%,var(--bg-hover));border-color:color-mix(in srgb,#25d366 45%,var(--border));color:#25d366}.crm-document-icon-btn:disabled{opacity:.45;cursor:not-allowed}.crm-document-icon-spinner{animation:crm-document-spin .8s linear infinite}@keyframes crm-document-spin{to{transform:rotate(360deg)}}.crm-document-type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:5.5rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.crm-document-type-badge.install{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.crm-document-type-badge.removal{background:color-mix(in srgb,var(--warning, #f59e0b) 18%,transparent);color:var(--warning, #f59e0b)}.crm-document-type-badge.invoice{background:color-mix(in srgb,var(--info, #3b82f6) 16%,transparent);color:var(--info, #3b82f6)}.crm-document-type-badge.other{background:var(--bg-hover);color:var(--text-muted)}.crm-document-vehicle{margin:0;font-size:.78rem;color:var(--text-muted)}.crm-document-date{font-size:.78rem;color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:.1rem}.crm-documents-empty,.crm-documents-complete{margin:0;font-size:.88rem;color:var(--text-muted)}.crm-documents-complete{padding:.75rem .85rem;border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--success, #22c55e) 8%,transparent);color:var(--text)}.crm-documents-generate{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.crm-documents-generate-header h4{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--text)}.crm-documents-generate-header .crm-form-hint{margin-top:0}.crm-cert-generate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:.75rem}.crm-cert-generate-card{display:flex;flex-direction:column;gap:.75rem;padding:.9rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover)}.crm-cert-generate-card-head{display:flex;flex-direction:column;gap:.45rem}.crm-cert-generate-card-head .crm-form-hint{margin-top:0}.crm-cert-generate-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem}.crm-cert-generate-field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 160px;min-width:0;font-size:.82rem;color:var(--text-muted)}.crm-cert-generate-field select{min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-card));color:var(--text);font:inherit}.crm-cert-generate-controls .btn-primary,.crm-cert-generate-controls .btn-secondary{flex:1 1 auto;white-space:nowrap}.crm-documents-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.crm-install-cert-create{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.crm-install-cert-vehicle{display:flex;flex-direction:column;gap:.35rem;min-width:180px;font-size:.82rem;color:var(--text-muted)}.crm-install-cert-vehicle select{min-height:2.5rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit}.crm-inline-group-select{margin-top:.35rem;width:100%;max-width:220px;min-height:2rem;padding:.35rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;font-size:.82rem}@media(min-width:960px){.cro-console-page .cro-search-results{grid-template-columns:1fr}}.crm-document-share-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-left:6.15rem}.crm-document-share-actions.compact{gap:.35rem .5rem}.crm-document-share-actions.compact .btn-link{display:inline-flex;align-items:center;min-height:1.85rem;padding:.2rem .65rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font-size:.76rem;font-weight:600;text-decoration:none;white-space:nowrap}.crm-document-share-actions.compact .btn-link:hover:not(:disabled){background:var(--bg-hover);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent)}.crm-document-share-actions.compact .btn-link:disabled{opacity:.45;cursor:not-allowed}.crm-document-list-item{flex-direction:column;align-items:flex-start!important;gap:.45rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.crm-document-list-item:last-child{border-bottom:0;padding-bottom:0}.crm-document-list-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%}@media(max-width:720px){.crm-document-card{flex-direction:column;align-items:stretch}.crm-document-card-footer{justify-content:flex-start;padding-top:.65rem;border-top:1px solid var(--border)}.crm-cert-generate-controls .btn-primary,.crm-cert-generate-controls .btn-secondary{width:100%}}.crm-document-page .erp-page-header-actions,.crm-document-page .admin-page-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem}.crm-document-page .erp-page-header-actions .crm-document-icon-btn,.crm-document-page .admin-page-header-actions .crm-document-icon-btn{width:2.35rem;height:2.35rem}@media print{.crm-document-page .erp-page-header,.crm-document-page .journey-banner,.crm-document-page .erp-shell-header,.crm-document-page .erp-module-rail,.crm-document-page .erp-group-nav,.crm-document-page .erp-top-modules,.crm-document-page .erp-subnav-bar,.crm-document-page .erp-mega-nav,.crm-document-page .erp-mega-panel{display:none!important}.crm-document-frame-wrap{border:0;margin:0;min-height:auto}.crm-document-frame{min-height:100vh}}.crm-document-frame-wrap{margin-top:1rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;min-height:70vh}.crm-document-frame{width:100%;min-height:70vh;border:0;background:#fff}@media(max-width:720px){.finance-page .finance-filter-bar{flex-wrap:wrap;gap:.5rem}.cro-console-page .report-history-table-wrap{overflow-x:auto}.batch-asset-picker-filters{grid-template-columns:1fr}}.batch-create-modal{width:min(760px,calc(100vw - 2rem))}.batch-selected-panel{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--bg-hover, rgba(0, 0, 0, .02))}.batch-selected-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.batch-selected-panel-header label{display:block;font-weight:600;margin-bottom:.2rem}.batch-selected-summary{margin:0;font-size:.85rem;color:var(--text-muted)}.batch-selected-table-wrap,.batch-asset-picker-table-wrap{overflow:auto;max-height:240px;border:1px solid var(--border);border-radius:8px;background:var(--panel-bg, var(--bg))}.batch-selected-remove-col{text-align:right;white-space:nowrap}.batch-asset-picker-overlay{z-index:1200}.batch-asset-picker-modal{width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden}.batch-asset-picker-modal .modal-body{display:flex;flex-direction:column;gap:.85rem;overflow:hidden;flex:1;min-height:0;padding:1rem 1.25rem}.batch-asset-picker-tabs{display:flex;gap:.35rem;flex-shrink:0}.batch-asset-picker-tab{border:1px solid var(--border);background:transparent;color:var(--text-muted);border-radius:999px;padding:.35rem .85rem;font:inherit;cursor:pointer}.batch-asset-picker-tab.active{background:var(--accent, #2563eb);border-color:var(--accent, #2563eb);color:#fff}.batch-asset-picker-toolbar{display:flex;flex-direction:column;gap:.55rem;flex-shrink:0}.batch-asset-picker-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.batch-asset-picker-filters select,.batch-asset-picker-filters input{width:100%;min-height:2.35rem;padding:.45rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg, var(--bg-hover));color:var(--text);font:inherit;box-sizing:border-box}.batch-asset-picker-results-meta{display:flex;justify-content:space-between;gap:.75rem;font-size:.82rem;color:var(--text-muted);flex-shrink:0}.batch-asset-picker-table-wrap{flex:1;min-height:180px;max-height:none}.batch-asset-picker-table tbody tr.selected-row{background:color-mix(in srgb,var(--accent, #2563eb) 8%,transparent)}.batch-asset-picker-check-col{width:2.5rem}.batch-asset-type-badge{display:inline-flex;align-items:center;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.batch-asset-type-badge.device{background:color-mix(in srgb,#2563eb 14%,transparent);color:#2563eb}.batch-asset-type-badge.sim{background:color-mix(in srgb,#059669 14%,transparent);color:#059669}.batch-asset-picker-actions{justify-content:flex-end;gap:.5rem;padding:.85rem 1.25rem 1.15rem;border-top:1px solid var(--border)}.invoice-status-mix{margin:1rem 0 1.25rem;padding:1rem 1.25rem 1.15rem}.invoice-claim-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem}.invoice-claim-metric{background:var(--panel, #fff);border:1px solid var(--border);border-radius:12px;padding:.85rem 1rem}.invoice-claim-metric span{display:block;color:var(--muted, #6b7280);font-size:.8rem}.invoice-claim-metric strong{font-size:1.35rem}.invoice-claim-toolbar{display:flex;gap:.75rem;margin-bottom:1rem}.invoice-claim-toolbar .search-input{flex:1}.invoice-claim-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:1rem;align-items:start}.invoice-claim-layout .finance-table tbody tr{cursor:pointer}.invoice-claim-layout .finance-table tbody tr.is-selected{background:color-mix(in srgb,#c9252b 8%,transparent)}.invoice-claim-detail{padding:1rem 1.15rem 1.25rem}.invoice-claim-detail h3{margin:0 0 .75rem}.invoice-claim-dl{display:grid;gap:.45rem;margin:0 0 1rem}.invoice-claim-dl div{display:grid;grid-template-columns:9rem 1fr;gap:.5rem}.invoice-claim-dl dt{color:var(--muted, #6b7280)}.invoice-claim-proof{display:grid;gap:.5rem;margin-bottom:1rem}.invoice-claim-proof img{max-width:100%;border-radius:10px;border:1px solid var(--border)}.invoice-claim-review{display:grid;gap:.75rem}.invoice-claim-review label{display:grid;gap:.35rem;font-size:.85rem}.invoice-claim-review input,.invoice-claim-review textarea{width:100%}.invoice-claim-actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:960px){.invoice-claim-layout{grid-template-columns:1fr}}.my-invoice-notice{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;margin:0 0 .85rem;padding:.9rem 1rem;border:1px solid #fecaca;border-radius:12px;background:#fef2f2;color:inherit;text-align:left;cursor:pointer}.my-invoice-notice strong{color:#b91c1c}.my-invoice-notice span{color:#374151;font-size:.9rem;line-height:1.4}.my-invoice-notice em{color:#6b7280;font-size:.78rem;font-style:normal}.my-invoice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.my-invoice-card{background:var(--panel, #fff);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem 1.15rem}.my-invoice-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.my-invoice-card-head h3{margin:0 0 .2rem;font-size:1.05rem}.my-invoice-card-head p{margin:0}.my-invoice-facts{display:grid;gap:.4rem;margin:0 0 .9rem}.my-invoice-facts div{display:flex;justify-content:space-between;gap:1rem}.my-invoice-facts dt{color:var(--muted, #6b7280);font-size:.82rem}.my-invoice-facts dd{margin:0;font-weight:600}.my-invoice-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.my-invoice-pending{margin:0;color:#1d4ed8;font-size:.88rem;font-weight:600}.invoice-bank-card{margin:0 0 1rem;padding:1rem 1.1rem 1.15rem;border:1px solid var(--border);border-radius:14px;background:var(--bg-card)}.invoice-bank-card.is-compact{margin:0;padding:.85rem .9rem .95rem;background:var(--bg-hover)}.invoice-bank-kicker{margin:0 0 .2rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.invoice-bank-card h3{margin:0 0 .85rem;font-size:1.05rem}.invoice-bank-rows{display:grid;gap:.55rem}.invoice-bank-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:#fff}.invoice-bank-row span{display:block;font-size:.75rem;color:var(--text-muted);margin-bottom:.15rem}.invoice-bank-row strong{display:block;font-size:.9rem;line-height:1.4;word-break:break-word}.invoice-bank-copy{flex-shrink:0;min-width:4.4rem;height:2rem;padding:0 .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);color:var(--accent);font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.invoice-bank-copy:hover{background:var(--accent-soft)}.invoice-bank-note{margin:.85rem 0 .9rem;font-size:.88rem;line-height:1.45;color:var(--text-muted)}.invoice-bank-card .btn-primary{width:auto}.my-invoice-pay-modal{display:flex;flex-direction:column;width:min(520px,calc(100vw - 2rem));max-width:520px;max-height:min(90vh,720px);padding:0;overflow:hidden;letter-spacing:normal;word-spacing:normal}.my-invoice-pay-modal .modal-header{flex-shrink:0;align-items:center;padding:1.15rem 1.35rem}.my-invoice-pay-modal .modal-header h2{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:normal;line-height:1.3}.my-invoice-pay-modal .modal-subtitle{margin:.2rem 0 0;font-size:.84rem;color:var(--text-muted);letter-spacing:.01em}.my-invoice-pay-body{display:flex;flex-direction:column;gap:1.05rem;padding:1.15rem 1.35rem .35rem;overflow-y:auto}.my-invoice-pay-due{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-card))}.my-invoice-pay-due span{font-size:.82rem;font-weight:600;color:var(--text-muted)}.my-invoice-pay-due strong{font-size:1.15rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:normal;color:var(--text)}.my-invoice-pay-hint{margin:0;font-size:.88rem;line-height:1.5;color:var(--text-muted)}.my-invoice-pay-modal .form-field{display:flex;flex-direction:column;gap:.45rem;min-width:0}.my-invoice-pay-label,.my-invoice-pay-modal .form-field>span.my-invoice-pay-label,.my-invoice-pay-modal .form-field>.my-invoice-pay-label{font-size:.78rem;font-weight:600;color:var(--text-muted);letter-spacing:.01em}.my-invoice-pay-modal .form-field input[type=text],.my-invoice-pay-modal .form-field input:not([type=file]){width:100%;height:2.55rem;padding:0 .8rem;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font:inherit;font-size:.9rem}.my-invoice-pay-modal .form-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.my-invoice-methods{display:flex;flex-wrap:wrap;gap:.5rem}.my-invoice-method{display:inline-flex;align-items:center;justify-content:center;min-height:2.2rem;padding:.4rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--bg-card);color:var(--text);font:inherit;font-size:.84rem;font-weight:600;letter-spacing:normal;word-spacing:normal;white-space:nowrap;cursor:pointer}.my-invoice-method:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:var(--bg-hover)}.my-invoice-method.is-on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-selected-text)}.my-invoice-pay-file{display:flex;flex-direction:column;justify-content:center;gap:.2rem;min-height:4.4rem;padding:.85rem 1rem;border:1px dashed var(--border);border-radius:10px;background:var(--bg-hover);cursor:pointer}.my-invoice-pay-file:hover,.my-invoice-pay-file:focus-within{border-color:var(--accent);background:var(--accent-soft)}.my-invoice-pay-file.has-file{border-style:solid;border-color:color-mix(in srgb,var(--success) 35%,var(--border));background:color-mix(in srgb,var(--success) 8%,var(--bg-card))}.my-invoice-pay-file-name{font-size:.9rem;font-weight:650;color:var(--text);overflow-wrap:anywhere}.my-invoice-pay-file-hint{font-size:.78rem;color:var(--text-muted)}.my-invoice-pay-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.65rem;padding:1rem 1.35rem 1.2rem;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-hover) 55%,var(--bg-card))}.my-invoice-pay-actions .btn-secondary,.my-invoice-pay-actions .btn-primary{min-width:7.5rem}.invoice-detail-page{display:flex;flex-direction:column;gap:1rem}.invoice-sheet{background:#fff;color:#111;border:1px solid #d4d4d4;box-shadow:0 10px 30px #1118270f;padding:1.75rem 2rem 2rem;max-width:980px}.invoice-sheet-letterhead{display:flex;justify-content:space-between;gap:1.5rem;padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:2px solid #111}.invoice-sheet-brand{margin:0 0 .35rem;font-size:1.25rem;font-weight:700;letter-spacing:.01em}.invoice-sheet-letterhead p{margin:0;font-size:.82rem;line-height:1.45;color:#333}.invoice-sheet-doc-meta{text-align:right;min-width:14rem}.invoice-sheet-kicker{margin:0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#555}.invoice-sheet-doc-meta h2{margin:.2rem 0 .55rem;font-size:1.45rem;letter-spacing:.02em}.invoice-sheet-badges{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.4rem}.invoice-sheet-parties{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.invoice-sheet-box{border:1px solid #111;padding:.85rem 1rem;min-height:8rem}.invoice-sheet-box h3{margin:0 0 .45rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#555}.invoice-sheet-box strong{display:block;font-size:1.05rem;margin-bottom:.25rem}.invoice-sheet-box p{margin:0;font-size:.85rem;line-height:1.45;color:#333}.invoice-sheet-facts{margin:0}.invoice-sheet-facts>div{display:grid;grid-template-columns:7.5rem 1fr;gap:.5rem;padding:.28rem 0;font-size:.85rem}.invoice-sheet-facts dt{margin:0;color:#555}.invoice-sheet-facts dd{margin:0;font-weight:600}.invoice-sheet-lines{width:100%;border-collapse:collapse;margin:0 0 1.25rem;font-size:.88rem}.invoice-sheet-lines th,.invoice-sheet-lines td{border:1px solid #111;padding:.65rem .7rem;vertical-align:top}.invoice-sheet-lines th{background:#f7f7f7;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;text-align:left}.invoice-sheet-lines .col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.invoice-sheet-vehicle{color:#111;font-weight:600;text-decoration:none}.invoice-sheet-vehicle:hover{text-decoration:underline}.invoice-sheet-totals-row{display:grid;grid-template-columns:minmax(0,1fr) 16rem;gap:1.25rem;align-items:start;margin-bottom:1.25rem}.invoice-sheet-words{margin:0;font-size:.88rem;line-height:1.45}.invoice-sheet-totals{margin:0;border:1px solid #111}.invoice-sheet-totals>div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem .75rem;border-bottom:1px solid #ddd;font-size:.88rem}.invoice-sheet-totals>div:last-child{border-bottom:none}.invoice-sheet-totals dt,.invoice-sheet-totals dd{margin:0}.invoice-sheet-totals dd{font-variant-numeric:tabular-nums;font-weight:600}.invoice-sheet-total,.invoice-sheet-balance{background:#f7f7f7}.invoice-sheet-pay h3{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}.invoice-sheet-pay p{margin:0 0 .65rem;font-size:.84rem;line-height:1.5;color:#333}.invoice-sheet-disclaimer{color:#555!important;font-size:.78rem!important}@media(max-width:800px){.invoice-sheet{padding:1.15rem}.invoice-sheet-letterhead,.invoice-sheet-parties,.invoice-sheet-totals-row{grid-template-columns:1fr}.invoice-sheet-letterhead,.invoice-sheet-doc-meta{text-align:left}.invoice-sheet-badges{justify-content:flex-start}}.about-page{--about-ink: #132033;--about-muted: #5b6b7c;--about-line: color-mix(in srgb, var(--border) 80%, #cbd5e1);max-width:72rem;margin:0 auto;padding:.35rem .35rem 4.5rem;display:flex;flex-direction:column;gap:1.35rem}.about-kicker{margin:0 0 .45rem;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}.about-hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(16rem,.7fr);gap:1.5rem;align-items:stretch;padding:1.6rem 1.7rem 1.5rem;border:1px solid var(--about-line);border-radius:22px;background:radial-gradient(1200px 280px at 0% 0%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 55%),linear-gradient(180deg,#fff,#f7f8fa)}.about-hero-brand{display:flex;align-items:center;gap:.9rem;margin-bottom:.85rem}.about-hero-brand h1{margin:0;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.03em;color:var(--about-ink)}.about-hero-tag{margin:.2rem 0 0;color:var(--about-muted);font-weight:600}.about-lead{margin:0;max-width:42rem;color:#3d4d5d;font-size:1.02rem;line-height:1.65}.about-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem}.about-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;padding:.45rem 1rem;border-radius:999px;font-weight:700;font-size:.9rem;text-decoration:none}.about-btn-primary{color:#fff;background:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 28%,transparent)}.about-btn-primary:hover{color:#fff;background:var(--accent-hover)}.about-btn-ghost{color:var(--about-ink);background:#fff;border:1px solid var(--about-line)}.about-btn-ghost:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--about-line))}.about-hero-facts{display:grid;gap:.75rem;padding:1.05rem 1.1rem;border-radius:16px;background:#ffffffc7;border:1px solid color-mix(in srgb,var(--about-line) 70%,#fff)}.about-hero-facts div{display:flex;flex-direction:column;gap:.12rem;padding-bottom:.7rem;border-bottom:1px solid var(--about-line)}.about-hero-facts div:last-child{padding-bottom:0;border-bottom:0}.about-hero-facts span{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--about-muted)}.about-hero-facts strong,.about-hero-facts a{color:var(--about-ink);font-size:1.02rem;font-weight:750;text-decoration:none}.about-hero-facts a:hover{color:var(--accent)}.about-office{display:grid;grid-template-columns:minmax(16rem,.86fr) minmax(0,1.14fr);gap:1.15rem;align-items:stretch}.about-office-card,.about-map-card,.about-partner{border:1px solid var(--about-line);border-radius:22px;background:#fff}.about-office-card{padding:1.35rem 1.4rem 1.45rem}.about-office-card h2,.about-partner h2{margin:0 0 .7rem;font-size:1.35rem;letter-spacing:-.03em;color:var(--about-ink)}.about-office-address{display:flex;flex-direction:column;gap:.12rem;margin:0 0 1.15rem;font-size:1.05rem;font-weight:650;color:var(--about-ink);line-height:1.45}.about-contact-list{display:grid;gap:.85rem;margin:0}.about-contact-list div{display:grid;gap:.18rem}.about-contact-list dt{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--about-muted)}.about-contact-list dd{margin:0;display:flex;flex-direction:column;gap:.12rem;color:var(--about-ink)}.about-contact-list a{color:inherit;font-weight:700;text-decoration:none}.about-contact-list a:hover{color:var(--accent)}.about-map-card{padding:.7rem .7rem .95rem;display:flex;flex-direction:column;min-height:22rem}.about-map-frame{position:relative;flex:1;min-height:20rem;overflow:hidden;border-radius:16px}.about-map{width:100%;height:100%;min-height:20rem;background:#e8eef3}.about-map-open{position:absolute;left:.85rem;bottom:.85rem;z-index:1000;padding:.4rem .75rem;border-radius:999px;background:#fffffff0;color:var(--about-ink);font-size:.8rem;font-weight:750;text-decoration:none;box-shadow:0 8px 20px #0f172a24}.about-map-caption{margin:.7rem .35rem 0;color:var(--about-muted);font-size:.86rem}.about-map-marker-wrap{background:transparent;border:0}.about-map-marker{display:block;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--accent);box-shadow:0 6px 14px color-mix(in srgb,var(--accent) 45%,transparent);border:3px solid #fff}.about-partner{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(16rem,.7fr);gap:1.2rem;align-items:center;padding:1.35rem 1.45rem;background:linear-gradient(135deg,#f8fafc,#fff 55%,color-mix(in srgb,var(--accent) 5%,#fff))}.about-partner p{margin:0;max-width:40rem;color:#3d4d5d;line-height:1.6}.about-partner-card{display:flex;align-items:center;gap:.9rem;padding:.95rem 1.05rem;border-radius:16px;border:1px solid var(--about-line);background:#fff;text-decoration:none;color:inherit;box-shadow:0 10px 24px #0f172a0d}.about-partner-card img{width:48px;height:44px;object-fit:contain}.about-partner-card strong,.about-partner-card span{display:block}.about-partner-card strong{color:var(--about-ink);font-size:1.05rem}.about-partner-card span{margin-top:.15rem;color:var(--about-muted);font-weight:600}.about-partner-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--about-line))}.about-credit{display:flex;align-items:center;gap:.9rem;padding:1.05rem 1.25rem;border-radius:18px;border:1px dashed color-mix(in srgb,var(--accent) 22%,var(--about-line));background:color-mix(in srgb,var(--accent-soft) 55%,#fff)}.about-credit img{width:36px;height:33px;object-fit:contain}.about-credit p{margin:0 0 .15rem;font-weight:750;color:var(--about-ink)}.about-credit a{color:var(--accent);font-weight:700;text-decoration:none}.about-credit a:hover{text-decoration:underline}@media(max-width:960px){.about-hero,.about-office,.about-partner{grid-template-columns:1fr}.about-map-frame,.about-map{min-height:16.5rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=light]{color-scheme:light;--bg-dark: #f1f5f9;--bg-panel: #ffffff;--bg-card: #ffffff;--bg-hover: #e2e8f0;--input-bg: #ffffff;--border: #cbd5e1;--text: #0f172a;--text-muted: #64748b;--accent: #c9252b;--accent-hover: #a81e24;--accent-soft: #fde8e9;--accent-selected-text: #9f1239;--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #0891b2;--overlay-bg: rgba(15, 23, 42, .45);--shadow-lg: rgba(15, 23, 42, .14);--shadow-md: rgba(15, 23, 42, .08);--map-surface: #e2e8f0;--map-grid: rgba(201, 37, 43, .07);--map-grid-accent: rgba(201, 37, 43, .1);--map-label-bg: rgba(255, 255, 255, .92);--marker-label-bg: rgba(255, 255, 255, .95);--marker-border: #ffffff;--marker-shadow: rgba(15, 23, 42, .2);--error-text: #dc2626;--banner-info-bg: color-mix(in srgb, var(--info) 10%, var(--bg-card));--banner-info-border: color-mix(in srgb, var(--info) 32%, var(--border));--banner-info-text: #0c4a6e;--banner-success-bg: color-mix(in srgb, var(--success) 12%, var(--bg-card));--banner-success-border: color-mix(in srgb, var(--success) 35%, var(--border));--banner-success-text: #14532d;--banner-warning-bg: color-mix(in srgb, var(--warning) 12%, var(--bg-card));--banner-warning-border: color-mix(in srgb, var(--warning) 38%, var(--border));--banner-warning-text: #78350f;--banner-error-bg: color-mix(in srgb, var(--danger) 10%, var(--bg-card));--banner-error-border: color-mix(in srgb, var(--danger) 35%, var(--border));--banner-error-text: var(--error-text);--alert-critical-text: #991b1b;--alert-warning-text: #92400e;--alert-info-text: #0e7490;--btn-primary-text: #ffffff;--vehicle-status-moving: var(--success);--vehicle-status-idle: var(--warning);--vehicle-status-parked: #3b82f6;--vehicle-status-offline: var(--danger);--console-bg-from: var(--bg-card);--console-bg-mid: var(--bg-hover);--console-bg-to: var(--bg-panel);--console-glow-a: rgba(201, 37, 43, .08);--console-glow-b: rgba(228, 90, 95, .05);--console-border: color-mix(in srgb, var(--accent) 22%, var(--border));--console-border-soft: color-mix(in srgb, var(--accent) 12%, var(--border));--console-inset: rgba(255, 255, 255, .9);--console-surface: color-mix(in srgb, var(--bg-hover) 55%, transparent);--console-surface-soft: color-mix(in srgb, var(--bg-hover) 40%, transparent);--console-tile-bg: color-mix(in srgb, var(--bg-hover) 35%, transparent);--console-tile-border: color-mix(in srgb, var(--accent) 10%, var(--border));--console-avatar-glow: color-mix(in srgb, var(--accent) 14%, transparent);--console-text-glow: color-mix(in srgb, var(--accent) 12%, transparent);--console-badge: color-mix(in srgb, var(--accent) 75%, var(--text-muted));--console-live-dot: var(--success);--console-live-glow: color-mix(in srgb, var(--success) 70%, transparent);--console-glow-left: color-mix(in srgb, var(--accent) 30%, transparent);--console-glow-right: color-mix(in srgb, var(--info) 25%, transparent);--console-scanline: rgba(15, 23, 42, .06);--console-btn-bg: var(--bg-panel);--console-btn-border: var(--border);--console-btn-hover-bg: var(--accent-soft);--console-btn-hover-border: color-mix(in srgb, var(--accent) 40%, var(--border));--console-btn-hover-glow: color-mix(in srgb, var(--accent) 10%, transparent);--console-btn-primary-from: var(--accent);--console-btn-primary-to: var(--info);--console-btn-primary-hover-glow: color-mix(in srgb, var(--accent) 28%, transparent);--sidebar-width: 220px}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg-dark);color:var(--text);line-height:1.5;min-height:100vh;transition:background-color .2s ease,color .2s ease}#root{min-height:100vh}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none}input,select,textarea{color-scheme:inherit}.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;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.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{max-width:none!important;max-height:none!important;width:auto;padding:0}.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:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.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{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.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;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;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{-webkit-transition:none;-moz-transition:none;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{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 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-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.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-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;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{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.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{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.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{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.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{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;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{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .3s ease-out,opacity .3s ease-in;-moz-transition:-moz-transform .3s ease-out,opacity .3s ease-in;-o-transition:-o-transform .3s ease-out,opacity .3s ease-in;transition:transform .3s ease-out,opacity .3s ease-in}.leaflet-cluster-spider-leg{-webkit-transition:-webkit-stroke-dashoffset .3s ease-out,-webkit-stroke-opacity .3s ease-in;-moz-transition:-moz-stroke-dashoffset .3s ease-out,-moz-stroke-opacity .3s ease-in;-o-transition:-o-stroke-dashoffset .3s ease-out,-o-stroke-opacity .3s ease-in;transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}.marker-cluster-small{background-color:#b5e28c99}.marker-cluster-small div{background-color:#6ecc3999}.marker-cluster-medium{background-color:#f1d35799}.marker-cluster-medium div{background-color:#f0c20c99}.marker-cluster-large{background-color:#fd9c7399}.marker-cluster-large div{background-color:#f1801799}.leaflet-oldie .marker-cluster-small{background-color:#b5e28c}.leaflet-oldie .marker-cluster-small div{background-color:#6ecc39}.leaflet-oldie .marker-cluster-medium{background-color:#f1d357}.leaflet-oldie .marker-cluster-medium div{background-color:#f0c20c}.leaflet-oldie .marker-cluster-large{background-color:#fd9c73}.leaflet-oldie .marker-cluster-large div{background-color:#f18017}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px Helvetica Neue,Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}
