:root{--bg: #eef2f7;--panel: #ffffff;--ink: #0f172a;--muted: #64748b;--accent: #0ea5e9;--border: #e2e8f0;--grid: #eef2f7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}.topbar{padding:18px 24px;background:linear-gradient(90deg,#0f172a,#1e3a5f);color:#fff}.topbar h1{margin:0;font-size:22px}.topbar p{margin:4px 0 0;color:#cbd5e1;font-size:13px}.topbar-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.btn-download{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,transform .05s ease}.btn-download:hover:not(:disabled){background:#0284c7}.btn-download:active:not(:disabled){transform:translateY(1px)}.btn-download:disabled{opacity:.6;cursor:progress}.topbar-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lang-toggle{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.25)}.lang-btn{display:inline-flex;align-items:center;gap:5px;background:transparent;color:#ffffffa6;border:none;padding:5px 10px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,color .15s;line-height:1}.lang-btn svg{flex-shrink:0}.lang-btn:hover{background:#ffffff1f;color:#fff}.lang-btn.active{background:#fff3;color:#fff}.btn-toggle{display:none;background:#ffffff1f;color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-toggle:active{transform:translateY(1px)}.sidebar-backdrop{display:none}.layout{display:grid;grid-template-columns:320px 1fr;gap:20px;padding:20px;align-items:start}.sidebar,.panel,.summary{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;box-shadow:0 1px 2px #0f172a0a}.sidebar{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto}@media (max-width: 880px){.layout{grid-template-columns:1fr}.btn-toggle{display:inline-block}.sidebar{position:fixed;top:0;left:0;z-index:1002;width:min(88vw,360px);height:100vh;max-height:100vh;border-radius:0;overflow-y:auto;transform:translate(-100%);transition:transform .25s ease;box-shadow:2px 0 16px #0f172a40}body.sidebar-open .sidebar{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:1001;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .25s ease}body.sidebar-open .sidebar-backdrop{opacity:1;pointer-events:auto}}.sidebar h3{margin:18px 0 8px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border-bottom:1px solid var(--border);padding-bottom:4px}.sidebar h3:first-child{margin-top:0}.control{margin:10px 0}.control label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px;color:var(--ink)}.control .num-wrap{display:flex;align-items:center;gap:6px}.control .num-wrap input[type=number]{flex:1 1 auto;min-width:0}.control .num-wrap .unit{color:var(--muted);font-size:12px;white-space:nowrap}.control input[type=number]{width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--border);background:#fff;color:var(--ink);font:inherit;font-size:13px;font-variant-numeric:tabular-nums}.control input[type=number]:focus{outline:2px solid var(--accent);outline-offset:-1px}.control .num-wrap.invalid input[type=number]{border-color:#dc2626}.control select{width:100%;padding:6px;border-radius:8px;border:1px solid var(--border)}@keyframes flashGlow{0%{box-shadow:0 0 #0ea5e900}20%{box-shadow:0 0 0 5px #0ea5e98c}to{box-shadow:0 0 #0ea5e900}}@keyframes flashBg{0%{background-color:transparent}20%{background-color:#0ea5e92e}to{background-color:transparent}}.flash{animation:flashGlow 1.1s ease-out,flashBg 1.1s ease-out;border-radius:10px}.control-inline{display:flex;align-items:center;gap:8px}.control-inline label{margin:0}.expert-toggle{margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.expert-toggle label{font-weight:600;color:var(--accent);cursor:pointer}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}.card{background:#f8fafc;border:1px solid var(--border);border-radius:10px;padding:12px;transition:transform .08s ease,box-shadow .08s ease}.card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.card-val{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.card-unit{font-size:11px;font-weight:500;color:var(--muted);margin-left:4px}.card-key{font-size:12px;margin-top:2px}.card-sub{font-size:11px;color:var(--muted)}.card-hl{border-color:#0ea5e9;background:#f0f9ff;box-shadow:inset 0 0 0 1px #0ea5e9}.heat-head{font-size:13px;color:var(--muted);margin-bottom:8px}.gas-savings{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border)}.gas-savings .heat-head{margin-bottom:8px}.gas-savings .card-hl{border-color:#16a34a;background:#f0fdf4;box-shadow:inset 0 0 0 1px #16a34a}.heat-foot{font-size:12px;color:var(--muted);margin-top:8px;padding:6px 8px;background:#f0f9ff;border-radius:6px}.heat-cov{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;margin:4px 0 10px;padding:6px 8px;background:#f6fdf6;border-radius:6px}.heat-cov .cov-pv b{color:#16a34a}.heat-cov .cov-grid b{color:#b45309}.heat-cov .cov-eff b{color:var(--text, #111)}.panel{margin-bottom:20px}.panel h2{margin:0 0 8px;font-size:16px}.hint{font-size:12px;color:var(--muted);margin:0 0 8px}.chart{display:block;width:100%;height:auto;font-variant-numeric:tabular-nums}.legend{display:flex;flex-wrap:wrap;gap:14px;margin:4px 0 10px;font-size:12px;color:var(--muted)}.legend-item{display:flex;align-items:center;gap:6px}.legend-swatch{width:14px;height:14px;border-radius:4px;display:inline-block;box-shadow:inset 0 0 0 1px #0f172a14}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin:12px 2px 4px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}.chart-legend .legend-item{display:flex;align-items:center;gap:7px}.chart-legend .legend-swatch{width:14px;height:14px;border-radius:4px;display:inline-block;box-shadow:inset 0 0 0 1px #0f172a14;flex:0 0 auto}.bar{cursor:pointer;transition:opacity .1s}.bar:hover{opacity:.82}.month-hit{cursor:pointer}.month-hit.selected{fill:#0ea5e91a}.chart-tooltip{position:fixed;display:none;z-index:1000;background:#0f172a;color:#f8fafc;padding:9px 11px;border-radius:10px;font-size:12px;line-height:1.5;pointer-events:none;box-shadow:0 10px 30px #0000004d;max-width:260px}.chart-tooltip strong{color:#7dd3fc}.combo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(440px,1fr));gap:18px}.combo-cell{border:1px solid var(--border);border-radius:10px;padding:12px;background:#fff}.combo-cell h3{margin:0 0 4px;font-size:13px;color:var(--text)}@media (max-width: 720px){.combo-grid{grid-template-columns:1fr}}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#0f172a;color:#f1f5f9;padding:8px 12px;border-radius:8px;font-size:12px;line-height:1.5;white-space:normal;max-width:340px;width:max-content;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:999;box-shadow:0 4px 20px #00000040}[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f172a;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease;z-index:999}[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1;visibility:visible}[data-tooltip].tip-below:after{bottom:auto;top:calc(100% + 8px)}[data-tooltip].tip-below:before{bottom:auto;top:calc(100% + 2px);border-top-color:transparent;border-bottom-color:#0f172a}.chart-legend [data-tooltip],.heat-head[data-tooltip],.heat-foot[data-tooltip]{cursor:help}.pie-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:.75rem}.pie-chart-card{border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;background:#fafafa;display:flex;flex-direction:column;align-items:center}.pie-chart-card-title{font-weight:600;font-size:.9rem;color:#1f2937;margin-bottom:.15rem}.pie-chart-card-hint{font-size:.78rem;color:#6b7280;margin-bottom:.5rem;text-align:center}.pie-chart-card-body{display:flex;justify-content:center}.pie-chart-card-footer{margin-top:.5rem;font-size:.82rem;color:#374151}.pie-legend{display:flex;flex-wrap:wrap;gap:.35rem .75rem;justify-content:center;margin-top:.5rem;font-size:.78rem}.pie-chart{display:block}.co2-steps{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.co2-step{border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem;background:#fafafa}.co2-step-hl{border-color:#86efac;background:#f0fdf4}.co2-step-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.35rem}.co2-step-label{font-weight:600;font-size:.88rem;color:#1f2937}.co2-step-total{font-size:.88rem;color:#1f2937;font-weight:600}.co2-bar-wrap{height:18px;background:#e5e7eb;border-radius:9px;overflow:hidden;margin-bottom:.35rem}.co2-bar{height:100%;background:linear-gradient(90deg,#ef4444,#f59e0b,#22c55e);border-radius:9px;transition:width .3s ease}.co2-step-hl .co2-bar{background:linear-gradient(90deg,#16a34a,#22c55e)}.co2-breakdown{display:flex;gap:.75rem;font-size:.75rem;color:#6b7280}.co2-tag{display:inline-flex;align-items:center;gap:.25rem;cursor:help}.co2-tag:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%}.co2-tag-heat:before{background:#f59e0b}.co2-tag-elec:before{background:#3b82f6}.co2-tag-car:before{background:#8b5cf6}.co2-saved{display:flex;gap:.75rem;margin-top:.35rem;font-size:.78rem;font-weight:600}.co2-saved-co2{color:#16a34a}.co2-saved-gas{color:#f59e0b}.co2-saved-eur{color:#3b82f6}.co2-sub{font-weight:400;color:#6b7280;font-size:.75rem}.co2-step-separator{display:flex;align-items:center;gap:.75rem;margin:.25rem 0;font-size:.75rem;color:#9ca3af;font-weight:500}.co2-step-separator:before,.co2-step-separator:after{content:"";flex:1;height:1px;background:#e5e7eb}.co2-step-alt{opacity:.85;border-style:dashed}.co2-step-num{display:inline-flex;align-items:center;justify-content:center;width:1.3em;height:1.3em;border-radius:50%;background:#3b82f6;color:#fff;font-size:.7rem;font-weight:700;margin-right:.4rem;vertical-align:middle}.site-footer{margin-top:40px;padding:32px 24px 24px;background:#0f172a;color:#cbd5e1;font-size:13px;line-height:1.6}.footer-inner{max-width:1100px;margin:0 auto}.site-footer h2{margin:0 0 16px;font-size:18px;color:#f1f5f9;border-bottom:1px solid #334155;padding-bottom:8px}.site-footer h3{margin:18px 0 6px;font-size:14px;color:#7dd3fc;font-weight:600}.site-footer h3:first-child{margin-top:0}.site-footer ul{margin:0;padding-left:18px}.site-footer li{margin-bottom:4px}.site-footer code{background:#1e293b;padding:1px 5px;border-radius:4px;font-size:12px;color:#e2e8f0}.site-footer a{color:#7dd3fc;text-decoration:none;border-bottom:1px solid transparent}.site-footer a:hover{color:#bae6fd;border-bottom-color:#7dd3fc}.footer-feedback{margin-top:28px;padding:16px;background:#1e293b;border-radius:10px;border:1px solid #334155}.footer-feedback p{margin:0}.footer-feedback a{font-weight:600;color:#38bdf8}.footer-copy{margin:20px 0 0;font-size:12px;color:#64748b;text-align:center}.footer-privacy{margin-top:20px;padding:14px 16px;background:#1a2332;border-radius:10px;border:1px solid #334155;font-size:12px;line-height:1.6;color:#94a3b8}.footer-privacy p{margin:0 0 8px}.footer-privacy p:last-child{margin-bottom:0}.footer-privacy a{color:#38bdf8}.footer-privacy strong{color:#7dd3fc}.footer-privacy code{background:#0f172a;padding:1px 5px;border-radius:4px;color:#e2e8f0}.privacy-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:560px;margin:0 auto;padding:16px 18px;background:#0f172a;color:#cbd5e1;border:1px solid #334155;border-radius:12px;box-shadow:0 12px 32px #0f172a59;font-size:13px;line-height:1.55}.privacy-banner-title{margin:0 0 6px;font-size:15px;font-weight:700;color:#f1f5f9}.privacy-banner-text{margin:0 0 10px}.privacy-banner-text:last-child{margin-bottom:0}.privacy-banner-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.privacy-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid transparent}.privacy-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.privacy-btn-primary:hover{background:#0284c7}.privacy-btn-secondary{background:transparent;border-color:#475569;color:#e2e8f0}.privacy-btn-secondary:hover{background:#1e293b}.privacy-link{background:none;border:none;padding:0;color:#38bdf8;font:inherit;text-decoration:underline;cursor:pointer}.privacy-link:hover{color:#7dd3fc}.privacy-link:focus-visible,.privacy-btn:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}.privacy-backdrop{position:fixed;inset:0;z-index:1001;background:#0f172a99}.privacy-notice{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1002;width:min(680px,calc(100vw - 32px));max-height:min(80vh,720px);overflow-y:auto;padding:24px 26px;background:var(--panel);color:var(--ink);border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 50px #0f172a4d;font-size:13px;line-height:1.6}.privacy-notice-title{margin:0 0 8px;font-size:19px}.privacy-notice-intro{margin:0 0 16px;color:var(--muted)}.privacy-notice-heading{margin:18px 0 6px;font-size:14px;color:var(--accent)}.privacy-notice-text{margin:0 0 10px}.privacy-notice-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.privacy-notice-close{margin-top:12px}.privacy-notice .privacy-link{color:#0284c7}.privacy-notice .privacy-btn-secondary{border-color:#94a3b8;color:#334155}.privacy-notice .privacy-btn-secondary:hover{background:var(--bg);color:var(--ink)}body.privacy-notice-open .privacy-banner{display:none}.legal{max-width:760px;margin:0 auto;padding:32px 24px 64px;background:var(--panel);color:var(--ink);font-size:14px;line-height:1.7}.legal h2{margin:28px 0 6px;font-size:16px;color:var(--accent)}.legal h2:first-of-type{margin-top:0}.legal p{margin:0 0 12px}.legal-intro{padding:12px 14px;background:var(--bg);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}.legal code{background:var(--bg);padding:1px 5px;border-radius:4px}.topbar .btn-download:hover{background:#0284c7;text-decoration:none}.topbar a.btn-download{text-decoration:none}@media (max-width: 720px){.site-footer{padding:24px 16px 16px}.privacy-banner{left:8px;right:8px;bottom:8px;padding:14px}.privacy-banner-actions .privacy-btn{flex:1 1 auto}.legal{padding:24px 16px 48px}}
