body[data-mode="fleet"]{--fleet-primary:#1d4ed8;--fleet-primary-rgb:29 78 216;--fleet-on-primary:#fff;--fleet-dark:#0f172a;--fleet-hover:#1e40af;--fleet-dark-hover:#1e293b;--fleet-link:#1d4ed8;--fleet-light:#3b82f6;--fleet-soft:#eff6ff;--fleet-soft-strong:#dbeafe;--fleet-border-soft:#dbeafe;--fleet-border-strong:#bfdbfe;--fleet-seat-ring:#bfdbfe;--fleet-gradient-end:#bfdbfe;--fleet-surface:#f8fafc;background:var(--fleet-surface)}
body[data-mode="fleet"] .bg-brand-dark{background-color:var(--fleet-dark);color:#fff}
body[data-mode="fleet"] .bg-brand-primary{background-color:var(--fleet-primary);color:var(--fleet-on-primary)}
body[data-mode="fleet"] .bg-brand-primary .text-white{color:var(--fleet-on-primary)}
body[data-mode="fleet"] .bg-brand-surface{background-color:var(--fleet-surface)}
body[data-mode="fleet"] .bg-brand-primary\/20{background-color:rgb(var(--fleet-primary-rgb) / .2)}
body[data-mode="fleet"] .bg-brand-light\/10{background-color:var(--fleet-light);opacity:.1}
body[data-mode="fleet"] .text-brand-primary{color:var(--fleet-link)}
body[data-mode="fleet"] .text-brand-dark{color:var(--fleet-dark)}
body[data-mode="fleet"] .text-brand-light{color:var(--fleet-light)}
body[data-mode="fleet"] .border-brand-primary{border-color:var(--fleet-primary)}
body[data-mode="fleet"] :is(.bg-blue-50,.bg-blue-100){background-color:var(--fleet-soft)}
body[data-mode="fleet"] .bg-blue-100{background-color:var(--fleet-soft-strong)}
body[data-mode="fleet"] .border-blue-100{border-color:var(--fleet-border-soft)}
body[data-mode="fleet"] .border-blue-200{border-color:var(--fleet-border-strong)}
body[data-mode="fleet"] :is(.bg-brand-primary,.bg-brand-dark):is(button,a):hover{background-color:var(--fleet-hover);color:var(--fleet-on-primary)}
body[data-mode="fleet"] .hover\:text-brand-primary:hover{color:var(--fleet-link)}
body[data-mode="fleet"] .focus\:ring-brand-primary:focus{--tw-ring-color:var(--fleet-link)}
body[data-mode="fleet"] :focus-visible{outline-color:var(--fleet-link)}
body[data-mode="fleet"] .from-brand-light{--tw-gradient-from:var(--fleet-light) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position)}
body[data-mode="fleet"] .to-blue-200{--tw-gradient-to:var(--fleet-gradient-end) var(--tw-gradient-to-position)}
body[data-mode="fleet"] .seat-checkbox:checked+label{background:var(--fleet-primary);border-color:var(--fleet-primary);color:var(--fleet-on-primary);box-shadow:0 0 0 2px var(--fleet-seat-ring)}
body[data-mode="fleet"] .fleet-logo{overflow:hidden;flex-shrink:0}
body[data-mode="fleet"] .fleet-logo:has(img){background:transparent;box-shadow:none}
body[data-mode="fleet"] .fleet-logo[aria-busy="true"]{background:transparent;box-shadow:none}
body[data-mode="fleet"] .fleet-logo img{display:block;object-fit:contain}
body[data-mode="fleet"] .selection\:bg-brand-primary::selection{background:var(--fleet-primary);color:var(--fleet-on-primary)}
body[data-mode="fleet"] #passenger-customer-content{background:var(--fleet-surface)}
body[data-mode="fleet"] #passenger-customer-content :is(button,.market-primary,.company-primary,.primary-link){background:var(--fleet-primary)!important;color:var(--fleet-on-primary)!important;border-color:var(--fleet-primary)!important}
body[data-mode="fleet"] #passenger-customer-content :is(button,.market-primary,.company-primary,.primary-link):hover{background:var(--fleet-hover)!important}
body[data-mode="fleet"] #passenger-customer-content :is(button,.market-primary):disabled{background:#e2e8f0!important;color:#475569!important;border-color:#cbd5e1!important}
body[data-mode="fleet"] #passenger-customer-content a{color:var(--fleet-link)}
body[data-mode="fleet"] #passenger-customer-content .dashboard-page-header{background:var(--fleet-dark)}
body[data-mode="fleet"] #passenger-customer-content :focus-visible{outline-color:var(--fleet-link)}
body[data-mode="fleet"] .ticket-dialog-button{background:var(--fleet-primary);border-color:var(--fleet-primary);color:var(--fleet-on-primary)}
body[data-mode="fleet"] .ticket-dialog-button:hover{background:var(--fleet-hover)}
body[data-mode="fleet"] .shadow-brand-primary\/25,body[data-mode="fleet"] .shadow-brand-primary\/30{--tw-shadow-color:rgb(var(--fleet-primary-rgb) / .25)}
body[data-mode="fleet"] .fleet-footer{margin-top:auto;padding:28px 20px}
body[data-mode="fleet"] .fleet-footer>div{max-width:72rem;margin:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;font-size:13px}
body[data-mode="fleet"] .fleet-footer nav{display:flex;gap:24px;background:transparent;color:#fff;position:static;border:0;box-shadow:none}
body[data-mode="fleet"] .fleet-footer a{color:#fff;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
body[data-mode="fleet"] .fleet-footer-platform{color:var(--fleet-light)}
body[data-mode="fleet"] .fleet-terms-page{width:min(100%,56rem);margin:32px auto;padding:24px;flex:1}
body[data-mode="fleet"] .fleet-terms-page h1{font-size:clamp(24px,5vw,36px);font-weight:600;margin-bottom:24px;color:var(--fleet-dark)}
body[data-mode="fleet"] .fleet-terms-content{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;color:#334155;line-height:1.75;margin-bottom:24px}
body[data-mode="fleet"] .fleet-terms-page>a{color:var(--fleet-link);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
body[data-mode="fleet"] #fleet-public-address{overflow-wrap:anywhere}
/* One shared footer stays at the viewport bottom on short pages and follows long content. */
body[data-mode="fleet"]{display:flex;flex-direction:column;min-height:100dvh}
body[data-mode="fleet"] #company-footer{position:static;flex-shrink:0;margin-top:auto}
body[data-mode="fleet"] #passenger-customer-content{flex:1;min-height:0}
body[data-mode="fleet"] #passenger-customer-content :is(.market-shell,.company-storefront,.company-storefront-shell){min-height:0!important}
@media print{body[data-mode="fleet"] #company-footer{display:none!important}}
/* Utility pages load their shared CSS lazily; retain the company theme after it arrives. */
body[data-mode="fleet"] #passenger-customer-content,body[data-mode="fleet"] #passenger-customer-content :is(.market-shell,.company-storefront,.company-storefront-shell){background:var(--fleet-surface)!important}
body[data-mode="fleet"] #passenger-customer-content a{color:var(--fleet-link)!important}
body[data-mode="fleet"] #passenger-customer-content .dashboard-page-header{background:var(--fleet-dark)!important}
body[data-mode="fleet"] [data-contact="Head Office Address"]{white-space:pre-line;overflow-wrap:anywhere}

body[data-mode="fleet"] .bg-brand-dark:is(button,a):hover{background-color:var(--fleet-dark-hover);color:#fff}
/* Copyright owns a full centred row, regardless of link/platform text widths. */
body[data-mode="fleet"] .fleet-footer>div{justify-content:center;text-align:center;column-gap:28px;row-gap:8px}
body[data-mode="fleet"] .fleet-footer>div>span:first-child{flex:0 0 100%;text-align:center;overflow-wrap:anywhere}
body[data-mode="fleet"] .fleet-footer nav{justify-content:center}

/* Keep departure type and boarding point readable on company trip adverts. */
body[data-mode="fleet"] .trip-card [data-field="service"]{font-size:.875rem;line-height:1.25rem}
body[data-mode="fleet"] .trip-card [data-field="park"]{font-size:1rem;line-height:1.5;color:#334155;overflow-wrap:anywhere}
@media(min-width:640px){body[data-mode="fleet"] .trip-card [data-field="park"]{font-size:1.125rem}}

body[data-mode="fleet"] .trip-card .trip-cancelled-badge{color:#be123c;background:#fff1f2;border:1px solid #fecdd3;border-radius:8px;padding:4px 8px}
body[data-mode="fleet"] .trip-card .trip-cancelled-button{background:#f1f5f9!important;color:#475569!important;cursor:not-allowed;box-shadow:none}
