:root{color-scheme:light;--bg:#F5F5F7;--text:#1D1D1F;--muted:#6E6E73;--line:#D2D2D7;--blue:#0071E3;--strom:#F2A93B;--gas:#E8613C;--wasser:#2D8CFF;--accent:var(--strom)}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;touch-action:manipulation}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
nav{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 max(16px,calc((100% - 720px)/2));background:rgba(255,255,255,.85);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);position:sticky;top:0;z-index:1}
.brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:600;white-space:nowrap}
.back{text-decoration:none;color:var(--blue);font-size:32px;line-height:1;width:32px;text-align:center}
#sync{font-size:12px;color:var(--muted);text-align:right}
#sync[data-state=ok]{color:#248A3D}
#sync[data-state=offline]{color:#8A4500}
main{max-width:720px;margin:auto;padding:36px 16px 60px;display:flex;flex-direction:column;gap:20px}
h1{font-size:clamp(26px,5vw,34px);letter-spacing:-.8px;line-height:1.2;margin:0 0 8px}
header p{margin:0;color:var(--muted);font-size:14px}
.card{background:white;border-radius:18px;padding:24px}
h2{font-size:20px;letter-spacing:-.3px;margin:0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot.strom{background:var(--strom)}.dot.gas{background:var(--gas)}.dot.wasser{background:var(--wasser)}
.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#E8E8ED;border-radius:12px;padding:3px}
.tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;background:none;border-radius:9px;font-size:14px;transition:background .15s,box-shadow .15s}
.tabs button[aria-pressed=true]{background:white;box-shadow:0 1px 3px #0002;font-weight:600}
.tabs button:active{transform:scale(.97)}
.fields{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:end}
.fields label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);min-width:0}
.fields input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:white;color:var(--text);font-size:16px;min-width:0;width:100%;height:46px}
.value{position:relative;display:block}
.value input{padding-right:52px;font-variant-numeric:tabular-nums}
.unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:14px;pointer-events:none}
.primary{border:0;border-radius:10px;padding:0 18px;min-height:46px;background:var(--blue);color:white;font-weight:600;transition:background .15s,transform .1s}
.primary:hover{background:#0077ED}
.primary:active{transform:scale(.97)}
.note{font-size:12px;color:var(--muted);margin:14px 0 0}
.chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
select{border:1px solid var(--line);border-radius:9px;padding:6px 10px;background:white}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 8px}
.kpis div{display:flex;flex-direction:column;gap:2px;min-width:0}
.kpis span{font-size:12px;color:var(--muted)}
.kpis strong{font-size:clamp(17px,3.6vw,22px);letter-spacing:-.4px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.up{color:#C4320A}.down{color:#248A3D}
#chart svg{display:block;width:100%;height:auto;overflow:visible}
#chart .bar{fill:var(--accent);transition:opacity .15s}
#chart .bar.partial{opacity:.4}
#chart .bar:hover{opacity:.8}
#chart text{font-size:11px;fill:var(--muted);font-variant-numeric:tabular-nums}
#chart .grid{stroke:#EDEDF0}
#chart .empty{font-size:13px}
#list{list-style:none;margin:12px 0 0;padding:0}
#list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #EDEDF0;font-variant-numeric:tabular-nums}
#list li:first-child{border-top:0}
#list .meta{color:var(--muted);font-size:13px}
#list .del{border:0;background:none;color:var(--muted);font-size:20px;width:36px;height:36px;border-radius:50%}
#list .del:hover{background:var(--bg);color:#C4320A}
#list .empty{color:var(--muted);font-size:14px}
#error{max-width:720px;margin:40px auto;padding:0 16px;color:#D70015}
@media (max-width:560px){
  .fields{grid-template-columns:1fr 1fr}
  .primary{grid-column:1/-1}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}
  .card{padding:20px}
}
