:root{--bg-0: #071327;--bg-1: #0d1f3b;--panel: #142845;--line: #2f496b;--text: #ebf2ff;--muted: #94a8c6;--accent: #ff8a29;--good: #18b980;--warn: #f5a524;--danger: #ea4b53;--status-good: #10b981;--status-normal: #f59e0b;--status-bad: #ef4444;--abnormal-normal: #22c55e;--abnormal-alert: #f43f5e;--abnormal-unknown: #64748b;--cbr-very-good: #16a34a;--cbr-good: #22c55e;--cbr-normal: #eab308;--cbr-bad: #f97316;--cbr-very-bad: #dc2626;--cbr-unknown: #64748b;--sidebar-width: 220px;--sidebar-collapsed-width: 72px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 0%,#173a63,var(--bg-0) 45%,#030916 100%)}.app-shell{min-height:100vh}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);border-right:1px solid var(--line);background:linear-gradient(180deg,#0e203b,#0a1730);padding:16px 12px;transition:width .2s ease;z-index:10}.app-shell.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed-width)}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.brand-title{font-weight:700;letter-spacing:.03em}.sidebar-toggle{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;width:34px;height:34px;cursor:pointer}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-item{width:100%;border:1px solid var(--line);border-radius:10px;background:#0f2442;color:var(--text);text-align:left;padding:10px 12px;font-size:.95rem}.nav-item.active{border-color:#4f77a5;background:#17345d}.app-shell.sidebar-collapsed .brand-title{display:none}.app-shell.sidebar-collapsed .nav-item{text-align:center;padding:10px 0}.main-content{margin-left:var(--sidebar-width);padding:28px 20px 42px;transition:margin-left .2s ease}.app-shell.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap}.header h1{margin:0;font-size:2rem;letter-spacing:.02em}.live-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ws-badge{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:8px 12px;color:var(--muted);font-size:.84rem;display:inline-flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.03em}.dot{width:9px;height:9px;border-radius:50%;background:#7588a6}.dot.open{background:var(--good)}.dot.error{background:var(--danger)}.dot.closed,.dot.connecting{background:var(--warn)}.kpi-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpi-card{border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,#163052,#112440);color:var(--text);text-align:left;padding:14px 16px;display:flex;flex-direction:column;gap:6px}.kpi-card.good .kpi-value{color:var(--good)}.kpi-card.info .kpi-value{color:#7db2ff}.kpi-card.danger .kpi-value{color:var(--danger)}.kpi-title{color:var(--muted);font-size:.88rem}.kpi-value{font-size:2rem;margin:0;font-weight:700}.status-grid{margin-top:12px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.status-card{border:1px solid var(--line);border-radius:10px;background:#102544;color:var(--text);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}.status-card strong{font-size:1.05rem}.status-card.active{border-color:#65a9ff;box-shadow:inset 0 0 0 1px #65a9ff}.status-card.good strong{color:var(--status-good)}.status-card.normal strong{color:var(--status-normal)}.status-card.bad strong{color:var(--status-bad)}.status-card.unknown strong{color:#c7d6eb}.quick-controls{margin-top:16px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.quick-controls input,.quick-controls select,.quick-controls button{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 12px;min-width:180px}.quick-controls .quick-search{min-width:240px;flex:1 1 320px}.quick-controls .quick-page-size{min-width:120px}.drawer-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.drawer-toggle.open{border-color:#65a9ff;box-shadow:inset 0 0 0 1px #65a9ff}.drawer-toggle-count{border-radius:999px;padding:2px 8px;background:#1f3a5d;color:#c8ddff;font-size:.8rem}.advanced-drawer{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(155deg,#112642f2,#0c1c32f2)}.advanced-drawer-head{padding:12px;border-bottom:1px solid #28486f;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.advanced-tabs{display:inline-flex;gap:8px;flex-wrap:wrap}.advanced-tab{background:#102544;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 12px;cursor:pointer}.advanced-tab.active{border-color:#65a9ff;box-shadow:inset 0 0 0 1px #65a9ff}.drawer-reset-button{background:#102544;border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:7px 12px;cursor:pointer}.advanced-drawer-body{padding:12px}.range-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.range-field{border:1px solid #28486f;border-radius:10px;background:#0f233f;padding:10px}.range-label{display:block;color:var(--muted);font-size:.79rem;margin-bottom:8px}.range-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.range-inputs input{width:100%;min-width:0;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 10px}.filter-chip-bar{margin-top:10px;border:1px dashed #345377;border-radius:10px;background:#0c1c32a6;padding:10px 12px}.filter-chip-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.84rem}.clear-filters-button{background:transparent;border:1px solid #436691;color:#bed7f8;border-radius:8px;padding:5px 10px;cursor:pointer}.filter-chip-list{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px}.filter-chip{border:1px solid #36557b;border-radius:999px;padding:5px 10px;background:#0f2745;color:#dbe9ff;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:.8rem}.filter-chip-remove{color:#8eb6e4;font-size:.84rem}.filter-chip:hover,.drawer-toggle:hover,.advanced-tab:hover,.drawer-reset-button:hover,.clear-filters-button:hover{border-color:#65a9ff}.pager-meta{margin-top:12px;color:var(--muted);display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:.88rem}.table-wrap{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#0e213f;overflow:auto}table{width:100%;border-collapse:collapse;min-width:2600px}thead tr{background:#0b1a33}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #1f3657;vertical-align:middle}.sort-button{border:0;background:transparent;color:#d6e5ff;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:0}.sort-indicator{color:var(--muted);font-size:.9rem}tbody tr:hover{background:#132a4a}.vehicle-primary{font-weight:600}.vehicle-sub{margin-top:2px;color:var(--muted);font-size:.75rem}.status{display:inline-block;border-radius:999px;font-size:.76rem;padding:4px 8px;font-weight:700}.status.good{color:#05271c;background:var(--status-good)}.status.normal{color:#291900;background:var(--status-normal)}.status.bad{color:#fff7f7;background:var(--status-bad)}.status.unknown{color:#d6deec;background:#4a5b76}.status.abnormal-normal{color:#03240f;background:var(--abnormal-normal)}.status.abnormal-abnormal{color:#fff4f7;background:var(--abnormal-alert)}.status.abnormal-unknown{color:#dbe4ef;background:var(--abnormal-unknown)}.status.cbr-very_good{color:#05230f;background:var(--cbr-very-good)}.status.cbr-good{color:#04240f;background:var(--cbr-good)}.status.cbr-normal{color:#3a2a00;background:var(--cbr-normal)}.status.cbr-bad{color:#fff8f0;background:var(--cbr-bad)}.status.cbr-very_bad{color:#fff7f7;background:var(--cbr-very-bad)}.status.cbr-unknown{color:#e2e8f0;background:var(--cbr-unknown)}.empty{text-align:center;color:var(--muted);padding:20px}.pager{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}.pager button{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 11px;cursor:pointer}.pager button:hover:not(:disabled){border-color:#4f77a5}.pager button.active{border-color:var(--accent);color:#fff2e3;background:#49301d}.pager button:disabled{opacity:.55;cursor:not-allowed}@media (max-width: 1040px){.kpi-grid,.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.sidebar{width:var(--sidebar-collapsed-width)}.brand-title{display:none}.nav-item{text-align:center;padding:10px 0}.main-content{margin-left:var(--sidebar-collapsed-width);padding:22px 14px 30px}.app-shell.sidebar-collapsed .main-content{margin-left:var(--sidebar-collapsed-width)}}@media (max-width: 640px){.header h1{font-size:1.5rem}.kpi-grid,.status-grid{grid-template-columns:1fr}.quick-controls input,.quick-controls select,.quick-controls button,.quick-controls .quick-search{min-width:100%}.drawer-toggle{margin-left:0;justify-content:space-between}.range-grid{grid-template-columns:1fr}.filter-chip-head{flex-direction:column;align-items:flex-start}.filter-chip,.clear-filters-button{min-width:100%}}:root{--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-950: #0b0f19;--emerald-300: #6ee7b7;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--emerald-700: #047857;--emerald-800: #065f46;--blue-300: #93c5fd;--blue-500: #3b82f6;--blue-900: #1e3a5f;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-900: #7f1d1d;--yellow-300: #fcd34d;--yellow-400: #fbbf24;--yellow-500: #f59e0b;--amber-300: #fcd34d;--orange-400: #fb923c;--green-400: #4ade80;--indigo-50: #eef2ff;--indigo-200: #c7d2fe;--indigo-600: #4f46e5;--indigo-700: #4338ca;--purple-400: #c084fc;--purple-600: #9333ea;--purple-700: #7e22ce;--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px}.fleet-page{font-family:var(--font-system);background:var(--gray-900);color:#fff;min-height:100vh}.fleet-login-page{font-family:var(--font-system);background:var(--gray-900);min-height:100vh;display:flex;align-items:center;justify-content:center}.login-container{width:100%;max-width:28rem;padding:0 1.5rem}.login-card{background:var(--gray-800);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000080;padding:2rem}.login-header{text-align:center;margin-bottom:2rem}.login-icon{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 10px 15px -3px #0000004d;margin-bottom:1rem}.login-icon img{width:100%;height:100%;object-fit:cover}.login-title{font-size:1.5rem;font-weight:700;color:#fff;margin:0}.login-subtitle{color:var(--gray-400);margin-top:.25rem;font-size:.875rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column}.form-label{font-size:.875rem;font-weight:500;color:var(--gray-300);margin-bottom:.375rem}.form-input{width:100%;padding:.75rem 1rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);color:#fff;font-size:.875rem;outline:none;transition:border-color .2s,box-shadow .2s;box-sizing:border-box}.form-input::placeholder{color:var(--gray-400)}.form-input:focus{border-color:var(--emerald-500);box-shadow:0 0 0 2px #10b9814d}.login-error{background:#7f1d1d80;border:1px solid var(--red-900);color:var(--red-300);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem}.login-button{width:100%;padding:.75rem 1rem;background:var(--emerald-600);color:#fff;font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem}.login-button:hover{background:var(--emerald-700)}.login-button:disabled{background:var(--emerald-800);cursor:not-allowed}.login-footer{text-align:center;color:var(--gray-500);font-size:.75rem;margin-top:1.5rem}.spinner{width:1.25rem;height:1.25rem;animation:spin 1s linear infinite}.spinner-bg{opacity:.25}.spinner-fg{opacity:.75}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fleet-header{background:var(--gray-800);border-bottom:1px solid var(--gray-700);padding:1rem 1.5rem}.fleet-header-inner{max-width:80rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.fleet-header-left{display:flex;align-items:center;gap:.75rem}.fleet-header-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.fleet-header-icon img{width:100%;height:100%;object-fit:cover}.fleet-header-title{font-size:1.125rem;font-weight:700;margin:0;line-height:1.2}.fleet-header-subtitle{font-size:.75rem;color:var(--gray-400);margin:0}.fleet-header-right{display:flex;align-items:center;gap:1rem}.fleet-back-link{color:var(--gray-400);text-decoration:none;transition:color .2s}.fleet-back-link:hover{color:#fff}.fleet-main{max-width:80rem;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.fleet-route-loading{min-height:100vh;display:grid;place-items:center;padding:2rem;color:var(--gray-300);background:var(--gray-950)}.fleet-shell{min-height:100vh;display:flex;flex-direction:column}.fleet-shell-header{background:var(--gray-800);border-bottom:1px solid var(--gray-700);padding:1rem 1.5rem}.fleet-shell-header-inner{display:flex;align-items:center;justify-content:space-between}.fleet-shell-body{flex:1;display:grid;grid-template-columns:14rem 1fr;min-height:0}.fleet-shell-sidebar{border-right:1px solid var(--gray-700);background:linear-gradient(180deg,var(--gray-900) 0%,#0f1626 100%);padding:1rem .75rem;position:relative;z-index:2}.fleet-shell-nav{display:flex;flex-direction:column;gap:.375rem}.fleet-shell-nav-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem .75rem;border-radius:var(--radius-md);color:var(--gray-300);text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color .2s,color .2s}.fleet-shell-nav-item:hover{background:#3b82f629;color:#fff}.fleet-shell-nav-item.active{background:#3b82f642;color:#fff;box-shadow:inset 0 0 0 1px #93c5fd66}.fleet-shell-nav-count{min-width:1.25rem;padding:.0625rem .375rem;border-radius:var(--radius-full);border:1px solid rgba(107,114,128,.55);background:#4b556366;color:var(--gray-300);font-size:.7rem;font-weight:700;text-align:center;line-height:1.3}.fleet-shell-nav-count.loading{background:#4b55638c;color:var(--gray-200);letter-spacing:.08em}.fleet-shell-nav-count.has-alerts{border-color:#f87171a6;background:#7f1d1d80;color:#fecaca}.fleet-shell-content{min-width:0;overflow:auto;position:relative;z-index:1}.overview-map-card{padding:.75rem}.overview-map-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.overview-map-header-controls{display:flex;align-items:center;gap:1rem}.overview-map-refit-toggle{display:inline-flex;align-items:center;gap:.4rem;color:var(--gray-300);font-size:.75rem;white-space:nowrap;-webkit-user-select:none;user-select:none}.overview-map-refit-toggle input{margin:0;width:.85rem;height:.85rem;accent-color:var(--blue-500)}.overview-map-count{font-size:.75rem;color:var(--gray-400)}.overview-map-body{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--gray-700)}.overview-map-canvas{width:100%;min-height:32rem}.overview-map-popup{min-width:12rem;font-size:.75rem;line-height:1.45}.overview-map-popup-name{font-size:.85rem;font-weight:600}.overview-map-popup-vin{margin-bottom:.25rem;color:var(--gray-600);font-family:var(--font-mono);font-size:.7rem}.overview-map-tooltip{font-size:.72rem;line-height:1.25}.overview-map-tooltip-name{font-weight:600}.overview-map-tooltip-vin{color:var(--gray-600);font-family:var(--font-mono);font-size:.66rem}.overview-map-point-marker{background:transparent;border:none}.overview-map-point-dot{display:block;width:12px;height:12px;border-radius:50%;background:#60a5fac7;border:2px solid rgba(255,255,255,.88);box-shadow:0 0 0 2px #1e40af9e}.overview-map-cluster{background:transparent!important;border:none!important;box-shadow:none!important}.overview-map-cluster-inner{display:flex;align-items:center;justify-content:center;line-height:1;background:#1d4ed8d1;border:2px solid rgba(255,255,255,.9);border-radius:var(--radius-full);box-shadow:0 0 0 2px #0f172aad,0 4px 10px #0f172a66;color:#fff;font-weight:800}.overview-map-cluster-inner span{transform:translateY(-.25px);text-shadow:0 1px 1px rgba(0,0,0,.45)}@media (max-width: 1024px){.fleet-shell-header-inner{gap:.75rem;flex-wrap:wrap}.fleet-shell-body{grid-template-columns:1fr}.fleet-shell-sidebar{border-right:0;border-bottom:1px solid var(--gray-700);padding:.625rem .75rem}.fleet-shell-nav{flex-direction:row;overflow-x:auto;padding-bottom:.25rem}.fleet-shell-nav-item{white-space:nowrap}.overview-map-canvas{min-height:24rem}.overview-map-header{align-items:flex-start;flex-direction:column}.overview-map-header-controls{width:100%;justify-content:space-between;gap:.5rem}}.ws-status{display:flex;align-items:center;gap:.375rem;font-size:.75rem}.ws-dot{width:6px;height:6px;border-radius:50%}.ws-dot.connected{background:var(--emerald-400)}.ws-dot.disconnected{background:var(--red-400)}.ws-label{color:var(--gray-400)}.ws-time{color:var(--gray-500)}.icon-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;transition:color .2s;display:flex;align-items:center}.icon-btn:hover{color:var(--emerald-400)}.icon-btn.danger:hover{color:var(--red-400)}.icon-btn svg{width:1.25rem;height:1.25rem}.text-btn{background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;padding:0;transition:color .2s}.text-btn.muted{color:var(--gray-400)}.text-btn.muted:hover{color:var(--emerald-400)}.text-btn.danger{color:var(--gray-400)}.text-btn.danger:hover{color:var(--red-400)}.unit-toggles{display:flex;align-items:center;gap:.75rem;background:#11182780;padding:.375rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(55,65,81,.5)}.unit-toggle-group{display:flex;align-items:center;background:var(--gray-800);border-radius:6px;padding:2px;border:1px solid var(--gray-700)}.unit-toggle-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:all .2s;background:transparent;color:var(--gray-400)}.unit-toggle-btn:hover{color:var(--gray-200)}.unit-toggle-btn.active{background:var(--emerald-600);color:#fff;box-shadow:0 1px 2px #0003}.unit-divider{width:1px;height:1rem;background:var(--gray-700)}.password-panel{background:var(--gray-800);border-bottom:1px solid var(--gray-700);padding:1rem 1.5rem}.password-panel-inner{max-width:80rem;margin:0 auto}.password-form{display:flex;align-items:flex-end;gap:.75rem}.password-field{flex:1;max-width:20rem}.password-field label{display:block;font-size:.75rem;color:var(--gray-400);margin-bottom:.25rem}.password-field input{width:100%;padding:.5rem .75rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:6px;font-size:.875rem;color:#fff;outline:none;box-sizing:border-box}.password-field input:focus{border-color:var(--emerald-500);box-shadow:0 0 0 1px var(--emerald-500)}.pw-message{margin-top:.5rem;font-size:.75rem}.pw-message.success{color:var(--green-400)}.pw-message.error{color:var(--red-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background .2s;white-space:nowrap}.btn:disabled{cursor:not-allowed}.btn-primary{background:var(--emerald-600);color:#fff}.btn-primary:hover{background:var(--emerald-700)}.btn-primary:disabled{background:var(--gray-600)}.btn-danger{background:#ef44442e;color:#fecaca;border:1px solid rgba(248,113,113,.45)}.btn-danger:hover{background:#ef444442;color:#fff}.btn-danger:disabled{background:#4b556373;border-color:#6b728073;color:var(--gray-400)}.btn-ghost{background:transparent;color:var(--gray-400)}.btn-ghost:hover{color:#fff}.card{background:var(--gray-800);border-radius:var(--radius-xl);padding:1rem}.card-title{font-size:.875rem;font-weight:600;color:var(--gray-300);margin:0 0 .75rem}.dashboard-action-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-action-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-action-title{font-size:1rem;font-weight:700;color:#fff}.dashboard-action-description{font-size:.875rem;color:var(--gray-400)}.dashboard-action-meta{font-size:.75rem;color:var(--gray-500)}.dashboard-inline-message{margin-top:.875rem;padding:.75rem .875rem;border-radius:var(--radius-md);font-size:.8125rem}.dashboard-inline-message.success{background:#10b9811f;border:1px solid rgba(52,211,153,.28);color:#bbf7d0}.dashboard-inline-message.error{background:#ef44441f;border:1px solid rgba(248,113,113,.28);color:#fecaca}.vehicle-image-toast-stack{display:grid;gap:.5rem;max-width:min(34rem,calc(100vw - 2rem));position:fixed;right:1.25rem;top:5rem;z-index:80}.vehicle-image-toast{align-items:flex-start;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md);box-shadow:0 18px 45px #0f172a52;display:flex;font-size:.82rem;gap:.75rem;justify-content:space-between;line-height:1.45;padding:.75rem .85rem}.vehicle-image-toast.success{background:#064e3beb;color:#d1fae5}.vehicle-image-toast.error{background:#7f1d1df0;color:#fee2e2}.vehicle-image-toast-close{background:transparent;border:0;color:currentColor;cursor:pointer;font:inherit;line-height:1;opacity:.72;padding:.1rem .15rem}.vehicle-image-toast-close:hover{opacity:1}.notification-audit-toolbar{align-items:flex-start}.notification-audit-controls{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.tesla-auth-attempts-small-control{min-width:7rem}.tesla-auth-attempts-wide-control{min-width:16rem}.tesla-auth-attempts-filter-panel{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.14);background:#0f172a6b}.tesla-auth-attempts-filter-line{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1rem;align-items:end;padding-bottom:.75rem;border-bottom:1px solid rgba(55,65,81,.55)}.tesla-auth-attempts-filter-line:last-child{padding-bottom:0;border-bottom:none}.tesla-auth-attempts-filter-line-label{display:flex;flex-direction:column;gap:.25rem;padding-bottom:.15rem}.tesla-auth-attempts-filter-line-label strong{color:#fff;font-size:.875rem}.tesla-auth-attempts-filter-line-label span{color:var(--gray-400);font-size:.75rem;line-height:1.4}.tesla-auth-attempts-filter-fields{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.tesla-auth-attempts-period-control{display:flex;flex-direction:column;gap:.35rem;min-width:14rem}.tesla-auth-attempts-period-control>span{font-size:.75rem;color:var(--gray-400)}.tesla-auth-attempts-search-action{display:flex;align-items:flex-end}.notification-audit-summary-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.notification-audit-period-help{margin-top:.875rem;padding:.875rem 1rem;border-radius:var(--radius-lg);background:#0f172a73;border:1px solid rgba(59,130,246,.12);color:var(--gray-300);font-size:.8125rem;line-height:1.6}.notification-audit-period-help strong{color:#fff}.notification-audit-summary-card{display:flex;flex-direction:column;gap:.35rem;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.18);background:#0f172a99}.notification-audit-summary-card strong{font-size:1.2rem;color:#fff}.notification-audit-summary-label{font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--gray-400)}.tesla-auth-attempts-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.telemetry-config-page{max-width:96rem}.telemetry-config-toolbar{align-items:flex-start}.telemetry-config-action-row{display:flex;align-items:flex-end;justify-content:flex-end;gap:.625rem;flex-wrap:wrap}.telemetry-config-filter-groups{margin-top:1rem}.telemetry-config-filter-groups .filter-total{min-width:11rem}.telemetry-config-filter-groups .filter-row-label{min-width:4.5rem}.telemetry-config-filter-panel{margin-top:1rem}.telemetry-config-reconcile-panel{margin-top:1rem;padding:.875rem;border:1px solid rgba(52,211,153,.2);border-radius:var(--radius-md);background:#10b9810d}.telemetry-config-progress-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--gray-200);font-size:.78rem}.telemetry-config-progress-track{height:.45rem;margin-top:.5rem;overflow:hidden;border-radius:999px;background:#94a3b829}.telemetry-config-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--emerald-500);transition:width .18s ease}.telemetry-config-reconcile-metrics{display:grid;grid-template-columns:repeat(7,minmax(5rem,1fr));gap:.5rem;margin-top:.75rem}.telemetry-config-reconcile-metric,.telemetry-config-region-card{padding:.625rem;border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-sm);background:#0f172a61}.telemetry-config-reconcile-metric{display:flex;flex-direction:column;gap:.2rem}.telemetry-config-reconcile-metric span{color:var(--gray-400);font-size:.7rem}.telemetry-config-reconcile-metric strong{color:var(--gray-100);font-size:1rem}.telemetry-config-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.5rem}.telemetry-config-region-card .dashboard-action-meta{margin-top:.3rem}.telemetry-config-reconcile-failures{max-height:12rem;margin-top:.75rem;padding-top:.75rem;overflow:auto;border-top:1px solid rgba(148,163,184,.16)}.telemetry-config-reconcile-failures>strong{display:block;margin-bottom:.4rem;color:#fecaca;font-size:.75rem}.telemetry-config-reconcile-failures>div{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(4rem,.3fr) minmax(14rem,2fr);gap:.75rem;padding:.3rem 0;color:var(--gray-300);font-size:.72rem}.telemetry-config-small-control{min-width:7rem}.telemetry-config-wide-control{min-width:16rem}.telemetry-config-table-wrap{margin-top:.875rem}.telemetry-config-table th:first-child,.telemetry-config-table td:first-child{text-align:center}.telemetry-config-table input[type=checkbox]{width:.9rem;height:.9rem;accent-color:var(--emerald-500)}.telemetry-config-flag{display:inline-flex;align-items:center;justify-content:center;min-height:1.35rem;padding:.16rem .5rem;border-radius:999px;border:1px solid rgba(148,163,184,.24);background:#94a3b81f;color:var(--gray-300);font-size:.72rem;font-weight:700;text-transform:capitalize;white-space:nowrap}.telemetry-config-flag.true{background:#10b9811f;border-color:#34d39947;color:#bbf7d0}.telemetry-config-flag.false{background:#ef44441f;border-color:#f871714d;color:#fecaca}.telemetry-config-issue-list{display:flex;flex-wrap:wrap;gap:.25rem;max-width:18rem}.telemetry-config-hostname-cell,.telemetry-config-row-actions{display:flex;flex-direction:column;gap:.25rem}.telemetry-config-row-actions{align-items:flex-start}.telemetry-config-confirm-modal{max-width:32rem}.telemetry-config-detail-modal{width:min(72rem,calc(100vw - 2rem));max-height:min(46rem,calc(100vh - 2rem));overflow:hidden;display:flex;flex-direction:column}.telemetry-config-confirm-body{color:var(--gray-300);font-size:.875rem;line-height:1.5}.telemetry-config-warning{background:#f59e0b1a;border:1px solid rgba(251,191,36,.28);color:#fde68a}.telemetry-config-error-json{margin:.875rem 0 0;padding:.875rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.18);background:#0f172ab3;color:var(--gray-200);font-family:var(--font-mono);font-size:.75rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap}.telemetry-config-modal-json{min-height:12rem;max-height:calc(100vh - 12rem);overflow:auto;white-space:pre}.telemetry-config-modal-empty{margin-top:.875rem}@media (max-width: 900px){.telemetry-config-action-row{justify-content:flex-start}.telemetry-config-reconcile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.telemetry-config-region-grid{grid-template-columns:1fr}}.tesla-auth-status-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:#94a3b81f;border:1px solid rgba(148,163,184,.22);color:var(--gray-300);font-size:.75rem;font-weight:700;white-space:nowrap;text-transform:capitalize}.tesla-auth-status-badge.app_completed,.tesla-auth-status-badge.server_success{background:#10b9811f;border-color:#34d39947;color:#bbf7d0}.tesla-auth-status-badge.client_failed,.tesla-auth-status-badge.oauth_error,.tesla-auth-status-badge.token_exchange_failed{background:#ef44441f;border-color:#f8717147;color:#fecaca}.tesla-auth-status-badge.abandoned{background:#f59e0b24;border-color:#fbbf243d;color:#fcd34d}.tesla-auth-status-badge.pending,.tesla-auth-status-badge.account_choice_required{background:#3b82f61f;border-color:#60a5fa47;color:#bfdbfe}.tesla-auth-attempts-nowrap{max-width:18rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invite-campaign-filter-panel{margin-bottom:1rem}.invite-campaign-actions{gap:.5rem}.invite-campaign-summary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.invite-campaign-summary-card{min-height:5.35rem}.invite-campaign-summary-meta{color:var(--gray-400);font-size:.75rem}.invite-campaign-funnel-chart-card{margin-top:1rem;padding:.85rem .95rem .45rem;border:1px solid rgba(55,65,81,.52);border-radius:var(--radius-lg);background:#0f172a6b}.invite-campaign-funnel-canvas-wrap{position:relative;height:320px;min-height:320px}.invite-campaign-status-badge{display:inline-flex;align-items:center;padding:.2rem .52rem;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#94a3b81f;color:var(--gray-300);font-size:.72rem;font-weight:750;text-transform:capitalize;white-space:nowrap}.invite-campaign-status-badge.completed,.invite-campaign-status-badge.redeemed{background:#10b9811f;border-color:#34d39947;color:#bbf7d0}.invite-campaign-status-badge.pending{background:#3b82f61f;border-color:#60a5fa47;color:#bfdbfe}.invite-campaign-status-badge.failed{background:#ef44441f;border-color:#f8717147;color:#fecaca}.invite-campaign-status-badge.none,.invite-campaign-status-badge.unknown{color:var(--gray-500)}.invite-campaign-detail-search{margin-top:1rem}.invite-campaign-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.invite-campaign-detail-grid,.invite-campaign-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.invite-campaign-detail-grid,.invite-campaign-detail-table-title{margin-top:1rem}.invite-campaign-top-list{margin-top:.75rem}.empty-state.compact{padding:1rem;min-height:auto}.user-support-toolbar{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.user-support-search{width:100%;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) auto;align-items:end;gap:.75rem}.user-support-control{min-width:0}.user-support-search-button{min-width:7rem;height:2.5rem;align-self:end}.user-support-page-summary{margin-top:1rem}.user-support-summary-grid{margin-top:1rem;grid-template-columns:repeat(4,minmax(0,1fr))}.user-support-email-tags{margin-top:.875rem;max-width:none}.user-support-section-copy{margin-bottom:1rem}.user-support-account-list,.user-support-account-card{display:flex;flex-direction:column;gap:1rem}.user-support-account-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.user-support-source-badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .625rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid rgba(52,211,153,.22);background:#10b9811f;color:#bbf7d0}.user-support-source-badge.deleted{border-color:#f8717140;background:#ef44441f;color:#fecaca}.user-support-source-badge.transferred{border-color:#fbbf2440;background:#f59e0b1f;color:#fde68a}.user-support-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.user-support-meta-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem .875rem;border-radius:var(--radius-lg);background:#0f172a73;border:1px solid rgba(59,130,246,.1);min-width:0}.user-support-meta-label{font-size:.75rem;color:var(--gray-400)}.user-support-meta-value{color:#fff;font-size:.875rem;line-height:1.45;min-width:0;word-break:break-word}.user-support-vin-link{padding:0;border:none;background:transparent;color:var(--blue-300);font:inherit;cursor:pointer;text-decoration:none}.user-support-vin-link:hover{color:#fff;text-decoration:underline}.user-support-subscription-badge{display:inline-flex;align-items:center;justify-content:center;min-width:4.75rem;padding:.1875rem .5rem;border-radius:var(--radius-full);font-size:.6875rem;font-weight:600;line-height:1.2;border:1px solid rgba(148,163,184,.18);background:#94a3b81f;color:var(--gray-300)}.user-support-subscription-badge.active{border-color:#34d39938;background:#10b9811f;color:#bbf7d0}.user-support-subscription-badge.lifetime{border-color:#60a5fa38;background:#3b82f61f;color:#bfdbfe}.user-support-rc-status{font-size:.95rem}.user-support-rc-status.not_registered{color:#bbf7d0}.user-support-rc-status.registered{color:#fecaca}.user-support-rc-status.unknown{color:#fde68a}.user-support-grant-panel{display:flex;flex-direction:column;gap:.875rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid rgba(59,130,246,.14);background:#0f172a52}.user-support-grant-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;align-items:end}.user-support-grant-control-wide{grid-column:span 2}.user-support-grant-preview{min-height:2.5rem;display:flex;align-items:center;padding:.65rem .75rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.16);background:#0f172a6b;color:var(--gray-300);font-size:.8125rem;word-break:break-word}.user-support-grant-button{min-height:2.5rem}.user-support-entitlement-list{display:flex;flex-wrap:wrap;gap:.5rem}@media (max-width: 1200px){.user-support-meta-grid,.user-support-grant-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1024px){.user-support-search{grid-template-columns:repeat(2,minmax(0,1fr))}.user-support-search-button{grid-column:1 / -1;justify-self:start}.user-support-summary-grid,.user-support-page-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.user-support-search{grid-template-columns:1fr}.user-support-control,.user-support-search-button{width:100%;min-width:0}.user-support-search-button{grid-column:auto;justify-self:stretch}.user-support-meta-grid,.user-support-summary-grid,.user-support-page-summary,.user-support-grant-form{grid-template-columns:1fr}.user-support-grant-control-wide{grid-column:auto}.user-support-account-header{flex-direction:column;align-items:flex-start}}.filter-panel{display:grid;grid-template-columns:auto 1fr;gap:.5rem}@media (max-width: 1024px){.filter-panel{grid-template-columns:1fr}}.filter-total{background:var(--gray-800);border-radius:var(--radius-xl);padding:1rem 1.25rem;text-align:left;cursor:pointer;border:2px solid transparent;transition:all .2s;display:flex;flex-direction:column;justify-content:center}.filter-total:hover{background:#37415180}.filter-total.active{border-color:var(--emerald-500);background:#37415199}.filter-total-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);margin:0}.filter-total-value{font-size:1.875rem;font-weight:700;color:#fff;margin:.25rem 0 0}.filter-rows{display:flex;flex-direction:column;gap:.375rem}.filter-row{background:var(--gray-800);border-radius:var(--radius-lg);padding:.375rem .75rem;display:flex;align-items:center;gap:.75rem}.filter-row-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0;min-width:3.5rem}.filter-row-buttons{display:flex;gap:.25rem;flex-wrap:wrap}.filter-btn{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;border-radius:var(--radius-md);cursor:pointer;border:1.5px solid transparent;background:transparent;transition:all .15s}.filter-btn:hover{background:#37415180}.filter-btn.active{border-color:var(--emerald-500);background:#37415199}.filter-btn-label{font-size:.625rem;text-transform:uppercase;letter-spacing:.03em}.filter-btn-value{font-size:1rem;font-weight:700;color:#fff}@media (max-width: 768px){.filter-row{flex-wrap:wrap}}.label-blue{color:var(--blue-300)}.label-emerald{color:var(--emerald-300)}.label-muted{color:var(--gray-400)}.label-amber{color:var(--amber-300)}.label-red{color:var(--red-300)}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 768px){.charts-row{grid-template-columns:1fr}}.chart-container{height:14rem}.avg-soh-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:6px;background:#11182799;border:1px solid rgba(55,65,81,.5);display:flex;align-items:center;gap:.375rem}.avg-soh-label{color:var(--gray-400);font-weight:500}.soh-excellent{color:var(--emerald-400)}.soh-good{color:var(--green-400)}.soh-fair{color:var(--yellow-400)}.soh-warning{color:var(--orange-400)}.soh-critical{color:var(--red-400)}.soh-unknown{color:var(--gray-400)}.battery-bar-track{width:3rem;height:.4rem;background:var(--gray-700);border-radius:var(--radius-full);overflow:hidden}.battery-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .3s}.battery-bar-high{background:var(--emerald-500)}.battery-bar-mid{background:var(--yellow-500)}.battery-bar-low{background:var(--red-500)}.battery-bar-empty{background:var(--gray-600)}.status-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.status-charging{background:#1e3a5f80;color:var(--blue-300)}.status-driving{background:#065f4680;color:var(--emerald-300)}.status-parked{background:var(--gray-700);color:var(--gray-300)}.ai-report-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.ai-report-badge-high_risk{background:#7f1d1d6b;color:#fecaca}.ai-report-badge-early_warning{background:#78350f61;color:#fde68a}.ai-report-badge-watch{background:#3b82f62e;color:#bfdbfe}.ai-report-badge-limited{background:#4755696b;color:var(--gray-200)}.ai-report-badge-normal{background:#065f4659;color:#a7f3d0}.ai-report-badge-unknown,.ai-report-badge-no_report{background:#37415199;color:var(--gray-300)}.alerts-panel{background:transparent;border-radius:0;padding:0}.alerts-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.alerts-header-actions-only{justify-content:flex-end}.alerts-title{display:flex;align-items:center;gap:.75rem;margin:0}.alerts-count{background:#7f1d1d4d;color:var(--red-400);font-size:1.125rem;padding:.125rem .625rem;border-radius:var(--radius-md);font-weight:600;border:1px solid rgba(127,29,29,.5);margin-left:.25rem}.alert-item{display:flex;align-items:center;justify-content:space-between;background:#37415180;border-radius:var(--radius-md);padding:.75rem 1rem;font-size:.875rem;cursor:pointer;text-decoration:none;color:inherit;transition:background .2s;margin-bottom:.5rem}.alert-item:hover{background:#4b556380}.alert-item.non-interactive{cursor:default}.alert-item.non-interactive:hover{background:#37415180}.alert-item-left{display:flex;align-items:center;gap:.75rem}.alert-type-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.alert-type-badge.low-soh{background:#7f1d1d80;color:var(--red-300)}.alert-type-badge.high-degradation{background:#713f1280;color:var(--yellow-300)}.alert-type-badge.ai-high_risk{background:#7f1d1d6b;color:#fecaca}.alert-type-badge.ai-early_warning{background:#78350f61;color:#fde68a}.alert-type-badge.ai-watch{background:#3b82f62e;color:#bfdbfe}.alert-type-badge.ai-limited,.alert-type-badge.ai-unknown{background:#37415199;color:var(--gray-300)}.alert-vehicle-name{color:var(--gray-300)}.alert-vin{color:var(--gray-500);font-size:.75rem;margin-left:.25rem}.alert-message{color:var(--gray-400);font-size:.75rem}.vehicle-table-wrapper{width:100%;overflow-x:auto}.vehicle-table{width:auto;min-width:0;font-size:.875rem;border-collapse:collapse}.vehicle-table thead th{text-align:left;padding:.4rem .25rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400);border-bottom:1px solid var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.vehicle-table thead th:hover{color:var(--emerald-500)}.vehicle-table tbody tr{border-bottom:1px solid rgba(55,65,81,.5);cursor:pointer;transition:background .2s}.vehicle-table tbody tr:hover{background:#3741514d}.vehicle-table td{padding:.35rem .25rem;white-space:nowrap}.td-right{text-align:right}.td-center{text-align:center}.th-right{text-align:right}.th-center{text-align:center}.vehicle-name{font-weight:500}.vehicle-vin{font-family:var(--font-mono);font-size:.75rem}.ai-report-table-cell{display:flex;flex-direction:column;gap:.2rem;min-width:10rem}.ai-report-table-meta{color:var(--gray-400);font-size:.6875rem;white-space:normal;line-height:1.35}.vehicle-display-name{font-family:var(--font-system);color:var(--gray-400);font-size:.75rem;margin-left:.375rem}.cbr-cell{display:flex;flex-direction:column;align-items:center;gap:.125rem}.cbr-value-link{background:none;border:none;padding:0;color:#60a5fa;cursor:pointer;font-size:.75rem;font-weight:600;text-decoration:underline}.cbr-value-link:hover{color:#93c5fd}.cbr-value-empty{color:var(--gray-400);font-size:.75rem}.cbr-status-text{font-size:.6875rem;font-weight:500;color:var(--gray-400)}.ai-report-summary-strip{margin-bottom:1.25rem}.ai-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}.ai-report-summary-card{display:flex;flex-direction:column;gap:.3rem;padding:.9rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(75,85,99,.55);background:#1f29378c}.ai-report-summary-card strong{font-size:1.125rem;color:#fff}.ai-report-summary-card-high-risk{border-color:#ef444459}.ai-report-summary-card-early-warning{border-color:#f59e0b59}.ai-report-summary-card-watch{border-color:#3b82f659}.ai-report-summary-card-limited{border-color:#94a3b840}.ai-report-summary-label{color:var(--gray-400);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}@media (max-width: 1200px){.ai-report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.ai-report-summary-grid{grid-template-columns:1fr}.ai-report-table-cell{min-width:8rem}}.ess-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ess-recent-site-list{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.ess-recent-site-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-radius:var(--radius-lg);border:1px solid rgba(75,85,99,.55);background:#1f29378c;width:100%;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}button.ess-recent-site-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;color:inherit}.ess-recent-site-item:hover{background:#37415199;border-color:#10b98166}.ess-recent-site-copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ess-recent-site-title{color:#fff;font-size:.95rem;font-weight:600}.ess-recent-site-meta{display:flex;flex-wrap:wrap;gap:.375rem;color:var(--gray-400);font-size:.75rem}.ess-recent-site-state{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem;white-space:nowrap}.ess-recent-site-time{color:var(--gray-500);font-size:.75rem}.ess-site-table-toolbar{flex-wrap:wrap;justify-content:flex-end}.ess-table-filter{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:var(--radius-md);border:1px solid var(--gray-600);background:var(--gray-700);color:var(--gray-300);font-size:.75rem;font-weight:600}.ess-table-filter span{color:var(--gray-400)}.ess-table-filter select{min-width:6.75rem;border:none;background:transparent;color:#fff;font-size:.8125rem;outline:none}.ess-site-table tbody tr{cursor:default}.ess-site-table{min-width:100%}.ess-site-table tbody tr:hover{background:#37415138}.ess-site-name-cell{display:flex;flex-direction:column;gap:.15rem}.ess-connection-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.ess-connection-badge.online{background:#065f4659;color:#a7f3d0}.ess-connection-badge.offline{background:#37415199;color:var(--gray-300)}.ess-health-pill{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.ess-health-pill.good{background:#065f4659;color:#a7f3d0}.ess-health-pill.normal{background:#78350f59;color:#fde68a}.ess-health-pill.bad{background:#7f1d1d6b;color:#fecaca}.ess-health-pill.unknown{background:#37415199;color:var(--gray-300)}.ess-alert-count{display:inline-flex;min-width:1.5rem;justify-content:center;padding:.125rem .4rem;border-radius:var(--radius-full);border:1px solid rgba(248,113,113,.45);background:#7f1d1d59;color:#fecaca;font-size:.75rem;font-weight:700}.ess-alert-count.muted{border-color:#6b728073;background:#37415180;color:var(--gray-300)}.pagination{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--gray-700);padding-top:1rem;margin-top:1rem;gap:.75rem;flex-wrap:wrap}.pagination-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pagination-info{font-size:.75rem;color:var(--gray-400)}.pagination-page-size{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--gray-400)}.pagination-page-size select{min-width:4rem;padding:.1875rem .375rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-sm);color:#fff;font-size:.75rem}.pagination-page-size select:focus{outline:none;border-color:var(--emerald-500)}.pagination-controls{display:flex;align-items:center;gap:.5rem}.pagination-btn{padding:.375rem .75rem;font-size:.75rem;background:var(--gray-700);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .2s}.pagination-btn:hover:not(:disabled){background:var(--gray-600)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-label{font-size:.75rem;color:var(--gray-400);margin:0 .5rem}.search-input{padding:.375rem .75rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);font-size:.875rem;color:#fff;outline:none;width:16rem;box-sizing:border-box}.search-input::placeholder{color:var(--gray-400)}.search-input:focus{border-color:var(--emerald-500);box-shadow:0 0 0 1px var(--emerald-500)}.vehicle-table-toolbar{display:flex;align-items:center;gap:.5rem}.column-picker{position:relative}.column-picker summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.75rem;font-weight:600;color:var(--gray-300);background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);padding:.375rem .625rem}.column-picker summary::-webkit-details-marker{display:none}.column-picker[open] summary{border-color:var(--emerald-500);box-shadow:0 0 0 1px var(--emerald-500)}.column-picker-menu{position:absolute;top:calc(100% + .375rem);right:0;z-index:10;min-width:220px;max-height:320px;overflow-y:auto;background:var(--gray-800);border:1px solid var(--gray-600);border-radius:var(--radius-md);padding:.5rem;box-shadow:0 10px 25px #00000059}.column-picker-all{width:100%;text-align:left;background:var(--gray-700);color:#fff;border:1px solid var(--gray-600);border-radius:var(--radius-sm);font-size:.75rem;padding:.25rem .5rem;margin-bottom:.375rem;cursor:pointer}.column-picker-all:hover{background:var(--gray-600)}.column-picker-item{display:flex;align-items:center;gap:.5rem;color:var(--gray-300);font-size:.75rem;padding:.25rem .125rem}.column-picker-item input{accent-color:var(--emerald-500)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{background:var(--gray-800);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #00000080;padding:1.5rem;width:100%;max-width:24rem;border:1px solid var(--gray-700)}.modal-title{font-size:1.25rem;font-weight:700;margin:0 0 1rem;letter-spacing:-.025em}.modal-field{margin-bottom:1rem}.modal-field-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.modal-field-label{font-size:.875rem;font-weight:500;color:var(--gray-400)}.modal-reset-btn{font-size:.75rem;color:var(--emerald-400);background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.modal-reset-btn:hover{color:var(--emerald-300)}.modal-input-wrapper{display:flex;align-items:center;background:var(--gray-900);border:1px solid var(--gray-700);border-radius:var(--radius-md);padding:.5rem .75rem;transition:border-color .2s,box-shadow .2s}.modal-input-wrapper:focus-within{border-color:var(--emerald-500);box-shadow:0 0 0 1px var(--emerald-500)}.modal-input{background:transparent;border:none;width:100%;color:#fff;outline:none;font-size:.875rem}.modal-input-suffix{color:var(--gray-500);font-size:.875rem;margin-left:.5rem;white-space:nowrap}.modal-hint{font-size:.75rem;color:var(--gray-500);margin-top:.25rem}.modal-actions{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.modal-actions{flex-direction:row-reverse}}.empty-state{text-align:center;color:var(--gray-500);padding:2rem 0;font-size:.875rem}@media (max-width: 768px){.dashboard-action-row{flex-direction:column;align-items:stretch}.ess-recent-site-item{flex-direction:column;align-items:flex-start}.ess-recent-site-state{align-items:flex-start;white-space:normal}.ess-site-table-toolbar{width:100%;justify-content:stretch}.ess-table-filter{width:100%;justify-content:space-between}.ess-table-filter select,.ess-site-table-toolbar .search-input{width:100%}}.stat-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.vehicle-status-groups{display:flex;flex-direction:column;gap:1rem}.vehicle-detail-layout{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1rem;align-items:start}.vehicle-detail-sidebar{position:sticky;top:1rem;align-self:start}.vehicle-detail-tab-bar{margin-bottom:0}.vehicle-detail-nav{display:flex;flex-direction:column;gap:.375rem;border-radius:var(--radius-xl);border:1px solid var(--gray-700);background:linear-gradient(180deg,var(--gray-900) 0%,#0f1626 100%);padding:.625rem}.vehicle-detail-nav-item{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;border:none;border-radius:var(--radius-md);background:transparent;color:var(--gray-300);padding:.55rem .7rem;font-size:.8125rem;font-weight:600;text-align:left;cursor:pointer;transition:background-color .2s,color .2s}.vehicle-detail-nav-item:hover{background:#3b82f629;color:#fff}.vehicle-detail-nav-item.active{background:#3b82f642;color:#fff;box-shadow:inset 0 0 0 1px #93c5fd66}.vehicle-detail-content{display:flex;flex-direction:column;gap:.75rem;min-width:0}.stat-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.stat-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media (max-width: 1024px){.vehicle-detail-layout{grid-template-columns:1fr}.vehicle-detail-sidebar{position:static}.vehicle-detail-nav{flex-direction:row;overflow-x:auto;scrollbar-width:thin;padding:.25rem;gap:.25rem}.vehicle-detail-nav-item{width:auto;flex:0 0 auto;white-space:nowrap;padding:.35rem .65rem}.stat-grid-5{grid-template-columns:repeat(3,1fr)}.stat-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.stat-grid-5{grid-template-columns:repeat(2,1fr)}.stat-grid-4,.stat-grid-3{grid-template-columns:1fr}}@media (max-width: 900px){.stat-grid-3{grid-template-columns:repeat(2,1fr)}}.stat-card{background:var(--gray-800);border-radius:var(--radius-xl);padding:1rem}.stat-label{font-size:.75rem;color:var(--gray-400);margin:0}.stat-value{font-size:1.5rem;font-weight:700;margin-top:.25rem}.stat-value-sm{font-size:.95rem;line-height:1.4;color:var(--gray-200)}.status-online{background:#10b98133;color:var(--emerald-300)}.status-offline{background:#94a3b833;color:var(--gray-300)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.ai-report-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ai-report-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.75rem}.ai-report-version-picker{display:flex;flex-direction:column;gap:.35rem;min-width:min(28rem,100%);color:var(--gray-400);font-size:.75rem}.ai-report-version-picker select{min-width:18rem;max-width:32rem;border:1px solid var(--gray-700);border-radius:var(--radius-md);background:var(--gray-900);color:var(--gray-100);padding:.6rem .75rem}.ai-report-summary-grid .stat-card{min-height:6.25rem}.ai-report-inline-note{margin-top:.75rem;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-md);background:#1e293b59;color:var(--gray-300);padding:.8rem .9rem;font-size:.875rem}.ai-report-section-card{display:flex;flex-direction:column;gap:.75rem}.ai-report-row{display:flex;flex-direction:column;gap:.35rem;border-top:1px solid rgba(148,163,184,.12);padding-top:.75rem}.ai-report-row:first-child{border-top:none;padding-top:0}.ai-report-row-title{color:var(--gray-100);font-size:.9375rem;font-weight:600}.ai-report-row-meta{display:flex;flex-wrap:wrap;gap:.5rem .75rem;color:var(--gray-300);font-size:.8125rem}.ai-report-row-meta span{display:inline-flex;align-items:center;gap:.25rem}.ai-report-factors-grid .card{min-height:12rem}.ai-confidence-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.ai-confidence-row{display:flex;flex-direction:column;gap:.4rem}.ai-confidence-copy{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8125rem;color:var(--gray-300)}.ai-confidence-copy strong{color:var(--gray-100);font-size:.875rem}.ai-confidence-meter{height:.45rem;border-radius:999px;background:#94a3b829;overflow:hidden}.ai-confidence-meter-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#3b82f68c,#0ea5e9e6)}.empty-state.compact{padding:.5rem 0;min-height:0;text-align:left}@media (max-width: 768px){.grid-2,.grid-3{grid-template-columns:1fr}.ai-report-header-row{flex-direction:column}.ai-report-toolbar{width:100%;justify-content:flex-start}.ai-report-version-picker,.ai-report-version-picker select{width:100%;max-width:none;min-width:0}.vehicle-session-content-grid{grid-template-columns:1fr}}.chart-sm{height:16rem;width:100%}.vehicle-session-filter-card{padding:.875rem}.vehicle-session-filter-rows{display:flex;flex-direction:column;gap:.75rem}.vehicle-session-filter-row{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:.75rem;align-items:start}.vehicle-session-filter-row-label{font-size:.75rem;color:var(--gray-400);padding-top:.4rem}.vehicle-session-filter-row-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.vehicle-session-filter-row-fields-2{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-session-filter-item{display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;color:var(--gray-300)}.vehicle-session-filter-item input,.vehicle-session-filter-item select{background:var(--gray-700);color:#fff;border:1px solid var(--gray-600);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.75rem;width:100%}.vehicle-session-filter-actions{margin-top:.75rem;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.vehicle-session-top-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:1rem;align-items:stretch}.vehicle-session-top-grid .vehicle-session-panel-list{display:flex}.vehicle-session-top-grid .vehicle-session-panel-list .vehicle-session-list-card{height:100%;max-height:none;flex:1 1 auto}@media (max-width: 1180px){.vehicle-session-top-grid{grid-template-columns:1fr}.vehicle-session-top-grid .vehicle-session-panel-list{display:block}.vehicle-session-top-grid .vehicle-session-panel-list .vehicle-session-list-card{height:auto;max-height:420px}.vehicle-session-filter-row-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 900px){.vehicle-session-filter-row{grid-template-columns:1fr;gap:.5rem}.vehicle-session-filter-row-label{padding-top:0}.vehicle-session-filter-row-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.vehicle-session-filter-row-fields{grid-template-columns:1fr}}.vehicle-session-content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.vehicle-session-panel{min-width:0}.vehicle-session-list-card{max-height:420px;overflow:auto;padding:.75rem}.vehicle-session-chart-card{padding:.75rem}.vehicle-session-chart-card .charging-chart-container{height:520px}.vehicle-session-list{display:flex;flex-direction:column;gap:.5rem}.vehicle-session-list-item{width:100%;text-align:left;border:1px solid var(--gray-700);background:#11182780;color:var(--gray-100);border-radius:var(--radius-md);padding:.6rem .7rem;display:flex;flex-direction:column;gap:.35rem;cursor:pointer}.vehicle-session-list-item:hover{border-color:var(--gray-500)}.vehicle-session-list-item.selected{border-color:var(--emerald-500);background:#10b98114}.vehicle-session-list-item-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.8125rem}.vehicle-session-list-item-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--gray-400);font-size:.75rem}.vehicle-management-updated{margin:.6rem 0 0;color:var(--gray-500);font-size:.75rem}.vehicle-management-table-wrap{overflow-x:auto}.vehicle-management-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto;font-size:.8125rem}.vehicle-management-table th,.vehicle-management-table td{text-align:left;padding:.5rem .4rem;border-bottom:1px solid var(--gray-700);white-space:nowrap;vertical-align:top}.vehicle-management-table th{color:var(--gray-400);font-weight:600}.vehicle-management-table td{color:var(--gray-200)}.vehicle-management-col-count{text-align:right!important}.vehicle-management-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;color:inherit;background:transparent;padding:0}.undefined-vehicles-table{margin-top:.875rem}.undefined-vehicles-vin{font-family:var(--font-mono);font-size:.75rem}.undefined-vehicles-tags{display:flex;flex-wrap:wrap;gap:.35rem;max-width:22rem}.undefined-vehicles-tag{display:inline-flex;align-items:center;padding:.1875rem .5rem;border-radius:var(--radius-full);background:#3b82f624;border:1px solid rgba(147,197,253,.2);color:var(--blue-300);font-size:.6875rem;line-height:1.2;white-space:nowrap}.vehicle-image-card,.vehicle-image-tabs-card{margin-top:1rem}.vehicle-image-tabs{display:flex;flex-wrap:wrap;gap:.5rem}.vehicle-image-filter-row{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.vehicle-image-card-selected{border-color:#3b82f680;box-shadow:0 0 0 1px #3b82f638}.vehicle-image-options{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}.vehicle-image-options-input{margin-top:1rem;min-height:5rem;resize:vertical}.vehicle-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.vehicle-image-panel{border:1px solid rgba(148,163,184,.18);border-radius:1rem;padding:1rem;background:#0f172a5c}.vehicle-image-panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem}.vehicle-image-panel-header>:first-child{min-width:0}.vehicle-image-panel-header>.btn{flex:0 0 auto}.vehicle-image-panel-header .dashboard-action-meta{overflow-wrap:anywhere}.vehicle-image-preview-img,.vehicle-image-preview-placeholder{width:100%;min-height:150px;border-radius:.75rem;background:#0206178f}.vehicle-image-preview-img{display:block;object-fit:contain}.vehicle-image-preview-placeholder{display:flex;align-items:center;justify-content:center;color:#94a3b8e6;font-size:.9rem}.vehicle-image-review-section{border-top:1px solid rgba(148,163,184,.14);margin-top:.9rem;padding-top:.9rem}.vehicle-image-option-checkboxes{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.vehicle-image-option-checkbox{align-items:center;background:#3b82f624;border:1px solid rgba(147,197,253,.2);border-radius:999px;color:#93c5fd;cursor:pointer;display:inline-flex;font-size:.75rem;gap:.35rem;line-height:1.2;padding:.35rem .6rem;-webkit-user-select:none;user-select:none}.vehicle-image-option-checkbox:hover{background:#3b82f63d;border-color:#93c5fd5c}.vehicle-image-option-checkbox input{accent-color:#60a5fa;margin:0}.vehicle-image-compare-result{border:1px solid rgba(148,163,184,.16);border-radius:.85rem;margin-top:.75rem;padding:.75rem}.vehicle-image-compare-result.is-same{background:#064e3b2e;border-color:#10b98147}.vehicle-image-compare-result.is-different{background:#7f1d1d24;border-color:#f8717138}.vehicle-image-compare-result.is-unavailable{background:#78350f29;border-color:#fbbf243d}.vehicle-image-compare-json{background:#0f172aa3;border-radius:.65rem;color:#e2e8f0eb;font-size:.78rem;margin:.6rem 0 0;overflow-x:auto;padding:.65rem;white-space:pre-wrap}.vehicle-image-compare-preview-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.75rem}.vehicle-image-collapsed-hint{border-top:1px solid rgba(148,163,184,.14);color:#94a3b8d1;font-size:.85rem;margin-top:.75rem;padding-top:.75rem}.vehicle-image-actions,.vehicle-image-note-row{display:flex;align-items:center;gap:.5rem;margin-top:.6rem}.vehicle-image-toolbar{align-items:flex-end;display:flex;flex-direction:column;gap:.55rem;margin-top:.6rem}.vehicle-image-refresh-actions,.vehicle-image-backfill-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.vehicle-image-backfill-details{align-self:stretch;background:#0f172a3d;border:1px solid rgba(148,163,184,.16);border-radius:.75rem;padding:.55rem .65rem}.vehicle-image-backfill-details summary{color:#cbd5e1e6;cursor:pointer;font-size:.84rem;font-weight:700;list-style-position:inside;text-align:right}.vehicle-image-backfill-details[open] summary{margin-bottom:.55rem}.vehicle-image-note-row{margin-top:1rem}.vehicle-image-observed-vins{margin-top:.85rem}.vehicle-image-vin-link{cursor:pointer;font-family:inherit}.vehicle-image-vin-link:hover{background:#3b82f647;border-color:#93c5fd73}.vehicle-image-render-failed-panel{background:#7f1d1d2e;border:1px solid rgba(248,113,113,.26);border-radius:.85rem;margin-top:.85rem;padding:.85rem}.vehicle-image-option-mapping-target{background:#0f172a57;border:1px solid rgba(148,163,184,.16);border-radius:.85rem;flex:1;padding:.75rem}.vehicle-image-backfill-option{align-items:center;color:#cbd5e1db;display:inline-flex;font-size:.82rem;gap:.35rem;white-space:nowrap}.vehicle-image-backfill-option input{accent-color:#10b981}.vehicle-image-pending-review-btn{min-width:10.5rem}.vehicle-image-backfill-select{background:#0f172ab8;border:1px solid rgba(148,163,184,.25);border-radius:.5rem;color:#e5e7eb;font:inherit;padding:.35rem .55rem}.vehicle-image-panel-header .vehicle-image-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:0}.vehicle-image-backfill-status{border-top:1px solid rgba(148,163,184,.16);height:15rem;margin-top:1rem;overflow-y:auto;padding-top:1rem;padding-right:.25rem}.vehicle-image-backfill-status-actions{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;white-space:nowrap}.vehicle-image-backfill-progress{background:#0f172ac7;border-radius:999px;height:.5rem;margin-top:.75rem;overflow:hidden}.vehicle-image-backfill-progress-bar{background:linear-gradient(90deg,#10b981,#38bdf8);height:100%;transition:width .18s ease}.vehicle-image-backfill-failures{display:grid;gap:.5rem;margin-top:.9rem;max-height:12rem;overflow-y:auto;padding-right:.25rem}.vehicle-image-backfill-failure-row{align-items:center;background:#7f1d1d29;border:1px solid rgba(248,113,113,.22);border-radius:.75rem;display:flex;gap:.75rem;justify-content:space-between;padding:.65rem .75rem}.vehicle-image-note-row .form-input{flex:1}.vehicle-image-status-approved{border-color:#22c55e59;color:#86efac}.vehicle-image-status-unreviewed{border-color:#facc1559;color:#fde68a}.vehicle-image-status-render_failed{border-color:#fb923c61;color:#fdba74}.vehicle-image-status-invalid,.vehicle-image-status-rejected{border-color:#f8717159;color:#fca5a5}@media (max-width: 900px){.vehicle-image-grid,.vehicle-image-compare-preview-grid{grid-template-columns:1fr}}.notification-audit-table-wrap{margin-top:.875rem}.notification-audit-name-cell{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.notification-audit-tag{background:#f59e0b24;border-color:#fbbf243d;color:#fcd34d}.notification-audit-top-vins{min-width:20rem;white-space:normal;line-height:1.45}.vehicle-classification-toolbar{align-items:flex-end}.vehicle-classification-controls{display:flex;align-items:flex-end;justify-content:flex-end;gap:.75rem;flex-wrap:wrap}.vehicle-classification-control{display:flex;flex-direction:column;gap:.35rem;min-width:11rem}.vehicle-classification-control span{font-size:.75rem;color:var(--gray-400)}.vehicle-classification-control input,.vehicle-classification-control select,.vehicle-classification-control textarea{padding:.55rem .75rem;background:#0f172aad;border:1px solid var(--gray-600);border-radius:var(--radius-md);color:#fff;font-size:.875rem;outline:none}.vehicle-classification-control textarea{min-height:2.5rem;resize:vertical}.vehicle-classification-control input:focus,.vehicle-classification-control select:focus,.vehicle-classification-control textarea:focus{border-color:var(--blue-500);box-shadow:0 0 0 2px #3b82f629}.vehicle-classification-search-control{min-width:18rem}.vehicle-classification-summary-grid{margin-top:1rem}.vehicle-classification-table-wrap{margin-top:.875rem}.vehicle-classification-table .vehicle-management-code,.vehicle-classification-record .vehicle-management-code{color:var(--blue-300)}.vehicle-classification-row-clickable{cursor:pointer}.vehicle-classification-row-clickable:hover td,.vehicle-classification-row-clickable:focus-visible td{background:#3b82f614}.vehicle-classification-records{display:flex;flex-direction:column;gap:.625rem;margin-top:.875rem}.vehicle-classification-record{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem}.vehicle-classification-record-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-bottom:.375rem;border-bottom:1px solid rgba(148,163,184,.12)}.vehicle-classification-record-title{margin:0;font-size:.9rem;font-weight:600;color:#fff}.vehicle-classification-drilldown-button{border:1px solid rgba(59,130,246,.35);background:#1e40af29;color:var(--blue-200);border-radius:var(--radius-md);padding:.375rem .65rem;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.vehicle-classification-drilldown-button:hover{border-color:#60a5fa80;color:#fff}.vehicle-classification-record-meta{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.375rem}.vehicle-classification-record-meta-item{display:inline-flex;align-items:center;padding:.125rem .4rem;border-radius:var(--radius-full);background:#94a3b81f;border:1px solid rgba(148,163,184,.16);color:var(--gray-300);font-size:.6875rem;line-height:1.2;white-space:nowrap}.vehicle-classification-record-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.vehicle-classification-record-column{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.75rem;align-items:start}.vehicle-classification-record-label-cell{padding:.375rem 0;border-bottom:1px solid rgba(148,163,184,.08);color:var(--gray-400);font-size:.75rem;line-height:1.3;font-weight:400;text-align:left;white-space:nowrap}.vehicle-classification-record-value-cell{padding:.375rem 0;border-bottom:1px solid rgba(148,163,184,.08);min-width:0;color:var(--gray-100);font-size:.875rem;line-height:1.45;white-space:normal;word-break:break-word}.vehicle-classification-sort-button{display:inline-flex;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.vehicle-classification-sort-button:hover{color:#fff}.vehicle-classification-sort-indicator{color:var(--gray-500);font-size:.75rem}.vehicle-classification-cell-wrap{min-width:15rem;white-space:normal!important;line-height:1.45}.vehicle-classification-cell-link{color:var(--blue-300);text-decoration:none;word-break:break-all}.vehicle-classification-cell-link:hover{color:#fff;text-decoration:underline}.classification-distribution-modal{max-width:76rem;padding:1.25rem}.classification-distribution-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.classification-distribution-modal-subtitle{margin:.35rem 0 0;color:var(--gray-400);font-size:.875rem}.classification-distribution-close{border:none;background:transparent;color:var(--gray-400);font-size:1.75rem;line-height:1;cursor:pointer;padding:0}.classification-distribution-close:hover{color:#fff}.classification-distribution-summary-grid{margin-bottom:1rem}.classification-distribution-toolbar{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-bottom:.875rem}.classification-distribution-chart-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.classification-distribution-chart-grid .analytics-chart-card{min-height:340px}.classification-distribution-chart-grid .analytics-chart-card .chart-container{height:300px}.settings-maintenance-note{margin-top:1rem;font-size:.875rem;line-height:1.6;color:var(--gray-300)}@media (max-width: 1024px){.vehicle-classification-toolbar{align-items:flex-start}.vehicle-classification-controls{width:100%;justify-content:flex-start}.tesla-auth-attempts-filter-line{grid-template-columns:1fr;gap:.65rem}.invite-campaign-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invite-campaign-detail-grid,.invite-campaign-top-grid{grid-template-columns:1fr}}@media (max-width: 900px){.vehicle-classification-record-columns{grid-template-columns:1fr}}@media (max-width: 640px){.vehicle-classification-controls,.tesla-auth-attempts-filter-fields{flex-direction:column;align-items:stretch}.vehicle-classification-control,.vehicle-classification-search-control,.tesla-auth-attempts-period-control,.tesla-auth-attempts-wide-control,.tesla-auth-attempts-small-control{width:100%;min-width:0}.invite-campaign-summary-grid,.invite-campaign-detail-summary{grid-template-columns:1fr}.invite-campaign-actions{width:100%;flex-direction:column;align-items:stretch}}.settings-maintenance-actions{margin-top:1rem;display:flex;justify-content:flex-start}.monitor-metric-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.8125rem;color:var(--gray-300);margin-top:.5rem}.monitor-metric-row strong{color:var(--gray-100);font-weight:600;text-align:right}@media (max-width: 900px){.notification-audit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.notification-audit-controls{width:100%;justify-content:flex-start}.notification-audit-summary-grid{grid-template-columns:1fr}.notification-audit-top-vins{min-width:14rem}}.progress-bar{position:relative;width:100%;height:.75rem;background:var(--gray-700);border-radius:var(--radius-full);overflow:hidden;display:flex}.progress-bar-fill{height:100%}.progress-bar-fill.gray{background:var(--gray-500);border-right:2px solid var(--gray-900)}.progress-bar-fill.emerald{background:var(--emerald-500);flex:1}.battery-progress{width:100%;height:6px;background:var(--gray-700);border-radius:var(--radius-full);overflow:hidden;margin-top:.5rem}.session-item{display:flex;align-items:center;gap:1rem;background:#3741514d;border-radius:var(--radius-md);padding:.75rem 1rem;margin-bottom:.5rem}.session-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.session-icon.charge{background:#1e3a5f80;color:var(--blue-300)}.session-icon.drive{background:#065f4680;color:var(--emerald-300)}.session-icon.park{background:var(--gray-700);color:var(--gray-300)}.session-content{flex:1;min-width:0}.session-type{font-size:.875rem;font-weight:500;margin:0}.session-time{font-size:.75rem;color:var(--gray-400);margin:0}.session-data{text-align:right;font-size:.875rem}.load-more-btn{width:100%;padding:.5rem;font-size:.875rem;color:var(--gray-400);background:transparent;border:none;cursor:pointer;transition:color .2s}.load-more-btn:hover{color:var(--emerald-400)}.section-title-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem}.section-title-row .card-title{margin:0}.section-toggle-icon-btn{width:1.75rem;height:1.75rem;border-radius:9999px;border:1px solid var(--gray-700);background:var(--gray-800);color:var(--gray-300);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .2s,border-color .2s}.section-toggle-icon-btn:hover{color:var(--gray-100);border-color:var(--gray-500)}.section-chevron{transition:transform .2s ease}.section-chevron.expanded{transform:rotate(180deg)}.cbr-status-line{margin:.25rem 0 0;font-size:.75rem;color:var(--gray-400)}.score-positive{color:var(--emerald-400)}.score-negative{color:var(--red-400)}.score-neutral{color:var(--gray-400)}.score-meta{font-size:.6875rem;color:var(--gray-500);margin-top:.125rem;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.ai-tip{font-size:.75rem;color:#34d399cc;background:#10b9811a;padding:.5rem;border-radius:var(--radius-sm);margin-top:.5rem}.admin-page{font-family:var(--font-system);background:var(--gray-100);min-height:100vh;color:var(--gray-800)}.admin-container{max-width:64rem;margin:0 auto;padding:2rem 1.5rem}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.admin-title{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin:0}.admin-subtitle{font-size:.875rem;color:var(--gray-500);margin-top:.25rem}.admin-link{font-size:.875rem;color:#2563eb;text-decoration:none}.admin-link:hover{color:#1e40af}.admin-card{background:#fff;border-radius:var(--radius-md);box-shadow:0 1px 2px #0000000d;padding:1.5rem;margin-bottom:1.5rem}.admin-card h2{font-size:1.125rem;font-weight:600;color:var(--gray-700);margin:0 0 1rem}.admin-form-row{display:flex;gap:.75rem;align-items:flex-end}.admin-field{flex:1}.admin-field label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-600);margin-bottom:.25rem}.admin-input{width:100%;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;outline:none;box-sizing:border-box}.admin-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.admin-input.mono{font-family:var(--font-mono)}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background .2s;white-space:nowrap}.admin-btn:disabled{cursor:not-allowed;opacity:.65}.admin-btn.blue{background:#2563eb;color:#fff}.admin-btn.blue:hover:not(:disabled){background:#1d4ed8}.admin-btn.purple{background:var(--purple-600);color:#fff}.admin-btn.purple:hover:not(:disabled){background:var(--purple-700)}.admin-btn.green{background:#16a34a;color:#fff}.admin-btn.green:hover:not(:disabled){background:#15803d}.admin-btn.gray{background:var(--gray-600);color:#fff}.admin-btn.gray:hover:not(:disabled){background:var(--gray-700)}.admin-btn.orange{background:#ea580c;color:#fff}.admin-btn.orange:hover:not(:disabled){background:#c2410c}.admin-notification{padding:.75rem 1rem;border-radius:6px;font-size:.875rem;margin-bottom:1rem}.admin-notification.success{background:#f0fdf4;color:#166534}.admin-notification.error{background:#fef2f2;color:#991b1b}.manager-item{border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden;margin-bottom:1rem}.manager-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer;transition:background .2s}.manager-header:hover{background:var(--gray-50)}.manager-avatar{width:2.5rem;height:2.5rem;background:#dbeafe;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2563eb;font-weight:700;font-size:.875rem}.manager-name{font-weight:600;color:var(--gray-800);display:flex;align-items:center;gap:.5rem}.superuser-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.125rem .5rem;border-radius:var(--radius-full);background:var(--indigo-50);color:var(--indigo-700);border:1px solid var(--indigo-200)}.manager-detail{border-top:1px solid var(--gray-200);padding:1rem 1.25rem;background:var(--gray-50)}.admin-table{width:100%;font-size:.875rem;border-collapse:collapse}.admin-table th{text-align:left;padding:.5rem;font-size:.75rem;text-transform:uppercase;color:var(--gray-500);border-bottom:1px solid var(--gray-200)}.admin-table td{padding:.5rem;border-bottom:1px solid var(--gray-100)}.created-account-box{margin-top:.75rem;padding:.75rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;font-size:.875rem;color:#166534}.text-link{color:#2563eb;text-decoration:underline;font-size:.75rem;background:none;border:none;cursor:pointer;padding:0;margin-top:.5rem}.text-link:hover{color:#1e40af}.text-link.red{color:var(--red-500)}.text-link.red:hover{color:#b91c1c}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;margin-left:.5rem}.checkbox-row input[type=checkbox]{width:1rem;height:1rem}.checkbox-row label{font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer}.expand-icon{width:1rem;height:1rem;color:var(--gray-400);transition:transform .2s;margin-left:1rem}.expand-icon.open{transform:rotate(180deg)}.inline-edit{display:flex;align-items:center;gap:.25rem}.inline-edit input{padding:.125rem .5rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;font-weight:600;color:var(--gray-800);width:12rem;outline:none}.inline-edit input:focus{border-color:#3b82f6;box-shadow:0 0 0 1px #3b82f6}.copy-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:0;margin-left:.25rem}.copy-btn:hover{color:#3b82f6}.copy-btn svg{width:.75rem;height:.75rem}.manager-meta{font-size:.75rem;color:var(--gray-500)}.manager-meta .mono{font-family:var(--font-mono)}.superuser-toggle-box{background:#fff;border:1px solid var(--gray-200);border-radius:6px;padding:.75rem 1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.superuser-toggle-box{flex-direction:row;align-items:center;justify-content:space-between}}.add-vin-row{display:flex;gap:.5rem;margin-bottom:1rem}.pw-change-row{margin-top:.5rem;display:flex;gap:.5rem;align-items:flex-end}.analytics-section{padding:0}.analytics-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem;gap:.75rem}.analytics-header-left{display:flex;align-items:center;gap:.5rem}.analytics-header-right{display:flex;align-items:center;gap:.75rem}.analytics-collapse-btn{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem;display:flex;align-items:center}.analytics-timestamp{font-size:.75rem;color:var(--gray-500)}.analytics-toggle{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--gray-400);cursor:pointer}.analytics-toggle input[type=checkbox]{accent-color:var(--emerald-500)}.analytics-grid{display:grid;grid-template-columns:1fr;gap:1rem}.analytics-chart-card{padding:1rem;min-height:400px}.analytics-chart-card .chart-container{height:350px}.analytics-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;gap:.75rem}.analytics-chart-header-right{display:inline-flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;min-width:0}.analytics-chart-controls{display:flex;align-items:center;gap:.375rem}.analytics-chart-inline-meta{display:inline-flex;align-items:center;gap:.45rem}.analytics-chart-inline-actions{display:inline-flex;align-items:center;gap:.35rem}.analytics-chart-drilldown-controls{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.analytics-chart-empty{display:flex;align-items:center;justify-content:center;min-height:350px;color:var(--gray-500);font-size:.875rem}.analytics-builder-card{padding:.75rem;margin-bottom:.9rem}.analytics-builder-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.analytics-builder-view{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;font-size:.75rem;color:var(--gray-400)}.analytics-builder-select{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--gray-400)}.analytics-builder-select select{min-width:13rem;padding:.3rem .5rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);color:#fff;font-size:.75rem}.analytics-builder-select input{width:4.75rem;padding:.3rem .5rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);color:#fff;font-size:.75rem}.analytics-builder-select input:focus{outline:none;border-color:var(--emerald-500)}.analytics-iqr-control{margin-left:.1rem}.analytics-builder-select select:focus{outline:none;border-color:var(--emerald-500)}.analytics-builder-add-btn{color:var(--emerald-400)}.analytics-builder-add-btn:disabled{color:var(--gray-500);cursor:not-allowed}.analytics-builder-hint{margin:.35rem 0 0;font-size:.74rem;color:var(--gray-500)}.analytics-chart-shell{display:flex;flex-direction:column}.analytics-chart-shell+.analytics-chart-shell{margin-top:.9rem}.analytics-sigma-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.analytics-sigma-panel{border:1px solid var(--gray-700);border-radius:var(--radius-md);background:#0f172a59;padding:.75rem}.analytics-sigma-panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;color:var(--gray-300)}.analytics-sigma-panel-meta{color:var(--gray-500);white-space:nowrap}.chart-container-compact{height:220px}.analytics-chart-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.analytics-chart-meta-left{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.analytics-chart-meta-title{font-size:.85rem;color:var(--gray-300);font-weight:600;white-space:nowrap}.analytics-chart-meta-time{font-size:.72rem;color:var(--gray-500);white-space:nowrap}.analytics-chart-meta-right{display:inline-flex;align-items:center;gap:.35rem}.analytics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--gray-500);font-size:.875rem}.analytics-error-text{color:#ef4444}.analytics-generating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2.5rem 2rem;color:var(--gray-400)}.analytics-generating p{margin:0;font-size:.9375rem;font-weight:500}.analytics-generating-sub{font-size:.8125rem;color:var(--gray-500)}.analytics-badge{font-size:.6875rem;padding:2px 8px;border-radius:9999px;font-weight:500}.analytics-badge.generating{background:#3b82f626;color:#60a5fa}.metric-toggle{display:inline-flex;align-items:center;background:var(--gray-800);border-radius:6px;padding:2px;border:1px solid var(--gray-700)}.metric-btn{padding:.25rem .625rem;font-size:.75rem;font-weight:500;border:none;border-radius:4px;background:transparent;color:var(--gray-400);cursor:pointer;transition:all .2s}.metric-btn.active{background:var(--emerald-600);color:#fff;box-shadow:0 1px 2px #0003}.metric-btn:hover:not(.active){color:var(--gray-200)}.metric-btn:disabled{opacity:.45;cursor:not-allowed;color:var(--gray-500)}.metric-btn:disabled:hover:not(.active){color:var(--gray-500)}@media (max-width: 900px){.analytics-builder-view{margin-left:0;width:100%}}.comparison-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.comparison-toolbar-no-title{margin-bottom:.45rem}.comparison-toolbar-no-title .comparison-range{margin:0}.comparison-toolbar-left{min-width:0}.comparison-page-title{margin:0}.comparison-range{margin:.25rem 0 0;font-size:.75rem;color:var(--gray-500)}.comparison-toolbar-right{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.comparison-select{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--gray-400)}.comparison-select select{max-width:22rem;padding:.3rem .5rem;background:var(--gray-700);border:1px solid var(--gray-600);border-radius:var(--radius-md);color:#fff;font-size:.75rem}.comparison-select select:focus{outline:none;border-color:var(--emerald-500)}.comparison-description{margin:0 0 1rem;color:var(--gray-400);font-size:.8125rem}.comparison-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;padding:.75rem .875rem;border:1px solid rgba(239,68,68,.45);border-radius:var(--radius-md);color:#fecaca;background:#7f1d1d59;font-size:.8125rem}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.statistics-section{margin-bottom:1.5rem}.statistics-controls{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.4rem}.statistics-filter-row{display:flex;align-items:center;justify-content:flex-start}.statistics-filter-row .metric-toggle{display:inline-flex;flex:0 0 auto}.statistics-subfilter-toggle{max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}.statistics-subfilter-toggle .metric-btn{white-space:nowrap}.statistics-section:last-child{margin-bottom:0}.comparison-stat-card{display:flex;flex-direction:column;gap:.75rem;min-height:22rem}.comparison-stat-card.no-summary{min-height:0}.comparison-stat-card.no-summary.no-legend{gap:.5rem}.comparison-stat-title{margin:0}.comparison-stat-summary{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch}.comparison-stat-summary-item{min-width:0}.comparison-stat-divider{width:1px;background:var(--gray-700)}.comparison-stat-label{margin:0;font-size:.75rem;color:var(--gray-400)}.comparison-stat-value{margin:.25rem 0 0;font-size:1.1rem;font-weight:700;color:#fff;word-break:break-word}.comparison-stat-unit{margin-left:.25rem;font-size:.82rem;font-weight:500;color:var(--gray-400)}.comparison-stat-chart{height:170px;border:1px solid var(--gray-700);border-radius:var(--radius-md);overflow:hidden;padding:.35rem .45rem .25rem;box-sizing:border-box}.comparison-chart-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-500);font-size:.75rem}.comparison-stat-legend{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;font-size:.72rem;color:var(--gray-400)}.comparison-stat-legend-item{display:inline-flex;align-items:center;gap:.3rem}.comparison-stat-dot{width:8px;height:8px;border-radius:var(--radius-full);display:inline-block}.comparison-stat-dot.my-position{background:#3b82f6}.comparison-stat-dot.distribution{background:#22d3ee}@media (max-width: 1200px){.comparison-grid{grid-template-columns:1fr}}@media (max-width: 768px){.comparison-toolbar{flex-direction:column}.comparison-toolbar-right{width:100%;justify-content:flex-start}.comparison-select{width:100%}.comparison-select select{width:100%;max-width:none}}.charging-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.charging-modal{background:var(--gray-800);border-radius:var(--radius-xl);width:100%;max-width:min(96vw,1400px);max-height:90vh;overflow-y:auto;padding:1.5rem}.charging-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.charging-modal-header h3{font-size:1rem;font-weight:600;color:#fff;margin:0}.charging-modal-close{background:none;border:none;color:var(--gray-400);cursor:pointer;padding:.25rem}.charging-modal-close:hover{color:#fff}.charging-modal-loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--gray-500)}.charging-session-selector{margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-400)}.charging-session-selector select{background:var(--gray-700);color:#fff;border:1px solid var(--gray-600);border-radius:var(--radius-md);padding:.25rem .5rem;font-size:.8125rem}.charging-field-selector{margin-bottom:.875rem;padding:.625rem .75rem;border:1px solid var(--gray-700);border-radius:var(--radius-md);background:#11182773}.charging-axis-select-row{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.charging-axis-select{display:flex;flex-direction:column;gap:.25rem;flex:1 1 0;min-width:180px;max-width:260px;font-size:.75rem;color:var(--gray-300)}.charging-axis-select:last-child{align-items:flex-end}.charging-axis-select select{background:var(--gray-700);color:#fff;border:1px solid var(--gray-600);border-radius:var(--radius-sm);padding:.35rem .5rem;font-size:.75rem;width:100%}.charging-axis-metrics{display:flex;flex-direction:column;gap:.45rem;flex:3 1 0;min-width:320px}.charging-axis-metrics-title{font-size:.75rem;color:var(--gray-300)}.charging-axis-metric-list{display:flex;flex-wrap:wrap;gap:.45rem .7rem}.charging-axis-metric-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--gray-200)}.charging-axis-metric-item input[type=checkbox]{accent-color:#38bdf8}.charging-palette-editor{margin-top:.7rem;padding-top:.65rem;border-top:1px solid rgba(75,85,99,.55);display:flex;flex-direction:column;gap:.5rem}.charging-palette-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.74rem;color:var(--gray-300)}.charging-palette-reset{background:transparent;color:var(--gray-300);border:1px solid var(--gray-600);border-radius:var(--radius-sm);padding:.2rem .45rem;font-size:.7rem;cursor:pointer}.charging-palette-reset:hover{color:#fff;border-color:var(--gray-500)}.charging-palette-list{display:flex;flex-wrap:wrap;gap:.45rem .7rem}.charging-palette-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.72rem;color:var(--gray-300)}.charging-palette-item input[type=color]{width:1.75rem;height:1.2rem;border:1px solid var(--gray-600);border-radius:4px;background:transparent;padding:0;cursor:pointer}@media (max-width: 768px){.charging-axis-select-row{gap:.75rem}.charging-axis-select,.charging-axis-select:last-child,.charging-axis-metrics{max-width:none;align-items:flex-start}}.charging-chart-container{width:100%;height:420px}.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}.ess2-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr);background:#0c0f14;color:#e8edf5;font-family:DM Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ess2-login-page{min-height:100vh;display:grid;place-items:center;padding:2rem;background:radial-gradient(circle at 18% 15%,rgba(14,165,233,.2),transparent 34rem),radial-gradient(circle at 82% 82%,rgba(34,197,94,.16),transparent 32rem),linear-gradient(135deg,#090d14,#101827 48%,#071118);color:#e8edf5;font-family:DM Sans,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ess2-login-card{width:min(58rem,100%);min-height:30rem;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);overflow:hidden;border:1px solid rgba(148,163,184,.2);border-radius:1.35rem;background:#0f172ad6;box-shadow:0 2rem 5rem #00000052;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.ess2-login-intro{display:flex;flex-direction:column;justify-content:flex-end;min-width:0;padding:2.2rem;background:linear-gradient(135deg,#0ea5e93d,#22c55e1a),linear-gradient(180deg,#0f172a42,#02061757)}.ess2-login-kicker{width:fit-content;margin-bottom:1rem;padding:.35rem .62rem;border:1px solid rgba(125,211,252,.28);border-radius:999px;background:#082f4961;color:#7dd3fc;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ess2-login-title-row{display:flex;align-items:flex-start;gap:.8rem;flex-wrap:wrap}.ess2-login-intro h1{margin:0;color:#f8fbff;font-size:clamp(2.5rem,6vw,4.6rem);line-height:.92;letter-spacing:-.08em}.ess2-login-demo-badge{margin-top:.28rem;padding:.3rem .5rem;border:1px solid rgba(52,211,153,.32);border-radius:999px;background:#064e3b52;color:#86efac;font-size:.66rem;font-weight:900;letter-spacing:.12em;line-height:1}.ess2-login-intro p{max-width:26rem;margin:1.1rem 0 0;color:#b9c7d8;font-size:1rem;line-height:1.6}.ess2-login-form{display:flex;flex-direction:column;justify-content:center;gap:1rem;min-width:0;padding:2.2rem;background:#0f172abd}.ess2-login-form label{display:block;margin-bottom:.38rem;color:#9fb0c4;font-size:.76rem;font-weight:800;letter-spacing:.05em}.ess2-login-form input{width:100%;min-height:2.8rem;padding:.72rem .82rem;border:1px solid rgba(148,163,184,.2);border-radius:.75rem;background:#0206176b;color:#f8fbff;outline:none}.ess2-login-form input:focus{border-color:#38bdf8ad;box-shadow:0 0 0 3px #38bdf824}.ess2-login-form button{min-height:2.9rem;margin-top:.35rem;border:none;border-radius:.75rem;background:linear-gradient(135deg,#0ea5e9,#10b981);color:#fff;cursor:pointer;font-size:.9rem;font-weight:850;letter-spacing:.03em}.ess2-login-form button:disabled{cursor:wait;opacity:.72}.ess2-login-error{padding:.7rem .8rem;border:1px solid rgba(239,68,68,.28);border-radius:.75rem;background:#7f1d1d40;color:#fecaca;font-size:.8rem;font-weight:700}.ess2-topbar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.25rem;background:#161c27;border-bottom:1px solid rgba(255,255,255,.07)}.ess2-topbar-left,.ess2-topbar-right{display:flex;align-items:center;gap:.85rem;min-width:0}.ess2-topbar-brand{display:flex;align-items:center;gap:.6rem;min-width:0}.ess2-topbar-logo-copy{display:grid;gap:.04rem;min-width:0}.ess2-topbar-title-row{display:inline-flex;align-items:center;gap:.4rem;min-width:0}.ess2-topbar-logo-copy strong{font-size:.95rem;line-height:1}.ess2-topbar-demo-badge{padding:.18rem .34rem;border:1px solid rgba(52,211,153,.3);border-radius:999px;background:#064e3b47;color:#86efac;font-size:.52rem;font-weight:900;letter-spacing:.1em;line-height:1}.ess2-topbar-logo-copy>span{color:#8a96a8;font-size:.72rem;line-height:1}.ess2-topbar-divider{width:1px;height:1.4rem;background:#ffffff1f}.ess2-topbar-site-button{min-width:10rem;max-width:14rem;display:inline-flex;align-items:center;gap:.5rem;padding:.48rem .72rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.08);background:#1a2130;color:#d7e1ee;cursor:default;opacity:1}.ess2-topbar-site-button strong{flex:1;min-width:0;font-size:.8rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.ess2-topbar-site-button:disabled{color:#d7e1ee;background:#1a2130}.ess2-topbar-site-caret{color:#6f8299;font-size:.72rem;line-height:1}.ess2-topbar-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.32rem .58rem;border-radius:.4rem;font-size:.72rem;font-weight:600}.ess2-topbar-badge strong{color:inherit}.ess2-topbar-badge-dot{width:.38rem;height:.38rem;border-radius:999px}.ess2-topbar-badge.danger{background:#ef44441f;color:#ef4444}.ess2-topbar-badge.danger .ess2-topbar-badge-dot{background:#ef4444}.ess2-topbar-badge.warning{background:#eab3081f;color:#eab308}.ess2-topbar-badge.warning .ess2-topbar-badge-dot{background:#eab308}.ess2-topbar-badge.success{background:#22c55e1f;color:#22c55e}.ess2-topbar-badge.success .ess2-topbar-badge-dot{background:#22c55e}.ess2-topbar-badge.skeleton{width:6.7rem;height:1.72rem;background:linear-gradient(90deg,#1e293bd1,#334155eb,#1e293bd1);background-size:220% 100%;animation:ess2-skeleton-pulse 1.4s ease-in-out infinite}.ess2-lang-group{display:inline-flex;padding:.15rem;border-radius:999px;border:1px solid rgba(255,255,255,.09);background:#1a2130}.ess2-lang-toggle{min-width:2.35rem;padding:.34rem .6rem;border:none;border-radius:999px;background:transparent;color:#8ea3bc;cursor:pointer;font-size:.72rem;font-weight:700}.ess2-lang-toggle.active{background:#3b82f6;color:#fff}.ess2-lang-toggle:disabled{cursor:default;opacity:.6}.ess2-topbar-account-avatar{width:2rem;height:2rem;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(147,197,253,.28);border-radius:999px;background:radial-gradient(circle at 32% 24%,rgba(255,255,255,.22),transparent 34%),linear-gradient(135deg,#1d4ed8,#0891b2);color:#f8fbff;font-size:.72rem;font-weight:900;letter-spacing:.04em;box-shadow:0 .55rem 1.3rem #0ea5e92e;-webkit-user-select:none;user-select:none}.ess2-topbar-logout{padding:.4rem .65rem;border:1px solid rgba(255,255,255,.09);border-radius:999px;background:#0f172a66;color:#9fb0c4;cursor:pointer;font-size:.72rem;font-weight:800}.ess2-topbar-logout:hover{color:#f8fbff;border-color:#94a3b847;background:#1e293bad}.ess2-sidebar{grid-row:2;display:flex;flex-direction:column;padding:1rem 0;background:#161c27;border-right:1px solid rgba(255,255,255,.07);overflow-y:auto}.ess2-nav{display:grid;gap:1rem}.ess2-nav-section{display:grid;gap:.3rem}.ess2-nav-section-label{padding:0 1rem .2rem;color:#50596a;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ess2-nav-section-items{display:grid}.ess2-nav-item{display:flex;align-items:center;gap:.7rem;padding:.62rem 1rem;border-left:2px solid transparent;color:#8a96a8;text-decoration:none;transition:background .14s ease,color .14s ease,border-color .14s ease}.ess2-nav-item:hover{background:#1a2130;color:#e8edf5}.ess2-nav-item.active{color:#e8edf5;background:#3b82f614;border-left-color:#3b82f6}.ess2-nav-icon{width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;color:currentColor}.ess2-nav-icon svg,.ess2-nav-icon .svg-inline--fa{width:1em;height:1em}.ess2-nav-label{min-width:0;font-size:.84rem;font-weight:500}.ess2-nav-badge{margin-left:auto;display:inline-flex;align-items:center;gap:.24rem;padding:.14rem .42rem;border-radius:999px;font-size:.64rem;font-weight:700;background:#94a3b829;color:#d0dae6}.ess2-nav-badge.risk{background:#ef444424;color:#ef4444}.ess2-nav-badge.ok{background:#22c55e24;color:#22c55e}.ess2-sidebar-footer{margin-top:auto;padding:.9rem 1rem 0;border-top:1px solid rgba(255,255,255,.07);display:grid;gap:.35rem}.ess2-connection-row{display:flex;align-items:center;gap:.45rem;color:#8a96a8;font-size:.72rem}.ess2-connection-row strong{margin-left:auto;color:#e8edf5;font-weight:700}.ess2-connection-row.muted{color:#50596a}.ess2-connection-dot{width:.38rem;height:.38rem;border-radius:999px;background:#22c55e}.ess2-main{grid-row:2;min-width:0;overflow-y:auto;background:#0c0f14}.ess2-content{padding:1rem 1.25rem 1.25rem}.ess2-shell.compact-cards .ess2-content{padding:.85rem 1rem 1rem}.ess2-page{display:grid;gap:1rem}.ess2-page-topslot{margin-bottom:-.35rem}.ess2-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.15rem}.ess2-page-title{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.ess2-page-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.ess2-page-title-row .ess2-site-badge{min-height:1.45rem;padding:.12rem .55rem;font-size:.7rem}.ess2-page-description{margin:.18rem 0 0;max-width:72ch;color:#8a96a8;font-size:.84rem;line-height:1.45}.ess2-page-actions{display:flex;gap:.5rem}.ess2-stat-grid,.ess2-panel-grid,.ess2-detail-grid,.ess2-main-grid{display:grid;gap:1rem}.ess2-shell.compact-cards .ess2-stat-grid,.ess2-shell.compact-cards .ess2-panel-grid,.ess2-shell.compact-cards .ess2-detail-grid,.ess2-shell.compact-cards .ess2-main-grid,.ess2-shell.compact-cards .ess2-panel-stack,.ess2-shell.compact-cards .ess2-detail-card-wrap{gap:.8rem}.ess2-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ess2-main-grid{grid-template-columns:minmax(0,1.62fr) minmax(220px,.68fr);align-items:start}.ess2-panel-stack{display:grid;gap:1rem;align-content:start;align-self:start}.ess2-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ess2-panel-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.ess2-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ess2-panel,.ess2-stat-card,.ess2-loading-card{border-radius:.75rem;border:1px solid rgba(255,255,255,.07);background:#161c27;box-shadow:none}.ess2-stat-card{padding:1rem;position:relative;overflow:hidden;background:linear-gradient(180deg,#1a2130f5,#141a26f5)}.ess2-shell.compact-cards .ess2-stat-card,.ess2-shell.compact-cards .ess2-panel{padding:.85rem .95rem}.ess2-stat-card:before{content:"";position:absolute;inset:0 0 auto 0;height:.26rem;background:#4f7cff}.ess2-stat-card.blue:before{background:#4f7cff}.ess2-stat-card.green:before{background:#22c55e}.ess2-stat-card.yellow:before{background:#facc15}.ess2-stat-card.red:before{background:#ef4444}.ess2-stat-card.blue{background:linear-gradient(180deg,#131d30fa,#121825f5)}.ess2-stat-card.green{background:linear-gradient(180deg,#142b22f5,#111d1bf5)}.ess2-stat-card.yellow{background:linear-gradient(180deg,#2c2512f5,#1f1b13f5)}.ess2-stat-card.red{background:linear-gradient(180deg,#2e171cf7,#1f1317f5)}.ess2-stat-label,.ess2-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:#7f94ad}.ess2-stat-value{margin-top:.4rem;font-size:1.8rem;font-weight:700;letter-spacing:-.03em}.ess2-stat-card.blue .ess2-stat-value,.ess2-stat-card.blue .ess2-stat-meta strong{color:#8db5ff}.ess2-stat-card.green .ess2-stat-value,.ess2-stat-card.green .ess2-stat-meta strong{color:#5dde8b}.ess2-stat-card.yellow .ess2-stat-value,.ess2-stat-card.yellow .ess2-stat-meta strong{color:#ffd84b}.ess2-stat-card.red .ess2-stat-value,.ess2-stat-card.red .ess2-stat-meta strong{color:#ff7c7c}.ess2-skeleton-block{display:block;height:.72rem;border-radius:999px;background:linear-gradient(90deg,#1e293bd1,#475569f2,#1e293bd1);background-size:220% 100%;animation:ess2-skeleton-pulse 1.4s ease-in-out infinite}.ess2-skeleton-block.label{width:42%}.ess2-skeleton-block.value{width:34%;height:1.9rem;margin-top:.55rem}.ess2-skeleton-block.meta{width:52%;margin-top:.55rem}.ess2-skeleton-block.site{width:7.2rem;height:.82rem}.ess2-skeleton-block.badge{width:5.4rem;height:1.08rem}.ess2-skeleton-block.bar{width:100%;height:.34rem}.ess2-skeleton-block.short{width:3.6rem}.ess2-skeleton-block.kv-label{width:7rem}.ess2-skeleton-block.kv-value{width:3rem}.ess2-skeleton-block.dist-label{width:6rem}.ess2-skeleton-block.dist-count{width:1.6rem}.ess2-skeleton-block.dist-bar{width:100%;height:.55rem}.ess2-skeleton-block.dist-bar.vertical{width:100%;height:7.8rem;border-radius:.45rem}.ess2-skeleton-block.trend{width:100%;height:11rem;margin-top:1rem;border-radius:.85rem}@keyframes ess2-skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.ess2-stat-meta{margin-top:.4rem;color:#89a0bc;font-size:.88rem}.ess2-panel{padding:1rem 1.1rem}.ess2-panel.wide{grid-column:1 / -1}.ess2-panel-title{margin:.35rem 0 0;font-size:.95rem;line-height:1.45}.ess2-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ess2-section-meta-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.ess2-panel-copy{margin:.7rem 0 0;color:#8a96a8;font-size:.84rem;line-height:1.55}.ess2-panel-copy.emphasis{color:#dce7f3}.ess2-mock-list{display:grid;gap:.72rem;margin-top:1rem}.ess2-mock-list-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.72rem;padding:.75rem .82rem;border-radius:.72rem;border:1px solid rgba(148,163,184,.12);background:#0f172a61}.ess2-mock-list-item strong{display:block;color:#e8edf5;font-size:.82rem}.ess2-mock-list-item p{margin:.22rem 0 0;color:#8a96a8;font-size:.74rem;line-height:1.45}.ess2-mock-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:.65rem;background:#4f7cff29;color:#dbeafe;font-size:.88rem;font-weight:800}.ess2-mock-list-item.high_risk .ess2-mock-icon,.ess2-mock-ticket.high_risk{border-color:#ef444447}.ess2-mock-list-item.early_warning .ess2-mock-icon,.ess2-mock-ticket.early_warning{border-color:#f9731642}.ess2-mock-list-item.watch .ess2-mock-icon{border-color:#eab30842}.ess2-mock-list-item.normal .ess2-mock-icon{border-color:#22c55e38}.ess2-mock-table-wrap{margin-top:.9rem;overflow-x:auto;border-radius:.75rem;border:1px solid rgba(148,163,184,.1);background:#080d165c}.ess2-mock-table{width:100%;min-width:38rem;border-collapse:collapse}.ess2-mock-table th,.ess2-mock-table td{padding:.74rem .82rem;border-bottom:1px solid rgba(148,163,184,.09);text-align:left;font-size:.76rem;white-space:nowrap}.ess2-mock-table th{color:#8ea0bb;background:#4f7cff14;font-weight:800;letter-spacing:.04em}.ess2-mock-table td{color:#dce7f3}.ess2-mock-chart-placeholder{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:.6rem;min-height:11rem;margin-top:1rem;padding:1rem;overflow:hidden;border-radius:.85rem;background:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px) 0 0 / 100% 25%,linear-gradient(180deg,#0f172aa3,#0f172a38)}.ess2-mock-chart-placeholder span{display:block;border-radius:999px 999px .32rem .32rem;background:linear-gradient(180deg,#4f7cff,#36d6af);opacity:.88}.ess2-mock-chart-placeholder span:nth-child(1){height:34%}.ess2-mock-chart-placeholder span:nth-child(2){height:58%}.ess2-mock-chart-placeholder span:nth-child(3){height:48%}.ess2-mock-chart-placeholder span:nth-child(4){height:72%}.ess2-mock-chart-placeholder span:nth-child(5){height:64%}.ess2-mock-chart-placeholder span:nth-child(6){height:86%}.ess2-mock-chart-placeholder.line{display:block}.ess2-mock-chart-placeholder.line:before{content:"";position:absolute;top:22%;right:8%;bottom:24%;left:8%;border-bottom:.18rem solid #36d6af;border-radius:50%;transform:skewY(-8deg)}.ess2-mock-chart-placeholder.donut{display:flex;align-items:center;justify-content:center}.ess2-mock-chart-placeholder.donut:before{content:"";width:8rem;height:8rem;border-radius:50%;background:conic-gradient(#36d6af 0,#36d6af 42%,#4f7cff 42%,#4f7cff 68%,#facc15 68%,#facc15 84%,#ef4444 84%,#ef4444);box-shadow:inset 0 0 0 2.3rem #121826}.ess2-mock-chart-placeholder.timeline{display:block}.ess2-mock-timeline{display:grid;gap:.42rem;margin-top:1rem}.ess2-mock-rate-row,.ess2-mock-schedule-row,.ess2-mock-time-axis{display:grid;grid-template-columns:2fr 1.2fr .9fr 1fr .9fr 1fr;gap:.12rem}.ess2-mock-rate-row span,.ess2-mock-schedule-row span{display:flex;align-items:center;justify-content:center;min-height:1.7rem;color:#dce7f3;font-size:.66rem;font-weight:800}.ess2-mock-rate-row span{opacity:.86}.ess2-mock-rate-row .off-peak{background:#3b82f62e}.ess2-mock-rate-row .mid-peak{background:#eab3082e}.ess2-mock-rate-row .peak{background:#ef444438}.ess2-mock-schedule-row .charge{background:#22c55e3d;color:#7df0c8}.ess2-mock-schedule-row .discharge{background:#ef444433;color:#ff9a9a}.ess2-mock-schedule-row .idle{background:#94a3b81f;color:#aab8c9}.ess2-mock-time-axis{grid-template-columns:repeat(5,minmax(0,1fr));color:#66758a;font-size:.66rem}.ess2-mock-time-axis span:last-child{text-align:right}.ess2-mock-ticket-list{display:grid;gap:.75rem;margin-top:1rem}.ess2-mock-ticket{display:grid;gap:.48rem;padding:.82rem .9rem;border-radius:.78rem;border:1px solid rgba(148,163,184,.13);border-left-width:.22rem;background:#0f172a61}.ess2-mock-ticket-top{display:flex;flex-wrap:wrap;align-items:center;gap:.52rem}.ess2-mock-ticket-top .ess2-table-muted{margin-left:auto}.ess2-mock-ticket strong{color:#eef6ff;font-size:.84rem}.ess2-mock-ticket p{margin:0;color:#8a96a8;font-size:.74rem;line-height:1.45}.ess2-control-main-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(17rem,.85fr);gap:1rem;align-items:start}.ess2-control-schedule-panel{min-height:100%}.ess2-control-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem;color:#a8b6c8;font-size:.72rem}.ess2-control-legend span,.ess2-control-chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.ess2-control-legend i,.ess2-control-chart-legend i{display:inline-block;width:.64rem;height:.64rem;border-radius:.18rem}.ess2-control-legend i.peak{background:#ef4444b8}.ess2-control-legend i.mid{background:#eab308b8}.ess2-control-legend i.off{background:#3b82f694}.ess2-control-timeline{margin-top:.82rem}.ess2-control-tariff-row,.ess2-control-action-row{display:flex;gap:1px;overflow:hidden;border-radius:.34rem}.ess2-control-tariff-row{height:1.25rem;margin-bottom:.25rem}.ess2-control-tariff-row span.off{background:#3b82f629}.ess2-control-tariff-row span.mid{background:#eab30833}.ess2-control-tariff-row span.peak{background:#ef444442}.ess2-control-action-row{height:2.35rem}.ess2-control-action-row span{display:flex;align-items:center;justify-content:center;min-width:0;padding:0 .28rem;color:#dce7f3;font-size:.66rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-control-action-row span.charge{background:#22c55e3b;color:#7df0c8}.ess2-control-action-row span.discharge{background:#ef444433;color:#ff9a9a}.ess2-control-action-row span.idle{background:#94a3b81a;color:#91a1b6}.ess2-control-time-axis{display:flex;justify-content:space-between;gap:.4rem;margin-top:.42rem;color:#66758a;font-size:.66rem}.ess2-control-soc-section{margin-top:1rem}.ess2-control-section-label{margin-bottom:.42rem;color:#8a96a8;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ess2-control-soc-chart{position:relative;height:clamp(13.75rem,24vh,16.25rem);overflow:hidden;border-radius:.72rem;background:linear-gradient(rgba(148,163,184,.06) 1px,transparent 1px) 0 0 / 100% 25%,linear-gradient(90deg,rgba(148,163,184,.04) 1px,transparent 1px) 0 0 / 12.5% 100%,#080d166b;border:1px solid rgba(148,163,184,.08)}.ess2-control-soc-label{position:absolute;left:1rem;z-index:1;padding:.08rem .36rem;border-radius:.35rem;background:#080d16ad;font-size:.72rem;font-weight:800;letter-spacing:.02em;line-height:1.15;white-space:nowrap}.ess2-control-soc-label.upper{top:calc(23.3% - 1.05rem);color:#22c55e}.ess2-control-soc-label.lower{top:calc(75.6% - 1.05rem);color:#eab308}.ess2-control-recommendation-list,.ess2-control-info-list{display:grid;gap:.7rem;margin-top:.85rem}.ess2-control-recommendation{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.68rem;padding:.74rem .78rem;border-radius:.72rem;border:1px solid rgba(148,163,184,.12);background:#0f172a66}.ess2-control-recommendation.info{border-color:#3b82f62e}.ess2-control-recommendation.warn{border-color:#f9731638}.ess2-control-recommendation-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:.62rem;background:#4f7cff24}.ess2-control-recommendation strong{display:block;color:#eef6ff;font-size:.8rem;line-height:1.38}.ess2-control-recommendation p{margin:.24rem 0 0;color:#8a96a8;font-size:.72rem;line-height:1.45}.ess2-control-info-row{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:.55rem 0;border-bottom:1px solid rgba(148,163,184,.09);color:#8a96a8;font-size:.76rem}.ess2-control-info-row:last-child{border-bottom:0}.ess2-control-info-row strong{color:#e8edf5;text-align:right}.ess2-control-info-row strong.red{color:#ff7c7c}.ess2-control-info-row strong.yellow{color:#ffd84b}.ess2-control-info-row strong.green{color:#7df0c8}.ess2-control-toast-row{display:flex;justify-content:stretch;margin-top:-.55rem}.ess2-control-toast{width:100%;padding:.74rem .95rem;border-radius:.72rem;border:1px solid rgba(34,197,94,.28);background:#0d1b1ff5;box-shadow:0 1rem 2.6rem #00000057;color:#7df0c8;font-size:.82rem;font-weight:700;overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.ess2-control-chart-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.85rem;color:#8a96a8;font-size:.72rem}.ess2-control-chart-legend i.energy{background:#4f7cff}.ess2-control-chart-legend i.maintenance{background:#36d6af}.ess2-control-savings-chart{display:grid;grid-template-columns:3.1rem minmax(0,1fr);gap:.75rem;height:13.5rem;margin-top:.9rem;padding:.85rem .75rem .5rem;border-radius:.85rem;overflow:hidden;background:#080d1647}.ess2-control-savings-axis{display:flex;flex-direction:column;justify-content:space-between;padding-bottom:1.32rem;color:#66758a;font-size:.66rem;text-align:right}.ess2-control-savings-plot{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:.78rem;min-width:0;background:linear-gradient(rgba(148,163,184,.07) 1px,transparent 1px) 0 0 / 100% 25%,transparent}.ess2-control-savings-column{display:grid;grid-template-rows:minmax(0,1fr) auto;align-items:end;gap:.45rem;height:100%;min-width:0;color:#8a96a8;text-align:center;font-size:.66rem}.ess2-control-stacked-bar{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:min(2.2rem,72%);height:100%;margin:0 auto;overflow:hidden;border-radius:999px 999px .34rem .34rem;background:#1e293bad}.ess2-control-stacked-bar span.energy{background:linear-gradient(180deg,#4f7cff,#3b82f6)}.ess2-control-stacked-bar span.maintenance{background:linear-gradient(180deg,#36d6af,#22c55e)}.ess2-control-radar-legend{display:flex;justify-content:center;gap:.9rem;margin-top:.85rem;color:#8a96a8;font-size:.72rem}.ess2-control-radar-legend span{display:inline-flex;align-items:center;gap:.35rem}.ess2-control-radar-legend i{display:inline-block;width:.66rem;height:.66rem;border-radius:.18rem}.ess2-control-radar-legend i.current{border:.18rem solid #4f7cff}.ess2-control-radar-legend i.target{border:.18rem dotted #22c55e}.ess2-control-radar-wrap{display:flex;align-items:center;justify-content:center;min-height:15rem;margin-top:.4rem;border-radius:.85rem;background:#080d1638}.ess2-control-radar-wrap svg{width:min(100%,24rem);height:auto;overflow:visible}.ess2-control-radar-ring{fill:none;stroke:#94a3b821;stroke-width:1}.ess2-control-radar-axis{stroke:#94a3b81a;stroke-width:1}.ess2-control-radar-area{stroke-width:2.3;vector-effect:non-scaling-stroke}.ess2-control-radar-area.current{fill:#4f7cff38;stroke:#4f7cff}.ess2-control-radar-area.target{fill:#22c55e1f;stroke:#22c55e;stroke-dasharray:4 4}.ess2-control-radar-point.current{fill:#4f7cff}.ess2-control-radar-point.current.red{fill:#ef4444}.ess2-control-radar-point.current.yellow{fill:#eab308}.ess2-control-radar-point.current.green,.ess2-control-radar-point.target{fill:#22c55e}.ess2-control-radar-label{fill:#8a96a8;font-size:.48rem;font-weight:700}.ess2-control-radar-tick{fill:#66758a;font-size:.5rem}.ess2-roi-notice-row{display:flex;justify-content:stretch;margin-top:-.55rem}.ess2-roi-notice{width:100%;padding:.74rem .95rem;overflow:hidden;border:1px solid rgba(34,197,94,.28);border-radius:.72rem;background:#0d1b1ff5;box-shadow:0 1rem 2.6rem #00000057;color:#7df0c8;font-size:.82rem;font-weight:700;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.ess2-roi-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,22rem);gap:1rem;align-items:start}.ess2-roi-chart-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,22rem);gap:1rem;align-items:stretch}.ess2-roi-table-wrap{margin-top:.85rem;overflow-x:auto;border:1px solid rgba(148,163,184,.09);border-radius:.78rem;background:#080d1642}.ess2-roi-table{width:100%;min-width:44rem;border-collapse:collapse;color:#dce7f3;font-size:.78rem}.ess2-roi-table th,.ess2-roi-table td{padding:.78rem .86rem;border-bottom:1px solid rgba(148,163,184,.08);text-align:left;white-space:nowrap}.ess2-roi-table th{color:#8a96a8;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ess2-roi-table tr:last-child td{border-bottom:0}.ess2-roi-table td:first-child{min-width:12rem}.ess2-roi-table td:first-child strong{display:block;color:#eef6ff;font-size:.82rem}.ess2-roi-table td:first-child span{display:block;margin-top:.18rem;color:#66758a;font-size:.7rem}.ess2-roi-table td.green{color:#7df0c8;font-weight:800}.ess2-roi-badge{display:inline-flex;align-items:center;min-height:1.45rem;padding:.16rem .5rem;border-radius:999px;font-size:.72rem;font-weight:800}.ess2-roi-badge.normal{background:#22c55e24;color:#7df0c8}.ess2-roi-badge.watch{background:#eab30824;color:#ffd84b}.ess2-roi-badge.warning{background:#f9731626;color:#ffad73}.ess2-roi-info-list{display:grid;gap:.06rem;margin-top:.72rem}.ess2-roi-info-row{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.52rem 0;border-bottom:1px solid rgba(148,163,184,.09);color:#8a96a8;font-size:.73rem}.ess2-roi-info-row:last-child{border-bottom:0}.ess2-roi-info-row strong{color:#e8edf5;font-size:.73rem;text-align:right;white-space:nowrap}.ess2-roi-info-row strong.green{color:#7df0c8}.ess2-roi-info-row strong.yellow{color:#ffd84b}.ess2-roi-info-row strong.red{color:#ff7c7c}.ess2-roi-chart-legend{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:.85rem;color:#8a96a8;font-size:.72rem}.ess2-roi-chart-legend span{display:inline-flex;align-items:center;gap:.35rem}.ess2-roi-chart-legend i{display:inline-block;width:.64rem;height:.64rem;border-radius:.18rem}.ess2-roi-chart-legend i.energy{background:#22c55e}.ess2-roi-chart-legend i.maintenance{background:#3b82f6}.ess2-roi-trend-chart{height:14.25rem;margin-top:.8rem;padding:.25rem .15rem 0;overflow:hidden;border-radius:.85rem;background:#080d1647}.ess2-roi-trend-chart svg{width:100%;height:100%}.ess2-roi-grid-line{stroke:#94a3b817;stroke-width:1}.ess2-roi-axis-label{fill:#66758a;font-size:.56rem;font-weight:700}.ess2-roi-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.ess2-roi-line.energy{stroke:#22c55e}.ess2-roi-line.maintenance{stroke:#3b82f6}.ess2-roi-mix-layout{display:grid;grid-template-columns:minmax(7.4rem,.56fr) minmax(0,1fr);gap:.95rem;align-items:center;min-height:13.8rem;margin-top:.8rem}.ess2-roi-donut{display:grid;place-items:center;width:min(9.1rem,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;box-shadow:0 1rem 2.8rem #00000047}.ess2-roi-donut>div{display:grid;place-items:center;width:62%;aspect-ratio:1;border-radius:50%;background:#141b27;color:#eef6ff}.ess2-roi-donut strong{font-size:1.35rem;line-height:1}.ess2-roi-donut span{margin-top:.28rem;color:#8a96a8;font-size:.64rem;font-weight:700}.ess2-roi-mix-list{display:grid;gap:.55rem;min-width:0}.ess2-roi-mix-row{display:grid;grid-template-columns:minmax(0,1fr) 2.6rem;align-items:center;gap:.55rem;min-width:0;color:#8a96a8;font-size:.74rem}.ess2-roi-mix-row span{display:inline-flex;align-items:center;gap:.42rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ess2-roi-mix-row i{display:inline-block;width:.62rem;height:.62rem;flex:0 0 auto;border-radius:.18rem}.ess2-roi-mix-row i.energy{background:#22c55e}.ess2-roi-mix-row i.maintenance{background:#3b82f6}.ess2-roi-mix-row i.life{background:#eab308}.ess2-roi-mix-row i.carbon{background:#14b8a6}.ess2-roi-mix-row strong{color:#eef6ff;text-align:right;white-space:nowrap}.ess2-warranty-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,26rem);gap:1rem;align-items:start}.ess2-warranty-table-wrap{margin-top:.85rem;overflow-x:auto;border:1px solid rgba(148,163,184,.09);border-radius:.78rem;background:#080d1642}.ess2-warranty-table{width:100%;min-width:52rem;border-collapse:collapse;color:#dce7f3;font-size:.78rem}.ess2-warranty-table th,.ess2-warranty-table td{padding:.82rem .9rem;border-bottom:1px solid rgba(148,163,184,.08);text-align:left;white-space:nowrap}.ess2-warranty-table th{background:#142e536b;color:#8a96a8;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ess2-warranty-table tr:last-child td{border-bottom:0}.ess2-warranty-table td:first-child{min-width:14rem}.ess2-warranty-table td:first-child strong{display:block;color:#eef6ff;font-size:.82rem}.ess2-warranty-table td:first-child span{display:block;margin-top:.2rem;color:#66758a;font-size:.7rem}.ess2-warranty-table td.green{color:#7df0c8;font-weight:800}.ess2-warranty-table td.yellow{color:#ffd84b;font-weight:800}.ess2-warranty-table td.red{color:#ff7c7c;font-weight:800}.ess2-warranty-status{display:inline-flex;align-items:center;min-height:1.44rem;padding:.16rem .54rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.ess2-warranty-status span{width:.38rem;height:.38rem;margin-right:.38rem;border-radius:50%;background:currentColor}.ess2-warranty-status.below{background:#ef444424;color:#ff7c7c}.ess2-warranty-status.edge{background:#eab30824;color:#ffd84b}.ess2-warranty-status.normal{background:#22c55e24;color:#7df0c8}.ess2-warranty-evidence-panel{min-width:0}.ess2-warranty-evidence-alert{margin-top:.95rem;padding:.8rem .9rem;border:1px solid rgba(59,130,246,.26);border-radius:.82rem;background:#0f1d3480;color:#b6c2d4;font-size:.78rem;font-weight:700;line-height:1.45}.ess2-warranty-evidence-alert.below{border-color:#ef444447;background:#3d141c6b;color:#ffb4b4}.ess2-warranty-evidence-alert.edge{border-color:#eab3083d;background:#372b0f5c;color:#ffe38b}.ess2-warranty-evidence-alert.normal{border-color:#22c55e3d;background:#132e235c;color:#a7f3d0}.ess2-warranty-checklist{display:grid;gap:.05rem;margin-top:.88rem}.ess2-warranty-check-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.48rem 0;border-bottom:1px solid rgba(148,163,184,.08);color:#8a96a8;font-size:.73rem}.ess2-warranty-check-row:last-child{border-bottom:0}.ess2-warranty-check-row strong{color:#e8edf5;font-size:.73rem;text-align:right;white-space:nowrap}.ess2-warranty-check-row strong.included{color:#5dde8b}.ess2-warranty-download-button{width:100%;justify-content:center;margin-top:.95rem}.ess2-stat-meta.danger{color:#ff7c7c;font-weight:800}.ess2-safety-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}.ess2-safety-category{overflow:hidden}.ess2-safety-list{display:grid;gap:.5rem;margin-top:.95rem}.ess2-safety-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.68rem;align-items:start;min-height:4.15rem;padding:.72rem .74rem;border-left:2px solid rgba(59,130,246,.9);border-radius:.58rem;background:#141d2db8}.ess2-safety-item.violation{border-left-color:#ef4444;background:#212739c2}.ess2-safety-item.caution{border-left-color:#f97316}.ess2-safety-item.compliant{border-left-color:#3b82f6}.ess2-safety-icon{display:grid;place-items:center;width:1.25rem;height:1.25rem;margin-top:.08rem;border-radius:50%;background:linear-gradient(180deg,#ef4444,#dc2626);color:#fecaca;font-size:.7rem;font-weight:900;line-height:1}.ess2-safety-item.caution .ess2-safety-icon{background:linear-gradient(180deg,#fde047,#facc15);color:#713f12}.ess2-safety-item.compliant .ess2-safety-icon{background:linear-gradient(180deg,#22c55e,#16a34a);color:#dcfce7}.ess2-safety-item-body{min-width:0}.ess2-safety-item-body strong{display:block;color:#eef6ff;font-size:.78rem;line-height:1.25}.ess2-safety-item-body p{margin:.24rem 0 0;color:#66758a;font-size:.7rem;line-height:1.45}.ess2-safety-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;min-height:1.32rem;padding:.12rem .42rem;border-radius:.28rem;background:#22c55e1f;color:#5dde8b;font-size:.68rem;font-weight:900;white-space:nowrap}.ess2-safety-badge.violation{background:#ef444421;color:#ff7c7c}.ess2-safety-badge.caution{background:#eab30824;color:#ffd84b}.ess2-safety-timeline-panel{overflow:hidden}.ess2-safety-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));margin:.95rem -1rem -1rem;border-top:1px solid rgba(148,163,184,.09)}.ess2-safety-timeline-item{min-width:0;padding:1rem 1rem 1.05rem;border-right:1px solid rgba(148,163,184,.09)}.ess2-safety-timeline-item:last-child{border-right:0}.ess2-safety-timeline-date{color:#66758a;font-family:DM Mono,SFMono-Regular,Menlo,monospace;font-size:.66rem;font-weight:800}.ess2-safety-timeline-item strong{display:block;margin-top:.44rem;font-size:.78rem;line-height:1.25}.ess2-safety-timeline-item strong.red{color:#ff7c7c}.ess2-safety-timeline-item strong.yellow{color:#ffd84b}.ess2-safety-timeline-item strong.blue{color:#8db5ff}.ess2-safety-timeline-item strong.teal{color:#5eead4}.ess2-safety-timeline-item strong.green{color:#5dde8b}.ess2-safety-timeline-item p{margin:.38rem 0 0;color:#66758a;font-size:.7rem;line-height:1.55}.ess2-panel.ess2-audit-panel,.ess2-shell.compact-cards .ess2-panel.ess2-audit-panel{padding:0;overflow:hidden}.ess2-audit-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.82rem .95rem .68rem;border-bottom:1px solid rgba(148,163,184,.09)}.ess2-audit-filter-button,.ess2-audit-filter-row button{border:1px solid rgba(148,163,184,.2);border-radius:.5rem;background:#0f172ab8;color:#a7bbd2;cursor:pointer;font:inherit;font-size:.75rem;font-weight:800}.ess2-audit-filter-button{padding:.48rem .7rem}.ess2-audit-filter-row{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem;padding:.62rem .95rem;border-bottom:1px solid rgba(148,163,184,.09);background:#0b121e8f}.ess2-audit-filter-row label{display:grid;gap:.28rem;min-width:10rem}.ess2-audit-filter-row span{color:#66758a;font-size:.68rem;font-weight:800}.ess2-audit-filter-row select{min-height:2rem;border:1px solid rgba(148,163,184,.16);border-radius:.55rem;background:#111827;color:#dce7f3;font:inherit;font-size:.78rem}.ess2-audit-filter-row button{min-height:2rem;padding:0 .72rem}.ess2-audit-table-wrap{width:100%;overflow-x:auto}.ess2-audit-table{width:100%;min-width:58rem;border-collapse:collapse}.ess2-audit-table th,.ess2-audit-table td{padding:.72rem;border-bottom:1px solid rgba(148,163,184,.09);text-align:left;vertical-align:middle}.ess2-audit-table th{color:#66758a;font-size:.74rem;font-weight:900}.ess2-audit-table td{color:#66758a;font-size:.78rem;font-weight:700}.ess2-audit-table tr:last-child td{border-bottom:0}.ess2-audit-time{color:#607086;font-family:DM Mono,SFMono-Regular,Menlo,monospace;white-space:nowrap}.ess2-audit-event{color:#8a96a8}.ess2-audit-severity{display:inline-flex;align-items:center;justify-content:center;min-width:3.6rem;min-height:1.38rem;padding:.1rem .46rem;border-radius:.28rem;font-size:.72rem;font-weight:900}.ess2-audit-severity.critical{background:#ef444429;color:#ff6565}.ess2-audit-severity.warning{background:#f9731626;color:#ff7a1a}.ess2-audit-severity.notice{background:#eab30824;color:#ffd84b}.ess2-audit-severity.info{background:#22c55e24;color:#35d77d}.ess2-audit-action{color:#8a96a8}.ess2-audit-action.critical{color:#ff6565}.ess2-audit-action.warning{color:#ff7a1a}.ess2-audit-action.notice{color:#ffd84b}.ess2-audit-empty{padding:.9rem .95rem 1rem;color:#8a96a8;font-size:.82rem;font-weight:700}.ess2-maintenance-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(20rem,22rem);gap:1rem;align-items:start}.ess2-maintenance-ticket-list,.ess2-maintenance-side-stack,.ess2-maintenance-info-list{display:grid;gap:.8rem}.ess2-maintenance-ticket{display:grid;gap:.42rem;padding:.9rem 1rem;border:1px solid rgba(148,163,184,.12);border-left:3px solid #64748b;border-radius:.72rem;background:#161c27}.ess2-maintenance-ticket.urgent{border-color:#ef44444d;border-left-color:#ef4444}.ess2-maintenance-ticket.progress{border-color:#f9731638;border-left-color:#f97316}.ess2-maintenance-ticket.done{border-left-color:#64748b}.ess2-maintenance-ticket-top{display:flex;align-items:center;gap:.55rem;min-width:0}.ess2-maintenance-ticket-id,.ess2-maintenance-ticket-time{color:#66758a;font-family:DM Mono,SFMono-Regular,Menlo,monospace;font-size:.7rem;font-weight:800}.ess2-maintenance-ticket-time{margin-left:auto;text-align:right}.ess2-maintenance-ticket-badge{display:inline-flex;align-items:center;justify-content:center;min-height:1.38rem;padding:.12rem .48rem;border-radius:.32rem;font-size:.72rem;font-weight:900}.ess2-maintenance-ticket-badge.urgent{background:#ef444429;color:#ff6565}.ess2-maintenance-ticket-badge.progress{background:#f9731626;color:#ff7a1a}.ess2-maintenance-ticket-badge.done{background:#22c55e21;color:#5dde8b}.ess2-maintenance-ticket-title{color:#eef6ff;font-size:.82rem;line-height:1.35}.ess2-maintenance-ticket.done .ess2-maintenance-ticket-title{color:#a7bbd2}.ess2-maintenance-ticket-description{margin:0;color:#66758a;font-size:.74rem;font-weight:700;line-height:1.45}.ess2-maintenance-ticket-footer{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.25rem}.ess2-maintenance-assignee,.ess2-maintenance-person{display:inline-flex;align-items:center;gap:.52rem;min-width:0;color:#a7bbd2;font-size:.76rem;font-weight:800}.ess2-maintenance-avatar{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;flex:0 0 auto;border-radius:50%;color:#fff;font-size:.68rem;font-weight:900}.ess2-maintenance-avatar.blue{background:linear-gradient(135deg,#3b82f6,#8b5cf6)}.ess2-maintenance-avatar.green{background:linear-gradient(135deg,#14b8a6,#22c55e)}.ess2-maintenance-avatar.yellow{background:linear-gradient(135deg,#facc15,#f97316)}.ess2-maintenance-avatar.red{background:linear-gradient(135deg,#ef4444,#f97316)}.ess2-maintenance-actions{display:inline-flex;flex-wrap:wrap;gap:.45rem;margin-left:auto}.ess2-maintenance-actions button{min-height:1.7rem;padding:.2rem .62rem;border:1px solid rgba(148,163,184,.2);border-radius:.34rem;background:transparent;color:#a7bbd2;cursor:pointer;font:inherit;font-size:.68rem;font-weight:800}.ess2-maintenance-actions button.danger{border-color:#ef444473;background:#ef4444;color:#fff}.ess2-maintenance-schedule{margin-left:auto;color:#ffd84b;font-size:.72rem;font-weight:900}.ess2-panel.ess2-maintenance-side-panel,.ess2-shell.compact-cards .ess2-panel.ess2-maintenance-side-panel{padding:0;overflow:hidden}.ess2-maintenance-side-title{padding:.85rem 1rem;border-bottom:1px solid rgba(148,163,184,.09);color:#eef6ff;font-size:.88rem;font-weight:900}.ess2-maintenance-info-list{gap:0;padding:.82rem 1rem}.ess2-maintenance-info-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:2.35rem;border-bottom:1px solid rgba(148,163,184,.09);color:#8a96a8;font-size:.78rem;font-weight:800}.ess2-maintenance-info-row:last-child{border-bottom:0}.ess2-maintenance-info-row strong{color:#eef6ff;font-size:.78rem;white-space:nowrap}.ess2-maintenance-info-row strong.red{color:#ff6565}.ess2-maintenance-info-row strong.yellow{color:#ffd84b}.ess2-maintenance-info-row strong.green{color:#35d77d}.ess2-site-table-wrap{margin-top:.85rem;overflow-x:auto;overflow-y:hidden;border-radius:.75rem;border:1px solid rgba(255,255,255,.06);background:#0c0f1459}.ess2-site-grid{display:grid;width:100%;min-width:0;grid-template-columns:max-content max-content 19rem max-content max-content minmax(0,1fr)}.ess2-site-grid-row{display:contents}.ess2-site-grid-row>*{min-width:0}.ess2-site-grid-row>*:nth-child(3){min-width:0}.ess2-site-grid-spacer{min-width:0;padding-right:0!important;padding-left:0!important}.ess2-site-grid-head{padding:0;background:#1e40af2e}.ess2-site-grid-head>*{padding:.66rem clamp(.72rem,1.45vw,1.35rem);border-bottom:1px solid rgba(255,255,255,.07);text-align:left;font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6f8299}.ess2-site-grid-head>*:first-child{padding-left:.55rem}.ess2-site-grid-head>*:last-child{padding-right:0}.ess2-site-grid-body{cursor:pointer}.ess2-site-grid-body>*{padding:.66rem clamp(.72rem,1.45vw,1.35rem);border-bottom:1px solid rgba(255,255,255,.06)}.ess2-site-grid-body>*:first-child{padding-left:.55rem}.ess2-site-grid-body>*:last-child{padding-right:0}.ess2-shell.compact-cards .ess2-site-grid-head>*,.ess2-shell.compact-cards .ess2-site-grid-body>*{padding-top:.56rem;padding-right:clamp(.6rem,1.2vw,1.05rem);padding-bottom:.56rem;padding-left:clamp(.6rem,1.2vw,1.05rem)}.ess2-shell.compact-cards .ess2-site-grid-head>*:first-child,.ess2-shell.compact-cards .ess2-site-grid-body>*:first-child{padding-left:.48rem}.ess2-shell.compact-cards .ess2-site-grid-head>*:last-child,.ess2-shell.compact-cards .ess2-site-grid-body>*:last-child{padding-right:0}.ess2-site-grid-body:hover>*{background:#1a2130}.ess2-site-grid-body:focus-visible>*{background:#1a2130;box-shadow:inset 0 0 0 1px #60a5fa52}.ess2-site-grid-body.skeleton{cursor:default}.ess2-site-grid-body.skeleton:hover{background:transparent}.ess2-site-grid-body:last-child{border-bottom:none}.ess2-site-grid-body:last-child>*{border-bottom:none}.ess2-site-name{display:block;color:#e8edf5;font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-site-meta{display:block;margin-top:.12rem;color:#50596a;font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-risk-badge{display:inline-flex;align-items:center;gap:.32rem;padding:.16rem .38rem;border-radius:.35rem;font-size:.66rem;font-weight:700;background:#94a3b81f;color:#c7d5e6;white-space:nowrap}.ess2-risk-dot{width:.32rem;height:.32rem;border-radius:999px;background:currentColor}.ess2-risk-badge.high_risk{background:#ef44441f;color:#ef4444}.ess2-risk-badge.early_warning{background:#f973161f;color:#f97316}.ess2-risk-badge.watch{background:#eab3081f;color:#eab308}.ess2-risk-badge.normal{background:#22c55e1a;color:#22c55e}.ess2-risk-badge.muted{background:#94a3b81a;color:#8a96a8}.ess2-soh-bar-wrap{display:flex;align-items:center;gap:.38rem;min-width:0}.ess2-soh-bar{flex:1;min-width:0;height:.3rem;overflow:hidden;border-radius:999px;background:#1a2130}.ess2-soh-fill{height:100%;border-radius:999px;background:#22c55e}.ess2-soh-fill.critical{background:#ef4444}.ess2-soh-fill.warning{background:#f97316}.ess2-soh-fill.watch{background:#eab308}.ess2-soh-value{min-width:2.25rem;text-align:right;font-size:.72rem;font-weight:700;color:#e8edf5}.ess2-soh-value.critical{color:#ef4444}.ess2-soh-value.warning{color:#f97316}.ess2-soh-value.watch{color:#eab308}.ess2-table-mono{display:inline-block;max-width:100%;color:#dce7f3;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-table-muted{display:inline-block;max-width:100%;color:#8a96a8;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-site-list,.ess2-placeholder-stack,.ess2-setting-list{display:grid;gap:.75rem;margin-top:1rem}.ess2-site-list{grid-template-columns:repeat(2,minmax(0,1fr))}.ess2-site-list.single{grid-template-columns:1fr}.ess2-site-item,.ess2-placeholder-card,.ess2-input,.ess2-select{border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:#0f172ab8;color:#eff7ff}.ess2-site-item{padding:.9rem 1rem;text-align:left;cursor:pointer;display:grid;gap:.3rem}.ess2-site-item.static{cursor:default}.ess2-site-item small{color:#7f94ad}.ess2-alert-filter-bar{display:flex;flex-wrap:wrap;gap:.55rem}.ess2-alert-filter-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:2.15rem;padding:.45rem .75rem;border:1px solid rgba(148,163,184,.14);border-radius:999px;background:#1e293b94;color:#8ea3bc;cursor:pointer;font-size:.78rem;font-weight:700}.ess2-alert-filter-chip strong{color:#f8fbff;font-size:.86rem}.ess2-alert-filter-chip.active{color:#071018;border-color:#3dd6a757;background:linear-gradient(135deg,#25d0a5,#42a8ff);box-shadow:0 .85rem 2rem #25d0a529}.ess2-alert-filter-chip.active strong{color:#071018}.ess2-alert-card-list{display:grid;gap:.75rem;margin-top:.8rem}.ess2-alert-card{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;gap:.85rem;align-items:flex-start;padding:.95rem 1rem;border:1px solid rgba(148,163,184,.14);border-radius:1rem;background:#0f172ac7;transition:border-color .16s ease,background .16s ease,transform .16s ease}.ess2-alert-card:hover{border-color:#94a3b847;background:#111b2ae0;transform:translateY(-1px)}.ess2-alert-card-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.85rem;background:#94a3b81a;color:#c7d5e6;font-size:1rem}.ess2-alert-card-icon.high{background:#ef44441f;color:#f87171}.ess2-alert-card-icon.warn{background:#f973161f;color:#fb923c}.ess2-alert-card-icon.watch{background:#eab3081f;color:#facc15}.ess2-alert-card-icon.normal{background:#22c55e1a;color:#4ade80}.ess2-alert-card-body{min-width:0}.ess2-alert-card-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.ess2-alert-card-title{color:#f4f7fb;font-size:.92rem;font-weight:800}.ess2-alert-action-pill{display:inline-flex;align-items:center;min-height:1.45rem;padding:.18rem .5rem;border-radius:999px;background:#94a3b81f;color:#c7d5e6;font-size:.68rem;font-weight:800;white-space:nowrap}.ess2-alert-action-pill.replacement{background:#ef444424;color:#ff7b7b}.ess2-alert-action-pill.inspection{background:#42a8ff24;color:#8cc8ff}.ess2-alert-action-pill.operation{background:#3dd6a71f;color:#72e6c5}.ess2-alert-action-pill.monitoring{background:#eab3081f;color:#facc15}.ess2-alert-card-site{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.18rem;color:#8ea3bc;font-size:.76rem}.ess2-alert-card-site strong{color:#dbeafe}.ess2-alert-card-desc{margin-top:.55rem;color:#b7c7da;font-size:.82rem;line-height:1.45}.ess2-alert-signal-list{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.65rem}.ess2-alert-signal-list span{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;padding:.3rem .5rem;border-radius:999px;background:#1e293b94;color:#c8d5e6;font-size:.72rem;font-weight:750}.ess2-alert-signal-list svg{flex:0 0 auto;color:#8cc8ff}.ess2-alert-card-metrics{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}.ess2-alert-card-metrics span{display:inline-flex;align-items:center;gap:.32rem;padding:.28rem .5rem;border-radius:999px;background:#1e293b9e;color:#dbe7f5}.ess2-alert-card-metrics small{color:#8ea3bc;font-size:.68rem}.ess2-alert-card-metrics strong{font-size:.75rem}.ess2-alert-card-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.72rem}.ess2-alert-card-btn{display:inline-flex;align-items:center;justify-content:center;min-height:1.9rem;padding:.35rem .7rem;border:1px solid rgba(148,163,184,.18);border-radius:.55rem;background:#0f172aa3;color:#bcd0e5;cursor:pointer;font-size:.74rem;font-weight:800}.ess2-alert-card-btn.primary{border-color:#3dd6a757;background:#17b890;color:#061018}.ess2-alert-card-meta{display:grid;justify-items:end;gap:.45rem;min-width:5.5rem}.ess2-alert-card-time{color:#8ea3bc;font-size:.72rem;white-space:nowrap}.ess2-placeholder-card{min-height:4.25rem;padding:1rem;display:flex;align-items:center}.ess2-placeholder-card.compact{min-height:3rem;padding:.75rem;font-size:.82rem}.ess2-placeholder-card.tall{min-height:12rem}.ess2-placeholder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.ess2-distribution-list,.ess2-priority-list,.ess2-response-queue,.ess2-tag-list,.ess2-monitor-grid,.ess2-recommendation-grid,.ess2-calendar-grid,.ess2-budget-grid,.ess2-site-pill-row,.ess2-strategy-group{margin-top:1rem}.ess2-distribution-list,.ess2-response-queue,.ess2-tag-list{display:grid;gap:.75rem}.ess2-kv-list.skeleton .ess2-skeleton-block.kv-value{margin-left:auto}.ess2-distribution-list.skeleton{gap:.9rem}.ess2-distribution-row{display:grid;gap:.45rem}.ess2-distribution-label{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#dce7f3}.ess2-distribution-bar{height:.55rem;border-radius:999px;background:#1e293beb;overflow:hidden}.ess2-distribution-fill{height:100%;min-width:0;border-radius:999px;background:linear-gradient(90deg,#34d399e0,#22c55eeb)}.ess2-distribution-fill.critical{background:linear-gradient(90deg,#f87171f0,#ef4444fa)}.ess2-distribution-fill.warning{background:linear-gradient(90deg,#fbbf24f0,#f59e0bfa)}.ess2-distribution-fill.watch{background:linear-gradient(90deg,#60a5fae6,#3b82f6f5)}.ess2-distribution-fill.muted{background:linear-gradient(90deg,#94a3b8d6,#64748beb)}.ess2-distribution-fill.info{background:linear-gradient(90deg,#38bdf8e0,#3b82f6f0)}.ess2-distribution-fill.normal{background:linear-gradient(90deg,#34d399e0,#10b981f0)}.ess2-mini-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.ess2-panel-subtitle{margin-top:.18rem;color:#66758a;font-size:.72rem}.ess2-text-link{border:0;background:transparent;color:#60a5fa;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.ess2-text-link:hover{color:#bfdbfe}.ess2-soh-chart-panel{overflow:hidden;align-self:start}.ess2-soh-chart-canvas-wrap{position:relative;height:11rem;margin-top:.75rem}.ess2-soh-chart-canvas-wrap canvas{display:block;width:100%;height:100%}.ess2-soh-distribution-chart{height:10rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(3.2rem,1fr));align-items:end;gap:.55rem;margin-top:.75rem}.ess2-soh-dist-column{min-width:0;display:grid;grid-template-rows:auto 7.8rem auto;gap:.48rem;align-items:end}.ess2-recent-alert-list{display:grid;gap:0;margin-top:.65rem}.ess2-recent-alert-item{width:100%;display:grid;grid-template-columns:1.9rem minmax(0,1fr) auto;align-items:flex-start;gap:.65rem;padding:.72rem 0;border:0;border-bottom:1px solid rgba(255,255,255,.07);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.ess2-recent-alert-item:last-child{border-bottom:0}.ess2-recent-alert-item:hover{opacity:.82}.ess2-recent-alert-item.skeleton{cursor:default}.ess2-recent-alert-icon{width:1.9rem;height:1.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:#3b82f61c}.ess2-recent-alert-icon.red{background:#ef44441f;color:#ef4444}.ess2-recent-alert-icon.orange{background:#f973161c;color:#f97316}.ess2-recent-alert-icon.yellow{background:#eab3081f;color:#eab308}.ess2-recent-alert-dot{width:.48rem;height:.48rem;border-radius:999px;background:currentColor}.ess2-recent-alert-content{min-width:0;display:grid;gap:.2rem}.ess2-recent-alert-content strong{color:#e8edf5;font-size:.78rem;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ess2-recent-alert-content small{color:#66758a;font-size:.68rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ess2-recent-alert-time{color:#66758a;font-size:.66rem;white-space:nowrap}.ess2-trend-panel{min-height:15.2rem}.ess2-time-range{display:inline-flex;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:.48rem;background:#0f172a8f}.ess2-time-range-button{min-width:3.1rem;padding:.34rem .55rem;border:0;border-right:1px solid rgba(148,163,184,.12);background:transparent;color:#8a96a8;font:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.ess2-time-range-button:last-child{border-right:0}.ess2-time-range-button.active{background:#3b82f638;color:#dbeafe}.ess2-trend-chart{position:relative;margin-top:.85rem}.ess2-trend-svg-wrap{position:relative;height:11rem;border-radius:.85rem;background:linear-gradient(180deg,#0f172a61,#0f172a1f)}.ess2-trend-y-axis{position:absolute;inset:0 auto 0 0;width:2.55rem;color:#66758a;font-size:.62rem;font-weight:700;pointer-events:none}.ess2-trend-y-axis span{position:absolute;right:.42rem;transform:translateY(-50%);white-space:nowrap}.ess2-trend-svg{width:100%;height:100%;display:block;overflow:visible}.ess2-trend-gridline{stroke:#94a3b81c;stroke-width:1}.ess2-trend-gridline:first-of-type,.ess2-trend-gridline:last-of-type{stroke:#94a3b812}.ess2-trend-bound{stroke:#eab3088a;stroke-width:1.5;stroke-dasharray:6 6}.ess2-trend-area{fill:url(#ess2-average-soh-fill)}.ess2-trend-line{fill:none;stroke:#60a5fa;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ess2-trend-point{position:absolute;width:.48rem;height:.48rem;border:2px solid #0f172a;border-radius:999px;background:#60a5fa;box-shadow:0 0 0 1px #60a5fa4d;pointer-events:none;transform:translate(-50%,-50%)}.ess2-trend-axis{margin-top:.36rem;display:flex;justify-content:space-between;gap:.35rem;box-sizing:border-box;color:#66758a;font-size:.64rem}.ess2-trend-axis span{min-width:0;overflow:hidden;text-overflow:clip;white-space:nowrap}.ess2-trend-legend{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.55rem;color:#8a96a8;font-size:.72rem}.ess2-trend-legend span{display:inline-flex;align-items:center;gap:.35rem}.ess2-trend-legend i{width:1.1rem;height:.16rem;display:inline-block;border-radius:999px;background:#60a5fa}.ess2-trend-legend i.bound{background:repeating-linear-gradient(90deg,rgba(234,179,8,.85) 0 .28rem,transparent .28rem .46rem)}.ess2-trends-top-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.95fr) minmax(0,.9fr);gap:1rem;margin-top:1rem}.ess2-trends-chart-wrap{position:relative;height:15.5rem;margin-top:.85rem;padding:.4rem .2rem 0;border-radius:.9rem;background:radial-gradient(circle at 12% 0%,rgba(59,130,246,.12),transparent 38%),linear-gradient(180deg,#0f172a75,#0f172a29)}.ess2-trends-chart-wrap canvas{display:block;width:100%;height:100%}.ess2-trends-wide-chart{height:18.5rem}.ess2-trends-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.ess2-trends-summary-card{min-width:0;padding:.9rem 1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.13);background:linear-gradient(180deg,#1a2130e6,#0f172ac7)}.ess2-trends-summary-card span{display:block;color:#8ea3bc;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ess2-trends-summary-card strong{display:block;margin-top:.38rem;color:#f8fbff;font-size:1.25rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-trends-summary-card small{display:block;min-height:1rem;margin-top:.28rem;color:#6f8299;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-section-meta{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.16);background:#1e293b9e;color:#d8e4f2;font-size:.76rem;font-weight:700}.ess2-section-meta.derived{color:#9ff0d3;border-color:#34d39938;background:#14532d47}.ess2-section-meta.simulated{color:#8fc7ff;border-color:#38bdf838;background:#0f325d57}.ess2-section-meta.assumption{color:#f9d772;border-color:#eab3083d;background:#713f1238}.ess2-site-badge-row{display:inline-flex;align-items:center;gap:.5rem}.ess2-site-badge{display:inline-flex;align-items:center;justify-content:center;gap:.38rem;min-height:1.9rem;padding:.2rem .7rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#1e293bb8;color:#e5eef8;font-size:.78rem;font-weight:700}.ess2-site-badge.high_risk{background:#ee4e341f;color:#ff5402;border-color:#ee4e3447}.ess2-site-badge.early_warning{background:#ff8a121f;color:#ff8a12;border-color:#ff8a1247}.ess2-site-badge.watch{background:#ff54021f;color:#ff5402;border-color:#ff540242}.ess2-site-badge.limited{background:#4755698a;color:#dbe5f0;border-color:#94a3b83d}.ess2-site-badge.normal{background:#085c1b24;color:#31ce12;border-color:#31ce123d}.ess2-live-dot{width:.55rem;height:.55rem;border-radius:999px;background:#64748b;box-shadow:0 0 #94a3b833}.ess2-live-dot.online{background:#34d399;box-shadow:0 0 0 4px #34d3991f}.ess2-live-dot.offline{background:#94a3b8}.ess2-priority-list{display:grid;gap:.75rem}.ess2-priority-item,.ess2-response-row{width:100%;padding:.95rem 1rem;border:1px solid rgba(148,163,184,.16);border-radius:1rem;background:#0f172abd;color:#eff7ff;cursor:pointer}.ess2-response-row.static{cursor:default}.ess2-priority-item{display:grid;gap:.7rem;text-align:left}.ess2-priority-main,.ess2-response-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.ess2-priority-title{font-weight:800}.ess2-priority-meta{margin-top:.2rem;color:#8ea3bc;font-size:.84rem}.ess2-priority-stats{display:flex;flex-wrap:wrap;gap:.6rem;color:#c7d5e6;font-size:.86rem}.ess2-response-row strong{color:#f8fbff}.ess2-back-link{display:inline-flex;align-items:center;gap:.38rem;padding:0;margin:0;border:none;background:transparent;color:#8a96a8;font-size:.76rem;font-weight:600;letter-spacing:.01em;cursor:pointer}.ess2-back-link:hover{color:#d7e3ef}.ess2-detail-header-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.ess2-detail-card-wrap{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start}.ess2-detail-home-card{flex:1 1 21rem;min-width:20rem;padding:1rem 1rem 1.05rem;border-radius:1rem;border:1px solid rgba(148,163,184,.18);background:#111827f5;box-shadow:0 14px 32px #03071247}.ess2-shell.compact-cards .ess2-detail-home-card{flex-basis:19rem;min-width:18.5rem;padding:.88rem .9rem .94rem}.ess2-detail-home-card.full-width{flex:1 1 100%;min-width:100%}.ess2-ai-summary-deck{display:grid;gap:.9rem;margin-bottom:1rem}.ess2-ai-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16.5rem,1fr));gap:1rem;align-items:start}.ess2-ai-summary-left,.ess2-ai-summary-right{display:contents}.ess2-ai-summary-card{min-width:0;padding:1rem;border-radius:.9rem;border:1px solid rgba(148,163,184,.14);background:#161c27f5;box-shadow:0 14px 32px #03071238}.ess2-ai-summary-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.ess2-ai-summary-card-head strong{display:block;margin-top:.18rem;color:#f8fbff;font-size:1.75rem;font-weight:800;letter-spacing:-.05em}.ess2-ai-summary-card-head>span{color:#8ea3bc;font-size:.8rem}.ess2-ai-soh-ring-wrap{position:relative;display:grid;place-items:center;padding:.25rem 0 .65rem}.ess2-ai-soh-ring{transform:rotate(-90deg)}.ess2-ai-soh-ring-track,.ess2-ai-soh-ring-value{fill:none;stroke-width:10}.ess2-ai-soh-ring-track{stroke:#1e293bf2}.ess2-ai-soh-ring-value{stroke-linecap:round;transition:stroke-dashoffset .32s ease,stroke .22s ease}.ess2-ai-soh-ring-value.red{stroke:#ff5402}.ess2-ai-soh-ring-value.orange{stroke:#ff8a12}.ess2-ai-soh-ring-value.yellow{stroke:#ffb61a}.ess2-ai-soh-ring-value.green{stroke:#31ce12}.ess2-ai-soh-ring-value.unknown{stroke:#64748b}.ess2-ai-soh-ring-center{position:absolute;display:grid;place-items:center;gap:.12rem}.ess2-ai-soh-ring-center strong{color:#f4f8fc;font-size:1.7rem;font-weight:800;letter-spacing:-.05em}.ess2-ai-soh-ring-center strong.red{color:#ff5402}.ess2-ai-soh-ring-center strong.orange{color:#ff8a12}.ess2-ai-soh-ring-center strong.yellow{color:#ffb61a}.ess2-ai-soh-ring-center strong.green{color:#31ce12}.ess2-ai-soh-ring-center strong.unknown{color:#b3b3b3}.ess2-ai-soh-ring-center span{color:#8ea3bc;font-size:.68rem;font-weight:700;letter-spacing:.1em}.ess2-ai-info-list{display:grid}.ess2-ai-info-list>div{display:flex;justify-content:space-between;gap:.8rem;padding:.62rem 0;border-bottom:1px solid rgba(148,163,184,.12)}.ess2-ai-info-list>div:last-child{border-bottom:none}.ess2-ai-info-list span{color:#8ea3bc;font-size:.78rem}.ess2-ai-info-list strong{color:#f4f8fc;font-size:.84rem;font-weight:700;text-align:right}.ess2-ai-info-list strong.red{color:#ff5402}.ess2-ai-info-list strong.orange{color:#ff8a12}.ess2-ai-info-list strong.yellow{color:#ffb61a}.ess2-ai-info-list strong.green{color:#31ce12}.ess2-ai-info-list strong.unknown{color:#b3b3b3}.ess2-ai-rul-sub{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;color:#9fb0c4;font-size:.78rem}.ess2-ai-rul-track{position:relative;height:2.45rem;margin-bottom:.3rem}.ess2-ai-rul-axis,.ess2-ai-rul-band{position:absolute;top:1rem;height:.4rem;border-radius:999px}.ess2-ai-rul-axis{left:0;right:0;background:#1e293beb}.ess2-ai-rul-band{background:linear-gradient(90deg,#3b82f659,#3b82f6db)}.ess2-ai-rul-marker{position:absolute;top:.66rem;width:.18rem;height:1.1rem;transform:translate(-50%);border-radius:999px}.ess2-ai-rul-marker.current{background:#f8fbff;box-shadow:0 0 0 4px #60a5fa24}.ess2-ai-rul-marker.eol{background:#94a3b8a6}.ess2-ai-rul-labels{display:flex;justify-content:space-between;color:#8ea3bc;font-size:.72rem}.ess2-ai-anomaly-list{display:grid;gap:.55rem}.ess2-ai-anomaly-list .ess2-detail-ai-list-row{align-items:flex-start;padding:.68rem .75rem;border:1px solid rgba(148,163,184,.1);border-radius:.7rem;background:#1e293ba3}.ess2-ai-factor-bars{display:grid;gap:.55rem}.ess2-ai-factor-bars+.ess2-ai-factor-bars{margin-top:.95rem}.ess2-ai-factor-bars-title{color:#8ea3bc;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.ess2-ai-factor-bar-item{display:grid;gap:.35rem}.ess2-ai-factor-bar-top{display:flex;justify-content:space-between;gap:1rem;color:#d7e3ef;font-size:.8rem}.ess2-ai-factor-bar-top>span{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.ess2-ai-factor-bar-top>span svg{flex:0 0 auto;color:#cbd5e1;font-size:.78rem}.ess2-ai-factor-bar-top strong{font-size:.8rem;font-weight:800}.ess2-ai-factor-bar-top strong.neg{color:#ee4e34}.ess2-ai-factor-bar-top strong.pos{color:#31ce12}.ess2-ai-factor-bar-top strong.neutral{color:#cbd5e1}.ess2-ai-factor-track{height:.28rem;overflow:hidden;border-radius:999px;background:#1e293be6}.ess2-ai-factor-fill{height:100%;border-radius:inherit}.ess2-ai-factor-fill.neg{background:#ee4e34}.ess2-ai-factor-fill.pos{background:#31ce12}.ess2-ai-factor-fill.neutral{background:#94a3b8}.ess2-detail-home-head{display:flex;align-items:center;gap:.65rem;margin-bottom:.95rem}.ess2-detail-home-icon{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;font-size:.82rem;font-weight:800;letter-spacing:.04em;color:#f8fbff;background:#94a3b82e}.ess2-detail-home-icon svg{width:.95rem;height:.95rem}.ess2-detail-home-icon.blue{background:#60a5fa38;color:#93c5fd}.ess2-detail-home-icon.green{background:#4ade8033;color:#86efac}.ess2-detail-home-icon.yellow{background:#facc1533;color:#fde047}.ess2-detail-home-icon.red{background:#f8717138;color:#fca5a5}.ess2-detail-home-icon.orange{background:#fb923c38;color:#fdba74}.ess2-detail-home-icon.teal{background:#2dd4bf38;color:#5eead4}.ess2-detail-home-icon.violet{background:#c084fc3d;color:#d8b4fe}.ess2-detail-home-title{margin:0;font-size:1rem;font-weight:700;letter-spacing:-.02em}.ess2-detail-home-body{display:grid;gap:.9rem}.ess2-detail-metric-columns{display:flex;align-items:stretch;gap:.85rem}.ess2-detail-metric-columns>.ess2-detail-metric{flex:1 1 0}.ess2-detail-metric-divider{width:1px;background:#94a3b829}.ess2-detail-metric-grid{display:grid;gap:.75rem}.ess2-detail-metric-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ess2-detail-metric-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ess2-detail-metric{display:grid;gap:.22rem}.ess2-detail-metric span{color:#8ea3bc;font-size:.76rem}.ess2-detail-metric strong{color:#f4f8fc;font-size:1rem;font-weight:700}.ess2-detail-metric small{color:#9fb0c4;font-size:.73rem}.ess2-detail-progress{width:100%;height:.34rem;overflow:hidden;border-radius:999px;background:#1e293bdb}.ess2-detail-progress-fill{height:100%;border-radius:inherit;background:#60a5fa}.ess2-soh-fill,.ess2-distribution-fill,.ess2-detail-progress-fill,.ess2-detail-segment-fill{transition:width .22s ease,background .22s ease,filter .22s ease}.ess2-shell:not(.animations-off) .ess2-soh-fill,.ess2-shell:not(.animations-off) .ess2-distribution-fill,.ess2-shell:not(.animations-off) .ess2-detail-progress-fill,.ess2-shell:not(.animations-off) .ess2-detail-segment-fill{animation:ess2-fill-glow 2.4s ease-in-out infinite}.ess2-shell.animations-off .ess2-soh-fill,.ess2-shell.animations-off .ess2-distribution-fill,.ess2-shell.animations-off .ess2-detail-progress-fill,.ess2-shell.animations-off .ess2-detail-segment-fill,.ess2-shell.animations-off .ess2-module-line{animation:none;transition:none}@keyframes ess2-fill-glow{0%,to{filter:saturate(1) brightness(1)}50%{filter:saturate(1.12) brightness(1.08)}}@keyframes ess2-line-pulse{0%,to{opacity:.86}50%{opacity:1}}.ess2-detail-progress-fill.blue{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.ess2-detail-progress-fill.green{background:linear-gradient(90deg,#4ade80,#22c55e)}.ess2-detail-progress-fill.yellow{background:linear-gradient(90deg,#fde047,#eab308)}.ess2-detail-progress-fill.red{background:linear-gradient(90deg,#fb7185,#ef4444)}.ess2-detail-progress-fill.orange{background:linear-gradient(90deg,#fb923c,#f97316)}.ess2-detail-progress-fill.teal{background:linear-gradient(90deg,#5eead4,#14b8a6)}.ess2-detail-progress-fill.violet{background:linear-gradient(90deg,#d8b4fe,#a855f7)}.ess2-detail-pack-block,.ess2-detail-stress-block{display:grid;gap:.55rem}.ess2-detail-segment-indicator{display:grid;gap:.38rem}.ess2-detail-segment-value{color:#f4f8fc;font-size:.9rem;font-weight:700}.ess2-detail-segment-bars{display:flex;align-items:stretch;gap:.25rem}.ess2-detail-segment-cell{position:relative;flex:1 1 0;height:.34rem}.ess2-detail-segment-track{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#1e293bdb}.ess2-detail-segment-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.ess2-detail-segment-labels{display:flex;align-items:flex-start;gap:.25rem}.ess2-detail-segment-labels span{flex:1 1 0;color:#94a3b8;font-size:.72rem;line-height:1.3}.ess2-detail-segment-labels span.active{font-weight:700}.ess2-detail-segment-labels.variable span{min-width:0}.ess2-detail-card-copy{margin:0;color:#d7e3ef;font-size:.84rem;line-height:1.55}.ess2-detail-section-title{color:#8ea3bc;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ess2-detail-ai-list{display:grid;gap:.55rem}.ess2-detail-ai-list-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem;padding:.65rem 0;border-bottom:1px solid rgba(148,163,184,.1)}.ess2-detail-ai-list-row.reason,.ess2-detail-ai-list-row.factor{justify-content:flex-start}.ess2-detail-ai-row-icon{display:inline-flex;flex:0 0 2rem;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.56rem;background:#f2f2f214;color:#cbd5e1}.ess2-detail-ai-row-icon svg{width:1rem;height:1rem}.ess2-detail-ai-row-copy{display:grid;flex:1 1 auto;min-width:0;gap:.16rem}.ess2-detail-ai-list-row strong,.ess2-detail-ai-row-copy strong{color:#f4f8fc;font-size:.84rem}.ess2-detail-ai-list-row span,.ess2-detail-ai-row-copy span{color:#9fb0c4;font-size:.79rem}.ess2-detail-ai-list-row>span:not(.ess2-detail-ai-row-icon){text-align:right}.ess2-detail-ai-list-row .ess2-detail-ai-row-icon{color:#cbd5e1}.ess2-detail-scale-row{display:grid;gap:.4rem}.ess2-detail-scale-head{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.ess2-detail-scale-head span{color:#8ea3bc;font-size:.76rem}.ess2-detail-scale-head strong{color:#f4f8fc;font-size:.92rem;font-weight:700}.ess2-detail-scale-row small{color:#9fb0c4;font-size:.72rem}.ess2-detail-inline-meta{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:#9fb0c4;font-size:.76rem}.ess2-detail-inline-meta strong{color:#f4f8fc;font-weight:700}.ess2-detail-state-message{display:inline-flex;align-items:center;padding:.55rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600}.ess2-detail-state-message.normal{background:#22c55e24;color:#86efac}.ess2-detail-ai-learning{display:grid;gap:.6rem}.ess2-detail-toggle-row{display:inline-flex;gap:.45rem;flex-wrap:wrap}.ess2-toggle-chip{border:1px solid rgba(148,163,184,.18);background:#1e293bcc;color:#9fb0c4;font-size:.76rem;font-weight:600;padding:.36rem .68rem;border-radius:999px;cursor:pointer}.ess2-toggle-chip.active{color:#f8fbff;border-color:#60a5fa73;background:#2563eb42}.ess2-detail-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ess2-detail-title{margin:.4rem 0 0;font-size:1.6rem;font-weight:800}.ess2-detail-badges{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}.ess2-detail-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.ess2-kv-list{margin-top:1rem;display:grid;gap:.75rem}.ess2-kv-list.compact{gap:.4rem}.ess2-kv-list>div{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.6rem;border-bottom:1px solid rgba(148,163,184,.12)}.ess2-tag-list{display:flex;flex-wrap:wrap;gap:.55rem}.ess2-tag{display:inline-flex;align-items:center;padding:.38rem .7rem;border-radius:999px;background:#1e293be0;border:1px solid rgba(148,163,184,.16);color:#dbe7f3;font-size:.8rem;text-transform:capitalize}@media (max-width: 1120px){.ess2-detail-home-card{min-width:calc(50% - .5rem)}.ess2-detail-home-card.full-width{min-width:100%}}@media (max-width: 760px){.ess2-detail-home-card{min-width:100%}.ess2-detail-metric-columns{display:grid;grid-template-columns:1fr}.ess2-detail-metric-divider{display:none}.ess2-detail-metric-grid.cols-2,.ess2-detail-metric-grid.cols-3{grid-template-columns:1fr}}.ess2-monitor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.ess2-monitor-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ess2-calendar-grid,.ess2-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.ess2-report-summary-card{position:relative;min-width:0;padding:1rem 1.05rem;overflow:hidden;border-radius:1rem;border:1px solid rgba(148,163,184,.14);background:linear-gradient(180deg,#1a2130f0,#0f172ad1)}.ess2-report-summary-card:before{content:"";position:absolute;inset:0 0 auto 0;height:.22rem;background:#64748b}.ess2-report-summary-card.warning:before{background:#f97316}.ess2-report-summary-card.critical:before{background:#ef4444}.ess2-report-summary-card.normal:before{background:#22c55e}.ess2-report-summary-card.accent:before{background:#38bdf8}.ess2-report-summary-card span{display:block;color:#8ea3bc;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ess2-report-summary-card strong{display:block;margin-top:.48rem;color:#f8fbff;font-size:1.45rem;font-weight:850;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-report-summary-card small{display:block;min-height:1rem;margin-top:.28rem;color:#7e90a8;font-size:.76rem}.ess2-replacement-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin-top:1rem}.ess2-replacement-window{min-width:0;padding:.95rem;border-radius:1rem;border:1px solid rgba(148,163,184,.14);background:#0f172ac7}.ess2-replacement-window.critical{border-color:#ef444447;background:linear-gradient(180deg,#450a0a52,#0f172ac7)}.ess2-replacement-window.warning{border-color:#f9731642;background:linear-gradient(180deg,#7c2d1238,#0f172ac7)}.ess2-replacement-window.watch{border-color:#eab30838;background:linear-gradient(180deg,#713f122e,#0f172ac7)}.ess2-replacement-window.info{border-color:#38bdf833}.ess2-replacement-window.normal{border-color:#22c55e2e}.ess2-replacement-window.muted{border-color:#64748b2e}.ess2-replacement-window-head,.ess2-replacement-window-cost{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.ess2-replacement-window-head span,.ess2-replacement-window-cost span{min-width:0;color:#8ea3bc;font-size:.78rem;font-weight:700}.ess2-replacement-window-head strong{color:#f8fbff;font-size:1.35rem;font-weight:850}.ess2-replacement-window-cost{margin-top:.5rem;padding-top:.55rem;border-top:1px solid rgba(148,163,184,.1)}.ess2-replacement-window-cost strong{color:#dce7f3;font-size:.82rem;font-weight:800;white-space:nowrap}.ess2-calendar-card,.ess2-budget-card,.ess2-subpanel{padding:1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:#0f172ac7}.ess2-calendar-title{color:#9bb0c8;font-size:.8rem}.ess2-calendar-count{margin-top:.45rem;font-size:1.6rem;font-weight:800}.ess2-calendar-sites,.ess2-site-pill-row{display:flex;flex-wrap:wrap;gap:.55rem}.ess2-calendar-sites{margin-top:.85rem}.ess2-calendar-empty{color:#8195ae;font-size:.84rem}.ess2-site-pill{display:inline-flex;align-items:center;padding:.42rem .75rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#1e293bad;color:#eef6ff;cursor:pointer;font-size:.8rem;font-weight:700}.ess2-site-pill:hover{border-color:#3dd6a738;background:#122334e6}.ess2-strategy-group{display:flex;flex-wrap:wrap;gap:.6rem}.ess2-strategy-button{padding:.65rem .95rem;border-radius:999px;border:1px solid rgba(148,163,184,.18);background:#0f172ab8;color:#d9e5f2;cursor:pointer;font-weight:700}.ess2-strategy-button.active{color:#08101a;border-color:#38bdf838;background:linear-gradient(135deg,#1a8cff,#3ad0a7)}.ess2-budget-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.ess2-budget-planner{display:grid;grid-template-columns:minmax(15rem,.42fr) minmax(0,1fr);gap:1rem;margin-top:1rem}.ess2-budget-scenario-panel,.ess2-budget-detail-panel{min-width:0}.ess2-budget-scenario-panel{padding:1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.15);background:#0f172ac7}.ess2-budget-detail-panel{display:grid;gap:.85rem}.ess2-report-assumption-list{display:grid;gap:.5rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(148,163,184,.12)}.ess2-report-assumption-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.ess2-report-assumption-list span{color:#8ea3bc;font-size:.78rem}.ess2-report-assumption-list strong{color:#f8fbff;font-size:.82rem;white-space:nowrap}.ess2-budget-card.accent{background:linear-gradient(180deg,#123752db,#0f172ad1);border-color:#38bdf833}.ess2-monitor-card{padding:.95rem 1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.14);background:#0f172ad1}.ess2-monitor-card.accent{background:linear-gradient(180deg,#123752db,#0f172ad1);border-color:#38bdf82e}.ess2-monitor-label{color:#8ea3bc;font-size:.82rem}.ess2-monitor-value{margin-top:.4rem;font-size:1.4rem;font-weight:800}.ess2-monitor-meta{margin-top:.45rem;color:#a9bbcf;font-size:.82rem;line-height:1.45}.ess2-recommendation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.ess2-module-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.ess2-live-trend-panel{margin-top:1rem}.ess2-module-card{padding:1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:#0f172acc}.ess2-module-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ess2-module-title{font-weight:800}.ess2-module-subtitle{margin-top:.2rem;color:#8ea3bc;font-size:.8rem}.ess2-module-soc{font-size:1.2rem;font-weight:800;color:#f8fbff}.ess2-module-chart-block{margin-top:.85rem;padding:.7rem;border-radius:.85rem;border:1px solid rgba(148,163,184,.12);background:#02061752}.ess2-module-chart-meta{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;color:#8ea3bc;font-size:.72rem;font-weight:700;letter-spacing:.02em}.ess2-module-chart{margin-top:.75rem;width:100%;height:7rem;display:block}.ess2-module-gridline{stroke:#94a3b81f;stroke-width:1}.ess2-module-line{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.ess2-shell:not(.animations-off) .ess2-module-line{animation:ess2-line-pulse 2.8s ease-in-out infinite}.ess2-module-line.soc{stroke:#34d399}.ess2-module-line.temp{stroke:#f97316}.ess2-module-line.voltage{stroke:#60a5fa}.ess2-module-line.current{stroke:#fbbf24}.ess2-module-series-list{margin-top:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem 1rem}.ess2-module-series-row{display:grid;grid-template-columns:auto minmax(4.25rem,1fr) auto;align-items:baseline;gap:.35rem;min-width:0}.ess2-module-series-dot{width:.48rem;height:.48rem;border-radius:999px;box-shadow:0 0 0 3px #94a3b814}.ess2-module-series-dot.soc{background:#34d399}.ess2-module-series-dot.temp{background:#f97316}.ess2-module-series-dot.voltage{background:#60a5fa}.ess2-module-series-dot.current{background:#fbbf24}.ess2-module-series-name{min-width:0;color:#a7b7cc;font-size:.77rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-module-series-row strong{color:#f8fbff;font-size:.8rem;font-weight:800;white-space:nowrap}.ess2-module-series-row small{grid-column:2 / 4;color:#71849c;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ess2-module-metrics{margin-top:.85rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1rem}.ess2-module-metrics>div{display:grid;gap:.25rem}.ess2-module-metrics span{color:#8ea3bc;font-size:.78rem}.ess2-module-metrics strong{color:#eff7ff}.ess2-recommendation-card{padding:1rem;border-radius:1rem;border:1px solid rgba(148,163,184,.16);background:#0f172ac7}.ess2-recommendation-card.enhanced{display:grid;gap:.9rem}.ess2-recommendation-card.enhanced.critical{border-color:#ef44443d}.ess2-recommendation-card.enhanced.warning{border-color:#f9731638}.ess2-recommendation-card.enhanced.info{border-color:#38bdf833}.ess2-recommendation-card.enhanced.normal{border-color:#22c55e2e}.ess2-recommendation-card h4{margin:0;font-size:.95rem}.ess2-recommendation-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ess2-recommendation-card p{margin:0;color:#9db0c6;line-height:1.55;min-height:4.5rem}.ess2-recommendation-card.enhanced p{min-height:0}.ess2-recommendation-count{min-width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;margin-top:0;border-radius:999px;background:#1e293be6;color:#f8fbff;font-size:.92rem;font-weight:850}.ess2-recommendation-card strong{display:block;margin-top:.8rem;color:#eef7ff}.ess2-recommendation-card .ess2-recommendation-count{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;margin-top:0;line-height:1;text-align:center}.ess2-recommendation-basis{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.7rem;border-top:1px solid rgba(148,163,184,.12);color:#9db0c6;font-size:.84rem}.ess2-recommendation-basis strong{margin-top:0}.ess2-setting-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid rgba(148,163,184,.1)}.ess2-setting-label{font-weight:700}.ess2-setting-hint{margin-top:.25rem;color:#7f94ad;font-size:.84rem}.ess2-setting-control{min-width:10rem;display:flex;justify-content:flex-end}.ess2-input,.ess2-select{min-width:8rem;padding:.65rem .8rem}.ess2-switch{width:3.2rem;padding:.2rem;border:none;border-radius:999px;background:#334155f2;cursor:pointer}.ess2-switch span{display:block;width:1.45rem;height:1.45rem;border-radius:999px;background:#d7e3ef;transform:translate(0);transition:transform .15s ease}.ess2-switch.on{background:linear-gradient(135deg,#1a8cff,#33cfa2)}.ess2-switch.on span{transform:translate(1.35rem);background:#08101a}.ess2-primary-button,.ess2-ghost-button{padding:.7rem 1rem;border-radius:999px;font:inherit;cursor:pointer;font-weight:700}.ess2-primary-button{border:1px solid rgba(56,189,248,.2);background:linear-gradient(135deg,#188dff,#3cd1a8);color:#07111b}.ess2-ghost-button{border:1px solid rgba(148,163,184,.18);background:#0f172ab8;color:#eef6ff}.ess2-threshold-actions{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.ess2-saved-message{color:#7df0c8;font-size:.92rem}.ess2-readonly-note,.ess2-inline-message{padding:.85rem 1rem;border-radius:1rem;background:#0f172abd;border:1px solid rgba(148,163,184,.14);color:#a7bbd2}.ess2-inline-message.error{color:#fecaca;border-color:#f8717140;background:#450a0a52}.ess2-loading-card{margin:2rem;padding:1.5rem}@media (max-width: 1180px){.ess2-shell{grid-template-columns:1fr;grid-template-rows:auto auto minmax(0,1fr)}.ess2-sidebar{grid-row:2;border-right:none;border-bottom:1px solid rgba(148,163,184,.12)}.ess2-main{grid-row:3}.ess2-topbar{padding-top:.75rem;padding-bottom:.75rem;flex-direction:column;align-items:stretch}.ess2-topbar-left,.ess2-topbar-right{flex-wrap:wrap}.ess2-main-grid,.ess2-stat-grid,.ess2-detail-stat-grid,.ess2-calendar-grid,.ess2-report-summary-grid,.ess2-replacement-timeline,.ess2-budget-planner,.ess2-budget-grid,.ess2-panel-grid,.ess2-panel-grid.three-up,.ess2-detail-grid,.ess2-trends-top-grid,.ess2-monitor-grid,.ess2-monitor-grid.compact,.ess2-control-main-grid,.ess2-roi-main-grid,.ess2-roi-chart-grid,.ess2-warranty-main-grid,.ess2-safety-category-grid,.ess2-safety-timeline,.ess2-maintenance-layout,.ess2-recommendation-grid,.ess2-module-grid{grid-template-columns:1fr}.ess2-trends-summary-strip,.ess2-report-summary-grid,.ess2-replacement-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.ess2-login-page{padding:1rem}.ess2-login-card{grid-template-columns:1fr;min-height:0}.ess2-login-intro,.ess2-login-form{padding:1.5rem}.ess2-content{padding-left:1rem;padding-right:1rem}.ess2-page-header,.ess2-ai-summary-card-head,.ess2-topbar-left,.ess2-topbar-right,.ess2-topbar{flex-direction:column;align-items:stretch}.ess2-ai-summary-grid,.ess2-module-grid,.ess2-module-series-list{grid-template-columns:1fr}.ess2-topbar-site-button{min-width:0;max-width:none}.ess2-topbar-divider,.ess2-topbar-badge{display:none}.ess2-section-header,.ess2-recommendation-header,.ess2-audit-panel-header,.ess2-detail-hero,.ess2-priority-main,.ess2-response-row{flex-direction:column;align-items:flex-start}.ess2-site-list,.ess2-placeholder-grid{grid-template-columns:1fr}.ess2-alert-card{grid-template-columns:2.5rem minmax(0,1fr)}.ess2-alert-card-meta{grid-column:1 / -1;justify-items:start;min-width:0}.ess2-setting-row{grid-template-columns:1fr}.ess2-setting-control{justify-content:flex-start}.ess2-trends-summary-strip,.ess2-report-summary-grid,.ess2-replacement-timeline{grid-template-columns:1fr}.ess2-trends-chart-wrap,.ess2-trends-wide-chart{height:14rem}.ess2-control-action-row span{font-size:.6rem}.ess2-control-soc-chart{height:11rem}.ess2-control-savings-chart{grid-template-columns:2.7rem minmax(0,1fr)}.ess2-control-savings-plot{gap:.45rem}.ess2-control-radar-wrap{min-height:13rem}.ess2-roi-mix-layout{grid-template-columns:1fr}.ess2-safety-timeline{margin-left:0;margin-right:0}.ess2-safety-timeline-item{border-right:0;border-bottom:1px solid rgba(148,163,184,.09)}.ess2-safety-timeline-item:last-child{border-bottom:0}.ess2-audit-filter-row label,.ess2-audit-filter-row button{width:100%}.ess2-maintenance-ticket-top,.ess2-maintenance-ticket-footer{align-items:flex-start}.ess2-maintenance-ticket-time,.ess2-maintenance-actions,.ess2-maintenance-schedule{width:100%;margin-left:0;text-align:left}}
