:root{color-scheme:dark;--bg:#05060a;--rail:rgba(8,11,20,.78);--rail-soft:hsla(0,0%,100%,.06);--light:rgba(248,250,252,.9);--light-2:rgba(226,232,240,.82);--light-border:hsla(0,0%,100%,.2);--dark:rgba(14,16,23,.74);--dark-2:hsla(0,0%,100%,.07);--dark-border:hsla(0,0%,100%,.12);--text-dark:#10131a;--text-light:rgba(248,250,252,.96);--muted:rgba(15,23,42,.62);--muted-dark:rgba(203,213,225,.72);--accent:#f472b6;--accent-2:#60a5fa;--accent-3:#c084fc;--danger:#fb7185;--shadow:0 20px 70px rgba(0,0,0,.32);--radius-xl:16px;--radius-lg:12px;--radius-md:10px}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:#020202;color:var(--text-light);font-family:var(--font-body),"Segoe UI",sans-serif}body{overflow-x:hidden;background:radial-gradient(circle at 15% 8%,rgba(244,114,182,.12),transparent 30%),radial-gradient(circle at 85% 12%,rgba(96,165,250,.12),transparent 28%),linear-gradient(180deg,#03040a,#060816 45%,#04050a)}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}input,select{background:hsla(0,0%,100%,.04);color:var(--text-light);border:1px solid var(--dark-border);border-radius:12px;padding:.85rem .95rem}button{border:1px solid transparent;border-radius:999px;padding:.85rem 1rem}.danger-button,.ghost-button{background:transparent;border-color:var(--dark-border);color:var(--text-light)}.danger-button{border-color:hsla(6,43%,71%,.45);color:#f0b2aa}.wide{width:100%}.loading-screen,.login-screen{min-height:100vh;display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:280px minmax(0,1fr);padding:1.35rem;background:radial-gradient(circle at 12% 10%,rgba(244,114,182,.14),transparent 28%),radial-gradient(circle at 82% 18%,rgba(96,165,250,.12),transparent 24%),linear-gradient(180deg,#03040a,#050713)}.loading-screen{place-items:center;grid-template-columns:1fr}.loading-card,.login-card{border-radius:18px;background:var(--light);color:var(--text-dark);border:1px solid var(--light-border);box-shadow:var(--shadow);padding:1.35rem}.loading-card{width:min(580px,100%)}.login-rail{border-radius:18px;background:linear-gradient(180deg,#060705,#090a08);border:1px solid hsla(0,0%,100%,.06);box-shadow:var(--shadow);padding:1.35rem;display:flex;flex-direction:column;justify-content:space-between;min-height:calc(100vh - 2.7rem)}.brand-mark{font-family:var(--font-display),"Segoe UI",sans-serif;font-size:1.75rem;letter-spacing:.06em}.rail-copy{max-width:20ch;color:hsla(0,0%,100%,.66);line-height:1.65}.admin-card h2,.login-card-top h1,.map-card h2,.overview-card h1,.raw-card h2,.session-card h2,.simulator-card h2,.station-card h2,.stream-card h2,.system-card h2{margin:.25rem 0 0;font-family:var(--font-display),"Segoe UI",sans-serif;letter-spacing:-.04em}.drawer-head span,.drawer-head strong,.login-card-top p,.message-line small,.metric small,.raw-meta span,.raw-meta strong,.scenario-chip span,.sidebar-copy p,.simulator-status,.site-map small,.station-meta span,.status-pills span,.status-pills strong,.timeline-tag,.timeline-text,.topbar-left span,.topbar-right span,.transaction-box small,.transaction-box span,.transaction-box strong,.user-chip span,.user-row span,.user-row strong{color:var(--muted)}.login-card-top p,.scenario-chip span,.sidebar-copy p,.site-map small,.station-meta span,.timeline-text{line-height:1.5}.admin-actions,.connector-drawer,.connector-row,.connector-table,.detail-pairs,.hero-row,.login-form,.lower-grid,.mini-panels,.raw-card,.scenario-list,.session-card,.sidebar,.station-bottom,.station-layout,.system-grid,.table-head,.user-form,.workspace{display:grid}.login-form{gap:.8rem;max-width:360px}.login-form label{display:grid;grid-gap:.45rem;gap:.45rem;font-size:.92rem}.login-card{display:grid;align-content:start;grid-gap:1rem;gap:1rem}.seed-box{display:flex;flex-direction:column;gap:.35rem;color:rgba(17,17,14,.62);font-size:.88rem}.dashboard-shell{min-height:100vh;padding:1rem;display:grid;grid-template-columns:250px minmax(0,1fr);grid-gap:1rem;gap:1rem;background:radial-gradient(circle at 12% 10%,rgba(244,114,182,.12),transparent 30%),radial-gradient(circle at 86% 12%,rgba(96,165,250,.13),transparent 28%),linear-gradient(180deg,#03040a,#060816 45%,#04050a)}.sidebar{position:-webkit-sticky;position:sticky;top:1rem;align-self:start;min-height:calc(100vh - 2rem);border-radius:18px;background:linear-gradient(180deg,rgba(14,16,23,.82),rgba(8,11,20,.74));border:1px solid hsla(0,0%,100%,.1);padding:1.25rem;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);gap:1.5rem}.sidebar-copy p:first-child{color:var(--text-light);font-family:var(--font-display),"Segoe UI",sans-serif;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem}.sidebar-nav{display:grid;grid-gap:.35rem;gap:.35rem}.sidebar-nav a{min-height:40px;padding:.68rem .8rem;border-radius:12px;color:hsla(0,0%,100%,.82);border:1px solid transparent}.sidebar-nav a.active,.sidebar-nav a:hover{background:rgba(244,114,182,.12);border-color:rgba(244,114,182,.22)}.sidebar-footer{margin-top:auto;display:grid;grid-gap:.8rem;gap:.8rem}.user-chip{display:grid;grid-gap:.15rem;gap:.15rem;padding:.9rem;border-radius:14px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08)}.user-chip strong{font-size:.92rem}.user-chip span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.workspace{grid-template-rows:auto auto 1fr;gap:1rem}.topbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--text-light)}.status-pills,.topbar-left,.topbar-right{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.topbar-left span,.topbar-right span{font-family:var(--font-display),"Segoe UI",sans-serif;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.topbar-right button{background:hsla(0,0%,100%,.04);color:var(--text-light);border:1px solid hsla(0,0%,100%,.08)}.topbar-right .action-error{color:#fecdd3}.hero-row{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem}.surface{border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.surface-light{background:linear-gradient(180deg,rgba(248,250,252,.94),rgba(226,232,240,.88)),linear-gradient(135deg,rgba(244,114,182,.1),rgba(96,165,250,.12));border:1px solid hsla(0,0%,100%,.3);color:var(--text-dark);padding:1.25rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.surface-light .breadcrumb,.surface-light .card-head .eyebrow,.surface-light .eyebrow{color:rgba(60,53,34,.58)}.surface-light .connector-drawer p,.surface-light .drawer-head span,.surface-light .drawer-head strong,.surface-light .message-line small,.surface-light .metric small,.surface-light .metric span,.surface-light .station-actions button,.surface-light .station-actions-top button,.surface-light .station-meta span,.surface-light .status-pills span,.surface-light .status-pills strong{color:rgba(27,24,18,.62)}.surface-light .ghost-button{color:var(--text-dark);border-color:rgba(30,24,12,.14);background:hsla(0,0%,100%,.3)}.surface-light input,.surface-light select{background:hsla(0,0%,100%,.35);color:var(--text-dark);border-color:rgba(30,24,12,.14)}.surface-light button{color:var(--text-dark)}.surface-dark{background:linear-gradient(180deg,rgba(14,16,23,.78),rgba(8,11,20,.72));border:1px solid hsla(0,0%,100%,.12);color:var(--text-light);padding:1.15rem;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.overview-card,.station-card{min-height:100%}.card-head,.card-subnav,.raw-meta,.simulator-preview,.station-actions-top,.station-detail-head,.transaction-box{display:flex;justify-content:space-between;gap:1rem;align-items:center}.station-detail-head{align-items:start}.card-head h2{margin:.25rem 0 0}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.85rem;gap:.85rem;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(30,24,12,.12)}.metric{display:grid;grid-gap:.25rem;gap:.25rem;min-height:100px;padding-right:.75rem;border-right:1px solid rgba(30,24,12,.12)}.metric:last-child{border-right:0}.metric span{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.metric strong{font-family:var(--font-display),"Segoe UI",sans-serif;font-size:clamp(2rem,3.3vw,3.2rem);line-height:.95;color:inherit}.metric small{font-size:.84rem}.mini-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.mini-panel{padding:.85rem;border-radius:14px}.mini-panel.dark{background:rgba(15,23,42,.86);color:var(--text-light);border:1px solid hsla(0,0%,100%,.08)}.mini-panel h3{margin:0 0 .5rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em}.mini-panel p{margin:.3rem 0;font-size:.92rem}.breadcrumb,.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-family:var(--font-display),"Segoe UI",sans-serif}.station-card h2{font-size:clamp(1.5rem,2vw,2.3rem)}.status-pills{display:grid;grid-template-columns:repeat(2,auto);grid-row-gap:.18rem;row-gap:.18rem;grid-column-gap:.75rem;column-gap:.75rem;text-align:right}.status-pills strong{font-family:var(--font-display),"Segoe UI",sans-serif}.station-meta{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:.9rem;font-size:.86rem}.station-layout{grid-template-columns:240px minmax(0,1fr);gap:1rem;margin-top:1rem}.station-render{background:hsla(0,0%,100%,.18);border:1px solid rgba(30,24,12,.08);border-radius:16px;min-height:350px;display:grid;place-items:center}.charger-mock{position:relative;width:120px;height:290px}.charger-body{position:absolute;inset:0;border-radius:24px;border:3px solid rgba(33,28,17,.85);background:linear-gradient(90deg,hsla(0,0%,100%,.55),hsla(42,42%,83%,.75)),linear-gradient(180deg,hsla(0,0%,100%,.2),rgba(0,0,0,.02));box-shadow:inset 0 0 0 4px hsla(0,0%,100%,.12)}.charger-body:before{content:"";top:34px;width:42px;height:54px;background:linear-gradient(180deg,#1d1d1b,#43413d)}.charger-body:before,.charger-screen{position:absolute;left:50%;transform:translateX(-50%);border-radius:8px}.charger-screen{top:30px;z-index:1;background:#20201d;color:#ece9d7;padding:.2rem .45rem;font-size:1rem;letter-spacing:.14em}.connector-table{gap:.65rem}.connector-row,.table-head{grid-template-columns:110px 130px 1fr 90px 110px;gap:.75rem;align-items:center}.table-head{padding:.2rem .5rem .4rem;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:rgba(20,20,16,.46)}.connector-row{padding:.7rem .6rem;border-radius:14px;border:1px solid rgba(30,24,12,.1);background:hsla(0,0%,100%,.42);color:var(--text-dark)}.connector-row.selected{border-color:rgba(244,114,182,.5);background:rgba(244,114,182,.12)}.connector-number{font-size:1.35rem}.connector-number,.status-pill{font-family:var(--font-display),"Segoe UI",sans-serif}.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:.25rem .6rem;border-radius:8px;font-size:.78rem;letter-spacing:.08em}.status-pill.charging,.status-pill.online{background:rgba(34,197,94,.24)}.status-pill.available{background:hsla(0,0%,100%,.36)}.status-pill.faulted{background:hsla(6,43%,71%,.45)}.station-bottom{grid-template-columns:minmax(0,1fr) 260px;gap:1rem;margin-top:1rem}.connector-drawer,.recent-messages,.station-actions{background:hsla(0,0%,100%,.25);border-radius:16px;padding:.95rem}.recent-messages h3,.station-actions h3{margin-top:0;font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--font-display),"Segoe UI",sans-serif}.message-line{display:grid;grid-template-columns:82px 1fr;grid-gap:.25rem .8rem;gap:.25rem .8rem;padding:.35rem 0;border-bottom:1px solid rgba(30,24,12,.08)}.message-line span{grid-row:span 2;font-size:.8rem}.message-line strong{font-size:.94rem}.station-actions{display:grid;grid-gap:.55rem;gap:.55rem;align-content:start}.station-actions .ghost-button{text-align:left}.connector-drawer{margin-top:1rem;display:grid;grid-gap:.35rem;gap:.35rem}.drawer-head{display:flex;justify-content:space-between;gap:.75rem;text-transform:uppercase;letter-spacing:.14em;font-family:var(--font-display),"Segoe UI",sans-serif}.lower-grid{grid-template-columns:1.15fr 1fr .9fr .9fr 1fr;gap:1rem;align-items:start}.admin-card,.map-card,.raw-card,.session-card,.simulator-card,.stream-card,.system-card{min-height:360px}.card-subnav{gap:.5rem;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.timeline{margin-top:1rem;display:grid;grid-gap:.55rem;gap:.55rem}.timeline-row{display:grid;grid-template-columns:82px 88px 1fr;grid-gap:.5rem;gap:.5rem;align-items:center;padding:.5rem 0;border-bottom:1px solid hsla(0,0%,100%,.06)}.timeline-time{color:hsla(41,44%,93%,.65);font-size:.8rem}.timeline-tag{color:var(--accent);font-family:var(--font-display),"Segoe UI",sans-serif;font-size:.74rem;text-transform:uppercase}.timeline-text{font-size:.84rem}.site-map{margin-top:1rem;min-height:290px;border-radius:18px;border:1px solid hsla(0,0%,100%,.06);background:radial-gradient(circle at 50% 50%,hsla(73,59%,64%,.08),transparent 18%),linear-gradient(180deg,hsla(0,0%,100%,.04),hsla(0,0%,100%,.02));position:relative;overflow:hidden}.site-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.04) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.04) 1px,transparent 0);background-size:22px 22px;opacity:.55}.map-pin{position:absolute;z-index:1;min-width:84px;border:1px solid hsla(73,59%,64%,.35);color:var(--text-light);border-radius:999px;background:hsla(73,59%,64%,.11);padding:.8rem .85rem}.pin-0{left:16%;top:16%}.pin-1{left:67%;top:22%}.pin-2{left:30%;top:56%}.pin-3{left:54%;top:76%}.scenario-list{gap:.6rem;margin-top:1rem}.scenario-chip{text-align:left;border-radius:12px;padding:.82rem .9rem;background:transparent;border:1px solid hsla(0,0%,100%,.08);color:var(--text-light)}.scenario-chip strong{display:block;font-size:.94rem;text-transform:capitalize}.scenario-chip.selected{border-color:rgba(96,165,250,.45);background:rgba(96,165,250,.1)}.simulator-preview{margin-top:1rem;padding:.9rem 0;border-top:1px solid hsla(0,0%,100%,.06)}.simulator-status{font-size:.92rem}.detail-pairs{gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem}.detail-pairs>div,.raw-meta>div,.transaction-box,.user-row{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;padding:.8rem}.detail-pairs span,.raw-meta span,.transaction-box span{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.detail-pairs strong,.raw-meta strong,.transaction-box strong{display:block;margin-top:.25rem;color:var(--text-light)}.transaction-box{margin-top:.8rem;gap:.25rem}.message-code{margin:1rem 0 0;border-radius:14px;background:#050505;padding:1rem;overflow:auto;min-height:210px;color:#cfcca8;font-size:.82rem;line-height:1.5}.raw-meta{margin-top:1rem;gap:.75rem}.admin-actions{gap:.6rem;margin-top:1rem}.user-admin{margin-top:1rem;display:grid;grid-gap:.75rem;gap:.75rem}.user-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.user-table{display:grid;grid-gap:.45rem;gap:.45rem}.user-row{display:flex;justify-content:space-between;gap:.75rem}.system-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1rem}.system-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:.6rem;gap:.6rem;margin-top:.9rem}.system-summary>div{border:1px solid hsla(0,0%,100%,.06);background:hsla(0,0%,100%,.04);border-radius:12px;padding:.7rem .75rem}.system-summary span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:hsla(41,44%,93%,.62)}.system-summary strong{display:block;margin-top:.2rem;font-family:var(--font-display),"Segoe UI",sans-serif;color:var(--text-light)}.state-history,.webhook-feed{margin-top:1rem;display:grid;grid-gap:.45rem;gap:.45rem}.state-history h3,.webhook-feed h3{margin:0 0 .25rem;font-size:.86rem;text-transform:uppercase;letter-spacing:.12em;font-family:var(--font-display),"Segoe UI",sans-serif}.surface-dark .metric{min-height:90px;padding:.85rem;border-radius:12px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06)}.surface-dark .metric small,.surface-dark .metric span,.surface-dark .metric strong{color:var(--text-light)}.surface-dark .metric strong{font-size:1.2rem}.error{color:#9d4d46}.empty-state{border:1px dashed hsla(0,0%,100%,.16);border-radius:12px;padding:.85rem;color:rgba(203,213,225,.72);background:hsla(0,0%,100%,.04);font-size:.9rem;line-height:1.45}button:disabled{opacity:.45;cursor:not-allowed}.eyebrow{color:rgba(80,73,50,.62)}@media (max-width:1280px){.dashboard-shell,.hero-row,.login-screen,.lower-grid,.station-bottom,.station-layout{grid-template-columns:1fr}.sidebar{position:static;min-height:auto}.lower-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:920px){.detail-pairs,.kpi-grid,.mini-panels,.system-grid,.system-summary,.user-form{grid-template-columns:1fr}.connector-row,.table-head{grid-template-columns:92px 120px 1fr 90px 100px;font-size:.82rem}.lower-grid{grid-template-columns:1fr}.station-card{overflow-x:auto}}@media (max-width:720px){.dashboard-shell,.loading-screen,.login-screen{padding:.75rem}.loading-card,.login-card,.sidebar,.surface-dark,.surface-light,.topbar{border-radius:14px}.connector-row,.table-head,.timeline-row{grid-template-columns:1fr}.card-head,.simulator-preview,.station-detail-head,.topbar{flex-direction:column;align-items:start}}