/* Spazio personale Veringo: stile coerente con il sito (blu #0C2B5C, verde #0B7F3E, verde chiaro #E5F7EF, azzurro chiaro #DCEEFB) */
:root{--sp-blue:#0C2B5C;--sp-green:#0B7F3E;--sp-mint:#E5F7EF;--sp-sky:#DCEEFB;--sp-line:#dbe8f3;--sp-muted:#5b7187}
/* pagine /spazio: nasconde l'analisi e mostra solo l'area personale */
html.vr-space body>*:not(#vrSpace):not(script):not(style):not(link):not(#vrSideDrawer):not(#vrMobBar){display:none!important}
html.vr-space body{background:#f4f9fd}
#vrSpace{font-family:Poppins,Arial,sans-serif;color:var(--sp-blue);font-size:17px;line-height:1.55}
#vrSpace *{box-sizing:border-box}
#vrSpace a{color:var(--sp-green)}
.vsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;background:var(--sp-green);color:#fff;font:inherit;font-weight:800;font-size:16px;padding:13px 22px;cursor:pointer;text-decoration:none}
.vsp-btn:hover{filter:brightness(1.07)}.vsp-btn[disabled]{opacity:.55;cursor:not-allowed}
.vsp-btn.alt{background:#fff;color:var(--sp-blue);border:2px solid var(--sp-line)}
.vsp-btn.danger{background:#b3261e}
.vsp-btn.sm{padding:9px 14px;font-size:14px;border-radius:10px}
.vsp-card{background:#fff;border:1px solid var(--sp-line);border-radius:18px;padding:22px;box-shadow:0 6px 24px rgba(12,43,92,.06)}
.vsp-tag{display:inline-block;border-radius:999px;padding:3px 11px;font-size:13px;font-weight:800}
.vsp-tag.luce{background:#fff3cf;color:#8a5b00}.vsp-tag.gas{background:#dcecff;color:#0d4f9e}.vsp-tag.soon{background:var(--sp-sky);color:var(--sp-blue)}
.vsp-tag.ok{background:var(--sp-mint);color:var(--sp-green)}.vsp-tag.no{background:#eef2f6;color:var(--sp-muted)}
/* pagine di accesso */
.vsp-auth{min-height:100vh;display:grid;place-items:center;padding:24px}
.vsp-auth .vsp-card{width:min(520px,100%);padding:34px}
.vsp-auth img.vsp-logo{display:block;width:210px;max-width:70%;margin:0 auto 20px}
.vsp-auth h1{font-size:28px;margin:0 0 8px;text-align:center}
.vsp-auth p{margin:0 0 16px;color:var(--sp-muted)}
.vsp-input{width:100%;border:2px solid var(--sp-line);border-radius:12px;padding:14px 16px;font:inherit;font-size:17px;color:var(--sp-blue);margin:6px 0 16px}
.vsp-input:focus{outline:3px solid #b8e3ca;border-color:var(--sp-green)}
.vsp-auth .vsp-btn{width:100%}
.vsp-msg{border-radius:12px;padding:14px 16px;margin:0 0 16px;background:var(--sp-sky)}.vsp-msg.err{background:#fde8e6;color:#8c1d16}
/* area personale */
.vsp-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}
.vsp-side{background:#fff;border-right:1px solid var(--sp-line);padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}
.vsp-side img{width:180px;display:block;margin:0 auto 22px}
.vsp-nav a{display:block;padding:13px 16px;border-radius:12px;color:var(--sp-blue);font-weight:700;text-decoration:none;margin-bottom:4px}
.vsp-nav a:hover{background:#f1f7fb}.vsp-nav a.on{background:var(--sp-mint);color:var(--sp-green)}
.vsp-main{padding:24px 28px 60px;min-width:0}
.vsp-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}
.vsp-top h1{font-size:28px;margin:0}
.vsp-burger{display:none;border:2px solid var(--sp-line);background:#fff;border-radius:12px;width:46px;height:46px;font-size:22px;cursor:pointer;color:var(--sp-blue)}
.vsp-cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.vsp-stack>*+*{margin-top:18px}
.vsp-banner{background:var(--sp-sky);border-radius:20px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;align-items:center;overflow:hidden;padding:0 0 0 26px}
.vsp-banner h2{font-size:30px;margin:22px 0 4px}.vsp-banner p{margin:0 0 6px;color:#24466f}.vsp-banner .txt{padding:8px 0 20px}
.vsp-banner img{width:100%;height:100%;object-fit:cover;display:block;min-height:170px}
.vsp-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.vsp-tile{display:block;text-decoration:none;color:var(--sp-blue);background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:18px;font-weight:800;position:relative}
.vsp-tile:hover{border-color:var(--sp-green)}.vsp-tile small{display:block;font-weight:600;color:var(--sp-muted);margin-top:4px}
.vsp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.vsp-kpi{background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:16px}
.vsp-kpi span{display:block;font-size:14px;font-weight:700;color:var(--sp-muted)}.vsp-kpi b{display:block;font-size:26px;margin:4px 0}.vsp-kpi small{color:var(--sp-muted);font-size:13px}
table.vsp-table{width:100%;border-collapse:collapse;font-size:16px}
.vsp-table th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--sp-muted);padding:10px 8px;border-bottom:2px solid var(--sp-line)}
.vsp-table td{padding:13px 8px;border-bottom:1px solid var(--sp-line);vertical-align:middle}
.vsp-scroll{overflow-x:auto}
.vsp-filter{display:flex;gap:8px;margin:0 0 16px;flex-wrap:wrap}
.vsp-filter button{border:2px solid var(--sp-line);background:#fff;color:var(--sp-blue);border-radius:999px;padding:9px 18px;font:inherit;font-weight:800;cursor:pointer}
.vsp-filter button.on{background:var(--sp-blue);border-color:var(--sp-blue);color:#fff}
.vsp-empty{text-align:center;padding:34px 12px;color:var(--sp-muted)}
.vsp-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 0;border-bottom:1px solid var(--sp-line)}
.vsp-row:last-child{border-bottom:0}.vsp-row small{display:block;color:var(--sp-muted)}
.vsp-side-card h3{font-size:18px;margin:0 0 10px}.vsp-side-card p{margin:0 0 12px;font-size:15px}
.vsp-faq details{border-bottom:1px solid var(--sp-line);padding:12px 0}.vsp-faq summary{font-weight:800;cursor:pointer}.vsp-faq p{color:var(--sp-muted);margin:8px 0 0}
.vsp-modal{position:fixed;inset:0;background:rgba(12,43,92,.5);display:grid;place-items:center;z-index:2000;padding:16px}
.vsp-modal .vsp-card{width:min(480px,100%)}
/* pulsante Area riservata nell'header */
html.vr-area-on .topbar{flex-wrap:wrap}
.vr-area-btn{background:#1167cb!important;color:#fff!important;border-color:#1167cb!important}
@media(max-width:760px){html.vr-area-on .topbar{gap:8px}.vr-area-btn{padding:9px 11px}}
.vrap{position:relative}.vrap h2{margin:0 24px 10px 0}.vrap-x{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:26px;cursor:pointer;color:var(--sp-blue)}
.vrap-note{font-size:14px;color:var(--sp-muted);margin:14px 0 0}
/* invito dopo il risultato */
#vrInvite{position:fixed;z-index:1500;background:#fff;color:var(--sp-blue);font-family:Poppins,Arial,sans-serif;box-shadow:0 18px 55px rgba(12,43,92,.28);border:1px solid var(--sp-line)}
#vrInvite h3{font-size:20px;margin:0 22px 4px 0}#vrInvite .vri-sub{font-weight:700;margin:0 0 6px}
#vrInvite .vri-small{font-size:13px;color:var(--sp-muted);margin:0 0 12px;line-height:1.5}
#vrInvite label.vri-f{display:block;font-weight:700;font-size:14px;margin:0 0 10px}
#vrInvite input[type=email]{width:100%;border:2px solid var(--sp-line);border-radius:10px;padding:11px 12px;font:inherit;margin-top:4px}
#vrInvite label.vri-c{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.45;margin:0 0 9px;cursor:pointer}
#vrInvite label.vri-c input{margin-top:3px;flex:0 0 auto}
#vrInvite .vri-go{width:100%;border:0;border-radius:12px;background:var(--sp-green);color:#fff;font:inherit;font-weight:800;padding:13px;cursor:pointer}
#vrInvite .vri-later{width:100%;border:0;background:transparent;color:var(--sp-muted);font:inherit;font-weight:700;padding:8px;cursor:pointer;margin-top:4px}
#vrInvite .vri-x{position:absolute;top:8px;right:10px;border:0;background:transparent;font-size:26px;line-height:1;color:var(--sp-muted);cursor:pointer}
#vrInvite .vri-note{font-size:12px;color:var(--sp-muted);margin:8px 0 0}#vrInvite .vri-msg{background:var(--sp-mint);border-radius:10px;padding:12px;font-size:14px;margin:0 0 10px}
#vrInvite .vri-msg.err{background:#fde8e6;color:#8c1d16}
@media(min-width:768px){#vrInvite{right:22px;bottom:22px;width:390px;border-radius:18px;padding:22px;max-height:calc(100vh - 44px);overflow:auto}}
@media(max-width:767px){#vrInvite{left:0;right:0;bottom:0;border-radius:20px 20px 0 0;padding:20px 18px 26px;max-height:86vh;overflow:auto;animation:vriUp .32s ease-out}}
@keyframes vriUp{from{transform:translateY(100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){#vrInvite{animation:none!important}}
.vr-space-back{position:fixed;left:14px;top:14px;z-index:70;background:#fff;border:2px solid var(--sp-line);border-radius:12px;padding:8px 14px;font-family:Poppins,Arial,sans-serif;font-weight:800;color:var(--sp-blue);text-decoration:none;font-size:14px}
@media(max-width:1023px){.vsp-shell{grid-template-columns:1fr}.vsp-side{position:fixed;left:0;top:0;bottom:0;width:270px;height:auto;z-index:1000;display:none;box-shadow:8px 0 30px rgba(12,43,92,.2)}.vsp-side.open{display:block}
 .vsp-burger{display:inline-grid;place-items:center}.vsp-cols{grid-template-columns:1fr}.vsp-kpis{grid-template-columns:repeat(2,1fr)}.vsp-tiles{grid-template-columns:1fr}
 .vsp-banner{grid-template-columns:1fr}.vsp-banner img{order:-1;min-height:0;height:170px}.vsp-banner{padding:0}.vsp-banner .txt{padding:6px 22px 20px}.vsp-main{padding:16px 14px 60px}
 .vr-space-back{left:14px!important}}

/* passaggio email prima delle offerte (nuovo flusso) */
html.vr-newgate #vrWhyEmail,html.vr-newgate #vrPdfNotice{display:none!important}
.vrg{font-family:Poppins,Arial,sans-serif;color:var(--sp-blue);max-width:720px;margin:0 auto;padding:6px 4px}
.vrg h3{font-size:30px;margin:0 0 10px;line-height:1.15}.vrg-lead{font-size:19px;font-weight:700;line-height:1.5;margin:0 0 12px}
.vrg-small{font-size:15px;color:#2f4460;line-height:1.55;margin:0 0 18px}
.vrg label.vrg-f{display:block;font-weight:800;font-size:16px;margin:0 0 14px}
.vrg input[type=email]{display:block;width:100%;border:2px solid var(--sp-line);border-radius:12px;padding:15px 16px;font:inherit;font-size:18px;margin-top:6px;color:var(--sp-blue)}
.vrg input[type=email]:focus{outline:3px solid #b8e3ca;border-color:var(--sp-green)}
.vrg label.vrg-c{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5;margin:0 0 12px;cursor:pointer}
.vrg label.vrg-c input{width:22px;height:22px;margin-top:2px;flex:0 0 auto}
.vrg-go{display:block;width:100%;border:0;border-radius:12px;background:var(--sp-green);color:#fff;font:inherit;font-weight:800;font-size:18px;padding:16px;cursor:pointer;margin-top:8px}
.vrg-go.alt{background:#fff;color:var(--sp-blue);border:2px solid var(--sp-line)}.vrg-go[disabled]{opacity:.55;cursor:not-allowed}
.vrg-err{background:#fde8e6;color:#8c1d16;border-radius:10px;padding:12px 14px;margin:0 0 12px;font-size:15px}.vrg-ok{background:var(--sp-mint);border-radius:10px;padding:12px 14px;margin:0 0 12px;font-size:15px}
#vrSaveBill{background:#fff;border:1px solid var(--sp-line);border-radius:16px;padding:16px 18px;margin:16px auto}
/* schermata di un'analisi dentro l'area riservata */
.vsp-fixed{position:fixed!important;left:0;top:0;bottom:0;width:250px;height:auto!important;z-index:50;display:block;overflow:auto}
#vrDetailBurger{display:none}
@media(min-width:1024px){html.vr-detail body{padding-left:250px}html.vr-detail .vr-space-back{display:none}}
@media(max-width:1023px){.vsp-fixed{display:none}.vsp-fixed.open{display:block;z-index:1000;box-shadow:8px 0 30px rgba(12,43,92,.2)}
 #vrDetailBurger{display:grid;place-items:center;position:fixed;left:12px;top:12px;z-index:70;width:46px;height:46px;border:2px solid var(--sp-line);border-radius:12px;background:#fff;font-size:22px;color:var(--sp-blue);cursor:pointer}}

/* nota sotto il campo email e avviso "controlla lo spam" */
.vsp-note{font-family:Poppins,Arial,sans-serif;font-size:14.5px;line-height:1.5;color:#2f4460;margin:-8px 0 16px}
.vrg-note{margin:-6px 0 16px}
#vrInvite .vri-note2{font-size:13.5px;margin:-4px 0 12px}
.vsp-alert{font-family:Poppins,Arial,sans-serif;font-size:15.5px;line-height:1.5;font-weight:700;color:#0C2B5C;background:var(--sp-sky);border-left:5px solid var(--sp-green);border-radius:10px;padding:13px 15px;margin:0 0 16px}

.vrg-foot{text-align:center;font-weight:800;font-size:15px;color:#2f4460;margin:14px 0 4px}
.vrg-benefits{max-width:720px;margin:18px auto 0}

/* Case e andamento spesa */
.vsp-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;background:linear-gradient(135deg,#f3fbff,#eaf9ef)}
.vsp-intro h2,.vsp-house h2{margin:0 0 6px}.vsp-intro p,.vsp-house p{margin:0;color:var(--sp-muted)}
.vsp-house-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vsp-house{display:grid;grid-template-columns:64px 1fr;gap:16px;border-top:5px solid var(--sp-green)}
.vsp-house-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:linear-gradient(135deg,var(--sp-mint),var(--sp-sky))}
.vsp-house-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}
.vsp-house-data span{background:#f6f9fc;border-radius:10px;padding:10px;word-break:break-word}.vsp-house-data b{display:block;font-size:12px;color:var(--sp-muted);text-transform:uppercase}
.vsp-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:16px}
.vsp-house-form{width:min(760px,100%)!important;max-height:90vh;overflow:auto}.vsp-house-form h2{margin-top:0}.vsp-house-form label{font-weight:700}
.vsp-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.vsp-chart-wrap{overflow-x:auto;padding:18px 0 4px}.vsp-chart{width:100%;min-width:620px;height:auto}
.vsp-chart line{stroke:#cbd9e8;stroke-width:2}.vsp-chart rect.luce{fill:#20b956}.vsp-chart rect.gas{fill:#2485e6}.vsp-chart text{font:12px Poppins,Arial,sans-serif;fill:#58708a}.vsp-chart text.value{font-weight:800;fill:#0c2b5c}
.vsp-legend{display:flex;justify-content:center;gap:22px;font-weight:700}.vsp-legend span{display:flex;align-items:center;gap:7px}.vsp-legend i{width:12px;height:12px;border-radius:4px}.vsp-legend i.luce{background:#20b956}.vsp-legend i.gas{background:#2485e6}
@media(max-width:760px){.vsp-intro{align-items:stretch;flex-direction:column}.vsp-house-grid{grid-template-columns:1fr}.vsp-house{grid-template-columns:1fr}.vsp-house-data,.vsp-form-grid{grid-template-columns:1fr}.vsp-house-icon{width:54px;height:54px}}
