:root{
--bg:#07060b; --panel:#0f0c16; --panel2:#151020; --panel3:#1a1226;
--line:#2b2238; --line2:#39274f; --text:#f6f1ff; --muted:#a59aad;
--purple:#b060ff; --purple2:#7c3aed; --violet:#8b5cf6; --cyan:#45d9ff;
--green:#55e6a5; --amber:#ffc15f; --red:#ff667e; --blue:#6aa8ff;
--shadow:0 22px 70px rgba(0,0,0,.42); --glow:0 0 34px rgba(168,85,247,.16);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
radial-gradient(circle at 18% -10%,rgba(102,39,166,.24),transparent 32%),
radial-gradient(circle at 90% 0%,rgba(26,73,116,.15),transparent 28%),
linear-gradient(180deg,#08070d 0%,#06050a 100%);color:var(--text);
font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}.hidden{display:none!important}button,input{font:inherit}.shell{min-height:100vh}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(450px,100%);padding:35px;border:1px solid var(--line2);border-radius:26px;background:linear-gradient(180deg,rgba(22,16,33,.97),rgba(9,7,14,.98));box-shadow:var(--shadow);position:relative;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--purple),var(--cyan),transparent)}
.login-card:after{content:"";position:absolute;width:220px;height:220px;right:-110px;top:-110px;border-radius:50%;background:rgba(168,85,247,.16);filter:blur(38px)}
.brand{display:flex;align-items:center;gap:14px;margin-bottom:30px;position:relative;z-index:1}.brandmark{width:47px;height:47px;border-radius:14px;background:linear-gradient(135deg,var(--purple2),var(--cyan));display:grid;place-items:center;font-weight:950;box-shadow:0 0 30px rgba(168,85,247,.3)}
.brand h1{font-size:20px;margin:0;letter-spacing:.08em}.brand small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase}
.login-card h2{margin:0 0 8px;font-size:30px}.login-card p{margin:0 0 24px;color:var(--muted);line-height:1.6}
label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#c1b8cb;margin:16px 0 8px}
input{width:100%;background:#0a0810;border:1px solid #332941;color:white;border-radius:12px;padding:13px 14px;outline:none}input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(168,85,247,.12)}
.btn{border:0;border-radius:12px;padding:12px 16px;color:white;background:#1a1522;cursor:pointer;transition:.18s}.btn:hover{transform:translateY(-1px);background:#231a2f}.btn.primary{width:100%;margin-top:18px;background:linear-gradient(135deg,var(--purple2),#9456ff);font-weight:850;box-shadow:0 12px 32px rgba(124,58,237,.24)}
.error{color:#ff9aaa;font-size:13px;margin-top:12px;min-height:20px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 25px;border-bottom:1px solid rgba(255,255,255,.065);background:rgba(7,6,11,.82);backdrop-filter:blur(20px)}
.topbar-left{display:flex;align-items:center;gap:13px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 13px var(--green);display:inline-block;margin-right:7px}.topbar h1{font-size:17px;margin:0;letter-spacing:.09em}.topbar .sub{font-size:10px;color:var(--muted);letter-spacing:.17em;text-transform:uppercase;margin-top:2px}
.actions{display:flex;gap:8px}.iconbtn{border:1px solid var(--line);background:#100d16;color:#ded4e9;border-radius:10px;padding:8px 11px;cursor:pointer;transition:.18s}.iconbtn:hover{border-color:#57406e;background:#16101e}.iconbtn.accent{border-color:#4b2a6e;background:#1b102a;color:#e6d5ff}
main{padding:26px;max-width:1550px;margin:0 auto}.hero{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.hero h2{margin:0;font-size:34px;letter-spacing:-.025em}.hero p{color:var(--muted);margin:7px 0 0}.lastsync{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.overview{display:grid;grid-template-columns:minmax(260px,1.2fr) repeat(4,1fr);gap:12px;margin:18px 0 18px}
.util-card,.card{background:linear-gradient(180deg,rgba(20,15,31,.96),rgba(12,9,18,.97));border:1px solid var(--line);border-radius:18px;position:relative;overflow:hidden;box-shadow:0 9px 34px rgba(0,0,0,.18)}
.util-card{padding:17px 18px;display:flex;align-items:center;gap:18px;min-height:130px}.util-card:after,.card:after{content:"";position:absolute;right:-35px;bottom:-55px;width:100px;height:100px;border-radius:50%;background:var(--glow-color,var(--purple));filter:blur(42px);opacity:.15}
.ring{--p:0;--ring:var(--purple);width:92px;height:92px;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--p)*1%),#20182b 0);display:grid;place-items:center;position:relative;flex:0 0 auto;box-shadow:0 0 32px rgba(168,85,247,.12)}.ring:after{content:"";width:70px;height:70px;border-radius:50%;background:#100c17;border:1px solid #2c2139;position:absolute}.ring-inner{position:relative;z-index:2;text-align:center}.ring-value{font-size:20px;font-weight:900}.ring-label{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.13em;margin-top:2px}
.util-copy .eyebrow,.card .label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.util-copy .big{font-size:28px;font-weight:900;margin-top:5px}.util-copy .small{font-size:12px;color:#b7adc2;margin-top:4px}
.card{padding:17px;min-height:130px}.card .num{font-size:31px;font-weight:900;margin-top:11px}.card .note{font-size:11px;color:#bcb2c8;margin-top:4px}.card.green{--glow-color:var(--green)}.card.cyan{--glow-color:var(--cyan)}.card.red{--glow-color:var(--red)}.card.amber{--glow-color:var(--amber)}
.mini-line{height:3px;width:36px;border-radius:99px;background:linear-gradient(90deg,var(--purple),var(--cyan));margin-top:12px;opacity:.85}
.attention{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:19px}.attention-box{background:linear-gradient(180deg,#100d17,#0d0a12);border:1px solid var(--line);border-radius:17px;padding:16px 17px;min-height:174px}.attention-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.attention-box h3{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#d0c5dc;margin:0}.count-badge{font-size:10px;padding:5px 8px;border-radius:99px;background:#1d1527;color:#bcb0c9}.attention-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:9px 0;border-top:1px solid rgba(255,255,255,.055);font-size:13px}.attention-row:first-of-type{border-top:0}.empty{color:var(--muted);font-size:13px;padding-top:6px}.attention-row strong{font-weight:750}.attention-row .meta{color:var(--muted);font-size:11px;margin-left:6px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:5px 0 12px}.search{max-width:430px;width:100%;padding:11px 13px}.filters{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid var(--line);background:#0f0c16;color:#c8bdd4;border-radius:999px;padding:8px 11px;font-size:11px;cursor:pointer;transition:.16s}.chip:hover{border-color:#4e3a60}.chip.active{background:#211331;border-color:#70409b;color:#fff;box-shadow:0 0 18px rgba(168,85,247,.09)}
.table-wrap{background:#0d0a12;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse;min-width:1120px}thead{background:#15101e}th{font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#9e92ab;text-align:left;padding:13px 14px;border-bottom:1px solid var(--line)}td{padding:13px 14px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;vertical-align:middle}tbody tr{cursor:pointer;transition:.15s}tbody tr:hover td{background:rgba(168,85,247,.055)}tbody tr:hover td:first-child{box-shadow:inset 3px 0 0 var(--purple)}tr:last-child td{border-bottom:0}.fleet{font-weight:850}.rego{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:850}.rider{max-width:250px}.muted{color:var(--muted)}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.085em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.pill.rented{color:#d8c3ff;background:#241739;border-color:#543176}.pill.available{color:#89f3bd;background:#0d2a1e;border-color:#1d5a40}.pill.broken_down,.pill.unavailable{color:#ff9baa;background:#32121b;border-color:#703141}.pill.ok{color:#79ecad;background:#0e291e}.pill.due_soon{color:#ffd07e;background:#30210a}.pill.urgent,.pill.expired,.pill.overdue{color:#ff879a;background:#351019}.pill.not_seeded,.pill.unknown,.pill.unknown_odometer{color:#b1a6bd;background:#211b29}
.mobile-list{display:none}.mobile-card{border:1px solid var(--line);border-radius:16px;background:#0e0b14;padding:15px;cursor:pointer}.mobile-card + .mobile-card{margin-top:10px}.mobile-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.mobile-title{font-size:17px;font-weight:850}.mobile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.kv span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.kv strong{display:block;font-size:13px;margin-top:3px}.loading{padding:50px;text-align:center;color:var(--muted)}
.drawer-backdrop{position:fixed;inset:0;background:rgba(2,1,5,.68);backdrop-filter:blur(4px);z-index:80;opacity:0;pointer-events:none;transition:.22s}.drawer-backdrop.open{opacity:1;pointer-events:auto}.drawer{position:fixed;z-index:90;top:0;right:0;height:100vh;width:min(540px,100%);background:linear-gradient(180deg,#120d1b,#09070e 70%);border-left:1px solid #38284b;box-shadow:-30px 0 80px rgba(0,0,0,.52);transform:translateX(102%);transition:.24s ease;overflow:auto}.drawer.open{transform:translateX(0)}
.drawer-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:rgba(16,12,24,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.drawer-title{display:flex;align-items:center;gap:11px}.scooter-avatar{width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#2b1941,#112938);display:grid;place-items:center;font-weight:900;color:#e7d9ff;border:1px solid #4a3262}.drawer-title h3{margin:0;font-size:19px}.drawer-title p{margin:3px 0 0;color:var(--muted);font-size:11px}.closebtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--line);background:#15101e;color:white;cursor:pointer;font-size:18px}.drawer-content{padding:19px 20px 34px}
.detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:13px}.detail-card{border:1px solid var(--line);background:#0e0a14;border-radius:15px;padding:14px}.detail-card.wide{grid-column:1/-1}.detail-label{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.detail-value{font-size:18px;font-weight:850;margin-top:5px}.detail-sub{font-size:11px;color:var(--muted);margin-top:4px}.section-title{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#bdb1c8;margin:19px 0 9px}.detail-list{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#0c0911}.detail-row{display:flex;justify-content:space-between;gap:18px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.055);font-size:12px;align-items:center}.detail-row:last-child{border-bottom:0}.detail-row span:first-child{color:var(--muted)}.detail-row strong{text-align:right;font-weight:750;overflow-wrap:anywhere}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 0}.contact-btn{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:1px solid #4b3264;background:linear-gradient(180deg,#21132f,#160d21);color:#f4eaff;border-radius:12px;padding:11px 12px;font-size:12px;font-weight:850;transition:.18s}.contact-btn:hover{transform:translateY(-1px);border-color:#7d4da2;box-shadow:0 10px 26px rgba(124,58,237,.14)}.contact-btn.email{border-color:#28445a;background:linear-gradient(180deg,#10212d,#0c171f)}.sensitive-note{font-size:10px;color:#7f7489;line-height:1.45;margin-top:8px}.rider-identity{display:flex;align-items:center;gap:14px;padding:13px;margin-bottom:10px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#120d1a,#0b0a10)}.rider-photo-wrap{width:92px;height:92px;flex:0 0 92px;border-radius:18px;overflow:hidden;border:1px solid #4a3262;background:linear-gradient(135deg,#251735,#102531);display:grid;place-items:center;box-shadow:0 12px 28px rgba(0,0,0,.24)}.rider-photo{width:100%;height:100%;object-fit:cover;display:block}.rider-photo-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:34px;color:#c9b9d8;background:radial-gradient(circle at 45% 30%,rgba(176,96,255,.22),transparent 46%)}.rider-id-copy{min-width:0}.rider-id-name{font-size:18px;font-weight:900;line-height:1.15}.rider-id-meta{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.45}.rider-photo-tag{display:inline-flex;margin-top:8px;padding:5px 8px;border-radius:999px;background:#21152d;border:1px solid #45305a;color:#cdbce0;font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:850}.rider-loading{padding:14px;border:1px dashed #382947;border-radius:13px;color:var(--muted);font-size:12px}.work-list{display:grid;gap:7px}.work-item{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border-radius:11px;background:#120e18;border:1px solid #251b30;font-size:12px}.work-dot{width:7px;height:7px;border-radius:50%;background:var(--purple);box-shadow:0 0 10px rgba(176,96,255,.55);margin-top:4px;flex:0 0 auto}.not-seeded{padding:14px;border:1px dashed #3b2b4a;border-radius:13px;color:var(--muted);font-size:12px;line-height:1.55}
.fleet-controls{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,#110d18,#0b0910)}.fleet-control-btn{width:100%;border-radius:12px;padding:12px 14px;font-weight:900;letter-spacing:.015em;cursor:pointer;transition:.18s;border:1px solid}.fleet-control-btn:hover:not(:disabled){transform:translateY(-1px)}.fleet-control-btn:disabled{opacity:.55;cursor:wait}.fleet-control-btn.danger{color:#ffdce2;background:linear-gradient(180deg,#34131d,#261017);border-color:#6f3040}.fleet-control-btn.danger:hover:not(:disabled){border-color:#a5475d;box-shadow:0 10px 26px rgba(255,102,126,.12)}.fleet-control-btn.success{color:#d7ffea;background:linear-gradient(180deg,#123222,#0d261a);border-color:#286246}.fleet-control-btn.success:hover:not(:disabled){border-color:#3d8b66;box-shadow:0 10px 26px rgba(85,230,165,.11)}.fleet-control-note{font-size:10px;line-height:1.5;color:var(--muted)}.fleet-control-message{min-height:0;font-size:10px;line-height:1.45;color:var(--green)}.fleet-control-message.error-state{color:#ff9baa}
@media(max-width:1200px){.overview{grid-template-columns:repeat(4,1fr)}.util-card{grid-column:span 2}.attention{grid-template-columns:1fr}}
@media(max-width:760px){.topbar{padding:13px 14px}main{padding:18px 13px}.hero{align-items:start;flex-direction:column}.hero h2{font-size:28px}.overview{grid-template-columns:1fr 1fr}.util-card{grid-column:1/-1}.card{min-height:108px}.card .num{font-size:27px}.table-wrap{display:none}.mobile-list{display:block}.toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.topbar .sub{display:none}.actions .iconbtn span{display:none}.drawer{width:100%}.detail-hero{grid-template-columns:1fr 1fr}.rider-photo-wrap{width:84px;height:84px;flex-basis:84px}.rider-id-name{font-size:17px}}
