:root{
  --bg:#f2f4f1;--surface:#fff;--ink:#17323b;--muted:#718087;--line:#dbe3df;
  --petrol:#1d5361;--teal:#3d887d;--sage:#4e8063;--blue:#657fa6;--plum:#766c8e;
  --shadow:0 12px 34px rgba(28,55,60,.055);--max:1390px
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#f7f8f5,#eff2ef);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:30;background:rgba(250,251,248,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{max-width:var(--max);height:68px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:28px}
.brand{text-decoration:none;font-weight:850;font-size:18px;letter-spacing:-.03em;color:var(--petrol)}
.brand span{display:inline-block;margin-left:5px;padding:2px 6px;border-radius:999px;background:#e8f1ee;color:#52756b;font-size:9px;vertical-align:2px}
nav{display:flex;gap:4px}nav a{text-decoration:none;color:#53666d;font-weight:700;padding:8px 10px;border-radius:8px}nav a:hover{background:#eaf1ee;color:var(--petrol)}
.page{max-width:var(--max);margin:0 auto;padding:24px 24px 70px}
.notice{padding:10px 13px;border:1px solid #e4d6b4;border-radius:10px;background:#faf5e9;color:#725e31;font-size:11.5px;margin-bottom:17px}
.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:17px;margin-bottom:17px}
.hero-main,.hero-side,.panel,.analysis-card{border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.92);box-shadow:var(--shadow)}
.hero-main{padding:26px;background:linear-gradient(130deg,#eef7f3,#fbfcfb)}
.hero-side{padding:21px;background:linear-gradient(145deg,#f7f1e7,#fbf8f1)}
.eyebrow{font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:#71837d;font-weight:850}
.price{font-size:62px;line-height:1;font-weight:870;letter-spacing:-.06em;color:var(--petrol);margin:7px 0 5px}
.price small{font-size:14px;letter-spacing:0;color:var(--muted);margin-left:8px}
.hero-main p,.hero-side p,.page-title p{color:var(--muted);font-size:11.5px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:21px;padding-top:16px;border-top:1px solid #d8e5e0}
.stats div{padding-right:10px}.stats span,.spot-summary span,.contract-line span,.analysis-values span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.stats b{font-size:18px}
.source-state{margin-top:22px;padding:10px;border-radius:9px;background:#fff;border:1px solid #e3dccb;font-size:11px}.source-state i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b18a4a;margin-right:6px}
.panel{margin-bottom:17px;overflow:hidden}
.panel-head{min-height:58px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}
.panel-head h2{margin:0;font-size:15px}.panel-head p{margin:2px 0 0;color:var(--muted);font-size:10.5px}
.link-button{text-decoration:none;color:var(--petrol);font-weight:780;font-size:11px}
.market-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px;padding:17px}
.market-grid article{padding:14px;border:1px solid #d9e3df;border-radius:11px;background:#fbfcfb}
.market-grid span,.kpi-grid span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}
.market-grid strong{display:block;font-size:20px;color:var(--petrol);margin-top:2px}
.market-grid small{font-size:10px;color:var(--muted)}
.table-wrap{overflow:auto;padding:0 17px 17px}table{width:100%;border-collapse:collapse;min-width:720px}th{padding:9px 8px;text-align:left;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid #edf1ef;font-size:11.5px}td small{display:block;color:var(--muted);font-size:10px}.num{text-align:right}
.own-cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:19px 21px;border-radius:16px;background:linear-gradient(110deg,#173f4b,#27636a);color:#fff;box-shadow:var(--shadow)}
.own-cta h2{margin:3px 0;font-size:20px}.own-cta p{margin:0;color:#d9e7e5;font-size:11px}.own-cta a{text-decoration:none;background:#fff;color:#24565d;padding:9px 12px;border-radius:9px;font-weight:800;font-size:11px}
.page-title{margin:12px 0 18px}.page-title h1,.own-toolbar h1{margin:4px 0;font-size:29px;letter-spacing:-.035em}
.spot-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:18px}.spot-summary div{padding:15px;border-radius:11px;background:#f5f9f7;border:1px solid #dce6e2}.spot-summary strong{display:block;font-size:26px;margin:2px 0;color:var(--petrol)}.spot-summary small{color:var(--muted);font-size:10px}
.own-toolbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:6px 0 17px}.own-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:750}.own-toolbar select{min-width:240px;height:38px;border:1px solid #ccd8d3;border-radius:9px;background:#fff;padding:0 9px;color:var(--ink)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:17px}.kpi-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff}.kpi-grid article.blue{background:#eef2f8}.kpi-grid article.plum{background:#f1eef5}.kpi-grid article.good{background:#e9f2eb}.kpi-grid strong{display:block;font-size:22px;margin:3px 0}.kpi-grid .blue strong{color:var(--blue)}.kpi-grid .plum strong{color:var(--plum)}.kpi-grid .good strong{color:var(--sage)}.kpi-grid small{color:var(--muted);font-size:10px}
.contract-line{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px}.contract-line div{padding:13px;border-radius:10px;background:#f8faf9;border:1px solid #e0e7e4}.contract-line b{display:block;margin-top:3px}
.analysis-card{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:20px;margin-bottom:17px;background:linear-gradient(135deg,#eef3f8,#fbfcfd);border-color:#d4dfea}.analysis-card h2{margin:5px 0;font-size:22px;color:#566f92}.analysis-card p{margin:0;color:var(--muted);font-size:11px}
.analysis-values{display:grid;gap:7px}.analysis-values div{padding:10px 12px;border-radius:9px;background:#fff;border:1px solid #dbe3eb}.analysis-values .best{background:#e9f2eb;border-color:#d4e5d9}.analysis-values b{display:block;margin-top:2px}.analysis-values .best b{color:var(--sage)}
.import-placeholder{margin:17px;padding:18px;border:1px dashed #bfcfc9;border-radius:12px;background:#f7faf8}.import-placeholder b{display:block}.import-placeholder p{margin:4px 0 0;color:var(--muted);font-size:11px}
.site-footer{max-width:var(--max);margin:0 auto;padding:0 24px 34px;color:var(--muted);font-size:10.5px}
@media(max-width:900px){.hero-grid,.analysis-card{grid-template-columns:1fr}.market-grid{grid-template-columns:repeat(3,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.header-inner{padding:0 13px}.header-inner nav{display:none}.page{padding:14px 12px 50px}.stats,.spot-summary,.contract-line{grid-template-columns:repeat(2,1fr)}.market-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:1fr}.own-toolbar{align-items:stretch;flex-direction:column}.own-toolbar select{width:100%}.own-cta{grid-template-columns:1fr}}

/* v0.0.4 history */
.history-toolbar-panel{padding:16px 18px}.history-toolbar{display:flex;justify-content:space-between;gap:22px;align-items:end;flex-wrap:wrap}.term-links{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.term-links a{text-decoration:none;padding:6px 9px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:#607178;font-size:10.5px;font-weight:750}.term-links a.active{background:var(--petrol);color:#fff;border-color:var(--petrol)}
.history-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:17px}.history-kpis article{padding:14px;border-radius:12px;border:1px solid #ddd8e6;background:linear-gradient(145deg,#faf9fc,#f2eff6)}.history-kpis span{display:block;color:#7d7487;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em}.history-kpis strong{display:block;font-size:20px;color:#5d5470;margin-top:3px}.history-kpis small{color:#887f90;font-size:10px}
.history-chart-wrap{height:330px;padding:14px 16px 4px}.history-chart-wrap svg{width:100%;height:100%}.history-legend{display:flex;gap:16px;padding:0 20px 17px;color:var(--muted);font-size:10px}.history-legend span:before{content:"";display:inline-block;width:16px;height:3px;border-radius:4px;margin-right:6px;vertical-align:2px}.history-legend .best:before{background:var(--petrol)}.history-legend .median:before{background:var(--teal)}.history-legend .band:before{height:8px;background:rgba(118,108,142,.17);border:1px solid rgba(118,108,142,.22)}
.empty-state{padding:28px 20px}.empty-state b{display:block;margin-bottom:5px}.empty-state p{margin:0;color:var(--muted);font-size:11px}.empty-state code{padding:2px 5px;border-radius:5px;background:#eef2f0;color:#31525a}
@media(max-width:720px){.history-kpis{grid-template-columns:repeat(2,1fr)}.history-chart-wrap{height:270px}}


/* v0.0.5 live spot */
.source-pill{padding:4px 8px;border-radius:999px;background:#e8f1ee;color:#3f7566;font-size:9.5px;font-weight:820}
.spot-chart-wrap{height:350px;padding:14px 16px 2px}.spot-chart-wrap svg{width:100%;height:100%}
.spot-chart-legend{display:flex;gap:15px;padding:0 18px 17px;color:var(--muted);font-size:10px}.spot-chart-legend span:before{content:"";display:inline-block;width:13px;height:8px;border-radius:2px;margin-right:5px}.spot-chart-legend .cheap:before{background:#4d8768}.spot-chart-legend .normal:before{background:#2f6976}.spot-chart-legend .high:before{background:#b7655e}
.source-explain{padding:18px}.source-explain b{font-size:13px}.source-explain p{margin:4px 0 0;color:var(--muted);font-size:11px;max-width:900px}
@media(max-width:700px){.spot-chart-wrap{height:280px}.spot-summary{grid-template-columns:repeat(2,1fr)}}

/* v0.0.6 auth, sites and incremental Datahub import */
.nav-form{display:inline-flex;margin:0}.nav-form button{border:0;background:transparent;color:#53666d;font:inherit;font-weight:700;padding:8px 10px;border-radius:8px;cursor:pointer}.nav-form button:hover{background:#eaf1ee;color:var(--petrol)}
.flash{max-width:1390px;margin:12px auto 0;padding:10px 13px;border-radius:10px;font-size:11.5px;border:1px solid var(--line);background:#fff}.flash-success{background:#e9f3ec;border-color:#cfe2d5;color:#386e52}.flash-warning{background:#faf3e4;border-color:#ead8ad;color:#7b6129}.flash-error{background:#f9eae8;border-color:#e7c8c4;color:#8f4843}
.auth-page{display:grid;place-items:start center;padding-top:54px}.auth-card{width:min(100%,470px);padding:25px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow)}.auth-card h1{margin:5px 0 3px;font-size:28px;letter-spacing:-.035em}.auth-card>p{color:var(--muted);font-size:11.5px;margin:0 0 17px}.stack-form{display:grid;gap:12px}.stack-form label{display:grid;gap:5px;color:#56686e;font-size:10.5px;font-weight:760}.stack-form label small{font-weight:500;color:var(--muted)}.stack-form input,.stack-form select,.wide-form input{width:100%;height:40px;border:1px solid #cbd8d3;border-radius:9px;padding:0 10px;background:#fff;color:var(--ink)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:8px 12px;border-radius:9px;font-weight:800;font-size:11px;text-decoration:none}.primary-button{border:1px solid var(--petrol);background:var(--petrol);color:#fff;cursor:pointer}.primary-button:hover{background:#286572}.secondary-button{border:1px solid #cbd8d3;background:#fff;color:var(--petrol)}.form-error{padding:10px 12px;margin:0 0 13px;border:1px solid #e5c6c2;border-radius:9px;background:#faecea;color:#8b4641;font-size:11px}.large-error{margin:17px}.auth-switch{margin-top:14px!important}.auth-switch a{color:var(--petrol);font-weight:800}
.narrow-page{max-width:920px}.form-panel{padding:18px}.wide-form{gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.form-actions{display:flex;justify-content:flex-end;gap:8px;align-items:center}.padded-actions{padding:17px}.toolbar-meta{margin:0;color:var(--muted);font-size:10.5px}.site-switcher{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.site-switcher label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:750}.site-switcher select{min-width:245px;height:39px;border:1px solid #ccd8d3;border-radius:9px;background:#fff;padding:0 9px;color:var(--ink)}.small-kpi{font-size:16px!important;line-height:1.2;margin-top:6px!important}.notice-info{background:#edf4f7;border-color:#d2e0e7;color:#496873}.notice-warning{margin:15px 17px 0;background:#faf3e4;border-color:#ead8ad;color:#775d28}.empty-state.compact{padding:18px}.data-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px}.data-status-grid div{padding:13px;border:1px solid #dfe7e4;border-radius:10px;background:#f8faf9}.data-status-grid span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.data-status-grid b{display:block;margin-top:3px}
.import-content{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;padding:18px}.import-explain{padding:15px;border:1px solid #d8e5e0;border-radius:11px;background:#f5f9f7}.import-explain b{display:block}.import-explain p,.import-explain li{font-size:10.5px;color:#617379}.import-explain ul{margin:9px 0 0;padding-left:18px}.upload-form{display:grid;align-content:start;gap:11px}.upload-form label{display:grid;gap:5px;color:#5f7076;font-size:10.5px;font-weight:750}.upload-form input[type=file]{padding:9px;border:1px dashed #bfcfca;border-radius:9px;background:#fff}.upload-form select{height:39px;border:1px solid #cbd8d3;border-radius:9px;background:#fff;padding:0 9px}.warning-pill{padding:4px 8px;border-radius:999px;background:#f4e5c6;color:#836628;font-size:9.5px;font-weight:820}.conflict-panel{border-color:#e6d5ae}.status-badge{display:inline-block;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:800;background:#edf1f0;color:#627278}.status-completed{background:#e4f0e8;color:#3f7356}.status-conflict{background:#f4e7c9;color:#826529}.status-failed{background:#f6e3e1;color:#914d47}
.series-choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px}.series-choice-grid article{padding:13px;border:1px solid #dbe3e0;border-radius:10px;background:#fafcfb}.series-choice-grid span{display:block;color:var(--muted);font-size:9.5px}.series-choice-grid strong{display:block;margin:2px 0}.series-choice-grid small{color:var(--muted);font-size:10px}.preview-select-form{padding:0 17px 18px;max-width:420px}.preview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:17px}.preview-kpis article{padding:13px;border:1px solid #dce5e1;border-radius:10px;background:#f8faf9}.preview-kpis article.good{background:#e9f2eb;border-color:#d3e3d8}.preview-kpis article.muted-card{background:#f1f3f2}.preview-kpis article.warning-card{background:#faf3e4;border-color:#ead9af}.preview-kpis span,.preview-meta span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.preview-kpis strong{display:block;font-size:21px;margin-top:2px}.preview-kpis small{font-size:10px;color:var(--muted)}.preview-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:0 17px 17px}.preview-meta div{padding:11px;border-radius:9px;background:#f5f8f7;border:1px solid #e0e7e4}.preview-meta b{display:block;margin-top:3px;font-size:11px;word-break:break-word}
@media(max-width:850px){.import-content{grid-template-columns:1fr}.preview-kpis{grid-template-columns:repeat(2,1fr)}.preview-meta{grid-template-columns:1fr}.series-choice-grid{grid-template-columns:1fr}.data-status-grid{grid-template-columns:1fr}}
@media(max-width:620px){.form-grid{grid-template-columns:1fr}.site-switcher{align-items:stretch}.site-switcher select{width:100%}.form-actions{justify-content:stretch;flex-direction:column}.form-actions>*{width:100%}.preview-kpis{grid-template-columns:1fr}.nav-form{display:none}}

/* v0.0.7 personal historical backtest */
.backtest-controls-panel{padding:16px;margin-bottom:14px;border:1px solid #d8e2df;border-radius:14px;background:linear-gradient(130deg,#f7faf9,#edf4f2);box-shadow:var(--shadow)}.backtest-form{display:grid;grid-template-columns:1.25fr repeat(4,1fr) auto;gap:9px;align-items:end}.backtest-form label{display:grid;gap:4px;color:#5f7076;font-size:9.5px;font-weight:760}.backtest-form label span{font-weight:500;color:var(--muted)}.backtest-form input,.backtest-form select{width:100%;height:38px;border:1px solid #cbd7d3;border-radius:8px;background:#fff;padding:0 9px;color:var(--ink)}.analysis-period{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:0 2px;color:var(--muted);font-size:10.5px}.analysis-period b{color:var(--ink);font-size:11.5px}.backtest-hero-real{display:grid;grid-template-columns:1.35fr .65fr;gap:14px;padding:20px;margin-bottom:12px;border:1px solid #d4dfea;border-radius:16px;background:linear-gradient(130deg,#eef4f8,#fbfcfd);box-shadow:var(--shadow)}.backtest-hero-real h2{margin:5px 0;font-size:25px;color:#536e91;letter-spacing:-.03em}.backtest-hero-real p{margin:0;color:var(--muted);font-size:10.8px}.backtest-diff{padding:14px;border-radius:12px;background:#fff;border:1px solid #dce4ea}.backtest-diff span{display:block;color:var(--muted);font-size:9.5px;text-transform:uppercase}.backtest-diff strong{display:block;font-size:24px;margin:4px 0}.backtest-diff small{font-size:10px;color:var(--muted)}.backtest-diff.positive strong{color:var(--sage)}.backtest-diff.negative strong{color:#af5e57}.backtest-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.backtest-kpis article{padding:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.backtest-kpis article.good{background:#e9f2eb}.backtest-kpis article.plum{background:#f1eef5}.backtest-kpis article.blue{background:#eef2f8}.backtest-kpis span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.backtest-kpis strong{display:block;font-size:20px;margin:3px 0}.backtest-kpis small{font-size:9.5px;color:var(--muted)}.money-good{color:#3f7b5b;font-weight:800}.money-bad{color:#ad5b55;font-weight:800}.calculation-notes{padding:17px}.calculation-notes p{margin:0 0 9px;color:#617279;font-size:10.7px;max-width:1000px}.calculation-notes p:last-child{margin-bottom:0}
@media(max-width:1050px){.backtest-form{grid-template-columns:repeat(3,1fr)}.backtest-kpis{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.backtest-form{grid-template-columns:1fr}.backtest-hero-real{grid-template-columns:1fr}.backtest-kpis{grid-template-columns:1fr}.analysis-period{align-items:flex-start;flex-direction:column}}

/* v0.0.9 site contract history */
.contract-form-wrap{padding:17px}.contract-history-form{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}.contract-history-form label{display:grid;gap:4px;color:#5e7076;font-size:9.5px;font-weight:760}.contract-history-form label span,.contract-history-form label small{font-weight:500;color:var(--muted)}.contract-history-form input,.contract-history-form select,.contract-history-form textarea{width:100%;border:1px solid #cbd8d3;border-radius:8px;background:#fff;color:var(--ink);padding:8px 9px}.contract-history-form input,.contract-history-form select{height:38px}.contract-history-form textarea{resize:vertical}.contract-notes{grid-column:span 3}.danger-link{border:0;background:transparent;color:#a5534d;font:inherit;font-size:10px;font-weight:780;cursor:pointer;padding:4px}.actual-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px}.actual-summary-grid article{padding:13px;border:1px solid #dce4e1;border-radius:10px;background:#f8faf9}.actual-summary-grid span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.actual-summary-grid strong{display:block;font-size:19px;margin:3px 0}.actual-summary-grid small{font-size:9.5px;color:var(--muted)}
@media(max-width:1000px){.contract-history-form{grid-template-columns:repeat(2,1fr)}.contract-notes{grid-column:span 1}.actual-summary-grid{grid-template-columns:1fr}}
@media(max-width:650px){.contract-history-form{grid-template-columns:1fr}}

/* v0.0.9 personal dashboard charts + savings */
.site-switcher{display:flex;align-items:end;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid #ccd8d3;border-radius:9px;background:#fff;text-decoration:none;color:#52676d;font-size:10.5px;font-weight:760}
.secondary-button:hover{border-color:#aac0b8;color:var(--petrol);background:#f7faf8}
.primary-button{border:1px solid var(--petrol);border-radius:9px;background:var(--petrol);color:#fff;padding:9px 12px;font-weight:800}
.small-kpi{font-size:15px!important;line-height:1.3;letter-spacing:-.015em}
.dashboard-chart-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.dashboard-chart-card{min-width:0}.dashboard-mini-chart{height:230px;padding:10px 12px 3px}.dashboard-mini-chart svg{width:100%;height:100%}
.personal-chart-wrap{height:340px;padding:12px 16px 2px}.personal-chart-wrap svg{width:100%;height:100%}.personal-chart-foot{padding:0 18px 16px;color:var(--muted);font-size:10px}
.savings-panel{display:grid;grid-template-columns:1fr 260px;gap:18px;align-items:stretch;margin-bottom:17px;padding:20px;border:1px solid #d7e0dc;border-radius:17px;background:linear-gradient(130deg,#f4f7f5,#fbfcfb);box-shadow:var(--shadow)}
.savings-panel.has-saving{background:linear-gradient(130deg,#edf6ef,#fbfcfb);border-color:#cee0d3}
.savings-main h2{margin:5px 0 5px;font-size:21px;letter-spacing:-.025em}.savings-main p{margin:0;color:var(--muted);font-size:11px;max-width:820px}.savings-warning{margin-top:11px;padding:9px 10px;border-radius:8px;background:#faf4e7;border:1px solid #ead8ae;color:#735f32;font-size:10.5px}
.savings-best{padding:14px;border-radius:12px;background:#fff;border:1px solid #d6e2dd;display:flex;flex-direction:column;justify-content:center}.savings-best span{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.savings-best strong{display:block;font-size:25px;color:var(--sage);margin:2px 0}.savings-best small{color:var(--muted);font-size:10px}.savings-best a{margin-top:9px;text-decoration:none;font-size:10.5px;font-weight:800;color:var(--petrol)}
.contract-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}.contract-actions form{margin:0}.table-edit-link{text-decoration:none;color:var(--petrol);font-weight:780;font-size:10.5px}.danger-link{border:0;background:transparent;color:#a55b54;padding:0;font-weight:760;font-size:10.5px}
.contract-form-wrap{padding:17px}.contract-history-form{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.contract-history-form label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:760}.contract-history-form label span,.contract-history-form label small{font-weight:500}.contract-history-form input,.contract-history-form select,.contract-history-form textarea{width:100%;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:var(--ink);padding:9px}.contract-history-form input,.contract-history-form select{height:39px}.contract-notes{grid-column:span 4}.form-actions{grid-column:span 4;display:flex;justify-content:flex-end;gap:8px;align-items:center}.form-error{margin-bottom:12px;padding:10px;border-radius:8px;background:#faecea;border:1px solid #edcfca;color:#874c46;font-size:11px}
.data-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:17px}.data-status-grid div{padding:12px;border:1px solid #e0e7e4;border-radius:10px;background:#f8faf9}.data-status-grid span{display:block;font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.data-status-grid b{display:block;margin-top:3px;font-size:13px}
@media(max-width:1000px){.dashboard-chart-grid{grid-template-columns:1fr}.savings-panel{grid-template-columns:1fr}.contract-history-form{grid-template-columns:repeat(2,1fr)}.contract-notes,.form-actions{grid-column:span 2}.data-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.site-switcher{justify-content:flex-start}.dashboard-mini-chart{height:210px}.personal-chart-wrap{height:280px}.contract-history-form{grid-template-columns:1fr}.contract-notes,.form-actions{grid-column:span 1}.form-actions{justify-content:stretch;flex-direction:column}.form-actions>*{width:100%}.data-status-grid{grid-template-columns:1fr}}


/* v0.0.10 personal analysis snapshot history */
.analysis-history-chart{height:360px;padding:12px 16px 2px}.analysis-history-chart.compact{height:280px}.analysis-history-chart svg{width:100%;height:100%}.analysis-history-legend{display:flex;gap:18px;flex-wrap:wrap;padding:0 18px 16px;color:var(--muted);font-size:10px}.analysis-history-legend span{display:flex;align-items:center;gap:6px}.analysis-history-legend i{display:block;width:20px;height:3px;border-radius:3px}.legend-own{background:#766c8e}.legend-best{background:#1d5361}.legend-median{background:#7e908a}.history-days select{height:34px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:var(--ink);padding:0 8px;font-size:10.5px}.analysis-snapshot-mini{margin-top:17px}.analysis-snapshot-mini .empty-state{margin:16px}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:820px}.data-table th{padding:9px 11px;border-bottom:1px solid var(--line);text-align:left;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.data-table td{padding:10px 11px;border-bottom:1px solid #edf1ef;font-size:10.5px;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}
@media(max-width:650px){.analysis-history-chart{height:300px;padding-left:8px;padding-right:8px}.analysis-history-chart.compact{height:240px}}


/* v0.0.11 personal price alerts */
.alert-create-form{display:grid;grid-template-columns:1.35fr repeat(4,1fr) auto;gap:10px;align-items:end;padding:17px}.alert-create-form>label{display:grid;gap:4px;color:var(--muted);font-size:9.5px;font-weight:760}.alert-create-form input,.alert-create-form select{height:38px;border:1px solid #ccd8d3;border-radius:8px;padding:0 9px;background:#fff;color:var(--ink)}.alert-create-form fieldset{border:1px solid #d8e2de;border-radius:9px;padding:6px 9px;display:flex;gap:8px;align-items:center;min-height:38px}.alert-create-form fieldset legend{font-size:9px;color:var(--muted);padding:0 3px}.alert-create-form fieldset label{font-size:9.5px;color:#586a70;white-space:nowrap}.alert-create-form fieldset input{height:auto}.form-help{padding:0 17px 16px;margin:0;color:var(--muted);font-size:10px}.alert-list{padding:0 17px}.alert-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.alert-row:last-child{border-bottom:0}.alert-row b{display:block;font-size:11.5px}.alert-row span{display:block;color:var(--muted);font-size:10px;margin-top:2px}.alert-row-actions{display:flex;align-items:center;gap:8px}.alert-row-actions form{margin:0}.alert-event-list{padding:4px 17px}.alert-event-list article{padding:12px 0;border-bottom:1px solid var(--line)}.alert-event-list article:last-child{border-bottom:0}.alert-event-list time{display:block;color:var(--muted);font-size:9.5px}.alert-event-list b{display:block;margin:2px 0;font-size:11.5px}.alert-event-list p{margin:0;color:#64757b;font-size:10.5px}
@media(max-width:1150px){.alert-create-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.alert-create-form{grid-template-columns:1fr}.alert-row{align-items:flex-start;flex-direction:column}.alert-row-actions{width:100%;justify-content:space-between}}

/* v0.0.12 multiple sites management */
.portfolio-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.portfolio-head h1{margin:3px 0 4px}.portfolio-head p{margin:0;color:var(--muted);max-width:760px;font-size:11px}.portfolio-kpis{margin-bottom:18px}.site-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.site-card{padding:17px;position:relative}.site-card.is-default{border-color:#bdd3c6;box-shadow:0 12px 34px rgba(55,106,74,.08)}.site-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.site-card-top h2{margin:5px 0 2px;font-size:18px;letter-spacing:-.025em}.site-card-top p{margin:0;color:var(--muted);font-size:10.5px}.site-card-badges{display:flex;gap:5px;align-items:center}.site-card-badges span{display:inline-flex;padding:3px 6px;border-radius:999px;background:#eef3f1;color:#5f7377;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.site-card-badges .default-badge{background:#e5f1e8;color:#447158}.site-card-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.site-card-stats div{padding:10px;border-radius:9px;background:#f7f9f8;border:1px solid #e2e8e5;min-width:0}.site-card-stats span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.site-card-stats b{display:block;margin-top:2px;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-card-detail{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:9.5px}.site-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px solid var(--line)}.site-card-actions form{margin:0}.danger-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid #dfbbb6;border-radius:9px;background:#fff8f7;text-decoration:none;color:#98554f;font-size:10.5px;font-weight:780}.danger-outline-button:hover{background:#f9ece9;border-color:#d79f98}.portfolio-note{display:flex;gap:8px;align-items:baseline;margin-top:16px;padding:12px 14px;border-radius:11px;background:#edf3f0;border:1px solid #d8e3de;color:#60736e;font-size:10.5px}.portfolio-note b{color:#365e52}.portfolio-empty{text-align:center;padding:32px}.portfolio-empty .primary-button{display:inline-flex;text-decoration:none;margin-top:10px}.danger-zone{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:18px;padding:17px;border:1px solid #e5c8c4;border-radius:13px;background:#fff9f8}.danger-zone h2{font-size:15px;margin:3px 0}.danger-zone p{margin:0;color:#806863;font-size:10.5px;max-width:700px}.danger-text{color:#9c514b}.deletion-summary{padding:17px}.deletion-warning{padding:13px;border:1px solid #e5c7c2;border-radius:10px;background:#fff5f3}.deletion-warning b{color:#934e48}.deletion-warning p{margin:3px 0 0;color:#7f6661;font-size:10.5px}.deletion-count-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.deletion-count-grid div{padding:11px;border:1px solid #e0e7e4;border-radius:9px;background:#f8faf9}.deletion-count-grid span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.04em}.deletion-count-grid strong{display:block;margin-top:2px;font-size:18px}.delete-confirm-panel{padding:17px;margin-top:16px}.delete-confirm-form label{display:grid;gap:6px;color:#5e6f74;font-size:10.5px}.delete-confirm-form input{height:40px;border:1px solid #d7bbb7;border-radius:8px;padding:0 10px;background:#fff}.danger-button{border:1px solid #a85c55;border-radius:9px;background:#a85c55;color:#fff;padding:9px 12px;font-weight:800}.form-grid select{width:100%;height:39px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:var(--ink);padding:0 9px}
@media(max-width:1050px){.site-card-grid{grid-template-columns:1fr}.site-card-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.portfolio-head{align-items:flex-start;flex-direction:column}.portfolio-head .primary-button{width:100%;text-decoration:none}.site-card-top{flex-direction:column}.site-card-top>.secondary-button{width:100%}.site-card-stats{grid-template-columns:1fr 1fr}.site-card-detail{flex-direction:column}.portfolio-note{align-items:flex-start;flex-direction:column}.danger-zone{align-items:flex-start;flex-direction:column}.danger-zone .danger-outline-button{width:100%}.deletion-count-grid{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.site-card-stats,.deletion-count-grid{grid-template-columns:1fr}}

/* v0.0.13 admin monitoring */
.admin-area{background:#eef1ef}.admin-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.admin-head h1{margin:3px 0 4px}.admin-head p{margin:0;color:var(--muted);font-size:11px}.admin-tabs{display:flex;gap:5px;flex-wrap:wrap}.admin-tabs a{padding:8px 10px;border:1px solid #ccd7d3;border-radius:8px;background:#fff;text-decoration:none;color:#64747a;font-size:10.5px;font-weight:760}.admin-tabs a.active{background:var(--petrol);border-color:var(--petrol);color:#fff}.admin-kpis{margin-bottom:17px}.admin-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:17px;margin-bottom:17px}.admin-source-list{padding:5px 17px}.admin-source-row{display:grid;grid-template-columns:10px minmax(180px,1fr) 90px 155px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.admin-source-row:last-child{border-bottom:0}.admin-source-row b{display:block;font-size:11px}.admin-source-row small{display:block;color:var(--muted);font-size:9px}.admin-source-row time{color:var(--muted);font-size:9.5px;text-align:right}.source-status{text-transform:uppercase;font-size:8.5px;font-weight:850;letter-spacing:.05em}.health-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#a8b2af}.health-ok{background:#4d8768}.health-warning{background:#b28a43}.health-failed{background:#b75f58}.health-never{background:#89959a}.admin-review-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:17px}.admin-review-summary div{padding:12px;border:1px solid #e0e7e4;border-radius:9px;background:#f8faf9}.admin-review-summary span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase}.admin-review-summary strong{display:block;font-size:22px;margin-top:2px}.admin-note{margin:0;padding:0 17px 17px;color:var(--muted);font-size:10px}.source-health-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:17px}.source-health-card{padding:15px}.source-health-title{display:flex;gap:9px;align-items:flex-start}.source-health-title .health-dot{margin-top:5px}.source-health-title h2{margin:0;font-size:13px}.source-health-title p{margin:1px 0 0;color:var(--muted);font-size:9px}.source-health-card dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:13px 0}.source-health-card dl div{padding:8px;border-radius:8px;background:#f7f9f8;border:1px solid #e2e8e5}.source-health-card dt{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.source-health-card dd{margin:2px 0 0;font-size:10px;font-weight:750}.source-message{min-height:32px;margin:0 0 9px;color:#65757a;font-size:9.5px}.source-url{text-decoration:none;color:var(--petrol);font-size:9.5px;font-weight:780}.status-pill{display:inline-flex;padding:2px 6px;border-radius:999px;font-size:8px;font-weight:850;text-transform:uppercase}.status-ok{background:#e6f1e9;color:#47745a}.status-warning{background:#f7efd9;color:#876c35}.status-failed{background:#f8e6e3;color:#98544e}.message-cell{max-width:420px;white-space:normal!important}.review-list{padding:4px 17px}.review-list article{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}.review-list article:last-child{border-bottom:0}.review-list b{display:block;font-size:11px}.review-list p{margin:2px 0 0;color:var(--muted);font-size:9.8px}.review-list a{text-decoration:none;color:var(--petrol);font-size:9.5px;font-weight:780}.admin-safety-note{display:flex;gap:8px;align-items:baseline;margin-top:17px;padding:12px 14px;border:1px solid #e5dbc2;border-radius:10px;background:#faf6ea;color:#776944;font-size:10px}.admin-safety-note b{color:#695826}
@media(max-width:1100px){.source-health-grid{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.admin-source-row{grid-template-columns:10px 1fr 80px}.admin-source-row time{grid-column:2/4;text-align:left}}
@media(max-width:700px){.admin-head{align-items:flex-start;flex-direction:column}.admin-tabs{width:100%}.admin-tabs a{flex:1;text-align:center}.source-health-grid{grid-template-columns:1fr}.admin-review-summary{grid-template-columns:1fr}.review-list article{grid-template-columns:10px 1fr}.review-list article>a{grid-column:2}.admin-safety-note{align-items:flex-start;flex-direction:column}}

/* v0.0.14 Datahub conflict resolution */
.conflict-head{align-items:flex-start}.conflict-head-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.conflict-head-actions form,.conflict-actions form{margin:0}.conflict-safety{display:flex;gap:8px;align-items:baseline;padding:11px 17px;background:#fbf7eb;border-bottom:1px solid #eadfbe;color:#756943;font-size:10px}.conflict-safety b{color:#665727}.conflict-table{min-width:1050px}.conflict-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}.incoming-value-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border:1px solid #cba9a5;border-radius:9px;background:#fff6f4;color:#95554f;font-size:10.5px;font-weight:780;cursor:pointer}.incoming-value-button:hover{background:#f8e8e5}.conflict-diff-strong{color:#a3544e;font-weight:800}
@media(max-width:700px){.conflict-head-actions{align-items:stretch;flex-direction:column}.conflict-head-actions>*{width:100%}.conflict-head-actions .warning-pill{width:auto;align-self:flex-start}.conflict-safety{align-items:flex-start;flex-direction:column}}

/* v0.0.15 persistent offer review queue */
.trust-status-strip{display:flex;gap:7px;flex-wrap:wrap;margin:-5px 0 17px}.trust{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.025em}.trust-verified{background:#e4f0e7;color:#477158}.trust-source{background:#eaf0f3;color:#526d79}.trust-conflict{background:#f7e4e1;color:#98544e}.trust-stale{background:#f6efd9;color:#806934}
.persistent-review-list{display:grid;gap:13px}.review-card{margin:0;overflow:hidden}.review-card.severity-critical{border-color:#dfbbb6}.review-card.severity-warning{border-color:#e4d7b8}.review-card-head{display:flex;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid var(--line)}.review-kind{font-size:8.5px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.review-card-head h2{font-size:14px;margin:3px 0}.review-card-head p{margin:0;color:var(--muted);font-size:10.5px;max-width:800px}.review-meta{display:flex;align-items:flex-end;flex-direction:column;gap:4px;white-space:nowrap}.review-meta small,.review-meta time{font-size:9px;color:var(--muted)}.severity-pill{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;text-transform:uppercase}.severity-critical{background:#f6dfdc;color:#944c47}.severity-warning{background:#f6edd4;color:#816733}.severity-info{background:#e8eff2;color:#506d78}
.review-price-compare{display:grid;grid-template-columns:1fr 36px 1fr;gap:8px;align-items:center;padding:15px 18px;background:#fafcfb}.review-price-compare>div:not(.arrow){padding:12px;border:1px solid #dee6e2;border-radius:10px;background:#fff}.review-price-compare .proposed{background:#fff6f4;border-color:#e6c9c5}.review-price-compare span{display:block;font-size:8.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.review-price-compare b{display:block;font-size:17px;margin:2px 0}.review-price-compare small{color:var(--muted);font-size:9.5px}.review-price-compare .arrow{text-align:center;color:#89979b;font-size:18px}.review-reasons{display:flex;gap:6px;flex-wrap:wrap;padding:0 18px 14px;background:#fafcfb}.review-reasons span{padding:4px 7px;border-radius:7px;background:#f7e8e5;color:#875650;font-size:9px;font-weight:700}
.review-card-footer{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;padding:13px 18px}.review-source{display:grid;gap:2px}.review-source a{text-decoration:none;color:var(--petrol);font-size:10px;font-weight:780}.review-source small{color:var(--muted);font-size:8.5px}.review-actions{display:flex;gap:7px;align-items:end;flex-wrap:wrap}.review-actions form{display:flex;gap:6px;align-items:center;margin:0}.review-actions input{width:180px;height:36px;border:1px solid #cfdad6;border-radius:8px;padding:0 8px;font-size:10px}.review-actions button{white-space:nowrap}
@media(max-width:850px){.review-card-head,.review-card-footer{align-items:flex-start;flex-direction:column}.review-meta{align-items:flex-start}.review-price-compare{grid-template-columns:1fr}.review-price-compare .arrow{transform:rotate(90deg)}.review-actions{width:100%;display:grid}.review-actions form{display:grid;grid-template-columns:1fr auto}.review-actions input{width:100%}}
@media(max-width:520px){.review-actions form{grid-template-columns:1fr}.review-actions button{width:100%}}
.offer-trust{display:inline-flex;margin:3px 5px 2px 0;padding:2px 5px;border-radius:999px;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.offer-trust-verified{background:#e4f0e7;color:#477158}.offer-trust-source_only{background:#eaf0f3;color:#526d79}

/* v0.0.19 public cost comparison */
.consumption-toolbar{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 17px}.consumption-toolbar>div>strong{display:block;font-size:20px;color:var(--petrol);margin:2px 0}.consumption-toolbar>div>small{display:block;color:var(--muted);font-size:9.5px}.consumption-form{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.consumption-presets{display:flex;gap:4px}.consumption-presets button{height:36px;border:1px solid #ccd7d3;border-radius:8px;background:#fff;color:#617279;padding:0 9px;font-size:10px;font-weight:760}.consumption-presets button.active{background:var(--petrol);border-color:var(--petrol);color:#fff}.consumption-form label{display:flex;gap:5px;align-items:center;color:var(--muted);font-size:9.5px}.consumption-form input{width:105px;height:36px;border:1px solid #ccd7d3;border-radius:8px;background:#fff;padding:0 8px;color:var(--ink)}.consumption-form .primary-button{min-height:36px}.cost-table{min-width:1100px}.best-cost-row{background:#f5faf7}.best-cost-row td:first-child{box-shadow:inset 3px 0 0 #5c8b6b}.best-cost-badge,.new-customer-badge{display:inline-flex;margin:5px 5px 0 0;padding:2px 5px;border-radius:999px;font-size:7.5px;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.best-cost-badge{background:#e3f0e7;color:#47735a}.new-customer-badge{background:#edf0f6;color:#5c6d8c}.annual-cost-cell b{display:block;font-size:14px;color:var(--petrol)}.annual-cost-cell small{font-size:8.8px}.annual-cost-cell .cost-diff{color:#8d6841}.ineligible-row{opacity:.56}.cost-method-note{margin:0;padding:0 18px 17px;color:var(--muted);font-size:9.7px}.cost-method-note b{color:#52666c}
@media(max-width:800px){.consumption-toolbar{align-items:flex-start;flex-direction:column}.consumption-form{width:100%}.consumption-form label{width:100%}.consumption-form input{flex:1}.consumption-presets{width:100%;overflow:auto}.consumption-presets button{flex:1}}

/* v0.0.19 premium public comparison */
.public-premium{padding-top:18px}
.public-intro{display:grid;grid-template-columns:1fr minmax(470px,.8fr);gap:22px;align-items:end;margin:4px 0 18px}
.public-intro h1{max-width:790px;margin:5px 0 6px;font-size:31px;line-height:1.08;letter-spacing:-.045em}
.public-intro p{max-width:760px;margin:0;color:var(--muted);font-size:12px}
.global-kwh-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding:14px 15px;border:1px solid #ceddd7;border-radius:14px;background:linear-gradient(115deg,#edf5f2,#fafbf9);box-shadow:0 8px 26px rgba(34,64,64,.04)}
.global-kwh-card>div:first-child{min-width:150px}.global-kwh-card strong{display:block;font-size:18px;color:#245b60;margin:2px 0}.global-kwh-card small{display:block;color:var(--muted);font-size:9.5px;line-height:1.35}
.global-kwh-actions{display:flex;justify-content:flex-end;gap:5px;align-items:center;flex-wrap:wrap}.global-kwh-actions>button{height:32px;padding:0 9px;border:1px solid #cbd8d3;border-radius:8px;background:#fff;color:#5e7075;font-size:10px;font-weight:780}.global-kwh-actions>button.active{background:var(--petrol);border-color:var(--petrol);color:#fff}.global-kwh-actions label{display:flex;align-items:center;gap:5px;font-size:9.5px;color:var(--muted);font-weight:750}.global-kwh-actions input{width:75px;height:32px;border:1px solid #cbd8d3;border-radius:8px;padding:0 7px;background:#fff;color:var(--ink)}
.primary-button{border:0;border-radius:8px;background:var(--petrol);color:#fff;padding:0 11px;font-weight:800;font-size:10px;cursor:pointer}
.premium-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:14px}.premium-spot-hero{background:linear-gradient(135deg,#e8f4ef,#f8fbf9 65%,#eef4f6);position:relative;overflow:hidden}.premium-spot-hero:after{content:"";position:absolute;right:-75px;top:-95px;width:260px;height:260px;border-radius:50%;border:45px solid rgba(35,94,102,.035);pointer-events:none}.hero-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.live-pill{padding:3px 7px;border-radius:999px;background:#eee9e0;color:#8b7244;font-size:8px;font-weight:880;letter-spacing:.06em}.live-pill.live{background:#e1eee7;color:#427257}.premium-spot-hero .stats small{display:block;color:var(--muted);font-size:8.5px}.text-action{display:inline-block;margin-top:16px;text-decoration:none;color:var(--petrol);font-size:10.5px;font-weight:800}.best-offer-card{background:linear-gradient(145deg,#f4eff6,#fbfafc);border-color:#ded8e6}.trust-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4e8063;box-shadow:0 0 0 4px rgba(78,128,99,.09)}.best-company{display:block;margin-top:20px;color:#786e87;font-size:10px;text-transform:uppercase;letter-spacing:.07em}.best-offer-card h2{margin:3px 0 12px;font-size:17px;color:#524b5e}.best-price-line{display:flex;align-items:baseline;gap:5px}.best-price-line b{font-size:34px;letter-spacing:-.045em;color:#5f5671}.best-price-line span{color:#81788a;font-size:10px}.best-meta{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.best-meta span{padding:4px 7px;border:1px solid #ded8e6;border-radius:7px;background:#fff;color:#6f657b;font-size:9px;font-weight:760}.premium-button{display:inline-block;text-decoration:none;margin-top:7px;padding:8px 11px;border-radius:8px;background:#645b75;color:#fff;font-size:10.5px;font-weight:800}
.premium-market-panel{background:linear-gradient(180deg,#fff,#fafbf9)}.premium-market-grid{gap:8px}.premium-market-grid article{position:relative;overflow:hidden;padding:14px 13px 12px;border:0;box-shadow:inset 0 0 0 1px rgba(33,65,70,.07)}.premium-market-grid article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#5f7e83}.premium-market-grid .market-tone-0{background:#edf6f2}.premium-market-grid .market-tone-0:before{background:#4e8063}.premium-market-grid .market-tone-1{background:#eef3f7}.premium-market-grid .market-tone-1:before{background:#657fa6}.premium-market-grid .market-tone-2{background:#f2eff5}.premium-market-grid .market-tone-2:before{background:#766c8e}.premium-market-grid .market-tone-3{background:#f6f1e7}.premium-market-grid .market-tone-3:before{background:#a98342}.premium-market-grid .market-tone-4{background:#edf5f4}.premium-market-grid .market-tone-4:before{background:#3d887d}.premium-market-grid .market-tone-5{background:#f6efed}.premium-market-grid .market-tone-5:before{background:#aa6960}.premium-market-grid strong{font-size:21px}.premium-market-grid>article>small{font-size:8.3px;text-transform:none}.market-company{margin-top:8px;font-size:9.5px;font-weight:760;color:#58696e}.market-annual{display:inline-flex;margin-top:4px;padding:2px 5px;border-radius:6px;background:rgba(255,255,255,.67);font-size:9.5px;font-weight:830;color:#385f61}
.decision-section{margin:23px 0 17px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:9px}.section-heading h2{margin:3px 0 0;font-size:16px}.section-heading>a{font-size:10.5px;text-decoration:none;color:var(--petrol);font-weight:800}.decision-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.decision-card{padding:14px;border-radius:13px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.decision-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.decision-card-top>span{padding:3px 6px;border-radius:6px;background:#e8f1ee;color:#477066;font-size:8.5px;font-weight:850}.verified-mark{font-style:normal;color:#6c7e79;font-size:7.8px}.decision-card h3{margin:11px 0 0;font-size:13px}.decision-card p{margin:0 0 9px;color:var(--muted);font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.decision-card>strong{font-size:22px;color:var(--petrol);letter-spacing:-.035em}.decision-card>strong small{font-size:9px;color:var(--muted);letter-spacing:0;margin-left:2px}.decision-detail{display:flex;gap:8px;margin-top:8px;padding-top:7px;border-top:1px solid #edf1ef}.decision-detail span{color:#6d7c80;font-size:8.8px}.campaign-chip{display:inline-block;margin-top:7px;padding:2px 5px;border-radius:5px;background:#f3ede1;color:#8b6b32;font-size:8.3px;font-weight:760}
.compact-offers-panel .premium-table{min-width:780px}.changes-panel{background:#fbfaf7}.change-feed{padding:5px 17px 13px}.change-feed article{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:13px;align-items:center;padding:10px 2px;border-bottom:1px solid #ebece8}.change-feed article:last-child{border-bottom:0}.change-feed time{color:#899195;font-size:9px}.change-feed b{display:block;font-size:10.5px}.change-feed article>div>span{display:block;color:var(--muted);font-size:8.8px}.change-values{display:flex;align-items:center;gap:7px}.change-values span{padding:3px 6px;border-radius:6px;background:#f2f3f1;color:#758083;font-size:9px}.change-values i{font-style:normal;color:#9aa39f}.change-values strong{padding:3px 6px;border-radius:6px;background:#e9f1ed;color:#47705b;font-size:9.5px}.premium-own-cta{background:linear-gradient(110deg,#173f4b,#235b63 68%,#397970)}.premium-own-cta h2{font-size:19px;max-width:740px}
.premium-page-title{display:flex;justify-content:space-between;align-items:end;gap:22px}.premium-page-title>div:first-child{max-width:850px}.data-confidence{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d5e0dc;border-radius:10px;background:#f8faf8;min-width:205px}.data-confidence b,.data-confidence small{display:block}.data-confidence b{font-size:10px}.data-confidence small{font-size:8.5px;color:var(--muted);margin-top:1px}.premium-consumption-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;background:linear-gradient(105deg,#eef6f2,#f9fbfa)}.consumption-copy strong{display:block;color:var(--petrol);font-size:20px;margin:2px 0}.consumption-copy small{display:block;color:var(--muted);font-size:9.5px}.comparison-summary{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:10px;margin-bottom:17px}.summary-featured{padding:18px;border-radius:15px;background:linear-gradient(140deg,#e9f3ef,#f8fbf9);border:1px solid #d2e2dc;box-shadow:var(--shadow)}.summary-featured h2{margin:9px 0 0;font-size:17px}.summary-featured>p{margin:0;color:var(--muted);font-size:9.5px}.summary-price{display:flex;align-items:baseline;gap:4px;margin:9px 0}.summary-price strong{font-size:31px;color:var(--petrol);letter-spacing:-.045em}.summary-price span{font-size:9.5px;color:var(--muted)}.summary-featured-meta{display:flex;gap:5px;flex-wrap:wrap}.summary-featured-meta b{padding:3px 6px;border-radius:6px;background:#fff;border:1px solid #d6e4df;color:#55706a;font-size:8.5px}.summary-term-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-term-grid article{padding:13px;border-radius:12px;background:#fff;border:1px solid var(--line)}.summary-term-grid span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.05em}.summary-term-grid strong{display:block;margin:2px 0;font-size:19px;color:#5b6f75}.summary-term-grid small{display:block;color:var(--muted);font-size:8.5px}.summary-data-card{background:#f1eef5!important;border-color:#dfd9e6!important}.summary-data-card strong{color:#665d79!important}
.comparison-head{align-items:center}.term-filter{display:flex;gap:4px;flex-wrap:wrap}.term-filter button{border:1px solid #ccd7d3;background:#fff;color:#65757a;border-radius:7px;padding:5px 8px;font-size:9px;font-weight:790;cursor:pointer}.term-filter button.active{background:var(--petrol);border-color:var(--petrol);color:#fff}.premium-contract-table{min-width:1120px}.premium-contract-table td{vertical-align:middle}.premium-contract-table td:nth-child(3)>b{font-size:12.5px}.company-product b{font-size:11.5px}.company-product small{margin-top:1px}.source-cell{min-width:135px}.source-link{display:block;margin-top:4px;color:var(--petrol);text-decoration:none;font-size:8.7px;font-weight:790}.offer-trust{display:inline-flex;margin-top:4px;padding:2px 5px;border-radius:999px;background:#e8f1ee;color:#4e766b;font-size:7.5px;font-weight:850}.offer-trust-verified{background:#e2efe7;color:#477159}.offer-trust-conflict{background:#f5e7e4;color:#9a554f}.offer-trust-stale{background:#f3eee2;color:#88723c}.contract-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.impact-panel{background:linear-gradient(180deg,#fcfbf8,#fff)}.spot-offer-panel{background:linear-gradient(180deg,#f7fbfa,#fff)}.open-offer-panel{margin-top:12px;background:linear-gradient(180deg,#faf8f3,#fff)}.offer-mini-list{padding:3px 16px 8px}.offer-mini-list article{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(130px,.7fr);gap:10px;align-items:center;padding:11px 1px;border-bottom:1px solid #edf0ee}.offer-mini-list article:last-child{border-bottom:0}.offer-mini-list b{display:block;font-size:10.5px}.offer-mini-list article>div>span{display:block;color:var(--muted);font-size:8.7px}.offer-mini-list>article>strong{text-align:right;font-size:15px;color:var(--petrol)}.offer-mini-list>article>strong small{display:block;color:var(--muted);font-size:7.8px;font-weight:600}.mini-meta{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}.mini-meta span{padding:3px 5px;border-radius:6px;background:#f2f5f3;color:#68787b;font-size:8px}.type-note{margin:0;padding:5px 17px 15px;color:var(--muted);font-size:9px}.comparison-trust-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px}.comparison-trust-strip>div{padding:12px 13px;border-radius:11px;border:1px solid #dce4e0;background:#f9faf8}.comparison-trust-strip .trust-dot{margin-right:7px;box-shadow:none;width:6px;height:6px}.comparison-trust-strip b{font-size:9.5px}.comparison-trust-strip small{display:block;margin:4px 0 0 13px;color:var(--muted);font-size:8.4px;line-height:1.45}
.contract-row-hidden{display:none}
@media(max-width:1050px){.public-intro{grid-template-columns:1fr}.global-kwh-card{grid-template-columns:auto 1fr}.decision-grid{grid-template-columns:repeat(2,1fr)}.comparison-summary{grid-template-columns:1fr}.contract-type-grid{grid-template-columns:1fr}}
@media(max-width:800px){.premium-page-title{align-items:flex-start;flex-direction:column}.data-confidence{width:100%}.premium-consumption-toolbar{align-items:flex-start;flex-direction:column}.comparison-trust-strip{grid-template-columns:1fr}.summary-term-grid{grid-template-columns:repeat(2,1fr)}.offer-mini-list article{grid-template-columns:1fr auto}.offer-mini-list .mini-meta{grid-column:1/-1;justify-content:flex-start}.public-intro h1{font-size:27px}}
@media(max-width:620px){.global-kwh-card{grid-template-columns:1fr}.global-kwh-actions{justify-content:flex-start}.global-kwh-actions label{width:100%}.global-kwh-actions input{flex:1}.premium-hero-grid{grid-template-columns:1fr}.decision-grid,.summary-term-grid{grid-template-columns:1fr}.premium-market-grid{grid-template-columns:repeat(2,1fr)}.change-feed article{grid-template-columns:1fr}.change-values{justify-content:flex-start}.public-intro h1{font-size:24px}.best-price-line b{font-size:30px}}

/* v0.0.19 market overview */
.market-overview-page{padding-top:18px}.market-status-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:13px;margin-bottom:17px}.market-status-main,.market-status-side{border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}.market-status-main{background:linear-gradient(135deg,#e9f4ef,#f8fbf9)}.market-status-side{background:linear-gradient(140deg,#f1eef5,#fbfafc);border-color:#ddd8e5}.market-big-number{margin:8px 0 12px;font-size:44px;font-weight:870;letter-spacing:-.055em;color:var(--petrol)}.market-big-number small{font-size:11px;color:var(--muted);letter-spacing:0;margin-left:6px}.market-status-stats{display:flex;gap:7px;flex-wrap:wrap}.market-status-stats span{padding:6px 8px;border:1px solid #d7e4df;border-radius:7px;background:rgba(255,255,255,.75);color:var(--muted);font-size:8.5px}.market-status-stats b{color:#476166;margin-left:3px}.market-status-main>a{display:inline-block;margin-top:14px;color:var(--petrol);font-size:9.5px;font-weight:800;text-decoration:none}.market-status-side h2{font-size:16px;margin:10px 0 4px}.market-status-side>p{font-size:9.5px;color:var(--muted)}.market-range-number{display:flex;align-items:baseline;gap:6px;margin:8px 0 15px}.market-range-number strong{font-size:37px;color:#615872;letter-spacing:-.045em}.market-range-number span{color:#817989;font-size:9px}.market-range-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.market-range-grid div{padding:9px;border:1px solid #e2dce8;border-radius:8px;background:rgba(255,255,255,.7)}.market-range-grid span{display:block;color:#847b8c;font-size:8px;text-transform:uppercase}.market-range-grid b{display:block;margin-top:2px;font-size:12px;color:#625a70}.distribution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px}.distribution-grid article{padding:12px;border:1px solid #dce4e0;border-radius:11px;background:#fbfcfb}.distribution-top{display:flex;justify-content:space-between;align-items:center}.distribution-top span{font-size:9px;font-weight:850;color:#55706b}.distribution-top small{font-size:7.8px;color:var(--muted)}.distribution-grid article>strong{display:block;font-size:19px;color:var(--petrol);margin:4px 0 0}.distribution-grid article>small{font-size:8px;color:var(--muted)}.distribution-range{position:relative;margin-top:11px;padding-top:8px;border-top:1px solid #edf0ee;display:flex;justify-content:space-between;gap:6px}.distribution-range:before{content:"";position:absolute;top:-2px;left:0;right:0;height:4px;border-radius:999px;background:linear-gradient(90deg,#d9e8e2,#94b3a9,#d9e8e2)}.distribution-range i{position:absolute;top:-4px;width:8px;height:8px;border-radius:50%;background:#4f7b70;border:2px solid #fff;box-shadow:0 0 0 1px #9bb3ab}.distribution-range span,.distribution-range b{font-size:7.8px}.distribution-range span{color:var(--muted)}.distribution-range b{color:#617176}.market-two-column{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.compact-change-feed{padding-top:2px}.compact-change-feed article{grid-template-columns:95px minmax(0,1fr) auto}.market-method-list{padding:5px 17px 14px}.market-method-list article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid #edf0ee}.market-method-list article:last-child{border-bottom:0}.market-method-list>article>span{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#edf3f1;color:#4f746b;font-size:8px;font-weight:850}.market-method-list b{display:block;font-size:10px}.market-method-list p{margin:3px 0 0;color:var(--muted);font-size:8.8px;line-height:1.45}
@media(max-width:950px){.market-status-hero,.market-two-column{grid-template-columns:1fr}.distribution-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.market-range-grid,.distribution-grid{grid-template-columns:1fr}.market-big-number{font-size:38px}.compact-change-feed article{grid-template-columns:1fr}}

/* v0.0.21 CLEANUP premium Oma sähkö workspace */
.own-premium-area{background:#eef2f0;overflow-x:hidden}
.own-app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:linear-gradient(180deg,#f6f8f5 0,#eef2f0 100%)}
.own-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px 15px;background:linear-gradient(180deg,#163d47 0%,#173842 72%,#142f38 100%);color:#eaf4f1;border-right:1px solid rgba(255,255,255,.045);z-index:35}
.own-sidebar-brand a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;padding:2px 4px 17px}.own-logo-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e7f1ed;color:#164853;font-size:16px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(20,70,78,.08)}.own-sidebar-brand b{display:block;font-size:14px;line-height:1.2}.own-sidebar-brand small{display:block;margin-top:2px;color:#9eb8b3;font-size:8.5px;letter-spacing:.04em;text-transform:uppercase}
.own-sidebar-context{padding:11px 11px 12px;margin-bottom:12px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.045)}.own-sidebar-context span{display:block;color:#8facaa;font-size:7.8px;font-weight:850;letter-spacing:.1em}.own-sidebar-context b{display:block;margin-top:3px;color:#fff;font-size:11.5px}.own-sidebar-context small{display:block;margin-top:1px;color:#9fb5b1;font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.own-sidebar-nav{display:grid;gap:2px}.own-sidebar-nav a{display:flex;align-items:center;gap:9px;min-height:36px;padding:7px 9px;border-radius:8px;color:#b9cfca;text-decoration:none;font-size:10.5px;font-weight:700;transition:.15s ease}.own-sidebar-nav a:hover{color:#fff;background:rgba(255,255,255,.06)}.own-sidebar-nav a.active{color:#fff;background:rgba(230,243,239,.12);box-shadow:inset 3px 0 0 #a9cdbf}.nav-glyph{width:18px;display:inline-grid;place-items:center;color:#91b3ab;font-size:12px;font-weight:800}.own-sidebar-nav a.active .nav-glyph{color:#d9eee7}.own-nav-divider{display:flex;align-items:center;gap:8px;margin:10px 7px 4px}.own-nav-divider:after{content:"";height:1px;flex:1;background:rgba(255,255,255,.075)}.own-nav-divider span{color:#789b94;font-size:7px;font-weight:850;letter-spacing:.12em}
.own-sidebar-bottom{margin-top:auto;display:grid;gap:5px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}.own-sidebar-bottom a{padding:7px 9px;border-radius:8px;color:#a9c2bd;text-decoration:none;font-size:9.5px;font-weight:700}.own-sidebar-bottom a:hover{background:rgba(255,255,255,.055);color:#fff}
.own-workspace{min-width:0;display:flex;flex-direction:column;min-height:100vh}.own-topbar{position:sticky;top:0;z-index:29;height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;border-bottom:1px solid #d9e2de;background:rgba(249,250,247,.94);backdrop-filter:blur(13px)}.own-topbar-left{min-width:0}.own-global-site-picker{display:flex;align-items:center;gap:9px;color:#728188;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.own-global-site-picker select{min-width:210px;height:34px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:#26434b;padding:0 9px;font-size:10.5px;font-weight:720;text-transform:none;letter-spacing:0}.own-topbar-label span{display:block;color:#7b8a8f;font-size:7.5px;font-weight:850;letter-spacing:.09em}.own-topbar-label b{display:block;color:#2c474e;font-size:11px}.own-topbar-actions{display:flex;align-items:center;gap:4px}.own-topbar-actions a,.own-topbar-actions button{border:0;background:transparent;color:#617378;text-decoration:none;padding:7px 8px;border-radius:7px;font-size:9.5px;font-weight:730}.own-topbar-actions a:hover,.own-topbar-actions button:hover{background:#eaf0ed;color:#214f59}.own-topbar-actions form{margin:0}.own-mobile-brand{display:none}
.own-workspace>.own-page{width:100%;max-width:1240px;padding:23px 25px 58px;margin:0 auto}.own-workspace>.own-page.narrow-page{max-width:980px}.own-footer{display:flex;justify-content:space-between;gap:15px;margin-top:auto;padding:0 25px 21px;color:#84918f;font-size:8.5px}.own-flash{max-width:1190px;width:calc(100% - 50px);margin:14px auto 0}

.own-area .own-toolbar{align-items:center;margin:0 0 18px;padding:0}.own-area .own-toolbar h1{font-size:26px;margin:4px 0 3px;color:#193a43}.own-area .own-toolbar .toolbar-meta{max-width:770px;font-size:10.5px;line-height:1.5}.own-area .own-toolbar>.site-switcher{display:none}
.own-area .portfolio-head{margin:0 0 18px}.own-area .portfolio-head h1{font-size:27px;letter-spacing:-.035em}.own-area .portfolio-head p{font-size:10.7px;line-height:1.55}.own-area .page-title{margin:0 0 18px}.own-area .page-title h1{font-size:27px}.own-area .page-title p{max-width:760px;line-height:1.55}

.own-area .kpi-grid{gap:10px;margin-bottom:18px}.own-area .kpi-grid article{min-height:102px;padding:14px 15px;border-color:#dbe4e0;background:rgba(255,255,255,.88);box-shadow:0 5px 18px rgba(31,57,61,.025)}.own-area .kpi-grid article.blue{background:linear-gradient(145deg,#edf2f7,#f9fbfc);border-color:#dae3eb}.own-area .kpi-grid article.plum{background:linear-gradient(145deg,#f1eef5,#faf9fb);border-color:#e0dbe7}.own-area .kpi-grid article.good{background:linear-gradient(145deg,#eaf3ed,#f8fbf9);border-color:#d5e4da}.own-area .kpi-grid span{font-size:8px;letter-spacing:.075em}.own-area .kpi-grid strong{font-size:23px;letter-spacing:-.025em}.own-area .kpi-grid small{line-height:1.4}
.own-area .panel{border-color:#dbe4e0;background:rgba(255,255,255,.9);box-shadow:0 9px 28px rgba(28,53,57,.045)}.own-area .panel-head{min-height:61px;padding:0 18px}.own-area .panel-head h2{font-size:13.5px;letter-spacing:-.015em}.own-area .panel-head p{font-size:9.5px;line-height:1.4}.own-area .link-button{font-size:9.5px}

.own-area .dashboard-chart-grid{gap:14px}.own-area .dashboard-chart-card{background:#fff}.own-area .dashboard-mini-chart{height:225px;padding:12px 13px 4px}.own-area .personal-chart-wrap{height:350px;padding:15px 16px 6px}.own-area .personal-chart-wrap svg{width:100%;height:100%}.own-area .personal-chart-foot{padding:0 18px 16px;color:#7b898d;font-size:9px}
.own-area .savings-panel{grid-template-columns:minmax(0,1fr) 245px;gap:17px;padding:21px;border-radius:15px;background:linear-gradient(125deg,#f1f6f3,#fbfcfb);border-color:#d5e1dc;box-shadow:0 10px 30px rgba(30,57,60,.05)}.own-area .savings-panel.has-saving{background:linear-gradient(125deg,#eaf4ed,#f9fbfa);border-color:#cfe0d4}.own-area .savings-main h2{font-size:20px;line-height:1.2;letter-spacing:-.025em;margin:6px 0 7px}.own-area .savings-main p{max-width:760px;line-height:1.55}.own-area .savings-best{border-radius:11px;background:#fff;border:1px solid #d7e4da;box-shadow:none}
.own-area .contract-line{grid-template-columns:1.2fr .7fr 1fr}.own-area .contract-line div{background:#f7faf8;border-color:#e0e7e4}.own-area .data-status-grid div{background:#f7faf8}

.own-area .site-card-grid{gap:14px}.own-area .site-card{border-radius:14px;background:rgba(255,255,255,.91);box-shadow:0 8px 26px rgba(28,55,60,.04)}.own-area .site-card.is-default{border-color:#bcd2c4;background:linear-gradient(145deg,#fbfdfb,#f3f8f5)}.own-area .site-card-top h2{font-size:17px}.own-area .site-card-stats div{background:#f6f9f7}.own-area .portfolio-note{background:#eaf2ee;border-color:#d5e2dc}

.own-area .backtest-controls-panel{border:1px solid #d9e2de;border-radius:14px;background:#fff;box-shadow:0 8px 26px rgba(28,55,60,.035);margin-bottom:14px}.own-area .backtest-form{padding:15px;display:grid;grid-template-columns:1.2fr repeat(4,1fr) auto;gap:9px;align-items:end}.own-area .backtest-form label{display:grid;gap:4px;color:#6c7d82;font-size:8.5px;font-weight:800}.own-area .backtest-form label span{font-weight:550}.own-area .backtest-form input,.own-area .backtest-form select{height:37px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:#203f47;padding:0 8px}.own-area .analysis-period{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px;padding:10px 13px;border-radius:10px;background:#eaf1ee;border:1px solid #d7e2dd}.own-area .analysis-period b{font-size:10.5px}.own-area .analysis-period span{color:#6d7c80;font-size:9px}.own-area .backtest-hero-real{display:grid;grid-template-columns:minmax(0,1fr) 265px;gap:16px;padding:21px;margin-bottom:13px;border:1px solid #d7e1e8;border-radius:15px;background:linear-gradient(125deg,#edf3f7,#fafbfd);box-shadow:0 10px 30px rgba(44,67,85,.045)}.own-area .backtest-hero-real h2{font-size:24px;line-height:1.15;letter-spacing:-.035em;color:#526d91;margin:6px 0}.own-area .backtest-hero-real p{margin:0;color:#708088;font-size:10px}.own-area .backtest-diff{display:flex;flex-direction:column;justify-content:center;padding:14px;border-radius:11px;background:#fff;border:1px solid #d9e2e9}.own-area .backtest-diff span{color:#77848b;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.own-area .backtest-diff strong{display:block;margin:4px 0;font-size:24px}.own-area .backtest-diff small{color:#758286;font-size:9px}.own-area .backtest-diff.positive strong{color:#477c5d}.own-area .backtest-diff.negative strong{color:#a75a53}.own-area .backtest-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.own-area .backtest-kpis article{padding:13px;border:1px solid #dce4e1;border-radius:11px;background:#fff}.own-area .backtest-kpis article.good{background:#eaf3ed}.own-area .backtest-kpis article.plum{background:#f1eef5}.own-area .backtest-kpis article.blue{background:#edf2f8}.own-area .backtest-kpis span{display:block;color:#738187;font-size:8px;text-transform:uppercase;letter-spacing:.055em}.own-area .backtest-kpis strong{display:block;margin:3px 0;font-size:18px}.own-area .backtest-kpis small{color:#718087;font-size:8.5px}.personal-backtest-chart{height:310px;padding:12px 15px 2px}.personal-backtest-chart svg{width:100%;height:100%}.backtest-chart-legend{display:flex;gap:16px;padding:0 18px 16px;color:#728085;font-size:9px}.backtest-chart-legend span:before{content:"";display:inline-block;width:11px;height:8px;border-radius:2px;margin-right:5px}.backtest-chart-legend .spot:before{background:#3d887d}.backtest-chart-legend .fixed:before{background:#766c8e}

.own-area .analysis-history-chart{background:linear-gradient(180deg,#fff,#fafbfa)}.own-area .analysis-history-legend{font-size:9px}.own-area .alert-create-form{padding:15px}.own-area .alert-row{padding:12px 0}.own-area .import-content{padding:16px}.own-area .import-explain{background:#f4f8f6}.own-area .conflict-safety{margin:0 17px 13px;padding:10px 12px;border-radius:9px;background:#faf4e7;border:1px solid #ead9b5;font-size:9.5px}.own-area .conflict-safety b{display:block;color:#775d2a}.own-area .conflict-safety span{color:#816f49}

.own-area .primary-button,.own-area .secondary-button,.own-area .danger-outline-button,.own-area .incoming-value-button{min-height:34px;padding:7px 10px;border-radius:8px;font-size:9.5px}.own-area .primary-button{background:#1f5863;border-color:#1f5863}.own-area .secondary-button{background:#fff;border-color:#ccd8d3;color:#51676d}.own-area .source-pill{font-size:8px}.own-area table{font-size:10px}.own-area th{font-size:8px}.own-area td{font-size:10px}.own-area td small{font-size:8.5px}

@media(max-width:1120px){.own-app-shell{grid-template-columns:210px minmax(0,1fr)}.own-sidebar{padding-left:11px;padding-right:11px}.own-area .backtest-form{grid-template-columns:repeat(3,1fr)}.own-area .backtest-form .primary-button{align-self:end}.own-area .savings-panel{grid-template-columns:1fr}.own-area .savings-best{max-width:none}.own-topbar-actions a:nth-child(1){display:none}}
@media(max-width:820px){.own-app-shell{display:block}.own-sidebar{position:sticky;top:0;height:auto;display:block;padding:9px 10px;background:#173d47;z-index:40}.own-sidebar-brand,.own-sidebar-context,.own-nav-divider,.own-sidebar-bottom{display:none}.own-sidebar-nav{display:flex;gap:3px;overflow-x:auto;scrollbar-width:none}.own-sidebar-nav::-webkit-scrollbar{display:none}.own-sidebar-nav a{min-width:max-content;min-height:32px;padding:6px 9px}.own-sidebar-nav a.active{box-shadow:inset 0 -2px 0 #a9cdbf}.own-sidebar-nav .nav-glyph{display:none}.own-topbar{top:50px;height:58px;padding:0 13px}.own-workspace>.own-page{padding:18px 14px 48px}.own-area .backtest-hero-real{grid-template-columns:1fr}.own-area .backtest-kpis{grid-template-columns:repeat(2,1fr)}.own-area .contract-line{grid-template-columns:1fr}.own-footer{padding:0 14px 18px}}
@media(max-width:620px){.own-topbar{top:50px}.own-global-site-picker{gap:5px}.own-global-site-picker select{min-width:145px;max-width:175px}.own-global-site-picker{font-size:0}.own-topbar-actions a{display:none}.own-topbar-actions button{font-size:8.5px}.own-area .kpi-grid{grid-template-columns:repeat(2,1fr)}.own-area .kpi-grid article{min-height:92px}.own-area .kpi-grid strong{font-size:19px}.own-area .dashboard-chart-grid{grid-template-columns:1fr}.own-area .backtest-form{grid-template-columns:1fr 1fr}.own-area .backtest-form button{grid-column:1/-1}.own-area .backtest-kpis{grid-template-columns:1fr 1fr}.own-area .site-card-stats{grid-template-columns:1fr 1fr}.own-footer{flex-direction:column;gap:2px}.own-flash{width:calc(100% - 28px)}}
@media(max-width:430px){.own-area .kpi-grid,.own-area .backtest-kpis{grid-template-columns:1fr}.own-area .backtest-form{grid-template-columns:1fr}.own-global-site-picker select{max-width:155px}}

/* v0.0.21 CLEANUP personal dashboard hero */
.own-dashboard-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;margin-bottom:14px}.own-dashboard-hero-main,.own-dashboard-contract{position:relative;min-height:175px;padding:21px;border:1px solid #d5e2dc;border-radius:15px;box-shadow:0 9px 28px rgba(28,55,60,.045)}.own-dashboard-hero-main{background:linear-gradient(125deg,#eaf4ef 0,#f8fbf9 68%,#fff 100%)}.own-dashboard-contract{background:linear-gradient(135deg,#f2eef5,#fbfafc);border-color:#ded8e6}.own-dashboard-hero-main h2{margin:7px 0 4px;color:#235b62;font-size:34px;line-height:1.05;letter-spacing:-.045em}.own-dashboard-hero-main h2 small{font-size:14px;color:#587179;letter-spacing:-.01em;font-weight:680}.own-dashboard-hero-main>p{margin:0;color:#667a7f;font-size:10px}.own-hero-meta{position:absolute;left:21px;right:21px;bottom:18px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#78908a;font-size:8.7px}.own-hero-meta a{color:#386c63;text-decoration:none;font-weight:790}.own-dashboard-contract h3{margin:7px 0 3px;color:#5e556e;font-size:16px;line-height:1.25;letter-spacing:-.02em}.own-dashboard-contract>p{margin:3px 0;color:#81798a;font-size:9.2px}.own-contract-price{color:#675e79;font-size:21px;font-weight:850;letter-spacing:-.03em}.own-dashboard-contract>a{position:absolute;left:21px;bottom:18px;color:#685f78;text-decoration:none;font-size:9px;font-weight:800}.contract-days-left{position:absolute;right:18px;bottom:15px;min-width:66px;padding:7px 9px;border:1px solid #ded8e7;border-radius:9px;background:rgba(255,255,255,.72);text-align:center}.contract-days-left b{display:block;color:#655c77;font-size:15px;line-height:1}.contract-days-left span{display:block;margin-top:2px;color:#81798a;font-size:7.5px}
@media(max-width:980px){.own-dashboard-hero{grid-template-columns:1fr}.own-dashboard-hero-main,.own-dashboard-contract{min-height:160px}}
@media(max-width:520px){.own-dashboard-hero-main h2{font-size:27px}.own-dashboard-hero-main h2 small{display:block;margin-top:4px}.own-hero-meta{position:static;margin-top:22px;align-items:flex-start;flex-direction:column;gap:4px}.own-dashboard-contract>a{position:static;display:inline-block;margin-top:18px}.contract-days-left{bottom:17px}}
.own-sidebar-nav .nav-glyph{font-size:7.5px;letter-spacing:.04em;color:#789e96}


/* v0.0.22 Fingrid market panel */
.fingrid-market-panel{background:linear-gradient(180deg,#f7faf8,#fff);border-color:#d5e2dc}
.fingrid-market-panel .panel-head{align-items:flex-start}
.fingrid-source-status{display:flex;align-items:center;gap:9px;text-align:right;color:#65767b;font-size:11px}
.fingrid-source-status span{width:9px;height:9px;border-radius:50%;background:#aebbb7;box-shadow:0 0 0 4px rgba(174,187,183,.15)}
.fingrid-source-status span.live{background:#4d8768;box-shadow:0 0 0 4px rgba(77,135,104,.14)}
.fingrid-source-status b,.fingrid-source-status small{display:block}.fingrid-source-status b{color:#35515a}.fingrid-source-status small{margin-top:2px}
.fingrid-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:4px 18px 0}
.fingrid-kpi-grid article{padding:15px;border:1px solid #dbe5e1;border-radius:13px;background:#fff}
.fingrid-kpi-grid article.forecast{background:#eef3f8;border-color:#d9e1eb}
.fingrid-kpi-grid span{display:block;color:#718087;font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:800}
.fingrid-kpi-grid strong{display:inline-block;margin:4px 4px 0 0;font-size:25px;letter-spacing:-.035em;color:#1d5361}
.fingrid-kpi-grid article.forecast strong{color:#60779a}.fingrid-kpi-grid small{color:#7b898e;font-size:10px}
.fingrid-chart-wrap{height:310px;padding:12px 14px 0}.fingrid-chart-wrap svg{width:100%;height:100%;display:block}
.fingrid-legend{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;padding:2px 18px 10px;color:#67787d;font-size:10.5px}
.fingrid-legend span:before{content:"";display:inline-block;width:18px;height:3px;border-radius:2px;margin:0 6px 2px 0;vertical-align:middle;background:#1d5361}
.fingrid-legend .production:before{background:#766c8e}.fingrid-legend .wind:before{background:#4d8768}.fingrid-legend .forecast:before{background:#657fa6;border-top:1px dashed #657fa6}
.market-data-note{margin:0 18px 14px;padding:10px 12px;border-radius:10px;background:#f4f7f5;color:#6f7d81;font-size:10.5px}
.fingrid-empty{margin:0 18px 14px;padding:18px;border:1px dashed #c4d3cd;border-radius:12px;background:#f7faf8}.fingrid-empty b{display:block;color:#35545b}.fingrid-empty p{margin:4px 0 0;color:#738187;font-size:11px}
.fingrid-attribution{padding:0 18px 16px;color:#7b898e;font-size:10px}.fingrid-attribution a{color:#326c72;font-weight:700}
@media(max-width:850px){.fingrid-kpi-grid{grid-template-columns:repeat(2,1fr)}.fingrid-source-status{text-align:left}}
@media(max-width:560px){.fingrid-kpi-grid{grid-template-columns:1fr 1fr;padding-left:12px;padding-right:12px}.fingrid-chart-wrap{height:260px;padding-left:5px;padding-right:5px}.fingrid-source-status{display:none}.fingrid-kpi-grid strong{font-size:21px}}


/* v0.0.23 homepage market pulse */
.home-live-overview{
  display:grid;
  grid-template-columns:minmax(0,1.34fr) minmax(330px,.66fr);
  gap:14px;
  margin-bottom:17px;
}
.home-side-stack{display:grid;gap:14px}
.home-live-overview .hero-main,.home-live-overview .hero-side{margin:0}
.spot-context{
  display:inline-flex;
  margin:7px 0 1px;
  padding:4px 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:820;
  letter-spacing:.01em;
}
.spot-context.lower{background:#e6f1e9;color:#47785a}
.spot-context.higher{background:#f5eae6;color:#9b5e55}
.home-grid-card{
  background:linear-gradient(145deg,#edf4f2,#fafcfa);
  border-color:#d5e2dd;
  padding:17px 18px 16px;
}
.home-grid-card h2{margin:13px 0 4px;font-size:14px;color:#365861}
.home-grid-values{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin-top:13px;
}
.home-grid-values div{
  min-width:0;
  padding:9px 8px;
  border-radius:9px;
  background:rgba(255,255,255,.82);
  border:1px solid #dce6e2;
}
.home-grid-values span{
  display:block;
  color:#738389;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
}
.home-grid-values strong{
  display:inline-block;
  margin:2px 3px 0 0;
  color:#285965;
  font-size:16px;
  letter-spacing:-.03em;
}
.home-grid-values small{color:#829095;font-size:7.5px}
.grid-context-list{
  display:grid;
  gap:5px;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid #dbe5e1;
}
.grid-context-list span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#64777c;
  font-size:8.7px;
}
.grid-context-list b{color:#3f5d64;font-weight:730}
.home-grid-source{
  margin-top:9px;
  color:#83918f;
  font-size:7.8px;
}
.home-grid-card .text-action{margin-top:8px}
@media(max-width:1050px){
  .home-live-overview{grid-template-columns:1fr}
  .home-side-stack{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .home-side-stack{grid-template-columns:1fr}
}
@media(max-width:560px){
  .home-grid-values{grid-template-columns:repeat(2,1fr)}
  .grid-context-list span{display:block}
}

/* v0.0.26 staging / system health */
.system-health-panel{margin-bottom:17px}.system-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:15px 17px 10px}.system-health-box{padding:12px;border:1px solid #e0e7e4;border-radius:10px;background:#f8faf9}.system-health-box span{display:block;color:var(--muted);font-size:8.5px;text-transform:uppercase;letter-spacing:.05em}.system-health-box strong{display:block;margin:3px 0 1px;font-size:16px}.system-health-box small{display:block;color:var(--muted);font-size:9px;line-height:1.4}.system-health-messages{display:grid;gap:5px;padding:4px 17px 12px}.system-msg{padding:8px 10px;border-radius:8px;font-size:9.5px}.system-msg.failed{background:#f8e6e3;color:#8f4c47}.system-msg.warning{background:#f7efd9;color:#7c6536}.system-msg b{margin-right:6px}.system-cron-table td small{display:block;color:var(--muted);font-size:8.5px}.status-never,.status-unknown{background:#edf0ef;color:#68767a}.status-stale{background:#f7efd9;color:#876c35}.status-running{background:#e8eef7;color:#536d91}@media(max-width:900px){.system-health-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.system-health-grid{grid-template-columns:1fr}.system-cron-table{min-width:760px}}

/* v0.0.28 admin staging report */
.staging-overview{margin-bottom:17px}.staging-overall{text-align:right}.staging-overall small{display:block;margin-top:4px;color:var(--muted);font-size:8.5px}.staging-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:5px 17px 14px}.staging-kpis>div{padding:12px;border:1px solid #e0e7e4;border-radius:10px;background:#f8faf9}.staging-kpis span{display:block;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.05em}.staging-kpis strong{display:block;margin:2px 0;font-size:22px}.staging-kpis small{color:var(--muted);font-size:8.5px}.staging-kpis .pass{background:#f2f8f4;border-color:#d8e8dc}.staging-kpis .warn{background:#fbf7ec;border-color:#eadfbe}.staging-kpis .fail{background:#fbf1ef;border-color:#edd4cf}.staging-report-meta{display:flex;gap:8px;flex-wrap:wrap;padding:0 17px 15px}.staging-report-meta span{padding:4px 7px;border-radius:7px;background:#f0f3f2;color:#69777a;font-size:8.5px}.staging-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:17px}.staging-source-card{overflow:hidden;border-top:3px solid #98a5a1}.staging-source-card.staging-pass{border-top-color:#4d8768}.staging-source-card.staging-warn{border-top-color:#b28a43}.staging-source-card.staging-fail{border-top-color:#b75f58}.staging-source-head{display:flex;justify-content:space-between;gap:15px;padding:15px 17px 11px}.staging-source-head h2{margin:5px 0 1px;font-size:14px}.staging-source-head p{margin:0;color:var(--muted);font-size:8.5px}.staging-source-head dl{display:flex;gap:6px;margin:0}.staging-source-head dl div{min-width:64px;padding:7px 8px;border-radius:8px;background:#f7f9f8;border:1px solid #e3e8e6}.staging-source-head dt{font-size:7.5px;color:var(--muted);text-transform:uppercase}.staging-source-head dd{margin:2px 0 0;font-size:9.5px;font-weight:800}.staging-messages{display:grid;gap:5px;padding:0 17px 12px}.staging-message{display:flex;gap:7px;padding:7px 9px;border-radius:7px;font-size:9px;line-height:1.45}.staging-message.fail{background:#f8e6e3;color:#8f4c47}.staging-message.warn{background:#f7efd9;color:#7c6536}.staging-message b{flex:0 0 auto}.staging-offers{border-top:1px solid #edf0ee}.staging-offers summary{padding:10px 17px;cursor:pointer;color:var(--petrol);font-size:9px;font-weight:800}.staging-offers .data-table{min-width:680px}.staging-offers td small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.availability-tag{display:inline-flex;padding:2px 5px;border-radius:999px;background:#e8f1ee;color:#47745a;font-size:7.5px;font-weight:850;text-transform:uppercase}.availability-future{background:#e8eef7;color:#536d91}.availability-expired{background:#f3eee2;color:#88723c}.staging-source-footer{padding:9px 17px 13px}.staging-source-footer a{color:var(--petrol);text-decoration:none;font-size:9px;font-weight:800}.staging-empty{padding:25px}.staging-empty h2{margin:10px 0 5px}.staging-empty p{margin:0 0 13px;color:var(--muted);font-size:10.5px}.staging-empty>small{display:block;margin-top:8px;color:var(--muted);font-size:9px}.admin-command{display:inline-flex;max-width:100%;padding:8px 10px;border-radius:8px;background:#24383d;color:#eef5f3}.admin-command code{font-size:9.5px;white-space:pre-wrap;word-break:break-word}.staging-next-run{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 17px}.staging-next-run h2{margin:0 0 3px;font-size:13px}.staging-next-run p{margin:0;color:var(--muted);font-size:9.5px}.status-pass{background:#e6f1e9;color:#47745a}.status-warn{background:#f7efd9;color:#876c35}.status-fail{background:#f8e6e3;color:#98544e}@media(max-width:980px){.staging-kpis{grid-template-columns:repeat(3,1fr)}.staging-source-grid{grid-template-columns:1fr}}@media(max-width:650px){.staging-kpis{grid-template-columns:repeat(2,1fr)}.staging-source-head{flex-direction:column}.staging-source-head dl{flex-wrap:wrap}.staging-next-run{align-items:flex-start;flex-direction:column}.staging-overall{text-align:left}}

/* v0.0.29 public comparison filters */
.contract-filter-panel{margin-bottom:14px;padding:14px 16px;background:linear-gradient(135deg,#f7faf9,#eef4f2);border-color:#d8e3df}.contract-filter-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;gap:9px;align-items:end}.contract-filter-form label{display:grid;gap:4px;color:#607176;font-size:9px;font-weight:760}.contract-filter-form label>span{color:#748389;font-size:8px;text-transform:uppercase;letter-spacing:.05em}.contract-filter-form select{width:100%;height:37px;padding:0 9px;border:1px solid #cbd8d3;border-radius:8px;background:#fff;color:var(--ink)}.contract-filter-actions{display:flex;align-items:center;gap:8px}.contract-filter-actions a{color:var(--petrol);font-size:9px;font-weight:780;text-decoration:none;white-space:nowrap}.contract-filter-result{margin-top:10px;padding-top:9px;border-top:1px solid #dce5e1;color:#708085;font-size:9px}.contract-filter-result b{color:#365b64;font-size:11px}.comparison-filter-summary{text-align:right}.comparison-filter-summary b,.comparison-filter-summary small{display:block}.comparison-filter-summary b{font-size:11px;color:#3a5c64}.comparison-filter-summary small{margin-top:2px;color:var(--muted);font-size:8.5px}@media(max-width:1100px){.contract-filter-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.contract-filter-form{grid-template-columns:1fr 1fr}.contract-filter-actions{grid-column:1/-1}.comparison-filter-summary{text-align:left}}@media(max-width:520px){.contract-filter-form{grid-template-columns:1fr}.contract-filter-actions{grid-column:auto;justify-content:space-between}}
/* production launch gate */
.launch-readiness-panel{margin-bottom:17px}.launch-readiness-state{display:flex;align-items:center;gap:7px}.launch-mode{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.05em;background:#edf0ef;color:#667579}.launch-mode.live{background:#e6f1e9;color:#47745a}.launch-mode.hold{background:#f7efd9;color:#876c35}.launch-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:14px 17px}.launch-check{display:flex;gap:9px;align-items:flex-start;padding:9px 10px;border:1px solid #e0e7e4;border-radius:9px;background:#f8faf9}.launch-check>span{display:grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;font-size:10px;font-weight:900}.launch-check b{display:block;font-size:10px}.launch-check small{display:block;margin-top:2px;color:var(--muted);font-size:8.8px;line-height:1.35}.launch-check-pass>span{background:#e6f1e9;color:#47745a}.launch-check-warn>span{background:#f7efd9;color:#876c35}.launch-check-block>span{background:#f8e6e3;color:#98544e}.launch-readiness-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 17px 14px;color:var(--muted);font-size:9px}.launch-readiness-foot code{padding:5px 7px;border-radius:6px;background:#eef2f0;color:#45585d}.launch-hold-page{min-height:65vh;display:grid;place-items:center}.launch-hold-card{max-width:680px;padding:44px;border:1px solid #dce5e1;border-radius:18px;background:#f8faf9;box-shadow:0 18px 45px rgba(37,58,62,.07)}.launch-hold-card h1{margin:7px 0 11px;font-size:34px;letter-spacing:-.035em}.launch-hold-card p{margin:0;color:var(--muted);line-height:1.7;max-width:560px}@media(max-width:700px){.launch-check-grid{grid-template-columns:1fr}.launch-readiness-foot{align-items:flex-start;flex-direction:column}.launch-hold-card{padding:26px}.launch-hold-card h1{font-size:27px}}


/* v0.0.31 Claude-idea merge: compact nav, languages and spot insights */
.header-inner{justify-content:space-between}.public-main-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.public-main-nav>a,.nav-group-trigger{display:block;text-decoration:none;color:#52656c;font-weight:730;font-size:13px;padding:9px 10px;border-radius:9px}.public-main-nav>a:hover,.nav-group-trigger:hover,.nav-group:focus-within>.nav-group-trigger{background:#eaf1ee;color:var(--petrol)}.nav-group{position:relative}.nav-group-menu{display:none;position:absolute;top:calc(100% + 7px);left:0;min-width:190px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 45px rgba(34,57,61,.12)}.nav-group:hover .nav-group-menu,.nav-group:focus-within .nav-group-menu{display:grid}.nav-group-menu a{padding:9px 10px;border-radius:8px;text-decoration:none;color:#53676d;font-size:12px;font-weight:700}.nav-group-menu a:hover{background:#eef3f0;color:var(--petrol)}.header-tools{display:flex;align-items:center;gap:9px}.lang-switch{display:inline-flex;align-items:center;padding:2px;border:1px solid var(--line);background:#fff;border-radius:10px}.lang-switch a{text-decoration:none;color:#79878b;font-size:9px;font-weight:850;letter-spacing:.04em;padding:5px 6px;border-radius:7px}.lang-switch a.active{background:#e4edE9;color:var(--petrol)}.account-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:#fff;border-radius:50%}.account-icon span{position:relative;width:14px;height:14px;border:1.8px solid #667a80;border-radius:50%}.account-icon span:after{content:"";position:absolute;width:16px;height:8px;border:1.8px solid #667a80;border-top:0;border-radius:0 0 10px 10px;left:-3px;top:10px;background:#fff}.account-icon.signed-in{box-shadow:inset 0 0 0 3px #d9ebe3}.footer-source-note{margin-top:3px;font-size:10.5px;color:#8b979a}.own-lang-switch{margin-right:4px}.own-lang-switch a{font-size:7.5px;padding:3px 4px}
.spot-resolution-toggle{display:inline-flex;padding:3px;background:#eef2ef;border:1px solid #d9e2de;border-radius:10px}.spot-resolution-toggle button{border:0;background:transparent;color:#6f7e82;font-size:10px;font-weight:800;padding:6px 9px;border-radius:7px;cursor:pointer}.spot-resolution-toggle button.active{background:#fff;color:var(--petrol);box-shadow:0 1px 3px rgba(34,57,61,.08)}.spot-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cheap-window-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cheap-window-grid>div,.spot-context-kpis>div{background:#f1f4f1;border:1px solid #e0e6e2;border-radius:13px;padding:14px}.cheap-window-grid span,.spot-context-kpis span{display:block;color:#78878b;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.cheap-window-grid b{display:block;margin-top:6px;color:#294d54;font-size:15px}.spot-context-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.spot-context-kpis b{display:block;margin-top:5px;font-size:22px;color:#284d55}.spot-context-kpis small{color:#78878b;font-size:9px}.appliance-table td small{display:block;color:#819095;font-size:9.5px;margin-top:2px}.saving-cell{color:#477c5d;font-weight:850}.spot-profile-wrap{overflow:hidden}.spot-profile-wrap svg{width:100%;height:auto;display:block}.public-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-info-grid article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.public-info-grid h2{margin:0 0 8px;font-size:18px}.public-info-grid p{margin:0;color:#617278;font-size:13px;line-height:1.65}.info-principle{margin-top:14px;background:#e9f0ec;border:1px solid #d4e0da;border-radius:16px;padding:20px;color:#365b52}
@media(max-width:900px){.spot-insight-grid{grid-template-columns:1fr}.public-info-grid{grid-template-columns:1fr}.header-inner{gap:12px}.public-main-nav{gap:1px}.public-main-nav>a,.nav-group-trigger{font-size:11px;padding:8px 7px}.lang-switch a{padding:5px 5px}}
@media(max-width:620px){.header-tools{margin-left:auto}.lang-switch{display:inline-flex}.account-icon{width:32px;height:32px}.spot-context-kpis,.cheap-window-grid{grid-template-columns:1fr}.public-main-nav{display:none}.own-lang-switch{display:none}}

/* v0.0.31 refined spot explorer */
.spot-page-title{display:flex;justify-content:space-between;gap:28px;align-items:flex-end}.spot-page-title>div:first-child{max-width:760px}.spot-global-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spot-vat-toggle,.spot-period-toggle{display:inline-flex;padding:3px;background:#eef2ef;border:1px solid #d9e2de;border-radius:10px}.spot-vat-toggle button,.spot-period-toggle button,.window-choice button{border:0;background:transparent;color:#6f7e82;font-size:10px;font-weight:800;padding:7px 10px;border-radius:7px;cursor:pointer}.spot-vat-toggle button.active,.spot-period-toggle button.active,.window-choice button.active{background:#fff;color:var(--petrol);box-shadow:0 1px 3px rgba(34,57,61,.08)}.spot-csv-button{white-space:nowrap}.spot-summary-panel{padding:0}.spot-summary-panel .spot-summary{margin:0;border:0;border-radius:0}.spot-chart-head{align-items:flex-end}.spot-chart-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.spot-chart-wrap{min-height:300px}.spot-chart-legend .average-line:before{background:transparent;border-top:1px dashed #879691;border-radius:0;height:0;width:13px}.window-choice{display:inline-flex;gap:3px;padding:3px;margin:1px 0 12px;background:#eef2ef;border:1px solid #d9e2de;border-radius:10px}.best-window-result{display:grid;grid-template-columns:minmax(80px,.7fr) 1fr auto;gap:12px;align-items:center;padding:16px 17px;border-radius:14px;background:linear-gradient(135deg,#eef4f1,#f8faf8);border:1px solid #dce5e1}.best-window-result>span{color:#738287;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.best-window-result strong{font-size:23px;letter-spacing:-.025em;color:#244e57}.best-window-result small{color:#477c5d;font-size:12px;font-weight:800;text-align:right}.appliance-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.appliance-preset{display:grid;grid-template-columns:1.25fr .8fr .9fr .6fr;gap:9px;align-items:center;padding:12px;border:1px solid #e1e7e4;border-radius:13px;background:#fbfcfb}.appliance-name b,.appliance-name span,.appliance-cost small,.appliance-cost strong,.appliance-cost span,.appliance-saving small,.appliance-saving b{display:block}.appliance-name b{font-size:11px}.appliance-name span,.appliance-cost small,.appliance-saving small{margin-top:2px;color:#839095;font-size:8px}.appliance-cost strong{margin-top:3px;font-size:12px}.appliance-cost.best strong,.appliance-saving b{color:#477c5d}.appliance-cost span{margin-top:2px;color:#7c898e;font-size:8px}.custom-appliance-box{display:grid;grid-template-columns:minmax(230px,.8fr) 1.2fr;gap:22px;align-items:end;margin-top:16px;padding:18px;border-top:1px solid #e3e8e6;background:linear-gradient(180deg,#fff,#f8faf9);border-radius:0 0 14px 14px}.custom-appliance-box h3{margin:5px 0 5px;font-size:17px}.custom-appliance-box p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.custom-appliance-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:8px;align-items:end}.custom-appliance-form label{display:grid;gap:4px;color:#66777c;font-size:8.5px;font-weight:760}.custom-appliance-form input{height:38px;padding:0 9px;border:1px solid #cbd8d3;border-radius:8px;background:#fff}.custom-appliance-result{grid-column:1/-1;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:8px;margin-top:3px}.custom-appliance-result>div{padding:10px 11px;border-radius:10px;background:#eef3f0}.custom-appliance-result span,.custom-appliance-result strong,.custom-appliance-result b{display:block}.custom-appliance-result span{color:#738287;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.custom-appliance-result strong,.custom-appliance-result b{margin-top:3px;font-size:12px}.custom-appliance-result .custom-saving{background:#e6f1e9;color:#47745a}.custom-appliance-result[hidden]{display:none}
@media(max-width:1100px){.appliance-preset-grid{grid-template-columns:1fr 1fr}.custom-appliance-form{grid-template-columns:1fr 1fr}.custom-appliance-result{grid-template-columns:1fr 1fr 1fr}.spot-page-title{align-items:flex-start}}
@media(max-width:760px){.spot-page-title{display:block}.spot-global-actions{margin-top:14px}.spot-chart-head{align-items:flex-start;flex-direction:column}.spot-chart-toolbar{justify-content:flex-start}.spot-period-toggle{width:100%;overflow:auto}.spot-period-toggle button{flex:1;white-space:nowrap}.best-window-result{grid-template-columns:1fr}.best-window-result small{text-align:left}.appliance-preset-grid{grid-template-columns:1fr}.custom-appliance-box{grid-template-columns:1fr}.custom-appliance-result{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.custom-appliance-form,.custom-appliance-result{grid-template-columns:1fr}.spot-vat-toggle{flex:1}.spot-vat-toggle button{flex:1}.spot-csv-button{width:100%}}

/* v0.0.31 personal consumption explorer */
.consumption-explorer-panel{overflow:hidden}.consumption-explorer-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding-bottom:13px;border-bottom:1px solid #e2e7e4}.consumption-period-tabs{display:inline-flex;padding:3px;border:1px solid #d9e2de;border-radius:10px;background:#eef2ef}.consumption-period-tabs a{padding:7px 11px;border-radius:7px;color:#6f7e82;text-decoration:none;font-size:10px;font-weight:800}.consumption-period-tabs a.active{background:#fff;color:var(--petrol);box-shadow:0 1px 3px rgba(34,57,61,.08)}.consumption-head-actions{display:flex;gap:8px;align-items:center}.consumption-period-summary{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;margin:14px 0}.consumption-period-summary>div{padding:11px 12px;border:1px solid #e0e6e3;border-radius:11px;background:#f8faf9}.consumption-period-summary span,.comparison-metric-grid span,.timing-metrics span{display:block;color:#7a888d;font-size:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:820}.consumption-period-summary b{display:block;margin-top:4px;color:#2b4f57;font-size:15px}.consumption-explorer-chart-wrap{margin-top:5px}.consumption-comparison-panel{margin-top:14px}.comparison-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.comparison-metric-grid article{padding:14px;border:1px solid #e0e6e3;border-radius:12px;background:#fafbfa}.comparison-metric-grid strong{display:block;margin-top:6px;font-size:22px;color:#294e56}.comparison-metric-grid small{display:block;margin-top:4px;color:#7b898e;font-size:9px}.comparison-metric-grid .forecast-card{background:#f4f0f8;border-color:#e1d9e8}.comparison-metric-grid .forecast-card strong{color:#6e667e}.good-text{color:#477c5d!important;font-weight:800}.consumption-insight-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px}.timing-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.timing-metrics>div{padding:15px;border:1px solid #e1e7e4;border-radius:12px;background:#f8faf9}.timing-metrics b{display:block;margin-top:6px;font-size:27px;color:#294e56}.timing-metrics .cheap{background:#eff6f1}.timing-metrics .cheap b{color:#477c5d}.timing-metrics .expensive{background:#f8f0ee}.timing-metrics .expensive b{color:#9c5e54}.analysis-disclosure{margin:11px 0 0;color:#7b898e;font-size:8.5px;line-height:1.55}.consumption-transparency-panel{background:linear-gradient(135deg,#f7faf9,#eef4f2)}.consumption-transparency-panel p{max-width:920px;margin:0;color:#617278;font-size:10px;line-height:1.65}
@media(max-width:1000px){.comparison-metric-grid{grid-template-columns:1fr 1fr}.consumption-period-summary{grid-template-columns:1fr 1fr}.consumption-insight-grid{grid-template-columns:1fr}}
@media(max-width:650px){.consumption-explorer-head{align-items:flex-start;flex-direction:column}.consumption-period-tabs{width:100%;overflow:auto}.consumption-period-tabs a{flex:1;text-align:center}.consumption-head-actions{width:100%;justify-content:space-between}.comparison-metric-grid,.consumption-period-summary,.timing-metrics{grid-template-columns:1fr}}

/* =========================================================
   v0.0.32 — richer premium colour hierarchy + price watches
   ========================================================= */
:root{
  --ochre:#a78045;--terracotta:#b56d56;
  --aqua-soft:#dcebef;--sage-soft:#e4eee3;--blue-soft:#e4eaf2;
  --plum-soft:#eee7f2;--ochre-soft:#f2e8d6;--terra-soft:#f2e3dd;
}
body.public-area{background:radial-gradient(circle at 9% 0%,rgba(101,127,166,.10),transparent 30rem),radial-gradient(circle at 98% 9%,rgba(167,128,69,.10),transparent 26rem),linear-gradient(180deg,#f8f7f3,#eff2ef)}
.site-header{border-top:4px solid transparent;border-image:linear-gradient(90deg,var(--petrol) 0 30%,var(--sage) 30% 48%,var(--blue) 48% 65%,var(--plum) 65% 82%,var(--ochre) 82% 92%,var(--terracotta) 92%) 1;box-shadow:0 8px 30px rgba(37,53,55,.035)}
.brand{position:relative}.brand:before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border-radius:5px;background:linear-gradient(145deg,var(--petrol),#3d7b7a);vertical-align:-2px;box-shadow:0 5px 12px rgba(29,83,97,.18)}
.public-main-nav>a:hover,.nav-group-trigger:hover,.nav-group:focus-within>.nav-group-trigger{background:var(--aqua-soft)}
.lang-switch a.active{background:var(--plum-soft);color:#655b76}
.hero-main{background:linear-gradient(130deg,#e7f1ef,#fbfcfb);box-shadow:inset 0 4px 0 var(--teal),var(--shadow)}
.hero-side{background:linear-gradient(145deg,#f5ead8,#fbf8f1);box-shadow:inset 0 4px 0 var(--ochre),var(--shadow)}
.market-grid article:nth-child(6n+1){background:linear-gradient(145deg,#fff,var(--blue-soft));box-shadow:inset 0 3px 0 var(--blue)}
.market-grid article:nth-child(6n+2){background:linear-gradient(145deg,#fff,var(--sage-soft));box-shadow:inset 0 3px 0 var(--sage)}
.market-grid article:nth-child(6n+3){background:linear-gradient(145deg,#fff,var(--plum-soft));box-shadow:inset 0 3px 0 var(--plum)}
.market-grid article:nth-child(6n+4){background:linear-gradient(145deg,#fff,var(--ochre-soft));box-shadow:inset 0 3px 0 var(--ochre)}
.market-grid article:nth-child(6n+5){background:linear-gradient(145deg,#fff,var(--terra-soft));box-shadow:inset 0 3px 0 var(--terracotta)}
.market-grid article:nth-child(6n+6){background:linear-gradient(145deg,#fff,var(--aqua-soft));box-shadow:inset 0 3px 0 var(--petrol)}
.spot-summary>div:nth-child(5n+1){background:var(--aqua-soft)}.spot-summary>div:nth-child(5n+2){background:var(--sage-soft)}.spot-summary>div:nth-child(5n+3){background:var(--blue-soft)}.spot-summary>div:nth-child(5n+4){background:var(--terra-soft)}.spot-summary>div:nth-child(5n+5){background:var(--plum-soft)}
.history-kpis article:nth-child(4n+1){background:linear-gradient(145deg,#fff,var(--sage-soft));border-color:#d6e3d5}.history-kpis article:nth-child(4n+2){background:linear-gradient(145deg,#fff,var(--blue-soft));border-color:#d7dfea}.history-kpis article:nth-child(4n+3){background:linear-gradient(145deg,#fff,var(--plum-soft));border-color:#dfd5e5}.history-kpis article:nth-child(4n+4){background:linear-gradient(145deg,#fff,var(--ochre-soft));border-color:#e6d7bc}
.kpi-grid article:nth-child(4n+1){box-shadow:inset 0 4px 0 var(--blue)}.kpi-grid article:nth-child(4n+2){box-shadow:inset 0 4px 0 var(--ochre)}.kpi-grid article:nth-child(4n+3){box-shadow:inset 0 4px 0 var(--plum)}.kpi-grid article:nth-child(4n+4){box-shadow:inset 0 4px 0 var(--sage)}
.own-cta{background:linear-gradient(110deg,#173f4b,#27636a 55%,#675f78)}
.panel-head .eyebrow:before,.page-title>.eyebrow:before,.page-title>div>.eyebrow:before,.own-toolbar .eyebrow:before{content:"";display:inline-block;width:20px;height:3px;border-radius:99px;margin-right:7px;background:linear-gradient(90deg,var(--petrol),var(--ochre));vertical-align:3px}

/* Public + personal advanced watch builder */
.public-watch-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:18px;align-items:start;margin-bottom:22px}
.watch-value-panel{padding:28px;border-radius:18px;color:#fff;background:radial-gradient(circle at 90% 4%,rgba(238,231,244,.18),transparent 18rem),linear-gradient(145deg,#17444d,#2d6871 58%,#665e74);box-shadow:0 22px 55px rgba(29,83,97,.12)}
.watch-value-panel h2,.watch-builder-intro h2{margin:8px 0 10px;font-size:25px;letter-spacing:-.035em}.watch-value-panel p,.watch-builder-intro p{color:#d7e4e3;font-size:11px}.watch-value-panel .eyebrow,.watch-builder-intro .eyebrow{color:#c8dcda}
.watch-value-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.watch-value-list>div{padding:12px 13px;border-radius:11px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.10);border-left-width:4px}.watch-value-list b,.watch-value-list span{display:block}.watch-value-list b{font-size:11px}.watch-value-list span{margin-top:3px;color:#d4dfdf;font-size:9.5px}.watch-value-list .fixed{border-left-color:#8eb19a}.watch-value-list .spot{border-left-color:#91a8c7}.watch-value-list .impact{border-left-color:#ae9abb}.watch-value-list .open{border-left-color:#d1ae70}
.public-watch-preview{overflow:hidden}.public-watch-form{padding:17px 18px}.public-watch-cta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:14px}.public-watch-cta small{width:100%;color:var(--muted);font-size:9.5px}
.watch-builder-shell{display:grid;grid-template-columns:.72fr 1.28fr;overflow:hidden}.watch-builder-intro{padding:27px;background:radial-gradient(circle at 90% 4%,rgba(238,231,244,.18),transparent 16rem),linear-gradient(150deg,#173f47,#2d6871 58%,#655d72);color:#fff}.watch-color-key{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:20px}.watch-color-key span{padding:9px 10px;border-radius:9px;font-size:9px;font-weight:850}.watch-color-key .fixed{background:#dfeadf;color:#4e7059}.watch-color-key .spot{background:#e0e8f1;color:#566c89}.watch-color-key .impact{background:#ebe2ef;color:#665b74}.watch-color-key .open{background:#f0e2ca;color:#806337}
.advanced-alert-form{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding:18px 22px;background:linear-gradient(145deg,#fff,#f8faf8)}.watch-step{padding:17px 0;border-bottom:1px solid #e5eae7}.watch-step.full,.watch-rule-summary.full,.watch-submit-row.full{grid-column:1/-1}.watch-step-title{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px}.watch-step-title>span{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--aqua-soft);color:var(--petrol);font-size:10px;font-weight:900;flex:none}.watch-step-title b,.watch-step-title small{display:block}.watch-step-title b{font-size:11px}.watch-step-title small{color:var(--muted);font-size:9px;margin-top:2px}
.watch-type-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.watch-type-options label{position:relative;padding:12px;border:1px solid #dce4e0;border-radius:12px;background:#fff;cursor:pointer;min-height:88px;transition:.15s transform,.15s box-shadow,.15s border-color}.watch-type-options label:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(34,57,61,.07)}.watch-type-options label.active{border-color:#71949a;box-shadow:0 0 0 3px rgba(29,83,97,.08)}.watch-type-options input{position:absolute;opacity:0;pointer-events:none}.watch-type-options i{display:block;width:30px;height:6px;border-radius:99px}.watch-type-options .fixed i{background:var(--sage)}.watch-type-options .spot i{background:var(--blue)}.watch-type-options .impact i{background:var(--plum)}.watch-type-options .open i{background:var(--ochre)}.watch-type-options b,.watch-type-options small{display:block}.watch-type-options b{font-size:10px;margin-top:7px}.watch-type-options small{color:var(--muted);font-size:8px;margin-top:2px}
.watch-term-options{display:flex;gap:6px;flex-wrap:wrap}.watch-term-options label input{position:absolute;opacity:0;pointer-events:none}.watch-term-options label span{display:block;padding:7px 10px;border-radius:999px;border:1px solid #d7e1dd;background:#fff;color:#65757a;font-size:9px;font-weight:820;cursor:pointer}.watch-term-options label input:checked+span{background:var(--petrol);border-color:var(--petrol);color:#fff}
.watch-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.watch-field-grid.two-by-two{grid-template-columns:1fr 1fr}.watch-field-grid label,.personal-watch-forms label{display:grid;gap:4px;color:#66777c;font-size:8.5px;font-weight:780}.watch-field-grid input,.watch-field-grid select,.personal-watch-forms input{width:100%;height:38px;border:1px solid #ccd8d3;border-radius:8px;background:#fff;color:var(--ink);padding:0 9px}.input-unit{display:flex;border:1px solid #ccd8d3;border-radius:8px;background:#fff;overflow:hidden}.input-unit input{border:0!important;border-radius:0!important;min-width:0}.input-unit span{display:flex;align-items:center;padding:0 9px;color:#7b888c;font-size:9px;background:#f2f5f3;border-left:1px solid #dbe3df;white-space:nowrap}
.watch-rule-summary{margin-top:14px;padding:15px 16px;border-radius:13px;background:linear-gradient(105deg,var(--blue-soft),var(--sage-soft) 48%,var(--plum-soft));border:1px solid #d4dfdb}.watch-rule-summary span,.watch-rule-summary b,.watch-rule-summary small{display:block}.watch-rule-summary span{font-size:8px;font-weight:900;color:#66777c;letter-spacing:.08em}.watch-rule-summary b{font-size:13px;margin-top:4px}.watch-rule-summary small{color:#6e7e82;font-size:9px;margin-top:3px}.watch-submit-row{display:flex;align-items:center;gap:12px;padding-top:13px}.watch-submit-row small{color:var(--muted);font-size:9px;max-width:570px}
.personal-watch-panel{background:linear-gradient(145deg,#fff,#f7f2e8)}.personal-watch-forms{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:17px}.personal-watch-forms form{display:flex;align-items:end;gap:8px;padding:13px;border:1px solid #e2ded2;border-radius:11px;background:#fff}.personal-watch-forms form>label,.personal-watch-forms fieldset{flex:1}.personal-watch-forms fieldset{border:0;margin:0;padding:0}.personal-watch-forms legend{font-size:9px;font-weight:800;color:#66777c;margin-bottom:6px}.personal-watch-forms fieldset label{display:inline-flex;align-items:center;gap:3px;margin-right:7px;font-size:9px}.personal-watch-forms fieldset input{width:auto;height:auto}
.alert-row{border-left:4px solid transparent;padding-left:10px}.alert-row:nth-child(4n+1){border-left-color:var(--sage)}.alert-row:nth-child(4n+2){border-left-color:var(--blue)}.alert-row:nth-child(4n+3){border-left-color:var(--plum)}.alert-row:nth-child(4n+4){border-left-color:var(--ochre)}
@media(max-width:1050px){.public-watch-grid,.watch-builder-shell{grid-template-columns:1fr}.advanced-alert-form{grid-template-columns:1fr}.watch-step.full,.watch-rule-summary.full,.watch-submit-row.full{grid-column:1}.watch-type-options{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.watch-value-list,.watch-type-options,.watch-field-grid,.watch-field-grid.two-by-two,.personal-watch-forms{grid-template-columns:1fr}.watch-submit-row,.personal-watch-forms form{align-items:stretch;flex-direction:column}.watch-builder-intro{padding:22px}.advanced-alert-form{padding:14px}.public-watch-form{padding:13px}}

/* v0.0.33 email delivery & account recovery */
.email-channel-panel{background:linear-gradient(135deg,#fbfaf7,#eef4f1);border-color:#d4dfda}.email-channel-panel .panel-head{align-items:flex-start}.email-channel-body{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:10px}.email-channel-body b{font-size:15px}.email-channel-body p{margin:5px 0 0;color:var(--muted);font-size:12px;max-width:720px}.email-channel-actions{flex:none}.email-status{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:850;white-space:nowrap}.email-status.verified{background:#e2eee4;color:#42684f}.email-status.pending{background:#f3ead6;color:#816838}.email-status.off{background:#ecebea;color:#6b706e}.auth-forgot{display:inline-block;margin-top:10px;font-size:12px;color:var(--petrol);font-weight:750}.email-action-success{padding:16px;border-radius:14px;background:#e6f0e7;border:1px solid #ccdfcf;color:#315d3f}.email-action-success b{display:block;margin-bottom:5px}.email-action-success p{margin:0;font-size:13px;line-height:1.55}.auth-panel .empty-state.compact{margin:0}.auth-panel .stack-form+.auth-switch{margin-top:13px}
@media(max-width:700px){.email-channel-body{align-items:stretch;flex-direction:column}.email-channel-actions,.email-channel-actions form,.email-channel-actions button{width:100%}}
.event-delivery{display:inline-flex;margin-top:6px;padding:4px 7px;border-radius:999px;background:#ecefed;color:#68716d;font-size:9px;font-weight:850}.event-delivery.email_sent{background:#e2eee4;color:#42684f}.event-delivery.email_pending{background:#f3ead6;color:#816838}.event-delivery.email_failed{background:#f2e2df;color:#8a4f48}

/* =========================================================
   v0.0.35 production database + public comparison + distribution
   ========================================================= */
.contracts-v34{max-width:1240px}
.contract-type-tabs-v34{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 16px}
.contract-type-tabs-v34 a{display:block;padding:15px 17px;border:1px solid #d4dfdb;border-radius:14px;background:#fff;text-decoration:none;color:#526a6f;box-shadow:0 6px 20px rgba(28,55,60,.035)}
.contract-type-tabs-v34 a b{display:block;color:#173f47;font-size:13px}.contract-type-tabs-v34 a small{display:block;margin-top:4px;font-size:9.5px;line-height:1.4;color:#77878a}
.contract-type-tabs-v34 a.active{background:#214f58;border-color:#214f58;color:#fff;box-shadow:0 12px 28px rgba(33,79,88,.16)}
.contract-type-tabs-v34 a.active b,.contract-type-tabs-v34 a.active small{color:#fff}.contract-type-tabs-v34 a.active.spot{background:#526f98;border-color:#526f98}.contract-type-tabs-v34 a.active.hybrid{background:#786f83;border-color:#786f83}
.comparison-input-panel-v34{padding:16px;margin-bottom:13px}.comparison-input-grid-v34{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end}.comparison-input-grid-v34 label{display:grid;gap:5px;min-width:0}.comparison-input-grid-v34 label>span{font-size:8.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#64777c}.comparison-input-grid-v34 input,.comparison-input-grid-v34 select{width:100%;height:39px;border:1px solid #ccd8d3;border-radius:9px;background:#fff;color:#17373f;padding:0 10px;font-size:10.5px}.comparison-input-grid-v34 label>small{color:#78898d;font-size:8.5px;line-height:1.35}.input-with-unit{position:relative}.input-with-unit input{padding-right:52px}.input-with-unit i{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:8px;color:#728287;font-style:normal;font-weight:800}.comparison-submit-v34{display:flex;align-items:end}.comparison-submit-v34 .primary-button{width:100%;min-height:39px}
.term-tabs-v34{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.term-tabs-v34 a{padding:8px 12px;border:1px solid #d0dbd7;border-radius:999px;background:#fff;color:#607478;text-decoration:none;font-size:9.5px;font-weight:800}.term-tabs-v34 a.active{background:#214f58;border-color:#214f58;color:#fff}
.comparison-kpis-v34{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:0 0 15px}.comparison-kpis-v34 article{padding:14px 15px;border:1px solid #d7e1dd;border-radius:12px;background:#fff}.comparison-kpis-v34 article.best{background:linear-gradient(145deg,#e7f2eb,#f9fbfa);border-color:#c8ddce}.comparison-kpis-v34 article.spot{background:linear-gradient(145deg,#eaf0f8,#fafbfd);border-color:#d5dfea}.comparison-kpis-v34 article.hybrid{background:linear-gradient(145deg,#f0ebf3,#fbfafc);border-color:#e0d7e5}.comparison-kpis-v34 span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#6f8084}.comparison-kpis-v34 strong{display:block;margin-top:5px;font-size:21px;letter-spacing:-.03em;color:#173d45}.comparison-kpis-v34 small{display:block;margin-top:4px;color:#758589;font-size:8.5px;line-height:1.4}
.whole-bill-v34{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:18px;padding:18px 20px;margin:0 0 15px;border:1px solid #cfe0d7;border-radius:15px;background:linear-gradient(120deg,#eaf3ed,#f8fbfa)}.whole-bill-v34.pending{grid-template-columns:1fr;background:#faf5e9;border-color:#eadbb7}.whole-bill-copy h2{font-size:18px;margin:4px 0 5px;color:#183f47}.whole-bill-copy p{margin:0;color:#64777b;font-size:9.5px;line-height:1.5}.whole-bill-grid-v34{display:grid;grid-template-columns:1fr 1fr;gap:7px}.whole-bill-grid-v34 div{padding:10px 11px;border:1px solid #d6e2dc;border-radius:10px;background:rgba(255,255,255,.77)}.whole-bill-grid-v34 div.total{background:#214f58;border-color:#214f58;color:#fff}.whole-bill-grid-v34 span{display:block;font-size:7.5px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:#738387}.whole-bill-grid-v34 div.total span{color:#bcd0cd}.whole-bill-grid-v34 b{display:block;margin-top:4px;font-size:17px}.calculation-warning{margin-top:9px;padding:9px 10px;border-radius:8px;background:#fff3d9;border:1px solid #ead4a2;color:#795c24;font-size:8.7px;line-height:1.45}
.v34-offer-panel{overflow:hidden}.v34-contract-table th:last-child,.v34-contract-table td:last-child{width:175px}.order-cell-v34{vertical-align:middle}.order-button-v34{display:inline-flex;align-items:center;justify-content:center;min-width:112px;min-height:34px;padding:7px 10px;border-radius:8px;background:#006d77;color:#fff!important;text-decoration:none!important;font-size:9.5px;font-weight:850;white-space:nowrap}.order-button-v34:hover{filter:brightness(.94)}.affiliate-label-v34{display:block;margin-top:4px;color:#7a6a49;font-size:7px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.source-link-v34{display:block;margin-top:7px;color:#60767a;font-size:8px;text-decoration:underline;text-underline-offset:2px}.order-cell-v34>small{display:block;margin-top:4px;color:#879397;font-size:7.5px}.order-missing-v34{display:inline-block;padding:7px 8px;border-radius:8px;background:#f1f3f1;color:#788589;font-size:8px;line-height:1.3}.historical-estimate{color:#5a6f94!important}.v34-trust{margin-top:13px}
.distribution-page-v34,.changes-page-v34{max-width:1240px}.distribution-search-v34{padding:16px;margin-bottom:15px}.distribution-result-v34{display:grid;grid-template-columns:.78fr 1.22fr;gap:12px;margin-bottom:14px}.distribution-hero-v34{padding:20px;border-radius:15px;background:linear-gradient(145deg,#214f58,#2d6871);color:#fff}.distribution-hero-v34 .eyebrow{color:#bed1d0}.distribution-hero-v34 h2{font-size:23px;margin:5px 0}.distribution-hero-v34 p{color:#d0dddd;font-size:9.5px}.distribution-main-price-v34{margin:16px 0}.distribution-main-price-v34 strong{display:block;font-size:30px;letter-spacing:-.04em}.distribution-main-price-v34 span{font-size:8.5px;color:#c6d7d5}.distribution-hero-v34 .link-button{color:#fff;border-color:rgba(255,255,255,.25)}.distribution-kpis-v34{display:grid;grid-template-columns:1fr 1fr;gap:9px}.distribution-kpis-v34 article{padding:14px;border:1px solid #d8e2de;border-radius:12px;background:#fff}.distribution-kpis-v34 span{display:block;font-size:8px;text-transform:uppercase;font-weight:850;letter-spacing:.06em;color:#738286}.distribution-kpis-v34 strong{display:block;margin-top:5px;font-size:20px;color:#173f47}.distribution-kpis-v34 small{display:block;margin-top:3px;color:#78888b;font-size:8px}.distribution-warning-v34{margin:0 0 14px}.notice-v34{padding:17px;margin-bottom:14px;border:1px solid #e4d6b5;border-radius:12px;background:#fbf6e9}.notice-v34 b{font-size:11px;color:#765f31}.notice-v34 p{margin:5px 0 0;color:#826f4b;font-size:9.5px}.distribution-company-grid-v34{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px}.distribution-company-grid-v34 article{display:flex;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #dce4e1;border-radius:9px;background:#f9fbfa}.distribution-company-grid-v34 b{font-size:9.5px}.distribution-company-grid-v34 a{font-size:8px;color:#426970}
.changes-list-v34{overflow:hidden}.change-timeline-v34{padding:0 18px 14px}.change-timeline-v34 article{display:grid;grid-template-columns:125px 1fr;gap:16px;padding:14px 0;border-top:1px solid #e0e6e3}.change-timeline-v34 article:first-child{border-top:0}.change-time-v34{color:#7c8b8e;font-size:8.5px}.change-type-v34{display:inline-flex;padding:4px 7px;border-radius:999px;background:#e9efec;color:#517067;font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.change-timeline-v34 h3{margin:5px 0 3px;font-size:12px}.change-timeline-v34 p{margin:0;color:#697a7e;font-size:9px}
.admin-order-form-v34{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:8px;align-items:center}.admin-order-form-v34 input[type=url]{width:100%;height:34px;border:1px solid #ccd8d3;border-radius:8px;padding:0 9px}.admin-order-form-v34 label{font-size:9px;color:#617378}.admin-order-form-v34 button{min-height:34px}
@media(max-width:1050px){.comparison-input-grid-v34{grid-template-columns:repeat(3,1fr)}.comparison-kpis-v34{grid-template-columns:1fr 1fr}.whole-bill-v34{grid-template-columns:1fr}.distribution-result-v34{grid-template-columns:1fr}.distribution-company-grid-v34{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.contract-type-tabs-v34,.comparison-input-grid-v34{grid-template-columns:1fr}.comparison-kpis-v34{grid-template-columns:1fr 1fr}.whole-bill-grid-v34{grid-template-columns:1fr}.distribution-kpis-v34,.distribution-company-grid-v34{grid-template-columns:1fr}.change-timeline-v34 article{grid-template-columns:1fr;gap:4px}.admin-order-form-v34{grid-template-columns:1fr}.v34-contract-table th:last-child,.v34-contract-table td:last-child{width:auto}}
@media(max-width:480px){.comparison-kpis-v34{grid-template-columns:1fr}}
