@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100;200;300;400;500;600;700;800;900&display=swap");:root{color-scheme:light;--bg:#f6f7f9;--bg-soft:rgba(255,255,255,0.92);--panel:#ffffff;--panel-strong:#ffffff;--border:rgba(15,23,42,0.12);--border-strong:rgba(15,23,42,0.18);--text:#0f172a;--text-soft:#475569;--accent:#0f172a;--accent-strong:#0f172a;--success:#166534;--warning:#92400e;--danger:#b91c1c;--shadow:0 18px 50px rgba(15,23,42,0.08);--font-body:"Outfit",sans-serif;--font-display:"Outfit",sans-serif}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);background:linear-gradient(180deg,#f8fafc,#f3f4f6);font-family:var(--font-body)}body:after,body:before{content:"";position:fixed;inset:auto;pointer-events:none;z-index:0}body:before{width:20rem;height:20rem;left:-8rem;top:-8rem;background:radial-gradient(circle,rgba(15,23,42,.05),transparent 70%);filter:blur(8px)}body:after{width:28rem;height:28rem;right:-10rem;bottom:-12rem;background:radial-gradient(circle,rgba(15,23,42,.035),transparent 72%);filter:blur(10px)}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.page-shell{position:relative;z-index:1;min-height:100vh;display:flex;justify-content:center;padding:10px}.page-card{width:min(1160px,100%);border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.86);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:32px 32px 24px}.eyebrow{margin:0 0 12px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;color:var(--text-soft)}h1{margin:0;font-family:var(--font-display);font-size:clamp(2rem,3vw,3.5rem);line-height:1.05}.lead{max-width:64ch;margin:14px 0 0;color:var(--text-soft);font-size:1rem;line-height:1.6}.header-slot{align-items:flex-start}.header-actions,.header-slot{display:flex;justify-content:flex-end}.header-actions{gap:10px;align-items:center;flex-wrap:wrap}.separator{height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.38),transparent)}.page-content{padding:32px}.stack{display:grid;grid-gap:20px;gap:20px}.panel{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:20px}.panel.strong{background:var(--panel-strong);border-color:var(--border-strong)}.hero-grid,.panel-grid{display:grid;grid-gap:16px;gap:16px}.hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}@media (max-width:900px){.hero-grid,.page-header{grid-template-columns:1fr;display:grid}.page-header{padding:24px 20px 20px}.page-content{padding:20px}}@media (max-width:640px){body:after,body:before{display:none}.page-shell{padding:12px;min-height:100dvh}.page-card{width:100%}.page-header{gap:14px;padding:16px}h1{font-size:1.7rem;line-height:1.15}.lead{margin-top:8px;font-size:.95rem;line-height:1.45}.header-actions,.header-slot{width:100%;justify-content:flex-start}.page-content{padding:16px}.stack{gap:14px}.panel{padding:14px}.grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.dock-card{min-height:134px;padding:12px}.dock-number{font-size:1.8rem}.dock-meta{flex-direction:column;align-items:flex-start;gap:8px}.dialog-content{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px;overflow-y:auto}.dialog-title{font-size:1.3rem}.actions,.dialog-actions{width:100%;flex-direction:column;align-items:stretch}.button{width:100%;justify-content:center}.return-state{grid-template-columns:1fr}.loading-row{width:100%}}.field{display:grid;grid-gap:8px;gap:8px}.label{color:var(--text-soft);font-size:.92rem}.input{width:100%;border:1px solid rgba(15,23,42,.14);border-radius:8px;background:#ffffff;color:var(--text);padding:14px 16px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 4px rgba(15,23,42,.08)}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{border:1px solid rgba(15,23,42,.16);border-radius:8px;background:#ffffff;color:var(--text);padding:12px 18px;font-weight:600;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;box-shadow:0 8px 20px rgba(15,23,42,.06)}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button.secondary{background:#ffffff}.button.ghost,.button.secondary{color:var(--text);border-color:rgba(15,23,42,.16);box-shadow:none}.button.ghost{background:transparent}.helper{color:var(--text-soft);line-height:1.6}.error{color:#b91c1c;border:1px solid rgba(244,63,94,.28);border-radius:8px}.error,.success{background:#ffffff;padding:12px 14px}.success{color:#166534;border:1px solid rgba(74,222,128,.28);border-radius:8px}.kicker,.muted{color:var(--text-soft)}.kicker{display:inline-flex;align-items:center;gap:8px;border-radius:8px;padding:8px 12px;font-size:.84rem;background:#ffffff;border:1px solid rgba(15,23,42,.16)}.grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dock-card{min-height:172px;border:1px solid rgba(15,23,42,.12);border-radius:10px;padding:18px;background:#ffffff;display:flex;flex-direction:column;justify-content:space-between;text-align:left;color:inherit;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.dock-card:hover{transform:translateY(-2px);border-color:rgba(15,23,42,.2);box-shadow:0 18px 34px rgba(15,23,42,.08)}.dock-card:disabled,.dock-card[aria-disabled=true]{cursor:not-allowed;opacity:.6;transform:none;box-shadow:none}.dock-number{font-family:var(--font-display);font-size:2.4rem;line-height:1;margin:0}.dock-meta{display:flex;justify-content:space-between;gap:12px}.badge,.dock-meta{align-items:center}.badge{display:inline-flex;gap:8px;border-radius:8px;padding:8px 12px;font-size:.78rem;font-weight:600;letter-spacing:.02em}.badge.available{background:rgba(22,163,74,.1);color:#166534}.badge.charging,.badge.occupied,.badge.pending{background:rgba(217,119,6,.1);color:#92400e}.badge.error,.badge.finished,.badge.maintenance{background:rgba(185,28,28,.08);color:#b91c1c}.meta-list{display:grid;grid-gap:10px;gap:10px}.meta-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.meta-row strong{font-weight:600}.dialog-overlay{position:fixed;inset:0;z-index:60;background:rgba(255,255,255,.65);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.dialog-content{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:70;width:min(560px,calc(100vw - 24px));border-radius:12px;border:1px solid rgba(15,23,42,.14);background:rgba(255,255,255,.98);box-shadow:var(--shadow);padding:24px;color:var(--text)}.dialog-title{margin:0 0 10px;font-family:var(--font-display);font-size:1.6rem}.dialog-description{color:var(--text-soft);line-height:1.6;margin-bottom:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.banner{display:flex;gap:12px;align-items:center;border-radius:10px;padding:16px 18px;background:#ffffff;border:1px solid rgba(15,23,42,.16)}.banner strong{display:block;margin-bottom:2px}.return-layout{display:grid;grid-gap:18px;gap:18px}.return-state{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.return-state .panel{min-height:100%}.inline-list{display:grid;grid-gap:10px;gap:10px}.inline-list dt{color:var(--text-soft);font-size:.88rem}.inline-list dd{margin:0;font-weight:600}.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;word-break:break-all}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loading-row{display:inline-flex;align-items:center;gap:10px}.status-row{min-height:22px}.spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(15,23,42,.2);border-top-color:rgba(15,23,42,.8);animation:spin .8s linear infinite;flex-shrink:0}.spinner-hidden{visibility:hidden;animation:none}@keyframes spin{to{transform:rotate(1turn)}}.flow-shell{min-height:100vh;background:#fafafa;color:#09090b;padding:10px}.flow-page{padding:0}.flow-title{text-align:center;margin:0 auto 32px}.flow-user-email{margin:4px 0 0;font-size:.75rem;color:#71717a}.flow-title h1{font-size:1.125rem;font-weight:600;color:#09090b;letter-spacing:-.01em;margin:0;font-family:var(--font-body)}.flow-stack{width:min(440px,100%);margin:0 auto;display:grid;justify-items:center}.step-marker{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 4px;border-radius:999px;border:1px solid #e4e4e7;background:#fff;color:#71717a;font-size:.73rem;margin-bottom:8px}.step-marker span{display:grid;place-items:center;width:18px;height:18px;border-radius:999px;background:#e4e4e7;color:#52525b;font-size:.65rem;font-weight:700;flex-shrink:0}.step-marker.active{border-color:#18181b;color:#18181b}.step-marker.active span,.step-marker.done span{background:#18181b;color:#fff}.flow-card{width:100%;border:1px solid #e4e4e7;border-radius:12px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);overflow:hidden}.flow-card.idle{opacity:.6}.flow-card.charging{border-color:#22c55e}.flow-card-header{padding:10px 16px;border-bottom:1px solid #f4f4f5;background:#fafafa}.flow-card.charging .flow-card-header{background:#f0fdf4;border-bottom-color:#bbf7d0}.flow-card-header h2{margin:0;font-size:.875rem;font-weight:600;color:#09090b;font-family:var(--font-body)}.flow-card-body{padding:14px 16px}.flow-form{display:grid;grid-gap:10px;gap:10px}.flow-muted{margin:0;color:#71717a;font-size:.875rem;line-height:1.6}.flow-input{width:100%;height:36px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;color:#09090b;padding:0 12px;font-size:.875rem;outline:none;transition:border-color .15s,box-shadow .15s}.flow-input:focus{border-color:#18181b;box-shadow:0 0 0 3px rgba(24,24,27,.08)}.flow-input::placeholder{color:#a1a1aa}.flow-button{width:100%;height:36px;border:1px solid transparent;border-radius:8px;background:#ffdd00;color:#000000;padding:0 14px;font-size:.875rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:opacity .15s}.flow-button:hover{opacity:.88}.flow-button:disabled{opacity:.4;cursor:not-allowed}.flow-button.yellow{background:#d97706;color:#fff}.flow-button.secondary-flow{background:#fff;color:#09090b;border-color:#e4e4e7}.flow-button.secondary-flow:hover{background:#fafafa;opacity:1}.flow-details{display:grid;grid-gap:8px;gap:8px;margin:0}.flow-card-body>.flow-form>.flow-button,.flow-card-body>.flow-form>.flow-details+.flow-input,.flow-card-body>.flow-form>.flow-muted+.flow-input,.flow-details div{min-width:0}.flow-card-body>.flow-form>div:not(.connector-grid):not(.payment-logos),.flow-card-body>div>div:not(.connector-grid):not(.payment-logos),.flow-details div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}.flow-card-body dt,.flow-details dt{color:#71717a;font-size:.875rem}.flow-card-body dd,.flow-details dd{margin:0;color:#09090b;font-size:.875rem;font-weight:500;text-align:right}.flow-card-body .highlight,.flow-details .highlight{color:#16a34a;font-weight:600}.flow-arrow{width:1px;height:40px;background:#e4e4e7;position:relative;margin:4px 0}.flow-arrow:after{content:"";position:absolute;left:50%;bottom:-1px;width:0;height:0;transform:translateX(-50%);border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #e4e4e7}.connector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));grid-gap:6px;gap:6px}.connector-chip{height:56px;border:1px solid #e4e4e7;border-radius:8px;background:#fff;color:#09090b;font-size:1.25rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background .15s,border-color .15s}.connector-chip:hover:not(:disabled){background:#f4f4f5;border-color:#a1a1aa}.connector-chip:disabled{opacity:.45;cursor:not-allowed}.connector-chip-status{font-size:.7rem;font-weight:400;color:#71717a;text-transform:lowercase}.payment-logos{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.payment-logos span{height:22px;display:grid;place-items:center;border:1px solid #e4e4e7;border-radius:4px;background:#fff;color:#3f3f46;padding:0 7px;font-size:.6rem;font-weight:700}.payment-logos span:nth-child(2){background:#1a1f71;color:#fff;border-color:#1a1f71}.payment-logos span:nth-child(3){background:#eb001b;color:#fff;border-color:#eb001b}.flow-error{width:100%;border:1px solid #fca5a5;border-radius:8px;background:#fef2f2;color:#b91c1c;padding:10px 14px;font-size:.875rem;margin-top:8px}.flow-error.compact{margin-top:0}.link-button{border:0;background:transparent;color:#52525b;text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0;text-align:center}.split-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.auto-stop{border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#166534;justify-content:center;text-align:center;padding:6px 12px;font-size:.75rem}.auto-stop,.session-choice{display:flex;align-items:center}.session-choice{height:44px;border:1px solid #e4e4e7;border-radius:8px;background:#fafafa;color:#09090b;padding:0 12px;justify-content:space-between;gap:12px;cursor:pointer;font-size:.875rem;transition:background .15s}.session-choice:hover{background:#f4f4f5}@media (max-width:520px){.flow-shell{padding:32px 16px}.flow-title h1{font-size:1rem}}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.p.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_fdaf1b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_fdaf1b{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}