:root{--ink:#14213d;--muted:#68738a;--orange:#f36b32;--orange-dark:#d9531d;--cream:#fff8ef;--line:#e7e9ee;--green:#1d8f65;--shadow:0 18px 50px rgba(20,33,61,.12)}
[hidden]{display:none!important}
.user-builder{margin-bottom:22px}.user-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end;margin-top:18px}.user-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.admin-user-list{margin-top:18px}.user-role{font-size:11px;padding:4px 8px;border-radius:12px;background:#e5f5ef;color:var(--green);font-weight:800}.report-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.report-stats>div{padding:18px;background:var(--cream);border-radius:12px}.report-stats span{display:block;color:var(--muted);font-size:12px}.report-stats strong{display:block;font-size:25px;margin-top:6px}.report-table-wrap{overflow:auto;max-height:360px}.report-table{width:100%;border-collapse:collapse;font-size:13px}.report-table th,.report-table td{padding:11px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.report-table td.report-names{white-space:normal;min-width:210px}.report-table th{position:sticky;top:0;background:#fff;color:var(--muted);font-size:11px;text-transform:uppercase}.ticket-total{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;margin:0 0 15px;border-radius:10px;background:var(--cream)}.ticket-total span{color:var(--muted);font-size:12px;text-transform:uppercase}.ticket-total strong{font-size:22px;color:var(--orange)}.ticket-lookup{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end;margin-bottom:8px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px}.ticket-lookup label{display:grid;gap:6px}.ticket-lookup label span{font-size:12px;font-weight:700;color:var(--muted)}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.details-grid>div,.details-names{padding:14px;background:var(--cream);border-radius:10px}.details-grid span,.details-names>span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;margin-bottom:5px}.details-names p{margin:5px 0}@media(max-width:700px){.user-form{grid-template-columns:1fr}.report-stats{grid-template-columns:1fr}.header-actions{flex-wrap:wrap}.ticket-lookup{grid-template-columns:1fr}.details-grid{grid-template-columns:1fr}}
.pink-bus{animation:pinkDrive 2.8s ease-in-out infinite}.white-red-bus{animation:whiteDrive 3.1s ease-in-out .25s infinite}.blue-bus{animation:blueDrive 2.6s ease-in-out .5s infinite}.bus.coach i{animation:wheelTurn .85s linear infinite}.bus.coach i:after{content:"";position:absolute;left:50%;top:2px;width:2px;height:19px;background:#9fb4c0;transform:translateX(-50%)}.road{background:repeating-linear-gradient(100deg,#566177 0 48px,#657086 48px 78px);background-size:180px 100%;animation:roadMove 1.2s linear infinite}@keyframes pinkDrive{0%,100%{transform:scale(.55) translate(0,0)}50%{transform:scale(.55) translate(8px,-3px)}}@keyframes whiteDrive{0%,100%{transform:scale(.55) translate(0,0)}50%{transform:scale(.55) translate(8px,-4px)}}@keyframes blueDrive{0%,100%{transform:scale(.72) translate(0,0)}50%{transform:scale(.72) translate(10px,-4px)}}@keyframes wheelTurn{to{transform:rotate(360deg)}}@keyframes roadMove{to{background-position:-180px 0}}@media(max-width:1100px){@keyframes pinkDrive{0%,100%{transform:scale(.42) translate(0,0)}50%{transform:scale(.42) translate(8px,-3px)}}@keyframes whiteDrive{0%,100%{transform:scale(.45) translate(0,0)}50%{transform:scale(.45) translate(8px,-3px)}}@keyframes blueDrive{0%,100%{transform:scale(.62) translate(0,0)}50%{transform:scale(.62) translate(9px,-4px)}}}@media(prefers-reduced-motion:reduce){.pink-bus,.white-red-bus,.blue-bus,.bus.coach i,.road{animation:none}}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fcfcfd}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-size:21px;font-weight:800}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--orange);color:#fff;transform:rotate(-5deg)}nav{display:flex;align-items:center;gap:4px}.nav-link{border:0;background:transparent;color:var(--muted);padding:10px 14px;border-radius:9px}.nav-link:hover,.nav-link.active{color:var(--ink);background:var(--cream)}.count{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--orange);color:#fff;font-size:11px;margin-left:3px}.view{display:none}.view.active{display:block}.hero{min-height:420px;padding:70px max(7vw,30px) 125px;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(120deg,#fff8ef,#fff1df);overflow:hidden;position:relative}.hero-copy{position:relative;z-index:2}.eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.17em;font-size:12px;font-weight:800;color:var(--orange)}h1,h2,p{margin-top:0}.hero h1{font-size:clamp(42px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin-bottom:22px}.hero-copy>p:last-child{max-width:510px;color:var(--muted);font-size:18px;line-height:1.6}.hero-art{position:relative;height:300px}.sun{position:absolute;right:18%;top:5%;width:85px;height:85px;border-radius:50%;background:#ffc857}.cloud{position:absolute;width:90px;height:28px;border-radius:30px;background:#fff;box-shadow:25px -14px 0 4px #fff}.cloud.one{right:4%;top:8%}.cloud.two{left:8%;top:23%;transform:scale(.7)}.mountain{position:absolute;bottom:40px;border-left:170px solid transparent;border-right:170px solid transparent;border-bottom:200px solid #c8d6c0}.mountain.back{right:-70px;transform:scale(.8);border-bottom-color:#dce7d5}.mountain.front{left:40px}.road{position:absolute;left:-10%;right:-20%;bottom:0;height:55px;background:#566177;transform:skewX(-25deg)}.bus{position:absolute;z-index:2;left:12%;bottom:35px;width:300px;height:116px;border-radius:22px 22px 12px 12px;background:var(--orange);box-shadow:0 16px 25px rgba(20,33,61,.22);display:flex;gap:8px;padding:18px 18px}.bus-window{width:56px;height:44px;background:#d7edf2;border-radius:7px 7px 3px 3px;border:4px solid #fff}.bus-door{margin-left:auto;width:42px;height:79px;background:#d7edf2;border:4px solid #fff;border-radius:6px}.bus i{position:absolute;bottom:-13px;width:32px;height:32px;border-radius:50%;background:#273249;border:7px solid #fff}.bus i:first-of-type{left:43px}.bus i:last-of-type{right:43px}.search-card{width:min(1160px,90%);margin:-58px auto 0;background:#fff;position:relative;z-index:5;box-shadow:var(--shadow);border-radius:18px;padding:22px;display:grid;grid-template-columns:1.2fr 40px 1.2fr 1fr .75fr auto;gap:12px;align-items:end}.search-card label{display:grid;gap:7px}.search-card label span{font-size:12px;font-weight:700;color:var(--muted)}select,input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:13px;border-radius:9px;outline:none}.search-card select:focus,.search-card input:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(243,107,50,.12)}.swap{width:36px;height:36px;margin-bottom:4px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--orange);font-size:20px}.primary,.secondary{border:0;border-radius:10px;padding:14px 20px;font-weight:800}.primary{background:var(--orange);color:#fff}.primary:hover{background:var(--orange-dark)}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.content-section{width:min(1160px,90%);margin:0 auto;padding:70px 0}.standalone{min-height:calc(100vh - 72px)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-heading h1,.section-heading h2{margin:0;font-size:34px;letter-spacing:-.03em}.section-heading>p{color:var(--muted)}.trip-list{display:grid;gap:14px}.trip-card{display:grid;grid-template-columns:1.1fr 1.4fr .8fr auto;gap:28px;align-items:center;padding:22px 24px;border:1px solid var(--line);background:#fff;border-radius:15px;transition:.2s}.trip-card:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(20,33,61,.08);border-color:#ffd1bc}.operator{display:flex;align-items:center;gap:12px}.operator-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:var(--cream);font-size:22px}.operator strong,.time strong{display:block}.small{font-size:12px;color:var(--muted);margin-top:4px}.route-time{display:flex;align-items:center;gap:16px}.time strong{font-size:21px}.route-line{flex:1;min-width:90px;height:2px;background:var(--line);position:relative}.route-line:before,.route-line:after{content:"";position:absolute;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--orange)}.route-line:before{left:0}.route-line:after{right:0}.fare strong{display:block;font-size:23px}.availability{font-size:12px;color:var(--green);font-weight:700}.empty{padding:50px;text-align:center;border:1px dashed #ccd1dc;border-radius:16px;color:var(--muted)}dialog{width:min(820px,94vw);border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px rgba(20,33,61,.3)}dialog::backdrop{background:rgba(20,33,61,.6);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px;color:var(--muted);z-index:2}.dialog-content{padding:34px}.dialog-content h2{font-size:30px}.booking-summary{padding:16px;background:var(--cream);border-radius:12px;margin-bottom:22px}.seat-layout{background:#f5f6f8;border-radius:18px;padding:25px;max-width:420px;margin:20px auto}.driver{text-align:right;padding:0 20px 18px;color:var(--muted);font-size:13px}.seats{display:grid;grid-template-columns:repeat(2,1fr) 30px repeat(2,1fr);gap:10px}.seat{height:42px;border:1px solid #bcc3cf;background:#fff;border-radius:8px;color:var(--ink);font-weight:700}.seat:nth-child(4n+3){grid-column:4}.seat:nth-child(4n+4){grid-column:5}.seat.taken{background:#dfe2e7;color:#9ba2af;cursor:not-allowed}.seat.selected{background:var(--orange);border-color:var(--orange);color:#fff}.legend{display:flex;justify-content:center;gap:18px;font-size:12px;color:var(--muted);margin-top:18px}.legend i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;border:1px solid #bbb}.legend .sel{background:var(--orange);border-color:var(--orange)}.legend .occ{background:#dfe2e7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.form-grid .full{grid-column:1/-1}.dialog-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.total strong{font-size:26px}.ticket-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px}.ticket{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 25px rgba(20,33,61,.06)}.ticket-top{background:var(--ink);color:#fff;padding:24px}.ticket-top .eyebrow{color:#ffb38e}.ticket-route{display:flex;justify-content:space-between;align-items:center;font-size:24px;font-weight:800}.ticket-route span:nth-child(2){color:var(--orange)}.ticket-body{padding:22px}.ticket-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:20px}.ticket-meta span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase}.ticket-meta strong{display:block;margin-top:4px}.ticket-code{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px dashed #c7ccd5}.qr{font-family:monospace;letter-spacing:-3px;font-size:27px;line-height:.7;width:58px;overflow:hidden}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat{padding:22px;background:#fff;border:1px solid var(--line);border-radius:14px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:30px;margin-top:7px}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px}.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.panel h2{font-size:19px}.admin-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line)}.admin-row:first-child{border-top:0}.admin-row p{margin:0}.badge{font-size:11px;padding:5px 8px;border-radius:12px;background:#e5f5ef;color:var(--green);font-weight:700;height:max-content}#toast{position:fixed;right:24px;bottom:24px;z-index:50;background:var(--ink);color:#fff;padding:13px 18px;border-radius:10px;transform:translateY(100px);opacity:0;transition:.25s}#toast.show{transform:none;opacity:1}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:50px}.hero-art{display:none}.search-card{grid-template-columns:1fr 1fr;margin-top:-75px}.swap{display:none}.trip-card{grid-template-columns:1fr 1.5fr auto}.fare{display:none}.stats{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar{height:auto;align-items:flex-start;padding:14px 18px;gap:8px}.brand span:last-child{display:none}nav{overflow:auto}.nav-link{white-space:nowrap;padding:9px}.hero{min-height:350px;padding:45px 24px 110px}.hero h1{font-size:47px}.search-card{grid-template-columns:1fr;width:92%;padding:16px}.content-section{width:92%;padding:50px 0}.section-heading{align-items:flex-start;flex-direction:column}.trip-card{grid-template-columns:1fr;gap:15px}.route-time{order:-1}.trip-card .primary{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:23px}.ticket-list{grid-template-columns:1fr}.dialog-content{padding:28px 18px}.seat-layout{padding:18px 10px}.admin-grid{display:block}.panel{margin-bottom:18px}}
.route-builder{margin-bottom:22px}.panel-title{display:flex;justify-content:space-between;align-items:start}.panel-title h2{font-size:24px;margin:0}.route-form{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:end;margin-top:20px}.route-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.route-form .primary{height:46px}.route-form-actions,.row-actions{display:flex;gap:8px}.row-actions button{border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:8px;font-size:12px;font-weight:700}.row-actions button:hover{border-color:var(--orange);color:var(--orange)}.row-actions .danger:hover{border-color:#c93e3e;color:#c93e3e}
@media(max-width:900px){.route-form{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.route-form{grid-template-columns:1fr}.panel-title{display:block}}
.primary:disabled{background:#a7adb9;cursor:not-allowed}.availability{display:block}.trip-card:has(.primary:disabled){background:#f6f6f7;opacity:.82}.row-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.booking-closed{background:#c93e3e}.booking-closed:hover{background:#a82f2f}.driver{text-align:left}.seat.booked{background:#c93e3e;color:#fff;border-color:#c93e3e;cursor:not-allowed}.seat.manual{background:#f2a33a;color:#fff;border-color:#f2a33a}.admin-seat-note{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-size:12px;color:var(--muted)}.admin-seat-date{display:grid;grid-template-columns:1fr 180px;gap:15px;align-items:end;margin:18px 0}.admin-seat-date label{display:grid;gap:6px;font-size:12px;font-weight:700;color:var(--muted)}
.bus{background:#79cbe8}.search-card{grid-template-columns:1.2fr 1.2fr 1fr .75fr auto}
@media(max-width:900px){.search-card{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.search-card{grid-template-columns:1fr}}
.passenger-names{padding:15px 0;margin-bottom:15px;border-top:1px solid var(--line)}.passenger-names>div{padding:3px 0}
.bus.coach{width:335px;height:122px;border-radius:34px 16px 12px 12px;background:linear-gradient(180deg,#bcecff 0 63%,#74c9e8 63%);padding:0;border:3px solid #fff;overflow:visible}.coach-windshield{position:absolute;left:15px;top:13px;width:63px;height:48px;background:linear-gradient(135deg,#e8fbff,#73a9bd);border:4px solid #fff;border-radius:22px 5px 5px 4px;transform:skewX(-8deg)}.coach-windows{position:absolute;left:86px;right:55px;top:13px;height:49px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.coach-windows span{background:linear-gradient(145deg,#e9fbff,#7caabd);border:3px solid #fff}.coach-windows span:first-child{border-radius:5px 0 0 5px}.coach-windows span:last-child{border-radius:0 5px 5px 0}.coach-door{position:absolute;right:13px;top:13px;width:35px;height:82px;background:linear-gradient(145deg,#e9fbff,#8db8c8);border:3px solid #fff;border-radius:5px 10px 4px 4px}.coach-stripe{position:absolute;left:13px;right:55px;top:72px;height:9px;background:#278eb9;border-radius:8px;transform:skewX(-15deg)}.coach-light{position:absolute;bottom:20px;width:13px;height:9px;border-radius:5px;background:#fff5a8;box-shadow:0 0 8px #fff5a8}.coach-light.front{left:5px}.coach-light.rear{right:5px;background:#ff826e;box-shadow:0 0 7px #ff826e}.bus.coach i{bottom:-15px;width:35px;height:35px;border:6px solid #edf9fd;background:#263850}.bus.coach i:first-of-type{left:52px}.bus.coach i:last-of-type{right:55px}
.login-card{width:min(430px,100%);margin:30px auto;padding:38px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);text-align:center}.login-icon{font-size:38px;margin-bottom:14px}.login-card>p{color:var(--muted)}.login-card form{display:grid;gap:14px;text-align:left;margin-top:25px}.login-card form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:var(--muted)}.login-card form .primary{margin-top:5px}.login-error{color:#c93e3e!important;min-height:18px;margin:0;text-align:center;font-size:13px}.demo-credentials{margin:18px 0 0;font-size:12px}.header-actions{display:flex;gap:8px}
.hero-art:before{content:"";position:absolute;inset:-40px -80px -10px;background:linear-gradient(150deg,transparent 0 54%,rgba(0,56,168,.07) 54% 62%,rgba(206,17,38,.07) 62% 70%,transparent 70%);pointer-events:none}.ph-sun{box-shadow:0 0 0 12px rgba(255,200,87,.18),0 0 0 25px rgba(255,200,87,.08)}.ph-sun b{position:absolute;color:#fff;font-size:9px}.ph-sun b:nth-child(1){left:13px;top:38px}.ph-sun b:nth-child(2){right:14px;top:38px}.ph-sun b:nth-child(3){left:38px;top:11px}.palm{position:absolute;bottom:43px;width:7px;height:96px;background:#426d50;border-radius:5px;transform:rotate(7deg);z-index:1}.palm:before,.palm:after,.palm span:before,.palm span:after{content:"";position:absolute;bottom:77px;width:55px;height:15px;background:#4f8259;border-radius:100% 0 100% 0;transform-origin:left center}.palm:before{transform:rotate(-32deg)}.palm:after{transform:rotate(25deg)}.palm span:before{transform:rotate(76deg)}.palm span:after{transform:rotate(132deg)}.palm-one{right:5%;transform:rotate(7deg) scale(.85)}.palm-two{left:8%;transform:rotate(-5deg) scale(.65)}.bus.coach.pink-bus{left:0;bottom:31px;width:255px;height:96px;background:linear-gradient(180deg,#ffd5e7 0 63%,#f38bb7 63%);transform:scale(.55);transform-origin:left bottom;z-index:2}.pink-bus .coach-stripe{background:#d94c89}.pink-bus .coach-windshield{width:50px;height:38px}.pink-bus .coach-windows{left:72px;right:48px;height:39px}.pink-bus .coach-door{width:31px;height:65px}.pink-bus.bus i:first-of-type{left:40px}.pink-bus.bus i:last-of-type{right:45px}.bus.coach.white-red-bus{left:24%;bottom:38px;background:linear-gradient(180deg,#fff 0 63%,#f7f7f5 63%);z-index:3;transform:scale(.55);transform-origin:left bottom}.white-red-bus .coach-stripe{background:#ce1126;height:12px;top:68px}.white-red-bus .coach-light.front{background:#ffe56e}.white-red-bus .coach-light.rear{background:#ce1126}.bus.coach.blue-bus{left:56%;bottom:32px;background:linear-gradient(180deg,#bcecff 0 63%,#74c9e8 63%);z-index:5;transform:scale(.72);transform-origin:left bottom}.blue-bus .coach-stripe{background:#278eb9}@media(max-width:1100px){.bus.coach.pink-bus{left:0;transform:scale(.42)}.bus.coach.white-red-bus{left:22%;transform:scale(.45)}.bus.coach.blue-bus{left:52%;transform:scale(.62)}}
.eod-button{border:0;border-radius:10px;padding:14px 20px;font-weight:800;background:#9f2f35;color:#fff}.eod-button:hover{background:#7f2227}.history-title{margin-top:30px}.eod-history{border:1px solid var(--line);border-radius:12px;padding:0 16px;max-height:240px;overflow:auto}.closed-badge,.open-badge{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:10px;font-size:9px;vertical-align:2px}.closed-badge{background:#eceef2;color:#687083}.open-badge{background:#e5f5ef;color:var(--green)}
.origin-booking-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}.origin-booking-controls>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.origin-booking-controls span{font-weight:800}.origin-booking-controls button{border:0;border-radius:9px;padding:10px 13px;background:var(--orange);color:#fff;font-weight:800}.origin-booking-controls button.booking-closed{background:#1d8f65}@media(max-width:700px){.origin-booking-controls{grid-template-columns:1fr}}
.gcash-payment{grid-column:1/-1;margin-top:8px;padding:20px;border:1px solid #b8d8cf;border-radius:14px;background:#f1fbf7}.gcash-payment label{display:grid;gap:7px}.gcash-number{display:flex;justify-content:space-between;align-items:center;padding:14px;margin:12px 0;background:#fff;border-radius:10px}.gcash-number span{font-size:12px;color:var(--muted)}.gcash-number strong{font-size:24px;color:#087a59}.payment-banner{padding:10px 16px;text-align:center;font-size:12px;font-weight:800}.payment-banner.pending,.payment-badge.pending{background:#fff1cc;color:#8a6200}.payment-banner.paid,.payment-badge.paid{background:#e5f5ef;color:var(--green)}.payment-banner.rejected,.payment-badge.rejected{background:#fde7e7;color:#a52e35}.payment-badge{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:10px;font-size:9px;vertical-align:2px}.unconfirmed-ticket .ticket-top{background:#68738a}.danger-action{border:0;border-radius:10px;padding:14px 20px;font-weight:800;background:#a52e35;color:#fff}
.payment-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.payment-choice label{display:flex;align-items:flex-start;gap:10px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:10px;cursor:pointer}.payment-choice input{width:auto;margin-top:3px}.payment-choice strong,.payment-choice small{display:block}.payment-choice small{margin-top:4px;color:var(--muted)}.payment-due{padding:12px 14px;background:#dff5eb;border-radius:9px;margin-bottom:9px}.nonrefundable-note{color:#a52e35;font-size:12px;font-weight:800}.payment-banner.reserved,.payment-badge.reserved{background:#e8edff;color:#354f9d}.payment-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 15px}.payment-breakdown>div{padding:11px;background:var(--cream);border-radius:8px}.payment-breakdown span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}.payment-breakdown strong{display:block;margin-top:4px}@media(max-width:620px){.payment-choice,.payment-breakdown{grid-template-columns:1fr}}
.payment-choice label:first-child small:after{content:" Remaining balance should be paid before departure.";font-weight:700;color:#354f9d}.balance-due-note{padding:11px 13px;margin:0 0 10px;border-radius:8px;background:#e8edff;color:#354f9d;font-size:12px;font-weight:800}
.payment-choice label:nth-child(2) small:after{content:" Full payments are non-refundable. Rescheduling may be accommodated provided the Admin team is notified before the scheduled travel date.";display:block;margin-top:5px;font-weight:700;color:#a52e35}.full-payment-policy{padding:11px 13px;margin:0 0 10px;border-radius:8px;background:#fff1ed;color:#8e3c2e;font-size:12px;font-weight:800;line-height:1.5}
.fully-paid-button{border:0;border-radius:10px;padding:14px 20px;font-weight:800;background:#1d8f65;color:#fff}.fully-paid-button:hover{background:#147451}
.terminal-details{margin-top:13px;padding-top:12px;border-top:1px solid rgba(20,33,61,.12)}.terminal-details span,.ticket-terminal span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.06em}.terminal-details strong{font-size:13px;line-height:1.5}.ticket-terminal{padding:13px;margin:0 0 15px;border-radius:9px;background:#f3f7ff}.ticket-terminal strong{display:block;font-size:13px;line-height:1.5}.terminal-admin-detail{grid-column:1/-1}
.passenger-support-footer{padding:24px max(5vw,24px);background:var(--ink);color:#fff;text-align:center}.passenger-support-footer div{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.passenger-support-footer span{color:#dce2ef}.passenger-support-footer a{color:#ffb38e;font-weight:800;text-decoration:none}.passenger-support-footer a:hover{text-decoration:underline}
.sound-toggle{border:1px solid #d9deea;border-radius:18px;padding:7px 11px;background:#f7f8fb;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.sound-toggle[aria-pressed="true"]{border-color:#f6a680;background:#fff3ed;color:var(--orange)}
.gcash-reference-section{display:block;padding-top:20px}.gcash-reference-section>div{min-width:0}.gcash-reference-section .small{display:block;margin-bottom:8px}.gcash-reference-section strong{display:block;max-width:100%;overflow-wrap:anywhere;word-break:break-word;line-height:1.45;margin-bottom:8px}
.gcash-account{text-align:right}.gcash-account small,.gcash-account b,.gcash-account strong{display:block}.gcash-account small{margin-bottom:3px;color:var(--muted);font-size:10px;text-transform:uppercase}.gcash-account b{margin-bottom:3px;color:#087a59;font-size:15px}.gcash-account strong{font-size:24px}
.hero-art .sun{animation:sunTravel 5s ease-in-out infinite}.hero-art .mountain.back{animation:mountainBackTravel 11s ease-in-out infinite}.hero-art .mountain.front{animation:mountainFrontTravel 8s ease-in-out infinite}.hero-art .palm-one{animation:palmOneSway 3.8s ease-in-out infinite;transform-origin:center bottom}.hero-art .palm-two{animation:palmTwoSway 4.4s ease-in-out .4s infinite;transform-origin:center bottom}.hero-art .cloud.one{animation:cloudTravelOne 13s ease-in-out infinite}.hero-art .cloud.two{animation:cloudTravelTwo 16s ease-in-out infinite}@keyframes sunTravel{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-10px,-7px) rotate(5deg)}}@keyframes mountainBackTravel{0%,100%{transform:translateX(0) scale(.8)}50%{transform:translateX(-12px) scale(.8)}}@keyframes mountainFrontTravel{0%,100%{transform:translateX(0)}50%{transform:translateX(-18px)}}@keyframes palmOneSway{0%,100%{transform:rotate(7deg) scale(.85)}50%{transform:rotate(11deg) scale(.85)}}@keyframes palmTwoSway{0%,100%{transform:rotate(-5deg) scale(.65)}50%{transform:rotate(-10deg) scale(.65)}}@keyframes cloudTravelOne{0%,100%{transform:translateX(0)}50%{transform:translateX(-24px)}}@keyframes cloudTravelTwo{0%,100%{transform:translateX(0) scale(.7)}50%{transform:translateX(28px) scale(.7)}}@media(prefers-reduced-motion:reduce){.hero-art .sun,.hero-art .mountain,.hero-art .palm,.hero-art .cloud{animation:none}}
.hero-art .road{overflow:hidden;z-index:1}.hero-art .road:after{content:"";position:absolute;left:0;right:0;top:52%;height:5px;z-index:0;transform:translateY(-50%);background:repeating-linear-gradient(90deg,#fff7c7 0 42px,transparent 42px 76px);background-size:152px 100%;filter:drop-shadow(0 1px 0 rgba(0,0,0,.18));animation:roadLineMove .7s linear infinite}.hero-art .bus{z-index:2}@keyframes roadLineMove{to{background-position:-152px 0}}@media(prefers-reduced-motion:reduce){.hero-art .road:after{animation:none}}
.hero-art .pink-bus,.hero-art .white-red-bus,.hero-art .blue-bus,.hero-art .bus.coach i,.hero-art .road,.hero-art .sun,.hero-art .mountain,.hero-art .palm,.hero-art .cloud{animation-duration:.7s!important}
.hero-art .sun{animation-name:sunLoop!important;animation-timing-function:linear!important}.hero-art .mountain.back{animation-name:mountainBackLoop!important;animation-timing-function:linear!important}.hero-art .mountain.front{animation-name:mountainFrontLoop!important;animation-timing-function:linear!important}.hero-art .palm-one{animation-name:palmOneLoop!important;animation-timing-function:linear!important}.hero-art .palm-two{animation-name:palmTwoLoop!important;animation-timing-function:linear!important}@keyframes sunLoop{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(8px,-5px) rotate(2deg)}50%{transform:translate(0,-9px) rotate(4deg)}75%{transform:translate(-8px,-5px) rotate(2deg)}}@keyframes mountainBackLoop{0%,100%{transform:translate(0,0) scale(.8)}25%{transform:translate(-7px,-2px) scale(.8)}50%{transform:translate(-13px,0) scale(.8)}75%{transform:translate(-7px,2px) scale(.8)}}@keyframes mountainFrontLoop{0%,100%{transform:translate(0,0)}25%{transform:translate(-10px,-2px)}50%{transform:translate(-19px,0)}75%{transform:translate(-10px,2px)}}@keyframes palmOneLoop{0%,100%{transform:rotate(7deg) scale(.85)}25%{transform:rotate(10deg) scale(.85)}50%{transform:rotate(7deg) scale(.85)}75%{transform:rotate(4deg) scale(.85)}}@keyframes palmTwoLoop{0%,100%{transform:rotate(-5deg) scale(.65)}25%{transform:rotate(-9deg) scale(.65)}50%{transform:rotate(-5deg) scale(.65)}75%{transform:rotate(-1deg) scale(.65)}}
@keyframes sunLoop{from{transform:translateX(48vw) rotate(0)}to{transform:translateX(-48vw) rotate(8deg)}}@keyframes mountainBackLoop{from{transform:translateX(55vw) scale(.8)}to{transform:translateX(-55vw) scale(.8)}}@keyframes mountainFrontLoop{from{transform:translateX(50vw)}to{transform:translateX(-58vw)}}@keyframes palmOneLoop{from{transform:translateX(48vw) rotate(7deg) scale(.85)}to{transform:translateX(-55vw) rotate(7deg) scale(.85)}}@keyframes palmTwoLoop{from{transform:translateX(55vw) rotate(-5deg) scale(.65)}to{transform:translateX(-48vw) rotate(-5deg) scale(.65)}}
.hero-art{overflow:hidden}.hero-art .sun{animation-duration:18s!important;z-index:0}.hero-art .mountain.back{animation-duration:15s!important;z-index:0}.hero-art .mountain.front{animation-duration:13s!important;z-index:0}.hero-art .palm-one{animation-duration:12s!important;z-index:0}.hero-art .palm-two{animation-duration:13s!important;z-index:0}.hero-art .road{z-index:2}.hero-art .bus{z-index:3}
.hero-art .bus.coach.pink-bus{bottom:31px;z-index:4}.hero-art .bus.coach.white-red-bus{z-index:4}.hero-art .bus.coach.blue-bus{z-index:5}
.hero-art .bus.coach{translate:0 0}.hero-art .bus.coach.pink-bus{left:5%;width:335px;height:122px;scale:.87}.hero-art .bus.coach.white-red-bus{left:33%;scale:.87}.hero-art .bus.coach.blue-bus{left:60%}.hero-art .pink-bus .coach-windshield{width:63px;height:48px}.hero-art .pink-bus .coach-windows{left:86px;right:55px;height:49px}.hero-art .pink-bus .coach-door{width:35px;height:82px}.hero-art .pink-bus.bus i:first-of-type{left:52px}.hero-art .pink-bus.bus i:last-of-type{right:55px}
.hero-art .pink-bus,.hero-art .white-red-bus,.hero-art .blue-bus{animation-duration:1.4s!important}.hero-art .bus.coach i{animation-duration:1.1s!important}
.hero-art .cloud.one{animation-duration:14s!important}.hero-art .cloud.two{animation-duration:17s!important}.hero-art .road,.hero-art .road:after{animation-duration:1.1s!important}
