:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#10233b;background:#fff}*{box-sizing:border-box}body{margin:0;background:#fff;min-height:100vh}.shell{max-width:1050px;margin:auto;padding:28px 18px 60px}.hero{display:flex;gap:18px;align-items:center;margin-bottom:24px}.brand{width:74px;height:74px;border-radius:22px;background:#347600;color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px}.hero h1{margin:0 0 5px;font-size:clamp(25px,4vw,38px)}.hero p{margin:0;color:#5a6b53}.panel{background:#fff;border:1px solid #dbe6d3;border-radius:24px;padding:clamp(20px,4vw,34px);box-shadow:0 18px 50px #18365314}.hidden{display:none!important}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.portal-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.portal{border:1px solid #dbe6d3;background:#f8fbf5;border-radius:18px;padding:22px;text-align:left;cursor:pointer}.portal:hover{border-color:#6b9f47;box-shadow:0 10px 25px #34760014}.portal strong{display:block;font-size:19px;margin-bottom:7px}.portal span,.muted{color:#5c6d55}.primary,.secondary,.back{border:0;border-radius:12px;padding:13px 18px;font-weight:750;cursor:pointer}.primary{background:#73d700;color:#10233b}.secondary{background:#fff;color:#10233b;border:1px solid #dbe6d3}.wide{width:100%;font-size:17px}.back{background:transparent;color:#347600;padding-left:0}form{display:grid;gap:14px;max-width:560px}label{display:grid;gap:7px;font-weight:650}input{width:100%;padding:13px 14px;border:1px solid #dbe6d3;border-radius:11px;font:inherit}.message{min-height:22px;font-weight:650}.message.ok{color:#147a3e}.message.error{color:#b42318}.dash-head{display:flex;justify-content:space-between;gap:15px}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#347600;font-weight:800;font-size:13px}.notice{margin:18px 0;padding:15px;border-radius:14px;background:#fff6d8;border:1px solid #f1d06d;color:#674d00}.dashboard-card{margin-top:22px;background:#f8fbf5;border:1px solid #dbe6d3;border-radius:18px;padding:20px}@media(max-width:720px){.portal-grid,.portal-grid.three{grid-template-columns:1fr}.hero{align-items:flex-start}.brand{width:58px;height:58px;border-radius:17px}.dash-head{flex-direction:column}}
/* Phase 1D5 registration fields */
.registration-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; }
.registration-section { margin-top:16px; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); }
.registration-section h3 { margin:0 0 10px; font-size:1rem; }
.file-hint { font-size:.85rem; opacity:.75; margin-top:6px; }

