/* ONTIKET BUS — sistem visual. Mobile-first; layar lebar lewat min-width. */
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-Bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url(../fonts/PlusJakartaSans-ExtraBoldItalic.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
:root{--red:#D00012;--red-d:#95000D;--red-l:#F20516;--gold:#FFD329;--ink:#202127;--mut:#5f626e;--line:#e6e7ec;--bg:#F5F6F8;--pink:#fdeeef;--green:#14884a;--r:16px;--sh:0 2px 6px rgba(32,33,39,.05),0 8px 24px rgba(32,33,39,.07);--grad:linear-gradient(100deg,var(--red-d),var(--red) 45%,var(--red-l));--nav:64px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:80px}
body{margin:0;background:var(--bg);color:var(--ink);font:500 15px/1.5 "Plus Jakarta Sans",system-ui,sans-serif;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
img,svg{max-width:100%}img{height:auto;display:block}
a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{margin:0;line-height:1.2;letter-spacing:-.01em}p{margin:0 0 10px}ul,ol{margin:0;padding:0;list-style:none}dl,dd{margin:0}
button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid #1a6dd6;outline-offset:2px;border-radius:4px}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-.2em}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#fff;padding:8px 12px;border-radius:8px}.skip:focus{left:8px}
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 16px}
.demo-bar{background:var(--gold);color:#3b2d00;text-align:center;font-size:12px;font-weight:700;padding:4px 8px}
.notice-plugin{background:#fff3cd;padding:10px 16px;margin-top:10px;border-radius:10px}
.card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin-bottom:14px}
.center{text-align:center}.small{font-size:13px;color:var(--mut)}.err{color:#b00010;font-weight:600;font-size:14px;margin:8px 0}.mt{margin-top:18px}
.empty{color:var(--mut);text-align:center;padding:20px 8px}
.empty-card{text-align:center;padding:36px 16px}.empty-card .ic{width:44px;height:44px;color:var(--red);margin-bottom:8px}.empty-card h2{margin-bottom:6px}.empty-card .btn{margin-top:10px}
.price{color:var(--red);font-weight:800}.code{background:var(--pink);padding:2px 10px;border-radius:6px;font-weight:800;letter-spacing:.04em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 18px;border-radius:12px;border:1px solid transparent;font-weight:700;font-size:15px;transition:transform .15s,box-shadow .15s,filter .15s;text-decoration:none!important;background:none;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.btn-red{background:linear-gradient(180deg,var(--red-l),var(--red) 60%,var(--red-d));color:#fff;box-shadow:0 4px 12px rgba(208,0,18,.3)}
.btn-green{background:linear-gradient(180deg,#1fa55e,#117a41);color:#fff}.btn-dark{background:var(--ink);color:#fff}
.btn-ghost{border-color:var(--red);color:var(--red);background:#fff}.btn-ghost.on{background:var(--red);color:#fff}
.btn-sm{min-height:38px;padding:6px 12px;font-size:13.5px;border-radius:10px}.btn-lg{min-height:54px;font-size:16.5px;border-radius:14px}.btn-block{width:100%}
.ic-btn{background:none;border:0;padding:8px;color:var(--mut);border-radius:8px;min-width:38px;min-height:38px}.ic-btn:hover{background:var(--pink);color:var(--red)}
.pill{display:inline-block;font-style:normal;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;white-space:nowrap}
.pill-green{background:#dff5e7;color:#0d6b39}.pill-gold{background:#fff0c7;color:#7a5600}.pill-blue{background:#deecfd;color:#14508f}.pill-red{background:#fddfe1;color:#a3000e}.pill-gray{background:#eceef2;color:#4c4f5a}
.fld{display:block;margin-bottom:12px}.fld>span{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin-bottom:5px}.fld>span .ic{color:var(--ink)}
.fld input,.fld select,.fld textarea,.tool input,.tool select{width:100%;min-height:44px;border:1px solid #cfd2da;border-radius:10px;padding:9px 12px;background:#fff}
.sf select{padding-left:9px;padding-right:4px}.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--red);outline:2px solid rgba(208,0,18,.2)}
.fld input[type=color]{padding:3px;height:44px}
.chk{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px;font-size:14px}.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--red)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:14px}.kv dt{color:var(--mut)}.kv dd{text-align:right;font-weight:600}.kv .tot{font-weight:800;font-size:16px;border-top:1px solid var(--line);padding-top:8px;color:var(--ink)}.kv dd.tot{color:var(--red)}
.toast{position:fixed;left:50%;bottom:calc(var(--nav) + 18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s;z-index:300;max-width:90vw;font-size:14px}.toast.on{opacity:1;transform:translate(-50%,0)}.toast[data-k=err]{background:#a3000e}
.grid-2{display:grid;gap:14px}.tabs{display:flex;gap:4px;background:#eef0f3;padding:4px;border-radius:12px;margin-bottom:14px;overflow-x:auto}.tabs button{flex:1;min-height:40px;border:0;border-radius:9px;background:none;font-weight:700;padding:6px 12px;white-space:nowrap}.tabs .on{background:var(--grad);color:#fff}
/* Logo */
.logo{display:inline-flex;align-items:center;gap:9px;color:#fff}.logo-bus{width:52px;height:30px}.logo-t{display:flex;flex-direction:column;line-height:1}.logo-t b{font-size:20px;font-weight:800;font-style:italic;letter-spacing:.01em}.logo-t b i{font-style:italic}.logo-t small{font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;margin-top:3px;font-weight:600}
.logo-gold b i,.logo-txt.logo-gold i{color:var(--gold)}.logo-txt b{font-size:22px;font-weight:800;font-style:italic;color:#fff}.logo-img{max-height:44px;width:auto}
/* Header */
.hdr{position:sticky;top:0;z-index:50;background:var(--grad);box-shadow:0 2px 12px rgba(0,0,0,.2)}.hdr.stuck{box-shadow:0 4px 18px rgba(0,0,0,.28)}
.hdr-in{display:flex;align-items:center;gap:12px;min-height:60px}.hdr-logo{text-decoration:none!important;flex:none}.hdr-nav{display:none}
.hdr-login{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--red);font-weight:700;font-size:13.5px;padding:8px 13px;border-radius:99px;min-height:40px;white-space:nowrap}
/* Hero */
.hero{position:relative;background:#222 var(--hero) 72% center/cover;min-height:280px;color:#fff;display:flex;align-items:flex-start}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.28) 55%,rgba(0,0,0,0) 75%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}
.hero-in{position:relative;padding-top:24px;padding-bottom:80px}.hero h1{font-size:30px;font-weight:800;font-style:italic;text-shadow:0 2px 12px rgba(0,0,0,.45)}.hero p{max-width:300px;font-size:15px;margin:8px 0;text-shadow:0 1px 8px rgba(0,0,0,.5)}.hero-line{display:block;width:64px;height:5px;border-radius:9px;background:var(--red-l)}
.hero-form{margin-top:-70px;position:relative;z-index:3}
/* Search form */
.sf{background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(32,33,39,.16);padding:14px;margin-bottom:14px}
.sf-tag{display:flex;align-items:center;gap:10px;background:var(--grad);color:#fff;font-weight:800;margin:-14px -14px 14px;padding:11px 16px;border-radius:18px 18px 0 0;font-size:16px}.sf-tag .ic{width:26px;height:26px}
.sf-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px;position:relative}.sf-fields .fld{margin-bottom:10px}.sf-fields .fld:nth-of-type(3){grid-column:1/-1}
.sf-swap{position:absolute;left:50%;top:26px;transform:translateX(-50%);z-index:2;width:34px;height:34px;border-radius:50%;border:2px solid #fff;background:var(--red);color:#fff;display:grid;place-items:center;padding:0}
.sf-go{width:100%;min-height:50px}.sf-err{color:#b00010;font-size:13.5px;font-weight:600;margin:8px 0 0}
/* Perks */
.perks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:6px}.perk{display:flex;gap:9px;align-items:center;background:var(--pink);border-radius:12px;padding:10px}.perk .ic{width:26px;height:26px;color:var(--red)}.perk b{display:block;font-size:13px;line-height:1.25}.perk small{font-size:11.5px;color:var(--mut);line-height:1.25;display:block}
/* Section */
.sec{padding-top:28px}.sec-h{text-align:center;margin-bottom:16px}.sec-h h1,.sec-h h2{font-size:24px;font-weight:800;display:inline-flex;align-items:center;gap:14px}.sec-h em{font-weight:800}.sec-h p{color:var(--mut);margin:4px 0 0;font-size:14px}
.rc-grid{display:grid;gap:14px}.rc{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;transition:transform .2s,box-shadow .2s}.rc:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(32,33,39,.13)}
.rc-img{position:relative;display:block;aspect-ratio:298/115;background:#dfe7f0}.rc-img img{width:100%;height:100%;object-fit:cover}
.rc-badge{position:absolute;left:8px;top:0;background:var(--grad);color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:0 0 10px 10px;display:inline-flex;gap:6px;align-items:center}
.rc-body{padding:10px 14px 14px}.rc-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.rc h3{font-size:15.5px;font-weight:800}.rc h3 a{color:var(--ink);display:inline-flex;align-items:center;gap:6px}.rc h3 a>.ic:first-child{color:var(--red)}.rc-row small{color:var(--mut);font-size:12px}.rc-row p{margin:0;font-size:12.5px;color:var(--mut);display:flex;gap:5px;align-items:center}.rc-row .price{font-size:21px;white-space:nowrap}.rc .btn{margin-top:8px;min-height:42px}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:18px 12px;text-align:center}.feat .ic{width:38px;height:38px;color:var(--red)}.feat h3{font-size:14.5px;margin:6px 0 3px}.feat p{font-size:12.5px;color:var(--mut);margin:0}
.promo{margin-top:26px;background:radial-gradient(120% 200% at 80% 50%,var(--red-l),var(--red) 40%,var(--red-d));border-radius:20px;color:#fff;padding:20px;display:grid;gap:14px;position:relative;overflow:hidden}
.promo-t h2{font-size:25px;font-weight:800;font-style:italic}.promo-t p{margin:6px 0 0}.promo-l{background:#fff;color:var(--ink);border-radius:14px;padding:10px 14px;font-weight:700;font-size:13.5px}.promo-l li{padding:3px 0 3px 22px;position:relative}.promo-l li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:800}
.phone{display:none}
/* Footer */
.ftr{background:var(--grad);color:#fff;margin-top:30px;padding-top:24px}.ftr a{color:#fff}.ftr-grid{display:grid;gap:18px}.ftr-about p{font-size:13.5px;margin-top:10px}.ftr h2{font-size:16px;margin-bottom:8px}.ftr li{font-size:13.5px;padding:3px 0}.ftr-contact li{display:flex;gap:8px;align-items:flex-start}.ftr-soc{display:flex;gap:8px}.ftr-copy{text-align:center;font-size:12.5px;padding:12px;margin-top:16px;background:rgba(0,0,0,.18)}
/* Mobile nav */
.mnav{position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;display:grid;grid-template-columns:repeat(5,1fr);box-shadow:0 -4px 18px rgba(32,33,39,.12);padding-bottom:env(safe-area-inset-bottom)}
.mnav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--nav);color:#5f626e;font-size:11px;font-weight:600;text-decoration:none;position:relative;min-width:0}.mnav .ic{width:23px;height:23px}.mnav .on{color:var(--red);font-weight:800}.mnav .on::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;background:var(--red);border-radius:0 0 4px 4px}.mnav span{white-space:nowrap}
/* Pages */
.page-body{padding-top:16px;padding-bottom:20px}.narrow{max-width:720px}.pg-t{font-size:24px;font-weight:800;margin-bottom:12px}
.crumb ol{display:flex;gap:6px;flex-wrap:wrap;font-size:13px;margin-bottom:10px;color:var(--mut)}.crumb li+li::before{content:"›";margin-right:6px}
.prose{padding:22px}.prose h1{font-size:26px;margin-bottom:12px}.kv-line{display:flex;gap:14px;margin-bottom:12px}.kv-line li{display:flex;gap:6px;align-items:center;font-weight:600}
.sched li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}.sched+.btn{margin-top:12px}
.tw{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13.5px}.tbl th{text-align:left;background:#f4f5f7;padding:9px 10px;font-weight:700;white-space:nowrap}.tbl td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.tbl small{color:var(--mut)}
.srch{display:grid;gap:14px}.srch-f{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.srch-f h2{grid-column:1/-1;font-size:16px;margin-bottom:8px}.res-n{font-size:14px;color:var(--mut)}
.sf-bar .sf-tag{display:none}.sf-bar{padding:14px}
.tc{background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:14px;display:grid}.tc-img{position:relative;aspect-ratio:298/100;background:#dfe7f0}.tc-img img{width:100%;height:100%;object-fit:cover}.tc-img .pill{position:absolute;left:10px;top:10px}
.tc-main{padding:12px 14px 4px}.tc-main h2{font-size:16px}.tc-main h2 small{display:block;font-size:12px;color:var(--mut);font-weight:600}
.tc-time{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:10px 0}.tc-time b{font-size:19px;display:block;font-weight:800}.tc-time small{font-size:11.5px;color:var(--mut);line-height:1.25;display:block}.tc-time>span{display:flex;flex-direction:column;align-items:center;color:var(--red)}.tc-time>div:last-child{text-align:right}
.fac{display:flex;flex-wrap:wrap;gap:5px}.fac li{font-size:11.5px;background:#f1f2f5;padding:2px 8px;border-radius:99px;font-weight:600}
.tc-buy{display:grid;grid-template-columns:1fr auto;gap:0 10px;align-items:center;padding:10px 14px 14px}.tc-buy small{font-size:12px;color:var(--mut)}.tc-buy .price{font-size:22px;grid-row:2}.tc-buy .left{font-size:12px;color:var(--mut);grid-row:3}.tc-buy .left.low{color:var(--red);font-weight:700}.tc-buy .btn{grid-column:2;grid-row:1/4}
/* Pilih kursi */
.seat-page{background:#fff;min-height:100vh;padding-bottom:0}.app-view{padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}body:has(.seat-page),body:has([data-checkout]){padding-bottom:0}
.seat-page>.hdr{display:none}.app-view .hdr{display:none}
.st-hero{position:relative;background:linear-gradient(120deg,var(--red-d),var(--red) 55%,var(--red-l));color:#fff;overflow:hidden}.st-hero-in{position:relative;max-width:1180px;margin:0 auto;padding:14px 16px 56px;min-height:178px}
.st-back{position:absolute;left:12px;top:14px;width:42px;height:42px;display:grid;place-items:center;color:#fff;font-size:20px;z-index:2}.st-back.dark{position:static;color:var(--ink);width:38px}
.st-brand{text-align:center;position:relative;z-index:2;min-height:34px}.st-hero h1{font-size:30px;font-weight:800;margin-top:10px;position:relative;z-index:2}.st-hero p{font-size:14px;max-width:62%;position:relative;z-index:2;margin:2px 0 0}
.st-hero img{position:absolute;right:0;bottom:0;height:150px;width:auto;max-width:56%;object-fit:cover;object-position:left;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
.st-body{max-width:1180px;margin:0 auto;padding:0 14px 14px}.st-left{min-width:0}
.st-trip{position:relative;margin:-40px 0 12px;background:#fff;border-radius:16px;box-shadow:var(--sh);display:flex;align-items:center;gap:10px;padding:11px 12px;z-index:3}.st-ti{background:var(--grad);color:#fff;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:20px;flex:none}.st-trip b{display:flex;align-items:center;gap:5px;font-size:16px;font-weight:800}.st-trip small{font-size:12.5px;color:var(--mut)}.st-cls{margin-left:auto;background:var(--grad);color:#fff;font-weight:700;font-size:12.5px;padding:7px 11px;border-radius:12px;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
.st-fac{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:12px}.st-fac li{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.05);text-align:center;font-size:11px;font-weight:600;padding:7px 2px;line-height:1.15}.st-fac .ic{display:block;margin:0 auto 3px;width:24px;height:24px;color:var(--red)}
.st-decks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.st-decks button{border:1px solid #cfd2da;background:#fff;border-radius:14px;padding:8px;font-weight:800;min-height:52px}.st-decks small{display:block;font-weight:600;font-size:12px}.st-decks .on{background:var(--grad);color:#fff;border-color:var(--red)}
.st-bus{position:relative;max-width:440px;margin:0 auto;background:#fff;border:2px solid #e3e4e9;border-radius:90px 90px 26px 26px;padding:0 16px 16px;box-shadow:inset 0 0 0 6px #f6f6f8,0 8px 26px rgba(32,33,39,.1);border-top:8px solid var(--red)}
.st-glass{height:44px;margin:10px 26px 8px;border-radius:40px 40px 10px 10px;background:linear-gradient(180deg,#2b2d35,#55596a)}.st-wheel{display:none}
.st-row{display:grid;gap:7px;margin-bottom:9px;align-items:center;justify-items:center}.st-aisle{width:100%;align-self:stretch;background:#eeeff2;margin:-5px 0}.st-cell{display:flex;flex-direction:column;align-items:center;font-size:9.5px;color:var(--mut);font-weight:600}.st-cell .ic{width:24px;height:24px}
.seat{position:relative;width:100%;max-width:56px;aspect-ratio:1/.92;border-radius:12px 12px 9px 9px;border:0;background:#fff;box-shadow:inset 0 -5px 0 #e6e7ec,0 0 0 1.5px #e9e9ee,-3px 3px 0 -1px var(--red),3px 3px 0 -1px var(--red);font-weight:800;font-size:14px;color:var(--ink);display:grid;place-items:center;padding:0 0 3px;transition:transform .1s}
.seat:not(:disabled):hover{transform:translateY(-2px)}.seat.s-sel{background:linear-gradient(180deg,var(--red-l),var(--red-d));color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.25),0 4px 10px rgba(208,0,18,.45)}
.seat.s-sel>i{position:absolute;right:-6px;top:-7px;width:20px;height:20px;background:#fff;color:var(--red);border-radius:50%;display:grid;place-items:center;font-size:12px;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.seat.s-occupied{background:linear-gradient(180deg,#8c8f99,#6d707b);color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.2)}.seat.s-held{background:#ffd329;color:#4a3800;box-shadow:inset 0 -5px 0 #e3b400}.seat.s-blocked{background:#c9ccd3;color:#50535e;box-shadow:inset 0 -5px 0 #b0b3bc}.seat.s-mine{box-shadow:inset 0 -5px 0 #e6e7ec,0 0 0 2px var(--gold)}
.st-leg{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin:12px 0;font-size:12.5px;font-weight:600}.st-leg li{display:flex;gap:6px;align-items:center}.st-leg .seat{width:20px;height:20px;border-radius:5px;display:inline-block;padding:0;aspect-ratio:auto}
.st-sum{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);margin-bottom:10px;padding:12px 6px}.st-sum>div{display:flex;gap:9px;align-items:center;padding:0 10px;min-width:0}.st-sum>div+div{border-left:1px solid var(--line)}.st-sum .ic{width:30px;height:30px;color:var(--red)}.st-sum span{font-size:13px;min-width:0}.st-sum b{display:block;font-size:19px;font-weight:800;color:var(--red);line-height:1.15;overflow-wrap:anywhere}
.st-right{position:sticky;bottom:0;background:#fff;padding:10px 0 calc(10px + env(safe-area-inset-bottom));z-index:6}
.m-b{background:#16080a;color:#fff}.m-b .st-hero{background:linear-gradient(120deg,#1a0607,#5d040a 60%,#a60010)}.m-b .st-trip,.m-b .st-sum{background:#2a1013;border-color:#4c1a1f;color:#fff}.m-b .st-trip small,.m-b .small{color:#d7bfc1}.m-b .st-leg{color:#fff}.m-b .err{color:#ffb4b9}.m-b .st-right{background:#16080a}
.m-b .st-bus{background:linear-gradient(180deg,#2a0d10,#150608);border-color:#60161d;box-shadow:inset 0 0 26px rgba(242,5,22,.3);border-top-color:#60161d}.m-b .st-glass{background:linear-gradient(180deg,#000,#3d0b10)}.m-b .st-aisle{background:rgba(255,255,255,.04)}.m-b .st-cell{color:#d7bfc1}
.m-b .seat{background:linear-gradient(180deg,#c20012,#7e000b);color:#fff;box-shadow:inset 0 -5px 0 rgba(0,0,0,.3),0 0 0 1px #ff4a55}.m-b .seat.s-sel{background:linear-gradient(180deg,#ff2433,#d00012);box-shadow:0 0 14px #ff2433}.m-b .seat.s-occupied{background:linear-gradient(180deg,#6d6e76,#4c4d55);box-shadow:none}.m-b .seat.s-held{background:#ffd329;color:#4a3800;box-shadow:none}.m-b .seat.s-blocked{background:#3a3b42;color:#aaa;box-shadow:none}
.m-b .st-sum b.st-total{color:var(--gold)}.m-b .st-sum b{color:#fff}.m-b .st-decks button{background:#241013;color:#fff;border-color:#6a3a3e}.m-b .st-decks .on{background:var(--grad)}
/* Checkout & pembayaran */
.co-h{display:flex;align-items:center;gap:10px;margin-bottom:12px}.co-h h1{font-size:20px;font-weight:800;flex:1}.co-timer{background:var(--pink);color:var(--red);padding:6px 10px;border-radius:99px;font-weight:800;font-size:14px;display:flex;gap:5px;align-items:center}
.pax{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.pax-s{background:var(--grad);color:#fff;border-radius:10px;width:44px;height:44px;display:grid;place-items:center;font-size:14px}.pax .fld{margin-bottom:4px}
.co-bar{position:sticky;bottom:0;background:var(--bg);padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.card h2{font-size:17px;font-weight:800;margin-bottom:8px}.card h2 small{font-weight:500;font-size:13px}
.pay-top{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--pink);border-radius:12px;padding:12px;margin-bottom:10px}.pay-top small{display:block;font-size:12.5px;color:var(--mut)}.pay-top b{font-size:17px;font-weight:800;overflow-wrap:anywhere}
.bk{display:block;margin-bottom:9px}.bk input{position:absolute;opacity:0}.bk-box{display:flex;gap:12px;align-items:center;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;font-size:13px;margin-bottom:8px}.bk input:checked+.bk-box{border-color:var(--red);background:#fff7f7;box-shadow:0 0 0 2px rgba(208,0,18,.15)}.bk input:focus-visible+.bk-box{outline:3px solid #1a6dd6}.bk-box em{margin-left:auto}
.bank{display:inline-block;font-weight:800;font-style:italic;font-size:17px;min-width:70px}.bank-bca{color:#0a4da3}.bank-bni{color:#e8580c}.bank-mandiri{color:#123a7a}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed #cfd2da;border-radius:14px;padding:16px;text-align:center;margin-bottom:12px;position:relative;cursor:pointer}.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop>.ic{width:34px;height:34px;color:var(--red)}.drop small{color:var(--mut)}.row-link{display:flex;align-items:center;gap:10px;padding:12px;color:var(--ink)}.row-link>div{flex:1}.row-link small{display:block;color:var(--mut)}
.bo{display:grid;gap:8px}.bo h2{font-size:16px;margin:0}.bo-r{display:flex;justify-content:space-between;align-items:center;gap:8px}.bo-a{display:flex;gap:8px;flex-wrap:wrap}
/* E-Tiket */
.tk-page{max-width:520px;margin:0 auto;padding:0 0 16px}.tk-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--grad);color:#fff}.tk-bar a{color:#fff;display:grid;place-items:center;width:38px;height:38px;font-size:18px}.tk-bar b{flex:1}
.tk{background:#fff;overflow:hidden;position:relative;box-shadow:var(--sh)}.tk-head{width:100%;aspect-ratio:1080/520;object-fit:cover}
.tk-card{position:relative;background:#fff;border-radius:22px 22px 0 0;margin-top:-16px;padding:14px 14px 10px}
.tk small{font-size:10.5px;font-weight:700;color:var(--mut);letter-spacing:.03em;display:block;line-height:1.2}.tk b,.tk strong{font-weight:800}
.tk-route{display:flex;gap:10px;align-items:center}.tk-route>span{background:var(--ink);color:#fff;border-radius:12px;width:62px;height:46px;display:grid;place-items:center;font-size:22px;transform:skewX(-8deg);flex:none}.tk-route h1{font-size:clamp(20px,6.2vw,27px);font-weight:800}.tk-route i{color:var(--red);font-style:normal}
.tk-class{display:flex;align-items:center;margin:12px 0;border-radius:10px;overflow:hidden;background:var(--grad);color:#fff}.tk-class b{background:var(--ink);padding:8px 16px 8px 14px;font-size:15px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}.tk-class em{font-weight:800;font-size:19px;padding:0 12px;flex:1}.tk-class .ic{font-size:26px;margin-right:12px}
.tk-name{display:flex;gap:10px;align-items:center;margin-bottom:10px}.tk-name>.ic{font-size:30px;color:var(--red)}.tk-name>div{border-left:1px solid var(--line);padding-left:10px;min-width:0}.tk-name strong{font-size:21px;line-height:1.15;overflow-wrap:anywhere}
.tk-3{display:grid;grid-template-columns:.8fr 1.1fr 1fr;background:var(--pink);border-radius:14px;padding:10px 4px;margin-bottom:10px}.tk-3>div{display:flex;gap:5px;align-items:center;padding:0 6px;min-width:0}.tk-3>div+div{border-left:1px solid #e6d6d7}.tk-3 .ic{color:var(--red);font-size:21px}.tk-3 b{font-size:13.5px;display:block;line-height:1.2}.tk-3 b.big{font-size:20px}.tk-3 small{font-size:9px}
.tk-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.tk-2>div{display:flex;gap:6px;align-items:center;min-width:0}.tk-2 .ic{color:var(--red);font-size:22px}.tk-2 b{font-size:13.5px;line-height:1.2;display:block}.tk-2 small{font-size:9.5px}
.tk-low{display:grid;grid-template-columns:.8fr 1.1fr;gap:10px;padding-top:10px;align-items:start}.tk-nos>div{display:flex;gap:7px;align-items:center;padding:6px 0;min-width:0}.tk-nos .ic{color:var(--red);font-size:20px}.tk-nos b{font-size:13.5px;display:block}.tk-nos .code{font-size:14px;display:inline-block;margin-top:2px}
.tk-price{display:flex;gap:8px;align-items:center;background:var(--grad);color:#fff;border-radius:12px 0 0 12px;margin-right:-14px;padding:8px 10px}.tk-price small{color:#fff}.tk-price b{font-size:19px;white-space:nowrap}.tk-price .ic{font-size:24px}
.tk-qr{display:grid;grid-template-columns:96px 1fr;gap:8px;margin-top:8px;align-items:center}.tk-qr button{border:0;background:none;padding:0}.tk-qr p{font-size:10.5px;margin:0;line-height:1.3;border-left:2px solid var(--red);padding-left:6px}.tk-qr p b{display:block;font-size:11.5px}
.tk-off{background:var(--pink);border-radius:12px;padding:10px;margin-top:8px;text-align:center}.tk-off b{color:var(--red)}.tk-off p{font-size:12px;margin:2px 0 0}
.tk-tear{border-top:2px dashed #b9bcc6;margin:12px -14px 10px;position:relative}.tk-tear::before,.tk-tear::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--red-d)}.tk-tear::before{left:-12px}.tk-tear::after{right:-12px}
.tk-bars{text-align:center}.tk-bars svg{width:100%;height:76px;display:block}.tk-bars b{display:block;font-size:13px;margin-top:4px}.tk-foot{height:12px;background:linear-gradient(90deg,var(--ink) 34%,var(--red) 34%)}
.tk-demo::after{content:"CONTOH DEMO";position:absolute;left:50%;top:60%;transform:translate(-50%,-50%) rotate(-24deg);font-weight:800;font-size:40px;color:rgba(208,0,18,.12);pointer-events:none;white-space:nowrap}
.tk-acts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}.tk-acts .btn{min-height:44px;padding:6px 8px;font-size:13.5px}.tk-st{padding:0 14px}
.qr-zoom{border:0;border-radius:16px;padding:16px;width:min(92vw,420px)}.qr-zoom::backdrop{background:rgba(0,0,0,.7)}.qr-zoom svg{width:100%;display:block;margin-bottom:10px}
/* Akun */
.acct{display:grid;place-items:center;min-height:60vh}.acct-card{width:100%;max-width:440px;padding:22px}.acct-card h1{font-size:22px;font-weight:800;margin-bottom:12px;text-align:center}
/* Panel */
.pn{min-height:100vh}.pn-top{position:sticky;top:0;z-index:50;background:var(--grad);color:#fff;display:flex;align-items:center;gap:8px;padding:8px 12px;min-height:58px;box-shadow:0 2px 10px rgba(0,0,0,.2)}
.pn-burger{background:none;border:0;color:#fff;width:40px;height:40px;font-size:20px;padding:0}.pn-top .logo-bus{display:none}.pn-top .logo-t b{font-size:17px}.pn-top .logo-t small{display:none}
.pn-tag{display:none;align-items:center;gap:8px;border:1.5px solid rgba(255,255,255,.75);border-radius:10px;padding:5px 12px;font-weight:800;font-size:14px}.pn-tag-plain{border:0}.pn-tag em{font-weight:800}
.pn-bell{margin-left:auto;color:#fff;position:relative;width:40px;height:40px;display:grid;place-items:center;font-size:20px}.pn-bell b{position:absolute;right:2px;top:2px;background:#fff;color:var(--red);font-size:10.5px;border-radius:99px;min-width:17px;height:17px;text-align:center;line-height:17px}
.pn-me{display:flex;align-items:center;gap:8px}.pn-me>div{display:none}.pn-me b{display:block;font-size:14px;line-height:1.2}.pn-me small{font-size:12px}.pn-out{color:#fff;display:grid;place-items:center;width:38px;height:38px}
.av{width:38px;height:38px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center;font-weight:800;overflow:hidden;flex:none}.av img{width:100%;height:100%;object-fit:cover}.av-l{width:64px;height:64px;font-size:24px}
.pn-side{position:fixed;left:0;top:0;bottom:0;width:282px;max-width:86vw;background:var(--bg);z-index:70;overflow-y:auto;transform:translateX(-105%);transition:transform .2s;padding:10px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.pn-side.open{transform:none;box-shadow:0 0 40px rgba(0,0,0,.35)}.pn-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:65}
.pn-prof .av{background:var(--pink)}.pn-prof{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:12px;display:flex;gap:10px;align-items:center;margin-bottom:10px;position:relative;overflow:hidden}.pn-prof b{display:block;line-height:1.2}.pn-prof small{display:block;font-size:12px;color:var(--mut);margin-bottom:3px}
.pn-menu{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:6px;margin-bottom:12px}.pn-menu a{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:var(--ink);font-weight:600;font-size:14.5px;text-decoration:none;min-height:44px}.pn-menu .ic{color:var(--red);font-size:18px}.pn-menu a:hover{background:var(--pink)}.pn-menu .on{background:var(--grad);color:#fff;font-weight:800;box-shadow:0 4px 10px rgba(208,0,18,.3)}.pn-menu .on .ic{color:#fff}.pn-menu .cnt{margin-left:auto;background:var(--red);color:#fff;border-radius:99px;font-size:11px;padding:0 7px}
.pn-ad{background:var(--grad);border-radius:var(--r);overflow:hidden;color:#fff}.pn-ad-t{padding:14px}.pn-ad .logo-bus{width:44px}.pn-ad h2{font-size:21px;font-weight:800;font-style:italic;margin:10px 0}.pn-ad ul{background:#fff;color:var(--ink);border-radius:12px;padding:8px 12px;font-size:12.5px;font-weight:700}.pn-ad li{padding:3px 0 3px 20px;position:relative}.pn-ad li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:800}.pn-ad img{width:100%}
.pn-main{padding:12px;min-width:0}
.ban{position:relative;background:#222 var(--ban) 74% center/cover;border-radius:18px;color:#fff;padding:18px;overflow:hidden;margin-bottom:12px;min-height:170px}.ban::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.25) 60%,transparent)}.ban>*{position:relative}.ban h1{font-size:25px;font-weight:800;font-style:italic}.ban p{font-size:13.5px;max-width:330px;margin:6px 0}
.ban-form{margin-bottom:0;padding-bottom:70px;min-height:230px}.sf-panel .fld-s:nth-of-type(4){display:none}[data-sf]{margin:-44px 10px 12px;position:relative;z-index:2}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.stat{background:#fff;border-radius:14px;box-shadow:var(--sh);padding:12px;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;min-width:0}.stat>.ic{color:var(--red);font-size:22px}.stat small{font-size:12px;font-weight:700;line-height:1.2}.stat>b{grid-column:1/-1;font-size:24px;font-weight:800;overflow-wrap:anywhere;line-height:1.15}.stat .dl,.stat .pill,.stat small+small,.stat>em{grid-column:1/-1;justify-self:start}.stat-sm>b{font-size:18px}.stat-red{background:var(--grad);color:#fff}.stat-red>.ic{color:#fff}
.dl{font-size:12px;font-weight:700;padding:1px 8px;border-radius:99px}.dl.up{background:#dff5e7;color:#0d6b39}.dl.dn{background:#fff0c7;color:#7a5600}
.pg{display:grid;gap:12px;margin-bottom:0}.pg>.card{min-width:0}.pc-h{display:flex;align-items:center;gap:9px;margin-bottom:10px;flex-wrap:wrap}.pc-h>.ic{color:var(--red);font-size:21px}.pc-h h2{font-size:17px;font-weight:800;margin:0;flex:1;min-width:0}.pc-h a{font-size:12.5px;font-weight:700;white-space:nowrap}
.pg .tbl{font-size:12.5px}.pg .tbl td,.pg .tbl th{padding:7px 6px}.pg .tbl .pill{white-space:normal;text-align:center;font-size:11px;padding:3px 7px;line-height:1.2}.pg-h{margin-bottom:12px}.pg-h h1{font-size:22px;font-weight:800}.pg-h p{color:var(--mut);font-size:13.5px;margin:2px 0 0}
.ord{display:grid;gap:10px}.ord img{border-radius:10px;width:100%;aspect-ratio:2.4;object-fit:cover}.ord h3{font-size:17px;font-weight:800}.ord p{margin:0;color:var(--mut);font-size:13px}.ord li{font-size:13px;display:flex;gap:6px;align-items:center;padding:1px 0}.ord li .ic{color:var(--red)}.ord-r{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.ord-r small{color:var(--mut);font-size:12px}.ord-r .price{font-size:20px}
.cs{display:flex;gap:10px;align-items:flex-end}.cs p{flex:1;font-size:14px}.cs img{width:92px;border-radius:12px}
.etk{display:block;color:var(--ink);border-radius:14px;overflow:hidden;border:1px solid var(--line);text-decoration:none!important}.etk header{background:var(--grad);color:#fff;padding:9px 12px}.etk header b{font-style:italic;font-weight:800;display:block}.etk header small{font-size:11.5px}.etk-b{display:grid;grid-template-columns:1fr 104px;gap:8px;padding:10px 12px;align-items:center}.etk h3{font-size:16px;font-weight:800;margin-bottom:4px}.etk li{font-size:12.5px;display:flex;gap:5px;align-items:center}.etk-q{text-align:center;border-left:2px dashed var(--line);padding-left:8px}.etk-q small{font-size:10.5px;display:block;color:var(--mut)}
.mp{position:relative;height:230px;border-radius:12px;overflow:hidden;background:radial-gradient(40% 50% at 20% 30%,#cfe6c4,transparent),radial-gradient(45% 60% at 80% 75%,#c9e3d3,transparent),linear-gradient(135deg,#e6f1dd,#dbecdf 50%,#e8f2dd)}.mp-t{position:absolute;inset:0}.mp-t img{position:absolute;width:256px;height:256px;max-width:none}.mp-l{position:absolute;inset:0;width:100%;height:100%}
.mp-pin{position:absolute;transform:translate(-50%,-100%);text-align:center;font-size:12px}.mp-pin i{color:var(--red);font-size:24px;display:block}.mp-pin .ic{fill:#fff}.mp-pin b{background:#fff;padding:1px 7px;border-radius:7px;box-shadow:0 1px 4px rgba(0,0,0,.2);white-space:nowrap}
.mp-bus{position:absolute;transform:translate(-50%,-50%);background:var(--red);color:#fff;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;box-shadow:0 2px 8px rgba(0,0,0,.35);border:2px solid #fff}
.mp-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;font-size:13px}.mp-info small{display:block;color:var(--mut);font-size:11.5px}.mp-note{margin:8px 0 0}
.qk{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.qk a{background:var(--pink);border-radius:12px;padding:10px 6px;text-align:center;color:var(--ink);font-weight:700;font-size:12.5px;line-height:1.2;text-decoration:none}.qk .ic{display:block;margin:0 auto 4px;color:var(--red);font-size:24px}
.unit{display:grid;gap:10px}.unit img{border-radius:10px;width:100%}
.cl li{display:flex;gap:9px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--mut)}.cl li.on{color:var(--ink)}.cl .ic{color:#b9bcc6}.cl .on .ic{color:var(--green)}
.idc{background:var(--grad);border-radius:16px;overflow:hidden;color:#fff}.idc header{padding:10px 14px}.idc header small{display:block}.idc-b{background:#fff;color:var(--ink);margin:0 10px 10px;border-radius:12px;padding:12px;display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:center}.idc-ph{width:70px;height:84px;border-radius:10px;background:var(--pink);color:var(--red);display:grid;place-items:center;font-weight:800;font-size:28px;overflow:hidden}.idc-ph img{width:100%;height:100%;object-fit:cover}.idc h3{font-size:17px;font-weight:800;margin-bottom:4px}.idc .kv{font-size:12.5px}.idc-q{grid-column:1/-1;width:120px;margin:0 auto}.idc-q svg{display:block;width:100%}
.dn-wrap{display:grid;gap:10px;justify-items:center}.donut{width:170px}.dn-n{font:800 15px "Plus Jakarta Sans",sans-serif;fill:var(--ink)}.dn-s{font:600 7.5px "Plus Jakarta Sans",sans-serif;fill:var(--mut)}.dn-l{width:100%}.dn-l li{display:grid;grid-template-columns:14px 1fr auto 52px;gap:8px;align-items:center;font-size:13.5px;padding:4px 0}.dn-l i{width:12px;height:12px;border-radius:50%}.dn-l small{color:var(--mut);text-align:right}
.chart{width:100%;height:auto;display:block}.chart text{font:600 11px "Plus Jakarta Sans",sans-serif;fill:#5f626e}
.seg{display:inline-flex;background:#eef0f3;border-radius:9px;padding:3px;margin-bottom:8px}.seg button{border:0;background:none;padding:6px 12px;border-radius:7px;font-weight:700;font-size:13px;min-height:36px}.seg .on{background:var(--grad);color:#fff}
.lst li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px}.lst .ic{color:var(--red);margin-right:6px}.big-n{font-size:28px;font-weight:800;margin:0 0 6px}
.mini2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.mini2>div{background:var(--pink);border-radius:12px;padding:10px;display:grid;grid-template-columns:auto 1fr;gap:0 8px;align-items:center}.mini2 .ic{color:var(--red);grid-row:1/3;font-size:22px}.mini2 small{font-size:12px;font-weight:600}.mini2 b{font-size:20px;font-weight:800}
.mini1{display:grid;gap:8px}.mini1>div{background:var(--pink);border-radius:12px;padding:10px}.mini1 small{display:block;font-size:12px;font-weight:600}.mini1 b{font-size:20px;font-weight:800;overflow-wrap:anywhere}
.chats li{display:flex;gap:9px;align-items:center;padding:6px 0;font-size:13px}.chats .av{background:var(--pink)}.chats b{display:block}.chats small{color:var(--mut)}
.bks{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-size:13px}.rep{display:grid;gap:12px}
.tl li{border-left:2px solid var(--red);padding:0 0 10px 12px;font-size:13px;position:relative}.tl li::before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--red)}.tl time{display:block;font-size:12px;color:var(--mut)}.tl b{display:block}
.grid-int{display:grid;grid-template-columns:1fr 1fr;gap:10px}.int{border:1px solid var(--line);border-radius:12px;padding:10px}.int b{display:block;font-size:13.5px}.int small{display:block;color:var(--mut);font-size:12px;margin-top:4px}
.tool{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}.tool input,.tool select{flex:1;min-width:150px;width:auto}
.tabs-w{overflow-x:auto}.tabs-w button{flex:none}.vf{display:grid;gap:12px}.vf-img{display:grid;place-items:center;background:#f4f5f7;border-radius:12px;min-height:150px;overflow:hidden}.vf-img img{max-height:260px}.vf-a{display:flex;gap:8px;flex-wrap:wrap}
.grid-tk{display:grid;gap:12px}.tkc{display:flex;justify-content:space-between;gap:10px;color:var(--ink);text-decoration:none!important;margin:0}.tkc h2{font-size:16px;display:flex;align-items:center;gap:5px}.tkc-q{width:92px;flex:none}.promo-c .ic{color:var(--red);font-size:26px}
.nt{display:flex;gap:12px;color:var(--ink);text-decoration:none!important}.nt.unread{border-left:4px solid var(--red)}.nt>.ic{color:var(--red);font-size:20px}
.chatw{display:grid;gap:12px}.chat-l button{width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 4px;position:relative}.chat-l b{display:block;font-size:14px}.chat-l small{color:var(--mut);display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-l i{position:absolute;right:4px;top:10px;background:var(--red);color:#fff;font-style:normal;border-radius:99px;font-size:11px;padding:0 6px}
.chat-m{height:340px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px}.msg{max-width:80%;background:#f1f2f5;border-radius:12px;padding:8px 11px;align-self:flex-start}.msg p{margin:0;font-size:14px}.msg small{font-size:11px;color:var(--mut)}.msg.me{align-self:flex-end;background:var(--pink)}.chat-r form{display:flex;gap:8px;margin-top:8px}.chat-r input{flex:1;min-height:44px;border:1px solid #cfd2da;border-radius:10px;padding:8px 12px;min-width:0}
.mod{border:0;border-radius:16px;padding:0;width:min(94vw,560px);max-height:90vh;box-shadow:0 20px 60px rgba(0,0,0,.35)}.mod::backdrop{background:rgba(0,0,0,.5)}.mod header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1}.mod h2{font-size:17px;font-weight:800}.mod-b{padding:14px 16px}.mod footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;border-top:1px solid var(--line);position:sticky;bottom:0;background:#fff}.mod .err{padding:0 16px}.rs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.med{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.med small{color:var(--mut)}.caps{display:grid;gap:2px 12px;margin-bottom:10px}.brk{word-break:break-all}
.sb-t{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.sb-t button{border:1px solid #cfd2da;background:#fff;border-radius:9px;padding:6px 10px;font-size:13px;font-weight:600;min-height:38px}.sb-t .on{background:var(--grad);color:#fff;border-color:var(--red)}.sb-decks,.sb-rw{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.sb-g{overflow-x:auto;padding:6px 0}.sb-r{display:grid;gap:4px;margin-bottom:4px;justify-content:center}.sb-c{height:38px;border:1px dashed #cfd2da;background:#fff;border-radius:7px;font-size:12px;font-weight:800;padding:0}.sb-c.c-S{background:var(--pink);border:1px solid var(--red);color:var(--red)}.sb-c.c-X{background:#c9ccd3;border-style:solid}.sb-c.c-A{background:#eef0f3;border:0}.sb-c.c-P,.sb-c.c-R,.sb-c.c-T,.sb-c.c-G{background:#deecfd;border:1px solid #6cb2f7;color:#14508f}
/* Scanner */
body:has(.sc){padding-bottom:0;background:#fff}.sc-h{background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));position:sticky;top:0;z-index:20}.sc-h a{color:#fff;font-size:20px;width:38px;height:38px;display:grid;place-items:center}.sc-h .logo-bus,.sc-h .logo-t small{display:none}.sc-h .logo-t b{font-size:17px}
.sc-net{font-size:12px;font-weight:700;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:99px;display:flex;gap:6px;align-items:center;white-space:nowrap}.sc-net i{width:8px;height:8px;border-radius:50%;background:#7CFFA9}.sc-net.off{background:#fff;color:var(--red)}.sc-net.off i{background:var(--red)}
.sc-wrap{max-width:560px;margin:0 auto;padding:14px 14px calc(24px + env(safe-area-inset-bottom))}.sc h1{font-size:24px;font-weight:800}.sc-sub{font-size:11.5px;letter-spacing:.09em;color:var(--mut);font-weight:700;margin-bottom:12px}
.sc-info{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.sc-info span{background:var(--pink);border-radius:12px;padding:9px;font-size:13px}.sc-info .ic{color:var(--red)}.sc-info b{display:block;line-height:1.2}.sc-info small{color:var(--mut);font-size:12px}
.sc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.sc-stats>div{background:#f4f5f7;border-radius:10px;text-align:center;padding:6px 2px}.sc-stats b{display:block;font-size:20px;font-weight:800}.sc-stats small{font-size:11px;color:var(--mut)}.sc-stats .g b{color:var(--green)}.sc-stats .r b{color:var(--red)}
.sc-cam{position:relative;background:#14151a;border-radius:16px;overflow:hidden;min-height:250px;margin-bottom:10px;color:#fff}#sc-reader{width:100%}#sc-reader video{width:100%!important;display:block}.sc-idle{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;padding:16px;font-size:14px}.sc-idle .ic{font-size:64px;color:var(--gold)}.sc-idle[hidden]{display:none}
.sc-btns{display:flex;gap:8px;margin-bottom:10px}.sc-btns .btn-red{flex:1}.sc-camerr{color:#b00010;font-size:13.5px;font-weight:600}.sc-manual{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:12px}.sc-manual .fld{margin:0}
.sr{border-radius:16px;padding:14px;margin-bottom:12px;color:#fff}.sr-ok{background:linear-gradient(135deg,#17a05a,#0d6b39)}.sr-no{background:linear-gradient(135deg,#d00012,#860009)}.sr-h{display:flex;gap:10px;align-items:center;margin-bottom:8px}.sr-h .ic{font-size:30px}.sr h2{font-size:18px;font-weight:800}.sr .kv{background:rgba(255,255,255,.14);border-radius:10px;padding:9px 11px;margin-bottom:10px}.sr .kv dt{color:#fff;opacity:.85}.sr .small{color:#fff}.sr-m{margin:0 0 6px;font-weight:600}.sr .btn-green{background:#fff;color:#0d6b39}
.sl{display:flex;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--line)}.sl>div{flex:1;min-width:0}.sl b{display:block;font-size:14px}.sl small{font-size:12px;color:var(--mut)}.dot{width:10px;height:10px;border-radius:50%}.dot.g{background:#22a65a}.dot.r{background:var(--red)}.seatno{background:var(--pink);color:var(--red);font-weight:800;border-radius:8px;padding:3px 8px;font-size:13px}
@media (min-width:480px){.tk-acts{grid-template-columns:repeat(3,1fr)}.sf-fields{grid-template-columns:1fr 1fr}.ord{grid-template-columns:170px 1fr}.ord-r{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center}.stats.s4,.stats.s3{grid-template-columns:repeat(3,1fr)}.stats.s4{grid-template-columns:repeat(4,1fr)}.qk{grid-template-columns:repeat(6,1fr)}.mp-info{grid-template-columns:repeat(4,1fr)}.mp-info>div:first-child{grid-column:1/-1}.idc-b{grid-template-columns:80px 1fr 110px}.idc-q{grid-column:auto}.unit{grid-template-columns:160px 1fr}.grid-2.g-s{grid-template-columns:1fr 1fr}.grid-2.g-s>.fld{min-width:0}}
@media (min-width:720px){.perks{grid-template-columns:repeat(3,1fr)}.rc-grid,.grid-tk{grid-template-columns:repeat(2,1fr)}.feats{grid-template-columns:repeat(4,1fr)}.ftr-grid{grid-template-columns:2fr 1fr 1fr 1.4fr}.promo{grid-template-columns:1.6fr 1fr;align-items:center;padding:24px 30px}.tc{grid-template-columns:230px 1fr auto}.tc-img{aspect-ratio:auto}.tc-buy{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:14px;border-left:1px dashed var(--line);min-width:170px}.srch-f{grid-template-columns:repeat(4,1fr)}.pg.g-1-1,.pg.g-2{grid-template-columns:1fr 1fr}.pg.g-3-2{grid-template-columns:1.5fr 1fr}.pg.g-3{grid-template-columns:repeat(3,1fr)}.stats.s5,.stats.s6{grid-template-columns:repeat(3,1fr)}.grid-int{grid-template-columns:repeat(4,1fr)}.rep{grid-template-columns:1fr 2fr 1fr}.rep-m{grid-template-columns:2fr 1fr}.chatw{grid-template-columns:280px 1fr}.vf{grid-template-columns:220px 1fr auto;align-items:center}.vf-a{flex-direction:column}.caps{grid-template-columns:repeat(3,1fr)}.dn-wrap{grid-template-columns:170px 1fr}.bo{grid-template-columns:1fr auto;align-items:center}.bo-a{grid-column:1/-1}.st-fac li{font-size:12px}.mod{width:min(94vw,640px)}}
@media (min-width:1024px){body{padding-bottom:0}.mnav{display:none}.app-view{padding-bottom:0}.toast{bottom:24px}
.hdr-in{min-height:64px}.hdr-nav{display:block;margin-left:auto}.hdr-nav ul{display:flex;gap:4px}.hdr-nav a{color:#fff;font-weight:700;font-size:14px;padding:8px 11px;display:block;position:relative;text-decoration:none}.hdr-nav .current-menu-item a::after{content:"";position:absolute;left:11px;right:11px;bottom:2px;height:3px;background:#fff;border-radius:3px}.hdr-login{margin-left:12px}.logo-bus{width:64px;height:36px}.logo-t b{font-size:24px}
.hero{min-height:420px;background-position:70% 30%}.hero-in{padding-top:44px}.hero h1{font-size:48px}.hero p{font-size:19px;max-width:360px}
.hero-form{margin-top:-70px}.sf{display:grid;grid-template-columns:150px 1fr auto;gap:12px;align-items:end;padding:0 14px 0 0;overflow:hidden}.sf-tag{margin:0;height:100%;border-radius:18px 0 0 18px;clip-path:polygon(0 0,100% 0,88% 100%,0 100%);padding:14px 26px 14px 16px;font-size:18px;line-height:1.15}.sf-fields{grid-template-columns:1.1fr 38px 1.1fr 1.1fr .85fr .95fr;gap:6px;padding:12px 0;display:grid;align-items:end}.sf-fields .fld{margin:0}.sf-fields .fld:nth-of-type(3){grid-column:auto}.sf-swap{position:static;transform:none;justify-self:center;margin-bottom:5px}.sf-go{width:auto;margin-bottom:12px}.sf-err{grid-column:1/-1;margin:0 0 10px 16px}.sf-bar{grid-template-columns:1fr auto;padding:0 14px}.sf-bar .sf-fields{grid-template-columns:1fr 44px 1fr 1.1fr .9fr .9fr}
.perks{grid-template-columns:repeat(6,1fr);background:var(--pink);border-radius:16px;padding:10px;gap:0}.perk{background:none;border-radius:0;flex-direction:column;text-align:center;gap:4px;padding:6px 8px}.perk+.perk{border-left:1px solid #f0d5d7}
.sec-h h2{font-size:32px}.sec-h h2::before,.sec-h h2::after{content:"";width:100px;height:3px;background:var(--red)}.rc-grid,.grid-tk{grid-template-columns:repeat(3,1fr)}.feats{grid-template-columns:repeat(8,1fr)}.feat+.feat{border-left:1px solid var(--line);padding-left:8px}.promo{grid-template-columns:150px 1.6fr 220px;padding:0 30px;min-height:150px}.phone{display:block;width:140px;height:176px;margin-top:-26px;align-self:start;background:#16171c;border-radius:24px 24px 0 0;padding:7px 7px 0;transform:rotate(-7deg);transform-origin:bottom;box-shadow:0 10px 28px rgba(0,0,0,.4)}.phone-s{background:linear-gradient(180deg,var(--red) 34%,#fff 34%);height:100%;border-radius:18px 18px 0 0;text-align:center;padding-top:14px;font-size:11px;position:relative}.phone-s b{display:block;font-style:italic}.phone-s small{font-size:6px;letter-spacing:.1em}.phone-qr{display:block;width:80px;margin:8px auto 0}.phone-s i{color:#fff;background:var(--red);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;margin:4px auto 0;font-size:11px}.promo-t h2{font-size:34px}
.grid-2{grid-template-columns:1fr 1fr}.srch{grid-template-columns:230px 1fr}.srch-f{display:block;align-self:start;position:sticky;top:84px}
.st-hero-in{padding-bottom:64px;min-height:210px}.st-hero img{height:190px}.st-body{display:grid;grid-template-columns:1fr 340px;gap:28px;padding-bottom:40px}.st-trip{grid-column:1/-1}.st-right{align-self:start;top:24px;margin-top:20px;background:none}.m-b .st-right{background:none}.seat{font-size:15px}
.pn-burger{display:none}.pn-top{padding:6px 22px}.pn-top .logo-bus{display:block;width:60px}.pn-top .logo-t b{font-size:23px}.pn-top .logo-t small{display:block}.pn-tag{display:inline-flex;margin-left:18px}.pn-me>div{display:block;padding-left:6px;border-left:1px solid rgba(255,255,255,.4)}.pn-body{display:grid;grid-template-columns:262px minmax(0,1fr);gap:14px;padding:14px 18px;max-width:1500px;margin:0 auto}.pn-side{position:static;transform:none;width:auto;max-width:none;background:none;padding:0;overflow:visible;z-index:1}.pn-scrim{display:none}.pn-main{padding:0}.ban{min-height:190px;padding:22px 28px}.ban-form{min-height:250px;padding-bottom:84px}[data-sf] .sf-fields{grid-template-columns:1.1fr 38px 1.1fr 1.1fr .9fr}.ban h1{font-size:34px}.ban p{font-size:15px;max-width:420px}.stats.s5{grid-template-columns:repeat(5,1fr)}.stats.s6{grid-template-columns:repeat(6,1fr)}.stats.s3{grid-template-columns:repeat(3,1fr)}.qk{grid-template-columns:repeat(6,1fr)}.ord{grid-template-columns:170px 1fr auto}.ord-r{grid-column:auto;flex-direction:column;align-items:flex-end}[data-sf]{margin:-52px 12px 12px}[data-sf] .sf{grid-template-columns:150px 1fr auto}[data-sf] .sf-tag{font-size:15px}
}
@media (max-width:359px){.hdr-in{gap:6px}.hdr-login{padding:7px 9px;font-size:12px}.hdr-login .ic{display:none}.logo-t b{font-size:15.5px}.logo-t small{display:none}.logo-bus{width:36px;height:22px}.logo{gap:5px}.st-trip b{font-size:14.5px}.st-cls{padding:6px 8px;font-size:11.5px}.st-row{gap:5px}.seat{font-size:12.5px}.st-sum b{font-size:16px}.tk-3 b{font-size:12px}.tk-3 b.big{font-size:17px}.tk-3 small{font-size:8px}.mnav a{font-size:10px}.sf-swap{top:26px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{body{background:#fff;padding:0}.hdr,.mnav,.tk-bar,.tk-acts,.tk-st,.demo-bar,.toast{display:none!important}.tk-page{max-width:380px}.tk{box-shadow:none}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
