@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/poppins-400.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/poppins-500.woff) format("woff")}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/poppins-700.woff) format("woff")}:root{--bg: #ffffff;--surface: #f5f6f8;--surface2: #eceef1;--line: #e4e6eb;--text: #111318;--dim: #6b7280;--gold: #fdbb11;--gold-l: #ffd24a;--gold-d: #e69b12;--amber: #b87400;--pale: #fff8e1;--ok: #16a34a;--bad: #dc2626;font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}h2{margin:18px 0 8px;font-size:22px}h3{margin:0 0 6px;font-size:18px}p{line-height:1.5;margin:0 0 10px}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit}.app{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);background:var(--bg)}.page{padding:16px 16px 100px}.center-screen{max-width:420px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.dim{color:var(--dim)}.small{font-size:12.5px;margin:0}.mt{margin-top:12px}.grow{flex:1;min-width:0}.error{color:var(--bad);font-size:13.5px}.hint{color:var(--dim);font-size:13px}.label{font-size:13px;color:var(--dim);margin:14px 0 6px}.logo{font-weight:500;color:var(--amber);letter-spacing:.3px}.logo b{color:var(--text);font-weight:700}.logo-wrap{display:inline-flex;align-items:center;gap:12px}.logo-img{display:block;height:auto;max-width:100%;object-fit:contain}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold-d);animation:spin 1s linear infinite}.spinner.sm{width:22px;height:22px;border-width:3px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 18px;border:0;border-radius:14px;background:linear-gradient(135deg,#ffd24a,#fdbb11 55%,#e69b12);color:#111318;font-weight:700;font-size:15px;cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-dark{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;border-radius:14px;background:#111318;color:#fff;font-weight:600;font-size:14.5px;cursor:pointer}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);font-weight:500;font-size:15px;cursor:pointer}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%;margin-top:10px}.small-btn{padding:9px 16px;font-size:14px}.back{background:none;border:0;color:var(--dim);padding:0 0 12px;font-size:14px;cursor:pointer}.icon-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--text);display:grid;place-items:center;flex:none}.field{display:block;margin:14px 0 4px}.field span{display:block;font-size:13px;color:var(--dim);margin-bottom:6px}.field input{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;font-family:inherit}.field input:focus{outline:2px solid var(--gold);outline-offset:1px}.field select{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;font-family:inherit}.field select:focus{outline:2px solid var(--gold);outline-offset:1px}.field input.code{text-align:center;font-size:26px;letter-spacing:8px}.seg{display:flex;gap:6px;background:var(--surface);padding:4px;border-radius:14px;margin-top:18px}.seg button{flex:1;padding:11px;border:0;border-radius:11px;background:transparent;color:var(--dim);font-weight:600;font-size:14px;cursor:pointer}.seg button.on{background:var(--gold);color:#111318}.card{background:var(--surface);border-radius:16px;padding:16px;margin-bottom:14px}.welcome{justify-content:space-between;padding:40px 20px 28px;min-height:100vh}.welcome-top{margin-top:9vh;text-align:center}.welcome-top .logo-wrap{justify-content:center}.tagline{font-size:26px;font-weight:700;margin:14px 0 8px}.auth .logo-wrap{margin-bottom:4px}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ffd24a,#e69b12);color:#111318;font-weight:700;display:grid;place-items:center;flex:none}.banner{background:linear-gradient(135deg,#ffd24a,#fdbb11 60%,#f2a20d);border-radius:20px;padding:20px;margin-bottom:14px;color:#111318}.banner h2{margin:0 0 6px}.banner p{color:#111318c7}.active-ride{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111318;color:#fff;border-radius:16px;padding:14px 16px;margin-bottom:14px}.active-ride p{color:#ffffffb3;margin:0}.active-ride .btn-dark{background:var(--gold);color:#111318}.wallet{display:flex;align-items:center;justify-content:space-between;background:var(--pale);border:1px solid #f7e3a3;border-radius:16px;padding:14px 16px;margin-bottom:18px}.amount{font-size:22px;color:var(--text)}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 8px}.tile{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12.5px;text-align:center}.tile-ic{width:60px;height:60px;border-radius:50%;background:var(--surface);display:grid;place-items:center;color:#c27f00}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:#fff;border-top:1px solid var(--line);padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:50}.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11.5px;color:var(--dim)}.bottom-nav a.on{color:var(--amber);font-weight:500}.book{position:relative;flex:1;height:100vh;height:100dvh;overflow:hidden;background:var(--surface)}.mapbox{position:absolute;inset:0}.fab{position:absolute;top:calc(12px + env(safe-area-inset-top));left:12px;z-index:1100;width:42px;height:42px;border-radius:50%;border:0;background:#fff;color:var(--text);display:grid;place-items:center;box-shadow:0 2px 10px #00000040;cursor:pointer}.sheet-b{position:absolute;left:0;right:0;bottom:0;z-index:1100;max-height:72%;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 24px #00000024;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.place-row{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;margin:8px 0;border:0;border-radius:14px;background:var(--surface);text-align:left;font-size:14px;cursor:pointer}.place-row.static{cursor:default;align-items:flex-start}.place-row small{display:block;color:var(--dim);font-size:11.5px}.place-row .link{color:var(--amber);font-size:13px;font-weight:500}.dot{width:12px;height:12px;border-radius:50%;flex:none;margin-top:5px}.dot-pick{background:#111318}.dot-drop{background:#e11d48}.place-row:not(.static) .dot{margin-top:0}.ps{position:relative}.ps-box{display:flex;align-items:center;gap:8px;color:var(--dim)}.ps-box input{flex:1;border:0;background:transparent;font-size:15px;font-family:inherit;color:var(--text);padding:4px 0;outline:none;min-width:0}.ps-list{margin-top:6px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001f;overflow:hidden}.ps-list button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:#fff;padding:10px 12px;cursor:pointer}.ps-list button:last-child{border-bottom:0}.ps-list b{display:block;font-size:14px;font-weight:500}.ps-list span{display:block;font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.veh{display:flex;align-items:center;gap:12px;width:100%;padding:12px;margin-bottom:8px;border:1.5px solid transparent;border-radius:14px;background:var(--surface);text-align:left;cursor:pointer}.veh.sel{background:var(--pale);border-color:var(--gold)}.veh-ic{width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center;color:#c27f00;flex:none}.veh b{display:block;font-size:15px}.veh small{display:block;font-size:12px;color:var(--dim)}.price{font-weight:700;font-size:15px}.track-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.pilot-card{display:flex;align-items:center;gap:12px;margin:8px 0;padding:12px}.star-line{display:flex;align-items:center;gap:4px;color:var(--amber)}.trip{margin:8px 0}.trip>div{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:6px}.trip .dot{margin-top:0}.fare{font-size:24px;font-weight:700;margin:0 0 8px}.rate{text-align:center;margin:8px 0}.stars{display:flex;justify-content:center;gap:4px}.stars button{background:none;border:0;color:var(--gold-d);padding:2px;cursor:pointer}.stars button:disabled{cursor:default}.act{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px;margin-bottom:10px;border:0;border-radius:16px;background:var(--surface);cursor:pointer}.act b{font-size:15px}.badge{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:20px;font-size:11.5px;font-weight:500}.badge.ok{background:#dcfce7;color:#166534}.badge.bad{background:#fee2e2;color:#991b1b}.badge.wait{background:#fff1c2;color:#7a5200}.mk{width:22px;height:22px;border-radius:50%;border:4px solid #fff;box-shadow:0 1px 6px #0006}.mk-pickup{background:#111318}.mk-drop{background:#e11d48}.mk-pilot{width:14px;height:14px;margin:4px;border-width:2px;background:var(--gold)}.mk-driver{width:38px;height:38px;border-radius:50%;background:#fff;border:3px solid var(--gold);display:grid;place-items:center;font-size:20px;box-shadow:0 2px 8px #00000059}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px}.sw{width:54px;height:30px;border-radius:16px;background:#cfd3da;border:0;position:relative;cursor:pointer;flex:none;transition:background .2s}.sw:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000004d;transition:left .2s}.sw.on{background:var(--ok)}.sw.on:after{left:27px}.online-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border-radius:16px;padding:14px 16px;margin-bottom:14px}.online-card.on{background:#e8f8ee}.online-card p{color:var(--dim);margin:0}.status-pill{padding:4px 12px;border-radius:20px;background:var(--surface2);font-size:12px;font-weight:500;color:var(--dim)}.status-pill.on{background:#dcfce7;color:#166534}.sub-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:16px;padding:14px 16px;margin-bottom:14px}.sub-card p{margin:0}.sub-card.ok{background:#e8f8ee}.sub-card.bad{background:#fff1c2}.sub-card .link{color:var(--amber);font-size:13px;font-weight:500}.ride-card{background:var(--surface);border-radius:16px;padding:14px;margin-bottom:12px}.ride-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.ride-foot .fare{margin:0;font-size:22px}.stat-grid{display:grid;grid-template-columns:1fr;gap:0}.btn-row{display:flex;gap:8px;margin-bottom:4px}.btn-row .btn-ghost{flex:1}.file{display:block;margin:14px 0 4px}.file>span{display:block;font-size:13px;color:var(--dim);margin-bottom:6px}.file input{width:100%;padding:10px;border:1px dashed #c9ced6;border-radius:12px;background:var(--surface);font-family:inherit;font-size:14px}.file small{display:block;color:var(--ok);margin-top:4px}.back{display:inline-flex;align-items:center;gap:4px}.ok{color:var(--ok)}.avatar-img{border-radius:50%;object-fit:cover;flex:none;background:var(--surface2)}.imgup{display:flex;align-items:center;gap:14px;margin-bottom:10px}.imgup-prev{width:76px;height:76px;border-radius:14px;background:var(--surface2);display:grid;place-items:center;overflow:hidden;color:var(--dim);flex:none}.imgup-prev.round{border-radius:50%}.imgup-prev.logo{background:#fff;border:1px solid var(--line)}.imgup-prev.logo img{object-fit:contain}.imgup-prev img{width:100%;height:100%;object-fit:cover}.veh-thumb{width:64px;height:48px;object-fit:cover;border-radius:10px;flex:none}.plate{display:inline-block;padding:2px 8px;border:1.5px solid #111318;border-radius:6px;background:#fff;font-weight:700;font-size:12px;letter-spacing:.6px;margin-top:4px}.notice{display:block;background:#fff1c2;color:#7a5200;border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:13.5px;line-height:1.45}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.pay-row:last-child{border-bottom:0}.pay-row small{color:var(--dim)}.link{color:var(--amber);font-size:13px;font-weight:500}.admin{max-width:1180px;margin:0 auto;padding:16px 16px 60px}.admin-head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tabs-h{display:flex;gap:6px;overflow-x:auto;background:var(--surface);padding:4px;border-radius:14px;margin-bottom:14px}.tabs-h button{flex:none;padding:10px 16px;border:0;border-radius:11px;background:transparent;color:var(--dim);font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}.tabs-h button.on{background:var(--gold);color:#111318}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}.stats .card{margin:0}.admin-map{position:relative;height:440px;border-radius:16px;overflow:hidden;margin-bottom:8px;background:var(--surface)}.admin-map.small{height:240px}.admin-map .mapbox{position:absolute;inset:0}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.row-card{display:flex;align-items:center;gap:12px}.row-card .btn-row{flex-wrap:wrap;justify-content:flex-end}.ride-head{display:flex;align-items:center;gap:12px;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}@media (max-width: 820px){.grid-2{grid-template-columns:1fr}.admin-map{height:320px}}.invoice-page{max-width:820px;margin:0 auto;padding:16px}.inv-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}.invoice{background:#fff;border:1px solid var(--line);border-radius:12px;padding:28px;color:#111318}.inv-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px;border-bottom:2px solid #111318}.inv-logo{max-height:72px;max-width:200px;object-fit:contain}.inv-meta{text-align:right}.inv-meta h1{margin:0 0 4px;font-size:26px;letter-spacing:1.5px;text-transform:uppercase}.inv-meta p{margin:0;font-size:13.5px;color:var(--dim)}.inv-parties{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:22px 0}.inv-parties small{display:block;margin-bottom:4px;color:var(--dim);font-size:11.5px;letter-spacing:.8px;text-transform:uppercase}.inv-parties b{display:block;font-size:15px;margin-bottom:2px}.inv-parties p{margin:0;font-size:13.5px;color:#444a55}.inv-table{width:100%;border-collapse:collapse}.inv-table th{text-align:left;padding:10px 8px;background:var(--surface);font-size:12.5px;letter-spacing:.5px;text-transform:uppercase;color:var(--dim)}.inv-table th:last-child,.inv-table td:last-child{text-align:right;white-space:nowrap}.inv-table td{padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:top}.inv-table td p{margin:4px 0 0;font-size:13px;color:var(--dim)}.inv-total{display:flex;justify-content:flex-end;align-items:baseline;gap:28px;margin-top:12px;padding:12px 8px;border-top:2px solid #111318;font-size:20px}.inv-pay{display:flex;align-items:center;gap:14px;margin:8px 0 0;font-size:14px}.inv-stamp{display:inline-block;padding:3px 12px;border:2px solid;border-radius:8px;font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;transform:rotate(-4deg)}.inv-stamp.paid{color:var(--ok);border-color:var(--ok)}.inv-stamp.due{color:#b45309;border-color:#b45309}.inv-foot{margin:22px 0 0;font-size:12px;color:var(--dim)}@media (max-width: 560px){.invoice{padding:18px}.inv-parties{grid-template-columns:1fr;gap:14px}.inv-head{flex-direction:column}.inv-meta{text-align:left}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.no-print,.bottom-nav{display:none!important}.invoice-page{max-width:none;padding:0}.invoice{border:0;border-radius:0;padding:0}}.c{text-align:center}.field textarea{width:100%;padding:14px;border-radius:12px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:16px;font-family:inherit;resize:vertical}.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px}.check{display:flex;align-items:flex-start;gap:10px;margin:8px 0 12px;font-size:14px;cursor:pointer}.check input{width:20px;height:20px;margin-top:2px;accent-color:var(--gold-d);flex:none}.search-bar{display:flex;align-items:center;gap:8px;padding:11px 14px;background:var(--surface);border-radius:14px;color:var(--dim);margin-bottom:14px}.search-bar input{flex:1;border:0;background:transparent;font-size:15px;font-family:inherit;color:var(--text);outline:none;min-width:0}.pcard{display:block;width:100%;padding:0;margin-bottom:14px;border:0;border-radius:18px;background:#fff;box-shadow:0 2px 12px #00000017;overflow:hidden;text-align:left;cursor:pointer}.pcard.closed{opacity:.7}.pcard-cover{position:relative;height:130px;background:linear-gradient(135deg,#ffd24a,#e69b12) center/cover no-repeat}.pcard-cover .badge{position:absolute;top:10px;right:10px;margin:0}.pcard-body{display:flex;align-items:center;gap:12px;padding:12px 14px}.pcard-body p{margin:0}.shop-cover{position:relative;height:190px;margin:0 -16px;background:linear-gradient(135deg,#ffd24a,#e69b12) center/cover no-repeat}.shop-head{display:flex;align-items:center;gap:12px;margin:-30px 0 10px;position:relative}.shop-head .avatar-img,.shop-head .avatar{border:3px solid #fff;box-shadow:0 2px 8px #0003}.shop-head h2{margin-top:30px!important}.shop-head .badge{margin-top:30px}.item-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.item-row p{margin:2px 0 0}.item-row .price{font-weight:700;margin-top:4px}.veh-thumb.ph{background:var(--surface2)}.veh-thumb.lg{width:78px;height:78px}.stepper{display:flex;align-items:center;gap:10px;flex:none}.stepper button{width:32px;height:32px;border-radius:50%;border:0;background:var(--gold);color:#111318;display:grid;place-items:center;cursor:pointer}.cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:0;width:100%;max-width:480px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4px 18px #0000001f;z-index:60}.overlay{position:fixed;inset:0;z-index:1200;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.overlay .panel{width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:22px 22px 0 0;padding:18px 16px calc(16px + env(safe-area-inset-bottom))}.lines>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px}.lines>div:last-child{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.timeline{list-style:none;margin:14px 0;padding:0}.timeline li{position:relative;padding:0 0 18px 30px;color:var(--dim);font-size:14.5px}.timeline li:before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:#fff}.timeline li:after{content:"";position:absolute;left:7px;top:20px;bottom:2px;width:2px;background:var(--line)}.timeline li:last-child:after{display:none}.timeline li.done{color:var(--text)}.timeline li.done:before{background:var(--ok);border-color:var(--ok)}.timeline li.done:after{background:var(--ok)}.timeline li.now{color:var(--text);font-weight:700}.timeline li.now:before{background:var(--gold);border-color:var(--gold-d);box-shadow:0 0 0 4px #fdbb114d}@keyframes tc-rise{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes tc-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes tc-shine{0%{transform:translate(-120%) skew(-18deg)}60%,to{transform:translate(260%) skew(-18deg)}}@keyframes tc-pulse{0%{box-shadow:0 0 #fdbb1199}to{box-shadow:0 0 0 12px #fdbb1100}}@keyframes tc-fade{0%{opacity:0}to{opacity:1}}.page .topbar .dim{font-style:italic;letter-spacing:.3px}.page .topbar b{font-size:19px;font-weight:700;letter-spacing:-.2px}.page .banner h2{font-weight:700;font-size:22px;letter-spacing:-.3px}.page .banner h2 em{font-style:italic;font-weight:500}.page .banner p{font-style:italic}.page .banner{position:relative;overflow:hidden;box-shadow:0 10px 24px -10px #e69b128c;animation:tc-rise .6s both}.page .banner:after{content:"";position:absolute;top:0;bottom:0;width:40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);animation:tc-shine 4.5s ease-in-out infinite;pointer-events:none}.page .banner .btn-dark{transition:transform .2s}.page .banner .btn-dark:active{transform:scale(.95)}.page .sponsor{box-shadow:0 10px 24px -12px #1113188c;animation:tc-fade .6s both}.page .sponsor h3{font-weight:700;font-style:italic}.page .active-ride{animation:tc-rise .5s both}.page .active-ride .btn-dark{animation:tc-pulse 1.6s infinite}.page .wallet{background:linear-gradient(135deg,#1b1d24,#2c2f3a);border:0;color:#fff;box-shadow:0 12px 26px -14px #111318cc;animation:tc-rise .6s .1s both}.page .wallet .dim{color:#ffffffa6;font-style:italic}.page .wallet .amount{color:var(--gold);font-size:24px;font-weight:700;letter-spacing:.3px}.page .wallet .btn-ghost{background:var(--gold);color:#111318;border:0;font-weight:700}.page .grid{gap:18px 6px}.page .tile{font-weight:500;font-size:12.5px;letter-spacing:.1px;animation:tc-rise .5s both;animation-delay:calc(var(--i, 0) * 55ms + .2s);transition:transform .2s;-webkit-tap-highlight-color:transparent}.page .tile:active{transform:scale(.92)}.page .tile-ic{width:66px;height:66px;border-radius:22px;background:linear-gradient(145deg,#fff,#fff1c4);box-shadow:0 8px 16px -8px #e69b12a6,inset 0 0 0 1px #fdbb1159;animation:tc-float 3.4s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .18s)}.page .tile-ic svg{width:46px;height:46px;filter:drop-shadow(0 3px 2px rgba(0,0,0,.18))}.app .bottom-nav{background:#ffffffeb;backdrop-filter:blur(12px);border-top:0;border-radius:22px 22px 0 0;box-shadow:0 -8px 24px -12px #11131840}.app .bottom-nav a{transition:transform .2s,color .2s;position:relative}.app .bottom-nav a:active{transform:scale(.9)}.app .bottom-nav a.on:before{content:"";position:absolute;top:-8px;width:26px;height:4px;border-radius:4px;background:var(--gold)}.app .bottom-nav a.on svg{animation:tc-float 2.4s ease-in-out infinite}.btn-dark,.btn-gold{transition:transform .15s,box-shadow .2s}.btn-dark:active,.btn-gold:active{transform:scale(.96)}.card{transition:box-shadow .2s}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.page .tile-ic.photo{width:72px;height:72px;padding:0;overflow:hidden;background:#fff;box-shadow:0 10px 18px -8px #1113188c,0 0 0 2px #fff,0 0 0 3.5px #fdbb11b3}.page .tile-ic.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}.page .tile:active .tile-ic.photo img{transform:scale(1.12)}@media (hover: hover){.page .tile:hover .tile-ic.photo img{transform:scale(1.1)}}.veh-ic.photo{width:58px;height:58px;border-radius:16px;overflow:hidden;padding:0;box-shadow:0 6px 14px -6px #11131880,0 0 0 2px #fff}.veh-ic.photo img{width:100%;height:100%;object-fit:cover;display:block}@keyframes tg-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes tg-fade{0%{opacity:0}to{opacity:1}}@keyframes tg-pop{0%{transform:scale(.9);opacity:0}70%{transform:scale(1.03)}to{transform:none;opacity:1}}@keyframes tg-live{0%,to{opacity:1}50%{opacity:.45}}@keyframes tg-spin{to{transform:rotate(360deg)}}h1,h2,h3{letter-spacing:-.25px;font-weight:700}h2{position:relative}.dim{font-style:italic}.small.dim,.hint{letter-spacing:.1px}.price,.fare,.amount{font-weight:700;letter-spacing:.2px;font-variant-numeric:tabular-nums}.label{font-weight:500;letter-spacing:.6px;text-transform:uppercase;font-size:11.5px}.page,.admin{animation:tg-fade .35s both}.page>:not(.fab):not(.cart-bar):not(.overlay):not(.sheet-b),.admin>:not(.overlay){animation:tg-up .45s backwards}.page>:nth-child(2),.admin>:nth-child(2){animation-delay:.04s}.page>:nth-child(3),.admin>:nth-child(3){animation-delay:.08s}.page>:nth-child(4),.admin>:nth-child(4){animation-delay:.12s}.page>:nth-child(5),.admin>:nth-child(5){animation-delay:.16s}.page>:nth-child(n+6),.admin>:nth-child(n+6){animation-delay:.2s}.sheet-b{animation:tg-up .35s backwards}.overlay{animation:tg-fade .25s both}.card,.row-card,.ride-card,.pcard,.pilot-card,.sub-card,.online-card,.item-row,.trip{border-radius:18px;box-shadow:0 6px 18px -12px #11131859;transition:transform .2s,box-shadow .25s}a.row-card:active,a.pcard:active,a.ride-card:active,a.pilot-card:active,.item-row:active{transform:scale(.985)}@media (hover: hover){.pcard:hover,a.ride-card:hover,.row-card:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px #11131866}}.pcard-cover,.shop-cover{transition:transform .6s}.pcard:hover .pcard-cover{transform:scale(1.04)}.btn{box-shadow:0 10px 20px -10px #e69b12cc;font-weight:700;letter-spacing:.2px;transition:transform .15s,box-shadow .2s,filter .2s;position:relative;overflow:hidden}.btn:active:not(:disabled){transform:scale(.97);box-shadow:0 4px 10px -6px #e69b12cc}@media (hover: hover){.btn:hover:not(:disabled){filter:brightness(1.05)}}.btn-dark,.btn-ghost,.small-btn,.icon-btn,.fab,.seg button,.tabs-h button{transition:transform .15s,background .2s,color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent}.btn-dark:active,.btn-ghost:active,.small-btn:active,.icon-btn:active,.fab:active{transform:scale(.94)}.btn-ghost:hover{border-color:var(--gold)}.field input,.field select,.field textarea{transition:border-color .2s,box-shadow .2s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px #fdbb1140}.field span{font-weight:500;letter-spacing:.2px}.error,.ok{animation:tg-pop .3s both}.notice{border-left:4px solid var(--gold);animation:tg-up .4s backwards}.badge,.status-pill{font-weight:500;letter-spacing:.2px}.status-pill.on{position:relative;padding-left:22px}.status-pill.on:before{content:"";position:absolute;left:10px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#16a34a;animation:tg-live 1.6s infinite}.badge.ok:before{content:"●";margin-right:5px;font-size:8px;vertical-align:1px}.veh{transition:transform .2s,border-color .2s,box-shadow .25s}.veh:active{transform:scale(.97)}.veh.on,.veh.sel{box-shadow:0 10px 22px -12px #e69b12e6;animation:tg-pop .3s both}.veh-ic{transition:transform .3s}.veh:hover .veh-ic,.veh.on .veh-ic{transform:translateY(-2px) scale(1.06)}.avatar,.avatar-img{box-shadow:0 0 0 2px #fff,0 0 0 4px #fdbb11b3}.stars button,.star-line button{transition:transform .15s}.stars button:active,.star-line button:active{transform:scale(1.25)}.timeline .dot,.dot-pick{animation:tg-live 2s infinite}.spinner{animation:tg-spin .8s linear infinite}.fab{box-shadow:0 14px 26px -10px #e69b12e6}.welcome,.auth{animation:tg-fade .5s both}.welcome .logo-wrap,.welcome .logo-img,.auth .logo-img{animation:tg-pop .7s both}.tagline{font-style:italic;letter-spacing:.3px}.app .bottom-nav a.on span{font-weight:700}.admin-head{padding-bottom:10px;border-bottom:1px solid var(--line)}.tabs-h{box-shadow:inset 0 0 0 1px var(--line);scrollbar-width:none}.tabs-h::-webkit-scrollbar{display:none}.tabs-h button.on{box-shadow:0 6px 14px -8px #e69b12e6;animation:tg-pop .25s both}.stats .card{background:linear-gradient(145deg,#fff,#fff8e1);border:1px solid #f7e3a3}.stats .card b{font-size:24px;font-weight:700}.admin-map{box-shadow:0 12px 28px -16px #11131880}table{border-collapse:separate;border-spacing:0}tbody tr{transition:background .15s}tbody tr:hover{background:#fffaf0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
