
/* Layout: a phone-width app column centred on larger screens; sticky top bar, scrolling screen, bottom tab bar. */
:root{
  --bg:#EAF6EE; --app:#F4FAF6; --card:#FFFFFF; --fg:#0F2A1D; --muted:#5E7468; --line:#E2EEE6;
  --green:#119257; --green2:#1DB56F; --green-soft:#E6F7EE; --mint:#C6EFD8; --sun:#F2B705; --sun-soft:#FFF5D6; --red:#D64545; --red-soft:#FDE8E8; --hold:#A7B8AE;
  --shadow:0 8px 24px rgba(17,110,66,.08); --shadow-lg:0 14px 40px rgba(17,110,66,.14);
  --display:"Sora","Segoe UI",system-ui,sans-serif; --body:"Manrope",system-ui,-apple-system,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#06120C; --app:#0B1A12; --card:#112419; --fg:#E7F5ED; --muted:#8FAB9C; --line:#1D3428;
  --green:#34C98A; --green2:#5EE0A6; --green-soft:#123423; --mint:#1C4A33; --sun:#F5C93A; --sun-soft:#3A3115; --red:#F07070; --red-soft:#3D1B1B; --hold:#4D6457;
  --shadow:0 8px 24px rgba(0,0,0,.35); --shadow-lg:0 14px 40px rgba(0,0,0,.45); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#06120C; --app:#0B1A12; --card:#112419; --fg:#E7F5ED; --muted:#8FAB9C; --line:#1D3428;
  --green:#34C98A; --green2:#5EE0A6; --green-soft:#123423; --mint:#1C4A33; --sun:#F5C93A; --sun-soft:#3A3115; --red:#F07070; --red-soft:#3D1B1B; --hold:#4D6457;
  --shadow:0 8px 24px rgba(0,0,0,.35); --shadow-lg:0 14px 40px rgba(0,0,0,.45); color-scheme:dark}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:15px;line-height:1.45}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 13px;width:100%}
:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.num{font-variant-numeric:tabular-nums}
.app{max-width:480px;margin:0 auto;min-height:100vh;background:var(--app);display:flex;flex-direction:column;position:relative;box-shadow:0 0 0 1px var(--line)}
.bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--app);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;min-height:58px;
  padding:8px max(16px,env(safe-area-inset-right,0px)) 8px max(16px,env(safe-area-inset-left,0px))}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--app)}
.bar h1{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.3px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar h1 small{display:block;font-family:var(--body);font-size:12px;font-weight:600;color:var(--muted);letter-spacing:0}
.back{width:38px;height:38px;border-radius:50%;background:var(--card);border:1px solid var(--line);font-size:18px;flex:none}
.logo{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:-.5px;flex:1}
.logo i{width:30px;height:30px;border-radius:9px;background:var(--green);display:grid;place-items:center;font-style:normal;color:#fff;font-size:16px}
.logo b{color:var(--green)}
.livepill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green);background:var(--green-soft);padding:4px 10px;border-radius:999px}
.livepill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;animation:bl 1.6s infinite}
.livepill.off{color:var(--muted);background:var(--card)}.livepill.off::before{animation:none}
@keyframes bl{50%{opacity:.3}}
main{flex:1;padding:18px max(16px,env(safe-area-inset-right,0px)) 96px max(16px,env(safe-area-inset-left,0px))}
.tabs{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);background:var(--app);border-top:1px solid var(--line);display:flex;z-index:20;
  padding:6px max(10px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px))}
.tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;font-weight:700;color:var(--muted);padding:6px;border-radius:12px;position:relative}
.tabs button svg{width:22px;height:22px}
.tabs button.on{color:var(--green)}
.tabs .cnt{position:absolute;top:2px;right:calc(50% - 22px);background:var(--red);color:#fff;font-size:10px;border-radius:999px;padding:0 5px;min-width:16px}

h2{font-family:var(--display);font-weight:800;font-size:30px;line-height:1.08;letter-spacing:-.8px;text-wrap:balance}
.lead{color:var(--muted);margin-top:6px}
.lbl{display:block;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}
.route{position:relative;background:var(--card);border:1px solid var(--line);border-radius:18px;margin-top:20px}
.route label{display:block;padding:10px 60px 10px 16px}
.route label + label{border-top:1px solid var(--line)}
.route small{display:block;font-size:12px;font-weight:700;color:var(--muted)}
.route select{border:0;padding:2px 0;font-size:18px;font-weight:700;background:transparent;appearance:none;-webkit-appearance:none}
.swap{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;font-size:18px;font-weight:800}
.dates{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.dates button{flex:none;min-width:60px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:8px 6px;text-align:center}
.dates button small{display:block;font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase}
.dates button b{font-size:19px}
.dates button.on{background:var(--fg);color:var(--app);border-color:var(--fg)}.dates button.on small{color:var(--app);opacity:.75}
.pax{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 8px 8px 14px;font-weight:600}
.step{display:flex;align-items:center;gap:12px}
.step button{width:36px;height:36px;border-radius:10px;background:var(--green-soft);color:var(--green);font-size:20px;font-weight:800}
.step b{min-width:16px;text-align:center;font-size:18px}
.cta{display:block;width:100%;background:var(--green);color:#fff;font-weight:800;font-size:16px;border-radius:14px;padding:15px;margin-top:20px}
.cta:disabled{opacity:.4;cursor:not-allowed}
.cta.ghost{background:var(--card);color:var(--fg);border:1px solid var(--line)}
.pop{display:flex;flex-wrap:wrap;gap:8px}
.pop button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600}
.note{background:var(--sun-soft);border-radius:12px;padding:12px 14px;font-size:13.5px;margin-top:14px}
.note.err{background:var(--red-soft)}

.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chips button{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700}
.chips button.on{background:var(--green);border-color:var(--green);color:#fff}
.trip{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px;transition:transform .15s}
.trip:not(:disabled):hover{transform:translateY(-1px)}
.trip:disabled{cursor:not-allowed;opacity:.65}
.t-top{display:flex;align-items:center;gap:10px}
.ag{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:13px;flex:none}
.t-top .nm{flex:1;min-width:0}.t-top .nm b{display:block;font-size:15px}.t-top .nm small{color:var(--muted);font-size:12.5px}
.cls{font-size:11px;font-weight:800;padding:3px 8px;border-radius:6px;background:var(--green-soft);color:var(--green)}
.cls.vip{background:var(--sun-soft);color:#8A6500}
:root[data-theme="dark"] .cls.vip{color:var(--sun)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .cls.vip{color:var(--sun)}}
.times{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:14px 0 10px}
.times b{font-size:22px;font-weight:800;letter-spacing:-.5px}
.times small{display:block;font-size:12px;color:var(--muted);font-weight:600}
.times .r{text-align:right}
.line{position:relative;height:2px;background:var(--line);margin:0 4px}
.line span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--card);padding:0 6px;font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.t-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px dashed var(--line);padding-top:10px}
.fac{display:flex;gap:4px;flex-wrap:wrap;font-size:15px}
.price{text-align:right}
.price b{font-size:19px;font-weight:800}
.left{display:block;font-size:12px;font-weight:700;color:var(--green)}
.left.low{color:#B66A00}.left.full{color:var(--red)}
:root[data-theme="dark"] .left.low{color:var(--sun)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .left.low{color:var(--sun)}}
.full-tag{font-size:13px;font-weight:800;color:#fff;background:var(--red);padding:5px 10px;border-radius:8px;letter-spacing:.5px}
.empty{text-align:center;color:var(--muted);padding:40px 10px}

.box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin-top:12px}
.box h3{font-size:15px;margin-bottom:10px}
.kv{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.kv:last-child{border-bottom:0}
.kv span:first-child{color:var(--muted)}.kv span:last-child{font-weight:700;text-align:right}
.driver{display:flex;align-items:center;gap:12px}
.driver .av{width:48px;height:48px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:800}
.driver b{display:block}.driver small{color:var(--muted)}
.plate{display:inline-block;font-family:ui-monospace,Menlo,monospace;font-weight:800;letter-spacing:1px;background:var(--sun);color:#1b1500;border:2px solid #1b1500;border-radius:6px;padding:2px 8px;font-size:14px}
.facl{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.facl div{display:flex;gap:8px;align-items:center;background:var(--app);border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:600}
.stops{position:relative;padding-left:22px}
.stops::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--line)}
.stops div{position:relative;padding:4px 0 10px}
.stops div::before{content:"";position:absolute;left:-21px;top:9px;width:12px;height:12px;border-radius:50%;border:3px solid var(--green);background:var(--card)}
.stops b{display:block}.stops small{color:var(--muted)}

.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin:6px 0 14px}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:16px;height:16px;border-radius:5px;display:inline-block}
.bus{background:var(--card);border:1px solid var(--line);border-radius:28px 28px 16px 16px;padding:16px;max-width:340px;margin:0 auto}
.front{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);font-weight:700;border-bottom:1px dashed var(--line);padding-bottom:10px;margin-bottom:12px}
.wheel{width:30px;height:30px;border-radius:50%;border:4px solid var(--muted);display:grid;place-items:center}
.wheel::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--muted)}
.seats{display:grid;gap:8px;justify-content:center}
.seat{aspect-ratio:1;border-radius:9px 9px 6px 6px;font-size:12px;font-weight:800;border:2px solid var(--green);background:var(--app);color:var(--green)}
.seat.taken{background:var(--line);border-color:var(--line);color:var(--muted);cursor:not-allowed}
.seat.hold{background:repeating-linear-gradient(45deg,var(--line) 0 4px,transparent 4px 8px);border-color:var(--hold);color:var(--muted);cursor:not-allowed}
.seat.mine{background:var(--green);color:#fff}
.seat.flash{animation:fs 1s}
@keyframes fs{0%{transform:scale(1.2);box-shadow:0 0 0 4px var(--red)}}
.aisle{visibility:hidden}
.sticky{position:sticky;bottom:72px;background:var(--app);padding-top:8px}
.sumline{display:flex;justify-content:space-between;align-items:center;font-weight:700}
.sumline b{font-size:20px}

.timer{display:flex;align-items:center;gap:8px;background:var(--sun-soft);border-radius:12px;padding:10px 12px;font-size:13.5px;font-weight:600}
.timer b{font-variant-numeric:tabular-nums}
.pms{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pm{border:2px solid var(--line);background:var(--card);border-radius:14px;padding:12px;display:flex;align-items:center;gap:10px;font-weight:700;text-align:left}
.pm i{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:12px}
.pm.on{border-color:var(--green)}
.center{text-align:center;padding:40px 10px}
.spin{width:52px;height:52px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--green);margin:0 auto 18px;animation:sp 1s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}

.ticket{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:12px}
.tk-h{background:var(--green);color:#fff;padding:16px;display:flex;justify-content:space-between;align-items:center}
.tk-h b{font-family:var(--display);font-size:20px}
.tk-h{gap:12px}
.cashlogo{display:grid!important;place-items:center;background:#0F2A1D;color:#fff;border-radius:8px}.cashlogo .ico{width:18px;height:18px}
.pms{flex-wrap:wrap}
.tk-void .qr{opacity:.25;filter:grayscale(1)}
.tk-dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tk-dl .cta{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-top:12px}.tk-dl .ico{width:18px;height:18px}
.cash-card{border:1.5px solid var(--green)}
.pdf-tk{font-family:Manrope,Arial,sans-serif;color:#0F2A1D;max-width:520px;margin:0 auto;border:2px solid #119257;border-radius:18px;overflow:hidden;background:#fff}.pdf-h{display:flex;align-items:center;gap:12px;background:#119257;color:#fff;padding:14px 16px}.pdf-h .kmark{height:40px;width:auto;color:#fff}.pdf-h>div{flex:1;display:flex;flex-direction:column}.pdf-h small{opacity:.85}.pdf-ref{font-family:monospace;font-weight:800;font-size:16px;letter-spacing:1px}
.pdf-r{display:flex;align-items:center;gap:10px;padding:16px}.pdf-r>div{flex:1;display:flex;flex-direction:column}.pdf-r b{font-size:28px}.pdf-r small{color:#5E7468}.pdf-arrow{flex:none!important;font-size:22px;color:#119257}
.pdf-tk table{width:calc(100% - 32px);margin:0 16px;border-collapse:collapse;font-size:14px}.pdf-tk td{padding:6px 0;border-bottom:1px solid #E2EEE6}.pdf-tk td:first-child{color:#5E7468;width:40%}.pdf-qr{text-align:center;padding:16px}.pdf-qr img{width:200px;height:200px}.pdf-qr p{font-size:13px;color:#46604F;margin:6px 0 0}.pdf-f{font-size:11.5px;color:#5E7468;text-align:center;padding:0 16px 14px;margin:0}

.ac{position:relative;display:block;flex:1;min-width:0}.ac-in{width:100%;box-sizing:border-box;border:0!important;background:transparent!important;padding:0!important;font-size:16px;font-weight:800;color:var(--fg);outline:none;box-shadow:none!important;min-height:0!important;height:auto!important}
.ac-in::placeholder{color:var(--muted);font-weight:600}
.ac-list{position:absolute;left:-46px;right:-14px;top:calc(100% + 12px);z-index:50;background:var(--card);border-radius:16px;box-shadow:0 14px 40px rgba(15,42,29,.22);padding:6px;display:flex;flex-direction:column;max-height:340px;overflow:auto}.ac-list[hidden]{display:none}
.ac-it{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 12px;border-radius:12px;color:var(--fg);min-height:48px}.ac-it:hover,.ac-it.on{background:var(--green-soft)}.ac-it span{flex:1;display:flex;flex-direction:column}.ac-it small{font-size:12px;color:var(--muted);font-weight:600}
.ac-bus{font-style:normal;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;color:var(--green);background:var(--green-soft);padding:3px 8px;border-radius:999px}.ac-bus .ico{width:13px;height:13px}.ac-none{padding:12px;color:var(--muted);font-size:14px}
.near{display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:20px;padding:18px;box-shadow:var(--shadow);text-align:center;margin-bottom:10px}.near b{font-size:16px}.near span{color:var(--muted);font-size:14px;font-weight:600}.near .cta{margin-top:8px}
.line-ed{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.line-ed h3{margin:0 0 4px;font-size:16px}
.le-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.le-line>span{flex:1;display:flex;flex-direction:column;min-width:0}.le-line small{color:var(--muted);font-size:12.5px}
.le-box{background:var(--app);border-radius:14px;padding:12px;margin:8px 0;display:flex;flex-direction:column;gap:8px}.le-row{display:flex;align-items:center;gap:8px}.le-row select{flex:1;min-width:0}.le-row input{width:90px}.le-n{width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;flex:none}.le-fix{flex:1}

.cg-box{display:flex;gap:12px;align-items:flex-start;background:#FFF4E5;border:1.5px solid #F5B95A;border-radius:18px;padding:14px;margin-bottom:12px;color:#5A3A00}.cg-box>.ico{flex:none;color:#C06A00;width:22px;height:22px}.cg-box>div{display:flex;flex-direction:column;gap:4px}.cg-box b{font-size:15px}.cg-box span{font-size:13.5px;line-height:1.45}.cg-box .cta{margin-top:8px}
.tk-acts2.one{grid-template-columns:1fr}
.jr-plate{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex:none}.jr-plate small{font-size:10.5px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.4px}.jr-pl{font-weight:800;color:var(--fg);letter-spacing:.5px;white-space:nowrap}.jr-plate .jr-pl{font-size:14px}
.nextday{display:flex;flex-direction:column;gap:6px;background:var(--card);border-radius:20px;padding:18px;box-shadow:var(--shadow);text-align:center}.nextday b{font-size:16px}.nextday span{color:var(--muted);font-size:14px;font-weight:600}.nextday .cta{margin-top:10px}
.jr-wrap{margin-top:8px}
.jr-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;background:var(--card);border-radius:20px;padding:14px 16px;margin-bottom:10px;box-shadow:var(--shadow);color:var(--fg);border:1px solid var(--line)}
.jr-top{display:flex;align-items:baseline;gap:10px}.jr-top b{font-size:19px}.jr-top span{color:var(--muted);font-weight:700;font-size:13.5px;flex:1}.jr-price{color:var(--green)}
.jr-legs{display:flex;align-items:center;gap:6px}.jr-legs .ag{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:11px;flex:none}.jr-dash{flex:1;height:0;border-top:2px dashed var(--line)}
.jr-via{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:800;color:var(--green);background:var(--green-soft);padding:4px 9px;border-radius:999px}.jr-via .ico{width:14px;height:14px}
.jr-card>small{font-size:12.5px;color:var(--muted);font-weight:600}.jr-card em.warn{font-style:normal;color:#B07A00;font-weight:800}
.jr-sum{display:flex;flex-direction:column;gap:2px;margin:4px 0 14px}.jr-sum b{font:700 26px/1.1 'Sora',var(--display)}.jr-sum span{color:var(--muted);font-weight:700}
.jr-plan{background:var(--card);border-radius:20px;padding:16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}
.jr-leg{display:grid;grid-template-columns:52px 1fr;gap:10px}.jr-time{display:flex;flex-direction:column;align-items:center;gap:4px}.jr-time b{font-size:15px}.jr-time i{flex:1;width:3px;background:var(--green);border-radius:2px;min-height:60px}
.jr-body{display:flex;flex-direction:column;gap:2px}.jr-body>b{font-size:15.5px}.jr-body>small{font-size:12.5px;color:var(--muted)}
.jr-bus{display:flex;align-items:center;gap:10px;margin:10px 0;padding:10px 12px;border-radius:14px;background:var(--app)}.jr-bus .ag{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:12px;flex:none}.jr-bus span{display:flex;flex-direction:column}.jr-bus small{font-size:12px;color:var(--muted)}
.jr-change{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;border:1.5px dashed var(--line);font-size:13.5px}.jr-change .ico{flex:none;color:var(--green);width:18px;height:18px}.jr-change span{display:flex;flex-direction:column;gap:2px}.jr-change small{color:var(--muted)}.jr-change.warn{border-color:#F5D77A;background:#FFF8E1}.jr-change.warn .ico{color:#B07A00}
.jr-tk{display:flex;align-items:center;gap:10px;background:var(--card);border-radius:16px;padding:12px 14px;margin-bottom:12px;box-shadow:var(--shadow)}.jr-tk>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.jr-tk small{font-size:12.5px;color:var(--muted)}.jr-leg-n{font-size:11.5px;font-weight:800;color:#fff;background:var(--green);padding:4px 8px;border-radius:999px;white-space:nowrap}

.stop-route{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid var(--line)}.stop-route>small{color:var(--muted);font-size:12.5px}.stop-route input[type=number]{width:140px}.stop-tog{display:inline-flex;align-items:center;gap:8px;font-weight:700}.stop-tog input{width:18px;height:18px;accent-color:var(--green)}
.segnote{display:flex!important;align-items:center;gap:5px;margin-top:3px;color:var(--green)!important;font-weight:700!important}.segnote .ico{width:14px;height:14px}.dtag.seg{background:#0F3A44;color:#8FE3F0}
.dr-photo{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:#9FB8AA;font-weight:700;font-size:14px;cursor:pointer}.dr-photo .ico{width:18px;height:18px}
.dr-net{display:flex;gap:10px;align-items:flex-start;border-radius:16px;padding:12px 14px;background:var(--green-soft);color:var(--fg)}.dr-net .ico{flex:none;width:20px;height:20px;margin-top:1px}.dr-net span{display:flex;flex-direction:column;gap:2px}.dr-net small{color:var(--muted);font-size:12.5px}.dr-net.on .ico{color:var(--green)}.dr-net.off{background:var(--sun-soft)}.dr-net.off .ico{color:#B07A00}
.dr-verdict small.idchk,.scan-msg small.idchk{display:block;margin-top:4px;font-weight:800}.scan-msg small.warn,.dr-report small.warn{display:block;margin-top:3px;color:#FFD15C;font-weight:800}
.dtags{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:4px}.dtag{font-style:normal;font-size:11px;font-weight:800;padding:2px 7px;border-radius:999px;background:#1F3A2C;color:#9FE3C1}.dtag.stu{background:#2E2A10;color:#FFD15C}.dtag.kid{background:#10283A;color:#8CCBFF}.dtag.bag{background:#2A1E33;color:#D8B4FE}.dtag.chg{background:#3A1A14;color:#FFB4A2}
#drScan{position:fixed;inset:0;z-index:1000;background:#05100A;color:#F2FBF6;display:flex;flex-direction:column;padding:max(14px,env(safe-area-inset-top)) 16px 16px;gap:12px;font-family:Manrope,system-ui,sans-serif}#drScan[hidden]{display:none}
.scan-top{display:flex;align-items:center;justify-content:space-between;font-size:17px}.scan-x{width:44px;height:44px;border-radius:50%;background:#13281D;color:#F2FBF6;font-size:16px;border:0;cursor:pointer}.scan-x.sm{width:36px;height:36px}
.scan-box{position:relative;flex:1;min-height:0;border-radius:22px;overflow:hidden;background:#000}.scan-box video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame{position:absolute;left:50%;top:50%;width:min(64vw,280px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:22px;box-shadow:0 0 0 2000px rgba(0,0,0,.45);outline:3px solid #4FD99A}
.scan-msg{border-radius:18px;padding:14px 16px;background:#13281D;font-size:15px;min-height:56px;display:flex;flex-direction:column;justify-content:center}.scan-msg b{font-size:20px}.scan-msg small{color:#C9DDD1;font-size:13.5px}.scan-msg.ok{background:#0E6B47}.scan-msg.bad{background:#7A1F1B}
.scan-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:800}
.dr-report{border:1.5px solid #4FD99A}.dr-rep-g{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.dr-rep-g div{background:var(--app);color:var(--fg);border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column}.dr-rep-g b{font-size:18px}.dr-rep-g small{font-size:11px;color:var(--muted)}.dr-report small{color:var(--muted)!important}.dr-report small.warn{color:#B07A00!important}.dr-report .scan-x{background:var(--app);color:var(--fg)}
.pc-code{margin:-4px 0 8px}.pc-code input{flex:1;min-width:0;font-size:18px;letter-spacing:3px}

.tk-pol{display:flex;gap:10px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:14px;font-size:13px;line-height:1.45;color:var(--muted)}.tk-pol b{color:var(--fg)}.tk-pol .ico{flex:none;color:var(--green);width:18px;height:18px;margin-top:1px}
.tk-acts2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tk-acts2 .cta{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14.5px;margin-top:12px}.tk-acts2 .ico{width:18px;height:18px}
.cta.danger{background:var(--red);box-shadow:none}.cta.ghost.danger{background:var(--card);color:var(--red);border-color:var(--red-soft)}
.smsprev{margin-top:10px;background:var(--card);border-radius:16px 16px 16px 4px;padding:12px 14px;box-shadow:var(--shadow)}.smsprev small{font-size:12px;color:var(--muted);font-weight:700}.smsprev p{margin:4px 0 0;font-size:14px;line-height:1.45}
.chg-opt{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:8px;color:var(--fg)}.chg-opt b{font-size:17px}.chg-opt span{font-size:13px;color:var(--muted);font-weight:600}.chg-opt em{font-style:normal;font-size:12px;font-weight:800;color:var(--green)}.chg-opt.on{border-color:var(--green);background:var(--green-soft)}.chg-opt:disabled{opacity:.45}
.ptype{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.ptype button{min-height:40px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--muted)}.ptype button.on{background:var(--green-soft);border-color:var(--green);color:var(--green)}.ptype em{font-style:normal;font-size:11px}
.pt-note{display:block;font-size:12px;color:var(--muted);margin-top:6px;font-weight:600}
.bagrow{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:14px;padding:12px 14px;box-shadow:var(--shadow)}.bagrow>span{flex:1;display:flex;flex-direction:column;gap:2px}.bagrow small{font-size:12.5px;color:var(--muted);font-weight:600}
.stepper{display:flex;align-items:center;gap:10px}.stepper button{width:40px;height:40px;border-radius:12px;background:var(--green-soft);color:var(--green);font-size:20px;font-weight:800}.stepper button:disabled{opacity:.4}.stepper b{min-width:18px;text-align:center;font-size:17px}
.promo-in input{flex:1;min-width:0;text-transform:uppercase}.promo-in .pm{flex:none;padding:0 16px}
.promo-on{display:flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green);border-radius:12px;padding:10px 12px;font-size:14px}.promo-on span{flex:1;color:var(--fg)}.promo-on button{color:var(--red);font-weight:700;font-size:13px}
.tk-acts3{display:flex;flex-direction:column;gap:6px;align-self:center}.tk-again.done{background:var(--app);color:var(--muted)}
.rate-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700}.rate-row:last-child{border:0}
.rate-st{display:flex;gap:2px}.rate-st button{width:40px;height:40px;font-size:26px;color:var(--line);line-height:1}.rate-st button.on{color:#F5B301}
.stars{color:#B98500;font-weight:800}.stars em{font-style:normal;color:var(--muted);font-weight:600}
.sup-cats{display:flex;flex-wrap:wrap;gap:8px}.sup-cats button{padding:9px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13.5px;color:var(--muted);min-height:40px}.sup-cats button.on{background:var(--green);border-color:var(--green);color:#fff}
.sup-row{width:100%;text-align:left}.sup-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);margin-right:6px}
.sup-thread{display:flex;flex-direction:column;gap:10px;margin:8px 0 14px}.sup-msg{max-width:85%;background:var(--card);border-radius:16px 16px 16px 4px;padding:10px 12px;box-shadow:var(--shadow);align-self:flex-start}.sup-msg.me{align-self:flex-end;background:var(--green-soft);border-radius:16px 16px 4px 16px}.sup-msg small{font-size:11.5px;color:var(--muted);font-weight:700}.sup-msg p{margin:3px 0 0;font-size:14px;line-height:1.45;white-space:pre-wrap}
textarea{font:inherit;width:100%;box-sizing:border-box;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--fg);padding:12px 14px;resize:vertical}
.legal p{font-size:14.5px;line-height:1.6;margin:0 0 10px}
.au-consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:13.5px;line-height:1.45;color:var(--muted);font-weight:600}.au-consent input{width:20px;height:20px;flex:none;accent-color:var(--green);margin-top:1px}.au-consent button{color:var(--green);font-weight:800;padding:0;text-decoration:underline}
.recent.fav span .ico{color:#F5B301}
.favbtn{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:8px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--muted)}.favbtn .ico{width:16px;height:16px}.favbtn.on{color:#B98500;border-color:#F5D77A;background:#FFF8E1}
body.lite *,body.lite *::before,body.lite *::after{animation:none!important;transition:none!important}body.lite #splash{display:none!important}body.lite .offer img,body.lite .driver img.av{display:none!important}
#stmt{display:none}
@media print{body.printing>*:not(#stmt){display:none!important}body.printing #stmt{display:block!important}}
body.printing #stmt{display:block}
.stmt{font-family:Manrope,Arial,sans-serif;color:#0F2A1D;padding:24px;max-width:820px;margin:0 auto;background:#fff}.stmt-h{display:flex;align-items:center;gap:14px;border-bottom:2px solid #119257;padding-bottom:12px;margin-bottom:16px}.stmt-h>div{flex:1;display:flex;flex-direction:column}.stmt-h .kmark{height:44px;width:auto;color:#119257}.stmt-h b{font-size:18px}.stmt-h small{color:#5E7468}
.stmt table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:13.5px}.stmt td,.stmt th{padding:8px 6px;border-bottom:1px solid #E2EEE6;text-align:left}.stmt td:last-child{text-align:right;white-space:nowrap}.stmt tr.tot td{font-weight:800;border-top:2px solid #0F2A1D}.stmt .det td:last-child{text-align:left}.stmt h4{margin:6px 0 8px}.stmt-f{font-size:11.5px;color:#5E7468;margin-top:20px}

.offl{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:12.5px;font-weight:800;color:var(--green);background:var(--green-soft);padding:6px 10px;border-radius:999px}.offl .ico{width:14px;height:14px}
.offbar{display:flex;gap:8px;align-items:center;background:var(--sun-soft);border-radius:12px;padding:10px 12px;font-size:13px;font-weight:700;margin-bottom:12px}
.auth{display:flex;flex-direction:column;padding-bottom:24px}
.au-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 8px 6px}
.au-mark{color:var(--green);display:flex}.au-mark svg{height:70px;width:auto;transform:rotate(-8deg)}
.au-hero h1,.au-head h1{margin:8px 0 0;font:700 26px/1.15 'Outfit',var(--display);letter-spacing:-.5px}
.au-hero p,.au-head p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
.au-head{display:flex;flex-direction:column;gap:6px;padding:6px 0 4px}
.au-opts{display:flex;flex-direction:column;gap:10px;margin-top:22px}
.au-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line);color:var(--fg);text-align:left;box-shadow:var(--shadow)}
.au-opt>.ico:first-child{color:var(--green);width:22px;height:22px;flex:none}.au-opt>.ico:last-child{color:var(--muted);width:18px;height:18px;flex:none}
.au-opt span:not(.au-g){flex:1;display:flex;flex-direction:column;gap:2px}.au-opt b{font-size:15.5px}.au-opt small{font-size:12.5px;color:var(--muted);font-weight:600}
.au-opt.pri{background:var(--green);border-color:var(--green);color:#fff}.au-opt.pri>.ico{color:#fff!important}.au-opt.pri small{color:#D8F3E4}
.au-g{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font:800 13px/1 Arial,sans-serif;color:var(--fg);box-shadow:inset 0 0 0 1.5px var(--line)}
.au-g.big{width:52px;height:52px;font-size:24px;margin-bottom:4px}
.au-lang{display:flex;justify-content:center;gap:6px;margin-top:22px}.au-lang button{padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted);min-height:36px}.au-lang button.on{background:var(--green-soft);color:var(--green)}
.au-legal{text-align:center;font-size:12px;color:var(--muted);margin:12px 0 0}
.au-tabs{margin:14px 0 4px}
.au-rules{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.au-rules li{display:flex;align-items:center;gap:6px}.au-rules li.ok{color:var(--green)}.au-dot{width:15px;height:15px;display:grid;place-items:center}.au-dot::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.au-rules .ico{width:15px;height:15px}
.au-vico{width:52px;height:52px;border-radius:16px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-bottom:4px}.au-vico .ico{width:24px;height:24px}
.au-ver{font-style:normal;font-size:11.5px;font-weight:800;color:var(--green);margin-left:6px}.au-ver.no{color:var(--muted)}
.au-hero.sm{padding-top:6px}.au-hero.sm .au-mark svg{height:52px}.au-hero.sm h1{font-size:24px}
.au-via{margin:18px 0 2px}.au-via button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px}.au-via .ico{width:18px;height:18px}
.au-via button.on{background:var(--card);color:var(--fg);box-shadow:0 2px 8px rgba(15,42,29,.08)}
.au-forgot{display:flex;justify-content:flex-end;margin-top:4px}.au-forgot button{color:var(--green);font-weight:700;font-size:13.5px;padding:8px 0}
.au-switch{text-align:center;margin:14px 0 0;font-size:14px;color:var(--muted)}.au-switch button{color:var(--green);font-weight:800;font-size:14px;padding:6px 2px}
.au-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:var(--muted);font-size:13px;font-weight:700}.au-or::before,.au-or::after{content:"";flex:1;height:1px;background:var(--line)}
.au-id{display:flex;gap:10px;align-items:flex-start;background:var(--green-soft);color:var(--fg);border-radius:14px;padding:12px 14px;margin-top:14px;font-size:13px;font-weight:600;line-height:1.45}.au-id .ico{color:var(--green);flex:none;width:18px;height:18px;margin-top:1px}
.au-names{display:grid;grid-template-columns:1fr 1fr;gap:10px}.au-names input{width:100%;box-sizing:border-box}
#auLast{text-transform:uppercase}#auLast::placeholder{text-transform:none}
.au-ph{display:flex;align-items:stretch;gap:8px}.au-ph span{display:flex;align-items:center;padding:0 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);font-weight:800;color:var(--muted)}.au-ph input{flex:1;min-width:0}
.au-pw{position:relative}.au-pw input{padding-right:52px;width:100%;box-sizing:border-box}.au-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;color:var(--muted)}
.au-code{font-size:26px!important;letter-spacing:10px;text-align:center;font-weight:800}
.au-demo{display:flex;gap:10px;align-items:flex-start;background:var(--sun-soft);border-radius:14px;padding:12px 14px;margin:12px 0 0}.au-demo .ico{flex:none;margin-top:2px}.au-demo span{display:flex;flex-direction:column;gap:2px}.au-demo b{font-size:15px}.au-demo .num{letter-spacing:2px}.au-demo small{font-size:12.5px;color:var(--muted);font-weight:600}
.au-err{display:flex;gap:8px;align-items:center;background:var(--red-soft);color:var(--red);border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px;margin-top:12px}.au-err .ico{flex:none}
.au-links{display:flex;justify-content:center;gap:18px;margin-top:14px}.au-links button{color:var(--green);font-weight:700;font-size:14px;padding:8px}
.spin.sm{width:16px;height:16px;border-width:2px;display:inline-block;vertical-align:-3px;margin:0 8px 0 0;border-color:rgba(255,255,255,.4);border-top-color:#fff}
.au-acc{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow)}.au-acc>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.au-acc small{font-size:12.5px;color:var(--muted)}

.tk-next-h{display:flex;align-items:center;justify-content:space-between;margin:2px 0 10px}
.tk-cd{font-size:12px;font-weight:800;color:var(--card);background:var(--green);padding:5px 10px;border-radius:999px}
.tk-hero{background:#119257;color:#fff;border-radius:22px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.tk-hero-top{padding:16px 18px 14px;display:flex;flex-direction:column;gap:14px}
.tk-hero-ag{display:flex;align-items:center;gap:10px}.tk-hero-ag .ag{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:13px;color:#fff;flex:none}
.tk-hero-ag>div{flex:1;min-width:0;display:flex;flex-direction:column}.tk-hero-ag b{font-size:15px}.tk-hero-ag small{font-size:12px;color:#D8F3E4}
.tk-hero-ag .pill{font-size:11px;font-weight:800;background:rgba(255,255,255,.18);padding:5px 9px;border-radius:999px}
.tk-hero-times{display:flex;align-items:flex-end;gap:12px}.tk-hero-times>div:not(.ln){display:flex;flex-direction:column}.tk-hero-times .r{align-items:flex-end}
.tk-hero-times b{font:700 32px/1 'Sora',var(--display)}.tk-hero-times small{font-size:13px;color:#D8F3E4;margin-top:4px;font-weight:600}
.tk-hero-times .ln{flex:1;border-top:2px dashed rgba(255,255,255,.45);margin-bottom:24px}
.tk-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tk-hero-meta>div{display:flex;flex-direction:column;min-width:0}
.tk-hero-meta small{font-size:11px;font-weight:700;color:#D8F3E4;text-transform:uppercase;letter-spacing:.4px}.tk-hero-meta b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-hero-cut{position:relative;margin:0 18px;border-top:2px dashed rgba(255,255,255,.4)}
.tk-hero-cut::before,.tk-hero-cut::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--app)}
.tk-hero-cut::before{left:-30px}.tk-hero-cut::after{right:-30px}
.tk-hero-bot{display:flex;align-items:center;gap:12px;padding:14px 18px 16px}
.tk-mqr{width:58px;height:58px;flex:none;border-radius:10px;background:#fff;display:grid;place-items:center;line-height:0}.tk-mqr img,.tk-mqr canvas{width:46px!important;height:46px!important}
.tk-hero-bot>div{flex:1;min-width:0;display:flex;flex-direction:column}.tk-hero-bot .ref{font-size:15px;color:#fff}.tk-hero-bot small{font-size:12px;color:#D8F3E4}
.tk-hero-bot button{height:44px;padding:0 16px;border:0;border-radius:12px;background:#fff;color:#0B5A35;font-weight:800;font-size:14px}
.tk-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 4px}
.tk-acts button{min-height:64px;border-radius:16px;border:1px solid var(--line);background:var(--card);color:var(--fg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:700}
.tk-acts .ico{color:var(--green);width:20px;height:20px}
.tk-mon{text-transform:uppercase}
.tk-day{display:flex;align-items:stretch;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px;margin-bottom:10px;color:var(--fg);box-shadow:var(--shadow)}
.tk-day .tk-date{width:54px;flex:none;border-radius:12px;background:var(--green-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 0}
.tk-day .tk-date small{font-size:11px;font-weight:800;color:var(--muted)}.tk-day .tk-date b{font:700 22px/1 'Sora',var(--display)}
.tk-day .w{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px}.tk-day .w b{font-size:15px}.tk-day .w small{font-size:12.5px;color:var(--muted)}
.tk-day em{font-style:normal;font-size:12px;font-weight:800;color:var(--green)}.tk-day em.warn{color:var(--red)}.tk-day em.bad{color:var(--red)}
.tk-day .chev{align-self:center;color:var(--muted);display:flex}.tk-day .chev .ico{width:18px;height:18px}
.tk-day.past{background:transparent;border:1px dashed var(--line);box-shadow:none;opacity:.8}.tk-day.past .tk-date{background:var(--card)}.tk-day.past em{color:var(--muted)}.tk-day.past em.bad{color:var(--red)}.tk-cd.late{background:var(--red);color:#fff}
.tk-again{align-self:center;font-size:12.5px;font-weight:800;color:var(--green);padding:8px 10px;border-radius:10px;background:var(--green-soft)}

.pm i.pmlogo{background:none;padding:0;overflow:hidden}.pm i.pmlogo img{width:100%;height:100%;object-fit:cover;display:block}
.webbar{display:flex;align-items:center;gap:10px;margin:0 16px 4px;padding:10px 12px;border-radius:14px;background:var(--green-soft);color:var(--fg);font-size:13px;font-weight:700}.webbar .ico{color:var(--green);flex:none;width:18px;height:18px}
body.web #tabs{display:none}
.getapp{display:flex;flex-direction:column;gap:14px;padding-bottom:20px}
.ga-hero{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 6px 0}
.ga-mark{color:var(--green);display:flex}.ga-mark svg{height:64px;width:auto;transform:rotate(-8deg)}
.ga-hero h2{margin:6px 0 0;font:700 24px/1.15 'Outfit',var(--display);letter-spacing:-.4px}.ga-hero p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.5}
.ga-trip{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.ga-trip>div{flex:1;display:flex;flex-direction:column;gap:2px}
.ga-trip small{color:var(--muted);font-weight:700;font-size:12px}.ga-trip b{font-size:16px}.ga-trip span{font-size:13px;color:var(--muted);font-weight:600}
.ga-trip em{font-style:normal;font-size:12px;font-weight:800;color:var(--green);background:var(--green-soft);padding:6px 9px;border-radius:999px;white-space:nowrap}.ga-trip em.low{color:#8A5A00;background:var(--sun-soft)}
.ga-stores{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ga-store{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 14px;border-radius:14px;background:#0F2A1D;color:#fff;text-decoration:none}.ga-store .ico{width:22px;height:22px;flex:none}
.ga-store span{display:flex;flex-direction:column;line-height:1.15}.ga-store small{font-size:10.5px;color:#B9D3C4;font-weight:700}.ga-store b{font-size:15px}
.ga-qr{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:18px;padding:12px 14px;box-shadow:var(--shadow)}.ga-qr #gaqr{flex:none;background:#fff;padding:6px;border-radius:10px;line-height:0}
.ga-qr span{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--muted);font-weight:600}.ga-qr b{color:var(--fg);font-size:14px}
.ga-why{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ga-why li{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600}.ga-why .ico{color:var(--green);flex:none}
#qr{position:relative;display:inline-block;line-height:0;padding:10px;background:#fff;border-radius:16px}
#qr img,#qr canvas{display:block}
.qr-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:11px;background:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
.qr-logo svg{height:30px;width:auto;color:#119257;transform:rotate(-8deg)}.tk-who{flex:1;min-width:0}.tk-who small em{font-style:normal;color:#C6EFD8}.tk-who small{font-family:'Outfit',var(--body);font-weight:700;letter-spacing:.1px}
.tk-brand{flex:none;color:#fff;display:flex}.tk-brand svg{height:40px;width:auto;transform:rotate(-8deg)}
.tk-h small{opacity:.85;font-size:12px;display:block}
.tk-r{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px;gap:8px}
.tk-r b{display:block;font-size:24px;font-weight:800}
.tk-r small{color:var(--muted);font-size:12.5px;font-weight:600}
.tk-r .r{text-align:right}
.tear{border-top:2px dashed var(--line);position:relative;margin:0 14px}
.tear::before,.tear::after{content:"";position:absolute;top:-11px;width:20px;height:20px;border-radius:50%;background:var(--app)}
.tear::before{left:-25px}.tear::after{right:-25px}
.tk-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}
.tk-g small{display:block;color:var(--muted);font-size:12px;font-weight:600}
.tk-g b{font-size:14.5px}
.qr{display:grid;place-items:center;padding:4px 16px 18px}
.qr div{background:#fff;padding:10px;border-radius:12px}
.qr p{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center}
.ref{font-family:ui-monospace,Menlo,monospace;font-weight:800;letter-spacing:1px}
.mine-row{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px}
.mine-row .w{flex:1;min-width:0}.mine-row b{display:block}.mine-row small{color:var(--muted)}
.st{font-size:11.5px;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green)}
.st.cancelled{background:var(--red-soft);color:var(--red)}.st.boarded{background:var(--sun-soft);color:#8A6500}
.toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;background:var(--fg);color:var(--app);padding:10px 16px;border-radius:12px;font-weight:700;font-size:14px;transition:.25s;z-index:50;pointer-events:none;max-width:90%}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* modern layer */
.ico{width:18px;height:18px;flex:none;display:inline-block;vertical-align:middle}
.app{background:var(--app);box-shadow:none}
@media (min-width:520px){.app{margin-block:0;border-left:1px solid var(--line);border-right:1px solid var(--line)}}
.bar{background:color-mix(in srgb,var(--app) 86%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.bar h1{font-weight:700;font-size:18px}
.back{display:grid;place-items:center;border:0;background:var(--green-soft);color:var(--green)}
.logo{font-weight:800;font-size:21px}
.logo i{background:linear-gradient(135deg,var(--green2),var(--green));border-radius:11px;width:34px;height:34px;box-shadow:0 6px 14px rgba(17,146,87,.3)}
.logo i svg{width:20px;height:20px}
h2{font-weight:700;font-size:28px;letter-spacing:-.9px}
.hero{position:relative;overflow:hidden;border-radius:26px;padding:22px 20px 24px;background:linear-gradient(140deg,var(--green-soft),var(--app) 70%);border:1px solid var(--line)}
.hero::after{content:"";position:absolute;right:-50px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,var(--mint),transparent 70%)}
.hero > *{position:relative;z-index:1}
.hero .tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--green);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 10px;margin-bottom:12px}
.route{border:0;box-shadow:var(--shadow);border-radius:22px}
.route label{display:flex;align-items:center;gap:12px;padding:12px 64px 12px 16px}
.route label > span{flex:1;min-width:0}
.route .pin{width:36px;height:36px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.swap{display:grid;place-items:center;background:linear-gradient(135deg,var(--green2),var(--green));box-shadow:0 6px 16px rgba(17,146,87,.35)}
.dates button{border:0;box-shadow:var(--shadow);border-radius:16px;padding:10px 6px;min-width:58px}
.dates button.on{background:linear-gradient(160deg,var(--green2),var(--green));color:#fff}
.dates button.on small{color:#fff}
.pax{border:0;box-shadow:var(--shadow);border-radius:18px}
.pax > span{display:flex;align-items:center;gap:10px}
.cta{background:linear-gradient(135deg,var(--green2),var(--green));border-radius:16px;box-shadow:0 10px 24px rgba(17,146,87,.28);letter-spacing:.2px}
.cta.ghost{box-shadow:none}
.pop button{border:0;background:var(--green-soft);color:var(--green);font-weight:700}
.lbl{letter-spacing:.6px;font-size:11.5px}
.chips button{border:0;background:var(--card);box-shadow:var(--shadow)}
.chips button.on{background:var(--green);color:#fff}
.trip{border:0;box-shadow:var(--shadow);border-radius:22px;padding:16px}
.trip:not(:disabled):hover{box-shadow:var(--shadow-lg)}
.ag{border-radius:13px;width:42px;height:42px;font-family:var(--display)}
.cls{border-radius:999px;padding:4px 10px}
.times b{font-family:var(--display);font-weight:700;font-size:23px}
.line{background:none;border-top:2px dashed var(--line);height:0}
.line::before,.line::after{content:"";position:absolute;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--green)}
.line::before{left:-4px}.line::after{right:-4px;background:var(--card);border:2px solid var(--green);top:-6px}
.line span{top:-1px}
.t-bot{border-top:1px solid var(--line)}
.fac{gap:6px}
.fi{width:30px;height:30px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.fi .ico{width:16px;height:16px}
.price b{font-family:var(--display);font-weight:700}
.box{border:0;box-shadow:var(--shadow);border-radius:22px}
.box h3{font-family:var(--display);font-weight:600;font-size:15px}
.facl div{background:var(--green-soft);color:var(--fg);border-radius:14px;padding:10px 12px}
.facl div .ico{color:var(--green)}
.driver .av{background:linear-gradient(135deg,var(--green2),var(--green));color:#fff;font-family:var(--display)}
.bus{border:0;box-shadow:var(--shadow);border-radius:34px 34px 20px 20px}
.seat{border-radius:12px 12px 8px 8px;border-width:1.5px;background:var(--card)}
.seat.mine{background:linear-gradient(160deg,var(--green2),var(--green));border-color:var(--green);box-shadow:0 6px 14px rgba(17,146,87,.35)}
.sticky .box{box-shadow:var(--shadow-lg)}
.timer{gap:10px}
.pm{border-width:1.5px;border-radius:18px;box-shadow:var(--shadow)}
.pm.on{border-color:var(--green);background:var(--green-soft)}
.ticket{border:0;box-shadow:var(--shadow-lg);border-radius:26px}
.tk-h{background:linear-gradient(135deg,var(--green2),var(--green))}
.tk-h b{font-weight:700}
.tk-r b{font-family:var(--display);font-weight:700}
.mine-row{border:0;box-shadow:var(--shadow);border-radius:20px}
.tabs{bottom:calc(10px + env(safe-area-inset-bottom,0px));width:min(440px,calc(100% - 24px));border:1px solid var(--line);border-radius:24px;padding:6px;box-shadow:var(--shadow-lg);background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tabs button{flex-direction:row;justify-content:center;gap:8px;font-size:13.5px;padding:11px 8px;border-radius:18px}
.tabs button.on{background:var(--green-soft)}
.tabs .cnt{position:static}
main{padding-bottom:110px}
.sticky{bottom:90px}
.toast{bottom:calc(96px + env(safe-area-inset-bottom,0px));border-radius:14px}

/* home A */
.greet{display:flex;flex-direction:column;gap:2px;margin-bottom:16px}
.greet span{font-size:14px;font-weight:600;color:var(--muted)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--green-soft);border-radius:16px;padding:4px;margin-bottom:12px}
.seg button{border-radius:12px;padding:10px;font-weight:700;font-size:14px;color:var(--muted)}
.seg button.on{background:var(--card);color:var(--fg);box-shadow:0 2px 10px rgba(17,110,66,.12)}
.scard{background:var(--card);border-radius:24px;box-shadow:var(--shadow);padding:6px 14px 16px}
.scard .route{box-shadow:none;margin:0;border-radius:0;background:transparent}
.scard .route label{padding:12px 60px 12px 2px;border-bottom:1px solid var(--line)}
.scard .route label + label{border-top:0}
.scard .swap{right:2px}
.cells{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.cells.three{grid-template-columns:1fr 1fr}.cells.three .paxc{grid-column:1/-1}
.cell{display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:16px;padding:11px 12px;text-align:left;color:var(--fg);min-width:0;border:1.5px solid transparent}
.cell.on{border-color:var(--green);background:var(--green-soft)}
.cell .ico{color:var(--green)}
.cell > span:first-of-type{display:flex;flex-direction:column;min-width:0}
.cell small{font-size:11px;font-weight:700;color:var(--muted)}
.cell b{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.paxc{justify-content:space-between}
.paxc .step{gap:6px}.paxc .step button{width:32px;height:32px;border-radius:10px;font-size:18px;background:var(--card);box-shadow:var(--shadow)}
.dpick{margin-top:12px}
.dpick > small{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.6px}
.dpick .dates button{box-shadow:none;border:1px solid var(--line)}
.scard .cta{margin-top:14px}
.sec{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:24px 0 10px}
.sec h3{font-family:var(--display);font-weight:600;font-size:17px;white-space:nowrap}
.sec span{font-size:12.5px;font-weight:700;color:var(--muted);text-align:right}
.nrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin-bottom:8px;color:var(--fg)}
.nrow:not(:disabled):hover{border-color:var(--green)}
.nrow:disabled{cursor:not-allowed}
.nrow.is-full .nt,.nrow.is-full .nw{opacity:.55}
.nt{font-family:var(--display);font-weight:700;font-size:18px;width:56px;flex:none}
.nw{flex:1;min-width:0;display:flex;flex-direction:column}
.nw b{font-size:14px}.nw small{font-size:12px;color:var(--muted);font-weight:600}
.seatchip{font-size:12px;font-weight:800;border-radius:999px;padding:4px 10px;background:var(--green-soft);color:var(--green);white-space:nowrap}
.seatchip.low{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1.5px var(--green)}
.seatchip.full{background:var(--fg);color:var(--app)}
.seatchip.late{background:var(--red);color:#fff}

/* two-colour scheme: green + white, dark ink for 'full' */
.full-tag{background:var(--fg);color:var(--app)}
.left.low{color:var(--green)!important;text-decoration:underline;text-underline-offset:3px}
.cls.vip{background:var(--fg)!important;color:var(--app)!important}
.timer{background:var(--green-soft)}
.note{background:var(--green-soft)}
.seat.flash{animation:none}
/* design A look */
.cta{background:var(--green);box-shadow:0 8px 20px rgba(17,146,87,.25)}
.swap{background:var(--green)}
.logo i{background:var(--green)}
.cell{background:var(--app)}
.scard{box-shadow:0 10px 30px rgba(17,110,66,.10)}
.themebtn{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--green);box-shadow:inset 0 0 0 1px var(--line);flex:none}
.popg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.popc{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--card);border-radius:20px;padding:14px;box-shadow:var(--shadow);color:var(--fg)}
.popc .pi{width:32px;height:32px;border-radius:10px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.popc b{font-size:14.5px}
.popc small{font-size:12.5px;color:var(--muted);font-weight:600}
.popc em{font-style:normal;color:var(--green);font-weight:800}

/* ---------- home extras ---------- */
.langbtn{height:38px;min-width:42px;padding:0 10px;border-radius:19px;background:var(--card);color:var(--green);font-weight:800;font-size:13px;box-shadow:inset 0 0 0 1px var(--line);flex:none}
.alertb{display:flex;gap:12px;align-items:flex-start;background:var(--red-soft);border-radius:18px;padding:12px 14px;margin-bottom:12px;font-size:13.5px}
.alertb .ico{color:var(--red);margin-top:2px}
.alertb b{display:block;font-size:14px;color:var(--red)}
.alertb.bad{background:var(--red-soft)}.alertb.bad .ico{color:var(--red)}

.nextcard{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:var(--fg);color:var(--app);border-radius:22px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow-lg)}
.nc-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nc-lbl{font-size:12px;font-weight:700;opacity:.75;text-transform:uppercase;letter-spacing:.6px}
.nc-cd{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;background:var(--green);color:#fff;border-radius:999px;padding:4px 10px}
.nc-cd .ico{width:14px;height:14px}
.nc-route{display:flex;align-items:baseline;gap:10px}
.nc-route b{font-family:var(--display);font-size:26px;font-weight:700}
.nc-route span{font-size:16px;font-weight:700}
.nc-meta{font-size:12.5px;opacity:.8;font-weight:600}
.nc-alert{align-self:flex-start;font-size:12px;font-weight:800;background:var(--red);color:#fff;border-radius:999px;padding:3px 10px}
.nc-qr{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:6px;background:var(--app);color:var(--fg);border-radius:12px;padding:8px 12px;font-weight:800;font-size:13.5px}
.recent{display:flex;gap:8px;overflow-x:auto;margin-top:12px;align-items:center;scrollbar-width:none}
.recent > span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);flex:none}
.recent > span .ico{width:15px;height:15px}
.recent button{flex:none;display:inline-flex;align-items:center;gap:6px;background:var(--card);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)}
.recent button .ico{width:14px;height:14px;color:var(--muted)}
.late{font-style:normal;color:var(--red);font-weight:800}

.offers{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.offer{flex:none;width:230px;display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--card);border-radius:20px;padding:14px;box-shadow:var(--shadow);color:var(--fg)}
.of-top{display:flex;justify-content:space-between;align-items:center}
.of-top .ag{width:34px;height:34px;border-radius:10px;font-size:11.5px}
.of-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--green);background:var(--green-soft);border-radius:999px;padding:4px 9px}
.of-badge .ico{width:13px;height:13px}
.offer b{font-size:14.5px}.offer small{font-size:12.5px;color:var(--muted);font-weight:600}
.of-go{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:800;font-size:13px;margin-top:2px}
.of-go .ico{width:15px;height:15px}
.svc{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--card);border-radius:20px;padding:14px;box-shadow:var(--shadow);color:var(--fg)}
.svc .pi{width:36px;height:36px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center}
.svc b{font-size:14.5px}.svc small{font-size:12.5px;color:var(--muted);font-weight:600}
.tripalert{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:12.5px;font-weight:800;color:var(--red);background:var(--red-soft);border-radius:10px;padding:6px 10px}
.tripalert.bad{color:var(--red);background:var(--red-soft)}
.tripalert .ico{width:15px;height:15px}
.savebox{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:14px;font-weight:600}
.savebox input{width:20px;height:20px;accent-color:var(--green)}
.pop button{display:inline-flex;align-items:center;gap:6px}
.pop button .ico{width:14px;height:14px}
.pop button.sel{background:var(--green);color:#fff}
.sizes{display:grid;gap:8px}
.sizes .pm{justify-content:space-between}
.sizes .pm span{display:flex;flex-direction:column}
.sizes .pm small{font-size:12px;color:var(--muted);font-weight:600}
.sizes .pm em{font-style:normal;font-weight:800}
.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.okmark{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 14px}
.okmark .ico{width:32px;height:32px}
.helpbox .pi.big{width:44px;height:44px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;margin-bottom:10px}
.numrow{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:18px}
.copyb{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--green);background:var(--green-soft);border-radius:10px;padding:7px 10px;flex:none}
.copyb .ico{width:15px;height:15px}
.faq{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px;margin-bottom:8px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin-top:8px;color:var(--muted);font-size:14px}
.tabs button .ico{width:20px;height:20px}

/* ---------- profile & notifications ---------- */
.bell{position:relative;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--card);color:var(--fg);box-shadow:inset 0 0 0 1px var(--line);flex:none}
.bell .ico{width:20px;height:20px}
.bell .dot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px var(--app)}
.tabs{display:grid;grid-template-columns:repeat(3,1fr)}
.tabs button span:not(.cnt){white-space:nowrap}
.notif{display:flex;gap:12px;width:100%;text-align:left;background:var(--card);border-radius:18px;padding:14px;margin-bottom:8px;box-shadow:var(--shadow);color:var(--fg);position:relative}
.notif.new::after{content:"";position:absolute;top:16px;right:14px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.notif .ni{width:38px;height:38px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.notif.warn .ni{background:var(--sun-soft);color:#8A5A00}
.notif .nb{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:14px}
.notif .nb b{font-size:14.5px}.notif .nb span{font-size:13.5px;color:var(--muted)}.notif .nb small{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.pfhead{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.pfhead > div:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.pfhead b{font-family:var(--display);font-size:20px;font-weight:700}
.pfhead small{color:var(--muted);font-weight:600}
.pfav{width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:20px;flex:none}
.lvl{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;border-radius:999px;padding:4px 10px;background:#F3E1CF;color:#7A4A1E}
.lvl .ico{width:14px;height:14px}
.lvl.lv-Argent{background:#E6EAEF;color:#3E4A57}.lvl.lv-Or{background:#FCEFC4;color:#7A5A00}
.ptscard{background:var(--green);color:#fff;border-radius:24px;padding:18px;display:flex;flex-direction:column;gap:8px;box-shadow:0 12px 28px rgba(17,146,87,.28)}
.pt-top{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:14px}
.pt-num{display:flex;align-items:baseline;gap:8px}
.pt-num b{font-family:var(--display);font-size:38px;font-weight:700;line-height:1}
.pt-num span{font-size:13.5px;font-weight:600;opacity:.85}
.pt-bar{height:8px;background:rgba(255,255,255,.25);border-radius:4px;overflow:hidden}
.pt-bar i{display:block;height:100%;background:#fff;border-radius:4px}
.ptscard small{font-size:12.5px;font-weight:600;opacity:.9}
.ptscard .pt-rule{opacity:.75}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.stats div{background:var(--card);border-radius:18px;padding:12px;text-align:center;box-shadow:var(--shadow)}
.stats b{display:block;font-family:var(--display);font-size:20px}
.stats small{font-size:12px;color:var(--muted);font-weight:700}
.perk{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;color:var(--muted);font-weight:600}
.perk.on{color:var(--fg)}.perk .ico{color:var(--muted)}.perk.on .ico{color:var(--green)}
.box h3 .ico{color:var(--green);margin-right:4px}
.xbtn{width:32px;height:32px;border-radius:10px;background:var(--app);color:var(--muted);font-weight:800}
.prefrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:14px}
.prefrow:last-child{border-bottom:0}
.seg.mini{margin:0;padding:3px;border-radius:12px}
.seg.mini button{padding:7px 10px;font-size:12.5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;gap:5px}
.seg.mini.three{grid-template-columns:repeat(3,auto)}
.seg.mini .ico{width:14px;height:14px}
.prefrow.tog input{width:44px;height:24px;accent-color:var(--green)}
.rowlink{display:flex;align-items:center;gap:12px;width:100%;background:var(--card);border-radius:18px;padding:14px;margin-top:12px;box-shadow:var(--shadow);font-weight:700;color:var(--fg)}
.rowlink span{flex:1;text-align:left}.rowlink .ico{color:var(--green)}
.ptsuse{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:18px;padding:12px 14px;margin-top:14px;box-shadow:inset 0 0 0 1.5px var(--green)}
.ptsuse .pi{width:36px;height:36px;border-radius:11px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.ptsuse > span:nth-child(2){flex:1;display:flex;flex-direction:column}
.ptsuse small{font-size:12.5px;color:var(--muted);font-weight:600}
.ptsuse input{width:22px;height:22px;accent-color:var(--green)}

/* ---------- tracking ---------- */
.livedot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(17,146,87,.5);animation:pulse 1.6s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(17,146,87,0)}100%{box-shadow:0 0 0 0 rgba(17,146,87,0)}}
.erlink{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border-radius:20px;padding:14px;margin-top:14px;box-shadow:var(--shadow);color:var(--fg)}
.erlink .pi{position:relative;width:42px;height:42px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;flex:none}
.erlink .pi .livedot{position:absolute;top:-2px;right:-2px;box-shadow:0 0 0 2px var(--card)}
.erlink > span:nth-child(2){flex:1;display:flex;flex-direction:column}
.erlink b{font-size:15px}.erlink small{font-size:12.5px;color:var(--muted);font-weight:600}
.erlink > .ico{color:var(--green)}
.nc-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.nc-qr{display:inline-flex;align-items:center;gap:8px;background:var(--app);color:var(--fg);border-radius:12px;padding:8px 12px;font-weight:800;font-size:13.5px}
.nc-qr.ghost{background:transparent;color:var(--app);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.ercard{display:flex;flex-direction:column;gap:12px;width:100%;text-align:left;background:var(--card);border-radius:20px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow);color:var(--fg)}
.ercard .t-top{display:flex;align-items:center;gap:10px}
.ercard .nm{flex:1;min-width:0;display:flex;flex-direction:column}.ercard .nm b{font-size:15px}.ercard .nm small{font-size:12.5px;color:var(--muted);font-weight:600}
.er-meta{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:var(--muted)}
.tline{position:relative;height:30px;margin:4px 12px}
.tline::before{content:"";position:absolute;left:0;right:0;top:14px;height:3px;border-radius:2px;background:var(--line)}
.tl-fill{position:absolute;left:0;top:14px;height:3px;border-radius:2px;background:var(--green)}
.tl-dot{position:absolute;top:10px;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 2.5px var(--line)}
.tl-dot.on{box-shadow:inset 0 0 0 2.5px var(--green);background:var(--green)}
.tl-bus{position:absolute;top:0;width:30px;height:30px;margin-left:-15px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 4px 12px rgba(17,146,87,.4);transition:left 1s}
.tl-bus .ico{width:16px;height:16px}
.tl-ends{display:flex;justify-content:space-between;font-size:12px;font-weight:700;color:var(--muted);margin-top:6px}
.trstatus{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--card);border-radius:20px;padding:14px 16px;box-shadow:var(--shadow)}
.trs-l{display:flex;flex-direction:column;gap:4px}
.trs-pill{align-self:flex-start;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 10px;background:var(--green-soft);color:var(--green)}
.st-upcoming .trs-pill{background:var(--app);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.st-arrived .trs-pill{background:var(--fg);color:var(--app)}
.trs-l b{font-size:15.5px}
.trs-r{text-align:right;display:flex;flex-direction:column}
.trs-r b{font-family:var(--display);font-size:22px;font-weight:700}
.trs-r small{font-size:11.5px;color:var(--muted);font-weight:700}
.stops2{padding:8px 16px}
.stp{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;position:relative;padding:10px 0}
.stp::before{content:"";position:absolute;left:10px;top:0;bottom:0;width:3px;background:var(--line)}
.stp:first-child::before{top:50%}.stp:last-child::before{bottom:50%}
.stp.done::before{background:var(--green)}
.stp.next::before{background:linear-gradient(var(--green) 50%,var(--line) 50%)}
.stp-dot{position:relative;z-index:1;width:14px;height:14px;margin-left:4.5px;border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 3px var(--line)}
.stp.done .stp-dot{background:var(--green);box-shadow:none}
.stp.next .stp-dot{box-shadow:inset 0 0 0 3px var(--green)}
.stp-b{display:flex;flex-direction:column;min-width:0}.stp-b b{font-size:14.5px}.stp-b small{font-size:12px;color:var(--muted);font-weight:600}
.stp.next .stp-b b{color:var(--green)}
.stp-t{font-weight:700;font-size:13.5px;color:var(--muted)}
.stp.done .stp-t{color:var(--fg)}
.busrow::before{background:linear-gradient(var(--green) 50%,var(--line) 50%)}
.stp-bus{position:relative;z-index:1;width:24px;height:24px;margin-left:-0.5px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 4px 10px rgba(17,146,87,.4)}
.stp-bus .ico{width:14px;height:14px}
.busrow .stp-b b{color:var(--green)}

.tl-seg{position:absolute;top:13px;height:5px;border-radius:3px;background:var(--green);opacity:.35;animation:segp 1.6s ease-in-out infinite}
@keyframes segp{50%{opacity:.85}}
.ercard.mine{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--green)}
.ercard .livepill .ico{width:13px;height:13px}
.codebox{background:var(--card);border-radius:18px;padding:12px 14px;margin:12px 0;box-shadow:var(--shadow)}
.codebox label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;margin-bottom:8px}
.codebox label .ico{color:var(--green);width:16px;height:16px}
.cb-row{display:flex;gap:8px}
.cb-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.cb-row .copyb{padding:0 16px}
.sharebox{box-shadow:var(--shadow),inset 0 0 0 1.5px var(--green)}
.busrow.town .stp-bus{background:var(--card);color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
.alertb .ico{flex:none}

/* ================= agency panel ================= */
[hidden]{display:none!important}
.ag-done h2{justify-content:center}
.ag-app{align-content:flex-start}
.ag-loginwrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px 16px;box-sizing:border-box;background:radial-gradient(60% 50% at 50% 0%,var(--green-soft),transparent 70%),var(--bg)}
.ag-loginbox{width:100%;max-width:400px;background:var(--card);border-radius:24px;padding:28px 24px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;text-align:left;box-sizing:border-box}
.ag-loginbox h1{font-family:var(--display);font-size:24px;text-align:center;margin-top:4px}.ag-loginbox h1 em{font-style:normal;color:var(--green)}
.ag-loginbox > .lead{text-align:center;margin:4px 0 8px}
.ag-loginbox .ag-verdict{margin:8px 0 0}
.ag-pw{position:relative}.ag-pw input{padding-right:48px}.ag-pw .ag-icon{position:absolute;right:4px;top:50%;transform:translateY(-50%)}
.ag-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--muted);flex:none}
.ag-icon:hover{background:var(--app);color:var(--fg)}
.ag-forgot{margin-top:14px;font-size:13.5px}.ag-forgot summary{color:var(--green);font-weight:700;cursor:pointer;text-align:center}.ag-forgot p{color:var(--muted);margin-top:8px}
.ag-branch{display:flex;flex-direction:column;gap:4px;margin:0 4px 10px;font-size:11.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.ag-branch select{height:40px;border-radius:11px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--fg)}
.ag-branch.fixed{flex-direction:row;align-items:center;gap:6px;background:var(--green-soft);color:var(--green);border-radius:11px;padding:9px 10px;text-transform:none;letter-spacing:0;font-size:13px}
.ag-me > span:nth-child(2){flex:1;min-width:0}.ag-me small{font-size:12px;color:var(--muted);font-weight:600}
.ag-av.big{width:52px;height:52px;font-size:17px}
.ag-mini.danger-soft{background:var(--red-soft);color:var(--red)}
.ag-roles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.ag-roles .ag-radio{margin:0}
.ag-pwbox{box-shadow:var(--shadow),inset 0 0 0 2px var(--green)}
.ag-bars{display:flex;align-items:flex-end;gap:12px;height:200px;padding-top:16px}
.ag-bars div{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.ag-bars i{display:block;width:100%;max-width:44px;background:var(--green);border-radius:8px 8px 3px 3px}
.ag-bars span{font-size:11.5px;font-weight:800}.ag-bars small{font-size:12px;color:var(--muted);font-weight:700}
#pwForm input{margin-bottom:2px}

.ag-phone h2{font-family:var(--display);font-size:16.5px;font-weight:600;letter-spacing:0;margin-bottom:6px}
.ag-table td b{white-space:nowrap}
#agency,#admin{min-height:100vh;background:var(--bg)}
.ag-side{min-width:0}
.adm-logo{background:var(--fg)!important;color:var(--app)!important}
.adm .ag-brand em{color:var(--fg)}
.adm-flag{display:flex;align-items:center;gap:8px;margin:0 6px 8px;padding:8px 10px;border-radius:12px;background:var(--red-soft);color:var(--red);font-weight:800;font-size:12.5px}.adm-flag .ico{width:16px;height:16px}
.adm-filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.adm-filters select{width:auto;flex:0 1 230px}
.ag-table .plate{white-space:nowrap}
.adm-filters select,.adm-search{height:42px;border-radius:12px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);border:0;color:var(--fg);font:600 14px var(--body);padding:0 12px;max-width:100%}
.adm-search{display:inline-flex;align-items:center;gap:8px;flex:1 1 260px;color:var(--muted)}.adm-search .ico{width:18px;height:18px;flex:none}
.adm-search input{border:0;background:transparent;height:40px;padding:0;flex:1;min-width:0;color:var(--fg);font:600 14px var(--body);box-shadow:none;outline:none}
.adm-search:focus-within{box-shadow:inset 0 0 0 2px var(--green)}
.adm-ag{display:inline-flex;align-items:center;gap:7px;font-weight:700;white-space:nowrap}
.adm-ag i{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 4px;border-radius:7px;color:#fff;font:800 10.5px var(--body);font-style:normal;box-sizing:border-box}
.adm-checks{display:flex;flex-wrap:wrap;gap:8px}.adm-checks label{flex-direction:row!important;align-items:center;gap:6px!important;padding:8px 12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)!important;font-size:14px!important;cursor:pointer}
.adm-checks input{width:18px;height:18px;accent-color:var(--green)}
.adm-danger{box-shadow:var(--shadow),inset 0 0 0 2px var(--red)}.adm-danger h2 .ico{color:var(--red)}
.ag-btn.danger{background:var(--red);color:#fff;box-shadow:none}
.adm-av{background:var(--fg)!important;color:var(--app)!important}
.adm-todo h2 .ico{color:#C9771A}
.ag-table select{height:36px;border-radius:10px;border:0;box-shadow:inset 0 0 0 1px var(--line);background:var(--card);color:var(--fg);font:600 13px var(--body);padding:0 8px}
.adm-tabs{margin-bottom:4px;align-self:flex-start;max-width:100%}
.mp-lib{display:flex;flex-wrap:wrap;gap:8px}
.mp-lib button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:14px;background:var(--app);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--fg);text-align:left;min-height:44px}
.mp-lib button b{font-size:14px}.mp-lib button small{font-size:11.5px;color:var(--muted);font-weight:700}
.mp-lib button.on{background:var(--green-soft);box-shadow:inset 0 0 0 2px var(--green)}
#admin textarea{width:100%;box-sizing:border-box;border-radius:14px;border:0;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--card);color:var(--fg);font:600 15px/1.5 var(--body);padding:12px 14px;resize:vertical;outline:none}
#admin textarea:focus{box-shadow:inset 0 0 0 2px var(--green)}
.mp-vars{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px}.mp-vars small{font-weight:700;color:var(--muted)}
.mp-vars .ag-mini{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.mp-count{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--green-soft);margin:10px 0 0;font-size:14px}.mp-count .ico{color:var(--green);flex:none}
.adm-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;cursor:pointer}.adm-check input{width:20px;height:20px;accent-color:var(--green);margin-top:2px;flex:none}
.adm-check span{display:flex;flex-direction:column;font-weight:700}.adm-check small{font-weight:600;color:var(--muted)}
.mp-confirm{margin-top:14px;padding:14px;border-radius:16px;display:flex;flex-direction:column;gap:6px}.mp-confirm span{color:var(--muted);font-size:14px}
.mp-prev{display:flex;flex-direction:column;gap:14px}
.mp-phone{border-radius:30px;padding:8px;background:#2A2E2D;max-width:300px;width:100%;align-self:center;box-sizing:border-box}
.mp-lock{border-radius:24px;min-height:200px;padding:18px 12px;background:linear-gradient(160deg,#1E5B40,#0F2A1D);display:flex;flex-direction:column;align-items:center;gap:14px}
.mp-time{color:#fff;font:600 40px var(--display);letter-spacing:-1px}
.mp-push{width:100%;box-sizing:border-box;display:flex;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.88);color:#0F2A1D}
.mp-ic{width:34px;height:34px;border-radius:9px;background:#119257;color:#fff;font:800 17px var(--display);display:grid;place-items:center;flex:none}
.mp-tx{display:flex;flex-direction:column;gap:1px;min-width:0;font-size:13px;line-height:1.35}.mp-tx>b{font-size:13.5px}
.mp-top{display:flex;justify-content:space-between;font-size:11px;color:#5E7468}.mp-top b{font-size:11px;letter-spacing:.4px}
.mp-mail{border-radius:16px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line);background:#fff;color:#0F2A1D}
.mp-mhead{padding:10px 14px;border-bottom:1px solid #E2EEE6;display:flex;flex-direction:column;gap:2px;background:#F8FBF9}.mp-mhead small{color:#5E7468;font-size:11.5px}.mp-mhead b{font-size:14px}
.mp-mbody{padding:18px;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.55}
.mp-mlogo{display:flex;align-items:center;gap:8px;font:800 16px var(--display)}.mp-mlogo span{width:26px;height:26px;border-radius:8px;background:#119257;color:#fff;display:grid;place-items:center;font-size:14px}.mp-mlogo em{font-style:normal;color:#119257}
.mp-mbody h3{margin:4px 0 0;font:700 19px var(--display)}.mp-mbody p{margin:0;color:#2F4A3B;white-space:pre-line}
.mp-mbtn{align-self:flex-start;background:#119257;color:#fff;font-weight:800;padding:10px 16px;border-radius:12px;font-size:13.5px}
.mp-mbody>small{color:#7D988A;font-size:11px;border-top:1px solid #E2EEE6;padding-top:10px}
.mp-note{color:#8A5A00!important}
.adm-switch{position:relative;display:inline-block;width:44px;height:26px;cursor:pointer}.adm-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.adm-switch i{position:absolute;inset:0;border-radius:13px;background:#C9D6CE;transition:background .2s;pointer-events:none}.adm-switch i::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.adm-switch input:checked+i{background:var(--green)}.adm-switch input:checked+i::after{transform:translateX(18px)}
.adm-switch input:focus-visible+i{outline:2px solid var(--green);outline-offset:2px}
.annb{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:var(--green-soft);color:var(--fg);font-weight:700;font-size:14px;margin-bottom:12px}.annb .ico{color:var(--green);flex:none}
.ag-app{display:flex;flex-wrap:wrap;min-height:100vh}
.ag-side{flex:1 1 230px;max-width:250px;background:var(--card);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:6px;box-sizing:border-box}
.ag-brand{display:flex;align-items:center;gap:10px;padding:0 6px 14px}
.ag-brand b{font-family:var(--display);font-size:17px;display:block}.ag-brand em{font-style:normal;color:var(--green)}
.ag-brand small{font-size:12px;color:var(--muted);font-weight:600}
.ag-logo{width:36px;height:36px;border-radius:11px;background:var(--green);color:#fff;display:grid;place-items:center;flex:none}
.logo i.klogo{background:none!important;box-shadow:none!important;color:var(--green);width:22px;height:33px;border-radius:0;transform:rotate(-8deg)}.logo i.klogo svg{width:22px;height:33px}
.ag-logo{background:none!important;color:var(--green)}.ag-logo svg.kmark{height:34px;width:auto;transform:rotate(-8deg)}.ag-logo.big svg.kmark{height:54px}
.adm-logo{color:var(--fg)!important}.adm-logo svg.kmark path[stroke]{stroke:var(--app)}.adm-logo svg.kmark path[fill]:not([fill=currentColor]){fill:var(--app)}
.mp-ic svg,.kml svg{height:22px;width:auto;color:#fff}.mp-mlogo .kml{background:#119257;width:26px;height:26px;border-radius:8px;display:grid;place-items:center}.mp-mlogo .kml svg{height:18px}
/* wordmark font: same as the logo */
.logo span,.sp-name,.ag-brand b,.ag-loginbox h1,.ag-login h1,.drn-brand,.mp-mlogo,.dr-login h1{font-family:'Outfit',var(--display)!important;font-weight:700!important;letter-spacing:-.5px}
.logo span{font-size:24px}.sp-name{font-size:40px!important;letter-spacing:-1.2px!important}.ag-loginbox h1{font-size:28px}.drn-brand{font-size:18px}
.ag-logo.big{width:56px;height:56px;border-radius:16px;margin:0 auto 12px}.ag-logo.big .ico{width:28px;height:28px}
.ag-nav{display:flex;flex-direction:column;gap:2px}
.ag-nav button{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;font-weight:700;font-size:14px;color:var(--muted);text-align:left}
.ag-nav button.on{background:var(--green-soft);color:var(--green)}
.ag-nav button:hover{color:var(--fg)}
.ag-badge{margin-left:auto;font-style:normal;background:var(--green);color:#fff;font-size:11px;font-weight:800;border-radius:999px;padding:1px 7px}
.ag-me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 6px 6px;border-top:1px solid var(--line)}
.ag-me b{display:block;font-size:13.5px}
.ag-av{width:34px;height:34px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}
.ag-link{color:var(--green);font-size:12.5px;font-weight:700;text-align:left;padding:2px 0;text-decoration:none}
.ag-main{flex:999 1 560px;min-width:0;box-sizing:border-box;padding:24px max(16px,2.2vw) 60px;display:flex;flex-direction:column;gap:18px}
.ag-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.ag-head h1{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.6px}
.ag-head > div:first-child span{font-size:13.5px;color:var(--muted);font-weight:600}
.ag-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.ag-btn{height:42px;padding:0 16px;border-radius:12px;background:var(--card);color:var(--fg);font-weight:700;font-size:14px;box-shadow:inset 0 0 0 1px var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px}
.ag-btn.pri{background:var(--green);color:#fff;box-shadow:none}
.ag-btn:disabled{opacity:.4;cursor:not-allowed}
.ag-btn.full{width:100%;margin-top:12px}.ag-btn.big{height:56px;font-size:16px}
.ag-mini{height:32px;padding:0 10px;border-radius:9px;font-size:12.5px;font-weight:700;background:var(--green-soft);color:var(--green);margin-left:4px;white-space:nowrap}
.ag-mini.danger{background:var(--red);color:#fff}
.ag-date{display:inline-flex;align-items:center;gap:6px;background:var(--card);border-radius:12px;padding:0 10px;height:42px;box-shadow:inset 0 0 0 1px var(--line);color:var(--green)}
.ag-date input{border:0;background:transparent;padding:0;width:auto;font-weight:700;color:var(--fg)}
.ag-sel{height:42px;border-radius:12px;padding:0 10px;font-weight:600;width:auto;max-width:100%}
.ag-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.ag-kpis div{background:var(--card);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:3px}
.ag-kpis small{font-size:13px;font-weight:700;color:var(--muted)}
.ag-kpis b{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.4px}
.ag-kpis em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--green)}
.ag-cols{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.ag-card{background:var(--card);border-radius:20px;padding:18px 20px;box-shadow:var(--shadow);min-width:0;box-sizing:border-box}
.ag-card.grow{flex:3 1 520px}.ag-card.side{flex:1 1 300px}
.ag-card h2{font-family:var(--display);font-weight:600;font-size:16.5px;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ag-table{overflow-x:auto}
.ag-table table{width:100%;border-collapse:collapse;font-size:14px;min-width:680px}
.ag-table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:8px;font-weight:700}
.ag-table td{padding:11px 8px;border-top:1px solid var(--line);vertical-align:middle}
.ag-table td small{display:block;font-size:12px;color:var(--muted);font-weight:600}
.ag-table td.t{font-family:var(--display);font-weight:700;font-size:16px}
.ag-table td.r{text-align:right;white-space:nowrap}
.ag-table tr.off td{opacity:.5}
.ag-table td.lead{color:var(--muted);text-align:center;padding:24px}
.plate.sm{font-size:11.5px;padding:0 5px}
.ag-fill{height:8px;border-radius:4px;background:var(--line);overflow:hidden;min-width:90px}
.ag-fill i{display:block;height:100%;background:var(--green);border-radius:4px}
.ag-fill.big{height:10px;margin-top:8px}
.ag-chip{display:inline-block;font-size:12px;font-weight:800;border-radius:999px;padding:4px 10px;white-space:nowrap;background:var(--app);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.ag-chip.on{background:var(--green-soft);color:var(--green);box-shadow:none}
.ag-chip.solid{background:var(--green);color:#fff;box-shadow:none}
.ag-chip.dark{background:var(--fg);color:var(--app);box-shadow:none}
.ag-chip.warn{background:var(--sun-soft);color:#7A5200;box-shadow:none}
.ag-chip.bad{background:var(--red-soft);color:var(--red);box-shadow:none}
.ag-chip.muted{opacity:.8}
.ag-feed{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.ag-feed:last-child{border-bottom:0}
.ag-feed > span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.ag-feed b{font-size:13.5px}.ag-feed small{font-size:12px;color:var(--muted);font-weight:600}
.ag-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.ag-form label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--muted)}
.ag-form .wide{grid-column:1/-1}
#site a{color:#0B7A47}
#site a:hover{color:#075C35}
#site .navlink{color:#0F2A1D;text-decoration:none;font-weight:700;font-size:15px;padding:10px 4px}
#site .navlink:hover{color:#119257}
#site .menuitem{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 12px;border-radius:12px;color:#0F2A1D;text-decoration:none;font-weight:700;font-size:15px}
#site .menuitem:hover{background:#F4FAF6;color:#0F2A1D}
#site .btn-pri{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:14px;background:#119257;color:#FFFFFF;font-weight:800;font-size:15px;text-decoration:none;border:0;cursor:pointer}
#site .btn-pri:hover{background:#0B7A47;color:#FFFFFF}
#site .btn-sec{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:14px;background:#FFFFFF;color:#0F2A1D;font-weight:800;font-size:15px;text-decoration:none;box-shadow:inset 0 0 0 1.5px #D3E7DA}
#site .btn-sec:hover{color:#119257}
#site .route:hover{box-shadow:0 0 0 2px #119257,0 10px 30px rgba(15,42,29,.08)!important}
#site details summary{cursor:pointer;list-style:none}
#site details summary::-webkit-details-marker{display:none}
#site details[open] .chev{transform:rotate(180deg)}
#site .chev{transition:transform .2s}
#site .faq{border-bottom:1px solid #D3E7DA}
#site .faq summary{display:flex;align-items:center;gap:16px;padding:14px 4px;min-height:44px}
#site .faq-n{font-family:Outfit,sans-serif;font-weight:600;font-size:13px;color:#7D988A;width:22px;flex:none}
#site .faq-q{flex:1;font-family:Outfit,sans-serif;font-weight:600;font-size:clamp(16px,1.4vw,18px);letter-spacing:-.3px;color:#0F2A1D;transition:color .2s}
#site .faq summary:hover .faq-q{color:#119257}
#site .faq-i{position:relative;width:28px;height:28px;border-radius:50%;flex:none;transition:background .25s,transform .3s}
#site .faq-i::before,#site .faq-i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:#0F2A1D;border-radius:2px;transform:translate(-50%,-50%);transition:background .25s}
#site .faq-i::after{transform:translate(-50%,-50%) rotate(90deg)}
#site .faq[open] .faq-i{background:#119257;transform:rotate(45deg)}
#site .faq[open] .faq-i::before,#site .faq[open] .faq-i::after{background:#FFFFFF}
#site .faq[open] .faq-q{color:#119257}
#site .faq-a{margin:0;padding:0 44px 16px 42px;font-size:15px;line-height:1.65;color:#46604F;max-width:620px}
#site .faq-n{display:none}
#site .faq-a{padding:0 4px 22px}
#site input,#site select{font:inherit}
#site [hidden]{display:none!important}
#site{position:relative;z-index:1;background:#F4FAF6;min-height:100vh}
.adm-seg{display:inline-flex;background:var(--card);border-radius:12px;padding:3px;box-shadow:inset 0 0 0 1px var(--line)}
.adm-seg button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:13px;padding:8px 12px;border-radius:9px;min-height:36px;cursor:pointer}
.adm-seg button.on{background:var(--green);color:#fff}
.adm-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}
.adm-langrow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;margin-top:auto;font-size:12px;font-weight:700;color:var(--muted)}
.adm-langrow .adm-lang{margin:0}.adm-langrow+.ag-me{margin-top:0}
.adm-lang{display:inline-flex;margin-left:auto;background:var(--app);border-radius:10px;padding:2px;box-shadow:inset 0 0 0 1px var(--line);flex:none}
.adm-lang button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:800;padding:6px 9px;border-radius:8px;cursor:pointer;min-height:30px}
.adm-lang button.on{background:var(--green);color:#fff}
.ag-loginbox .adm-lang{margin:0 auto 6px}
.adm-bars{overflow:visible}
.ag-bars .adm-bar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;border:0;background:transparent;padding:0;font:inherit;color:inherit;cursor:pointer;position:relative;border-radius:10px;min-width:0}
.ag-bars .adm-bar>span.num{font-size:12px;font-weight:800;color:var(--muted)}
.ag-bars .adm-bar small{font-size:12px;color:var(--muted);font-weight:700}
.ag-bars .adm-bar i{transition:opacity .15s,background .15s}
.ag-bars .adm-bar:hover i,.ag-bars .adm-bar:focus-visible i{background:#0B7A47}
.ag-bars.has-sel .adm-bar:not(.on) i{opacity:.35}
.ag-bars .adm-bar.on small{color:var(--green)}
.ag-bars .adm-bar.on i{box-shadow:0 0 0 3px var(--green-soft)}
.adm-tip{display:none;position:absolute;bottom:calc(100% - 18px);left:50%;transform:translateX(-50%);z-index:20;min-width:210px;background:#0F2A1D;color:#F2FBF6;border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.25);text-align:left;pointer-events:none;flex-direction:column;gap:2px}
.adm-tip.l{left:0;transform:none}.adm-tip.r{left:auto;right:0;transform:none}
.adm-tip b{font-size:13px;margin-bottom:4px}
.adm-tip .kv{border:0;padding:2px 0;font-size:12.5px;color:#C9DDD1}.adm-tip .kv .num{color:#fff;font-weight:800}
.adm-tip.mini{min-width:0;white-space:nowrap;bottom:calc(100% + 6px);font-size:12px}
.adm-bar:hover .adm-tip,.adm-bar:focus-visible .adm-tip,.adm-hr:hover .adm-tip,.adm-hr:focus-visible .adm-tip{display:flex}
.adm-hours .adm-hr{position:relative;outline:none}.adm-hr:hover i,.adm-hr:focus-visible i{background:var(--green)}
.adm-selchip{display:inline-flex;align-items:center;gap:8px;background:var(--green-soft);color:var(--green);border-radius:999px;padding:4px 4px 4px 12px;font-size:13px;font-weight:700}
.adm-selchip b{color:var(--fg)}.adm-selchip button{border:0;background:var(--card);color:var(--fg);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:12px}
.adm-for{display:block;font-size:12.5px;font-weight:700;color:var(--green);margin-top:2px}
.adm-kpis.sel>div{box-shadow:inset 0 0 0 1.5px var(--green),var(--shadow)}
@media (hover:none),(max-width:640px){.adm-tip{display:none!important}}
.adm-selchip{max-width:100%;flex-wrap:wrap}.adm-selchip b{min-width:0}

.adm-kpis em{font-style:normal;font-size:12.5px;color:var(--muted);font-weight:600}
.adm-dl{font-style:normal;font-weight:800;font-size:12px;margin-right:4px}.adm-dl.up{color:var(--green)}.adm-dl.down{color:var(--red)}
.adm-ch{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.adm-ch h2{margin:0}.adm-ch .lead{margin:0;font-size:13px}
.adm-bars{height:180px}.adm-bars.dense{gap:4px}.adm-bars.dense i{border-radius:4px 4px 2px 2px}.adm-bars.dense small{font-size:10px}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:16px;margin-top:16px}.adm-grid .ag-card{margin:0}
.adm-hbars{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.adm-hbars>div{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13.5px}
.adm-hbars>div>span:first-child{display:flex;flex-direction:column;min-width:0}.adm-hbars b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-hbars small{color:var(--muted);font-size:12px}
.adm-hbars i{display:block;height:10px;border-radius:5px;background:var(--app);overflow:hidden}.adm-hbars em{display:block;height:100%;background:var(--green);border-radius:5px}
.adm-hbars .num{font-weight:800;font-size:13px;white-space:nowrap}
.adm-split{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--app);margin:8px 0 10px}.adm-split i{display:block;height:100%}
.adm-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:-1px}
.adm-gauge{display:flex;align-items:center;gap:14px;margin:4px 0 12px}.adm-gauge b{white-space:nowrap;font-family:var(--display);font-size:34px;color:var(--green)}.adm-gauge span{font-size:13px;color:var(--muted);line-height:1.4}
.adm-hours{display:flex;align-items:flex-end;gap:3px;height:70px}.adm-hours div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}
.adm-hours i{display:block;width:100%;background:var(--green-soft);border-radius:3px;box-shadow:inset 0 0 0 1px var(--green)}.adm-hours small{font-size:10px;color:var(--muted);height:12px}
.adm-client{border:1.5px solid var(--green)}
.ag-who .ag-av{display:grid;place-items:center;width:36px;height:36px;flex:none;align-self:center}
.ag-head a.ag-btn{text-decoration:none}
.adm-cstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:12px 0 16px}.adm-cstats div{background:var(--app);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column}.adm-cstats small{font-size:12px;color:var(--muted);font-weight:700}.adm-cstats b{font-size:18px}
.adm-toggle{flex-direction:row!important;align-items:center;gap:12px!important;background:var(--app);border-radius:14px;padding:12px 14px;cursor:pointer}
.adm-toggle input{width:20px;height:20px;flex:none;accent-color:var(--green)}.adm-toggle span{display:flex;flex-direction:column;gap:2px}.adm-toggle b{color:var(--fg);font-size:14px}.adm-toggle small{font-weight:600}
.adm-edit{margin-top:16px;padding:14px;border-radius:16px;background:var(--green-soft)}.adm-edit h3{margin:0 0 10px;font-size:16px}
.adm-rep{display:flex;gap:12px;align-items:flex-end;padding:12px 0;border-top:1px solid var(--line)}.adm-rep .ag-form{flex:1}.adm-rep0{padding:10px 0;border-top:1px solid var(--line)}
.adm-repact{display:flex;gap:6px}
.ag-form textarea{font:inherit;font-size:14px;color:var(--fg);font-weight:600;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:var(--card);resize:vertical;min-height:44px}
@media (max-width:640px){.adm-rep{flex-direction:column;align-items:stretch}}

.ag-form input,.ag-form select{color:var(--fg);font-weight:600}
.ag-lbl{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin:12px 0 6px}
.ag-facs{display:flex;flex-wrap:wrap;gap:8px}
.ag-fac{flex-direction:row!important;align-items:center;gap:8px!important;background:var(--app);border-radius:12px;padding:8px 12px;color:var(--fg)!important;font-weight:700}
.ag-fac input{width:18px;height:18px;accent-color:var(--green)}.ag-fac .ico{color:var(--green)}
.ag-deps{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.ag-deps button{display:flex;flex-direction:column;gap:2px;text-align:left;background:var(--app);border-radius:14px;padding:10px 12px;box-shadow:inset 0 0 0 1.5px transparent;color:var(--fg)}
.ag-deps button.on{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-soft)}
.ag-deps button:disabled{opacity:.45;cursor:not-allowed}
.ag-deps b{font-family:var(--display);font-size:18px}.ag-deps span{font-size:13px;font-weight:700}.ag-deps small{font-size:12px;color:var(--muted);font-weight:600}
.ag-done{text-align:center;max-width:620px}
.ag-done .okmark{margin:6px auto 12px}
.ag-quick{display:flex;flex-wrap:wrap;gap:6px}
.ag-quick button{height:38px;min-width:46px;border-radius:10px;background:var(--app);font-weight:800;box-shadow:inset 0 0 0 1px var(--line)}
.ag-quick button.on{background:var(--green);color:#fff;box-shadow:none}
.ag-quick input{width:90px}
.ag-phone{max-width:520px;width:100%}
.ag-count{background:var(--card);border-radius:18px;padding:16px;margin-top:12px;box-shadow:var(--shadow)}
.ag-count b{font-family:var(--display);font-size:30px;margin-right:8px}.ag-count span{font-weight:700;color:var(--muted)}
.ag-verdict{display:flex;align-items:center;gap:12px;border-radius:16px;padding:14px;margin-top:12px}
.ag-verdict.ok{background:var(--green-soft)}.ag-verdict.bad{background:var(--red-soft)}
.ag-verdict > .ico{width:28px;height:28px;flex:none}.ag-verdict.ok > .ico{color:var(--green)}.ag-verdict.bad > .ico{color:var(--red)}
.ag-verdict span{flex:1;display:flex;flex-direction:column}.ag-verdict small{color:var(--muted);font-weight:600}
.seatno{min-width:38px;height:30px;border-radius:9px;background:var(--green-soft);color:var(--green);font-weight:800;display:grid;place-items:center;padding:0 6px}
.ag-stops{display:grid;gap:8px}
.ag-stops button{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:14px;padding:14px;box-shadow:var(--shadow);font-weight:800;font-size:15px;text-align:left;color:var(--fg)}
.ag-stops button span{flex:1}.ag-stops button small{color:var(--muted);font-weight:700}
.ag-stops button .ico{color:var(--green)}
.ag-stops button.done{background:var(--green-soft)}
.ag-radio{display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;margin-bottom:8px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
.ag-radio.on{box-shadow:inset 0 0 0 2px var(--green);background:var(--green-soft)}
.ag-radio input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}
.ag-radio span{display:flex;flex-direction:column}.ag-radio small{color:var(--muted);font-weight:600;font-size:13px}
.ag-login{max-width:460px;margin:0 auto;padding:60px 20px;text-align:center}
.ag-login h1{font-family:var(--display);font-size:28px;margin-bottom:6px}
.ag-login .lbl{text-align:left}
.ag-pick{display:flex;flex-direction:column;gap:8px}
.ag-pick button{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow);font-size:15px;color:var(--fg)}
.ag-pick button b{flex:1;text-align:left}.ag-pick .ico{color:var(--green)}
@media (max-width:820px){
  .ag-side{max-width:none;flex-basis:100%;border-right:0;border-bottom:1px solid var(--line);padding:12px}
  .ag-brand{padding-bottom:8px}
  .ag-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none}
  .ag-nav button{flex:none}
  .ag-me{margin-top:4px;padding:8px 6px 0}
  .ag-branch{margin-bottom:6px}
}

/* ================= driver app ================= */
#driverApp{min-height:100vh;background:var(--bg)}
.dr{max-width:480px;margin:0 auto;min-height:100vh;background:var(--app);box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}
.dr-login{padding:56px 22px 30px;text-align:center;display:flex;flex-direction:column;gap:6px}
.dr-login h1{font-family:var(--display);font-size:26px}.dr-login h1 em{font-style:normal;color:var(--green)}
.dr-login form{display:flex;flex-direction:column;text-align:left}
.dr-login .ag-verdict{text-align:left}
.dr-pin{display:flex;justify-content:center;gap:16px;margin:18px 0}
.dr-pin i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 2.5px var(--green)}
.dr-pin i.on{background:var(--green)}
.dr-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:300px;margin:0 auto 10px}
.dr-keys button{height:68px;border-radius:20px;background:var(--card);box-shadow:var(--shadow);font-family:var(--display);font-size:26px;font-weight:700;color:var(--fg)}
.dr-keys button:active{background:var(--green-soft)}
.drn{max-width:480px;margin:0 auto;min-height:100vh;background:#0B1A13;color:#F2FBF6;display:flex;flex-direction:column;padding:28px 24px 26px;box-sizing:border-box;font-family:var(--body)}
.drn-top{display:flex;align-items:center;justify-content:space-between}
.drn-brand{font-family:var(--display);font-weight:700;font-size:16px;color:#4FD99A}
.drn-mode{display:flex;align-items:center;gap:6px;font-size:13px;color:#9FB8AA}.drn-mode svg{width:16px;height:16px}
.drn-mid{display:flex;flex-direction:column;align-items:center;text-align:center}
.drn-chip{margin-top:40px;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:999px;background:#13281D}
.drn-chip .av{width:40px;height:40px;border-radius:50%;background:#119257;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:15px;color:#fff;overflow:hidden}
.drn-chip .av img{width:100%;height:100%;object-fit:cover}.drn-chip .av svg{width:20px;height:20px}
.drn-chip b{font-size:15px}
.drn-link{background:none;border:0;color:#4FD99A;font:700 13px var(--body);cursor:pointer;padding:8px 4px;min-height:44px}
.drn h1{margin:28px 0 20px;font-family:var(--display);font-size:22px;font-weight:700}
.drn-dots{display:flex;gap:14px}
.drn-dots i{width:22px;height:22px;border-radius:50%;box-sizing:border-box;border:2px solid #4A6B59;transition:all .15s}
.drn-dots i.on{background:#4FD99A;border-color:#4FD99A;box-shadow:0 0 0 4px rgba(79,217,154,.18)}
.drn-err{margin-top:18px;display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:#3A1416;color:#FFC9C9;font-size:14px;font-weight:600;text-align:left}.drn-err svg{width:18px;height:18px;flex:none}
.drn-keys{margin-top:auto;padding-top:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.drn-keys button{height:74px;border-radius:20px;border:2px solid #2A4A39;background:transparent;font-family:var(--display);font-size:32px;font-weight:600;color:#F2FBF6;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}
.drn-keys button:active{background:#1C3A2B;border-color:#4FD99A}
.drn-keys button.del{border-color:transparent}.drn-keys button.del svg{width:30px;height:30px}
.drn-keys button:disabled{opacity:.5}
.drn-foot{margin:20px 0 0;font-size:13px;color:#9FB8AA;text-align:center}
.drn form{margin-top:auto;display:flex;flex-direction:column;gap:12px}
.drn label{font-size:14px;font-weight:600;color:#9FB8AA}
.drn input{height:64px;border-radius:18px;border:2px solid #2A4A39;background:#13281D;color:#F2FBF6;font:600 24px var(--display);padding:0 18px;letter-spacing:1px;outline:none}
.drn input:focus{border-color:#4FD99A}
.drn-go{height:64px;border-radius:18px;border:0;background:#4FD99A;color:#0B1A13;font:700 18px var(--display);cursor:pointer}
.dr-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;display:flex;align-items:center;gap:10px;padding:12px max(16px,env(safe-area-inset-right,0px)) 12px max(16px,env(safe-area-inset-left,0px));background:var(--app);border-bottom:1px solid var(--line)}
.dr-who{flex:1;min-width:0;display:flex;flex-direction:column}.dr-who b{font-size:15px}.dr-who small{font-size:12px;color:var(--muted);font-weight:600}
.dr-net{font-size:12px;font-weight:800;color:var(--green);background:var(--green-soft);border-radius:999px;padding:4px 10px}
.dr-net.off{color:var(--red);background:var(--red-soft)}
.dr-main{padding:18px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:12px}
.dr-h{font-family:var(--display);font-size:24px}
.dr-next,.dr-live,.dr-card{background:var(--card);border-radius:24px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px}
.dr-next.empty{text-align:center;color:var(--muted)}.dr-next.empty b{color:var(--fg);font-size:17px}
.dr-tag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;background:var(--green-soft);color:var(--green);border-radius:999px;padding:5px 12px}
.dr-route{font-family:var(--display);font-size:26px;font-weight:700;letter-spacing:-.5px}
.dr-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-weight:700;color:var(--muted);font-size:14px}
.dr-pax{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dr-pax span{background:var(--app);border-radius:14px;padding:10px;display:flex;flex-direction:column;font-size:12px;font-weight:700;color:var(--muted);text-align:center}
.dr-pax b{font-family:var(--display);font-size:18px;color:var(--fg)}
.dr-place{display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:600}
.dr-big{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:64px;border-radius:20px;font-size:18px;font-weight:800;color:#fff;background:var(--green);box-shadow:0 10px 24px rgba(17,146,87,.3)}
.dr-big .ico{width:24px;height:24px}
.dr-big.end{background:var(--fg);color:var(--app);box-shadow:none;margin-top:6px}
.dr-big.warn{background:#C9771A;box-shadow:none}
.dr-big:disabled{opacity:.5}
.dr-inc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dr-inc button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border-radius:18px;background:var(--card);box-shadow:var(--shadow);font-weight:800;font-size:12.5px;color:var(--fg);min-height:88px;justify-content:center}
.dr-inc button .ico{width:26px;height:26px;color:#C9771A}
.dr-card h3{display:flex;align-items:center;gap:8px;font-size:17px}.dr-card h3 .ico{color:#C9771A}
.dr-card textarea{font:inherit;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--app);color:var(--fg);resize:vertical}
.dr-row{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow)}
.dr-row > b{font-family:var(--display);font-size:17px;width:52px}
.dr-row span{flex:1;display:flex;flex-direction:column;font-weight:700}.dr-row small{font-size:12px;color:var(--muted);font-weight:600}
.dr-row.done .ico{color:var(--green)}
.dr-gps{display:flex;align-items:center;gap:6px;color:var(--muted);font-weight:600;font-size:12px}.dr-gps .ico{width:14px;height:14px;color:var(--green)}
.dr-safe{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted);font-weight:600;background:var(--sun-soft);border-radius:14px;padding:10px 12px}
.dr-safe .ico{flex:none;color:#8A5A00;width:16px;height:16px}
.ag-incidents{box-shadow:var(--shadow),inset 0 0 0 2px #E8A23A}
.ag-incidents h2 .ico{color:#C9771A}
.ag-inc-ico{width:34px;height:34px;border-radius:10px;background:var(--sun-soft);color:#8A5A00;display:grid;place-items:center;flex:none}

.pav{width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--green-soft);color:var(--green);display:grid;place-items:center;line-height:1;font-weight:800;font-size:13px;flex:none}
.pav.sm{width:24px;height:24px;font-size:10px}.pav.md{width:38px;height:38px}.pav.xl{width:104px;height:104px;font-size:32px;font-family:var(--display);box-shadow:0 0 0 4px var(--card),0 0 0 6px var(--green-soft)}
img.av{object-fit:cover}
.driver small{display:block}
.dr-tabs{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--card);border-top:1px solid var(--line);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));margin-top:auto}
.dr-tabs button{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;height:52px;border-radius:16px;font-weight:800;color:var(--muted)}
.dr-tabs button.on{background:var(--green-soft);color:var(--green)}
.dr-tabs .livedot{position:absolute;top:10px;right:calc(50% - 46px)}
.dr-tabs .pend{position:absolute;top:10px;right:calc(50% - 40px);width:9px;height:9px;border-radius:50%;background:#E8A23A}
.dr-prof{align-items:center;text-align:center}
.dr-photo{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:4px}
.dr-photobtn{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:var(--green);background:var(--green-soft);border-radius:999px;padding:7px 12px;cursor:pointer}
.dr-photobtn .ico{width:16px;height:16px}
.dr-note{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--muted);font-weight:600;text-align:left;margin-top:4px}
.dr-note .ico{width:16px;height:16px;flex:none;color:var(--green)}
.dr-card h3{font-size:16px}.dr-card h3 .ico{color:var(--green)}
.dr-langs{display:flex;flex-wrap:wrap;gap:8px}
.dr-langs button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border-radius:999px;font-weight:700;background:var(--app);box-shadow:inset 0 0 0 1px var(--line);color:var(--fg)}
.dr-langs button.on{background:var(--green);color:#fff;box-shadow:none}.dr-langs .ico{width:15px;height:15px}
.dr-info{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.dr-info:last-of-type{border-bottom:0}
.dr-info > span{flex:1;min-width:0;display:flex;flex-direction:column}
.dr-info small{font-size:12px;color:var(--muted);font-weight:700}.dr-info b{font-size:15px}
.dr-info em{font-style:normal;font-size:12.5px;color:#8A5A00;font-weight:700}
.dr-reqf{display:flex;flex-direction:column;background:var(--app);border-radius:16px;padding:14px;margin-top:6px}
.ag-badge.warn{background:#E8A23A}
.ag-reqs{box-shadow:var(--shadow),inset 0 0 0 2px #E8A23A}
.ag-who{display:flex;align-items:center;gap:10px}.ag-who > span{display:flex;flex-direction:column}

.dr-big.scan{background:var(--card);color:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
label.dr-big{cursor:pointer}
.dr-verdict{display:flex;align-items:center;gap:14px;border-radius:22px;padding:18px;animation:pop .25s}
.dr-verdict.ok{background:var(--green);color:#fff}.dr-verdict.bad{background:var(--red);color:#fff}
.dr-verdict > .ico{width:40px;height:40px;flex:none}
.dr-verdict span{display:flex;flex-direction:column}.dr-verdict b{font-family:var(--display);font-size:22px}.dr-verdict small{font-weight:700;opacity:.9;font-size:14px}
@keyframes pop{from{transform:scale(.96);opacity:.6}}
.dr-row .seatno{flex:none}
.dr-acts{display:flex;gap:8px;flex-wrap:wrap}.dr-acts>*{flex:1 1 140px}
.dr-chips{display:flex;flex-wrap:wrap;gap:8px}
.dr-chips button{min-height:44px;padding:0 14px;border-radius:14px;background:var(--app);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:700;font-size:14px;color:var(--fg)}
.dr-chips button.on{background:#C9771A;color:#fff;box-shadow:none}
.dr-call{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--green-soft);color:var(--green);flex:none}
.dr-call .ico{width:20px;height:20px}
.dr-delay{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:#FFF1DF;color:#7A4508;font-weight:700}
.dr-delay span{flex:1;display:flex;flex-direction:column}.dr-delay small{font-weight:600;opacity:.85}.dr-delay .ico{flex:none}
:root[data-theme="dark"] .dr-delay{background:#3A2A12;color:#FFD9A8}
.pst{font-size:11.5px;font-weight:800;font-style:normal;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green);align-self:flex-start;margin-top:3px}
.pst.out{background:var(--app);color:var(--muted)}
#splash{position:fixed;inset:0;z-index:999;background:#FFFFFF;display:flex;align-items:center;justify-content:center;transition:opacity .35s ease-in,transform .35s ease-in}
#splash.out{opacity:0;transform:scale(1.04);pointer-events:none}
.sp-stage{display:flex;flex-direction:column;align-items:center;gap:22px}
.sp-lock{display:flex;align-items:center;gap:16px}.sp-name{white-space:nowrap}
.sp-mark{display:block;width:52px;height:78px;animation:spDrop .7s cubic-bezier(.2,.9,.25,1.25) .05s both}
.sp-mark svg{width:100%;height:100%;display:block;overflow:visible}
.sp-mark .tk{fill:#119257}.sp-mark .ln{stroke:#fff;opacity:.75}.sp-mark .kk{stroke:#fff;stroke-dasharray:140;stroke-dashoffset:140;animation:spDraw .5s ease-out .45s forwards}.sp-mark .st{fill:#fff;transform-box:fill-box;transform-origin:center;animation:spStar .4s cubic-bezier(.2,.9,.3,1.6) .85s both}
#splash.drv .sp-mark .tk{fill:#4FD99A}#splash.drv .sp-mark .ln{stroke:#0B1A13}#splash.drv .sp-mark .kk{stroke:#0B1A13}#splash.drv .sp-mark .st{fill:#0B1A13}
@keyframes spDrop{0%{opacity:0;transform:translateY(-40px) rotate(-30deg) scale(.7)}60%{opacity:1}100%{opacity:1;transform:rotate(-8deg)}}
@keyframes spDraw{to{stroke-dashoffset:0}}
@keyframes spStar{from{opacity:0;transform:scale(0) rotate(-90deg)}to{opacity:1;transform:none}}
.sp-name{font:700 34px var(--display);letter-spacing:-.8px;color:#0F2A1D}
.sp-name span{display:inline-block;animation:spCh .3s ease-out both;animation-delay:calc(.5s + var(--d) * .06s)}.sp-name .g{color:#119257}
.sp-sub{font-size:14px;font-weight:600;color:#5E7468;margin-top:-12px;animation:spSub .4s ease-out 1.1s both}
@keyframes spPop{0%{opacity:0;transform:scale(.5) rotate(-8deg)}65%{opacity:1;transform:scale(1.08) rotate(2deg)}100%{opacity:1;transform:none}}
@keyframes spRing{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.9)}}
@keyframes spCh{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes spSub{from{opacity:0}to{opacity:1}}
#splash.drv{background:#0B1A13!important}#splash.drv .sp-name{color:#F2FBF6!important}#splash.drv .sp-name .g{color:#4FD99A}#splash.drv .sp-sub{color:#9FB8AA}#splash.drv .sp-ring{border-color:#4FD99A}#splash.drv .sp-logo{box-shadow:0 14px 34px rgba(79,217,154,.25)}
:root[data-theme="dark"] #splash{background:#0B1A13}:root[data-theme="dark"] .sp-name{color:#F2FBF6}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) #splash{background:#0B1A13}:root:not([data-theme="light"]) .sp-name{color:#F2FBF6}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.sos-btn{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 12px;padding:12px 16px;border:0;border-radius:16px;background:#D92D20;color:#fff;font:inherit;text-align:left;cursor:pointer}
.sos-btn svg{width:26px;height:26px;flex:none}.sos-btn b{display:block;font-size:17px;letter-spacing:1px}.sos-btn small{opacity:.9}
#sosSheet,#shrSheet{position:fixed;inset:0;z-index:95}#sosSheet[hidden],#shrSheet[hidden]{display:none}.sos-bg{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.sos-card{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(480px,100%);max-height:92vh;overflow:auto;background:var(--card,#fff);color:var(--ink,#0F2A1D);border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
.sos-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sos-h>div{flex:1;min-width:0}.sos-h b{display:block;font-size:17px}.sos-h small{color:var(--mut,#5E7468)}
.sos-ic{width:40px;height:40px;border-radius:12px;background:#FDECEA;color:#D92D20;display:grid;place-items:center;flex:none}.sos-ic svg{width:22px;height:22px}
.sos-x{border:0;background:transparent;color:inherit;font-size:18px;width:40px;height:40px;cursor:pointer}
.sos-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.sos-nums a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:14px;background:#FDECEA;color:#B42318;text-decoration:none;text-align:center}
.sos-nums b{font-size:22px}.sos-nums small{font-size:12px;font-weight:600}
.sos-row{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:8px;text-decoration:none}.sos-row svg{width:18px;height:18px}.sos-red{background:#D92D20!important;color:#fff!important}
.sos-note{font-size:13px;color:var(--mut,#5E7468);margin:12px 2px 0;line-height:1.45}
.wl-btn{display:flex!important;align-items:center;justify-content:center;gap:8px;margin-top:10px}.wl-btn svg,.wl-on svg{width:18px;height:18px;flex:none}
.wl-on{display:flex;align-items:center;gap:10px;margin-top:10px}.wl-on span{flex:1}
.inst h3{display:flex;align-items:center;gap:8px}.inst h3 svg{width:18px;height:18px}.inst-steps{margin:10px 0 0;padding-left:20px;line-height:1.7}
.kpl{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:14px;color:#0F2A1D}
.kpl input,.kpl textarea{font:inherit;font-weight:500;font-size:16px;padding:11px 12px;border:1.5px solid #D5E5DB;border-radius:12px;background:#F8FBF9;color:#0F2A1D;width:100%;box-sizing:border-box}
.kpl input:focus,.kpl textarea:focus{outline:2px solid #119257;outline-offset:1px;border-color:#119257}

.tw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.tw-grid label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13.5px}
.tw-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.tw-bar input{flex:1 1 220px;width:auto!important}.tw-bar select{flex:0 0 220px;width:auto!important}#twList .ag-table{width:100%}
.tw-regs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.tw-regs button{border:1px solid var(--ag-line,#E2EEE6);background:transparent;color:inherit;border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.tw-regs button.on{background:#119257;border-color:#119257;color:#fff}.tw-regs i{font-style:normal;opacity:.7;margin-left:2px}
.tw-hid td{opacity:.55}.tw-ed input,.tw-ed select{width:100%;min-width:120px}.tw-ag{margin-top:12px}

.ac-in[readonly]{cursor:pointer;caret-color:transparent}
body.acs-on{overflow:hidden}
.acs{position:fixed;inset:0;z-index:80;background:rgba(6,18,12,.35);opacity:0;transition:opacity .16s}
.acs.on{opacity:1}
.acs-in{position:absolute;inset:0;max-width:480px;margin:0 auto;background:var(--app);display:flex;flex-direction:column;transform:translateY(-12px);transition:transform .18s ease}
.acs.on .acs-in{transform:none}
.acs-head{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 4px 14px rgba(0,0,0,.06)}
.acs-back,.acs-clr{flex:none;width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:var(--fg);display:grid;place-items:center;cursor:pointer;font-size:16px}
.acs-back svg{width:22px;height:22px}.acs-back:hover,.acs-clr:hover{background:var(--green-soft)}
.acs-field{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:6px 12px;border:2px solid var(--green);border-radius:14px;background:var(--app)}
.acs-field small{font-size:12px;font-weight:700;color:var(--muted)}
.acs-field input{border:0!important;outline:none;background:transparent!important;padding:0!important;font:inherit;font-size:17px;font-weight:800;color:var(--fg);width:100%;box-shadow:none!important;min-height:0!important}
.acs-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 8px calc(16px + env(safe-area-inset-bottom))}
.acs-it{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--fg);text-align:left;font:inherit;cursor:pointer}
.acs-it>svg{width:20px;height:20px;flex:none;color:var(--muted)}.acs-it span{flex:1;min-width:0;display:flex;flex-direction:column}.acs-it b{font-size:16px}.acs-it small{font-size:12.5px;color:var(--muted)}
.acs-it:hover,.acs-it.on{background:var(--green-soft);border-radius:12px}.acs-it.cur b{color:var(--green)}
.acs-bus{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:12px;font-weight:700;color:var(--green);background:var(--green-soft);padding:4px 8px;border-radius:999px}.acs-bus svg{width:14px;height:14px}
.acs-hint{display:flex;gap:12px;align-items:flex-start;padding:22px 14px;color:var(--muted);line-height:1.5}.acs-hint svg{width:20px;height:20px;flex:none;margin-top:2px}
@media (prefers-reduced-motion:reduce){.acs,.acs-in{transition:none}}

.svc{background:#119257;color:#fff;box-shadow:0 6px 16px rgba(17,146,87,.25)}.svc:hover{background:#0E7D4A}.svc:active{transform:scale(.98)}
.svc .pi{background:rgba(255,255,255,.18);color:#fff}.svc small{color:rgba(255,255,255,.85)}
.svc:focus-visible{outline:3px solid #4FD99A;outline-offset:2px}

body.onb-on{overflow:hidden}
#onb{position:fixed;inset:0;z-index:120;background:#0B1A13;color:#F2FBF6;font-family:Manrope,system-ui,sans-serif;transition:opacity .2s}
#onb.out{opacity:0}
#onb button{font:inherit;cursor:pointer}
.ob-in{max-width:480px;height:100%;margin:0 auto;box-sizing:border-box;display:flex;flex-direction:column;padding:calc(14px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom))}
.ob-bars{display:flex;gap:5px;margin-top:8px}.ob-bars span{flex:1;height:4px;border-radius:2px;background:#2A4A39}.ob-bars span.on{background:#4FD99A}
.ob-top{display:flex;align-items:center;justify-content:space-between;margin-top:12px;min-height:44px}
.ob-logo{display:flex;align-items:center;gap:8px;font-family:Sora,sans-serif;font-weight:800;font-size:18px}.ob-logo svg{transform:rotate(-8deg)}
.ob-lang{display:flex;gap:4px;background:#13281D;border-radius:999px;padding:4px}
.ob-lang button{min-width:44px;min-height:36px;border:0;border-radius:999px;font-size:13px;font-weight:800;background:transparent;color:#B9D3C4}.ob-lang button.on{background:#4FD99A;color:#0B1A13}
.ob-lang button:focus-visible,.ob-skip:focus-visible,.ob-next:focus-visible,.ob-end button:focus-visible{outline:3px solid #F2FBF6;outline-offset:2px}
.ob-vis{flex:1 1 auto;min-height:200px;position:relative;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;margin-top:14px}
.ob-glow{position:absolute;left:50%;top:36px;width:300px;height:300px;margin-left:-150px;border-radius:50%;background:#123A27}
.ob-scale{transform-origin:50% 0;padding-top:10px}
.ob-phone{width:224px;height:452px;box-sizing:border-box;border-radius:46px;padding:7px;background:linear-gradient(145deg,#4A4F4D,#2A2E2D 40%,#3B403E);box-shadow:0 30px 60px rgba(0,0,0,.5),inset 0 0 0 1.5px #6B716E;transform:rotate(3deg)}
.ob-screen{position:relative;height:100%;border-radius:39px;background:#F4FAF6;color:#0F2A1D;overflow:hidden}
.ob-island{position:absolute;z-index:3;top:10px;left:50%;transform:translateX(-50%);width:72px;height:21px;border-radius:12px;background:#000}
.ob-scr{position:absolute;inset:0;padding-top:34px;background:#F5FBF7;overflow:hidden}.ob-shot{display:block;width:100%;height:auto}
.ob-pad{padding:6px 12px;display:flex;flex-direction:column;gap:7px}.ob-c{align-items:center}
.ob-route{font-family:Sora,sans-serif;font-size:13px}
.ob-row{display:flex;align-items:center;gap:7px;background:#fff;border-radius:11px;padding:7px 8px;border:1.5px solid #fff}.ob-row.on{border-color:#119257}
.ob-row>span:not(.ob-badge){flex:1;min-width:0;display:flex;flex-direction:column}.ob-row b{font-size:11px;white-space:nowrap}.ob-row small{font-size:10px;color:#5E7468}
.ob-badge{width:26px;height:26px;border-radius:8px;color:#fff;display:grid;place-items:center;font-size:10px;font-weight:800;flex:none}
.ob-seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:4px;padding:8px;background:#fff;border-radius:12px}
.ob-seats i{height:16px;border-radius:4px;border:1.5px solid #119257;box-sizing:border-box}.ob-seats i.tk{background:#DCE5DF;border-color:#DCE5DF}.ob-seats i.me{background:#119257}
.ob-ok{width:100%;box-sizing:border-box;display:flex;align-items:center;gap:6px;background:#E6F7EE;color:#0E7D4A;border-radius:10px;padding:7px 9px;font-size:10.5px;font-weight:800}.ob-ok svg{width:13px;height:13px}
.ob-qr{width:100%;box-sizing:border-box;background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px}.ob-qr b{font-family:Sora,sans-serif;font-size:12px;letter-spacing:1px}.ob-qr small{font-size:10px;color:#5E7468}
.ob-pays{display:flex;gap:5px}.ob-pays b{color:#0F2A1D;border-radius:999px;padding:4px 8px;font-size:10px}
.ob-map{height:210px;background:#DDF3E6;margin-top:-42px;padding-top:42px;box-sizing:content-box;overflow:hidden}
.ob-live{font-size:12px}.ob-prog{position:relative;height:6px;border-radius:3px;background:#DDF3E6}.ob-prog span{position:absolute;left:0;top:0;bottom:0;width:62%;border-radius:3px;background:#119257}
.ob-parcel{display:flex;align-items:center;gap:6px;background:#0F2A1D;color:#F2FBF6;border-radius:10px;padding:7px 9px;font-size:10.5px;font-weight:700}.ob-parcel svg{width:13px;height:13px;color:#4FD99A}
.ob-fade{position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(rgba(11,26,19,0),#0B1A13)}
.ob-h{margin:10px 0 0;font-family:Sora,sans-serif;font-size:clamp(23px,7vw,29px);line-height:1.14;font-weight:800;letter-spacing:-.8px}
.ob-p{margin:10px 0 0;color:#B9D3C4;font-size:16px;line-height:1.55}
.ob-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:18px}
.ob-skip{min-height:48px;border:0;background:transparent;color:#B9D3C4;font-size:15px;font-weight:700;padding:0 4px}
.ob-next{width:64px;height:64px;border:0;border-radius:50%;background:#4FD99A;color:#0B1A13;display:grid;place-items:center}.ob-next svg{width:26px;height:26px}
.ob-end{gap:14px}.ob-end>svg{flex:none}
.ob-b1,.ob-b2{height:56px;border-radius:16px;font-size:17px;font-weight:800}.ob-b1{border:0;background:#4FD99A;color:#0B1A13}.ob-b2{border:1.5px solid #2A4A39;background:transparent;color:#F2FBF6}
.ob-b3{height:48px;border:0;background:transparent;color:#B9D3C4;font-size:15px;font-weight:700}
@media (prefers-reduced-motion:reduce){#onb{transition:none}}

.ob-card{flex:0 0 auto;height:min(440px,50vh);min-height:220px;margin-top:14px;border-radius:30px;background:#DFF5E8;overflow:hidden;display:flex;align-items:center;justify-content:center}.ob-art{width:100%;height:100%;max-height:440px;display:block}

.ob-nav{display:flex;align-items:center;gap:12px}.ob-prev{width:52px;height:52px;border:1.5px solid #2A4A39;border-radius:50%;background:transparent;color:#F2FBF6;display:grid;place-items:center}.ob-prev svg{width:22px;height:22px}.ob-prev:focus-visible{outline:3px solid #F2FBF6;outline-offset:2px}

.ob-big{padding:0!important}
.ob-hero{--aw:min(100vw,480px,calc((64vh - 116px) * .875));position:relative;flex:none;background:#DFF5E8;border-radius:0 0 36px 36px;overflow:hidden;display:flex;flex-direction:column}
.ob-hero-r{position:absolute;top:0;bottom:0;right:0;left:calc(50% - var(--aw)/2 + var(--aw)*.4286);background:#C6EBD6}
.ob-hero-top{position:relative;z-index:2;padding:calc(14px + env(safe-area-inset-top)) 20px 0}
.ob-big .ob-bars span{background:rgba(15,42,29,.15)}.ob-big .ob-bars span.on{background:#119257}
.ob-big .ob-logo{color:#0F2A1D}.ob-big .ob-logo path{fill:#119257}
.ob-big .ob-lang{background:#fff;box-shadow:0 2px 8px rgba(15,42,29,.08)}.ob-big .ob-lang button{color:#46604F}.ob-big .ob-lang button.on{background:#119257;color:#fff}
.ob-big .ob-lang button:focus-visible{outline-color:#0F2A1D}
.ob-art-w{position:relative;z-index:1;width:var(--aw);margin:6px auto 0;aspect-ratio:350/400}.ob-art-w .ob-art{width:100%;height:100%;max-height:none;display:block}
.ob-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:22px 20px calc(22px + env(safe-area-inset-bottom))}
.ob-body .ob-h{margin-top:0}

#onb{background:#D5ECDD;color:#0F2A1D}
#onb .ob-p{color:#3E5A49}#onb .ob-skip,#onb .ob-b3{color:#3E5A49}
#onb .ob-next{background:#119257;color:#FFFFFF}
#onb .ob-prev{border-color:#B9DEC9;color:#0F2A1D;background:#FFFFFF}
#onb .ob-lang:not(.x){background:#FFFFFF;box-shadow:0 2px 8px rgba(15,42,29,.08)}#onb .ob-lang button{color:#46604F}#onb .ob-lang button.on{background:#119257;color:#FFFFFF}
#onb .ob-logo{color:#0F2A1D}#onb .ob-logo path{fill:#119257}
#onb .ob-b1{background:#119257;color:#FFFFFF}#onb .ob-b2{border-color:#119257;color:#0E7D4A;background:#FFFFFF}
#onb .ob-skip:focus-visible,#onb .ob-next:focus-visible,#onb .ob-prev:focus-visible,#onb .ob-end button:focus-visible,#onb .ob-lang button:focus-visible{outline:3px solid #0F2A1D;outline-offset:2px}

#onb .ob-wm{flex:none;color:#0F2A1D;font-size:22px}#onb .ob-wm .klogo{color:#119257}#onb .ob-wm .kmark{height:33px;width:auto;color:#119257}
#onb .ob-endmark{display:block;width:56px;margin-top:40px;transform:rotate(-8deg);color:#119257}#onb .ob-endmark .kmark{height:84px;width:auto;color:#119257}

.tripw{position:relative}.tripw>.trip{width:100%}.tripw .t-top{padding-right:46px}
.trip-share{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:12px;border:0;background:var(--green-soft);color:var(--green);display:grid;place-items:center;cursor:pointer;z-index:1}.trip-share svg{width:19px;height:19px}
.trip-share:focus-visible{outline:3px solid var(--green);outline-offset:2px}
.shr-ic{background:var(--green-soft)!important;color:var(--green)!important}.shr-prev{margin:0 0 6px;padding:12px 14px;border-radius:14px;background:var(--green-soft);font-size:14px;line-height:1.5;color:var(--fg)}
.shr-wa{background:#25D366!important;color:#06361C!important}

.acs-field{flex-direction:row!important;align-items:center;gap:10px!important}.acs-sic{display:grid;place-items:center;color:var(--green);flex:none}.acs-sic svg{width:20px;height:20px}.acs-fi{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}

.acs-head{gap:2px!important;padding-left:4px!important;padding-right:8px!important}.acs-head .acs-back{width:38px}.acs-field{padding:3px 4px 3px 12px!important;border-radius:13px!important}.acs-field small{font-size:11px!important}.acs-field input{font-size:16px!important}.acs-field .acs-clr{width:32px;height:32px;border-radius:50%;background:var(--green-soft);font-size:13px;color:var(--fg)}.acs-field .acs-clr[hidden]{display:none}

#onb .ob-tag{display:inline-flex;align-items:center;height:36px;padding:0 14px;border-radius:999px;background:#FFFFFF;color:#0E7D4A;font-weight:800;font-size:13px;box-shadow:0 2px 8px rgba(15,42,29,.08)}

.drn{position:fixed;top:0;bottom:0;left:0;right:0;margin:0 auto;width:100%;height:100vh;height:100dvh;min-height:0!important;overflow:hidden;overscroll-behavior:none;z-index:5;padding-top:calc(22px + env(safe-area-inset-top))!important;padding-bottom:calc(22px + env(safe-area-inset-bottom))!important}
.drn form{margin-top:28px!important}.drn #drPhoneF+.drn-foot{margin-top:auto}
body:has(.drn){overflow:hidden}
.drn-logo{display:flex;align-items:center;gap:8px;font-family:var(--display);font-weight:800;font-size:21px;letter-spacing:-.5px;color:#F2FBF6}
.drn-logo .klogo{display:inline-flex;transform:rotate(-8deg);color:#4FD99A}.drn-logo .kmark{height:30px;width:auto;color:#4FD99A}
.drn-logo b{color:#4FD99A}.drn-logo em{font-style:normal;font-family:var(--body);font-size:11.5px;font-weight:800;letter-spacing:.2px;color:#0B1A13;background:#4FD99A;padding:3px 8px;border-radius:999px;margin-left:2px}

.drn-keys{gap:min(12px,1.6vh)!important;padding-top:min(24px,2.5vh)!important}.drn-keys button{height:min(72px,9.2vh)!important;min-height:44px}
@media (max-height:700px){.drn h1{margin:16px 0 12px!important;font-size:20px!important}.drn-chip{margin-top:16px!important}.drn .drn-foot{margin-top:10px!important;font-size:12px!important}.drn-mid h1[style]{margin-top:28px!important}}


#site{display:block!important}
