/* Approved 60% refinements: retain the 40% layout, balance the two brands. */
.cfi-brand-heading .cfi-official-lockup{width:112px!important;max-height:58px;height:auto;object-fit:contain;flex:none}.cfi-brand-context p{display:none!important}.cfi-booking-mode .cfi-brand-heading{gap:0!important}
.bi-provider-logo{display:block;object-fit:contain;flex:none;width:100%;height:100%;border-radius:inherit}.bi-kpi-icon:has(.bi-provider-logo){padding:0;background:transparent;overflow:hidden}.bi-source .bi-provider-logo{width:12px;height:12px;border-radius:3px}.bi-source{gap:5px;vertical-align:middle}.bi-provider-list>div{position:relative;padding-left:52px!important}.bi-provider-list .bi-provider-logo{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:7px}
.bi-workflow-error{color:#a33b27;border:1px solid #e9c2b6;background:#fff3ee;padding:11px 13px;border-radius:9px;margin-top:12px;font-size:12px;line-height:1.5}.bi-workflow-error:empty{display:none}.bi-seat-hint{font-size:11px;line-height:1.6;color:#526c70;grid-column:1/-1}.bi-back-list{display:none}.bi-detail{scroll-margin-top:96px}.bi-person-select:focus-visible,.bi-page:focus-visible,.bi-kpi:focus-visible,.bi-iconbtn:focus-visible,.bi-back-list:focus-visible{outline:2px solid #0074d9;outline-offset:3px}
body.cfi-booking-mode #generic-overlay{z-index:3200}body.cfi-booking-mode #generic-overlay .dialog{max-height:calc(100dvh - 32px);display:flex;flex-direction:column}body.cfi-booking-mode #generic-overlay .dialog-body{overflow:auto;min-height:0}body.cfi-booking-mode #generic-overlay .dialog-head,body.cfi-booking-mode #generic-overlay .dialog-actions{flex:none}
@media(max-width:1050px){.bi-back-list{display:inline-flex;align-items:center;justify-content:center;margin:12px 16px 0;align-self:flex-start;padding:9px 12px;border:1px solid #d2dfdf;border-radius:8px;background:#fffefa;color:#16464b;font-size:12px;min-height:40px}.bi-detail:has(.bi-back-list){display:flex;flex-direction:column}}
@media(max-width:640px){.cfi-brand-heading .cfi-official-lockup{width:88px!important;max-height:46px}.bi-row-actions button{min-width:38px;min-height:40px}.bi-person-select{min-height:36px}.bi-tabs button{min-height:44px}.bi-detail{scroll-margin-top:80px}body.cfi-booking-mode #generic-overlay{padding:10px}body.cfi-booking-mode #generic-overlay .dialog{min-width:0;width:100%;max-height:calc(100dvh - 20px)}body.cfi-booking-mode #generic-overlay .dialog-actions{flex-wrap:wrap}body.cfi-booking-mode #generic-overlay .field-grid{grid-template-columns:minmax(0,1fr)}}

/* Booking KPI images: exact uploaded coach silhouette for All bookings, existing QR for Direct. */
.bi-kpi[data-channel="all"] .bi-kpi-icon:has(.bi-provider-logo),.bi-kpi[data-channel="Direct"] .bi-kpi-icon:has(.bi-provider-logo){background:#faf7f2;border:1px solid #f1e9de;overflow:hidden}
.bi-kpi[data-channel="all"] .bi-kpi-icon .bi-provider-logo,.bi-kpi[data-channel="Direct"] .bi-kpi-icon .bi-provider-logo{object-fit:contain;transform:scale(1.22);border-radius:10px}

/* Keep the entire 3:2 black coach visible inside the All bookings icon tile. */
.bi-kpi[data-channel="all"] .bi-kpi-icon .bi-provider-logo{object-fit:contain;object-position:center;transform:none;border-radius:0}
