:root{--pi-ink:#1F2D30;--blox-forest:#004B3A;--deep-lake:#07546A;--dune-grass:#355E50;--energy-gold:#FFAA00;--sand-white:#EEEDE7;--surface:#FAF9F4;--sea-mist:#B8CDD5;--grid:#DFE8E2;--muted:#66736C;--charge-green:#6F8C6A;--discharge-red:#CB584B;--homepage-price-low:#169B62;--homepage-price-high:#EE3F32;--homepage-plan-high25:#F57832;--homepage-plan-low25:#A3C95A;--homepage-price-edge-opacity:10%;--soc-sky:#66A9E4;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--radius-tag:3px;--radius-control:4px;--radius-card:4px;--radius-surface:6px;--blox-seam:1px;--blox-gap:24px;--weather-onshore:#397842;--weather-offshore:#286CB0;--weather-solar:#9A7A25;--weather-now:#747474;--weather-range-opacity:0.08;--pv-forecast-area-opacity:0.12;--weather-observation-width:3.4;--weather-forecast-width:2.8;--weather-forecast-dash:9 6;}
/* Lokaler Formularprototyp. Kanonische WOFF2-Dateien fehlen noch im Repo.
   Bis zur visuellen Abnahme nur die im Designvertrag benannten Fallbacks. */
body { margin:0; min-height:100vh; color:var(--pi-ink); font:16px/1.5 "Latin Modern Sans","Segoe UI",sans-serif; background:var(--deep-lake) url('/zugang/assets/lake.png') center/cover fixed; }
header,footer { padding:var(--space-3); background:var(--surface); }
header { display:flex; align-items:center; justify-content:space-between; gap:var(--space-3); flex-wrap:wrap; }
.logo { width:160px; height:auto; }
nav { display:flex; gap:var(--space-3); align-items:center; flex-wrap:wrap; }
nav form { margin:0; }
.work-surface { margin:var(--space-4) auto; padding:var(--space-3); box-sizing:border-box; background:var(--surface); border:1px solid var(--sea-mist); border-radius:var(--radius-surface); width:calc(50% - var(--space-4)); }
.blox-20 { min-height:calc(50vw / 2.4); }
h1 { font:48px/1 "Latin Modern Roman",Georgia,serif; margin-top:0; overflow-wrap:anywhere; }
h2 { font:32px/1.1 "Latin Modern Roman",Georgia,serif; }
a { color:var(--deep-lake); }
label { display:block; margin-bottom:var(--space-1); }
input,select,textarea,button { font:inherit; border:1px solid var(--muted); border-radius:var(--radius-control); padding:var(--space-1); max-width:100%; box-sizing:border-box; }
input,textarea { width:100%; background:var(--surface); color:var(--pi-ink); }
textarea { resize:vertical; overflow-wrap:anywhere; }
button { background:var(--blox-forest); color:var(--surface); cursor:pointer; }
button:hover,.button-link:hover { background:var(--deep-lake); }
.button-link { display:inline-block; background:var(--blox-forest); color:var(--surface); border:1px solid var(--blox-forest); border-radius:var(--radius-control); padding:var(--space-1) var(--space-2); text-decoration:none; }
.inline-actions { min-width:260px; }
:focus-visible { outline:2px solid var(--deep-lake); outline-offset:3px; }
.errorlist { color:var(--discharge-red); }
.helptext { display:block; }
.skip { position:absolute; left:-10000px; background:var(--surface); padding:var(--space-2); }
.skip:focus { left:0; }
.table-scroll { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
th,td { text-align:left; padding:var(--space-1); border-bottom:1px solid var(--grid); }
pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; }
@media(max-width:1199px) { .work-surface { width:calc(100% - var(--space-4)); } }
@media(max-width:767px) { h1 { font-size:32px; } header,footer,.work-surface { padding:var(--space-2); } }
