:root{color-scheme:light dark;--page:#f9f9f7;--surface:#fcfcfb;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--border:#e1e0d9;--border-strong:hsla(0,0%,4%,.1);--accent:#2a78d6;--accent-soft:#e8f0fb;--good:#0ca30c;--good-soft:#e4f6e4;--critical:#d03b3b;--radius:0.75rem;--shadow:0 1px 2px hsla(0,0%,4%,.04),0 4px 16px hsla(0,0%,4%,.06)}@media (prefers-color-scheme:dark){:root{--page:#0d0d0d;--surface:#1a1a19;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--border:#2c2c2a;--border-strong:hsla(0,0%,100%,.1);--accent:#3987e5;--accent-soft:#16243a;--good:#0ca30c;--good-soft:#131;--critical:#e66767;--shadow:0 1px 2px rgba(0,0,0,.2),0 4px 20px rgba(0,0,0,.3)}}*{box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;margin:0;padding:0;background:var(--page);color:var(--text-primary);line-height:1.5}main{max-width:1440px;margin:0 auto;padding:0 1.25rem 3rem}a{color:var(--accent)}.site-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;max-width:1440px;margin:0 auto;padding:1.5rem 1.25rem 1.25rem;border-bottom:1px solid var(--border)}.site-header__brand{min-width:0}.site-header__title{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.01em}.site-header__subtitle{margin:.25rem 0 0;color:var(--text-secondary);font-size:.9rem;max-width:42ch}.site-header__nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.site-header__nav a{color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500}.site-header__nav a:hover{color:var(--accent)}.lang-switcher{display:flex;gap:.25rem}.lang-switcher button.lang-fi{--flag:#003580}.lang-switcher button.lang-en{--flag:#c8102e}.lang-switcher button.lang-sv{--flag:#fecc02}.lang-switcher button{background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-bottom:3px solid var(--flag,var(--border));font-size:.82rem;font-weight:700;letter-spacing:.02em;cursor:pointer;padding:.35rem .6rem .25rem;border-radius:.4rem;line-height:1}.lang-switcher button:hover{border-color:var(--flag)}.lang-switcher button.active{background:var(--text-primary);color:var(--page);border-color:var(--text-primary);border-bottom-color:var(--flag)}.campaign-banner{margin:1.75rem 0}.campaign-banner h2{font-size:1.05rem;margin:0 0 .75rem}.campaign-banner__cards{display:flex;gap:.9rem;overflow-x:auto;padding-bottom:.25rem}.campaign-card{background:var(--accent-soft);border:1px solid var(--border-strong);border-radius:var(--radius);padding:.9rem 1.1rem;min-width:240px;flex:0 0 auto}.campaign-card__title{font-weight:600;margin:.2rem 0 .35rem}.campaign-card__ends{color:var(--text-muted);font-size:.8rem;margin:.5rem 0 0}.price-table{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);margin:1.5rem 0;overflow:hidden}.price-table__header{padding:1.1rem 1.25rem .6rem}.price-table__header h2{margin:0;font-size:1.1rem}.price-table__empty{padding:0 1.25rem 1.25rem;color:var(--text-muted);font-size:.9rem}.price-table__scroll{overflow-x:auto;padding-bottom:.25rem}table{width:max-content;min-width:100%;border-collapse:collapse;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:right;padding:.6rem .9rem;white-space:nowrap}.col-company,td:first-child,th:first-child{text-align:left}thead th{color:var(--text-muted);font-weight:500;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border)}.col-total__unit{display:block;font-size:.68rem;font-weight:400;text-transform:none;letter-spacing:normal}.col-total--custom{background:var(--accent-soft)}.custom-kwh-input{width:100%;min-width:5.5rem;padding:.3rem .4rem;text-align:right;font-size:.78rem;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:.35rem}.custom-kwh-input::placeholder{color:var(--text-muted);font-weight:500}tbody tr{border-bottom:1px solid var(--border)}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 60%,transparent)}tr.row-cheapest{background:var(--good-soft);box-shadow:inset 3px 0 0 var(--good)}tr.row-cheapest:hover{background:color-mix(in srgb,var(--good-soft) 80%,var(--accent-soft))}.company-name{font-weight:500}.badge{display:inline-block;font-size:.68rem;font-weight:600;border-radius:.3rem;padding:.1rem .4rem;margin-left:.4rem;text-transform:uppercase;letter-spacing:.02em;vertical-align:middle}.badge-cheapest{background:var(--good);color:#fff}.badge-regional{background:transparent;border:1px solid var(--accent);color:var(--accent);cursor:default}.info-tooltip{position:relative;cursor:pointer;display:inline-block;margin-left:.35rem}.info-tooltip__icon{opacity:.6;font-size:.85em}.info-tooltip__bubble{position:absolute;z-index:10;top:1.5rem;left:0;background:var(--text-primary);color:var(--page);padding:.55rem .75rem;border-radius:.5rem;width:250px;max-width:70vw;font-size:.8rem;font-weight:400;line-height:1.35;text-transform:none;letter-spacing:normal;white-space:normal;box-shadow:var(--shadow)}.postinumero-form{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end;margin-bottom:1.25rem}.postinumero-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-secondary)}button,input,select{font:inherit;color:var(--text-primary)}input,select{background:var(--surface);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .65rem}button{background:var(--accent);color:#fff;border:none;border-radius:.5rem;padding:.55rem 1.1rem;cursor:pointer;font-weight:600}button:disabled{opacity:.6;cursor:default}.site-footer{max-width:1440px;margin:2rem auto 0;padding:1.25rem 1.25rem 2rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.78rem}@media (max-width:640px){.site-header{flex-direction:column}.site-header__nav{width:100%;justify-content:space-between}td,th{padding:.5rem .6rem;font-size:.85rem}}