.charge-experience{display:none;position:absolute;inset:0;z-index:2100;background:#f5f8f9;overflow:auto}.charge-experience.open{display:block}.charge-view{min-height:100%;padding:max(18px,env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));max-width:600px;margin:auto}.charge-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.charge-head h1{font-size:24px;margin:0}.charge-close{width:40px;height:40px;border:0;border-radius:50%;background:#e8eef0;color:#56636e;font-size:25px}.station-hero{background:#fff;border:1px solid #dce5e8;border-radius:17px;padding:16px;margin-bottom:24px}.station-hero h2{font-size:18px;margin:0 0 7px}.station-hero p{color:var(--mc-muted);font-size:13px;line-height:1.4;margin:0}.station-hero .station-meta{margin:13px 0 0}.charge-section-title{font-size:20px;margin:0 0 13px}.charge-connectors{display:grid;gap:12px}.charge-choice{display:grid;grid-template-columns:74px 1fr;border:2px solid transparent;border-radius:17px;background:#fff;padding:0;text-align:left;overflow:hidden;box-shadow:0 3px 12px rgba(25,61,76,.07)}.charge-choice.selected{border-color:var(--mc-cyan-dark);box-shadow:0 5px 16px rgba(0,127,159,.16)}.charge-choice:disabled{opacity:.48}.connector-side{display:grid;place-items:center;align-content:center;gap:5px;border-right:1px solid #e1e8ea;padding:13px 6px}.connector-number{font-size:27px}.connector-symbol{width:42px;height:42px;border:1px solid #badfc1;border-radius:11px;display:grid;place-items:center;color:#159a4c;font-size:21px}.connector-main{padding:13px}.connector-title-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.connector-title-row strong{font-size:16px}.availability{border-radius:999px;background:#daf8e5;color:#087044;padding:5px 8px;font-size:10px}.availability.off{background:#edf0f2;color:#6d7780}.tariff-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.tariff-grid div{background:#f3f7f8;border-radius:10px;padding:8px}.tariff-grid small{display:block;color:#7c8992;font-size:9px;margin-bottom:3px}.tariff-grid b{font-size:12px}.charge-bottom{position:fixed;z-index:3;left:50%;bottom:0;transform:translateX(-50%);width:min(600px,100%);display:grid;grid-template-columns:1fr 1.4fr;gap:10px;background:#fff;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -6px 22px rgba(25,54,69,.14)}.charge-bottom button{height:54px;border-radius:13px;font-weight:800;font-size:15px}.charge-secondary{border:1px solid #d1dade;background:#fff;color:#48545e}.charge-primary{border:0;background:var(--mc-cyan-dark);color:#fff}.charge-primary:disabled{background:#dce1e4;color:#9da6ae}.flow-center{min-height:calc(100vh - 150px);display:grid;place-items:center;align-content:center;text-align:center;gap:16px}.flow-icon{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:#e8f9fc;color:var(--mc-cyan-dark);font-size:42px}.flow-center h1{font-size:26px;margin:0}.flow-center>p{max-width:390px;margin:0;color:var(--mc-muted);line-height:1.55}.payment-options{display:grid;gap:10px;width:100%;max-width:440px}.payment-option{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;text-align:left;border:1px solid #d7e1e4;border-radius:14px;background:#fff;padding:14px}.payment-option.selected{border:2px solid var(--mc-cyan-dark)}.payment-option small{display:block;color:var(--mc-muted);margin-top:4px}.flow-card{width:100%;max-width:440px;background:#fff;border:1px solid #dce5e8;border-radius:17px;padding:18px;text-align:left}.penalty-boxes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.penalty-boxes div{border-radius:12px;padding:13px;background:#e9faf2;color:#087044}.penalty-boxes div:last-child{background:#fff0f1;color:#a92c3e}.penalty-boxes small,.penalty-boxes strong{display:block}.penalty-boxes strong{font-size:18px;margin-top:6px}.countdown{width:100%;max-width:390px}.countdown-head{display:flex;justify-content:space-between;margin-bottom:8px}.progress-track{height:12px;background:#e1e6e9;border-radius:10px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--mc-cyan-dark);transition:width 1s linear}.test-simulate{border:1px dashed var(--mc-cyan);background:#eefbfe;color:var(--mc-cyan-dark);border-radius:12px;padding:12px;font-weight:700}.charging-view{background:linear-gradient(180deg,#edfbfe,#f7fafb 46%)}.charging-pulse{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:var(--mc-cyan);color:#fff;font-size:45px;box-shadow:0 0 0 14px rgba(0,168,207,.11);animation:chargePulse 2s ease-in-out infinite}@keyframes chargePulse{50%{box-shadow:0 0 0 22px rgba(0,168,207,.04)}}.charging-status{color:#168d47;font-weight:800}.charging-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:440px}.charging-stats div{background:#fff;border:1px solid #dce6e9;border-radius:14px;padding:14px;text-align:left}.charging-stats small,.charging-stats strong{display:block}.charging-stats small{color:var(--mc-muted);margin-bottom:5px}.charging-stats strong{font-size:20px}.stop-button{width:100%;max-width:440px;height:54px;border:1px solid #d84949;border-radius:13px;background:#fff;color:#c23333;font-weight:800}.flow-modal{position:absolute;inset:0;z-index:5;background:rgba(22,35,43,.55);display:grid;align-items:end}.flow-dialog{background:#fff;border-radius:22px 22px 0 0;padding:22px 18px calc(20px + env(safe-area-inset-bottom));text-align:center}.flow-dialog h2{margin:0 0 8px}.flow-dialog p{color:var(--mc-muted);line-height:1.5}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dialog-actions button{height:49px;border-radius:12px;font-weight:800}.danger-button{border:0;background:#d63e3e;color:#fff}.test-badge{display:inline-block;border-radius:999px;background:#fff1cc;color:#7a5b00;padding:6px 9px;font-size:10px;font-weight:800}
.station-detail-view{background:#f5f8f9}.station-hero-v2{padding:16px 16px 0}.station-identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}.station-identity>div{min-width:0}.station-identity h2,.station-identity p{overflow-wrap:anywhere}.directions-link{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:#7343c7;font-size:20px;font-weight:850;padding:0;white-space:nowrap}.directions-link span{font-size:27px;line-height:18px}.station-operator{border-top:1px solid #e7ecee;margin-top:13px;padding:12px 0 13px;text-align:center}.station-operator small{color:#7d8993;font-size:10px;margin-right:10px}.station-operator strong{font-size:14px}.operator-mark{color:#5dbb12;font-weight:900;letter-spacing:-2px;margin-right:3px}.station-detail-view .charge-section-title{font-size:20px}.station-detail-view .charge-choice{position:relative;grid-template-columns:90px minmax(0,1fr);min-height:150px}.station-detail-view .connector-side{padding:12px 8px}.connector-side .connector-type{font-size:13px;text-align:center;line-height:1.15;overflow-wrap:anywhere}.connector-side small{display:grid;text-align:center;color:#4d5963;font-size:12px}.connector-side small span{font-size:9px;color:#8a959e}.station-detail-view .connector-main{align-self:center;padding:14px 14px 14px 12px;min-width:0}.station-detail-view .connector-title-row{align-items:flex-start}.station-detail-view .connector-title-row strong{overflow-wrap:anywhere;min-width:0}.connector-technical{display:block;color:#7b8791;font-size:10px;margin-top:5px}.connector-radio{position:absolute;right:13px;bottom:13px;width:20px;height:20px;border:2px solid #dce3e6;border-radius:50%;box-shadow:inset 0 0 0 4px #fff}.charge-choice.selected .connector-radio{background:#19b85a;border-color:#a7efc5}.charge-choice.selected .connector-symbol{background:#edfff4;border-color:#56df91}.station-detail-view .tariff-grid{padding-right:15px}.station-detail-view .tariff-grid:empty{display:none}
.station-operator img{display:inline-block;width:auto;max-width:75px;max-height:21px;object-fit:contain;vertical-align:middle}.manager-name{font-size:14px;overflow-wrap:anywhere}.connector-symbol img{display:block;width:30px;height:30px;object-fit:contain}.directions-link{width:42px;height:42px;display:grid;place-items:center;padding:6px}.directions-link>img{display:block;width:30px;height:30px;object-fit:contain}
.station-access{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.station-access span{border-radius:999px;background:#eef4f5;color:#46545f;padding:6px 9px;font-size:11px;line-height:1.25}.station-access span:first-child{background:#fff1cc;color:#775d00}.station-code,.connector-code{white-space:nowrap}.station-code.code-long{font-size:15px}.station-code.code-xlong{font-size:11px;letter-spacing:-.2px}.connector-code.code-long{font-size:10.5px}.connector-code.code-xlong{font-size:8.5px;letter-spacing:-.3px}.connector-title-row{min-width:0}.connector-code{min-width:0}
.penalty-schedule{margin:16px 0 0;color:var(--mc-muted);text-align:center}.penalty-schedule strong{color:var(--mc-ink)}
.charge-help-link{border:0;background:transparent;color:var(--mc-cyan-dark);padding:7px;font:inherit;text-decoration:underline;cursor:pointer}.support-dialog{position:relative;padding-top:30px}.support-close{position:absolute;right:17px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:#edf2f4;color:#596772;font-size:24px}.support-brand{display:grid;justify-items:center;gap:7px;margin:8px 0 22px}.support-brand img{display:block;width:auto;max-width:130px;max-height:52px;object-fit:contain;margin-bottom:5px}.support-brand small{color:var(--mc-muted);font-size:11px;font-weight:800;letter-spacing:.05em}.support-brand h2{margin:0;font-size:24px}.support-actions{display:grid;gap:10px;margin-bottom:16px}.support-action{display:grid;gap:4px;border:1px solid #d8e3e6;border-radius:13px;padding:13px 15px;color:var(--mc-ink);text-align:left;text-decoration:none}.support-action span{color:var(--mc-muted);font-size:12px}.support-action strong{overflow-wrap:anywhere}.support-dismiss{width:100%;height:50px;border-radius:13px;font-weight:800}
.connector-status-row{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:2px}.connector-status-row .availability{display:inline-flex;align-items:center;white-space:nowrap}.station-detail-view .connector-title-row{display:block}.station-detail-view .connector-code{display:block;width:100%}
.release-countdown{display:block;margin-top:8px;color:#a46600;font-size:11px;font-weight:800}
.station-status-check{height:24px;margin:-24px 0 0;padding:2px 8px;display:flex;align-items:center;justify-content:center;gap:7px;overflow:hidden;color:#687782;font-size:11px;text-align:center;opacity:1;visibility:visible;transition:opacity .2s ease}.station-status-check[hidden]{display:flex;opacity:0;visibility:hidden}.station-status-check.is-checking{border:1px solid #cce8ee;border-radius:8px;background:#eef9fb;color:#526773;font-weight:700}.station-status-check.is-checking::before{content:'';display:inline-block;width:11px;height:11px;flex:0 0 11px;border:2px solid #b9dfe7;border-top-color:var(--mc-cyan-dark);border-radius:50%;animation:statusCheckSpin .8s linear infinite}@keyframes statusCheckSpin{to{transform:rotate(360deg)}}
.guest-popup{overflow:auto}.guest-dialog{position:relative;text-align:left;max-height:calc(100% - 24px);overflow:auto}.guest-dialog>h2,.guest-dialog>p{text-align:center}.guest-fields{display:grid;gap:9px;margin:18px 0 12px}.guest-fields input{width:100%;height:48px;border:1px solid #ced9dd;border-radius:11px;padding:0 13px;font:inherit;text-transform:none}.guest-fields input[name="taxCode"]{text-transform:uppercase}.guest-remember{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #dae3e6;border-radius:11px;padding:12px;margin-bottom:12px}.guest-remember input{width:18px;height:18px;accent-color:var(--mc-cyan-dark)}.guest-remember strong,.guest-remember small{display:block}.guest-remember small{color:var(--mc-muted);margin-top:2px}.guest-payment-note{display:grid;gap:7px;border-radius:11px;background:#eef8fa;padding:13px}.guest-payment-note span{color:var(--mc-muted);font-size:13px;line-height:1.4}.guest-card-element{min-height:48px;background:#fff;border:1px solid #cbd8dc;border-radius:10px;padding:14px 12px;margin-top:4px}.guest-card-error{min-height:14px;color:#bf2e36}.guest-penalty{font-size:12px;line-height:1.45;margin:11px 0 0!important}.guest-error{min-height:18px;color:#bf2e36!important;font-size:13px;text-align:center;margin:8px 0!important}.guest-continue{width:100%;height:54px;border-radius:13px;font-weight:800;font-size:15px}
@media(max-width:350px){.charge-view{padding-left:10px;padding-right:10px}.charge-choice{grid-template-columns:63px 1fr}.station-detail-view .charge-choice{grid-template-columns:76px minmax(0,1fr)}.station-detail-view .connector-main{padding-left:9px;padding-right:9px}.station-detail-view .connector-title-row{display:grid}.station-detail-view .availability{justify-self:start}.tariff-grid{gap:5px}.charge-bottom{padding-left:10px;padding-right:10px}.charging-stats{gap:7px}.charging-stats strong{font-size:17px}}
@media(orientation:landscape) and (max-height:520px){.flow-center{min-height:auto;padding:15px 0}.flow-icon{width:64px;height:64px;font-size:30px}.charge-view{padding-bottom:80px}.charging-stats{grid-template-columns:repeat(4,1fr);max-width:680px}}
.auth-charge-link,.end-button{display:grid;place-items:center;width:100%;max-width:440px;height:52px;border-radius:13px;text-decoration:none;font-weight:800}.cable-cancel{width:100%;max-width:390px;height:52px}.flow-card>p{color:var(--mc-muted);line-height:1.5;margin-bottom:0}
.progress-track .indeterminate{width:42%;animation:chargeWaiting 1.5s ease-in-out infinite}@keyframes chargeWaiting{0%{transform:translateX(-105%)}100%{transform:translateX(345%)}}
.charge-map-return{width:100%;max-width:440px;height:50px;border:1px solid #cddce1;border-radius:13px;background:#fff;color:var(--mc-cyan-dark);font-weight:800}
.prestart-view{background:linear-gradient(180deg,#f5f9fa 0,#eef8fa 100%)}.prestart-layout{display:grid;justify-items:center;padding:12px 0 22px}.prestart-card{width:100%;max-width:440px;background:#fff;border:1px solid #d9e6e9;border-radius:22px;padding:24px 20px 18px;text-align:center;box-shadow:0 12px 32px rgba(34,76,91,.1)}.prestart-symbol{width:68px;height:68px;margin:0 auto 12px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#e7fafc,#dff6e7);color:var(--mc-cyan-dark)}.prestart-symbol svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.prestart-kicker{display:block;color:var(--mc-cyan-dark);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.prestart-card>h1{margin:7px 0 10px;font-size:25px;line-height:1.15}.prestart-card>p{margin:0 auto 20px;max-width:350px;color:var(--mc-muted);font-size:14px;line-height:1.55}.prestart-connector{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:13px 14px;border-radius:15px;background:#f3f7f8;text-align:left}.prestart-connector-icon{width:46px;height:46px;border:1px solid #bfe3ca;border-radius:12px;background:#effcf3;display:grid;place-items:center}.prestart-connector-icon img{width:31px;height:31px;object-fit:contain}.prestart-connector small,.prestart-connector strong,.prestart-connector em{display:block;overflow-wrap:anywhere}.prestart-connector small{color:var(--mc-muted);font-size:11px}.prestart-connector strong{margin-top:2px;font-size:16px}.prestart-connector em{margin-top:2px;color:#6e7d87;font-size:11px;font-style:normal}.prestart-penalty{margin-top:13px;padding-top:2px}.prestart-penalty .penalty-boxes{margin-top:0;text-align:left}.prestart-penalty .penalty-boxes small{font-size:10px;line-height:1.25;text-transform:uppercase}.prestart-penalty .penalty-schedule{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 7px;margin:11px 0 0;font-size:12px}.prestart-penalty .penalty-schedule span{color:var(--mc-muted)}.prestart-note{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:center;margin-top:14px;padding:11px 12px;border-radius:12px;background:#eef9f2;color:#176f45;text-align:left}.prestart-note>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#d8f5e3;font-weight:900}.prestart-note p{margin:0;font-size:12px;line-height:1.4}.prestart-view+.charge-bottom{border-top:1px solid #e2eaec}@media(max-width:350px){.prestart-card{padding:18px 14px 15px}.prestart-symbol{width:58px;height:58px}.prestart-card>h1{font-size:22px}.prestart-card>p{font-size:13px}.prestart-penalty .penalty-boxes{grid-template-columns:1fr}}
.active-charge-banner{position:absolute;z-index:900;left:64px;right:64px;bottom:14px;min-height:58px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:linear-gradient(135deg,#087f45,#16a65d);color:#fff;padding:10px 13px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;text-align:left;box-shadow:0 8px 25px rgba(13,83,50,.32)}.active-charge-banner[hidden]{display:none}.active-charge-dot{width:13px;height:13px;border-radius:50%;background:#a7ef7d;box-shadow:0 0 0 5px rgba(255,255,255,.17)}.active-charge-banner strong,.active-charge-banner small{display:block}.active-charge-banner strong{font-size:14px}.active-charge-banner small{margin-top:2px;color:rgba(255,255,255,.82);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-charge-arrow{font-size:28px;line-height:1}

/* Dettaglio ricarica: codice presa prima dello stato animato. */
.charging-identity{display:grid;gap:6px;width:100%;max-width:440px;text-align:center}
.charging-identity h1{margin:0;max-width:100%;font-size:clamp(18px,5.8vw,27px);line-height:1.15;overflow-wrap:anywhere;word-break:break-word}
.charging-identity h1.code-long{font-size:clamp(16px,4.8vw,22px)}
.charging-identity h1.code-xlong{font-size:clamp(14px,4.1vw,19px)}
.charging-identity p{margin:0;color:var(--mc-muted)}
.charging-pulse{position:relative;isolation:isolate;animation:none}
.charging-pulse::before,.charging-pulse::after{content:none;position:absolute;z-index:-1;inset:-12px;border:3px solid rgba(0,168,207,.5);border-radius:50%;pointer-events:none}
.charging-pulse.is-pulsing{animation:chargePulse 1.35s ease-in-out infinite}
.charging-pulse.is-pulsing::before,.charging-pulse.is-pulsing::after{content:"";animation:chargePulseRing 1.65s ease-out infinite}
.charging-pulse.is-pulsing::after{animation-delay:.55s}
@keyframes chargePulse{0%,100%{transform:scale(.96);box-shadow:0 0 0 12px rgba(0,168,207,.18)}50%{transform:scale(1.07);box-shadow:0 0 0 25px rgba(0,168,207,.07)}}
@keyframes chargePulseRing{0%{transform:scale(.78);opacity:.85}100%{transform:scale(1.42);opacity:0}}
@media (prefers-reduced-motion:reduce){.charging-pulse.is-pulsing,.charging-pulse.is-pulsing::before,.charging-pulse.is-pulsing::after{animation:none}}
.flow-icon-warning{background:#fff3e4;color:#bd6400;border:1px solid #ffd8a4}
.charging-stats [hidden]{display:none!important}
.charging-stats.live-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
.charging-stats.live-stats div{min-width:0;padding:12px 10px}
.charging-stats.live-stats strong{font-size:clamp(16px,5vw,20px);overflow-wrap:anywhere}
.charging-view .charging-status{margin-top:12px;margin-bottom:8px}
.charging-session-panel{display:grid;gap:16px;width:100%;min-width:0;max-width:440px;margin-top:10px}
.active-charge-dot{position:relative;animation:activeChargePulse 1.15s ease-in-out infinite}
.active-charge-dot::after{content:"";position:absolute;inset:-7px;border:2px solid rgba(201,255,165,.75);border-radius:50%;animation:activeChargeRing 1.25s ease-out infinite}
@keyframes activeChargePulse{0%,100%{transform:scale(.9)}50%{transform:scale(1.22);box-shadow:0 0 0 7px rgba(255,255,255,.2)}}
@keyframes activeChargeRing{0%{transform:scale(.65);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.active-charge-dot,.active-charge-dot::after{animation:none}}
.charge-head-minimal{justify-content:flex-end;margin-bottom:8px}
.prestart-card>.prestart-connector{margin-top:0}
.prestart-penalty{margin-top:14px;padding:14px;border:1px solid #f1d9a8;background:#fffbf2;border-radius:15px;text-align:left}
.prestart-penalty-title{font-size:15px;line-height:1.2;margin:0 0 10px;color:#3b4650}
.charging-pulse{flex:0 0 auto;margin-bottom:20px}
.charging-view .charging-status{position:relative;z-index:3;margin:0 0 8px}
.charging-cable-reminder{position:relative;z-index:3;width:min(100%,440px);box-sizing:border-box;margin:0 0 10px;padding:10px 13px;border:1px solid #bfe8d1;border-radius:12px;background:#effaf4;color:#176f45;text-align:center;font-weight:700;font-size:13px;line-height:1.35}
.charging-cable-reminder[hidden]{display:none!important}
.charging-identity,.charging-session-panel{position:relative;z-index:3}
@media (max-height:700px),(max-width:360px){
  .charging-pulse{width:88px;height:88px;font-size:38px;margin-bottom:16px}
  .charging-cable-reminder{font-size:12px;padding:8px 10px}
  .prestart-card{padding:16px 14px}
}

/* Il foglio ospite resta ancorato all'app; scorre soltanto il suo contenuto. */
.charge-experience:has(.guest-popup){overflow:hidden}
.charge-experience:has(.guest-popup) .charge-bottom{visibility:hidden;pointer-events:none}
.guest-popup{overflow:hidden;z-index:1300;padding-top:max(8px,env(safe-area-inset-top))}
.guest-dialog{width:min(100%,600px);min-height:0;max-height:100%;margin:0 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.guest-consents{display:grid;gap:9px;margin:0 0 12px}.guest-consents label{display:grid;grid-template-columns:20px minmax(0,1fr);gap:9px;align-items:start;color:#34414c;font-size:13px;line-height:1.35}.guest-consents input{width:18px;height:18px;margin:0;accent-color:var(--mc-cyan-dark)}.guest-consents button{display:inline;border:0;background:transparent;padding:0;color:var(--mc-cyan-dark);font:inherit;font-weight:800;text-decoration:underline}.guest-legal-viewer{position:absolute;inset:0;z-index:30;display:grid;align-items:end;background:rgba(22,35,43,.58)}.guest-legal-viewer section{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(100%,600px);max-height:88%;margin:0 auto;background:#fff;border-radius:22px 22px 0 0;padding:18px 18px calc(20px + env(safe-area-inset-bottom))}.guest-legal-viewer header{display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-legal-viewer header h2{margin:0;font-size:21px}.guest-legal-viewer header button{width:38px;height:38px;border:0;border-radius:50%;background:#edf2f4;color:#52616c;font-size:24px}.guest-legal-viewer section>div{min-height:120px;overflow:auto;margin-top:12px;padding-right:4px;white-space:pre-wrap;color:#3f4c56;font-size:13px;line-height:1.55}

/* Conferma pre-avvio: bottom sheet fissa, senza scorrimento verticale. */
.prestart-sheet-view{position:fixed;inset:0;z-index:1200;display:flex;align-items:flex-end;padding:0;background:transparent;overflow:hidden;overscroll-behavior:none}
.prestart-sheet-backdrop{position:absolute;inset:0;background:rgba(24,39,48,.48)}
.prestart-sheet{position:relative;z-index:1;box-sizing:border-box;width:100%;max-height:calc(100dvh - 12px);padding:8px 14px calc(12px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;box-shadow:0 -14px 40px rgba(22,43,55,.22);overflow:hidden;overscroll-behavior:none}
.prestart-sheet-handle{display:block;width:48px;height:5px;margin:0 auto 2px;border-radius:999px;background:#cbd5d9}
.prestart-sheet .charge-head-minimal{position:absolute;top:12px;right:12px;z-index:2;margin:0}
.prestart-sheet .prestart-layout{display:block;padding:32px 0 8px}
.prestart-sheet .prestart-card{width:100%;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.prestart-sheet .prestart-connector{padding:11px 12px}
.prestart-sheet .prestart-tariff{margin-top:8px}
.prestart-sheet .prestart-penalty{margin-top:10px;padding:12px;border-radius:14px}
.prestart-sheet .prestart-penalty-title{margin-bottom:8px}
.prestart-sheet .prestart-penalty .penalty-schedule{margin-top:8px}
.prestart-sheet-actions{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:10px;padding-top:4px}
.prestart-sheet-actions .charge-secondary,.prestart-sheet-actions .charge-primary{width:100%;min-height:52px;margin:0}
.unified-summary-sheet{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.unified-summary-sheet .prestart-layout{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.unified-payment,.unified-account{width:100%;margin-top:10px;padding-top:12px;border-top:1px solid #e1e8ea;text-align:left}
.unified-payment>h2,.unified-account>h2{margin:0 0 9px;font-size:16px}
.unified-payment .payment-options{max-width:none;gap:8px}
.unified-payment .payment-option{box-sizing:border-box;width:100%;max-width:none;padding:10px 12px}
.payment-card-required{display:grid;gap:10px;width:100%;padding:14px;border:1px solid #b9dfe8;border-radius:14px;background:#eef9fb;text-align:left}.payment-card-required strong{font-size:15px;color:#24333e}.payment-card-required .charge-primary{width:100%;min-height:48px;border-radius:12px;font-weight:800}
.unified-account>p{margin:0 0 11px;color:var(--mc-muted);font-size:13px;line-height:1.4}
.unified-account .account-popup-actions button{height:48px;border:0;border-radius:13px;background:var(--mc-cyan-dark);color:#fff;font-weight:800}
.unified-account>small{display:block;margin-top:8px;color:var(--mc-muted);font-size:10px;text-align:center}

/* Stato di ricarica: illustrazione colonnina-auto. Il flusso si anima solo dopo la conferma autorevole. */
.charging-pulse{width:min(100%,380px);height:auto;aspect-ratio:400/150;margin:0 0 10px;border-radius:0;background:transparent;color:#12375f;font-size:0;box-shadow:none;animation:none!important;display:block;overflow:visible;isolation:isolate}
.charging-pulse::before,.charging-pulse::after{content:none!important;display:none!important}
.charging-flow-art{display:block;width:100%;height:100%;overflow:visible}
.charging-flow-art .flow-outline,.charging-flow-art .flow-cable-base,.charging-flow-art .flow-ground{fill:none;stroke:#12375f;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.charging-flow-art .flow-car-body{fill:rgba(255,255,255,.48)}
.charging-flow-art .flow-window{fill:rgba(0,168,207,.08)}
.charging-flow-art .flow-ground{stroke-width:5}
.charging-flow-art .flow-bolt{fill:#00a8cf;stroke:none}
.charging-flow-art .flow-current{fill:none;stroke:#2ebc68;stroke-width:7;stroke-linecap:round;stroke-dasharray:8 12;opacity:0}
.charging-flow-art .flow-current-dot{fill:#8ee65d;opacity:0;filter:drop-shadow(0 0 4px rgba(46,188,104,.8))}
.charging-pulse.is-pulsing .flow-current{opacity:1;animation:chargingCurrentDash .8s linear infinite}
.charging-pulse.is-pulsing .flow-current-dot{opacity:1;offset-path:path('M113 70 H123 C140 70 142 82 142 97 V109 C142 117 147 121 155 121 H170');animation:chargingCurrentDot 1.25s linear infinite}
.charging-pulse.is-pulsing .flow-current-dot-two{animation-delay:-.62s}
.charging-pulse.is-pulsing .flow-car-bolt{transform-box:fill-box;transform-origin:center;animation:chargingBoltGlow 1.1s ease-in-out infinite}
@keyframes chargingCurrentDash{to{stroke-dashoffset:-20}}
@keyframes chargingCurrentDot{from{offset-distance:0%}to{offset-distance:100%}}
@keyframes chargingBoltGlow{50%{fill:#6bd34e;filter:drop-shadow(0 0 5px rgba(107,211,78,.8));transform:scale(1.12)}}
@media (max-height:700px),(max-width:360px){.charging-pulse{width:min(100%,300px);height:auto;font-size:0;margin-bottom:8px}}
@media (prefers-reduced-motion:reduce){.charging-pulse.is-pulsing .flow-current{opacity:1;animation:none;stroke-dasharray:none}.charging-pulse.is-pulsing .flow-current-dot{display:none}.charging-pulse.is-pulsing .flow-car-bolt{fill:#2ebc68;animation:none}}

/* Asset approvato: l'immagine resta integra, l'energia è un livello indipendente sopra il cavo. */
.charging-image-wrap{position:relative;width:100%;height:100%}
.charging-flow-image{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.charging-energy-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.charging-energy-path{fill:none;stroke:#00a8cf;stroke-width:13;stroke-linecap:round;stroke-dasharray:22 28;opacity:0;filter:drop-shadow(0 0 7px rgba(0,168,207,.75))}
.charging-energy-dot{fill:#8ee65d;opacity:0;filter:drop-shadow(0 0 10px rgba(142,230,93,.95));offset-path:path('M552 399 C620 405 560 610 690 610 C795 610 752 470 866 445')}
.charging-pulse.is-pulsing .charging-energy-path{opacity:1;animation:chargingImageCurrent .85s linear infinite}
.charging-pulse.is-pulsing .charging-energy-dot{opacity:1;animation:chargingImageDot 1.35s linear infinite}
.charging-pulse.is-pulsing .charging-energy-dot-two{animation-delay:-.67s}
@keyframes chargingImageCurrent{to{stroke-dashoffset:-50}}
@keyframes chargingImageDot{from{offset-distance:0%}to{offset-distance:100%}}
@media (prefers-reduced-motion:reduce){.charging-pulse.is-pulsing .charging-energy-path{opacity:1;stroke-dasharray:none;animation:none}.charging-pulse.is-pulsing .charging-energy-dot{display:none}}
.prestart-sheet-actions.single{grid-template-columns:1fr}
@media(max-height:700px){
  .prestart-sheet{padding-top:6px}
  .prestart-sheet .prestart-layout{padding-top:27px;padding-bottom:5px}
  .prestart-sheet .prestart-connector{padding:8px 10px}
  .prestart-sheet .prestart-connector-icon{width:40px;height:40px}
  .prestart-sheet .prestart-connector-icon img{width:27px;height:27px}
  .prestart-sheet .prestart-tariff{margin-top:5px}
  .prestart-sheet .prestart-penalty{margin-top:7px;padding:9px 10px}
  .prestart-sheet .prestart-penalty .penalty-boxes>div{padding:9px}
  .prestart-sheet .prestart-penalty .penalty-schedule{margin-top:6px}
  .prestart-sheet-actions .charge-secondary,.prestart-sheet-actions .charge-primary{min-height:46px}
}
