:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#1d7dff;--accent-bg:#1d7dff;--accent-border:#4d9bff;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#2f8dff;--accent-bg:#2f8dff;--accent-border:#64abff;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0;overflow-x:hidden}*,:before,:after{box-sizing:border-box}#root{text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:none;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app{place-items:center;min-height:100svh;padding:24px;display:grid}.card{border:1px solid var(--border);text-align:left;background:color-mix(in srgb, var(--bg), #fff 8%);width:100%;max-width:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent), transparent 92%), 0 10px 28px #00000029;border-radius:14px;padding:24px}.app-shell{width:100%;max-width:none;min-height:100svh;margin:0 auto;padding:18px;overflow-x:clip}.topbar{border:1px solid var(--border);background:color-mix(in srgb, var(--bg), transparent 6%);z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 14px;display:flex;position:sticky;top:10px;box-shadow:0 8px 24px #00000029}a,button,input,select,textarea{touch-action:manipulation}button svg,a svg,[role=button] svg{pointer-events:none}.brand-block{min-width:0;color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}button.brand-block{appearance:none;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;margin:0;padding:0}.brand-car{object-fit:contain;background:color-mix(in srgb, var(--bg), #fff 6%);border:1px solid var(--border);border-radius:8px;width:76px;height:44px;padding:2px 4px}.brand{min-width:0}.brand strong{overflow-wrap:anywhere;color:var(--text);font-size:13px}.topbar-actions{align-items:center;gap:10px;display:flex}.vehicle-switcher{gap:4px;min-width:180px;display:grid}.vehicle-switcher span{color:var(--muted);font-size:12px;line-height:1}.vehicle-switcher select{padding:7px 10px;font-size:13px}@media (hover:none) and (pointer:coarse){input,select,textarea{font-size:16px}}.topbar nav{flex-wrap:nowrap;gap:0;display:flex}.primary-nav{border:1px solid var(--border);background:color-mix(in srgb, var(--bg), #fff 4%);border-radius:12px;padding:4px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.topbar .primary-nav .primary-nav-btn{z-index:1;color:var(--text);letter-spacing:.01em;text-align:center;appearance:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:1 1 0;margin:0;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:color .14s,background-color .14s,transform .2s;position:relative}.topbar .primary-nav .primary-nav-btn:hover{color:var(--text-h);background:color-mix(in srgb, var(--bg), #fff 8%)}.topbar .primary-nav .primary-nav-btn.active{color:#fff;border-color:color-mix(in srgb, var(--accent), #fff 20%);background:linear-gradient(180deg, color-mix(in srgb, var(--accent), #fff 14%) 0%, var(--accent) 100%);animation:.22s ease-out navActivePop}@keyframes navActivePop{0%{transform:scale(.97)}to{transform:scale(1)}}.menu-toggle{justify-content:center;align-items:center;width:48px;height:42px;padding:0;display:none}.menu-toggle svg{width:22px;height:22px}.ghost-btn{color:var(--text-h);border:1px solid var(--border);background:0 0;border-radius:10px;font-weight:500}.ghost-btn:hover{border-color:var(--accent-border)}.ghost-btn--icon{justify-content:center;align-items:center;width:40px;height:40px;padding:0;display:inline-flex}.ghost-btn--icon svg{width:18px;height:18px}.ghost-btn--danger{color:#fecaca;background:#7f1d1d33;border-color:#f8717173}.ghost-btn--danger:hover{background:#991b1b52;border-color:#f87171cc}.ghost-btn--edit{color:#bfdbfe;background:#1e40af33;border-color:#60a5fa80}.ghost-btn--edit:hover{background:#2563eb4d;border-color:#60a5fad9}.brand .eyebrow{letter-spacing:.02em;text-transform:none;color:var(--text-h);font-size:22px;font-weight:700;line-height:1.05}.page{display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0;font-size:12px}h1{margin:8px 0 12px;font-size:32px}.subtitle{margin:0 0 20px}.auth-form{gap:10px;margin-bottom:12px;display:grid}.settings-form{gap:14px;display:grid}.settings-group{border:1px solid var(--border);background:linear-gradient(#0f172a73,#02061747);border-radius:12px;gap:10px;padding:12px;display:grid}.settings-group h2{margin:0;font-size:15px}.settings-field{gap:6px;display:grid}.settings-field span{color:var(--text);font-size:12px}.settings-footer{gap:10px;display:grid}.settings-inline-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (width<=520px){.settings-inline-row{grid-template-columns:1fr}}.settings-field--check{flex-direction:row;align-items:flex-start;gap:10px;display:flex}.settings-field--check input[type=checkbox]{width:auto;margin-top:3px}label{font-size:14px}input,select,button{font:inherit;border-radius:8px}input,select{border:1px solid var(--border);color:var(--text-h);background:var(--bg);padding:10px 12px}button{border:1px solid var(--accent-border);background:var(--accent);color:#fff;cursor:pointer;padding:10px 14px}button:hover{filter:brightness(1.06)}.status{margin:10px 0 0;font-size:14px}.status-block{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.success{color:#1f9d55}.error{color:#e5484d}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.dashboard{gap:12px;display:grid}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-kpis>.stat-card{min-width:0}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (width>=1400px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}.chart-card h2,.best-worst-card h2{margin:0 0 8px;font-size:18px;line-height:1.2}.card-title--with-info{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-title--with-info>span{align-items:center;gap:6px;min-width:0;display:inline-flex}.info-icon-btn,.card-title__info-btn,.stat-card__info-btn{border:1px solid color-mix(in srgb, var(--border), transparent 20%);background:color-mix(in srgb, var(--bg), #fff 6%);width:26px;height:26px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:border-color .14s,color .14s,background-color .14s;display:inline-flex}.card-title__info-btn{flex:none}.info-icon-btn:hover,.card-title__info-btn:hover,.stat-card__info-btn:hover{border-color:var(--accent-border);color:var(--text-h);background:color-mix(in srgb, var(--bg), #fff 10%)}.info-icon-btn svg,.card-title__info-btn svg,.stat-card__info-btn svg{width:15px;height:15px}.chart-card{background:linear-gradient(180deg, color-mix(in srgb, var(--bg), #fff 10%) 0%, color-mix(in srgb, var(--bg), #000 2%) 100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent), transparent 90%), inset 0 1px 0 #ffffff0a, 0 10px 24px #0000001f;border-radius:12px;padding:16px 16px 12px}.chart-card .card-title{margin-bottom:6px}.chart-card .recharts-cartesian-grid line{opacity:.3}.chart-card .recharts-tooltip-wrapper{outline:none}.chart-card .recharts-default-tooltip{border:1px solid color-mix(in srgb, var(--border), #fff 10%)!important;background:color-mix(in srgb, var(--bg), #0b1220 16%)!important;border-radius:10px!important;padding:10px 12px!important;box-shadow:0 10px 26px #00000047!important}.chart-card .recharts-tooltip-label{color:var(--text-h)!important;margin-bottom:6px!important;font-size:12px!important}.chart-card .recharts-default-tooltip .recharts-tooltip-item{font-size:12px!important;font-weight:600!important}.card-title{align-items:center;gap:8px;display:inline-flex}.card-title svg{width:18px;height:18px;color:var(--accent)}.best-worst-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.best-title,.worst-title{align-items:center;gap:6px;margin:0 0 4px;font-size:18px;line-height:1.2;display:inline-flex}.best-title{color:#7efc62}.worst-title{color:#ff6b63}.best-value,.worst-value{margin:0 0 4px;font-size:40px;font-weight:700;line-height:1.05}.best-value{color:#7efc62}.worst-value{color:#ff3b30}.best-value span,.worst-value span{color:var(--text-h);margin-left:6px;font-size:18px;font-weight:500}.best-worst-stars{min-height:14px;margin:0 0 6px}.best-meta{color:var(--text);margin:2px 0;font-size:16px}.dashboard-headline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 2px;display:flex}.dashboard-data-span{margin:-2px 0 10px}.dashboard-monthly-insight{flex-wrap:wrap;align-items:baseline;gap:0 6px;max-width:72ch;margin:0 0 12px;line-height:1.35;display:flex}.dashboard-monthly-insight__item{white-space:nowrap;display:inline-block}.dashboard-monthly-insight__lead{flex-basis:100%}.dashboard-monthly-insight__value{white-space:nowrap}@media (width<=700px){.dashboard-monthly-insight{gap:2px;display:grid}.dashboard-monthly-insight__lead,.dashboard-monthly-insight__item{display:block}.dashboard-monthly-insight__sep{display:none}}.dashboard-action-btn{border:1px solid var(--accent-border);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:10px 14px;text-decoration:none;display:inline-flex}.dashboard-action-btn:hover{filter:brightness(1.06)}.dashboard-action-btn--secondary{border-color:var(--border);background:color-mix(in srgb, var(--bg), #fff 10%);color:var(--text-h)}.dashboard-action-btn--secondary:hover:not(:disabled){filter:brightness(1.08);border-color:var(--accent-border)}.dashboard-action-btn--secondary:disabled{opacity:.45;cursor:not-allowed}@media (width>=701px){.dashboard-actions{gap:8px}.dashboard-action-btn{border-radius:7px;gap:5px;padding:7px 12px;font-size:13px}}.chart-card-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:4px;display:flex}.band-mode-toggle{border:1px solid var(--border);background:#0f172a59;border-radius:10px;display:inline-flex;overflow:hidden}.band-mode-toggle__btn{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:0;padding:6px 12px;font-size:12px;font-weight:600}.band-mode-toggle__btn:hover:not(.band-mode-toggle__btn--active){filter:brightness(1.12)}.band-mode-toggle__btn--active{background:color-mix(in srgb, var(--accent), transparent 55%);color:#fff}.kpi-progress{border:1px solid color-mix(in srgb, var(--border), transparent 30%);background:#0f172a8c;border-radius:999px;height:8px;overflow:hidden}.kpi-progress__fill{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--accent), #22c55e 35%), var(--accent));height:100%;transition:width .2s}.kpi-progress__fill--over{background:linear-gradient(90deg,#f97316,#ef4444)}.range-filter{border:1px solid var(--border);background:color-mix(in srgb, var(--bg), #fff 4%);border-radius:10px;gap:4px;padding:4px;display:inline-flex}.range-filter button{color:var(--text);background:0 0;border:1px solid #0000;padding:6px 10px;font-size:12px;font-weight:600}.range-filter button.active{color:#fff;border-color:color-mix(in srgb, var(--accent), #fff 20%);background:linear-gradient(180deg, color-mix(in srgb, var(--accent), #fff 14%) 0%, var(--accent) 100%)}.custom-date-row{flex-wrap:wrap;gap:10px;margin:8px 0 0;display:flex}.custom-date-row label{color:var(--text);gap:4px;font-size:12px;display:grid}.custom-date-row input[type=date]{min-width:150px}.stat-card{border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--bg), #fff 10%) 0%, color-mix(in srgb, var(--bg), #000 1%) 100%);min-height:128px;box-shadow:inset 0 1px #ffffff0a;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent), transparent 94%), inset 0 1px 0 #ffffff0a;border-radius:10px;flex-direction:column;gap:6px;padding:12px;display:flex;position:relative}.stat-card p{margin:0 0 6px;font-size:12px}.stat-card .kpi-label{color:color-mix(in srgb, var(--text), #fff 12%);align-items:center;gap:6px;margin:0;padding-right:28px;font-size:14px;display:inline-flex}.stat-card__info-btn{position:absolute;top:8px;right:8px}.kpi-label svg{width:15px;height:15px;color:var(--accent)}.stat-card.stat-card--primary h3{letter-spacing:-.02em;font-size:clamp(30px,2.75vw,36px);line-height:1.05}.stat-card.stat-card--primary h3.kpi-headline{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:.15em .32em;display:flex}.stat-card.stat-card--primary .kpi-headline__value{font-variant-numeric:tabular-nums}.stat-card.stat-card--primary .kpi-headline__unit{letter-spacing:0;color:color-mix(in srgb, var(--text-h), transparent 12%);font-size:clamp(11px,.5em,16px);font-weight:600;line-height:1.2}.kpi-rating-stars{min-height:14px;margin:6px 0 0}.stat-card--temp-impact{gap:4px;min-height:0;padding:10px}.stat-card--temp-impact>.kpi-label{margin:0}.temp-impact-compare{border:1px solid color-mix(in srgb, var(--border), transparent 25%);border-radius:8px;grid-template-columns:1fr 1fr;margin-top:2px;display:grid;overflow:hidden}.temp-impact-compare__cell{text-align:center;flex-direction:column;align-items:center;gap:3px;padding:8px 8px 7px;display:flex}.temp-impact-compare__cell--cold{border-right:1px solid color-mix(in srgb, var(--border), transparent 30%);background:#38bdf824}.temp-impact-compare__cell--mild{background:#84cc1624}.temp-impact-compare__badge{letter-spacing:.065em;text-transform:uppercase;color:var(--text-h);align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.temp-impact-compare__badge svg{width:13px;height:13px}.temp-impact-compare__cell--cold .temp-impact-compare__badge svg{color:#7dd3fc}.temp-impact-compare__cell--mild .temp-impact-compare__badge svg{color:#bef264}.temp-impact-compare__rule{color:var(--muted);max-width:22ch;margin:0;font-size:11px;line-height:1.15}.temp-impact-compare__metric{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:3px 5px;margin:1px 0 0;display:flex}.temp-impact-compare__figure{letter-spacing:-.03em;color:var(--text-h);font-variant-numeric:tabular-nums;font-size:clamp(22px,2vw,27px);font-weight:600;line-height:1}.temp-impact-compare__unit{color:var(--text);opacity:.9;font-size:12px;font-weight:500}.temp-impact-compare__missing{color:var(--muted);font-size:18px;font-weight:500;line-height:1}.stat-card--temp-impact .temp-impact-summary{border-top:1px solid color-mix(in srgb, var(--border), transparent 40%);color:var(--muted);margin-top:auto;margin-bottom:0;padding-top:6px;font-size:12px;line-height:1.3}.temp-impact-summary__delta{color:#fb923c;font-variant-numeric:tabular-nums}.temp-impact-summary__empty{color:var(--muted);font-style:italic}@media (width<=520px){.temp-impact-compare{grid-template-columns:1fr}.temp-impact-compare__cell--cold{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--border), transparent 35%)}}.stat-subtext{color:var(--text);margin:auto 0 0;font-size:12px}.kpi-gas-baseline{flex-direction:column;gap:4px;min-width:0;margin-top:2px;display:flex}.kpi-gas-baseline__eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.kpi-gas-baseline__amount{color:color-mix(in srgb, var(--text), transparent 6%);font-size:12px;line-height:1.35}.kpi-gas-baseline__amount strong{font-variant-numeric:tabular-nums;color:var(--text-h);font-weight:700}.kpi-gas-baseline__assumption{color:var(--muted);font-size:11px;line-height:1.35}.kpi-gas-baseline__hint{opacity:.92;font-size:10px}.kpi-gas-baseline__save{color:color-mix(in srgb, var(--text), transparent 8%);font-size:12px;line-height:1.35}.comparison-kpi-period{border-top:1px solid color-mix(in srgb, var(--border), transparent 42%);margin-top:auto;padding-top:8px}.comparison-kpi-period>p,.comparison-kpi-period>p:last-child{margin-bottom:0}.comparison-delta{margin:0;font-size:12px;font-weight:600;line-height:1.15}.stat-card--primary .comparison-delta{margin-top:0}.comparison-delta--up{color:#4ade80}.comparison-delta--down{color:#f87171}.comparison-delta--neutral{color:var(--muted)}.comparison-previous{color:var(--muted);margin:1px 0 0;font-size:12px;line-height:1.1}.stat-card h3{color:var(--text-h);font-variant-numeric:tabular-nums;margin:0;font-size:18px;line-height:1.15}.value-positive{color:#7efc62}.value-negative{color:#ff6b63}.stat-card--impact{gap:6px}.sessions{margin-top:14px}.session-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.session-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.session-actions button{min-height:44px}.sessions-page .subtitle{margin-bottom:0}.sessions-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.sessions-page-header__text h1{margin-bottom:6px}.sessions-page-header__action{flex-shrink:0;align-items:center;gap:6px;display:inline-flex}.session-groups{gap:22px;display:grid}.session-date-group__heading{letter-spacing:.02em;color:color-mix(in srgb, var(--muted), #fff 8%);border-bottom:1px solid color-mix(in srgb, var(--border), transparent 35%);margin:0 0 10px;padding-bottom:6px;font-size:13px;font-weight:600}.session-date-group__list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.session-row{border:1px solid color-mix(in srgb, var(--border), transparent 28%);background:#0f172a33;border-radius:12px;transition:background-color .14s,border-color .14s;overflow:hidden}.session-row:hover{border-color:color-mix(in srgb, var(--border), #fff 14%);background:#1e293b57}.session-row__focus{grid-template-columns:minmax(0,1.5fr) auto auto;align-items:center;gap:12px 18px;padding:14px 14px 10px;display:grid}.session-row__efficiency{gap:6px;min-width:0;display:grid}.session-row__efficiency-value{align-items:baseline;gap:.3em;line-height:1.05;display:inline-flex}.session-row__efficiency-number{letter-spacing:-.03em;color:var(--text-h);font-variant-numeric:tabular-nums;font-size:clamp(22px,2.6vw,26px);font-weight:700}.session-row__efficiency-unit{letter-spacing:0;color:color-mix(in srgb, var(--text-h), var(--muted) 32%);white-space:nowrap;font-size:clamp(13px,1.5vw,15px);font-weight:600}.session-row__efficiency-value--muted{color:var(--muted);font-size:clamp(18px,2.2vw,22px);font-weight:600}.session-row__efficiency-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.session-row__charges{text-align:right;grid-template-columns:repeat(2,minmax(76px,auto));justify-items:end;gap:10px 16px;display:grid}.session-row__meta{border-top:1px solid color-mix(in srgb, var(--border), transparent 45%);color:color-mix(in srgb, var(--muted), #fff 4%);background:#0206171f;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:8px 14px 11px;font-size:12px;line-height:1.3;display:flex}.session-row__meta-item{font-variant-numeric:tabular-nums}.session-row__meta-sep{color:color-mix(in srgb, var(--muted), transparent 35%);-webkit-user-select:none;user-select:none}.session-row__meta-item--time{color:color-mix(in srgb, var(--text-h), var(--muted) 45%);font-weight:500}.session-row__badge{color:var(--muted);border:1px solid color-mix(in srgb, var(--border), transparent 20%);background:#64748b1a;border-radius:999px;margin:0;padding:2px 7px;font-size:10px;display:inline-flex}.session-metric{gap:3px;min-width:0;display:grid}.session-metric--primary{gap:2px}.session-metric__value{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600;line-height:1.15;overflow:hidden}.session-metric--primary .session-metric__value{letter-spacing:-.01em;font-size:clamp(16px,1.9vw,18px);font-weight:700}.session-metric--primary .session-metric__label{color:color-mix(in srgb, var(--muted), #fff 6%);font-size:11px;font-weight:500}.session-metric__value--cost{color:#86efac}.session-metric__value--energy{color:#93c5fd}.session-metric__label{color:var(--muted);font-size:11px;line-height:1.2}.session-efficiency-meta{flex-wrap:wrap;align-items:center;gap:6px 8px;display:inline-flex}.session-row__efficiency .rating-stars__on{width:16px;height:16px}.session-row__efficiency .rating-stars__off{width:15px;height:15px}.session-efficiency-status{color:color-mix(in srgb, var(--text-h), var(--muted) 30%);font-size:12px;font-weight:600;line-height:1.2}.session-actions-menu{flex-shrink:0;position:relative}.session-actions-menu__trigger{width:36px;height:36px}.session-actions-menu__dropdown{z-index:30;border:1px solid var(--border);background:color-mix(in srgb, var(--bg), #fff 6%);border-radius:10px;gap:2px;min-width:132px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 12px 28px #02061761}.session-actions-menu__item{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:8px 10px;font-size:13px;font-weight:500}.session-actions-menu__item:hover,.session-actions-menu__item:focus-visible{background:#3b82f624;outline:none}.session-actions-menu__item--danger{color:#fecaca}.session-actions-menu__item--danger:hover,.session-actions-menu__item--danger:focus-visible{background:#7f1d1d47}.sessions-load-more{justify-content:center;margin-top:16px;display:flex}.sessions-load-more__btn{color:var(--muted);align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.sessions-load-more__btn svg{width:16px;height:16px}@media (width<=720px){.sessions-page-header__action{justify-content:center;width:100%}.session-row__focus{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"efficiency menu""charges charges";gap:10px 12px;padding:12px 12px 8px}.session-row__efficiency{grid-area:efficiency}.session-row__charges{text-align:left;grid-area:charges;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:stretch;gap:8px 10px}.session-row .session-actions-menu{grid-area:menu;place-self:start end}.session-row__meta{gap:5px 8px;padding:8px 12px 10px;font-size:11px}}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#050a129e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{width:min(760px,100%);max-height:90svh;overflow:auto}.modal-header{margin-bottom:10px}.modal-card h2{margin:0 0 2px}.kpi-info-modal{border-color:color-mix(in srgb, var(--accent), var(--border) 78%);width:min(640px,100%);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent), transparent 88%), 0 20px 44px #02061775;border-radius:14px;padding:20px 20px 18px}.kpi-info-modal__header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.kpi-info-modal__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--accent), #fff 22%);margin:0 0 5px;font-size:11px;font-weight:700;line-height:1}.kpi-info-modal__header h2{letter-spacing:-.01em;margin:0;font-size:clamp(20px,2.1vw,24px);line-height:1.15}.kpi-info-modal__description{color:var(--text-h);opacity:.92;border-bottom:1px solid color-mix(in srgb, var(--border), transparent 40%);margin:0;padding-bottom:10px;font-size:15px;line-height:1.5}.kpi-info-modal__list{color:var(--text);gap:9px;margin:10px 0 0;padding-left:20px;font-size:15px;line-height:1.45;display:grid}.kpi-info-modal__list li::marker{color:color-mix(in srgb, var(--accent), #fff 20%)}.kpi-info-modal__analysis{border-top:1px dashed color-mix(in srgb, var(--border), transparent 35%);margin-top:12px;padding-top:10px}.kpi-info-modal__analysis-label{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--accent), #fff 18%);margin:0 0 6px;font-size:11px;font-weight:700}.kpi-info-modal__analysis-list{color:var(--text-h);gap:6px;margin:0;padding-left:18px;font-size:14px;line-height:1.4;display:grid}.kpi-info-modal__analysis-list li::marker{color:color-mix(in srgb, var(--accent), #fff 25%)}.kpi-info-modal .ghost-btn--icon{border-radius:10px;width:36px;height:36px}.kpi-info-modal .ghost-btn--icon svg{width:18px;height:18px}@media (width<=700px){.kpi-info-modal{padding:16px}.kpi-info-modal__header h2{font-size:20px}.kpi-info-modal__eyebrow{margin-bottom:4px;font-size:10px}.kpi-info-modal__description{padding-bottom:8px;font-size:14px}.kpi-info-modal__list{gap:7px;font-size:14px}.kpi-info-modal__analysis{margin-top:10px;padding-top:8px}.kpi-info-modal__analysis-label{font-size:10px}.kpi-info-modal__analysis-list{gap:5px;font-size:13px}}.modal-field{gap:6px;display:grid}.modal-field span{color:var(--text);font-size:12px}.modal-field--full{grid-column:1/-1}.sessions h2{margin:0 0 8px;font-size:18px}.vehicle-card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,320px));justify-content:start;gap:14px;margin-top:10px;display:grid}.vehicle-tile{gap:10px;min-height:320px;padding:14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.vehicle-tile:hover{border-color:color-mix(in srgb, var(--accent), var(--border) 70%);transform:translateY(-2px);box-shadow:0 14px 28px #02061747}.vehicle-tile-media{aspect-ratio:1;border:1px solid var(--border);background:linear-gradient(#94a3b81a,#02061733);border-radius:12px;place-items:center;width:100%;max-width:230px;margin:0 auto;display:grid;overflow:hidden}.vehicle-tile-media img{object-fit:contain;width:78%;height:78%}.vehicle-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.vehicle-actions{align-items:center;gap:6px;display:inline-flex}.vehicle-title{margin:0;font-size:18px;font-weight:700}.vehicle-subtitle{color:var(--muted);margin:0;font-size:14px}.vehicle-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;display:grid}.vehicle-meta-grid p{border:1px solid var(--border);background:#0f172a47;border-radius:10px;gap:3px;margin:0;padding:8px 10px;display:grid}.vehicle-meta-grid span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.vehicle-meta-grid strong{font-size:14px;font-weight:600}.undo-toast{z-index:60;border:1px solid var(--border);background:linear-gradient(#0f172af2,#020617f2);border-radius:12px;gap:8px;width:min(420px,100vw - 32px);padding:10px 12px;display:grid;position:fixed;bottom:16px;right:16px;box-shadow:0 18px 40px #02061766}.undo-toast p{margin:0;font-size:13px}.undo-toast-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.update-toast{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:65;border:1px solid color-mix(in srgb, var(--accent), #fff 25%);background:linear-gradient(#1e40afe0,#0f172af5);border-radius:12px;gap:10px;width:min(460px,100vw - 32px);margin:0 auto;padding:12px 14px 14px;display:grid;position:fixed;box-shadow:0 18px 40px #02061773}.update-toast__message{color:#dbeafe;margin:0;font-size:13px;line-height:1.35}.update-toast-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.update-toast__btn{cursor:pointer;border-radius:10px;flex:none;width:auto;min-width:0;margin:0;font-size:14px;font-weight:600;line-height:1.2}.update-toast__btn:disabled{opacity:.65;cursor:not-allowed}.update-toast__btn--primary{white-space:nowrap;border:1px solid color-mix(in srgb, var(--accent-border), #fff 15%);background:var(--accent);color:#fff;padding:9px 16px}.update-toast__btn--primary:hover:not(:disabled){filter:brightness(1.07)}.update-toast__btn--dismiss{white-space:nowrap;color:#e0f2fe;background:#0f172a59;border:1px solid #ffffff38;padding:9px 12px;font-weight:500}.update-toast__btn--dismiss:hover{color:#fff;background:#0f172a8c;border-color:#ffffff61}.rating-stars{align-items:center;gap:1px;display:inline-flex}.rating-stars__on{flex-shrink:0;width:14px;height:14px}.rating-stars--efficiency .rating-stars__on{color:#fbbf24}.rating-stars--weather .rating-stars__on{color:#7dd3fc}.rating-stars__off{width:13px;height:13px;color:color-mix(in srgb, var(--muted), transparent 35%);flex-shrink:0}.rating-stars--na{color:var(--muted);letter-spacing:0;font-size:12px}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;font-size:13px;display:flex}@media (width<=700px){.stats-grid,.dashboard-grid,.best-worst-grid,.session-form{grid-template-columns:1fr}.session-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.session-actions button{justify-content:center;width:100%;padding-inline:10px}}@media (width<=980px){.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=820px){.dashboard-kpis{grid-template-columns:1fr}.temp-impact-compare__badge,.temp-impact-compare__rule,.stat-card--temp-impact .temp-impact-summary,.comparison-delta,.comparison-previous,.rating-stars--na,.vehicle-meta-grid span{font-size:12px}.stat-card.stat-card--primary h3{letter-spacing:-.025em;font-size:clamp(22px,5.8vw,30px)}}@media (width<=1024px){.brand .eyebrow{font-size:19px}.brand-car{width:64px;height:38px}}@media (width<=820px){.topbar{flex-wrap:wrap;align-items:flex-start}.menu-toggle{margin-left:auto;display:inline-flex}.topbar-actions{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:none}.vehicle-switcher{min-width:0}.topbar-actions.open{display:flex}.topbar nav{grid-template-columns:1fr;gap:6px;width:100%;display:grid}.topbar .primary-nav .primary-nav-btn{text-align:center;min-height:44px}.ghost-btn:not(.ghost-btn--icon){width:100%}}@supports (-webkit-touch-callout:none){@media (hover:none) and (pointer:coarse){.app-shell{-webkit-overflow-scrolling:touch;overflow-x:hidden}.topbar{-webkit-backdrop-filter:none;background:color-mix(in srgb, var(--bg), #fff 10%);position:static}.topbar .primary-nav .primary-nav-btn.active{transition:color .14s,background-color .14s;animation:none;transform:none}.modal-backdrop{-webkit-backdrop-filter:none}input,select,textarea{font-size:16px!important}html{-webkit-tap-highlight-color:transparent}}}
