:root{--bg:#f3f5f7;--card:#fff;--tx:#17202a;--mu:#667585;--ac:#ff6a00;--pr:#0b2f78;--lk:#0b2f78;--bd:#e3e8ed;--ok:#15803d;--wa:#b45309;--er:#b91c1c;--in:#fff}
@media(prefers-color-scheme:dark){:root{--bg:#0d1318;--card:#172029;--tx:#e8edf2;--mu:#94a3b0;--bd:#2a3541;--lk:#5eead4;--in:#0f171e;--ok:#4ade80;--wa:#fbbf24;--er:#f87171}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--tx);padding-bottom:calc(70px + env(safe-area-inset-bottom))}
a{color:var(--lk);text-decoration:none}h3{margin:0 0 8px;font-size:16px}
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--pr);color:#fff}
.top button{background:none;border:0;color:#fff;font-size:22px;padding:0 4px}.sp{flex:1}
main{padding:12px;max-width:900px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--bd);border-radius:14px;padding:14px;margin:0 0 12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:12px}.grid .card,.grid .stat{margin:0}
.card .grid{margin:10px 0 0}.stat small{color:var(--mu);display:block}.stat b{font-size:20px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.car{display:flex;gap:12px;align-items:center;color:var(--tx);margin:0}.car img,.car .ph{width:84px;height:64px;object-fit:cover;border-radius:10px;background:var(--bg);display:grid;place-items:center;font-size:28px;flex:none}
.thumb{max-width:200px;border-radius:10px;display:block;margin-bottom:10px}
.item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--bd);color:var(--tx)}.item:last-child{border-bottom:0}.right{text-align:right}
label{display:block;margin:0 0 10px;font-size:13px;color:var(--mu)}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:10px;font:inherit;font-size:16px;color:var(--tx);background:var(--in);border:1px solid var(--bd);border-radius:10px}
input[type=checkbox]{display:inline-block;width:auto;margin-right:6px}label.chk{display:flex;align-items:center;color:var(--tx);padding-top:18px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 12px}.row.pay{align-items:end;margin-top:10px}
.btn{display:inline-block;padding:10px 16px;border:0;border-radius:10px;background:var(--pr);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.btn.sm{padding:5px 10px;font-size:13px}.btn.ghost{background:transparent;color:var(--lk);border:1px solid var(--bd)}.btn.danger{background:var(--er);color:#fff}.btn.light{background:#fff;color:var(--pr)}.btn.block{width:100%;margin:6px 0}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.actions form{margin:0}
.search{display:flex;gap:8px;margin-bottom:10px}.search input,.search select{margin:0;flex:1}.search .btn{flex:none}
.b{display:inline-block;padding:1px 8px;border-radius:99px;font-size:12px;background:var(--bd)}.b.ok{background:#dcfce7;color:#166534}.b.wa{background:#fef3c7;color:#92400e}.b.er{background:#fee2e2;color:#991b1b}
.mu{color:var(--mu)}.er{color:var(--er)}.ok{color:var(--ok)}.wa{color:var(--wa)}.small{font-size:12px}.total{font-size:18px}
.flash{background:#fef3c7;color:#78350f;border-radius:10px;padding:10px 14px;margin-bottom:12px}.flash.er{background:#fee2e2;color:#7f1d1d}
.tw{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:8px 6px;text-align:left;border-bottom:1px solid var(--bd);white-space:nowrap}
table.cal th,table.cal td{padding:0;text-align:center;font-size:11px;min-width:26px;height:30px}table.cal th.l{text-align:left;padding:4px 8px;min-width:110px;position:sticky;left:0;background:var(--card)}
.cal td a{display:block;height:30px}.cal td.bk.active{background:#16a34a}.cal td.bk.reserved{background:#f59e0b}.cal td.bk.returned{background:#94a3b8}.cal td{border:1px solid var(--bd)}
.nav2{display:flex;gap:12px;align-items:center;justify-content:center}
#drawer{position:fixed;top:0;bottom:0;left:0;width:240px;z-index:50;background:var(--card);border-right:1px solid var(--bd);padding:calc(10px + env(safe-area-inset-top)) 10px 10px;transform:translateX(-100%);transition:.2s;overflow:auto}
#drawer.open{transform:none}#drawer a{display:block;padding:12px;border-radius:10px;color:var(--tx)}#drawer a.on{background:var(--pr);color:#fff}.brand{font-weight:700;padding:10px 12px}
#shade{position:fixed;inset:0;background:#0006;z-index:40;display:none}#shade.open{display:block}
.bottom{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--card);border-top:1px solid var(--bd);padding-bottom:env(safe-area-inset-bottom)}
.bottom a{flex:1;text-align:center;padding:6px 0;font-size:11px;color:var(--mu)}.bottom a i{display:block;font-style:normal;font-size:20px}.bottom a.on{color:var(--lk);font-weight:700}
@media(min-width:900px){#drawer{transform:none}.top button,.bottom,#shade{display:none!important}.top,main{margin-left:240px;max-width:none}main{padding:20px 28px;max-width:1000px}body{padding-bottom:20px}.top{margin-left:240px}}
a.stat{display:block;color:var(--tx)}.tabs{display:flex;gap:6px;margin-bottom:10px}.tabs a{flex:1;text-align:center;padding:8px;border-radius:10px;background:var(--card);border:1px solid var(--bd);color:var(--tx)}.tabs a.on{background:var(--pr);color:#fff}.cd{font-variant-numeric:tabular-nums}.lead{background:#dcfce7;color:#14532d}.lead.dark{}.route{font-weight:600}.big{font-size:22px;font-weight:700}
.lang{color:#fff;border:1px solid #fff8;border-radius:8px;padding:2px 8px;font-size:13px;font-weight:600}.login>.lang{color:var(--lk);border-color:var(--bd);position:fixed;top:12px;right:12px}html[lang=bn] body{font-family:"Noto Sans Bengali","Hind Siliguri","Nirmala UI","Kalpurush",system-ui,sans-serif;line-height:1.65}
body.login{display:grid;place-items:center;min-height:100vh;padding:14px}.loginbox{width:100%;max-width:360px}
.map{height:300px;border-radius:12px;border:1px solid var(--bd);position:relative;z-index:0;margin-bottom:10px}@media(min-width:900px){.map{height:400px}}
.rbpin{background:none;border:0}.rbpin span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;border:2px solid var(--pr);font-size:18px;box-shadow:0 1px 5px #0007}
.seg{display:flex;gap:6px;margin-bottom:8px}.seg button{flex:1;padding:8px;border-radius:10px;border:1px solid var(--bd);background:var(--card);color:var(--tx);font:inherit;cursor:pointer}.seg button.on{background:var(--pr);color:#fff;border-color:var(--pr)}
.resb{display:block;width:100%;text-align:left;margin:4px 0}.leaflet-tooltip{font-weight:600}

.brand{padding:6px 8px 12px}.brand img{display:block;width:100%;max-width:200px;height:auto}.loginbox .logo{display:block;width:100%;max-width:280px;height:auto;margin:0 auto 14px}.btn:hover{filter:brightness(1.1)}

/* ===== JatraShohoz mobile UI v2 ===== */
:root{--bg:#f1f5fb;--bd:#e6ebf4;--sh:0 2px 14px rgba(11,47,120,.08);--r:18px;--pr2:#1b52c4}
@media(prefers-color-scheme:dark){:root{--bg:#0b1220;--card:#131c2e;--bd:#223049;--lk:#8db4ff;--pr:#2f66e0;--pr2:#2f66e0;--sh:none;--in:#0d1626}}
body{background:var(--bg);padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.top{background:linear-gradient(135deg,#0b2f78,#1b52c4);border-radius:0 0 22px 22px;padding-bottom:14px;box-shadow:0 4px 18px rgba(11,47,120,.25)}
.top b{font-size:17px;letter-spacing:.2px}
.card{border:0;border-radius:var(--r);box-shadow:var(--sh)}
h3{font-size:16px}h3.sec{margin:16px 4px 8px;font-size:15px}
.btn{border-radius:14px;padding:12px 18px;background:linear-gradient(135deg,var(--pr),var(--pr2));box-shadow:0 4px 12px rgba(11,47,120,.25)}
.btn.sm{padding:6px 12px;border-radius:12px}.btn.ghost{background:transparent;box-shadow:none;border:1.5px solid var(--bd);color:var(--lk)}
.btn.light{background:#fff;color:#0b2f78;box-shadow:none}.btn.danger{background:var(--er);box-shadow:none}
.btn.cta{background:linear-gradient(135deg,#ff8a00,#ff5a00);box-shadow:0 6px 16px rgba(255,106,0,.35)}
.btn.block{display:block;width:100%;text-align:center;margin:8px 0;padding:14px;font-size:16px}
input,select,textarea{border-radius:12px;background:var(--in);border:1.5px solid var(--bd);padding:11px 12px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--pr2);box-shadow:0 0 0 3px rgba(27,82,196,.15)}
.b{padding:3px 11px;font-weight:600}
.flash{border-radius:14px;box-shadow:var(--sh)}
.tabs a,.seg button{border-radius:14px;border:0;box-shadow:var(--sh);font-weight:600}.tabs a.on,.seg button.on{background:linear-gradient(135deg,var(--pr),var(--pr2))}
.item{padding:12px 0}.map{border:0;border-radius:var(--r);box-shadow:var(--sh)}
/* drawer */
#drawer{width:270px;background:var(--card);border:0;box-shadow:6px 0 30px rgba(0,0,0,.18)}
#drawer a{padding:13px 14px;font-weight:500}#drawer a.on{background:linear-gradient(135deg,var(--pr),var(--pr2));font-weight:600}
.brand{padding:10px 10px 16px;border-bottom:1px solid var(--bd);margin-bottom:8px}
/* floating bottom nav */
.bottom{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));padding:6px 4px;border:0;border-radius:24px;box-shadow:0 8px 28px rgba(11,47,120,.22)}
.bottom a{padding:6px 0;border-radius:18px}.bottom a.on{color:var(--ac)}.bottom a.on i{transform:translateY(-1px) scale(1.12)}
@media(min-width:900px){body{padding-bottom:20px}#drawer{width:240px}}
/* hero & tiles */
.hero{background:linear-gradient(135deg,#0b2f78,#1b52c4);color:#fff;border-radius:22px;padding:20px;margin-bottom:14px;position:relative;overflow:hidden;box-shadow:0 10px 26px rgba(11,47,120,.3)}
.hero:before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,106,0,.28)}
.hero:after{content:"";position:absolute;right:30px;bottom:-60px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.08)}
.hero h2{margin:0 0 4px;font-size:23px;position:relative;z-index:1}.hero p{margin:0 0 14px;opacity:.88;position:relative;z-index:1}.hero .btn{position:relative;z-index:1}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.tile{display:block;border-radius:var(--r);padding:14px 16px;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.tile i{display:block;font-style:normal;font-size:26px;margin-bottom:2px}.tile b{display:block;font-size:28px;line-height:1.1}.tile small{display:block;opacity:.92;font-size:13px}
.tile.t1{background:linear-gradient(135deg,#2a7bff,#0b4bc4)}.tile.t2{background:linear-gradient(135deg,#ffa01f,#ff5a00)}.tile.t3{background:linear-gradient(135deg,#1fc27a,#0b8a4f)}.tile.t4{background:linear-gradient(135deg,#8b5cff,#5a2ed6)}
@media(min-width:700px){.tiles.four{grid-template-columns:repeat(4,1fr)}}
.tiles.four{grid-template-columns:1fr 1fr}@media(min-width:700px){.tiles.four{grid-template-columns:repeat(4,1fr)}}
.qa{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.qa a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:var(--r);background:var(--card);box-shadow:var(--sh);color:var(--tx);font-size:12px;font-weight:600;text-align:center}.qa i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(27,82,196,.1);font-style:normal;font-size:21px}
/* ride cards */
.rt{display:grid;gap:6px;font-weight:600;margin-bottom:6px}.rt div{display:flex;align-items:center;gap:10px}.rt .dot{flex:none;width:11px;height:11px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18)}.rt .dot.d{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.18)}
a.rc{display:block;color:var(--tx);padding:14px 16px}.rc .ft{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.chip{display:inline-block;padding:4px 12px;border-radius:99px;background:rgba(27,82,196,.1);color:var(--lk);font-weight:700;font-size:13px}.chip.o{background:#fff1e6;color:#d94f00}.chip.g{background:#dcfce7;color:#166534}
.timer{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 14px;border-radius:99px;background:#fee2e2;color:#b91c1c;font-weight:700;font-size:14px}.timer .cd{font-variant-numeric:tabular-nums}
.between{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.empty{text-align:center;padding:26px 10px;color:var(--mu)}
/* bids */
.bid{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--bg);margin-bottom:8px}.bid.low{background:#e8f8ee;outline:2px solid rgba(34,197,94,.45)}
@media(prefers-color-scheme:dark){.bid.low{background:#10301f}.chip.o{background:#3a2412;color:#ffb27a}.chip.g{background:#12301f;color:#86efac}.timer{background:#3b1518;color:#fca5a5}}
.av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#0b2f78,#ff6a00);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px;flex:none}
.bid .nm{font-weight:700}.bid .px{margin-left:auto;text-align:right;font-size:20px;font-weight:800;white-space:nowrap}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 9px;border-radius:99px;background:#16a34a;color:#fff}
.drv{display:flex;align-items:center;gap:12px;margin:6px 0 10px}.drv .acts{margin-left:auto;display:flex;gap:8px}
.rbtn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#1b6df0;color:#fff;font-size:20px;box-shadow:0 4px 10px rgba(0,0,0,.18)}.rbtn.wa{background:#16a34a}
/* stepper */
.steps{display:flex;position:relative;margin:2px 0 16px}.steps:before{content:"";position:absolute;left:12%;right:12%;top:13px;height:3px;background:var(--bd)}
.steps div{position:relative;flex:1;text-align:center;font-size:11px;color:var(--mu)}.steps i{display:grid;place-items:center;width:28px;height:28px;margin:0 auto 4px;border-radius:50%;background:var(--bd);color:#fff;font-style:normal;font-size:13px;font-weight:700;position:relative;z-index:1}
.steps .on{color:var(--tx);font-weight:600}.steps .on i{background:#16a34a}.steps .cur i{background:var(--ac);box-shadow:0 0 0 5px rgba(255,106,0,.2)}
/* vehicle chips */
.vchips{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 14px}.vchips label{margin:0;position:relative}.vchips input{position:absolute;opacity:0;width:0;height:0}
.vchips span{display:block;text-align:center;padding:10px 4px;border-radius:14px;background:var(--card);border:2px solid var(--bd);font-size:12px;font-weight:600;color:var(--tx)}.vchips span i{display:block;font-style:normal;font-size:24px}
.vchips input:checked+span{border-color:var(--pr2);background:rgba(27,82,196,.1);color:var(--lk)}
/* auth */
body.login{background:linear-gradient(180deg,#fff 0,#eaf1ff 45%,#0b2f78 100%);background-attachment:fixed}
@media(prefers-color-scheme:dark){body.login{background:linear-gradient(180deg,#0b1220,#0b2f78)}}
.loginbox{border-radius:24px;padding:22px;box-shadow:0 12px 40px rgba(11,47,120,.25)}
/* splash */
#splash{position:fixed;inset:0;z-index:999;display:flex;flex-direction:column;background:linear-gradient(#fff 0,#eef4ff 56%,#0b2f78 56%);animation:splo .45s ease 1.5s forwards}
#splash .spt{height:56%;display:grid;place-items:center}#splash .spt img{width:min(78vw,360px);animation:splz 1s ease both}
#splash .spb{height:44%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center}
#splash h2{margin:0 0 14px;font-size:26px;line-height:1.25}#splash p{margin:0 0 10px;opacity:.85;font-size:14px}
#splash .ld{width:150px;height:4px;border-radius:9px;background:rgba(255,255,255,.25);overflow:hidden}#splash .ld i{display:block;height:100%;width:40%;border-radius:9px;background:#ff8a00;animation:spld 1s ease-in-out infinite}
@keyframes splo{to{opacity:0;visibility:hidden}}@keyframes splz{from{opacity:0;transform:scale(.9)}}@keyframes spld{0%{margin-left:-40%}100%{margin-left:100%}}

/* ===== desktop (>=900px): sidebar layout, centered content ===== */
@media(min-width:900px){
 body{padding-bottom:0}
 #drawer{transform:none;width:240px}
 .top{margin-left:240px;border-radius:0;box-shadow:0 2px 12px rgba(11,47,120,.2);padding:12px 28px;padding-top:12px}
 .top .btn.sm{padding:8px 14px}
 main{margin-left:240px;max-width:none;padding:24px max(28px,calc((100vw - 240px - 1080px)/2))}
 .hero{padding:28px 32px}.hero h2{font-size:28px}
 .tiles{grid-template-columns:repeat(2,minmax(0,260px))}.tiles.four{grid-template-columns:repeat(4,1fr)}
 .tile{padding:18px 20px}.tile b{font-size:32px}
 .qa{grid-template-columns:repeat(4,minmax(0,220px))}
 .vchips{grid-template-columns:repeat(6,1fr)}
 .tabs{max-width:520px}
 a.rc{transition:box-shadow .15s,transform .15s}a.rc:hover{box-shadow:0 6px 22px rgba(11,47,120,.16);transform:translateY(-1px)}
 .card{padding:18px 20px}
 .tw table th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--mu)}
 .btn.block{max-width:420px}
 .map{height:420px}
 body.login{padding:14px}.loginbox{max-width:420px}
 #splash .spt img{width:380px}
}

/* ===== Auth screens (login / register) ===== */
body.login{--lbg:#fff;display:block;min-height:100vh;min-height:100dvh;position:relative;overflow-x:hidden;padding:0;background:var(--lbg)}
@media(prefers-color-scheme:dark){body.login{--lbg:#0b1220;background:var(--lbg)}}
body.login:before{content:"";position:absolute;left:0;right:0;top:0;height:150px;background:linear-gradient(135deg,#0b2f78,#1b52c4);z-index:0}
body.login:after{content:"";position:absolute;left:0;right:0;top:78px;height:140px;background:var(--lbg);border-radius:50% 50% 0 0/100% 100% 0 0;box-shadow:0 -9px 0 rgba(120,165,255,.4);z-index:0}
.loginbox{position:relative;z-index:1;width:100%;max-width:440px;margin:0 auto;padding:70px 22px 34px;background:none;box-shadow:none;border-radius:0}
.loginbox .logo{max-width:230px;margin:0 auto 14px}
.ah{margin:6px 0 2px;text-align:center;font-size:27px;line-height:1.2;color:#0b2f78}.as{margin:0 0 20px;text-align:center;color:var(--mu);font-size:16px}
@media(prefers-color-scheme:dark){.ah{color:#e8edf2}}
.loginbox>.flash{margin-bottom:14px}
.af{display:flex;align-items:center;gap:12px;height:56px;margin:0 0 14px;padding:0 16px;background:#f4f7fc;border:1.5px solid var(--bd);border-radius:16px;color:var(--pr);transition:border-color .15s,box-shadow .15s}
@media(prefers-color-scheme:dark){.af{background:var(--in);color:var(--lk)}}
.af:focus-within{border-color:var(--pr2);box-shadow:0 0 0 3px rgba(27,82,196,.15)}
.af svg{width:21px;height:21px;flex:none}
.af input{flex:1;min-width:0;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none!important;color:var(--tx);font-size:16px}
.af input::placeholder{color:#8896a8;opacity:1}
.af .eye{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-right:-6px;padding:0;border:0;border-radius:50%;background:none;color:#5b6b80;cursor:pointer}.af .eye.on{color:var(--pr2)}
.arow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 2px 16px;font-size:14px}
.arow a{font-weight:600;color:#1b6df0}
label.rm{display:flex;align-items:center;gap:8px;margin:0;padding:0;color:var(--tx);font-size:14px}
label.rm input{width:18px;height:18px;margin:0;accent-color:var(--pr2)}
.btn.big2{height:56px;padding:0;font-size:18px;border-radius:16px;margin:4px 0 14px}
.alt{margin:8px 0;text-align:center;font-size:15px;color:var(--tx)}.alt a{font-weight:700;color:#1b6df0}.alt.sm2{font-size:13px}.alt.sm2 a{font-weight:600}
.hint{margin:-4px 4px 12px;font-size:12px;color:var(--mu)}
.seg2{display:flex;gap:10px;margin:0 0 18px}.seg2 a{flex:1;text-align:center;padding:13px 8px;border-radius:16px;background:#e9eef7;color:var(--tx);font-weight:700}
@media(prefers-color-scheme:dark){.seg2 a{background:var(--in)}}
.seg2 a.on{background:linear-gradient(135deg,#0b2f78,#1b52c4);color:#fff;box-shadow:0 5px 14px rgba(11,47,120,.3)}
.back{position:absolute;left:14px;top:14px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;background:rgba(255,255,255,.16)}.back svg{width:22px;height:22px}
.reg{padding-top:58px}.reg .row{display:block}
body.login>.lang{z-index:5;color:#fff;border-color:#fff9;background:rgba(255,255,255,.12)}
.login>.lang{color:#fff}
@media(min-width:700px){
 body.login{display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#eaf1ff,#cfdcff)}
 body.login:before,body.login:after{display:none}
 .loginbox{background:var(--card);border-radius:28px;padding:34px 34px 28px;box-shadow:0 16px 48px rgba(11,47,120,.22);max-width:440px}
 .back{background:rgba(11,47,120,.08);color:var(--pr)}
 .reg{padding-top:44px}
 body.login>.lang{color:var(--lk);border-color:var(--bd);background:var(--card)}
}
@media(min-width:700px) and (prefers-color-scheme:dark){body.login{background:linear-gradient(180deg,#0b1220,#0b2f78)}}

/* ===== Install-app popup ===== */
#pwa{position:fixed;inset:0;z-index:900}
.pwa-b{position:absolute;inset:0;background:rgba(5,15,40,.45);animation:pwaf .25s ease}
.pwa-s{position:absolute;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:460px;margin:0 auto;display:grid;grid-template-columns:64px 1fr;gap:6px 14px;align-items:center;padding:18px;background:var(--card);color:var(--tx);border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.35);animation:pwau .35s cubic-bezier(.2,.9,.3,1)}
.pwa-s img{width:64px;height:64px;border-radius:16px;box-shadow:0 4px 12px rgba(11,47,120,.25)}
.pwa-t b{display:block;font-size:17px;line-height:1.3}.pwa-t p{margin:4px 0 0;font-size:13.5px;color:var(--mu);line-height:1.45}.pwa-t p b{display:inline;font-size:inherit;color:var(--tx)}
.pwa-a{grid-column:1/-1;display:flex;gap:10px;margin-top:8px}.pwa-a .btn{flex:1;margin:0;padding:13px 10px;font-size:15px;text-align:center}
@keyframes pwau{from{transform:translateY(40px);opacity:0}}@keyframes pwaf{from{opacity:0}}
@media(min-width:900px){#pwa{display:none}}

/* ===== v2.3: home options, car-type list, recent cards, support chat ===== */
.opts2{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;margin-bottom:18px;border-radius:26px;background:linear-gradient(160deg,#0b1424,#111d35);box-shadow:0 12px 30px rgba(5,15,40,.35)}
.opt2{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:22px 10px 18px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;text-align:center;transition:background .15s,transform .15s}
.opt2:active{transform:scale(.98)}.opt2:hover{background:rgba(255,255,255,.1)}
.opt2 .oi{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;font-size:30px;margin-bottom:8px}
.opt2 .oi.g{background:rgba(34,197,94,.2)}.opt2 .oi.b{background:rgba(59,130,246,.24)}
.opt2 b{font-size:17px}.opt2 small{color:#9fb0c8;font-size:12.5px;line-height:1.35;padding:0 12px}
.opt2 .ch{position:absolute;right:12px;top:50%;margin-top:-16px;font-style:normal;font-size:26px;line-height:1;color:#fff}
.sechd{display:flex;justify-content:space-between;align-items:center;margin:4px 4px 10px}.sechd h3{margin:0;font-size:18px}.sechd a{font-weight:700;color:#1b6df0}
a.rc.ic{display:flex;gap:14px;align-items:flex-start}.rci{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(27,82,196,.1);font-size:24px}.rcb{flex:1;min-width:0}
.vlist{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);margin:4px 0 14px;overflow:hidden}
.vlist label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:17px 18px;border-bottom:1px solid var(--bd);color:var(--tx);font-size:15px;cursor:pointer;position:relative}
.vlist label:last-child{border-bottom:0}
.vlist input{position:absolute;opacity:0;width:0;height:0;margin:0;padding:0;border:0}
.vlist .rd{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #98a4b5;position:relative}
.vlist input:checked+.rd{border-color:var(--pr2)}.vlist input:checked+.rd:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--pr2)}
.vlist label:has(input:checked){background:rgba(27,82,196,.07)}
.vlist input:focus-visible+.rd{box-shadow:0 0 0 3px rgba(27,82,196,.28)}
.chat{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.msg{max-width:84%;padding:10px 14px;border-radius:18px;background:var(--card);box-shadow:var(--sh);overflow-wrap:anywhere}
.msg small{display:block;margin-top:4px;font-size:11px;opacity:.7}
.msg .who{display:block;font-size:11px;font-weight:700;color:var(--lk);margin-bottom:2px}
.msg.me{align-self:flex-end;background:linear-gradient(135deg,var(--pr),var(--pr2));color:#fff;border-bottom-right-radius:6px}.msg.me .who{color:#cfe0ff}
.msg.them{align-self:flex-start;border-bottom-left-radius:6px}
.chatf{display:flex;gap:8px;align-items:flex-end}.chatf textarea{margin:0;flex:1;resize:vertical}.chatf .btn{flex:none;margin:0}
@media(min-width:900px){.opts2{grid-template-columns:repeat(2,minmax(0,300px))}.vlist{max-width:520px}}
