:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#171717;background:#f4f4f1}*{box-sizing:border-box}body{margin:0}#ssb5-app{position:fixed;inset:0;z-index:999999;max-width:none;margin:0;padding-bottom:76px;background:#f4f4f1;overflow:hidden}#ssb5-app main{height:calc(100vh - 70px);overflow:auto;padding-top:2px;padding-bottom:90px;-webkit-overflow-scrolling:touch}.topbar{min-height:64px}.topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ddd;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.topbar b{display:block;font-size:20px}.topbar small{color:#777}.tab{display:none}.tab.active{display:block}.card{background:#fff;margin:10px;padding:16px;border-radius:18px;box-shadow:0 2px 12px rgba(0,0,0,.05)}h2{font-size:20px;margin:0 0 14px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{font-size:13px;color:#555}input,select{width:100%;padding:12px;margin-top:5px;border:1px solid #d8d8d8;border-radius:11px;background:#fff;font-size:15px}.primary,.secondary,.ghost,.quick button,.menu-item{border:0;border-radius:11px;padding:12px 14px;font-weight:700;cursor:pointer}.primary{width:100%;background:#171717;color:#fff;margin-top:12px}.secondary{background:#f0f0ee;color:#222}.ghost{background:#f3f3f1}.danger{color:#a11}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.actions .primary{width:auto}.deck{margin-top:12px;padding:12px;border:1px solid #ddd;border-radius:16px}.deck h3{margin:0 0 10px}.seat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.seat{min-height:74px;border:2px solid #278c61;border-radius:11px;background:#fff;padding:6px;font-size:11px}.seat strong{display:block;font-size:17px}.seat span{display:block}.seat.selected{background:#f2ca5c;border-color:#c69d25}.seat.booked{background:#d2d2d2;border-color:#999;color:#666}.summary{padding:11px;background:#faf6e4;border-radius:11px;margin-top:10px}.success{border-left:4px solid #278c61}.passenger{border:1px solid #ddd;border-radius:14px;padding:12px;margin:10px 0}.passenger h3{margin:0 0 7px}.tag{display:inline-block;background:#eee;border-radius:8px;padding:3px 7px;margin-right:4px;font-size:11px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stats>div{background:#faf6e4;padding:12px;border-radius:12px}.stats b,.stats strong{display:block}.stats strong{font-size:19px;margin-top:4px}.quick{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quick button,.menu-item{background:#f2f2ef;width:100%;text-align:left;margin:4px 0}.booking-row{border:1px solid #ddd;border-radius:14px;padding:12px;margin:10px 0}.status{font-size:11px;padding:3px 7px;border-radius:8px;background:#eee}.status.cancelled{background:#ffdede;color:#8a0000}.status.confirmed{background:#e0f3e8;color:#17633d}.muted{color:#777;font-size:13px}.error{color:#a00;padding:8px}.chart-table{overflow:auto;margin-top:12px}.chart-table table{width:100%;border-collapse:collapse}.chart-table th,.chart-table td{border:1px solid #ddd;padding:7px;font-size:12px;text-align:left}.chart-actions{display:flex;gap:8px;margin-top:12px}nav{position:fixed;bottom:0;left:0;right:0;z-index:30;background:#fff;border-top:1px solid #ddd;display:flex;justify-content:space-around;padding:6px 4px}nav button{border:0;background:transparent;font-size:18px;padding:6px 10px}nav small{display:block;font-size:10px}.ssb-gate{position:fixed;inset:0;z-index:1000000;min-height:100vh;background:#f4f4f1;display:flex;align-items:center;justify-content:center;padding:24px}.gate-card{width:min(420px,100%);background:#fff;border:1px solid #ddd;border-radius:20px;padding:28px;box-shadow:0 12px 35px rgba(0,0,0,.08);text-align:center}.brand{font-size:22px;font-weight:800}.gate-card input{margin:14px 0}.gate-card[hidden],#ssb5-app[hidden]{display:none!important}@media(max-width:650px){.grid,.stats{grid-template-columns:1fr}.seat-grid{grid-template-columns:repeat(3,1fr)}.card{margin:7px;border-radius:14px}.seat{min-height:70px;font-size:10px}.quick{grid-template-columns:1fr 1fr}}

.route-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.route-times label{display:flex;flex-direction:column;gap:5px}.route-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0}.route-row .actions{margin:0}@media(max-width:600px){.route-times{grid-template-columns:1fr}.route-row{flex-direction:column;align-items:stretch}}
