:root{--navy:#10233e;--blue:#1769e0;--sky:#eaf3ff;--green:#18a66a;--orange:#f59e0b;--red:#dc3f4f;--ink:#162033;--muted:#6c778b;--line:#e3e9f2}
*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif}
a{text-decoration:none;color:inherit}.shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:var(--navy);color:#fff;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}
.brand{font-weight:800;font-size:19px;line-height:1.25;padding:0 10px 25px}.brand small{display:block;color:#8fb4e8;font-size:11px;letter-spacing:1.8px;margin-top:6px}
.nav-title{font-size:10px;color:#7892b6;letter-spacing:1.4px;padding:18px 12px 8px}.nav a{display:block;padding:11px 13px;margin:4px 0;border-radius:9px;color:#d6e3f5;font-size:14px}.nav a:hover,.nav a.active{background:#1d3a61;color:#fff}
.main{min-width:0}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:2}
.content{padding:28px}.userbox{display:flex;align-items:center;gap:12px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--sky);color:var(--blue);font-weight:800}
.lang{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lang a{padding:7px 10px;font-size:12px}.lang a.on{background:var(--blue);color:#fff}
.hero{background:linear-gradient(135deg,#10233e,#1769e0);color:#fff;border-radius:16px;padding:25px 28px;margin-bottom:22px}.hero h1{font-size:24px;margin:0 0 7px}.hero p{margin:0;color:#cce0ff}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:19px;box-shadow:0 5px 18px rgba(20,40,70,.04)}
.metric{font-size:28px;font-weight:800;margin:8px 0 3px}.label{font-size:13px;color:var(--muted)}.section{margin-top:22px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.btn{border:0;border-radius:9px;padding:10px 15px;background:var(--blue);color:#fff;font-weight:700;cursor:pointer}.btn.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase}
.badge{display:inline-block;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:800}.badge.active{background:#dff7eb;color:#087347}.badge.warning{background:#fff1ce;color:#986200}.badge.expired,.badge.suspended{background:#ffe3e6;color:#b42335}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;background:#fff}.login-art{background:linear-gradient(140deg,rgba(10,28,53,.96),rgba(23,105,224,.9)),url('../img/bus-interior.jpg') center/cover;display:flex;align-items:flex-end;padding:55px;color:#fff}.login-art h1{font-size:40px;max-width:560px}.login-wrap{display:grid;place-items:center;padding:30px}.login-card{width:min(410px,100%)}.login-card h2{font-size:27px;margin:0 0 6px}.login-card>p{color:var(--muted);margin:0 0 28px}
label{font-size:13px;font-weight:700;display:block;margin:15px 0 7px}input{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;font:inherit}.alert{padding:11px 13px;border-radius:8px;background:#ffe3e6;color:#a81f31;margin:12px 0}
@media(max-width:900px){.shell{grid-template-columns:82px 1fr}.brand{font-size:0}.brand:before{content:'MB';font-size:20px}.brand small,.nav-title{display:none}.nav a{font-size:0;text-align:center}.nav a:before{content:'•';font-size:22px}.grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-art{display:none}}
@media(max-width:560px){.content{padding:16px}.topbar{padding:0 16px}.grid{grid-template-columns:1fr}}

/* Version 2 branding and management screens */
.brand-logo{display:flex;align-items:center;gap:10px;font-size:16px;padding-left:4px}.brand-logo img{width:48px;height:48px;border-radius:12px;object-fit:cover;border:2px solid rgba(255,255,255,.2)}.brand-logo span{min-width:0}.brand-logo small{font-size:9px;letter-spacing:1.2px}
.login-art{position:relative;background:linear-gradient(135deg,rgba(8,34,69,.82),rgba(0,145,196,.52)),url('../img/login-bus.jpg') center/cover;overflow:hidden}.login-art:before{content:'';position:absolute;inset:-12px;background:url('../img/login-bus.jpg') center/cover;filter:blur(2px);opacity:.13}.login-art>div{position:relative;z-index:1}.login-art-logo{width:98px;height:98px;object-fit:cover;border-radius:24px;border:4px solid rgba(255,255,255,.8);box-shadow:0 12px 35px rgba(0,0,0,.25);margin-bottom:18px}.login-kicker{font-weight:800;letter-spacing:2px}.login-support{margin-top:20px;font-weight:700}.login-logo{width:86px;height:86px;object-fit:cover;border-radius:20px;margin-bottom:18px;box-shadow:0 10px 30px rgba(20,40,70,.15)}
.support{margin-top:25px;padding:14px 12px;border-radius:10px;background:rgba(255,255,255,.07)}.support small{display:block;color:#8fb4e8;font-size:9px;letter-spacing:1.3px}.support strong{display:block;margin-top:4px;font-size:13px}
.page-banner{position:relative;overflow:hidden;border-radius:16px;min-height:145px;padding:30px;color:#fff;display:flex;align-items:center;background:linear-gradient(110deg,rgba(10,28,53,.96),rgba(23,105,224,.72)),url('../img/bus-route.jpg') center/cover}.page-banner:after{content:'';position:absolute;inset:-10px;background:url('../img/bus-route.jpg') center/cover;filter:blur(5px);opacity:.14}.page-banner>div{position:relative;z-index:1}.page-banner h1{margin:0 0 7px}.page-banner p{margin:0;color:#d8e8ff}
.two-col{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:18px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.form-grid .full{grid-column:1/-1}select{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:#fff;font:inherit}.card form>.btn{margin-top:18px}.table-wrap{overflow:auto}.link-btn{border:0;background:none;color:var(--blue);font-weight:700;cursor:pointer}.notice{margin-top:16px;padding:12px 15px;border-radius:9px;font-weight:700}.notice.success{background:#dff7eb;color:#087347}.notice.error{background:#ffe3e6;color:#a81f31}
@media(max-width:1000px){.two-col{grid-template-columns:1fr}}@media(max-width:900px){.brand-logo:before{display:none}.brand-logo img{width:46px}.brand-logo span,.support{display:none}}@media(max-width:560px){.form-grid{grid-template-columns:1fr}}
.three-col{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}.bus-frame{max-width:480px;margin:25px auto;background:#eef3f8;border:4px solid #cbd6e4;border-radius:35px;padding:22px 28px 32px;box-shadow:inset 0 0 0 3px #fff}.bus-front{display:flex;justify-content:space-between;align-items:center;border-bottom:2px dashed #bbc8d8;padding:5px 4px 18px;margin-bottom:18px}.driver{text-align:left;color:#617187;font-weight:700}.door{border:2px solid #f59e0b;background:#fff4d8;color:#8d5b00;border-radius:6px;padding:7px 10px;font-weight:800}.seat-map{display:flex;flex-direction:column;gap:10px}.seat-row{display:grid;gap:9px}.layout-2x2 .seat-row{grid-template-columns:1fr 1fr 22px 1fr 1fr}.layout-2x2 .seat-row .seat:nth-child(3){grid-column:4}.layout-2x2 .seat-row .seat:nth-child(4){grid-column:5}.layout-2x1 .seat-row{grid-template-columns:1fr 1fr 36px 1fr}.layout-2x1 .seat-row .seat:nth-child(3){grid-column:4}.seat{height:38px;border-radius:10px 10px 6px 6px;background:#dff7eb;border:2px solid #18a66a;color:#087347;display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:0 3px 0 #a8dcca}.seat.vip{background:#eee7ff;border-color:#805ad5;color:#5b36aa;box-shadow:0 3px 0 #cfc0f0}.seat.blocked,.seat.booked{background:#e7ebf0;border-color:#9ca8b8;color:#687487;box-shadow:none}.seat.selectable{padding:0;cursor:pointer;position:relative}.seat.selectable input{position:absolute;opacity:0}.seat.selectable:has(input:checked){background:#1769e0;border-color:#0d4fae;color:#fff;box-shadow:0 3px 0 #0d4fae}.seat.selectable.booked{cursor:not-allowed;text-decoration:line-through}.seat-legend{display:flex;gap:15px;font-size:12px}.seat-legend span{display:flex;align-items:center;gap:6px}.seat.sample{width:23px;height:23px;display:inline-block}.booking-grid{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(400px,1.2fr);gap:28px}
.ticket-page{padding:25px;background:#eef3f8}.ticket-actions{max-width:760px;margin:0 auto 14px;display:flex;justify-content:space-between}.ticket{max-width:760px;margin:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 35px rgba(20,40,70,.12)}.ticket header{display:flex;align-items:center;gap:14px;border-bottom:1px dashed #b9c4d2;padding-bottom:18px}.ticket header img{width:62px;height:62px;border-radius:14px}.ticket h2,.ticket p{margin:0}.ticket p{color:var(--muted);margin-top:4px}.ticket-ref{text-align:center;padding:20px}.ticket-ref small,.ticket small{display:block;color:var(--muted);font-size:10px;letter-spacing:1px}.ticket-ref strong{font-size:25px}.ticket-journey{display:grid;grid-template-columns:1fr 50px 1fr;background:var(--navy);color:#fff;border-radius:13px;padding:20px;align-items:center;text-align:center}.ticket-journey strong{display:block;font-size:20px}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:22px 0}.ticket-grid strong{display:block;margin-top:4px}.ticket-code{text-align:center;border:2px dashed #14233b;padding:12px;letter-spacing:5px;font-weight:900}.ticket footer{text-align:center;color:var(--muted);font-size:12px;padding-top:16px}
@media(max-width:1100px){.three-col{grid-template-columns:1fr 1fr}.three-col section:last-child{grid-column:1/-1}.booking-grid{grid-template-columns:1fr}}@media(max-width:700px){.three-col{grid-template-columns:1fr}.three-col section:last-child{grid-column:auto}.ticket-grid{grid-template-columns:1fr}}
@media print{.ticket-actions{display:none}.ticket-page{padding:0;background:#fff}.ticket{box-shadow:none;max-width:100%;border-radius:0}}
.designer-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.designer-toolbar input{width:120px}.designer-help{margin:16px 0;color:var(--muted)}.layout-palette{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.layout-palette span{padding:7px 10px;border-radius:7px;font-size:11px;font-weight:800}.layout-palette .standard{background:#dff7eb;color:#087347}.layout-palette .vip{background:#eee7ff;color:#5b36aa}.layout-palette .blocked{background:#e7ebf0;color:#687487}.layout-palette .door{background:#fff4d8;color:#8d5b00}.layout-palette .empty{background:#f5f7fb;color:#8792a3;border:1px dashed #bbc5d2}.custom-grid{display:grid;gap:8px;justify-content:center;background:#eef3f8;border:4px solid #cbd6e4;border-radius:30px;padding:28px;max-width:max-content;margin:0 auto 22px}.layout-cell{height:48px;border-radius:9px;font-size:11px;font-weight:800;cursor:pointer}.layout-cell.standard{background:#dff7eb;border:2px solid #18a66a;color:#087347}.layout-cell.vip{background:#eee7ff;border:2px solid #805ad5;color:#5b36aa}.layout-cell.blocked{background:#e7ebf0;border:2px solid #9ca8b8;color:#687487}.layout-cell.door{background:#fff4d8;border:2px solid #f59e0b;color:#8d5b00}.layout-cell.empty{background:transparent;border:1px dashed #b7c2cf;color:#9ca8b8}
.layout-custom .seat-row{grid-template-columns:repeat(var(--grid-cols),minmax(42px,1fr))}.layout-placeholder{height:38px;border-radius:7px}.layout-placeholder.door{display:grid;place-items:center;background:#fff4d8;border:2px solid #f59e0b;color:#8d5b00;font-size:10px;font-weight:800}.layout-placeholder.empty{background:transparent}
.search-bar{display:flex;gap:10px}.search-bar input{flex:1}.mini-form{min-width:260px;display:grid;gap:6px;padding:8px 0}.mini-form input,.mini-form select{padding:8px}.customer-page{background:#f5f7fb}.customer-header{height:72px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - 1180px)/2));border-bottom:1px solid var(--line)}.customer-brand{display:flex;align-items:center;gap:10px}.customer-brand img{width:46px;height:46px;border-radius:12px}.customer-header nav{display:flex;gap:18px;align-items:center;font-size:13px;font-weight:700}.customer-main{max-width:1180px;margin:auto;padding:24px}.customer-hero{min-height:260px;border-radius:22px;background-position:center;background-size:cover;color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.customer-hero h1{font-size:38px;margin:0 0 10px}.customer-hero p{margin:0;font-size:17px}.trip-cards{display:grid;gap:13px;margin-top:20px}.trip-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center}.trip-card h3{margin:6px 0}.trip-card p{margin:0;color:var(--muted)}.trip-card>div:last-child{display:flex;align-items:center;gap:18px}.checkout-card,.customer-result{max-width:760px;margin:22px auto}.countdown{float:right;background:#fff1ce;color:#986200;padding:10px 14px;border-radius:8px;font-size:22px;font-weight:900}.verify-link{text-align:center;font-size:10px;color:var(--muted);word-break:break-all;margin-top:12px}.verify-page{min-height:100vh;display:grid;place-items:center;background:#eef3f8}.verify-card{width:min(430px,90%);background:#fff;border-radius:18px;padding:30px;text-align:center;box-shadow:0 12px 40px rgba(20,40,70,.13)}.verify-card img{width:80px;border-radius:18px}.verify-ok{background:#dff7eb;color:#087347;padding:13px;border-radius:9px;font-weight:900}.verify-bad{background:#ffe3e6;color:#a81f31;padding:13px;border-radius:9px;font-weight:900}
@media(max-width:700px){.customer-header{padding:0 14px}.customer-header nav a:first-child,.customer-header nav a:last-child{display:none}.customer-main{padding:14px}.customer-hero{min-height:210px;padding:25px}.customer-hero h1{font-size:28px}.trip-card{align-items:flex-start;gap:15px}.trip-card>div:last-child{flex-direction:column;align-items:flex-end}}
.inline-control{display:flex;gap:5px;align-items:center;margin-top:6px}.inline-control select,.inline-control input{width:auto;max-width:130px;padding:6px;font-size:11px}.manifest-print{background:#fff;padding:25px}.manifest-print header{display:flex;align-items:center;gap:15px;margin-bottom:18px}.manifest-print header img{width:65px;border-radius:12px}.manifest-print h2,.manifest-print p{margin:0}.manifest-print td{height:38px}@media print{.manifest-print{padding:0}.manifest-print table{font-size:11px}}
.report-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.report-filters input,.report-filters select{min-width:150px}.report-grid .metric{font-size:24px}.report-totals{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:15px;margin-top:15px;font-size:12px}.occupancy{height:7px;background:#e4eaf2;border-radius:10px;overflow:hidden;min-width:100px;margin-bottom:4px}.occupancy span{display:block;height:100%;background:linear-gradient(90deg,#1769e0,#18a66a)}.expense-form{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;align-items:end}.expense-form input,.expense-form select{margin:0}.expense-form .btn{margin:0}@media(max-width:1000px){.expense-form{grid-template-columns:1fr 1fr}}@media(max-width:600px){.expense-form{grid-template-columns:1fr}}
@media print{.no-print,.sidebar,.topbar{display:none!important}.shell{display:block}.content{padding:0}.page-banner{min-height:auto;padding:15px}.card{box-shadow:none}.two-col{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(4,1fr)}}
.subscription-strip{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px}.security-page{max-width:1050px;margin:auto;padding:30px}.security-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.security-head img{width:65px;border-radius:15px}.permission-cards{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:16px;margin-top:18px}.permission-module{font-size:10px;font-weight:900;color:var(--blue);letter-spacing:1.3px;margin:16px 0 7px}.check-line{display:flex;align-items:center;gap:9px;margin:7px 0;font-weight:500}.check-line input{width:17px;height:17px}.check-line span{font-size:13px}@media(max-width:800px){.permission-cards{grid-template-columns:1fr}}
.mode-metric{font-size:20px!important}.test-mode-note{margin-top:18px;background:#fff1ce;color:#795200;padding:12px;border-radius:9px;font-size:12px}.template-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));gap:14px}.template-grid textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:11px;font:inherit;resize:vertical}.health-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;text-align:left}.health-row strong{color:var(--blue)}@media(max-width:800px){.template-grid{grid-template-columns:1fr}}
.customer-search{margin-top:-38px;position:relative;z-index:2}.customer-search form{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:12px;align-items:end}.customer-search label{margin-top:0}.lookup-card{margin-top:22px}.lookup-result{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding:13px;background:#f5f7fb;border-radius:9px}.sandbox-label{background:#fff1ce;color:#8d5b00;border-radius:20px;padding:6px 12px;font-size:10px;font-weight:900;letter-spacing:1.5px;margin:10px auto;width:max-content}.payment-box form{display:grid;gap:8px}.payment-amount{font-size:34px;font-weight:900;color:var(--navy);margin:18px}.bordereau-page{background:#eef3f8;padding:20px}.bordereau-actions{max-width:1400px;margin:0 auto 12px;display:flex;justify-content:space-between}.bordereau{max-width:1400px;margin:auto;background:#fff;padding:24px}.bordereau header{display:grid;grid-template-columns:80px 1fr 220px;gap:15px;align-items:center;border-bottom:2px solid var(--navy);padding-bottom:14px}.bordereau header img{width:70px;border-radius:14px}.bordereau h1,.bordereau h2,.bordereau p{margin:2px 0}.bordereau h2{font-size:16px}.bordereau-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.bordereau-grid>div{border:1px solid var(--line);padding:9px}.bordereau-grid small{display:block;color:var(--muted)}.bordereau-grid strong{display:block;margin-top:4px}.bordereau-grid input{border:0;padding:4px 0}.bordereau table th,.bordereau table td{padding:8px;font-size:10px}.bordereau-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:14px}.bordereau-summary div{background:#eef3f8;padding:9px;font-size:11px}.bordereau-summary strong{display:block;margin-top:4px}.bordereau-notes{display:grid;grid-template-columns:120px 1fr 100px 1fr;gap:8px;margin-top:14px}.bordereau-notes textarea{min-height:55px}.signature-row{display:grid;grid-template-columns:repeat(4,1fr);gap:25px;margin:55px 0 20px;text-align:center}.signature-row span{border-top:1px solid #333;padding-top:7px}.save-bordereau{display:block;margin-left:auto}@media(max-width:900px){.customer-search form{grid-template-columns:1fr 1fr}.bordereau-grid{grid-template-columns:1fr 1fr}.bordereau-summary{grid-template-columns:1fr 1fr}}
@media print{.bordereau-page{padding:0;background:#fff}.bordereau-actions,.save-bordereau,.notice{display:none}.bordereau{max-width:none;padding:0}.bordereau input,.bordereau textarea{border:0;background:transparent}.bordereau tr{page-break-inside:avoid}}

/* Version 14: professional collapsible navigation and settings */
.professional-nav{display:flex;flex-direction:column;gap:5px}.professional-nav>.nav-item{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.04);border:1px solid transparent}.nav-icon{width:25px;height:25px;flex:0 0 25px;border-radius:7px;display:grid;place-items:center;background:rgba(255,255,255,.08);font-size:11px;font-weight:900}.nav-group{border:1px solid rgba(255,255,255,.07);border-radius:11px;overflow:hidden;background:rgba(0,0,0,.06)}.nav-group summary{list-style:none;display:flex;align-items:center;gap:10px;padding:11px 12px;color:#dce8f7;font-size:13px;font-weight:800;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:rgba(255,255,255,.06)}.nav-group[open] summary{color:#fff;background:rgba(255,255,255,.05)}.nav-chevron{margin-left:auto;transition:transform .2s}.nav-group[open] .nav-chevron{transform:rotate(180deg)}.nav-group>div{padding:3px 7px 8px;border-top:1px solid rgba(255,255,255,.06)}.nav-group .nav-item{display:flex;align-items:center;gap:9px;padding:9px 10px;margin:3px 0;font-size:12px}.nav-group .nav-item .nav-icon{width:21px;height:21px;flex-basis:21px;font-size:9px}.nav-group .nav-item.active{background:linear-gradient(90deg,#1769e0,#2581ed);box-shadow:0 5px 14px rgba(0,0,0,.18)}
.settings-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px;align-items:start}.settings-layout .card{margin:0}.settings-heading{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:16px}.settings-heading>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--sky);color:var(--blue);font-size:11px;font-weight:900}.settings-heading h3{margin:0 0 4px}.settings-heading p{margin:0;color:var(--muted);font-size:12px}.switch-line{display:flex;align-items:center;gap:12px;padding:12px 0;margin:0;border-bottom:1px solid var(--line);cursor:pointer}.switch-line input{display:none}.switch-line>span{width:42px;height:23px;background:#cbd3df;border-radius:20px;position:relative;flex:0 0 42px;transition:.2s}.switch-line>span:after{content:'';position:absolute;width:17px;height:17px;top:3px;left:3px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.switch-line input:checked+span{background:var(--green)}.switch-line input:checked+span:after{left:22px}.switch-line strong,.switch-line small{display:block}.switch-line small{color:var(--muted);font-weight:400;margin-top:3px}.settings-warning{margin-top:14px;padding:11px;background:#fff1ce;color:#795200;border-radius:8px;font-size:12px}.settings-save{grid-column:1/-1;justify-self:end;min-width:220px}
@media(max-width:900px){.professional-nav .nav-group summary span:not(.nav-icon):not(.nav-chevron),.professional-nav .nav-item span:not(.nav-icon){display:none}.nav-group summary{justify-content:center}.nav-chevron{display:none}.nav-group>div{padding:3px}.settings-layout{grid-template-columns:1fr}}@media(max-width:600px){.settings-layout .form-grid{grid-template-columns:1fr}.settings-save{width:100%}}

/* Version 15: premium customer booking experience */
.customer-page{background:linear-gradient(180deg,#eef7ff 0,#f7f9fc 520px,#fff 100%);min-height:100vh}.customer-header{height:82px;position:sticky;top:0;z-index:20;padding:0 max(24px,calc((100% - 1240px)/2));background:rgba(255,255,255,.92);backdrop-filter:blur(16px);box-shadow:0 7px 30px rgba(11,43,78,.07)}.customer-brand img{width:52px;height:52px;border-radius:15px;box-shadow:0 7px 22px rgba(4,135,184,.22)}.customer-brand strong{font-size:17px;letter-spacing:.4px;color:#0c294b}.customer-header nav a{padding:9px 12px;border-radius:9px;color:#41516a;transition:.2s}.customer-header nav a:hover{background:#eaf5ff;color:#087fae}.customer-header nav a:nth-last-child(2),.customer-header nav a:nth-last-child(3){padding:8px 9px;background:#edf4fa}.customer-header nav a:last-child{border:1px solid #dce6f0}
.customer-main{max-width:1240px;padding:28px 24px 0}.customer-hero{min-height:390px;border-radius:28px;padding:65px;background-position:center 52%;position:relative;overflow:hidden;box-shadow:0 25px 60px rgba(5,48,88,.22)}.customer-hero:before{content:'MAAR TECHNOLOGY';position:absolute;top:35px;left:65px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:20px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);font-size:10px;font-weight:900;letter-spacing:2px}.customer-hero:after{content:'';position:absolute;width:350px;height:350px;border:80px solid rgba(255,255,255,.05);border-radius:50%;right:-130px;bottom:-210px}.customer-hero h1{font-size:48px;line-height:1.08;max-width:700px;margin-top:35px;text-shadow:0 3px 18px rgba(0,0,0,.25);position:relative;z-index:1}.customer-hero p{max-width:650px;font-size:18px;line-height:1.6;color:#eef8ff;position:relative;z-index:1}
.customer-benefits{width:calc(100% - 70px);margin:-34px auto 0;position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #e3ebf3;border-radius:18px;padding:12px;box-shadow:0 18px 45px rgba(17,51,88,.12)}.customer-benefits>div{display:flex;align-items:center;gap:11px;padding:11px 14px;border-right:1px solid #e6edf4}.customer-benefits>div:last-child{border:0}.customer-benefits b{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#dff6ff,#e9f2ff);color:#0786b5;font-size:18px}.customer-benefits strong,.customer-benefits small{display:block}.customer-benefits strong{font-size:12px;color:#16314f}.customer-benefits small{font-size:10px;color:#7a8799;margin-top:3px}
.customer-search{margin:-2px 35px 0;padding:28px 25px 23px;border:0;border-radius:0 0 20px 20px;box-shadow:0 18px 45px rgba(17,51,88,.08)}.customer-search:before{content:'FIND YOUR NEXT JOURNEY';display:block;color:#0786b5;font-size:10px;font-weight:900;letter-spacing:1.8px;margin-bottom:13px}.customer-search label{color:#293d56}.customer-search select,.customer-search input{min-height:49px;background:#f8fafc;border-color:#dbe5ef}.customer-search .btn{min-height:49px;padding:0 22px;background:linear-gradient(135deg,#0b93be,#1769e0);box-shadow:0 9px 20px rgba(23,105,224,.23);white-space:nowrap}
.trip-cards{margin:32px 35px}.trip-card{position:relative;overflow:hidden;border:0;padding:23px 25px;border-left:4px solid #0793be;box-shadow:0 10px 30px rgba(17,51,88,.08);transition:transform .2s,box-shadow .2s}.trip-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(17,51,88,.13)}.trip-card:after{content:'🚌';position:absolute;right:25%;bottom:-17px;font-size:65px;opacity:.045}.trip-card h3{font-size:20px;color:#122f4e}.trip-card .label{display:inline-block;background:#e8f7fc;color:#087ea8;border-radius:20px;padding:5px 9px;font-weight:800}.trip-card>div:last-child strong{font-size:18px;color:#0b3157}.trip-card .btn{background:linear-gradient(135deg,#0793be,#1769e0);box-shadow:0 7px 17px rgba(23,105,224,.18)}
.customer-page .section.card{border:0;border-radius:20px;box-shadow:0 14px 40px rgba(17,51,88,.09);padding:25px}.customer-page .section.card>h2{color:#0d3156;margin-bottom:6px}.customer-page .bus-frame{background:linear-gradient(180deg,#f4f8fc,#e8eef5);border-color:#b9c9d9;box-shadow:inset 0 0 0 3px #fff,0 16px 30px rgba(29,58,97,.09)}.customer-page .seat.selectable:not(.booked){transition:transform .15s,box-shadow .15s}.customer-page .seat.selectable:not(.booked):hover{transform:translateY(-2px);box-shadow:0 6px 10px rgba(24,166,106,.25)}.customer-page .seat.selectable.chosen{background:#1769e0;border-color:#0d4fae;color:#fff;box-shadow:0 3px 0 #0d4fae}.customer-page .booking-grid>div:last-child{background:#f8fbfe;border:1px solid #e2eaf2;border-radius:16px;padding:22px}.customer-page .booking-grid .btn{width:100%;padding:14px;margin-top:18px;background:linear-gradient(135deg,#0793be,#1769e0)}
.customer-steps{padding:70px 35px 15px}.customer-section-title{text-align:center}.customer-section-title>span{display:inline-block;color:#0786b5;font-size:10px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase}.customer-section-title h2{font-size:28px;color:#123250;margin:8px 0 25px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.step-grid article{position:relative;background:#fff;border:1px solid #e1eaf3;border-radius:17px;padding:26px;text-align:center;box-shadow:0 8px 25px rgba(17,51,88,.06)}.step-grid article>b{width:43px;height:43px;margin:auto;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#0793be,#1769e0);color:#fff;box-shadow:0 8px 18px rgba(23,105,224,.22)}.step-grid h3{margin:14px 0 7px;color:#17344f}.step-grid p{margin:0;color:#738197;font-size:13px;line-height:1.5}
.lookup-card{margin:45px 35px 0;padding:27px;background:linear-gradient(135deg,#102c4c,#164f84);color:#fff;border:0;box-shadow:0 16px 40px rgba(16,44,76,.2)}.lookup-card h3{margin-top:0;font-size:21px}.lookup-card .search-bar input{background:#fff;border:0}.lookup-card .btn{background:#0b9bc5}.customer-footer{margin:65px -24px 0;padding:35px max(24px,calc((100vw - 1192px)/2));background:#0c233d;color:#fff;display:flex;align-items:center;justify-content:space-between}.customer-footer p{margin:7px 0 0;color:#a9bfd5}.customer-footer>div:last-child{text-align:right}.customer-footer span,.customer-footer strong{display:block}.customer-footer span{font-size:11px;color:#8faac5;margin-bottom:5px}
@media(max-width:950px){.customer-benefits{grid-template-columns:1fr 1fr}.customer-benefits>div:nth-child(2){border-right:0}.customer-benefits>div:nth-child(-n+2){border-bottom:1px solid #e6edf4}.customer-search form{grid-template-columns:1fr 1fr}.customer-search .btn{grid-column:1/-1}.trip-card>div:last-child{flex-wrap:wrap;justify-content:flex-end}.customer-hero h1{font-size:40px}}
@media(max-width:700px){.customer-header{height:70px}.customer-brand img{width:44px;height:44px}.customer-brand strong{font-size:14px}.customer-header nav a{padding:7px}.customer-main{padding:14px 12px 0}.customer-hero{min-height:310px;padding:35px 25px;border-radius:20px}.customer-hero:before{left:25px;top:25px}.customer-hero h1{font-size:33px;margin-top:45px}.customer-hero p{font-size:14px}.customer-benefits{width:calc(100% - 20px);grid-template-columns:1fr;margin-top:-23px}.customer-benefits>div{border-right:0!important;border-bottom:1px solid #e6edf4!important}.customer-benefits>div:last-child{border-bottom:0!important}.customer-benefits>div:nth-child(n+3){display:none}.customer-search{margin:0 10px;padding:22px 17px}.customer-search form{grid-template-columns:1fr}.customer-search .btn{grid-column:auto}.trip-cards{margin:25px 10px}.trip-card{flex-direction:column}.trip-card>div:last-child{width:100%;align-items:center;flex-direction:row;justify-content:space-between}.trip-card>div:last-child span{display:none}.trip-card .btn{width:100%;text-align:center}.step-grid{grid-template-columns:1fr}.customer-steps{padding:50px 10px 10px}.customer-section-title h2{font-size:23px}.lookup-card{margin:35px 10px 0}.lookup-card .search-bar{display:grid}.customer-footer{margin:45px -12px 0;padding:28px 22px;display:block}.customer-footer>div:last-child{text-align:left;margin-top:22px}}

/* Version 16: agency cash counter booking */
.counter-trip-picker{border:0;box-shadow:0 10px 32px rgba(17,51,88,.07)}.live-seat-badge{padding:7px 11px;border-radius:20px;background:#ddf8eb;color:#087347;font-size:10px;font-weight:900}.counter-trip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px}.counter-trip-option{display:flex;flex-direction:column;gap:5px;padding:15px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd;transition:.18s}.counter-trip-option:hover,.counter-trip-option.active{border-color:#1769e0;background:#eef5ff;box-shadow:0 7px 20px rgba(23,105,224,.11)}.counter-trip-option>span{font-size:10px;color:#1769e0;font-weight:900;text-transform:uppercase}.counter-trip-option strong{font-size:14px}.counter-trip-option small{color:var(--muted)}.counter-trip-option b{color:#087347;font-size:11px}.empty-state{grid-column:1/-1;padding:25px;text-align:center;color:var(--muted);background:#f7f9fc;border-radius:12px}
.counter-booking-layout{display:grid;grid-template-columns:minmax(500px,1.15fr) minmax(370px,.85fr);gap:18px;align-items:start}.counter-booking-layout>.card{margin:0}.counter-booking-layout .bus-frame{max-width:520px}.counter-booking-layout .seat-legend{margin:14px 0;flex-wrap:wrap}.seat.sample.chosen{background:#1769e0;border-color:#0d4fae;box-shadow:none}.counter-passenger{position:sticky;top:92px}.counter-total{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.counter-total>div{padding:15px;border-radius:11px;background:#eef5ff}.counter-total span,.counter-total strong{display:block}.counter-total span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:800}.counter-total strong{font-size:18px;color:#123b68;margin-top:5px}.cash-change{display:flex;align-items:center;justify-content:space-between;margin-top:9px;padding:12px 14px;border-radius:10px;background:#def7ea;color:#087347}.counter-warning{margin-top:16px;padding:12px;border-radius:9px;background:#fff4d6;color:#775100;font-size:11px;line-height:1.5}.counter-confirm{width:100%;padding:14px;margin-top:17px;background:linear-gradient(135deg,#0a8fbb,#1769e0);box-shadow:0 8px 20px rgba(23,105,224,.2)}
@media(max-width:1100px){.counter-trip-grid{grid-template-columns:1fr 1fr}.counter-booking-layout{grid-template-columns:1fr}.counter-passenger{position:static}}@media(max-width:650px){.counter-trip-grid{grid-template-columns:1fr}.counter-booking-layout .card{padding:14px}.counter-total{grid-template-columns:1fr}.counter-booking-layout .bus-frame{padding:18px 16px}}
