:root{--parking-blue: #1e4f8c;--parking-green: #12945e;--parking-red: #dc4b4b;--parking-bg: #e9edf3;--parking-border: #cfd7e3;--parking-text: #21354f}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 10%,#f7f9fc,#e4eaf3 65%);color:var(--parking-text);font-family:Avenir Next,Avenir,Segoe UI,sans-serif}.parking-shell{padding:22px}.parking-install-banner{width:min(94vw,560px);margin:0 auto 10px;border:1px solid #d7dfeb;background:#fff;border-radius:12px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:0 8px 22px #1c31501a}.parking-install-banner span{font-size:.92rem;color:#223c5f;font-weight:650}.parking-install-banner-actions{display:flex;align-items:center;gap:8px}.parking-install-banner-btn{border:1px solid #0d6f63;background:#0d6f63;color:#fff;border-radius:8px;padding:6px 10px;font-weight:700;cursor:pointer}.parking-install-banner-dismiss{border:1px solid #cdd8e8;background:#fff;color:#4a5f7f;border-radius:8px;padding:5px 8px;font-weight:700;cursor:pointer}.parking-steps-track{display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 56px)}.parking-card{width:min(94vw,560px);border:1px solid var(--parking-border);border-radius:16px;background:#f5f7fb;display:flex;flex-direction:column;box-shadow:0 8px 24px #1d3a6212}.parking-step-panel{animation:parking-step-enter .22s ease}.parking-company-card{margin-top:12px;border:1px solid var(--parking-border);border-radius:12px;background:#f5f7fb;padding:12px 14px;color:#2b4260}.parking-company-card h3{margin:0 0 6px;font-size:1rem}.parking-company-card p{margin:0 0 4px;font-size:.95rem}.parking-company-card p:last-child{margin-bottom:0}@keyframes parking-step-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.parking-card-header{background:var(--parking-blue);color:#fff;padding:14px 20px;border-top-left-radius:16px;border-top-right-radius:16px}.parking-hero-logo-wrap{display:flex;justify-content:center;margin-bottom:8px}.parking-hero-logo{max-height:44px;max-width:100%;object-fit:contain}.parking-install-button{width:100%;margin:0 0 .8rem;border:1px solid #c5d2e4;background:#fff;color:#1f3657;font-weight:700;border-radius:.8rem;padding:.65rem .85rem;cursor:pointer}.parking-install-button:hover{background:#f3f7fd}.parking-card-header h2{margin:0;font-size:34px;font-weight:750;font-size:1.05rem}.parking-card-header-light{background:#f0f2f6;color:var(--parking-text);border-bottom:1px solid var(--parking-border)}.parking-card-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px}.parking-card-footer{margin-top:auto;border-top:1px solid var(--parking-border);padding:16px 20px;color:#6d7a8f;font-size:.94rem}.parking-intro{gap:12px;padding-top:22px;padding-bottom:22px}.parking-intro h3{font-size:2.35rem;margin:8px 0 6px;line-height:1.15}.parking-intro p{margin:0;font-size:1.35rem;color:#304865;font-weight:600}.parking-card-landing .parking-card-body{min-height:0}.parking-hours-line{font-size:1.45rem!important;font-weight:700!important}.parking-pricing-line{font-size:1.55rem!important;font-weight:750!important}.parking-fee-note{margin:0;font-size:1.02rem!important;font-weight:700!important;color:#6b3e08!important}.parking-free-note{margin:0;font-size:1.08rem!important;font-weight:800!important;color:#0f6a44!important}.parking-button{border:0;border-radius:8px;padding:14px;color:#fff;font-weight:760;font-size:1.45rem;cursor:pointer;transition:filter .12s ease}.parking-button:disabled{opacity:.6;cursor:not-allowed}.parking-button:not(:disabled):hover{filter:brightness(.95)}.parking-button-primary{background:var(--parking-green)}.parking-button-danger{background:var(--parking-red)}.parking-card label{font-weight:700;color:#2b4260;font-size:1.4rem}.parking-card input{border:1px solid #b8c3d4;border-radius:8px;background:#fff;padding:12px;font-size:1.25rem;color:#2c3f59}.parking-stripe-card{border:1px solid #b8c3d4;border-radius:8px;background:#fff;padding:14px 12px}.parking-consent-copy{margin:0;font-size:1rem!important;font-weight:500!important;color:#3a5170!important}.parking-link-button{border:0;background:transparent;color:#1e4f8c;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer;padding:0}.parking-checkbox-row{display:flex;align-items:center;gap:8px;font-weight:600;color:#304865}.parking-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parking-secure-copy{border-top:1px solid var(--parking-border);border-bottom:1px solid var(--parking-border);color:#435c7c;text-align:center;font-weight:600;padding:12px;margin-top:4px}.parking-center{justify-content:center;align-items:center;text-align:center;min-height:338px}.parking-spinner{width:52px;height:52px;border-radius:999px;border:4px solid #b7c7df;border-top-color:#3f6ca5;animation:parking-spin .85s linear infinite}@keyframes parking-spin{to{transform:rotate(360deg)}}.parking-checkmark{width:58px;height:58px;border-radius:999px;background:var(--parking-green);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:2rem;font-weight:800;margin:6px auto}.parking-stat-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--parking-border);padding:8px 0;font-size:1.2rem}.parking-stat-row strong{font-size:1.6rem}.parking-stat-row-free{background:#eefaf4;border-radius:8px;border-bottom:0;padding:10px 12px}.parking-free-applied-note{margin:0;border:1px solid #bfe7cf;background:#eefaf4;color:#116140;border-radius:8px;padding:8px 10px;font-size:1rem;font-weight:700}.parking-status-pill{margin:10px auto;padding:8px 28px;border-radius:999px;background:var(--parking-green);color:#fff;font-weight:800;font-size:1.3rem}.parking-warning-copy{margin:0;border:1px solid #f6d3a8;background:#fff6ea;color:#8a4b08;border-radius:10px;padding:10px 12px;font-size:1.05rem;font-weight:600}.parking-summary-box{border:1px solid var(--parking-border);border-radius:10px;overflow:hidden}.parking-charging-title{margin:4px 0;text-align:center;font-size:1.6rem}.parking-gate-meta{margin:0;text-align:center;color:#445f7e;font-size:1.2rem;text-transform:capitalize}.parking-exit-gates{display:flex;flex-direction:column;gap:10px}.parking-loading,.parking-error,.parking-inline-error{margin:22px;border:1px solid #f1b6bd;background:#fff0f2;color:#872330;border-radius:10px;padding:12px 16px;font-weight:700}.parking-inline-error-in-card{margin:0}.parking-loading{border-color:#c4d8f5;background:#edf4ff;color:#20416d}.parking-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e162285;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1000}.parking-modal-card{width:min(94vw,560px);max-height:85vh;background:#f7f9fd;border:1px solid var(--parking-border);border-radius:14px;overflow:hidden;box-shadow:0 18px 40px #0e224040}.parking-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--parking-blue);color:#fff}.parking-modal-header h3{margin:0;font-size:1.05rem}.parking-modal-close{border:0;background:transparent;color:#fff;font-size:1.45rem;line-height:1;cursor:pointer}.parking-modal-body{padding:14px;max-height:calc(85vh - 54px);overflow-y:auto;color:#21354f}.parking-modal-body p{margin:0 0 .6rem}.parking-modal-body h1,.parking-modal-body h2,.parking-modal-body h3{margin:.25rem 0 .55rem;line-height:1.25}.parking-modal-body h1{font-size:1.35rem}.parking-modal-body h2{font-size:1.2rem}.parking-modal-body h3{font-size:1.05rem}.parking-modal-body ul,.parking-modal-body ol{margin:0 0 .65rem 1.2rem}.parking-modal-body hr{border:0;border-top:1px solid var(--parking-border);margin:.75rem 0}@media (max-width: 760px){.parking-shell{padding:12px}.parking-card{width:92vw}}