.document-uploads{display:grid;gap:12px;margin-top:14px}.document-upload{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.document-upload label{flex:1;min-width:220px}.consent-line{display:flex;gap:8px;align-items:flex-start}.consent-line input{width:auto;margin-top:3px}
/* SPEC008 T025 — accueil BLEU par rôles */
:root{--bst-primary:#347600;--bst-primary-deep:#285c00;--bst-tint:#f0f8e9;--bst-text:#173500}
body{background:#f0f8e9}
.shell{max-width:1120px;padding-top:18px}.hero-blue{display:block;color:#10233b;margin-bottom:10px;padding:4px 10px 0;background:#73d700}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.flag-wrap{text-align:center;margin:0 auto}.guinea-flag{width:114px;height:70px;display:grid;grid-template-columns:1fr 1fr 1fr;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #001b4b44}.guinea-flag span:nth-child(1){background:#ce1126}.guinea-flag span:nth-child(2){background:#fcd116}.guinea-flag span:nth-child(3){background:#009460}.motto{font-size:13px;margin-top:8px;font-weight:700;letter-spacing:.01em}.language-switcher{display:block;font-weight:700}.bst-nav-language{position:fixed;right:12px;top:10px;z-index:1000;min-width:58px;padding:6px 8px;border:1px solid #dbe6d3;border-radius:999px;background:#fff;color:#10233b;font:inherit;font-weight:800}.language-switcher select{background:#ffffff18;color:#fff;border:1px solid #ffffffaa;border-radius:999px;padding:9px 12px;font:inherit}.language-switcher option{color:#173500}.hero-brand{text-align:center;margin-top:14px}.hero-brand h1{white-space:nowrap;font-size:clamp(27px,5vw,52px);letter-spacing:-.03em;margin:0}.hero-brand p{color:#e8f4dc;font-size:clamp(15px,2vw,21px);margin:8px 0 0}.home-panel{margin-top:12px}.home-panel h2{text-align:center;font-size:clamp(28px,4vw,40px);margin:0 0 24px;color:#245c18}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-card{border:0;border-radius:18px;padding:20px 22px;color:#fff;display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:14px;text-align:left;cursor:pointer;box-shadow:0 12px 28px #245c1820;transition:transform .15s ease,box-shadow .15s ease}.role-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px #245c1830}.role-card strong{display:block;font-size:19px}.role-card small{display:block;margin-top:5px;font-size:14px;line-height:1.35;color:#fff}.role-icon{font-size:22px;text-align:center;font-weight:900}.role-arrow{font-size:32px;text-align:right}.role-passenger{background:#73d700}.role-driver{background:#73d700}.role-syndicate{background:#73d700}.role-police{background:#73d700}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.role-grid{grid-template-columns:1fr}.hero-top{align-items:center}.guinea-flag{width:90px;height:55px}.hero-brand h1{font-size:clamp(22px,7vw,34px);white-space:normal}.role-card{grid-template-columns:46px 1fr 20px}}
/* SPEC008 T026 — accès administration secondaires */
.admin-access{margin-top:24px;padding-top:6px}.admin-divider{display:flex;align-items:center;gap:12px;color:#657558;font-size:11px;font-weight:800;letter-spacing:.11em}.admin-divider:before,.admin-divider:after{content:"";height:1px;background:#dbe6d3;flex:1}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.admin-card{border:1px solid #347600;background:#73d700;border-radius:15px;padding:15px 18px;color:#173500;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:12px;text-align:left;cursor:pointer}.admin-card:hover{border-color:#285c00;background:#347600;color:#fff}.admin-card strong{display:block;font-size:15px}.admin-card small{display:block;color:#657558;margin-top:3px}.admin-card>span:last-child{font-size:24px}@media(max-width:760px){.admin-grid{grid-template-columns:1fr}}
/* SPEC008 T027 — panneau PASSAGER public */
.public-passenger-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#f0f8e9;border:1px solid #dbe6d3;border-radius:16px;padding:18px;margin-top:18px}.public-passenger-intro strong{color:#347600}.public-passenger-intro span{color:#5c6d55}@media(max-width:640px){.public-passenger-intro{align-items:flex-start;flex-direction:column}}
/* SPEC008 T028 — formulaire recherche publique */
.public-search-form{max-width:none;display:grid;grid-template-columns:1.2fr 1.2fr 1fr .65fr auto;gap:12px;align-items:end;margin-top:18px}.public-search-form label{font-size:13px;color:#405c35}.public-search-submit{min-height:47px}.public-results{margin-top:18px}.public-search-form input{background:#fff}@media(max-width:900px){.public-search-form{grid-template-columns:1fr 1fr}.public-search-submit{grid-column:1/-1}}@media(max-width:560px){.public-search-form{grid-template-columns:1fr}}
/* SPEC008 T029 — cartes résultats publics */
.public-results{display:grid;gap:14px}.public-offer-card{display:grid;grid-template-columns:1.45fr 1fr .8fr .8fr;gap:18px;align-items:center;background:#fff;border:1px solid #dbe6d3;border-radius:18px;padding:18px 20px;box-shadow:0 8px 24px #2d5e1210}.public-offer-card strong{display:block;color:#173500}.public-offer-card span{display:block;color:#607052;font-size:13px;margin-top:4px}.public-offer-price{text-align:right}.public-offer-price strong{color:#347600;font-size:20px}.public-offer-availability strong{color:#147a3e}@media(max-width:820px){.public-offer-card{grid-template-columns:1fr 1fr}.public-offer-price{text-align:left}}@media(max-width:560px){.public-offer-card{grid-template-columns:1fr}}
/* SPEC008 T030 — offre sélectionnée unique */
.public-offer-card{grid-template-columns:1.35fr 1fr .8fr .8fr auto}.public-offer-select{white-space:nowrap}.public-selected-offer{background:#fff;border:1px solid #dbe6d3;border-radius:20px;padding:22px;box-shadow:0 12px 30px #2d5e1218;margin-top:18px}.public-selected-offer h3{font-size:24px;color:#173500;margin:8px 0}.selected-offer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-top:18px}.selected-offer-grid>div{background:#f0f8e9;border-radius:14px;padding:16px}.selected-offer-grid strong{display:block;color:#173500}.selected-offer-grid span{display:block;color:#607052;font-size:13px;margin-top:4px}@media(max-width:980px){.public-offer-card{grid-template-columns:1fr 1fr}.public-offer-select{grid-column:1/-1}}@media(max-width:620px){.selected-offer-grid{grid-template-columns:1fr}}
/* SPEC008 T031 — choix du nombre de sièges */
.public-seat-choice{margin-top:20px;padding:18px;background:#f0f8e9;border:1px solid #dbe6d3;border-radius:16px}.public-seat-choice label{max-width:260px}.public-seat-choice input{background:#fff}.public-seat-choice small{font-weight:500;color:#5c6d55}
/* SPEC008 T032 — voyageurs par siège */
.public-seat-choice h4{margin:20px 0 12px;color:#173500}.public-traveler-fields{display:grid;gap:12px}.public-traveler-row{border:1px solid #dbe6d3;border-radius:14px;background:#fff;padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.public-traveler-row legend{font-weight:800;color:#347600;padding:0 6px}.public-traveler-row small{font-weight:500;color:#657558}@media(max-width:640px){.public-traveler-row{grid-template-columns:1fr}}
/* SPEC008 T033 — résumé avant paiement */
.public-summary-button{margin-top:16px}.public-booking-summary{margin-top:18px;background:#fff;border:1px solid #dbe6d3;border-radius:16px;padding:18px}.public-booking-summary h4{margin:0 0 8px}.summary-route{color:#405c35}.summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.summary-metrics>div{background:#f0f8e9;border-radius:12px;padding:12px}.summary-metrics span,.summary-travelers span{display:block;color:#607052;font-size:12px}.summary-metrics strong{display:block;color:#173500;margin-top:4px}.summary-travelers{display:grid;gap:8px;padding-left:22px}.summary-travelers li{padding:8px 10px;background:#f8fbf5;border-radius:10px}.summary-note{font-size:12px;color:#607052;margin:14px 0 0}@media(max-width:650px){.summary-metrics{grid-template-columns:1fr}}
/* SPEC008 T034 — checkout public et reçu */
.public-checkout-button{margin-top:16px;width:100%}.public-payment-receipt{border-color:#dbe6d3;background:linear-gradient(180deg,#fff,#f0f8e9)}.receipt-status{display:inline-block;border-radius:999px;background:#e8f4dc;color:#347600;font-weight:800;padding:7px 11px;margin:4px 0 14px}.receipt-grid{display:grid;grid-template-columns:max-content 1fr;gap:8px 16px;margin:0 0 16px}.receipt-grid dt{color:#607052;font-size:13px}.receipt-grid dd{margin:0;color:#173500;font-weight:800;overflow-wrap:anywhere}@media(max-width:560px){.receipt-grid{grid-template-columns:1fr;gap:3px}.receipt-grid dd{margin-bottom:8px}}
/* SPEC008 T035 — billets individuels */
.public-tickets-host{display:grid;gap:12px;margin-top:10px}.public-ticket-card{border:1px solid #dbe6d3;border-radius:16px;background:#fff;padding:16px}.public-ticket-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.ticket-status{background:#e8f4dc;color:#347600;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.public-ticket-grid{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;margin:0}.public-ticket-grid dt{color:#607052;font-size:12px}.public-ticket-grid dd{margin:0;color:#173500;font-weight:700;overflow-wrap:anywhere}.ticket-qr-payload{display:block;margin-top:12px;padding:10px;border-radius:10px;background:#173500;color:#e8f4dc;overflow-wrap:anywhere}.public-ticket-refresh{margin-top:12px}@media(max-width:560px){.public-ticket-grid{grid-template-columns:1fr}.public-ticket-grid dd{margin-bottom:7px}}
/* SPEC008 T037 — reprise session publique */
.public-resume-view{margin:0 0 18px;background:linear-gradient(180deg,#ffffff,#f0f8e9);border:1px solid #dbe6d3;border-radius:18px;padding:18px;box-shadow:0 10px 24px #2d5e1212}.public-resume-view h3{margin:0 0 12px;color:#0b4f9c}
/* SPEC008 T038 — recovery checkout */
.public-payment-recovery,.public-recovery-actions{margin-top:14px;padding:14px;border:1px solid #dbe6d3;background:#f8fbf5;border-radius:14px}.public-payment-recovery p{margin:0 0 10px;color:#405c35}.public-payment-recovery button+.public-payment-recovery button{margin-left:8px}
/* BST i18n RTL */
html[dir="rtl"] body{text-align:right}html[dir="rtl"] .hero-top,html[dir="rtl"] .role-card,html[dir="rtl"] .admin-card,html[dir="rtl"] form label{text-align:right}html[dir="rtl"] .language-switcher{left:0;right:auto}html[dir="rtl"] .role-arrow{transform:scaleX(-1)}html[dir="rtl"] .public-search-form,html[dir="rtl"] .role-grid,html[dir="rtl"] .admin-grid{direction:rtl}
/* BST BLUE FINAL REPAIR 2026-09-05 */
html,body{min-height:100%;margin:0}html{background:#f0f8e9}body{background:#f0f8e9;color:#173500;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.shell{width:min(1120px,calc(100% - 28px));margin:0 auto;padding:20px 0 52px}.hero-blue{color:#10233b;padding:0 10px 6px;background:#73d700} body[data-app-home-active="false"] .hero-blue,.hero-blue.bst-app-header-hidden{display:none}.hero-top{position:relative;display:flex;justify-content:center;align-items:flex-start;min-height:58px}.flag-wrap{display:flex;flex-direction:column;align-items:center;margin:0 auto}.guinea-flag{display:grid;grid-template-columns:repeat(3,1fr);width:112px;height:68px;border-radius:7px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.2)}.guinea-flag span:nth-child(1){background:#ce1126}.guinea-flag span:nth-child(2){background:#fcd116}.guinea-flag span:nth-child(3){background:#009460}.motto{margin-top:4px;color:#10233b;font-size:12px;font-weight:800;white-space:nowrap}.language-switcher{position:absolute;right:0;top:0}.language-switcher select{appearance:auto;min-width:82px;padding:7px 10px;border:1px solid #dbe6d3;border-radius:999px;background:#fff;color:#10233b;font-weight:800}.language-switcher option{color:#173500;background:#fff}.hero-brand{text-align:center;margin:8px auto 4px}.hero-brand h1{margin:0;color:#10233b;font-size:clamp(24px,5vw,44px);line-height:1;letter-spacing:-.04em;white-space:nowrap}.hero-brand p{margin:4px 0 0;color:#10233b;font-size:clamp(15px,2vw,21px)}.panel{background:#fff;border:1px solid rgba(52,118,0,.09);border-radius:30px;box-shadow:0 22px 55px rgba(52,118,0,.15);padding:34px}.home-panel{margin-top:8px}.home-panel h2{text-align:center;margin:0 0 14px;color:#0d2f5e;font-size:clamp(30px,4vw,42px)}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.role-card{border:0;border-radius:14px;padding:12px 14px;color:#10233b;display:grid;grid-template-columns:1fr 20px;align-items:center;gap:10px;text-align:left;box-shadow:0 6px 16px rgba(52,118,0,.12);min-height:78px}.role-card strong{display:block;font-size:20px;line-height:1.1}.role-card small{display:block;margin-top:4px;font-size:12px;line-height:1.25;color:#10233b}.role-icon{font-size:23px;font-weight:900;text-align:center}.role-arrow{font-size:32px;line-height:1}.role-passenger{background:#73d700}.role-driver{background:#73d700}.role-syndicate{background:#73d700}.role-police{background:#73d700}.admin-access{margin-top:24px}.admin-divider{display:flex;align-items:center;gap:12px;color:#657558;font-size:11px;font-weight:900;letter-spacing:.1em}.admin-divider:before,.admin-divider:after{content:"";height:1px;background:#dbe6d3;flex:1}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.admin-card{border:1px solid #347600;background:#73d700;border-radius:15px;padding:15px 17px;color:#173500;display:grid;grid-template-columns:34px 1fr 18px;align-items:center;gap:11px;text-align:left;min-height:80px}.admin-card strong{font-size:15px}.admin-card small{display:block;color:#657558;margin-top:3px}.auth-panel{max-width:660px;margin:22px auto}.portal-auth-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.auth-choice{border:1px solid #dbe6d3;background:#e8f4dc;color:#347600;border-radius:13px;padding:13px 14px;font-weight:800;cursor:pointer}.auth-choice.active,.auth-choice:hover{background:#347600;color:#fff;border-color:#347600}.auth-panel form{margin-top:12px}.auth-panel .primary{width:100%}.public-search-form{background:#fff;border:1px solid #dbe6d3;border-radius:18px;padding:16px}.hidden{display:none!important}@media(max-width:760px){body{background:#f0f8e9}.shell{width:min(100% - 20px,680px);padding-top:12px}.hero-blue{padding:0 4px 4px}.hero-top{min-height:58px;justify-content:flex-start}.flag-wrap{margin:0 auto}.guinea-flag{width:82px;height:50px}.motto{font-size:10px;margin-top:5px}.language-switcher{right:0;top:2px}.language-switcher select{min-width:70px;padding:7px 9px;font-size:13px}.hero-brand{margin-top:10px}.hero-brand h1{font-size:clamp(22px,7vw,32px);white-space:nowrap}.hero-brand p{font-size:13px;line-height:1.25}.panel{border-radius:14px;padding:14px}.home-panel{margin-top:14px}.home-panel h2{text-align:center;font-size:25px;margin-bottom:12px}.role-grid{grid-template-columns:1fr;gap:12px}.role-card{min-height:78px;padding:12px 14px;grid-template-columns:1fr 18px;gap:10px}.role-card strong{font-size:18px}.role-card small{font-size:13px}.admin-grid{grid-template-columns:1fr;gap:10px}.admin-card{min-height:70px}.portal-auth-choice{grid-template-columns:1fr 1fr}.public-search-form{grid-template-columns:1fr!important;padding:14px}.public-search-submit{grid-column:auto!important}.message{overflow-wrap:anywhere}}@media(max-width:420px){.shell{width:calc(100% - 14px)}.hero-brand h1{font-size:22px;white-space:normal;line-height:1.03}.hero-brand p{font-size:13px}.panel{padding:16px;border-radius:21px}.role-card{grid-template-columns:1fr 16px;padding:12px 13px}.role-card strong{font-size:17px}.role-card small{font-size:12.5px}.portal-auth-choice{grid-template-columns:1fr}}


.public-search-actions{display:flex;gap:10px;align-items:center;grid-column:1/-1}.public-search-actions .primary,.public-search-actions .secondary{flex:1}@media(max-width:560px){.public-search-actions{flex-direction:column}.public-search-actions .primary,.public-search-actions .secondary{width:100%}}

/* Frontend flow repair */
.role-icon{display:none!important}.role-card{grid-template-columns:1fr 22px}.passenger-composition{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:#fff;border:1px solid #dbe6d3;border-radius:14px;padding:12px}.composition-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.composition-row span{display:flex;flex-direction:column}.composition-row small{color:#607052}.composition-row input{width:82px}.child-ages{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.child-ages select{width:100%;padding:11px;border:1px solid #dbe6d3;border-radius:11px;background:#fff}.public-extra-trips{grid-column:1/-1;display:grid;gap:12px}.public-extra-trip{border:1px solid #dbe6d3;border-radius:15px;padding:14px;background:#f0f8e9}.public-extra-trip legend{font-weight:850;color:#347600;padding:0 6px}.extra-trip-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.remove-extra-trip{margin-top:10px}@media(max-width:760px){.role-card{grid-template-columns:1fr 18px!important}.passenger-composition{grid-template-columns:1fr}.extra-trip-grid{grid-template-columns:1fr}}

/* Police / Gendarmerie QR control */
.police-panel{max-width:760px;margin-inline:auto}.police-access-form{display:grid;gap:14px}.police-scanner{display:grid;gap:14px;margin-top:18px}.camera-frame{position:relative;overflow:hidden;border-radius:18px;background:#07131f;aspect-ratio:4/3}.camera-frame video{width:100%;height:100%;object-fit:cover;display:block}.camera-guide{position:absolute;inset:18%;border:3px solid #fff;border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.22)}.scanner-actions{display:flex;gap:10px}.police-manual-qr{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.police-control-result{margin-top:18px;padding:22px;border-radius:18px;color:#fff;font-weight:700}.police-control-result.valid{background:#0b8f3c}.police-control-result.invalid{background:#c62828}.police-control-result h3{margin:0 0 10px;color:#fff;font-size:1.5rem}.police-control-result p{margin:4px 0}.police-subject{font-size:1.15rem}@media(max-width:620px){.police-manual-qr{grid-template-columns:1fr}.scanner-actions{flex-direction:column}.camera-frame{aspect-ratio:3/4}}

/* Admin cards without decorative leading glyphs */
.admin-card{grid-template-columns:1fr 18px!important}

/* BST_FINAL_FLOW_20260905D */
.create-account-below{display:block;width:100%;margin-top:16px}.public-add-trip-form{display:grid;gap:18px}.identity-grid,.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.add-trip-composition{grid-column:1/-1}.send-trip-request{min-height:52px;font-size:1.02rem}.connected-data-browser{margin-top:18px}.data-browser-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.data-search{display:block;margin:12px 0}.data-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.data-tab{border:1px solid #dbe6d3;background:#fff;color:#347600;border-radius:999px;padding:9px 14px;font-weight:800;cursor:pointer}.data-tab.active{background:#347600;color:#fff;border-color:#347600}.data-table-wrap{overflow:auto;border:1px solid #dbe6d3;border-radius:14px}.data-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.data-table-wrap th,.data-table-wrap td{padding:10px 12px;border-bottom:1px solid #e8f4dc;text-align:left}.data-table-wrap th{background:#f0f8e9;color:#347600}@media(max-width:760px){.identity-grid,.journey-grid{grid-template-columns:1fr}.data-browser-head{align-items:stretch;flex-direction:column}}

/* BST_PUBLIC_MANAGE_REQUEST */
.management-link{display:block;margin-top:10px;overflow-wrap:anywhere;color:#347600;font-weight:700}.public-manage-trip{max-width:760px;margin-inline:auto}.manage-trip-card{display:grid;gap:18px}.manage-trip-details{display:grid;grid-template-columns:minmax(130px,.4fr) 1fr;gap:10px 16px;margin:0}.manage-trip-details dt{font-weight:850;color:#347600}.manage-trip-details dd{margin:0}.manage-trip-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.danger{border:0;border-radius:12px;padding:12px 16px;background:#c62828;color:#fff;font-weight:850;cursor:pointer}.danger:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.manage-trip-details{grid-template-columns:1fr}.manage-trip-actions{grid-template-columns:1fr}}

/* SPEC009 Contact BST AI */
.bst-support-contact{margin:18px auto 0;display:flex;align-items:center;justify-content:center;gap:12px;color:#405c35}.support-modal{position:fixed;inset:0;z-index:9999;background:#07182b99;display:grid;place-items:center;padding:16px}.support-modal-card{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:22px;box-shadow:0 25px 80px #00152a55}.support-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.support-modal textarea,#supportAdminPanel textarea{min-height:100px;padding:12px;border:1px solid #dbe6d3;border-radius:11px;font:inherit}.support-modal select{padding:12px;border:1px solid #dbe6d3;border-radius:11px;background:#fff;font:inherit}.support-messages{display:grid;gap:10px;max-height:340px;overflow:auto;margin:16px 0;padding:8px}.support-bubble{display:grid;gap:5px;border-radius:14px;padding:12px 14px;background:#f0f8e9}.support-bubble.passenger{background:#e8f4dc;margin-left:12%}.support-bubble.bst_ai{background:#e8f4dc;margin-right:12%}.support-bubble.admin_syndicat,.support-bubble.admin_bst{background:#e9f8ee;margin-right:8%}.support-bubble span{white-space:pre-wrap}.support-bubble small{color:#607052}.support-queue-item{width:100%;display:block;text-align:left;border:1px solid #dbe6d3;background:#fff;border-radius:12px;padding:11px 13px;margin:7px 0;cursor:pointer}.support-queue-item:hover{border-color:#6b9f47}.language-fixed{display:none}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}@media(max-width:600px){.bst-support-contact{flex-direction:column}.support-modal-card{padding:16px}.support-bubble.passenger,.support-bubble.bst_ai,.support-bubble.admin_syndicat,.support-bubble.admin_bst{margin-left:0;margin-right:0}}

/* SPEC010 services and trip tracking */
.passenger-quick-services{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}.passenger-quick-services a{text-decoration:none}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.service-card{border:1px solid #dbe6d3;border-radius:16px;padding:24px;text-align:center;background:#fff;display:grid;gap:14px;align-content:start}.service-icon{font-size:48px;filter:grayscale(1)}.service-card h2{font-size:1.25rem;margin:0}.service-card p{color:#405c35;line-height:1.55}.service-card a{text-decoration:none}.track-tabs{display:flex;gap:8px;margin-bottom:16px}.track-tabs .active{border-bottom:4px solid #347600}.track-card{border:1px solid #dbe6d3;border-radius:14px;padding:14px;margin:10px 0;background:#fff;display:grid;gap:6px}.route-estimate{grid-column:1/-1;padding:10px 12px;background:#e8f4dc;border-radius:10px}.trip-status-departed{color:#347600}.trip-status-arrived{color:#18794e}@media(max-width:600px){.passenger-quick-services{display:grid;grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr}}
/* SPEC010/011 shared admin dashboard */
.admin-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}.admin-quick-actions button{min-height:48px}.mailbox-btn{position:relative}.mailbox-btn sup{display:inline-grid;place-items:center;min-width:1.35rem;height:1.35rem;padding:0 .25rem;border-radius:999px;background:#d8232a;color:#fff;font-size:.72rem}.alert-mailbox{border-color:#d8232a;color:#9d1015}.admin-drawer{margin:1rem 0;padding:1rem;border:1px solid #dbe6d3;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(52,118,0,.08)}.admin-drawer-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.admin-drawer-body{display:grid;gap:1rem}.admin-compact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.admin-compact-form>button,.admin-compact-form>.message{grid-column:1/-1}.admin-form-card,.badge-mini-card{border:1px solid #e8f4dc;border-radius:14px;padding:1rem;background:#f8fbf5}.admin-badge-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.badge-mini-card{display:grid;gap:.4rem}.admin-row-actions{white-space:nowrap}.admin-collapsible>*:not(h3):not(.admin-collapse-toggle){display:none}.admin-collapsible.admin-collapsible-open>*{display:revert}.admin-collapse-toggle{margin:.5rem 0}.admin-record-summary{font-weight:700;line-height:1.5}.dashboard-card>ul{margin:.4rem 0}.dashboard-card>p.muted{margin:.35rem 0}
@media(max-width:720px){.admin-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-compact-form{grid-template-columns:1fr}.admin-drawer{padding:.75rem}.connected-data-browser .data-table-wrap{overflow-x:auto}}
.badge-preview{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:.75rem;margin-top:.75rem;padding:.75rem;border-top:1px solid #dbe6d3}.badge-card-face{display:grid;gap:.35rem;align-content:start}.badge-driver-photo{width:84px;height:84px;object-fit:cover;border-radius:12px;border:2px solid #347600}.badge-qr-sticker{background:#fff;padding:.5rem;border:1px dashed #657558;border-radius:10px}.badge-qr-sticker svg{display:block;width:100%;height:auto}.danger{background:#fff0f0!important;color:#a61920!important;border-color:#e1a2a6!important}
@media(max-width:520px){.badge-preview{grid-template-columns:1fr}.badge-qr-sticker{max-width:180px}}
.admin-alert-item{display:grid;gap:.25rem;padding:.8rem 0;border-bottom:1px solid #e8f4dc}.admin-alert-item p{margin:.25rem 0}.admin-alert-item small{color:#5a6b53}.admin-quick-actions{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.admin-badge-search{grid-column:1/-1}.admin-alert-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.admin-alert-detail{margin-top:.65rem;padding:.8rem;border-radius:12px;background:#f8fbf5}.admin-alert-detail dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .7rem;margin:0 0 .75rem}.admin-alert-detail dt{font-weight:700}.admin-alert-detail dd{margin:0;overflow-wrap:anywhere}.admin-offline-content.hidden{display:none!important}
@media(max-width:520px){.admin-alert-head{align-items:flex-start}.admin-alert-detail dl{grid-template-columns:1fr}.admin-alert-detail dt{margin-top:.35rem}}
.file-action{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.offline-file-picker{display:grid;gap:.35rem;margin:.5rem 0;color:#173500;font-weight:700}.offline-file-picker input[type=file]{display:block;width:100%;padding:.55rem;background:#fff;border:1px solid #dbe6d3;border-radius:10px;font-weight:400}
.trip-page-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.trip-stream{display:grid;gap:.55rem}.trip-stream-row{display:grid;grid-template-columns:minmax(220px,2fr) repeat(2,minmax(110px,1fr)) auto;gap:.75rem;align-items:center;padding:.85rem;border:1px solid #dbe6d3;border-radius:14px;background:#fff}.trip-stream-row>div{display:grid;gap:.2rem}.trip-stream-row span,.trip-stream-row small{color:#5a6b53;font-size:.82rem}.trip-sentinel{text-align:center;padding:1rem;color:#5a6b53}
@media(max-width:760px){.trip-stream-row{grid-template-columns:1fr 1fr}.trip-stream-row>div:first-child,.trip-stream-row>.inline-actions{grid-column:1/-1}}
/* SPEC010/011 admin clean shell: legacy inline modules must never reappear in Admin dashboards. */
#dashboard.admin-dashboard-clean .admin-legacy-summary,
#dashboard.admin-dashboard-clean #adminBstOverview,
#dashboard.admin-dashboard-clean #adminSyndicatOverview,
#dashboard.admin-dashboard-clean #syndicateOpsOverview,
#dashboard.admin-dashboard-clean #adminSyndicatNationalTools,
#dashboard.admin-dashboard-clean #adminBadgeTools,
#dashboard.admin-dashboard-clean #tripOperationsPanel,
#dashboard.admin-dashboard-clean #offlineControlPanel,
#dashboard.admin-dashboard-clean #reportsPanel,
#dashboard.admin-dashboard-clean #supportAdminPanel{display:none!important}
/* SPEC010/011 Base BST: search/tabs stay visible; result viewport shows about 10 rows and scrolls the rest. */
.connected-data-scroll{max-height:520px;overflow-y:auto;overflow-x:auto;overscroll-behavior:contain;border:1px solid #dbe6d3;border-radius:14px}.connected-data-scroll table{margin:0;width:100%}.connected-data-scroll thead th{position:sticky;top:0;z-index:2;background:#e8f4dc}.connected-data-scroll tbody tr{height:48px}
@media(max-width:720px){.connected-data-scroll{max-height:500px}}
.station-scroll-list{max-height:70vh;overflow-y:auto;display:grid;gap:.55rem;padding:.25rem;overscroll-behavior:contain}.station-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(120px,1fr) minmax(160px,1fr);gap:.75rem;padding:.8rem;border:1px solid #dbe6d3;border-radius:12px;background:#fff}.station-row small{color:#5a6b53}@media(max-width:640px){.station-row{grid-template-columns:1fr}}
/* Base BST results controls: explicit visible scroll + close action. */
.connected-data-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:.7rem 0 .45rem}.connected-data-toolbar .scroll-hint{font-weight:700;color:#405c35}.connected-data-scroll{max-height:500px;overflow-y:scroll!important;overflow-x:auto;scrollbar-gutter:stable;overscroll-behavior:contain;border:2px solid #dbe6d3;border-radius:14px;background:#fff}.connected-data-scroll::-webkit-scrollbar{width:14px}.connected-data-scroll::-webkit-scrollbar-track{background:#e8f4dc}.connected-data-scroll::-webkit-scrollbar-thumb{background:#347600;border-radius:10px;border:3px solid #e8f4dc}.connected-data-scroll{scrollbar-color:#347600 #e8f4dc;scrollbar-width:auto}.connected-data-scroll thead th{position:sticky;top:0;z-index:2;background:#e8f4dc}.connected-data-scroll tbody tr{height:48px}
@media(max-width:720px){.connected-data-scroll{max-height:480px}.connected-data-toolbar{align-items:center}.connected-data-toolbar .secondary{min-width:120px}}
.driver-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:1rem 0}.driver-view{margin-top:1rem;padding:1rem;border:1px solid #dbe6d3;border-radius:16px;background:#f9fcff}.driver-scroll-list{max-height:60vh;overflow-y:auto;display:grid;gap:.6rem}.driver-row,.driver-request-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid #dbe6d3;border-radius:12px;background:#fff}.driver-row>div{display:grid;gap:.2rem}.driver-row small,.driver-request-row span{color:#5a6b53}.driver-request-row{grid-template-columns:minmax(0,2fr) minmax(140px,1fr) minmax(160px,1fr)}@media(max-width:700px){.driver-request-row,.driver-row{grid-template-columns:1fr}.driver-action-grid{grid-template-columns:1fr 1fr}}
.driver-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:.65rem;margin:1rem 0}.driver-admin-stats>div{display:grid;gap:.2rem;padding:.8rem;border:1px solid #dbe6d3;border-radius:12px;background:#fff}.driver-admin-stats strong{font-size:1.4rem;color:#347600}.driver-admin-stats span{font-size:.85rem;color:#5a6b53}@media(max-width:700px){.driver-admin-stats{grid-template-columns:1fr 1fr}}
/* Admin BST view of Chauffeur dashboard: full-width content below header. */
#driverAdminOverview{width:100%;margin-top:1rem}.dash-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dash-head #driverLogout{align-self:flex-start;min-width:150px;white-space:nowrap}.driver-admin-stats{grid-template-columns:repeat(4,minmax(120px,1fr))}.driver-scroll-list{width:100%}
@media(max-width:700px){.dash-head{display:grid;grid-template-columns:1fr;gap:.65rem}.dash-head #driverLogout{width:100%;min-width:0}.driver-admin-stats{grid-template-columns:1fr 1fr}#driverAdminOverview{padding:.85rem}.driver-row{width:100%}}
.regulation-box{margin:1rem 0;padding:1rem;border:1px solid #dbe6d3;border-radius:12px;background:#f8fbf5}.regulation-rules{max-height:220px;overflow-y:auto;margin:.6rem 0;font-size:.92rem}.regulation-rules ul{margin:.4rem 0;padding-left:1.2rem}.terms-check{display:flex!important;gap:.6rem;align-items:flex-start;font-weight:600}.terms-check input{width:auto!important;margin-top:.2rem}
/* Responsive guardrails 2026-09-06: navigation stays in document flow, no overlap. */
.page-nav{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;position:relative!important;inset:auto!important;z-index:auto;margin:0 0 1rem;min-height:44px}.page-nav .back,.public-passenger-nav .back{position:relative!important;inset:auto!important;float:none!important;margin:0!important;display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;white-space:normal;text-align:left}.public-passenger-nav{width:100%}
/* Common containment: prevent cards/forms/content from forcing the viewport wider. */
.shell,.panel,.dashboard-card,.admin-drawer,.driver-view,.admin-form-card,.public-selected-offer,.public-booking-summary,.regulation-box{min-width:0;max-width:100%}img,video,canvas,svg{max-width:100%}input,select,textarea,button{max-width:100%}pre,code,.management-link,.ticket-qr-payload{overflow-wrap:anywhere;word-break:break-word}.data-table-wrap,.connected-data-results,.connected-data-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){.admin-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-drawer-head,.data-browser-head,.support-modal-head{flex-wrap:wrap}.trip-page-nav{align-items:stretch}.trip-page-nav>*{flex:1 1 180px}}
@media(max-width:600px){.page-nav{margin-bottom:.75rem}.page-nav .back{width:100%;justify-content:flex-start;background:#e8f4dc;color:#347600;padding:11px 14px;border-radius:12px}.passenger-quick-services{grid-template-columns:1fr 1fr}.admin-quick-actions{grid-template-columns:1fr 1fr}.admin-drawer-head,.data-browser-head,.support-modal-head{display:grid;grid-template-columns:1fr}.admin-drawer-head>button,.data-browser-head>button,.support-modal-head>button{width:100%}.panel{overflow-x:hidden}.data-table-wrap,.connected-data-results,.connected-data-scroll{overflow-x:auto}.support-modal{padding:8px}.support-modal-card{max-height:96vh;width:100%;border-radius:16px}.track-tabs{overflow-x:auto;flex-wrap:nowrap}.track-tabs>*{flex:0 0 auto}.driver-action-grid{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.admin-quick-actions,.driver-action-grid,.driver-admin-stats{grid-template-columns:1fr}.primary,.secondary,.back,.danger{overflow-wrap:anywhere}.panel{padding:15px}.public-offer-card,.selected-offer-grid,.summary-metrics{grid-template-columns:1fr!important}}
/* Facebook BST SYNDICAT */
.bst-social-strip{display:flex;justify-content:center;align-items:center;padding:18px 16px 24px}.bst-facebook-link{display:inline-flex;align-items:center;gap:.7rem;min-height:44px;padding:11px 16px;border-radius:14px;background:#347600;color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 8px 20px rgba(52,118,0,.22);max-width:100%}.bst-facebook-link:hover,.bst-facebook-link:focus-visible{background:#285c00;transform:translateY(-1px)}.bst-facebook-icon{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#347600;font-family:Arial,sans-serif;font-size:24px;font-weight:900;line-height:1}.bst-facebook-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.bst-facebook-card>div{min-width:0;flex:1 1 280px}.bst-facebook-card .bst-facebook-link{flex:0 1 auto}@media(max-width:600px){.bst-facebook-card{align-items:stretch}.bst-facebook-card .bst-facebook-link,.bst-social-strip .bst-facebook-link{width:100%;justify-content:center;text-align:center}}

/* Offline ticket scanner — terrain UX */
#offlineControlPanel .offline-validate-ticket{width:100%;min-height:72px;border:0;border-radius:16px;background:#347600;color:#fff;font-weight:900;font-size:22px;letter-spacing:.02em;box-shadow:0 8px 20px rgba(52,118,0,.22);cursor:pointer}
#offlineControlPanel .offline-scan-result{display:grid;gap:6px;margin:12px 0;padding:16px 18px;border-radius:16px;color:#fff}
#offlineControlPanel .offline-scan-result strong{font-size:22px}#offlineControlPanel .offline-scan-result span{font-size:14px;font-weight:700}
#offlineControlPanel .offline-scan-result.ok{background:#15803d}#offlineControlPanel .offline-scan-result.warn{background:#d97706}#offlineControlPanel .offline-scan-result.error{background:#b91c1c}
#offlineControlPanel #offlineCamera{width:100%;max-height:420px;object-fit:cover;border-radius:16px;background:#06111d}
@media(max-width:620px){#offlineControlPanel .offline-validate-ticket{min-height:78px;font-size:24px}#offlineControlPanel .scanner-panel{display:grid;gap:10px}}

/* BST RC3 — dashboards Chauffeur / Syndicat */
.driver-action-grid,.admin-quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0 1.25rem}.driver-action-grid button,.admin-quick-actions button,.offer-actions button{min-height:48px}.driver-offer-cards{display:grid;gap:1rem}.driver-offer-card,.booking-detail-card,.financial-profile-card{border:1px solid rgba(15,52,96,.14);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(52,118,0,.07);padding:1rem}.driver-offer-main{display:grid;gap:.6rem}.offer-route,.booking-detail-head{display:flex;gap:.75rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.offer-route strong{font-size:1.05rem}.offer-meta{display:flex;gap:.6rem 1rem;flex-wrap:wrap;color:#405c35;font-size:.92rem}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700;background:#e8f4dc;color:#173500}.status-open,.status-planned,.status-accepted{background:#e8f4dc;color:#347600}.status-departed{background:#fff4d6;color:#6f4c00}.status-arrived{background:#e9f8ef;color:#175a34}.status-cancelled{background:#fdecec;color:#8a2525}.offer-actions{margin-top:.9rem;display:flex;gap:.55rem;flex-wrap:wrap}.offer-bookings{margin-top:1rem;display:grid;gap:.75rem}.booking-detail-grid,.financial-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}.booking-detail-card ul{margin:.4rem 0 0;padding-left:1.1rem}.financial-profile-card{display:grid;gap:1rem}.financial-profile-grid>div{display:grid;gap:.2rem}.financial-profile-grid strong{font-size:1rem}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.syndicate-dashboard-page .panel{max-width:1400px;margin-inline:auto}.syndicate-dashboard-page table{min-width:760px}.syndicate-dashboard-page .connected-data-results{overflow-x:auto}.dashboard-card{margin-top:1rem}@media(max-width:640px){.driver-action-grid,.admin-quick-actions{grid-template-columns:1fr 1fr}.driver-offer-card,.booking-detail-card,.financial-profile-card{border-radius:13px;padding:.85rem}.offer-actions button{flex:1 1 calc(50% - .55rem)}.syndicate-dashboard-page table{min-width:680px}}@media(max-width:420px){.driver-action-grid,.admin-quick-actions{grid-template-columns:1fr}.offer-actions button{flex-basis:100%}}

/* BST desktop full-width layout */
@media (min-width: 761px) {
  html,
  body {
    width: 100%;
    margin: 0;
    overflow-x: hidden;
  }

  .shell,
  .dashboard-shell,
  .page-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 18px 0 48px;
  }

  .hero,
  .hero-blue {
    width: 100%;
    padding-left: clamp(24px, 4vw, 72px);
    padding-right: clamp(24px, 4vw, 72px);
  }

  .panel,
  .dashboard-shell > .dashboard-card {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
    padding-left: clamp(24px, 4vw, 72px);
    padding-right: clamp(24px, 4vw, 72px);
  }
}

/* BST mobile full-width and touch layout */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    margin: 0;
    overflow-x: hidden;
  }

  .shell,
  .dashboard-shell,
  .page-shell {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 10px 0 28px;
  }

  .hero,
  .hero-blue {
    width: 100%;
    padding-left: 14px;
    padding-right: 14px;
  }

  .panel,
  .dashboard-shell > .dashboard-card {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 16px 14px;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .role-grid,
  .portal-grid,
  .portal-grid.three,
  .admin-grid,
  .admin-quick-actions,
  .driver-action-grid,
  .driver-admin-stats,
  .admin-compact-form,
  .public-search-form {
    grid-template-columns: 1fr !important;
  }

  form,
  input,
  select,
  textarea,
  button,
  .primary,
  .secondary,
  .danger {
    width: 100%;
    max-width: 100%;
  }

  .inline-actions,
  .offer-actions,
  .trip-page-nav,
  .public-search-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .data-table-wrap,
  .connected-data-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .dash-head,
  .data-browser-head,
  .section-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .role-card,
  .admin-card,
  .dashboard-card,
  .driver-view {
    max-width: 100%;
  }
}

/* BST_LANG_PILL_FIX */
.bst-global-language{
  position:fixed;
  right:12px;
  bottom:12px;
  z-index:9999;
  display:flex;
  align-items:center;
  gap:5px;
  width:auto;
  padding:6px 8px;
  border:1px solid #dbe6d3;
  border-radius:999px;
  background:#fff;
  box-shadow:0 5px 18px rgba(52,118,0,.18);
}
.bst-global-language select{
  width:auto;
  min-width:58px;
  margin:0;
  padding:5px 7px;
  border:0;
  background:#fff;
  color:#173500;
  font-size:13px;
}
@media(max-width:700px){
  .bst-global-language{
    right:8px;
    bottom:8px;
  }
}



.bst-audio-pref{display:flex;align-items:center;gap:.4rem;margin:.5rem 0;font-size:.85rem}
.bst-audio-pref label{display:inline-flex;align-items:center;gap:.4rem;margin:0}
.bst-audio-pref select{width:auto;min-height:2rem;padding:.2rem .4rem;margin:0}
.bst-audio-action{display:inline-flex;align-items:center;gap:.2rem;max-width:100%;vertical-align:middle}
.bst-audio-action>.bst-audio-help{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;min-width:32px;max-width:32px;height:32px;min-height:32px;padding:0;margin:0;border:0;background:transparent;color:#245c18;box-shadow:none;border-radius:50%;font-size:16px;cursor:pointer}
.bst-audio-help:focus-visible{outline:2px solid #245c18;outline-offset:2px}

.bst-audio-pref{flex-wrap:wrap}.bst-audio-pref [role="status"]:empty{display:none}
.bst-audio-action{min-width:0;justify-self:start}.bst-audio-action>:first-child{min-width:0;flex:0 1 auto}.bst-audio-action .offline-file-picker{margin:0}

/* Internal pages: the full institutional header and written-language picker belong to home only. */
body.bst-internal-page .language-switcher,
body.bst-internal-page .bst-nav-language,
body.bst-internal-page .bst-global-language,
body.bst-inner-view .language-switcher,
body.bst-inner-view .bst-nav-language,
body.bst-inner-view .bst-global-language{display:none!important}
body.bst-internal-page .shell{padding-top:10px}
body.bst-internal-page .hero,
body.bst-internal-page .hero-blue{margin:0 0 8px;padding:0;background:transparent;box-shadow:none}
body.bst-internal-page .hero .brand,
body.bst-internal-page .hero .hero-brand,
body.bst-internal-page .hero .flag-wrap,
body.bst-internal-page .hero-blue .brand,
body.bst-internal-page .hero-blue .hero-brand,
body.bst-internal-page .hero-blue .flag-wrap{display:none!important}
body.bst-internal-page .hero-top{min-height:0;justify-content:flex-start}
body.bst-internal-page .hero-top:empty{display:none}
body.bst-internal-page header.dash-head>div:first-child{display:none}
body.bst-internal-page header.dash-head{min-height:44px;justify-content:flex-end;margin:0 0 8px}
body.bst-internal-page .dash-head h1,
body.bst-internal-page .dash-head h2{font-size:clamp(19px,2.5vw,25px);margin:0}
body.bst-internal-page .panel{padding:clamp(14px,2.4vw,24px);border-radius:18px}

/* Passenger search results: one full page, fixed date rail, 20 API rows in a scroll area. */
.passenger-results-page{height:100vh;overflow:hidden;background:#f3f6f0}
.passenger-results-shell{width:100%;max-width:none;height:100vh;padding:0!important}
.passenger-results-workspace{display:flex;flex-direction:column;height:100%;min-width:0;background:#fff}
.passenger-results-topbar{display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;gap:18px;min-height:56px;padding:7px clamp(14px,3vw,38px);border-bottom:1px solid #dbe6d3;background:#fff}
.passenger-results-topbar .back{min-height:40px;padding:8px 12px;text-decoration:none;background:#f0f8e9}
.passenger-results-route{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#173500;font-size:clamp(16px,2.1vw,22px)}
.passenger-results-topbar .muted{font-size:13px;white-space:nowrap}
.passenger-results-page .public-search-form{grid-template-columns:1.2fr 1.2fr .8fr .55fr auto;gap:10px;margin:10px clamp(14px,3vw,38px) 0;padding:10px 12px;border-radius:12px;box-shadow:none}
.passenger-results-page .public-search-form label{gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.passenger-results-page .public-search-form input{min-height:42px;padding:9px 11px}
.passenger-results-page .public-search-form button{min-height:42px;padding:10px 16px}
.passenger-date-bar{position:relative;z-index:4;flex:0 0 auto;margin-top:10px;border-top:1px solid #dbe6d3;border-bottom:1px solid #dbe6d3;background:#f8fbf5;box-shadow:0 5px 14px rgba(23,53,0,.06)}
.passenger-date-month-row{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;max-width:780px;margin:auto;padding:6px 8px 3px;text-align:center;text-transform:capitalize}
.passenger-date-arrow{display:grid;place-items:center;width:36px;height:36px;margin:auto;border:1px solid #cbdac0;border-radius:50%;background:#fff;color:#347600;font-size:27px;line-height:1;cursor:pointer}
.passenger-date-days{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));max-width:780px;margin:auto;padding:2px 8px 8px;overflow-x:auto}
.passenger-date-day{display:grid;grid-template-columns:1fr;justify-items:center;gap:0;min-width:64px;padding:7px 5px;border:0;border-bottom:3px solid transparent;background:transparent;color:#405c35;cursor:pointer}
.passenger-date-day span{font-size:11px;text-transform:uppercase}
.passenger-date-day strong{font-size:20px;line-height:1.15}
.passenger-date-day small{font-size:11px;text-transform:capitalize}
.passenger-date-day:hover{background:#e8f4dc}
.passenger-date-day.active{border-bottom-color:#347600;background:#e8f4dc;color:#173500}
.passenger-results-page>.passenger-results-shell .message{flex:0 0 auto;min-height:22px;margin:5px clamp(14px,3vw,38px)}
.passenger-results-columns,.passenger-result-row{display:grid;grid-template-columns:42px minmax(260px,1.65fr) minmax(150px,.9fr) 76px 130px 100px;align-items:center;gap:12px}
.passenger-results-columns{flex:0 0 auto;padding:8px clamp(20px,3.5vw,44px);border-bottom:1px solid #dbe6d3;background:#fff;color:#657558;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.passenger-results-list{flex:1 1 auto;min-height:180px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#f8fbf5}
.passenger-result-row{min-height:76px;padding:10px clamp(20px,3.5vw,44px);border-bottom:1px solid #e1eadb;background:#fff}
.passenger-result-row:hover{background:#f7fbf3}
.passenger-result-row strong,.passenger-result-row span{display:block}
.passenger-result-row span{margin-top:3px;color:#657558;font-size:12px}
.passenger-result-number{margin:0!important;color:#8a9a80!important;font-weight:800}
.passenger-result-route strong{color:#173500;font-size:15px}
.passenger-result-vehicle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.passenger-result-seats{text-align:center}
.passenger-result-seats strong{color:#147a3e;font-size:20px}
.passenger-result-price{text-align:right}
.passenger-result-price strong{color:#347600;font-size:17px}
.passenger-result-select{min-height:42px;padding:9px 12px;white-space:nowrap}
.passenger-results-pagination{display:flex;flex:0 0 auto;justify-content:center;gap:10px;padding:9px 14px;border-top:1px solid #dbe6d3;background:#fff}
.passenger-results-pagination button{min-width:120px;padding:9px 14px}
.passenger-results-pagination button:disabled{cursor:not-allowed;opacity:.45}

@media(max-width:900px){
  .passenger-results-page .public-search-form{grid-template-columns:1fr 1fr auto}
  .passenger-results-page .public-search-form label:nth-child(3),.passenger-results-page .public-search-form label:nth-child(4){grid-row:2}
  .passenger-results-page .public-search-form button{grid-column:3;grid-row:1/3;align-self:stretch}
  .passenger-results-columns,.passenger-result-row{grid-template-columns:36px minmax(220px,1.6fr) minmax(130px,.8fr) 65px 115px 86px;gap:8px}
}
@media(max-width:700px){
  .passenger-results-topbar{grid-template-columns:auto 1fr;gap:8px;padding:6px 10px}
  .passenger-results-route{text-align:left;font-size:16px}
  .passenger-results-topbar .muted{grid-column:1/-1;text-align:center}
  .passenger-results-page .public-search-form{grid-template-columns:1fr 1fr;margin:7px 8px 0;padding:8px}
  .passenger-results-page .public-search-form label:nth-child(3),.passenger-results-page .public-search-form label:nth-child(4){grid-row:auto}
  .passenger-results-page .public-search-form button{grid-column:1/-1;grid-row:auto;min-height:38px}
  .passenger-date-bar{margin-top:7px}
  .passenger-date-month-row{padding-top:3px}
  .passenger-date-days{grid-template-columns:repeat(7,minmax(52px,1fr));padding:0 4px 5px}
  .passenger-date-day{min-width:52px;padding:5px 2px}
  .passenger-date-day strong{font-size:17px}
  .passenger-results-columns{display:none}
  .passenger-results-list{padding:7px;background:#eef5e8}
  .passenger-result-row{position:relative;grid-template-columns:1fr auto;gap:8px;min-height:0;margin-bottom:7px;padding:11px 10px 10px 36px;border:1px solid #dbe6d3;border-radius:11px}
  .passenger-result-number{position:absolute;left:9px;top:13px}
  .passenger-result-route{grid-column:1/-1}
  .passenger-result-vehicle{grid-column:1}
  .passenger-result-seats{grid-column:2;grid-row:2;text-align:right}
  .passenger-result-price{grid-column:1;text-align:left}
  .passenger-result-select{grid-column:2;min-width:88px}
  .passenger-results-pagination{padding:7px}
  .passenger-results-pagination button{min-width:104px;padding:8px 10px}
}
@media(max-width:420px){
  .passenger-results-topbar .back{font-size:12px;padding:7px 8px}
  .passenger-results-page .public-search-form{gap:6px}
  .passenger-results-page .public-search-form input{min-height:38px;padding:7px 8px;font-size:13px}
  .passenger-date-days{overflow-x:auto;justify-content:start}
}
