
:root{
  --night:#0e1b1d; --night-2:#15272a; --leaf:#0e7a34; --leaf-2:#3ddc7a; --teal:#1fb89a;
  --wm:linear-gradient(90deg,#3ddc5a 0%,#2fcf6f 55%,#1fb89a 100%);
}

.sidebar{background:linear-gradient(180deg,#0f1d20 0%,#0d181a 100%)!important}
.sidebar .brand img{width:36px!important;height:36px!important;border-radius:0!important}
.sidebar .brand-name b,.tb-brand b{background:var(--wm);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.sidebar .nav.active{background:linear-gradient(90deg,rgba(47,190,99,.26),rgba(47,190,99,.10))!important;color:#48e07f!important}

#dashboard{padding-top:0!important}
#dashboard .hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin:0 -28px 22px;padding:26px 40px;min-height:168px;color:#fff;overflow:hidden;
  background:linear-gradient(90deg,var(--night) 0%,rgba(14,27,29,.92) 34%,rgba(14,27,29,.25) 62%,rgba(14,27,29,.72) 100%),
             url("../assets/photos/hero-wald.jpg") right center/cover no-repeat var(--night)}
.hero-brand{display:flex;align-items:center;gap:20px;min-width:0}
.hero-brand img{width:84px;height:84px;flex:none}
.hero-name{margin:0;font-size:clamp(28px,3.1vw,46px);font-weight:800;letter-spacing:-.02em;line-height:1.05;white-space:nowrap}
.hero-name span{background:var(--wm);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-slogan{margin:8px 0 0;font-size:clamp(15px,1.6vw,21px);font-weight:500;color:#e9f1ee;letter-spacing:.005em}
.hero-claim{margin:0;text-align:right;font-size:clamp(16px,1.6vw,21px);font-weight:800;line-height:1.45;color:#fff;
  text-shadow:0 1px 10px rgba(0,0,0,.45);padding-bottom:12px;position:relative;flex:none}
.hero-claim::after{content:"";position:absolute;right:0;bottom:0;width:78%;height:4px;border-radius:2px;background:var(--leaf)}

.greet-m{display:none}
.greet-row h2{font-size:26px}

.features{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:22px 0 0;padding:20px 8px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.feat[hidden]{display:none}
.feat{display:flex;flex-direction:column;align-items:center;gap:9px;padding:10px 4px;border:0;background:none;border-radius:10px;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--ink);text-align:center;text-decoration:none;cursor:pointer;line-height:1.25}
.feat .fi{width:38px;height:38px;color:var(--g)}
.feat span{hyphens:manual}
@media(min-width:1600px){.features{grid-template-columns:repeat(12,minmax(0,1fr));padding:18px 6px}.feat{font-size:12px}}
.feat:hover{background:var(--g-soft)}
.feat:focus-visible{outline:3px solid #ffc53d;outline-offset:2px}

.photo-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:22px -28px 0;background:#0d181a}
.photo-strip img{display:block;width:100%;height:auto;aspect-ratio:500/218;object-fit:cover}

.site-foot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) auto;gap:28px;align-items:center;
  margin:0 -28px -36px;padding:28px 40px calc(28px + env(safe-area-inset-bottom));background:var(--night);color:#e6efec}
.site-foot{margin-top:28px}
body:has(#dashboard.active) .site-foot{margin-top:0}
.sf-name{margin:0;font-size:clamp(26px,2.3vw,38px);font-weight:800;letter-spacing:-.02em;line-height:1.05;color:#fff}
.sf-name span{background:var(--wm);-webkit-background-clip:text;background-clip:text;color:transparent}
.sf-sub{margin:8px 0 0;font-size:15px;color:#b9c8c3}
.sf-list{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14px}
.sf-list li{display:flex;align-items:flex-start;gap:10px;line-height:1.35}
.sf-list li::before{content:"";flex:none;width:18px;height:18px;border-radius:4px;margin-top:1px;
  background:var(--g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat}
.sf-cta{display:grid;gap:12px;justify-items:stretch}
.sf-install{display:flex;align-items:center;gap:14px;border:0;border-radius:12px;padding:14px 22px;background:linear-gradient(180deg,#22b04f,#189443);
  color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 6px 20px rgba(22,163,74,.28)}
.sf-install:hover{background:linear-gradient(180deg,#1fa449,#15853c)}
.sf-install:focus-visible{outline:3px solid #ffc53d;outline-offset:3px}
.sf-install svg{width:34px;height:34px;flex:none}
.sf-install span{display:grid;line-height:1.2}.sf-install small{font-size:13px;opacity:.9}.sf-install b{font-size:18px}
.sf-links{display:flex;gap:16px;justify-content:center;font-size:13px}
.sf-links a{color:#b9c8c3;text-decoration:none}.sf-links a:hover{color:#fff;text-decoration:underline}

@media(max-width:1200px){
  .site-foot{grid-template-columns:1fr 1fr}.sf-cta{grid-column:1/-1;grid-template-columns:auto 1fr;align-items:center}
  .sf-links{justify-content:flex-end}
}

@media(max-width:950px){
  #dashboard .hero{order:0;margin:0 -14px 16px;padding:20px 22px;min-height:0}
  .hero-brand img{width:64px;height:64px}
  .photo-strip{order:8;margin:18px -14px 0}
  .features{order:7;margin-top:18px}
  .site-foot{margin:28px -14px calc(-84px - env(safe-area-inset-bottom));padding:24px 20px calc(96px + env(safe-area-inset-bottom))}
  body:has(#dashboard.active) .site-foot{margin-top:0}
}
@media(max-width:700px){
  #dashboard .hero{display:none}
  #dashboard{padding-top:14px!important}
  .greet-row{flex-direction:row!important;align-items:center!important;gap:10px!important;margin-bottom:12px}
  .greet-row>div{min-width:0}
  #greetTitle{display:none}.greet-row .greet-m{display:block;margin:0;font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1.2}
  .greet-row p{display:none}
  .greet-row{justify-content:space-between!important}
  .weather{width:auto!important;min-width:0;padding:6px 10px;gap:6px;border-radius:999px;flex:none}
  .weather .w-txt b,.weather .w-txt small{display:none}
  .weather .w-txt span{font-size:12.5px;white-space:nowrap}
  .weather .w-ico{font-size:20px}
  .m-hero{border-radius:12px}.m-hero img{height:132px!important;object-position:center 60%!important}
  .kpi{padding:12px 13px!important}.kpi span{font-size:11.5px!important}
  .kpis .kpi-trend,.kpis small{display:none}
  .features{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 6px;gap:2px}
  .feat{font-size:12px}.feat .fi{width:32px;height:32px}
  .photo-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:4px;scrollbar-width:none}
  .photo-strip::-webkit-scrollbar{display:none}
  .photo-strip img{flex:0 0 82%;width:82%;scroll-snap-align:start}
  .site-foot{grid-template-columns:1fr;gap:20px;text-align:left}
  .sf-cta{grid-template-columns:1fr}.sf-links{justify-content:flex-start}
  .sf-install{justify-content:center}
}
.toast{z-index:9000!important}
@media(max-width:950px){
  .toast{bottom:calc(84px + env(safe-area-inset-bottom, 0px))!important;left:16px;right:16px;text-align:center}
  .d-assist .primary{margin-top:18px!important}
}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none!important}}
.legal-links{margin:14px 2px 0;font-size:13px;color:var(--v-muted,#6b7780)}
.legal-links a{color:inherit;text-decoration:underline}
.legal-links a:hover{color:var(--leaf,#2fbe63)}
#accOut a,.card a{color:var(--leaf,#2fbe63);font-weight:600;text-decoration:none}
#accOut a:hover,.card a:hover{text-decoration:underline}
.mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--v-muted,#6b7780);padding:6px 2px;font-size:.7rem;text-decoration:none}
.mobile-nav a small{font-size:.7rem;font-weight:700;display:block;margin-top:2px}
.mobile-nav a[href*="page=dashboard"]:target,.mobile-nav a.active{color:var(--v-green,#16a344)}
.avg-price-box{padding:14px 0 6px}
.avg-price-box p{font-size:1.05rem;margin:0 0 4px}
.avg-price-box p b{color:var(--v-green,#16a344)}
.avg-price-box small{color:var(--v-muted,#6b7780)}
.nav[hidden]{display:none!important}
.undo-toast{display:flex!important;align-items:center;gap:14px;justify-content:center;text-align:left}
.undo-toast[hidden]{display:none!important}
.undo-toast #undoToastBtn{background:none;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer;white-space:nowrap;min-height:36px}


/* ===== V81 Feinschliff: Bedienbarkeit, Lesbarkeit, Druck ===== */
.skip-link{position:fixed;left:12px;top:-60px;z-index:10000;background:#0e1b1d;color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:top .15s}
.skip-link:focus{top:calc(12px + var(--sat,0px));outline:3px solid #ffc53d;outline-offset:2px}
#mainContent:focus{outline:none}

/* einheitlicher Tastatur-Fokus (die Kacheln hatten ihn schon, Knöpfe/Links/Felder nicht überall) */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ffc53d;outline-offset:2px}
.sidebar .nav:focus-visible{outline-offset:-3px}

/* Zahlen springen nicht beim Aktualisieren */
.kpi strong,.station-metrics strong,.avg-price-box b,.route-summary strong{font-variant-numeric:tabular-nums}

/* Handy: Touchflächen mindestens ~44 px */
@media(max-width:950px){
  .mobile-nav button,.mobile-nav a{min-height:48px;justify-content:center}
  .undo-toast #undoToastBtn{min-height:44px}
}

/* Druck (z. B. Fahrtenbuch als PDF): nur der Inhalt, ohne Navigation */
@media print{
  .sidebar,.mobile-nav,.topbar,.tb-search,.scrim,.toast,.undo-toast,.skip-link,.site-foot,.photo-strip,.features,.rule12{display:none!important}
  .main,main{margin:0!important;padding:0!important;max-width:none!important}
  body{background:#fff!important;color:#000!important}
  .card,.dcard,.kpi{box-shadow:none!important;break-inside:avoid;border:1px solid #bbb!important;background:#fff!important}
  a{color:inherit!important;text-decoration:none!important}
}

/* ===== V82: 12-Uhr-Hinweis und Tankbilanz ===== */
.rule12{margin:0 0 14px;padding:11px 14px;border-radius:12px;border:1px solid #d6e6dc;background:#eef7f1;color:#12301f;font-size:14px;line-height:1.4}
.rule12[hidden]{display:none}
.chk{display:flex;align-items:flex-start;gap:8px;grid-column:1/-1;font-size:13px;font-weight:600;color:var(--v-muted,#5b6a64)}
.chk input{margin-top:3px;flex:none}
.bil-sum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.bil-sum>div{padding:12px;border:1px solid var(--line,#e3e9e6);border-radius:12px}
.bil-sum span,.bil-sum small{display:block;font-size:12px;color:var(--v-muted,#5b6a64)}
.bil-sum strong{display:block;font-size:20px;margin:3px 0;font-variant-numeric:tabular-nums}
@media(max-width:700px){.bil-sum{grid-template-columns:1fr 1fr}}
:root[data-theme="dark"] .rule12{background:var(--v-surface,#15272a);border-color:var(--v-line,#26403f);color:var(--v-ink,#e6efec)}
:root[data-theme="dark"] .bil-sum>div{border-color:var(--v-line,#26403f)}

.sf-attr{margin:0;font-size:12px;line-height:1.4;color:#b9c8c3;text-align:center}
.sf-attr a{color:#dbe7e2;text-decoration:underline}
@media(max-width:1200px){.sf-attr{text-align:right}}
@media(max-width:700px){.sf-attr{text-align:left}}

/* V83: Wetter-Kachel bleibt im Bild, auch bei langen Meldungen */
.weather{max-width:100%}
.weather .w-txt{min-width:0;overflow:hidden}
.weather .w-txt span{overflow:hidden;text-overflow:ellipsis}

/* V83: Ortseingabe als Ersatz für den Gerätestandort */
.place-panel{margin:0 0 14px;padding:14px;border:1px solid var(--line,#e3e9e6);border-radius:14px;background:#fff}
.place-panel[hidden]{display:none}
.place-panel .pp-msg{margin:0 0 10px;font-weight:600}
.place-panel input{width:100%;box-sizing:border-box;padding:12px 14px;font-size:16px;border:1px solid var(--line,#cfd8d3);border-radius:12px;margin-bottom:10px}
.place-panel .pp-btn{width:100%;min-height:48px;border:0;border-radius:12px;background:#117a37;color:#fff;font-weight:700;font-size:16px}
.place-panel .pp-status{margin:8px 0 0;font-size:14px;color:#5b6a64;min-height:1.2em}
.place-panel .pp-help{margin-top:10px;font-size:13px;color:#5b6a64}
.place-panel .pp-help ol{padding-left:18px;margin:8px 0 0}
:root[data-theme="dark"] .place-panel{background:var(--v-surface,#15272a);border-color:var(--v-line,#26403f)}
:root[data-theme="dark"] .place-panel input{background:#0f1f1b;color:#e6efec;border-color:#26403f}

/* ===== V83: Preisaktualität, „Preis stimmt nicht“, Fahrtrichtung, Erinnerung, Werbefrei-Hinweis ===== */
.price-fresh{margin:0 0 10px;padding:9px 12px;border-radius:10px;background:#f2f6f4;color:#33443e;font-size:13px;line-height:1.4}
.price-fresh[hidden]{display:none}
.station .st-report{grid-column:1/-1;width:100%;margin-top:6px}
.station .st-badge{margin:0 0 6px;font-size:12.5px;color:#8a4b00;background:#fff4e0;border-radius:8px;padding:6px 8px}
.station .st-rep-btn{background:none;border:0;padding:4px 0;color:#117a37;font-weight:600;font-size:13px;text-decoration:underline;cursor:pointer;min-height:32px}
.station .st-rep-form[hidden]{display:none}
.station .st-rep-form{margin-top:6px;padding:10px;border:1px solid var(--line,#e3e9e6);border-radius:10px}
.station .st-rep-kinds{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.station .st-rep-kinds button{min-height:40px;padding:6px 12px;border-radius:10px;border:1px solid #cfd8d3;background:#fff;font-weight:600}
.station .st-rep-price{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #cfd8d3;border-radius:10px;font-size:16px}
.station.dir-hidden{display:none!important}
#noonReminderV83 .nr-row{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
#noonReminderV83 select{min-height:40px}
.bil-split{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-promise{margin-bottom:6px}
:root[data-theme="dark"] .price-fresh{background:var(--v-surface,#15272a);color:var(--v-ink,#e6efec)}
:root[data-theme="dark"] .station .st-badge{background:#3a2a10;color:#ffd79a}
:root[data-theme="dark"] .station .st-rep-kinds button{background:#0f1f1b;color:#e6efec;border-color:#26403f}
@media print{.price-fresh,.st-report{display:none!important}}

/* ===== V84: Fahrtenbuch, Verlauf, Tankplan ===== */
.logbook-v84{margin-top:12px}
.logbook-v84 label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.logbook-v84 input{min-height:42px;font-size:16px}
.logbook-v84 .row-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.lb-table{border-collapse:collapse;width:100%;font-size:13px;margin-top:8px}
.lb-table th,.lb-table td{border-bottom:1px solid var(--line,#e3e9e6);padding:6px;text-align:left;vertical-align:top}
.table-scroll{overflow-x:auto}
.station .st-hist-btns{display:flex;gap:6px;margin-top:4px}
.station .st-hist-btns button{min-height:34px;padding:4px 10px;border-radius:9px;border:1px solid #cfd8d3;background:#fff;font-size:13px}
.station .st-hist-out svg{color:#117a37;margin-top:6px}
:root[data-theme="dark"] .station .st-hist-btns button{background:#0f1f1b;color:#e6efec;border-color:#26403f}
@media print{.station .st-hist,.logbook-v84 .row-actions{display:none!important}}

/* ===== V85: Bedienbarkeit am Handy ===== */
@media(max-width:950px){
  /* Einheiten und Hinweise der Kennzahlen waren am Handy ausgeblendet („10,0“ ohne „L/100 km“) */
  .kpis .kpi strong small{display:inline!important;font-size:12px}
  .kpis .kpi-trend{display:block!important;font-size:11px!important;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* iPhone vergrößert die Seite beim Tippen in Felder unter 16 px */
  input,select,textarea{font-size:16px!important}
  #tripPickV85{width:100%;min-height:44px;margin-bottom:8px}
}
.tb-avatar svg{display:block;margin:auto}
#tripPickV85{max-width:100%}

/* ===== V86: Optik ===== */
.tb-avatar svg{color:#fff}                       /* Personen-Symbol war auf dunklem Kreis unsichtbar */
/* Der große Werbeblock der Fußzeile nur auf Home; auf den Unterseiten bleiben Rechtliches und Quellen */
body[data-page]:not([data-page="dashboard"]) .site-foot .sf-list,
body[data-page]:not([data-page="dashboard"]) .site-foot .sf-install{display:none!important}

/* ===== V87: Optik Deutschland-Ø und Ort-Hinweis ===== */
#natAvgV84{display:flex;flex-direction:column;gap:6px}
#natAvgV84[hidden]{display:none}
#natAvgV84 .nat-head{font-size:12px;color:var(--v-muted,#5b6a64);font-weight:600}
#natAvgV84 .nat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#natAvgV84 .nat-cell{background:#fff;border:1px solid var(--line,#e3e9e6);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column}
#natAvgV84 .nat-cell small{font-size:11px;color:var(--v-muted,#5b6a64)}
#natAvgV84 .nat-cell b{font-size:16px;font-variant-numeric:tabular-nums;color:var(--v-ink,#10201b)}
#natAvgV84 .nat-src{font-size:11px;color:var(--v-muted,#5b6a64)}
.avg-price-box p.muted{font-size:14px!important;line-height:1.45}
:root[data-theme="dark"] #natAvgV84 .nat-cell{background:var(--v-surface,#15272a);border-color:var(--v-line,#26403f)}
:root[data-theme="dark"] #natAvgV84 .nat-cell b{color:var(--v-ink,#e6efec)}

/* V90: Personen-Symbol (eigene Klasse, weil .tb-user .ic am Handy ausgeblendet wird) */
.tb-avatar .av-ic{width:20px;height:20px;display:block;color:#fff}

/* ===== V91: lesbare Link-Knöpfe, Auswertung, Routen-Kacheln ===== */
a.primary,a.btn-link.primary{color:#fff!important;background:var(--v-green,#117a37)!important;text-decoration:none}   /* war grün auf grün: „Anmelden oder registrieren“ unsichtbar */
a.secondary,a.btn-link.secondary{color:var(--v-ink,#10201b)!important;text-decoration:none}
.quick-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.quick-actions .btn-link{min-height:46px;flex:1 1 160px}
#route .metrics>div[role="button"]{cursor:pointer;-webkit-tap-highlight-color:rgba(17,122,55,.15);transition:transform .08s,box-shadow .15s}
#route .metrics>div[role="button"]:active{transform:scale(.98)}
#route .metrics>div[role="button"]:focus-visible{outline:3px solid #ffc53d;outline-offset:2px}
.report-form-v91{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.report-form-v91 label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}
.report-form-v91 input{min-height:44px;font-size:16px}
.report-actions-v91{display:flex;flex-wrap:wrap;gap:8px}
.report-actions-v91 button{min-height:44px;flex:1 1 150px}
#r-out{background:#f6f8f7;border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.5}
#r-out:empty{display:none}
:root[data-theme="dark"] #r-out{background:var(--v-surface,#15272a)}

/* ===== V92: Symbole ===== */
.ic.filled{fill:currentColor}
.ic.sm{width:16px;height:16px;vertical-align:-3px}
.bell{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 6px;border-radius:20px;background:#e8f8ee;color:#117a37}
.bell .ic{width:34px;height:34px}
.drive-icon .ic{width:36px;height:36px}
.metrics>div .ic{width:24px;height:24px;color:var(--v-green,#117a37);display:block;margin-bottom:4px}
.metric>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#e8f8ee;color:#117a37;flex:none}
.metric>span .ic{width:20px;height:20px}
.more-tile{gap:12px!important}
.more-tile .ic{width:26px!important;height:26px!important;padding:9px;box-sizing:content-box;border-radius:14px;background:#e8f8ee;color:#117a37!important}
.mobile-nav .ic{width:24px!important;height:24px!important}
.w-ico .ic{width:26px;height:26px;color:#3d8fd1}
.tb-refresh .ic,.tb-icon .ic{width:22px;height:22px}
.station .fav .ic,button[data-fav] .ic{width:22px;height:22px}
.station-rank .ic{width:16px;height:16px;color:#d9a300}
.linkbtn .ic.sm{color:#d9a300}
:root[data-theme="dark"] .more-tile .ic,:root[data-theme="dark"] .bell,:root[data-theme="dark"] .metric>span{background:rgba(72,224,127,.14);color:#48e07f!important}

/* V92b: Startseiten-Kacheln mit Linien-Symbolen; Dunkelmodus der „Mehr“-Kacheln (weiße Kacheln mit heller Schrift waren unlesbar) */
.feat .fi{width:34px;height:34px;padding:8px;box-sizing:content-box;border-radius:16px;background:var(--g-soft,#e8f8ee)}
:root[data-theme="dark"] .more-tile{background:var(--v-surface,#15272a)!important;color:var(--v-ink,#e6efec)!important;border-color:var(--v-line,#26403f)!important}
:root[data-theme="dark"] .more-tile span{color:var(--v-ink,#e6efec)!important}
:root[data-theme="dark"] .feat .fi{background:rgba(72,224,127,.14);color:#48e07f}
:root[data-theme="dark"] #avgLocHere{background:var(--v-surface,#15272a);color:#48e07f;border-color:var(--v-line,#26403f)}
:root[data-theme="dark"] .mobile-nav{background:var(--v-surface,#15272a)!important;border-color:var(--v-line,#26403f)!important}
:root[data-theme="dark"] .mobile-nav button{color:var(--v-muted,#9db3ab)}
:root[data-theme="dark"] .mobile-nav button.active,:root[data-theme="dark"] .mobile-nav button[aria-current]{color:#48e07f}

/* ===== V93: Kopfzeile und Menü unterhalb der Statusleiste (V80 hatte den Abstand oben entfernt → Kopfzeile lag beim Start unter der Uhr/Dynamic Island) ===== */
@media(max-width:950px){
  .topbar{height:calc(60px + var(--sat,0px))!important;padding:var(--sat,0px) 14px 0!important}
  .sidebar{padding-top:calc(22px + var(--sat,0px))!important}
  .scrim{top:0}
}
body::before{content:"";position:fixed;left:0;right:0;top:0;height:var(--sat,0px);background:#fff;z-index:59;pointer-events:none}   /* Fläche unter der Statusleiste nie durchsichtig */
:root[data-theme="dark"] body::before{background:var(--v-surface,#15272a)}
@media print{body::before{display:none}}

/* ===== V95: grauer Streifen am linken Rand (Schatten der geschlossenen Menü-Schublade) ===== */
@media(max-width:950px){
  .sidebar{box-shadow:none!important;visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}
  body.nav-open .sidebar{box-shadow:12px 0 30px rgba(0,0,0,.25)!important;visibility:visible;transition:transform .22s ease,visibility 0s}
}

/* V98: Löschen-Knopf */
#delBtnV98{background:#b42318!important;color:#fff!important;border:0;border-radius:12px;min-height:46px;padding:0 18px;font-weight:700}   /* nur dieser Knopf – die Klasse .danger nutzen auch die Text-Knöpfe „Löschen“ in Listen */
#delBtnV98:disabled{opacity:.6}
#deleteAccountV98 .form-grid label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}

/* V104: Pflichthinweis Geoapify (kostenloser Plan) */
.geo-attr{font-size:11.5px;color:var(--v-muted,#5b6a64);margin:8px 0 0}
.geo-attr a{color:inherit;text-decoration:underline}
#avgLocForm[hidden]+.geo-attr{display:none}

/* ===== V107: Dunkelmodus – weiße Karten mit heller Schrift waren unlesbar (Prüfung mit axe-core) ===== */
:root[data-theme="dark"] .station,
:root[data-theme="dark"] .metrics>div,
:root[data-theme="dark"] .metric,
:root[data-theme="dark"] .a2-in{background:var(--v-surface,#15272a)!important;border-color:var(--v-line,#26403f)!important;color:var(--v-ink,#e6efec)}
:root[data-theme="dark"] .hint,
:root[data-theme="dark"] .station small,
:root[data-theme="dark"] .metrics>div small,
:root[data-theme="dark"] .metric small,
:root[data-theme="dark"] .a2-in em{color:#a9bdb6!important}
:root[data-theme="dark"] a.btn-link.secondary,
:root[data-theme="dark"] a.secondary{background:var(--v-surface,#15272a)!important;color:var(--v-ink,#e6efec)!important;border:1px solid var(--v-line,#26403f)!important}
:root[data-theme="dark"] .station strong,:root[data-theme="dark"] .station .yes{color:#48e07f!important}
:root[data-theme="dark"] .station .no,:root[data-theme="dark"] .no{color:#ff8a80!important}

/* ===== V110: Plus ===== */
.plus-wall{position:fixed;inset:0;z-index:2000;background:rgba(10,20,16,.55);display:flex;align-items:flex-end;justify-content:center;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
.plus-wall[hidden]{display:none}
.plus-card{position:relative;width:100%;max-width:440px;background:#fff;color:#10201b;border-radius:22px;padding:22px 20px 18px;box-shadow:0 20px 50px rgba(0,0,0,.35);max-height:calc(100vh - 40px);overflow:auto}
@media(min-width:700px){.plus-wall{align-items:center}}
.plus-x{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;background:transparent;font-size:28px;line-height:1;color:#5b6a64;cursor:pointer}
.plus-badge{display:inline-block;background:#117a37;color:#fff;font-weight:800;font-size:11px;letter-spacing:.08em;border-radius:999px;padding:3px 9px}
.plus-card h2{margin:10px 0 4px;font-size:22px}
.plus-price{margin:0 0 10px;font-size:15px}.plus-price b{font-size:20px}
.plus-list{margin:0 0 10px;padding-left:20px;line-height:1.6}
.plus-free{font-size:13px}
.plus-actions{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.plus-actions button{min-height:48px;font-size:16px}
.plus-teaser{border:2px solid #117a37!important}
.plus-teaser h3{margin:8px 0 4px}
html[data-plus="0"] #dashboard .kpis,html[data-plus="0"] #dashboard .d-assist,html[data-plus="0"] #dashboard .d-trips,html[data-plus="0"] #dashboard .d-chart,html[data-plus="0"] #dashboard .d-pie,html[data-plus="0"] #dashboard .m-cta{display:none!important}
html[data-plus="0"] :is(.more-tile,.feat,.mobile-nav button,.sidebar .nav)[data-page]:is([data-page="route"],[data-page="vehicle"],[data-page="driving"],[data-page="planner"],[data-page="manufacturers"],[data-page="alerts"],[data-page="trips"],[data-page="reports"]){position:relative}
html[data-plus="0"] :is(.more-tile,.feat)[data-page]:is([data-page="route"],[data-page="vehicle"],[data-page="driving"],[data-page="planner"],[data-page="manufacturers"],[data-page="alerts"],[data-page="trips"],[data-page="reports"])::after{content:"PLUS";position:absolute;top:8px;right:8px;background:#117a37;color:#fff;font-size:9.5px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:2px 6px}
:root[data-theme="dark"] .plus-card{background:var(--v-surface,#15272a);color:var(--v-ink,#e6efec)}

/* V111: untere Leiste ohne Plus – „Preise“ und „Karte“ statt „Routen“ und „Sparassistent“ */
.mobile-nav .nav-free{display:none!important}
html[data-plus="0"] .mobile-nav .nav-free{display:flex!important}
html[data-plus="0"] .mobile-nav [data-page="route"],html[data-plus="0"] .mobile-nav [data-page="planner"]{display:none!important}

/* ===== V116: „Mein Ort“ und „Jetzt am günstigsten“ ===== */
.place-chip{display:flex;align-items:center;gap:8px;background:var(--v-surface,#fff);border:1px solid var(--v-line,#dfe7e3);border-radius:14px;padding:6px 6px 6px 12px;margin:0 0 12px;font-size:14px}
.place-chip span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.place-chip button{border:0;background:#eaf5ee;color:#0f6b32;font-weight:700;border-radius:10px;min-height:38px;padding:0 12px;font-size:14px}
.place-chip button[data-act="gps"]{padding:0 10px}
.place-chip .ic{width:18px;height:18px;color:#117a37}
.cheap-card{margin-bottom:14px}
.cheap-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.cheap-head h2{margin:0;font-size:19px}
.cheap-head select{min-height:40px;border-radius:10px;padding:0 8px;font-size:15px}
.cheap-list{list-style:none;margin:10px 0 6px;padding:0;display:grid;gap:8px}
.cheap-list li{display:grid;grid-template-columns:1fr auto 44px;align-items:center;gap:10px;border:1px solid var(--v-line,#e3ebe7);border-radius:14px;padding:10px 10px 10px 12px}
.cheap-list li.best{border:2px solid #117a37;background:#f3faf5}
.cl-main{min-width:0;display:flex;flex-direction:column}
.cl-main b{font-size:15px}.cl-main .muted{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl-price{text-align:right;display:flex;flex-direction:column}
.cl-price b{font-size:20px}.cl-price sup{font-size:11px}.cl-price small{font-size:11.5px;color:var(--v-muted,#5b6a64)}
.cl-go{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#117a37;color:#fff}
.cl-go .ic{width:20px;height:20px}
:root[data-theme="dark"] .place-chip button{background:#1e3a2b;color:#8be3a5}
:root[data-theme="dark"] .cheap-list li.best{background:#173327;border-color:#48e07f}
.cl-go,.cl-go:visited{color:#fff!important}.cl-go .ic{stroke:#fff!important;color:#fff!important;display:block}
