:root{--green:#05cb63;--forest:#078649;--navy:#0f2540;--ink:#1b2e35;--muted:#738187;--line:#e4eae7;--header:130px;--sidebar:350px;--shadow:0 5px 22px #102d2520}
*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:#0d1d2d;font-size:13px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #24aefa;outline-offset:3px}button,a{touch-action:manipulation}a{color:var(--forest)}button{color:inherit}h1,h2,h3,p{margin:0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
.top-header{position:fixed;inset:0 0 auto;z-index:1200;height:var(--header)}.brand-row{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:linear-gradient(95deg,rgba(5,32,37,.98) 3%,rgba(10,46,43,.88) 37%,rgba(5,59,37,.66) 70%,rgba(7,34,34,.94)),url('../img/header.webp') center 39%/cover;color:#fff;position:relative;border-top:3px solid var(--green)}.brand{display:flex;align-items:center;gap:15px;color:white;text-decoration:none}.brand-logo{background:#fff;border-radius:10px;padding:3px;box-shadow:0 3px 14px #0005}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.8px;line-height:1.4}.brand .eyebrow{color:#8ecfae}.brand h1{font-size:25px;letter-spacing:-.9px;font-weight:700;line-height:1.35}.brand h1 span{font-weight:450}.brand-sub{font-size:10px;color:#bdd7cc;margin-top:3px}.spatiqon-logo{position:absolute;left:51%;top:6px;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 2px 8px #0008)}.header-actions{display:flex;align-items:center;gap:14px}.italia-tag{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:1.4px;font-weight:650}.tricolore{width:22px;height:13px;border-radius:2px;background:linear-gradient(90deg,#04bd68 33.3%,#fff 33.3%,#fff 66.6%,#f36269 66.6%)}.header-btn{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #ffffff42;border-radius:7px;background:#ffffff12;color:#fff;font-size:11px}.header-btn:hover{background:#ffffff25}.icon-btn{height:36px;width:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;flex-shrink:0}.home-link{color:#fff;background:#ffffff12;border-color:#ffffff42}.source-strip{height:32px;display:flex;align-items:center;gap:22px;padding:0 26px;color:#d5e3df;background:#0f252b;font-size:10px;border-bottom:1px solid #2a4245}.source-strip>span:first-child{display:flex;align-items:center;gap:7px;font-weight:650}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 0 3px #05cb6315}.strip-note{margin-left:auto;color:#88a7a3;font-style:italic}#snapshot-label{color:#b0c5bc}
#map{position:fixed;top:var(--header);bottom:0;left:0;right:0;background:#0d1d2d}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important;max-width:calc(100vw - 365px);border-radius:5px 0 0}.leaflet-control-zoom{border:0!important;box-shadow:var(--shadow)!important}.leaflet-bar a{color:var(--ink)!important}.leaflet-control-layers{border:0!important;border-radius:8px!important;box-shadow:var(--shadow)!important}.leaflet-top.leaflet-right{top:10px;right:7px}.leaflet-control-scale{margin-left:calc(var(--sidebar) + 35px)!important;margin-bottom:50px!important}.region-tooltip{background:#fff;border:1px solid #ccdacf;box-shadow:var(--shadow);border-radius:6px;font-weight:650;color:#1f4633}.leaflet-tooltip:before{display:none}.sidebar{position:fixed;top:calc(var(--header) + 12px);bottom:14px;left:0;width:var(--sidebar);background:#fff;border-radius:0 12px 12px 0;z-index:1000;box-shadow:var(--shadow);transition:transform .25s ease;display:flex;overflow:hidden}.sidebar-scroll{width:100%;overflow-y:auto;padding:20px 18px 0;scrollbar-width:thin;scrollbar-color:#c9d8d0 transparent}.explore-heading{display:flex;align-items:center;justify-content:space-between}.green{color:var(--forest)}.explore-heading h2{font-size:19px;font-weight:700;letter-spacing:-.65px;margin-top:5px;line-height:1.25}.explore-heading>.icon{color:var(--forest);height:26px;width:26px;margin-left:8px}.intro{font-size:10px;color:var(--muted);margin-top:7px;margin-bottom:18px}.search-wrap{display:flex;align-items:center;gap:9px;border:1px solid #dce7e0;background:#f5f8f6;border-radius:8px;padding:0 11px}.search-wrap .icon{color:#739082;width:17px}.search-wrap input{width:100%;height:42px;border:0;outline:0;background:transparent;font-size:11px;color:var(--ink)}.search-wrap:focus-within{border-color:var(--green);box-shadow:0 0 0 3px #05cb6310}.filter-details>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:15px 0 3px;font-size:11px;font-weight:650;color:#536a5e}.filter-details>summary::-webkit-details-marker{display:none}.filter-details>summary>span:first-child{display:flex;align-items:center;gap:7px}.filter-details .icon{width:14px;height:14px}.detail-chevron{font-size:18px}.filter-details:not([open]) .detail-chevron{transform:rotate(-90deg)}fieldset{padding:0;border:0;margin:15px 0 0;min-width:0}legend{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--forest);padding:0;margin-bottom:9px}legend span{color:#7b8881;margin-left:5px}.fuel-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.fuel-tabs button{border:1px solid #dde6e1;background:#fff;border-radius:7px;font-size:11px;font-weight:650;height:35px}.fuel-tabs button.selected{border-color:var(--green);color:#067943;background:#e9fbf0;box-shadow:inset 0 -2px var(--green)}select{appearance:auto;width:100%;border:1px solid #e2e9e4;border-radius:6px;background:#fff;color:#3c5047;padding:8px 6px;font-size:11px;min-height:34px;max-width:100%}#fuel{margin-top:7px;background:#f9fbfa;font-size:10px;color:#6d7f74}.mode-selector{display:flex;border:1px solid #e4eae5;background:#f3f6f4;padding:3px;border-radius:7px;margin-top:10px}.mode-selector button{flex:1;border:0;background:none;border-radius:4px;padding:7px 2px;font-size:10px;color:#7c8780}.mode-selector button.selected{background:#fff;box-shadow:0 1px 4px #0a321318;color:#135b33;font-weight:700}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:9px}.two-col label,.select-label{display:block;font-size:10px;color:#6f7e76;font-weight:550}.two-col select,.select-label select{display:block;margin-top:5px}.select-label{margin-top:9px}.brand-shortcuts{display:flex;gap:7px;margin-top:8px;align-items:center}.brand-shortcuts button{border:1px solid var(--line);background:#fff;border-radius:6px;height:31px;flex:1;max-width:48px;display:flex;align-items:center;justify-content:center;padding:4px}.brand-shortcuts button.selected{border-color:var(--green);box-shadow:0 0 0 2px #05cb6320}.brand-shortcuts img{max-width:29px;height:22px;object-fit:contain}.brand-shortcuts span{font-size:8px;font-weight:700}.switches{padding:12px 0 8px}.switch-row{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#607369;padding:5px 0;gap:10px;cursor:pointer;position:relative}.switch-row input{position:absolute;opacity:0;right:0;width:32px;height:20px}.switch{height:19px;width:33px;flex-shrink:0;background:#cdd9d2;border-radius:20px;padding:3px;transition:background .2s}.switch:after{content:'';display:block;background:white;border-radius:50%;height:13px;width:13px;box-shadow:0 1px 3px #0002;transition:transform .2s}.switch-row input:checked+.switch{background:var(--green)}.switch-row input:checked+.switch:after{transform:translateX(14px)}.switch-row input:focus-visible+.switch{outline:3px solid #24aefa;outline-offset:2px}.results-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:10px}.results-heading h3{font-size:13px;font-weight:700}.results-heading h3 span{font-size:10px;margin-left:3px;border-radius:5px;padding:2px 5px;background:#eaf5ef;color:var(--forest)}#result-caption{font-size:10px;color:var(--muted);display:block;margin-top:4px}.text-btn{border:0;background:none;padding:3px 0;color:var(--forest);font-size:10px;font-weight:600;cursor:pointer}.text-btn:hover{text-decoration:underline}.results-tools{display:flex;gap:8px;align-items:center;margin:10px 0}.results-tools label{flex:1}.results-tools select{background:#f8faf9;font-size:10px}.results-tools .icon-btn{height:34px;width:34px}.results-tools .icon{width:16px;height:16px}#results{display:flex;flex-direction:column;gap:7px}.result-card{display:flex;gap:10px;width:100%;text-align:left;align-items:center;padding:11px 9px;background:#fff;border:1px solid var(--line);border-radius:8px;transition:border-color .15s,background .15s}.result-card:hover,.result-card.selected{border-color:var(--green);background:#f3fcf7}.result-logo,.brand-fallback{width:37px;height:37px;flex-shrink:0;background:#fff;border-radius:7px;object-fit:contain;padding:3px;border:1px solid #edf1ee}.brand-fallback{display:inline-flex;align-items:center;justify-content:center;background:#f0f5f2;color:#75897e}.brand-fallback .icon{width:23px;height:23px}.result-info{min-width:0;flex:1}.result-info strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-info .location{display:block;color:#718177;font-size:9px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-info .station-name{display:block;color:#93a096;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.result-price{text-align:right;flex-shrink:0}.result-price strong{font-size:15px;font-weight:750;letter-spacing:-.5px;color:#087d43}.result-price small{display:block;font-size:9px;color:#829187;margin-top:4px}.stale-tag{color:#ac721d!important}.result-price .no-price{font-size:11px;color:#819188}.load-more{width:100%;padding:11px;border:1px solid var(--line);background:#f7faf8;border-radius:7px;margin:12px 0;color:var(--forest);font-size:11px;font-weight:650}.empty-results{text-align:center;padding:30px 10px;line-height:1.7;color:#748178;font-size:12px}.sidebar-footer{display:flex;gap:9px;border-top:1px solid var(--line);margin-top:18px;padding:16px 0 18px}.sidebar-footer img{object-fit:contain}.sidebar-footer strong{font-size:10px;display:block}.sidebar-footer span{display:block;font-size:8px;margin:4px 0;color:var(--muted)}.sidebar-footer button{font-size:9px}.sidebar-toggle{position:fixed;top:calc(var(--header) + 28px);left:var(--sidebar);background:white;border:0;border-radius:0 7px 7px 0;width:30px;height:37px;display:flex;align-items:center;justify-content:center;color:#6d8578;z-index:999;box-shadow:4px 3px 9px #102d2510;transition:left .25s}.sidebar-toggle .icon{height:16px;width:16px}.sidebar-toggle span{display:none}.sidebar.collapsed{transform:translateX(-100%)}.sidebar.collapsed~.sidebar-toggle{left:0}.map-stats{position:fixed;top:calc(var(--header) + 22px);left:calc(var(--sidebar) + 45px);z-index:800;display:flex;border:1px solid #e7ede8;border-radius:9px;background:#fffffff5;box-shadow:var(--shadow);overflow:hidden}.stat{padding:13px 22px;min-width:168px;border-right:1px solid #e9edea}.stat:last-child{border:0}.stat>span{font-size:8px;letter-spacing:.9px;font-weight:700;color:#7a8c81}.stat strong{display:block;font-size:26px;font-weight:750;letter-spacing:-1.1px;line-height:1.3;color:#214532;margin-top:3px}.stat strong .unit{font-size:11px;letter-spacing:0;margin-left:5px;font-weight:500;color:#7b8e80}.stat small{display:block;font-size:9px;color:#839389;margin-top:3px}.map-tools{position:fixed;right:17px;top:calc(var(--header) + 147px);z-index:900;display:flex;flex-direction:column;gap:8px}.map-tools .icon-btn{box-shadow:var(--shadow);width:34px;height:34px}.map-caption{position:fixed;bottom:24px;left:calc(var(--sidebar) + 35px);z-index:800;display:flex;align-items:center;gap:10px;background:#142d30d9;backdrop-filter:blur(8px);border:1px solid #72928c40;border-radius:7px;padding:10px 13px;color:#e5f0e9;font-size:10px}.map-caption>span:last-child{color:#a3beb3;font-size:9px}.price-legend{position:fixed;bottom:32px;right:18px;z-index:800;width:252px;background:#fffffff5;border:1px solid #e4eae5;border-radius:10px;padding:11px 13px;box-shadow:var(--shadow)}.legend-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px}.price-legend strong{font-size:11px;color:#20342a}.legend-basis{font-size:8px;color:#8a968c;font-weight:600;white-space:nowrap}.legend-bins{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.legend-bins li{display:grid;grid-template-columns:12px 1fr auto auto;align-items:center;gap:8px;padding:3px 0}.lg-swatch{width:11px;height:11px;border-radius:3px;background:var(--c);box-shadow:0 0 0 1px #0000000d}.lg-label{font-size:10px;color:#4a5a51;font-weight:600}.lg-range{font-size:9px;color:#7c8a80;font-variant-numeric:tabular-nums;text-align:right}.lg-n{font-size:10px;color:#20342a;font-weight:750;font-variant-numeric:tabular-nums;min-width:32px;text-align:right}.legend-bins .lg-na{opacity:.72}.legend-note{display:block;font-size:8px;color:#839087;margin-top:8px;line-height:1.55;border-top:1px solid #eef2ef;padding-top:6px}.grey-dot{display:inline-block;background:#8a9b92;height:6px;width:6px;border-radius:50%;margin-right:3px}.cluster-circle{display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0d6d44;color:#fff;font-size:12px;font-weight:700;border:3px solid #d2f7e0;box-shadow:0 2px 12px #082c4145;width:100%;height:100%;outline:5px solid #03c96b18}.cluster-circle.large{background:#095435;font-size:13px}.station-marker{border:2.5px solid var(--marker);border-radius:50%;background:#fff;box-shadow:0 2px 6px #183a4050;display:flex;align-items:center;justify-content:center;padding:4px}.station-marker.stale{border-style:dashed}.station-marker img{width:100%;height:100%;object-fit:contain;border-radius:3px}.station-marker .icon{height:19px;width:19px;color:#6b8174}.station-tooltip{font-size:11px;border-radius:6px;padding:7px 10px;line-height:1.5}.loading-card{position:fixed;z-index:950;top:48%;left:calc(50% + 100px);transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:12px;background:white;border-radius:12px;padding:28px 36px;box-shadow:var(--shadow);max-width:80vw;text-align:center}.loading-card strong{font-size:17px}.loading-card span:last-child{font-size:11px;color:var(--muted)}.spinner{width:26px;height:26px;border:3px solid #e2f2e8;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notice{position:fixed;bottom:130px;left:calc(50% + 150px);transform:translateX(-50%);max-width:480px;background:#fff;border:1px solid #ecd7a7;border-left:4px solid #e9b348;color:#5e522e;z-index:1600;border-radius:8px;padding:12px 17px;box-shadow:var(--shadow);font-size:12px;line-height:1.5}
.attr-sidebar{position:fixed;top:0;right:0;bottom:0;width:410px;background:linear-gradient(160deg,#0f2540,#087b42);z-index:1400;transform:translateX(105%);transition:transform .25s;box-shadow:-5px 0 25px #0003;display:flex;flex-direction:column}.attr-sidebar.open{transform:translateX(0)}.attr-header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;background:#07182050;color:#fff}.attr-header h2{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:550}.attr-header .icon-btn{background:#ffffff18;border:0;color:white;width:31px;height:31px}.attr-content{flex:1;min-height:0;overflow-y:auto}.station-hero{padding:25px 20px 21px;display:flex;gap:16px;align-items:center;color:white}.station-hero .result-logo,.station-hero .brand-fallback{width:72px;height:72px;padding:9px;border:3px solid #ffffff40;box-shadow:0 3px 14px #0002}.station-hero h3{font-size:23px;letter-spacing:-.7px}.station-hero p{font-size:11px;color:#c4ded3;margin-top:6px;line-height:1.4}.station-hero .eyebrow{font-size:8px;color:#8cd9b3;margin-bottom:5px}.attr-body{background:#fff;padding:20px;border-radius:13px 13px 0 0;min-height:calc(100% - 145px)}.selected-price{background:#ebf9f0;border:1px solid #c6e9d4;border-radius:9px;padding:15px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.selected-price>div>span{display:block;color:#668172;font-size:10px}.selected-price strong{font-size:30px;letter-spacing:-1px;color:#067d43}.selected-price small{font-size:12px;color:#627e6d}.selected-price .fuel-label{font-size:13px;font-weight:650;color:#1f6340;margin:4px 0}.selected-price .price-date{font-size:9px;max-width:125px;line-height:1.6}.attr-name{font-size:17px;line-height:1.35;letter-spacing:-.4px}.address-block{margin:7px 0 17px;font-size:12px;color:#7d8a80;line-height:1.7}.attr-row{display:grid;grid-template-columns:105px 1fr;gap:12px;border-bottom:1px solid #edf1ed;padding:9px 0;font-size:11px;line-height:1.55}.attr-row .key{color:#809084}.attr-row .value{text-align:right;font-weight:600;overflow-wrap:anywhere}.section-label{font-size:10px;color:#6b8170;letter-spacing:1px;font-weight:700;margin:24px 0 9px}.price-table{width:100%;border-collapse:collapse;font-size:10px}.price-table th{text-align:left;font-size:9px;color:#8b988e;letter-spacing:.4px;font-weight:600;border-bottom:1px solid var(--line);padding:8px 4px}.price-table td{padding:10px 4px;border-bottom:1px solid #eef2ef;vertical-align:top}.price-table td:first-child{max-width:135px}.price-table td:first-child strong{font-weight:600}.price-table td:last-child{text-align:right;white-space:nowrap}.price-table td>small{display:block;color:#95a097;font-size:8px;line-height:1.5;margin-top:4px}.price-table .amount{font-size:13px;font-weight:700;color:#145e37}.mode-pill{font-size:8px;display:inline-block;padding:3px 5px;border-radius:4px;background:#eff4f0;color:#6e8877}.station-actions{display:flex;gap:8px;margin-top:22px}.primary-btn,.secondary-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:var(--green);color:#fff;text-decoration:none;font-size:11px;font-weight:700;border:0;border-radius:7px;padding:12px 10px;flex:1}.primary-btn:hover{background:#03b656}.secondary-btn{background:#eff5f1;color:#47765a;flex:0 0 42px}.source-note{background:#f7f9f7;border-radius:7px;padding:11px;margin-top:16px;font-size:9px;line-height:1.8;color:#7d897f}.source-note a{font-weight:600}.warning-note{padding:10px 12px;border:1px solid #efdfb5;background:#fff9eb;border-radius:6px;font-size:10px;color:#9a7834;line-height:1.6;margin:10px 0}.logo-source{font-size:8px;color:#88968c;margin-top:10px}.station-loading{padding:30px;color:white;text-align:center}
dialog{border:0;border-radius:14px;width:650px;max-width:calc(100% - 28px);max-height:87dvh;padding:0;color:var(--ink);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#071d29ad;backdrop-filter:blur(4px)}.dialog-header{padding:25px 27px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.dialog-header h2{font-size:25px;letter-spacing:-.8px;margin-top:7px}.dialog-body{padding:6px 27px 27px;font-size:12px;line-height:1.9;color:#6d7e71}.dialog-body h3{font-size:14px;color:#1c442c;margin:22px 0 5px}.dialog-body p{margin:7px 0}.dialog-body a{font-weight:550}.source-status{padding:13px 16px;border-radius:8px;background:#eefaef;color:#387047;margin-top:16px;font-size:11px}.source-status.warning{background:#fff7e7;color:#997027}.data-quality{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}.data-quality>div{background:#f4f7f5;border-radius:7px;padding:12px;font-size:10px}.data-quality strong{display:block;font-size:21px;color:#285336;line-height:1.4}.source-details{border:1px solid #e3eae3;border-radius:7px;padding:10px 12px;margin-top:13px;font-size:10px;overflow-wrap:anywhere}.source-details summary{cursor:pointer;font-weight:650}.source-details ul{padding-left:16px}.source-details li{margin-top:5px}
@media(min-width:1500px){:root{--sidebar:365px}.sidebar-scroll{padding:24px 21px 0}.map-stats{left:420px}.stat{min-width:183px}}
@media(max-width:1100px){.italia-tag{display:none}.stat{min-width:145px;padding:12px 15px}.stat:last-child{display:none}.spatiqon-logo{left:57%;width:72px;height:72px;top:14px}.brand h1{font-size:23px}.header-actions{gap:7px}.price-legend{width:210px}.map-caption>span:last-child{display:none}}
@media(max-width:760px){:root{--header:108px;--sidebar:100%}.brand-row{height:78px;padding:0 13px}.brand-logo{height:42px;width:42px}.brand{gap:9px}.brand h1{font-size:20px;letter-spacing:-.6px}.brand .eyebrow{font-size:7px;letter-spacing:1.15px}.brand-sub{font-size:8px;max-width:225px}.spatiqon-logo,.home-link,.strip-note{display:none}.header-actions{gap:0}.header-btn{padding:8px;border:0;background:#ffffff15}.header-btn>span{display:none}.source-strip{height:30px;padding:0 12px;gap:8px;font-size:8px;justify-content:space-between}.source-strip>span:first-child{max-width:155px;font-size:8px}.source-strip .status-dot{width:5px;height:5px}.sidebar{top:auto;bottom:0;height:73dvh;max-height:calc(100dvh - var(--header) - 15px);border-radius:18px 18px 0 0;transform:translateY(0);z-index:1050;width:100%;box-shadow:0 -3px 24px #071d2930;transition:transform .25s}.sidebar.collapsed{transform:translateY(100%)}.sidebar-scroll{padding:21px 20px 65px}.sidebar:before{content:'';position:absolute;top:7px;left:calc(50% - 15px);width:30px;height:3px;border-radius:4px;background:#c8d5ce}.sidebar-toggle,.sidebar.collapsed~.sidebar-toggle{top:auto;left:auto;right:14px;bottom:22px;border-radius:30px;background:var(--green);color:#fff;box-shadow:0 4px 20px #002d3b45;width:auto;height:43px;padding:0 17px;gap:8px;z-index:1100}.sidebar-toggle span{display:block;font-size:11px;font-weight:700}.sidebar-toggle .icon{height:17px;width:17px}.explore-heading h2{font-size:22px}.intro{font-size:11px}.map-stats{left:12px;top:calc(var(--header) + 12px);border-radius:8px}.stat{min-width:120px;padding:9px 11px}.stat>span{font-size:7px;letter-spacing:.5px}.stat strong{font-size:22px}.stat small{font-size:8px}.map-stats .stat:last-child{display:none}.leaflet-top.leaflet-right{top:5px;right:3px}.map-tools{right:13px;top:calc(var(--header) + 142px)}.map-caption{left:12px;bottom:76px;font-size:9px;padding:8px 10px}.price-legend{left:12px;right:auto;bottom:20px;width:190px;padding:8px 10px}.price-legend strong{font-size:10px}.legend-note,.legend-basis{display:none}.legend-bins li{grid-template-columns:11px 1fr auto;gap:6px}.lg-range{display:none}.leaflet-control-attribution{max-width:100vw;font-size:7px!important}.leaflet-control-scale{margin-left:12px!important;margin-bottom:119px!important}.attr-sidebar{width:100%;z-index:1500}.station-hero{padding:20px}.attr-body{padding:20px}.loading-card{left:50%;width:290px;padding:24px}.notice{left:50%;bottom:105px;width:calc(100vw - 28px);max-width:440px}.dialog-header{padding:20px}.dialog-header h2{font-size:22px}.dialog-body{padding:5px 20px 20px}.header-btn .icon{width:20px;height:20px}.filter-details>summary{padding-top:13px}.source-strip #snapshot-label{white-space:nowrap}.data-quality{gap:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.disclaimer-overlay{position:fixed;inset:0;z-index:2000;background:#0a1a2a;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.disclaimer-overlay.hidden{display:none}.disclaimer-card{width:100%;max-width:520px;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0006;overflow:hidden;animation:slideUp .4s ease}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.disclaimer-header{padding:28px 24px 16px;text-align:center;background:linear-gradient(135deg,#0f2540,#087b42);color:#fff}.disclaimer-logos{display:flex;gap:16px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}.disclaimer-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #0004)}.disclaimer-logo.spatiqon{background:#fff;border-radius:12px;padding:8px}.disclaimer-logo.sinocloud{background:#fff;border-radius:12px;padding:8px}.mimit-logo{display:block;margin:0 auto 16px;filter:drop-shadow(0 4px 12px #0004)}.disclaimer-header h2{font-size:22px;font-weight:600;letter-spacing:-.5px}.disclaimer-body{padding:24px;font-size:13px;line-height:1.7;color:#2d3a35}.disclaimer-body p{margin:12px 0}.disclaimer-body strong{color:#0f2540}.disclaimer-body a{color:#078649;font-weight:550}.disclaimer-body a:hover{text-decoration:underline}.mimit-link-row{margin-top:20px!important}.mimit-official-link{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:#eefaef;border:1px solid #c6e9d4;border-radius:10px;color:#1f6340;font-weight:600;text-decoration:none;transition:background .2s}.mimit-official-link:hover{background:#dcf7e3;text-decoration:none}.disclaimer-note{margin-top:20px!important;font-size:11px;color:#738187;text-align:center}.disclaimer-footer{padding:16px 24px 24px;text-align:center}.primary-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:#05cb63;color:#fff;border:0;border-radius:10px;font-size:14px;font-weight:650;letter-spacing:.3px;cursor:pointer;transition:background .2s,transform .1s}.primary-btn:hover{background:#078649}.primary-btn:active{transform:scale(.98)}.primary-btn .icon{width:18px;height:18px;stroke-width:2}

@media(max-width:760px){.disclaimer-card{margin:12px;border-radius:12px}.disclaimer-header{padding:22px 18px 12px}.disclaimer-body{padding:18px;font-size:12.5px}.primary-btn{width:100%;justify-content:center}.disclaimer-logos{gap:12px}.disclaimer-logo{width:100px;height:100px}}

/* EU Compare Dialog */
.eu-fuel-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}
.eu-fuel-tabs button{padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:6px;font-size:11px;font-weight:650;color:#536a5e}
.eu-fuel-tabs button.selected{border-color:var(--green);background:#e9fbf0;color:#067943}
.eu-fuel-panel{animation:fadeIn .2s}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.eu-table{width:100%;border-collapse:collapse;font-size:11px}
.eu-table th{text-align:left;padding:10px 8px;border-bottom:2px solid var(--line);font-size:10px;color:#738187;font-weight:600}
.eu-table td{padding:9px 8px;border-bottom:1px solid #f0f4f2;vertical-align:middle}
.eu-table tr:hover{background:#f7faf8}
.eu-table .italy-row{background:#e9fbf0}
.eu-table .italy-row:hover{background:#dcf7e3}
.eu-note{font-size:10px;color:var(--muted);margin-top:12px;line-height:1.5}

/* ── Dashboard Trend & Statistiche ─────────────────────────── */
#trends-dialog{width:880px}
.dash-controls{display:flex;gap:14px;flex-wrap:wrap;margin:4px 0 16px}
.dash-controls label{display:flex;flex-direction:column;gap:4px;font-size:9px;font-weight:700;letter-spacing:.6px;color:#7a8b81;text-transform:uppercase}
.dash-controls select{padding:9px 12px;border:1px solid #dbe4de;border-radius:8px;background:#fff;font-size:12px;color:#274034;font-weight:600;min-width:170px}
.dash-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.kpi-tile{background:linear-gradient(160deg,#f4faf6,#eef4f1);border:1px solid #e2ece6;border-radius:11px;padding:12px 13px}
.kpi-l{display:block;font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#7c8d82;line-height:1.3;min-height:20px}
.kpi-v{display:block;font-size:22px;font-weight:800;letter-spacing:-.8px;color:#123f28;margin-top:5px;line-height:1.1}
.kpi-v i{font-size:10px;font-weight:600;font-style:normal;color:#6f8377;margin-left:3px;letter-spacing:0}
.kpi-tile small{display:block;font-size:9px;color:#8a978d;margin-top:5px;line-height:1.3}
.dash-grid{display:flex;flex-direction:column;gap:16px}
.dash-card{border:1px solid #e7ede9;border-radius:13px;background:#fff;padding:15px 16px 8px;box-shadow:0 1px 2px #102d2508}
.dash-card-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.dash-card-h h4{font-size:13px;font-weight:750;color:#16321f;letter-spacing:-.2px}
.dash-card-sub{font-size:9.5px;color:#8a978d}
.dash-plot{width:100%;position:relative;padding-bottom:6px}
.dash-svg{display:block;width:100%;height:auto;overflow:visible}
.dash-svg .grid{stroke:#eef2ef;stroke-width:1}
.dash-svg .ax-y{fill:#93a099;font-size:10px;text-anchor:end;font-variant-numeric:tabular-nums}
.dash-svg .ax-x{fill:#93a099;font-size:10px;text-anchor:middle}
.dash-svg .ser-lab{font-size:10px;font-weight:800}
.dash-svg .cross-l{stroke:#b6c2bb;stroke-width:1;stroke-dasharray:3 3}
.dash-svg .r-name{fill:#33473c;font-size:10.5px;font-weight:600;text-anchor:end}
.dash-svg .r-val{fill:#274034;font-size:10.5px;font-weight:750;text-anchor:start;font-variant-numeric:tabular-nums}
.dash-svg .r-wh{stroke:#c2ccc5;stroke-width:1.5}
.dash-svg .r-med{stroke:#12321f;stroke-width:2}
.dash-svg .r-box{stroke:#fff;stroke-width:1}
.dash-svg .rrow-bg{fill:transparent}
.dash-svg .rrow:hover .rrow-bg{fill:#f2f7f4}
.dash-svg .ref-line{stroke:#9fb0a6;stroke-width:1.2;stroke-dasharray:4 3}
.dash-svg .ref-lab{fill:#8a978d;font-size:9px;text-anchor:middle}
.dash-empty{padding:26px 16px;text-align:center;color:#7d8b81;font-size:11px;background:#f6f9f7;border-radius:9px;line-height:1.6}
.dash-tip{position:fixed;z-index:3000;pointer-events:none;background:#0f2540;color:#eef4f1;border-radius:8px;padding:8px 11px;font-size:11px;line-height:1.5;box-shadow:0 8px 24px #0006;max-width:240px}
.dash-tip strong{display:block;font-size:11px;margin-bottom:3px;color:#fff}
.dash-tip span{display:flex;align-items:center;gap:6px}
.dash-tip span i{width:8px;height:8px;border-radius:2px;flex-shrink:0}
.dash-tip b{color:#8fe6b6}
.regional-table{width:100%;overflow-x:auto}
.regional-table table{width:100%;border-collapse:collapse;font-size:10.5px}
.regional-table th{text-align:left;padding:8px 7px;border-bottom:2px solid #e4eae7;font-size:9px;color:#7a8b81;font-weight:700;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}
.regional-table td{padding:8px 7px;border-bottom:1px solid #f0f4f2;vertical-align:top;line-height:1.4}
.regional-table td.num{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#2a4034;white-space:nowrap}
.regional-table .r-name-cell{font-weight:700;color:#17321f;white-space:nowrap}
.regional-table td.detail{font-size:9.5px;color:#63736a;max-width:210px}
.regional-table td.detail b{color:#146138}
.regional-table .cheapest{background:#eefaf1}
.regional-table .most-expensive{background:#fdf1ef}
.badge{display:inline-block;padding:2px 7px;border-radius:10px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-left:5px;vertical-align:middle}
.badge-green{background:#d8f5e3;color:#0a6a3c}
.badge-red{background:#fbdedb;color:#b23125}
@media(max-width:900px){#trends-dialog{width:calc(100% - 20px)}.dash-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){
  .eu-fuel-tabs{justify-content:center}
  .eu-table{font-size:10px}
  .eu-table th,.eu-table td{padding:7px 5px}
  .dash-controls{flex-direction:column}.dash-controls select{width:100%}
  .kpi-v{font-size:19px}
  .regional-table th,.regional-table td{padding:6px 4px;font-size:9px}
  .regional-table td.detail{max-width:130px}
}

/* ── Confronto Europa (prezziari altre nazioni) ─────────────── */
#eu-compare-dialog{width:880px}
.eu-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 18px;background:#f1f6f3;padding:5px;border-radius:11px}
.eu-tabs button{flex:1;min-width:88px;padding:9px 10px;border:0;background:transparent;border-radius:8px;font-size:11.5px;font-weight:700;color:#67796e}
.eu-tabs button.on{background:#fff;color:#0d5a34;box-shadow:0 1px 4px #0a321318}
.eu-hero{margin-bottom:18px}
.kpi-tile.good{border-color:#bfe9cf;background:linear-gradient(160deg,#eefaf1,#e3f5ea)}
.kpi-tile.bad{border-color:#f3cfca;background:linear-gradient(160deg,#fdf1ef,#fbe6e2)}
.kpi-tile.good .kpi-v{color:#0a6a3c}
.kpi-tile.bad .kpi-v{color:#b23125}
.dash-svg .r-flag{font-size:13px;text-anchor:middle}
.dash-svg .r-name.it,.dash-svg .r-val.it{fill:#0d5a34;font-weight:800}
.dash-svg .rrow-bg.it{fill:#eafaf0}
.dash-svg .rrow.eurow:hover .rrow-bg{fill:#f2f7f4}
.dash-svg .rrow.eurow:hover .rrow-bg.it{fill:#e2f5ea}
.regional-table td.num.pos{color:#0a6a3c;font-weight:700}
.regional-table td.num.neg{color:#b23125;font-weight:700}
.regional-table .italy-row{background:#eefaf1}
.eu-foot{font-size:9.5px;color:#8a978d;margin-top:14px;line-height:1.6}
/* prima KPI dashboard = hero verde */
#dash-kpis .kpi-tile:first-child{background:linear-gradient(160deg,#e8f8ee,#dbf1e5);border-color:#bfe6cf}
#dash-kpis .kpi-tile:first-child .kpi-v{color:#0a5c33}
@media(max-width:900px){#eu-compare-dialog{width:calc(100% - 20px)}}
@media(max-width:760px){.eu-tabs button{min-width:0;font-size:10px;padding:8px 6px}}
