.admin-app{min-height:100vh;background:#f3f3ee;color:#15191a;display:grid;grid-template-columns:270px minmax(0,1fr);font-family:Arial,Helvetica,sans-serif}
.admin-sidebar{background:#111518;color:#f8f8f5;display:flex;flex-direction:column;padding:28px 17px 26px;min-height:100vh}
.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 12px 42px;font-weight:900;letter-spacing:.04em;font-size:.84rem;line-height:1.12}
.admin-brand img{width:46px;height:46px;border-radius:9px;object-fit:cover}.admin-brand small{color:#d4a940;font-size:.63rem;margin-left:4px}
.admin-sidebar nav{display:grid;gap:3px}.admin-sidebar nav button{color:#bfc5c4;background:transparent;border:0;text-align:left;width:100%;padding:14px 13px;border-radius:7px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;font-size:.91rem;font-weight:750}
.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:#151719;background:#d4a940}.admin-sidebar nav b{font-size:.77rem}.admin-sidebar-foot{margin-top:auto;border-top:1px solid #ffffff30;padding:24px 12px 0;display:grid;gap:15px;color:#aeb6b4;font-size:.82rem}
.admin-workspace{padding:25px clamp(24px,4vw,70px) 90px;max-width:1700px;width:100%}.admin-topline{display:flex;justify-content:space-between;border-bottom:1px solid #d3d5cf;color:#737b79;font-size:.69rem;font-weight:850;letter-spacing:.12em;padding-bottom:20px}
.admin-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:55px 0 42px}.admin-eyebrow{font-size:.72rem;color:#946e26;font-weight:900;letter-spacing:.13em;margin-bottom:15px}.admin-heading h1{font-size:clamp(2.6rem,4.5vw,5.5rem);letter-spacing:-.07em;margin:0}
.admin-gold,.admin-dark{border:0;background:#d4a940;color:#111518;border-radius:30px;font-weight:850;padding:14px 21px;cursor:pointer;white-space:nowrap}.admin-dark{background:#15191a;color:#fff}.admin-message,.admin-error{padding:13px 16px;background:#e8f1e9;color:#225b32;border-left:4px solid #4b8a5b;margin:0 0 24px;overflow-wrap:anywhere}.admin-error{background:#fff0ed;color:#8c3f25;border-color:#b55437}.admin-empty{padding:40px 25px;color:#717977;border:1px solid #d5d9d3;background:#fafaf8}
.admin-booking-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(380px,1.05fr);gap:24px;align-items:start}.admin-list{display:grid;gap:9px}.admin-booking{text-align:left;border:1px solid #d6dad4;background:#fff;padding:23px 25px;display:grid;gap:8px;cursor:pointer;color:#202526}.admin-booking:hover,.admin-booking.selected{border-color:#b38a36;box-shadow:inset 4px 0 #d4a940}.booking-date{font-size:.72rem;letter-spacing:.08em;color:#9c752b;font-weight:900}.admin-booking strong{font-size:1.3rem}.admin-booking>span:not(.booking-date){font-size:.88rem;color:#59615e;line-height:1.4}.admin-booking em{font-style:normal;color:#ad8331}.admin-booking small{font-size:.72rem;color:#7b8380;letter-spacing:.02em}
.admin-detail{background:#fff;border:1px solid #d6dad4;padding:26px 29px 30px;position:sticky;top:20px}.admin-detail-head{display:flex;justify-content:space-between;gap:15px;color:#997427;font-size:.71rem;font-weight:900;letter-spacing:.09em}.admin-detail-head button{border:0;background:none;font-size:1.6rem;cursor:pointer;line-height:.7}.admin-detail h2{font-size:2.5rem;margin:19px 0 27px}.admin-detail dl{margin:0}.admin-detail dl div{display:grid;grid-template-columns:100px 1fr;gap:12px;border-top:1px solid #e1e4de;padding:12px 0}.admin-detail dt{font-size:.72rem;color:#78817c;text-transform:uppercase;font-weight:850}.admin-detail dd{margin:0;font-size:.89rem;overflow-wrap:anywhere}.admin-detail dd[class^="status-"]{text-transform:capitalize;font-weight:850;color:#9a7126}.admin-detail .status-completed{color:#287444!important}.admin-detail .status-cancelled{color:#a74736!important}
.admin-notes,.admin-form label,.admin-settings label{display:grid;gap:7px;font-size:.77rem;font-weight:850;color:#4d5653;margin-top:16px}.admin-notes textarea,.admin-form input,.admin-settings input,.admin-allocations select{border:1px solid #c8cec7;background:#fff;color:#171b1a;min-height:42px;padding:10px;font-size:.92rem;outline:none;width:100%;border-radius:0}.admin-notes textarea:focus,.admin-form input:focus,.admin-settings input:focus,.admin-allocations select:focus{border-color:#ab802f}.admin-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0 26px}.admin-detail-actions button,.allocation-line button,.admin-settings button{border:1px solid #aeb6ad;background:#fff;padding:9px 12px;cursor:pointer;font-size:.77rem;font-weight:850;color:#303a35}.admin-detail-actions button:hover,.allocation-line button:hover{border-color:#a27c32}
.admin-allocations{border-top:1px solid #d4d9d1;padding-top:23px}.admin-allocations h3{font-size:1.25rem;letter-spacing:-.035em}.admin-allocations form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.admin-allocations .admin-dark{border-radius:0;padding:10px 16px}.allocation-line{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #e3e6df;font-size:.86rem}
.admin-form{background:#fff;border:1px solid #d6dad4;padding:28px;display:grid;align-content:start;gap:12px}.admin-form h2{font-size:2rem;margin:0}.admin-form p{color:#68716d;font-size:.9rem;margin:0}.admin-form .admin-dark{justify-self:start;margin-top:14px}.admin-new{margin-bottom:28px}.admin-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.admin-directory{display:grid;grid-template-columns:1fr minmax(290px,380px);gap:26px;align-items:start}.admin-directory-list{display:grid;gap:8px}.admin-directory-list>div{background:#fff;border:1px solid #d6dad4;padding:21px;display:flex;justify-content:space-between;gap:15px;align-items:center}.admin-directory-list span{color:#69716f;font-size:.85rem}.admin-settings{max-width:900px}.admin-settings>p{color:#65706b;line-height:1.5}.admin-settings form{display:grid;grid-template-columns:1fr auto auto;gap:22px;align-items:end;background:#fff;padding:20px;border-bottom:1px solid #d9ded7}.admin-settings label{margin:0}.admin-settings input{max-width:200px}.admin-settings form>span{color:#727a75;font-size:.82rem;padding-bottom:12px}.admin-settings button{min-height:42px}.admin-denied{min-height:100vh;background:#111518;color:#fff;display:grid;place-content:center;padding:30px}.admin-denied h1{font-size:3rem}.admin-denied a{color:#d4a940}
@media(max-width:1100px){.admin-app{grid-template-columns:220px minmax(0,1fr)}.admin-booking-layout,.admin-directory{grid-template-columns:1fr}.admin-detail{position:static}.admin-sidebar{padding-inline:10px}.admin-brand{font-size:.7rem}}
@media(max-width:700px){.admin-app{display:block}.admin-sidebar{min-height:0;padding:16px}.admin-brand{padding:0 0 16px}.admin-sidebar nav{display:flex;overflow-x:auto;gap:6px}.admin-sidebar nav button{min-width:max-content;padding:10px;font-size:.8rem}.admin-sidebar-foot{display:none}.admin-workspace{padding:20px 18px 60px}.admin-topline span:last-child{display:none}.admin-heading{padding:35px 0 25px}.admin-heading h1{font-size:2.5rem}.admin-gold{font-size:.76rem;padding:10px}.admin-booking-layout{display:block}.admin-detail{margin-top:20px;padding:22px}.admin-field-grid,.admin-allocations form,.admin-settings form{grid-template-columns:1fr}.admin-directory-list>div{display:grid}.admin-settings form>span{padding:0}}
.admin-sidebar-foot form{margin:0}.admin-sidebar-foot button{border:0;background:none;color:#aeb6b4;padding:0;cursor:pointer;font:inherit;text-align:left}.admin-sidebar-foot button:hover{color:#d4a940}
.admin-login{min-height:100vh;background:#111518;display:grid;place-items:center;padding:28px}.admin-login-card{width:min(100%,500px);background:#f8f8f5;padding:clamp(30px,5vw,56px);color:#15191a}.admin-login-brand{display:flex;align-items:center;gap:14px;font-weight:900;font-size:.9rem;letter-spacing:.03em;margin-bottom:64px}.admin-login-brand img{width:52px;height:52px;border-radius:9px}.admin-login h1{font-size:clamp(3rem,6vw,5rem);margin:0 0 35px}.admin-login form{display:grid;gap:20px}.admin-login label{display:grid;gap:8px;font-weight:850;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.admin-login input{min-height:54px;border:1px solid #bcc3bb;background:#fff;padding:12px 15px;font-size:1rem}.admin-login .admin-gold{border-radius:0;min-height:54px;margin-top:8px}.admin-login .admin-home{display:inline-block;margin-top:32px;color:#626a66;font-size:.85rem;border-bottom:1px solid #878d87}

/* International telephone fields and journey summary */
.phone-field{display:block;min-width:0}.phone-controls{display:grid;grid-template-columns:minmax(110px, .9fr) minmax(130px,1.2fr);gap:8px}.phone-controls select{width:100%;min-width:0;padding:14px 8px;background:#fff;border:1px solid #c7c7c2;border-radius:0;font:inherit;color:#172020}.phone-field small{display:block;font-size:12px;line-height:1.4;margin-top:7px;font-weight:400;text-transform:none;letter-spacing:normal}.phone-field input[aria-invalid="true"]{border-color:#a53024}.route-summary h2{margin-top:0}.route-summary p{font-size:14px;line-height:1.5}.route-summary dd span{white-space:nowrap}.route-summary img{display:block;margin-top:14px}.form-panel .button{margin-top:12px}@media(max-width:480px){.phone-controls{grid-template-columns:1fr}.route-summary .review-list div{display:block}.route-summary dd{margin-top:6px}}

.admin-sidebar nav a.admin-application-tab{color:#bfc5c4;text-decoration:none;background:transparent;padding:14px 13px;border-radius:7px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:.91rem;font-weight:750}.admin-sidebar nav a.admin-application-tab:hover,.admin-sidebar nav a.admin-application-tab:focus-visible{color:#151719;background:#d4a940}.admin-sidebar nav a.admin-application-tab:focus-visible{outline:2px solid white;outline-offset:2px}@media(max-width:760px){.admin-sidebar nav a.admin-application-tab{min-width:max-content;padding:10px;font-size:.8rem}}
/* Grouped operations navigation. */
.admin-sidebar{position:sticky;top:0;height:100vh;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.admin-brand{padding-bottom:24px;flex-shrink:0}.admin-sidebar nav{display:grid;gap:7px}.admin-nav-group summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;color:#f4f5ef;font-weight:750;font-size:13px;letter-spacing:.025em;border-radius:7px}.admin-nav-group summary::-webkit-details-marker{display:none}.admin-nav-group summary:hover{background:#ffffff0d}.admin-nav-group summary:focus-visible{outline:2px solid #d2ad42;outline-offset:2px}.admin-nav-group summary>span{font-size:16px;transition:transform .15s}.admin-nav-group:not([open]) summary>span{transform:rotate(-90deg)}.admin-nav-children{display:grid;gap:2px;margin:0 0 3px 12px;padding-left:9px;border-left:1px solid #ffffff23}.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:0;border-radius:6px;background:transparent;color:#bfc5c4;font-size:12px;font-weight:550;line-height:1.4;text-align:left;min-width:0;margin:0}.admin-sidebar nav .admin-nav-children button.active{background:#d2ad42;color:#151719;font-weight:750}.admin-sidebar nav .admin-nav-children button:hover,.admin-sidebar nav .admin-nav-children a:hover{background:#ffffff12;color:#fff}.admin-sidebar nav .admin-nav-children button.active:hover{background:#e0bb55;color:#151719}.admin-sidebar nav .admin-report-nav{padding:10px 12px;font-size:13px;font-weight:750;color:#f4f5ef}.admin-sidebar nav .admin-report-nav.active{color:#151719}.admin-sidebar-foot{margin-top:24px;padding-top:18px;flex-shrink:0}.admin-heading{padding:36px 0 30px}.admin-heading h1{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-.04em}.admin-section-panel{background:white;border:1px solid #d8ddd4;border-radius:14px;padding:28px}.admin-section-panel>h2{font-size:23px;line-height:1.25;letter-spacing:-.025em}.admin-section-panel>p{color:#626c65;line-height:1.65;max-width:850px}.admin-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-record-grid article{padding:20px;border:1px solid #d9ded7;border-radius:10px;overflow-wrap:anywhere}.admin-record-grid h2{font-size:20px;line-height:1.3;letter-spacing:-.02em}.admin-record-grid p{font-size:14px;line-height:1.6;color:#626c65}.admin-record-grid a{font-weight:700;font-size:13px;color:#84641d}.admin-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-bottom:24px}.admin-report-grid article{padding:24px;border-radius:10px;background:#f5f5ee}.admin-report-grid span{display:block;font-size:13px;color:#657066}.admin-report-grid strong{display:block;font-size:36px;line-height:1.2;margin-top:12px}.admin-config-label{display:grid;gap:10px;max-width:520px;font-size:13px;font-weight:700}.admin-config-label input{border:1px solid #cbd1c5;border-radius:8px;padding:12px;font-family:monospace;min-width:0;width:100%;background:#f7f8f3}@media(max-width:1100px){.admin-record-grid{grid-template-columns:1fr}.admin-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.admin-sidebar{position:static;height:auto;overflow:visible}.admin-sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.admin-nav-category{min-width:0}.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{min-width:0;white-space:normal;font-size:11px;padding:8px}.admin-sidebar-foot{display:grid}.admin-heading h1{font-size:30px}.admin-section-panel{padding:20px}.admin-report-grid{grid-template-columns:1fr 1fr;gap:10px}.admin-report-grid article{padding:16px}}

/* Active booking allocation alerts */
.admin-heading-actions{display:flex;align-items:center;gap:14px}
.admin-alert-wrap{position:relative}
.admin-alert-bell{position:relative;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:12px;background:#161a20;color:#edbb58;cursor:pointer;box-shadow:0 3px 12px #0002}
.admin-alert-bell svg{width:27px;height:27px}
.admin-alert-bell b{position:absolute;right:-5px;top:-5px;min-width:21px;height:21px;padding:0 4px;border-radius:20px;background:#bd3434;color:white;font-size:11px;line-height:21px;text-align:center}
.admin-alert-bell:focus-visible{outline:3px solid #b98429;outline-offset:3px}
.admin-alert-panel{position:absolute;right:0;top:60px;width:350px;max-width:calc(100vw - 40px);z-index:50;background:white;border:1px solid #e4e5e7;border-radius:15px;box-shadow:0 15px 50px #18202a30;padding:18px}
.admin-alert-panel h2{font-size:18px;margin:0 0 8px}.admin-alert-panel p{font-size:13px;line-height:1.5;margin:0 0 12px;color:#606873}
.admin-alert-panel ul{list-style:none;padding:0;margin:0;max-height:340px;overflow:auto}.admin-alert-panel li+li{border-top:1px solid #e9eaed}
.admin-alert-panel li button{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;border:0;background:transparent;padding:13px 4px;cursor:pointer;color:#202630}.admin-alert-panel li button:hover{background:#faf5eb}.admin-alert-panel li span{font-size:12px;color:#616975}.admin-alert-panel li em{font-style:normal;font-size:12px;color:#b12929}
.admin-alert-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.admin-heading-actions{gap:9px}.admin-alert-bell{width:40px;height:40px}.admin-alert-panel{position:fixed;top:100px;right:20px;left:20px;width:auto;max-width:none}}

/* The customer booking form is shared with the admin booking flow. */
.admin-new{margin-bottom:32px;padding:24px;border:1px solid #dde0da;background:#fff;border-radius:14px}.admin-new>h2{margin:0 0 22px;font-size:25px}
.admin-booking-form{background:transparent;min-height:0}.admin-booking-form .booking-main{width:100%;padding:0;max-width:none}.admin-booking-form .form-panel{grid-template-columns:24% 76%;padding:25px 0}.admin-booking-form .panel-head{padding-right:24px}.admin-booking-form .panel-head h2{font-size:22px}.admin-booking-form .progress{margin-bottom:18px}.admin-booking-form .form-actions{margin-top:24px}.admin-booking-form .review-grid{grid-template-columns:minmax(0,1fr) 220px;gap:24px}.admin-booking-form .review-grid .form-panel{display:block}.admin-booking-form .review-grid .panel-head{margin-bottom:20px}.admin-booking-form .admin-payment .field-grid{display:grid}.admin-booking-form .admin-payment select{display:block;width:100%;min-height:52px;margin-top:8px;padding:10px;border:1px solid #bcc1bc;font-size:14px;letter-spacing:normal;text-transform:none;background:white}.admin-booking-form .admin-payment p{font-size:13px;font-weight:400;line-height:1.5;color:#616975}.admin-full-booking{border-top:1px solid #ddd;margin-top:20px;padding-top:15px}.admin-full-booking .route-summary{display:block;padding:18px}.admin-full-booking .route-summary p{font-size:12px}.admin-full-booking .route-summary h2{font-size:20px}.admin-full-booking dd{overflow-wrap:anywhere}
@media(max-width:1000px){.admin-booking-form .form-panel{display:block}.admin-booking-form .panel-head{margin-bottom:20px}.admin-booking-form .review-grid{grid-template-columns:1fr}.admin-booking-form .suggested{max-width:350px}.admin-booking-form .numbers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.admin-new{padding:15px}.admin-booking-form .field-grid{grid-template-columns:1fr}.admin-booking-form .progress>div{font-size:10px;gap:5px}.admin-booking-form .progress span{width:25px;height:25px}.admin-booking-form .numbers-grid{grid-template-columns:1fr}.admin-booking-form .journey-types{grid-template-columns:1fr 1fr}}

.admin-payments{margin:24px 0;padding:20px;border:1px solid #d9dfe7;border-radius:12px;background:#f7f9fc}.admin-payments h3{display:flex;align-items:center;gap:12px}.admin-payments h3 small{font-size:10px;color:#805900;background:#fff0c7;padding:4px 7px;border-radius:4px}.admin-payments p{font-size:13px;color:#536074}.admin-payment-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-payment-actions button{padding:10px 12px;background:#172235;color:#fff;border:0;border-radius:7px;cursor:pointer}.admin-payment-actions button:disabled{opacity:.5;cursor:wait}.admin-payment-link{padding:14px;background:#fff;border:1px solid #d9dfe7;border-radius:8px;margin-top:14px;display:grid;gap:10px}.admin-payment-link input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #bac4d2;border-radius:6px}.admin-payment-link a{color:#244d86}

.admin-cancellation{width:100%;margin-top:18px}.cancellation-fleet{border:1px solid #d9dfe7;padding:16px;margin:16px 0}.cancellation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cancellation-grid label{display:grid;gap:6px}.cancellation-grid input{width:100%;padding:10px;box-sizing:border-box}.cancellation-check{display:flex;align-items:center;gap:8px;margin:14px 0}.cancellation-check input{width:auto}.admin-cancellation button{margin:6px 8px 6px 0}.admin-detail-actions:has(.admin-cancellation){flex-wrap:wrap}@media(max-width:600px){.cancellation-grid{grid-template-columns:1fr}}

.invoice-create{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:16px 0}.invoice-create label{display:grid;gap:6px}.invoice-create select{padding:10px;background:#fff;border:1px solid #c7ced7;border-radius:6px}.invoice-list{display:grid;gap:12px;margin-top:16px}.invoice-list article{padding:16px;border:1px solid #d9dfe7;border-radius:10px;background:#fff}.invoice-list article strong,.invoice-list article span{display:block}.invoice-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:12px}.invoice-links a{font-weight:600}.invoice-list button{padding:8px 12px}.admin-invoices button{margin-top:6px}

/* Depot and operational zone settings */
.admin-zone{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:24px;align-items:stretch}.zone-controls{background:#fff;border:1px solid #e6e2d8;border-radius:18px;padding:24px}.zone-kicker{font-size:11px;letter-spacing:2px;color:#8b7137;font-weight:700}.zone-controls h2{font-size:24px;margin:8px 0 12px}.zone-controls p{line-height:1.6;font-size:14px}.zone-switch{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid #e8dfc9;padding:14px;border-radius:12px;margin:20px 0;background:#fbf8f0}.zone-switch small{display:block;font-size:12px;margin-top:5px;color:#6c675b}.zone-switch input{width:23px;height:23px;accent-color:#a27d22}.zone-address{display:block;font-weight:600;font-size:14px}.zone-address .wmc-address{margin-top:8px;position:relative}.zone-controls input:not([type=checkbox]):not([type=range]){width:100%;padding:12px;border:1px solid #d9d5cc;border-radius:8px;font:inherit;box-sizing:border-box}.zone-controls button{padding:11px 14px;border:1px solid #d6c99f;background:#fff;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;margin-top:12px}.zone-controls button:disabled{opacity:.55;cursor:wait}.zone-controls .admin-gold{background:#d6ab3a;border-color:#d6ab3a;color:#171b1d;font-weight:700}.zone-distance{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 12px;font-size:13px;font-weight:600}.zone-distance span{display:flex;align-items:center;gap:6px}.zone-distance input{max-width:80px}.zone-controls input[type=range]{width:100%;accent-color:#b78c29}.zone-controls .zone-help{font-size:12px;color:#736d60}.zone-buttons{display:flex;flex-wrap:wrap;gap:8px}.zone-map-panel{display:flex;flex-direction:column;min-width:0;border-radius:18px;overflow:hidden;background:#15191b;border:1px solid #3d382b}.zone-map-caption{padding:18px 20px;color:#e8d9ab;font-size:13px;display:flex;gap:9px;align-items:center}.zone-map-caption>span:last-child{margin-left:auto;color:#d6ab3a}.zone-dot{width:9px;height:9px;background:#d6ab3a;border-radius:50%}.zone-map{flex:1;min-height:480px;background:#15191b}.zone-map-panel>.admin-error{margin:18px;background:#fff}.zone-address .wmc-address-dropdown{position:absolute;z-index:1000;left:0;right:0;background:white;border:1px solid #ddd;box-shadow:0 8px 25px #0002;max-height:300px;overflow:auto;border-radius:8px}.zone-address .wmc-address-dropdown button{margin:0;text-align:left;display:block;width:100%;border:0;border-radius:0;padding:12px}.zone-address .wmc-address-dropdown button:hover{background:#f6f0e1}.zone-address .wmc-google-credit{padding:10px;background:#fff}.zone-address .wmc-address-error{color:#9b2b27;font-weight:400}
@media(max-width:1100px){.admin-zone{grid-template-columns:1fr}.zone-map-panel{display:block}.zone-map{height:420px;min-height:0}}@media(max-width:600px){.zone-controls{padding:18px}.zone-map{height:340px;min-height:0}.zone-map-caption{padding:14px;font-size:12px}}

/* Polished zone controls */
.zone-toggle{position:relative;display:inline-flex;flex-shrink:0;width:68px;height:34px}.zone-switch .zone-toggle input{position:absolute;inset:0;margin:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.zone-toggle-track{display:flex;align-items:center;width:100%;height:100%;border-radius:20px;background:#555d61;color:#fff;padding:0 8px;box-sizing:border-box;transition:background .18s ease}.zone-toggle-track>span{font-size:10px;font-weight:800;letter-spacing:.5px;margin-left:auto;margin-right:0}.zone-toggle-track i{position:absolute;left:4px;top:4px;width:26px;height:26px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .18s ease}.zone-toggle input:checked+.zone-toggle-track{background:#b38a27;color:#171b1d}.zone-toggle input:checked+.zone-toggle-track>span{margin-left:0;margin-right:auto}.zone-toggle input:checked+.zone-toggle-track i{transform:translateX(34px)}.zone-toggle input:focus-visible+.zone-toggle-track{outline:3px solid #15191b;outline-offset:3px}.zone-controls .zone-address-preview{margin:10px 0 0;padding:11px 12px;border-radius:8px;background:#f5f4ef;color:#4b4d48;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.zone-controls .zone-locate{width:100%;margin-top:10px}.zone-buttons{display:grid;grid-template-columns:1fr}.zone-buttons .admin-gold{width:100%;padding:13px 16px}.zone-buttons button+button{margin-top:0;background:#f7f5ee}.zone-controls .admin-message{margin-bottom:0;overflow-wrap:anywhere}.zone-controls .admin-error{overflow-wrap:anywhere}.zone-map-caption{flex-shrink:0}.zone-controls .zone-help{margin-bottom:14px}@media(prefers-reduced-motion:reduce){.zone-toggle-track,.zone-toggle-track i{transition:none}}

.zone-map-caption strong{font-size:13px;font-weight:500}.zone-map-caption{flex-wrap:wrap;row-gap:8px}.zone-map-caption>span:last-child{white-space:nowrap}@media(max-width:600px){.zone-map-caption strong{font-size:12px}}

.zone-map-caption .zone-map-distance{margin-left:auto;color:#d6ab3a;white-space:nowrap}.zone-map-caption .zone-fit{background:transparent;color:#e8d9ab;border:1px solid #6e6040;border-radius:7px;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.zone-map-caption .zone-fit:hover{background:#2e2d24}.zone-map-caption .zone-fit:focus-visible{outline:2px solid #d6ab3a;outline-offset:3px}.zone-buttons{display:block}.zone-controls h2{margin-bottom:10px}.zone-controls .zone-help{line-height:1.5}

/* Central Google Maps key settings */
.maps-key-panel{max-width:800px;padding:30px}.maps-key-kicker{color:#8e6d25;letter-spacing:2px;font-size:11px;font-weight:700}.maps-key-panel h2{font-size:26px;margin:8px 0 12px}.maps-key-panel>p{line-height:1.6}.maps-key-current{margin:24px 0;padding:20px;border:1px solid #e5d8b6;background:#fbf8ef;border-radius:12px}.maps-key-current>span{display:block;font-size:13px;font-weight:600}.maps-key-current code{display:block;font-size:22px;letter-spacing:2px;margin:12px 0;color:#15191b}.maps-key-current small{color:#716b5c;font-size:12px}.maps-key-panel form label{display:grid;gap:9px;font-size:14px;font-weight:600}.maps-key-panel input{width:100%;box-sizing:border-box;padding:14px;border:1px solid #d6d8cf;border-radius:9px;font:inherit}.maps-key-panel .maps-key-help{font-size:12px;line-height:1.6;color:#6e746c}.maps-key-panel button{padding:13px 22px;border:0;border-radius:9px;cursor:pointer;font:inherit;font-size:14px;font-weight:700}.maps-key-panel button:disabled{opacity:.5;cursor:not-allowed}.maps-key-features{margin-top:28px;padding-top:20px;border-top:1px solid #e7e7dc}.maps-key-features strong{font-size:13px}.maps-key-features p{font-size:13px;line-height:1.8;color:#666d64}.maps-key-panel input:focus-visible{outline:2px solid #b78c29;outline-offset:2px}@media(max-width:600px){.maps-key-panel{padding:22px}.maps-key-current code{font-size:18px;letter-spacing:1px}.maps-key-panel button{width:100%}}

.maps-key-guide{margin-top:22px;padding-top:18px;border-top:1px solid #e7e7dc}.maps-key-guide summary{font-size:14px;font-weight:600;cursor:pointer;color:#805f1b}.maps-key-guide ol{padding-left:22px}.maps-key-guide li{font-size:13px;line-height:1.8;margin:10px 0}.maps-key-guide table{width:100%;border-collapse:collapse;font-size:12px}.maps-key-guide th,.maps-key-guide td{padding:10px;text-align:left;border-bottom:1px solid #e6e6dc}.maps-key-guide th{background:#f5f2e7}.maps-key-guide code{font-size:12px;overflow-wrap:anywhere}.maps-key-guide a{text-decoration:underline}

/* Compact Maps settings card */
.admin-section-panel.maps-key-panel{max-width:600px;padding:22px;box-sizing:border-box}.maps-key-panel h2{font-size:20px;margin:0 0 6px;line-height:1.25}.maps-key-panel>p{font-size:13px;margin:0;line-height:1.5}.maps-key-current{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 12px;margin:16px 0;padding:12px 14px;border-radius:9px}.maps-key-current>span{font-size:12px}.maps-key-current code{font-size:18px;letter-spacing:1px;margin:0;white-space:nowrap}.maps-key-current small{grid-column:1/-1;font-size:11px;line-height:1.4}.maps-key-panel form label{font-size:13px;gap:7px}.maps-key-panel input{padding:10px 12px;font-size:13px;min-height:40px}.maps-key-panel .maps-key-help{font-size:11px;line-height:1.5;margin:8px 0 12px}.maps-key-panel button{padding:10px 16px;font-size:13px}.maps-key-features{margin-top:16px;padding-top:12px}.maps-key-features strong{font-size:12px}.maps-key-features p{font-size:12px;line-height:1.6;margin:5px 0 0}.maps-key-guide{margin-top:14px;padding-top:12px}.maps-key-guide summary{font-size:12px}.maps-key-panel .admin-error,.maps-key-panel .admin-message{font-size:12px;margin-top:14px;margin-bottom:0}@media(max-width:600px){.admin-section-panel.maps-key-panel{padding:18px;width:100%}.maps-key-current code{font-size:17px}.maps-key-panel button{width:100%}}

/* Balanced key settings and setup guide */
.maps-key-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start;width:100%;max-width:1200px}.maps-key-layout .admin-section-panel{margin:0;min-width:0;box-sizing:border-box}.maps-key-layout .maps-key-panel{max-width:none;width:100%}.maps-key-setup{padding:22px}.maps-key-setup h2{font-size:20px;line-height:1.25;margin:0 0 6px}.maps-key-setup>p{font-size:13px;line-height:1.5;margin:0;color:#666d64}.maps-key-setup .maps-key-guide{margin-top:16px;padding-top:12px}.maps-key-setup .maps-key-guide li{font-size:12px;line-height:1.65;margin:9px 0}.maps-key-setup .maps-key-guide th,.maps-key-setup .maps-key-guide td{padding:8px;font-size:12px}.maps-key-setup .maps-key-guide code{display:inline-block;max-width:100%;font-size:11px}.maps-key-setup .maps-key-guide summary{font-size:12px}.maps-key-setup .maps-key-guide ol:last-child{margin-bottom:0}@media(max-width:1050px){.maps-key-layout{grid-template-columns:1fr;max-width:720px}}@media(max-width:600px){.maps-key-layout{gap:16px}.maps-key-setup{padding:18px}.maps-key-setup .maps-key-guide table{table-layout:fixed}.maps-key-setup .maps-key-guide td{overflow-wrap:anywhere}}

/* API credential input must not trigger new-password generation. */
.maps-key-panel .maps-api-key-input{-webkit-text-security:disc}

/* Equal dimensions for the two Maps settings cards. */
.maps-key-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.maps-key-layout>.admin-section-panel{align-self:stretch;width:100%}@media(max-width:1050px){.maps-key-layout{grid-template-columns:1fr;align-items:start}.maps-key-layout>.admin-section-panel{align-self:start}}

/* Operational rates: three cost cards and one vehicle editor. */
.operational-rates{width:100%;max-width:1200px}.rates-intro{font-size:14px;color:#626b66;margin:0 0 20px;line-height:1.6}.rates-top-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:20px}.operational-rates .rates-card{padding:22px;margin:0;min-width:0;box-sizing:border-box;display:flex;flex-direction:column}.rates-card header{display:flex;align-items:center;gap:10px;margin-bottom:22px}.rates-card header>span{font-size:11px;font-weight:700;color:#85671e;background:#f7f1df;border-radius:7px;padding:7px}.rates-card h2{font-size:20px;margin:0}.rates-card label{display:block;font-size:13px;font-weight:600;min-width:0}.rates-input{display:flex;align-items:center;margin-top:8px;border:1px solid #d6d8cf;border-radius:9px;background:#fff;overflow:hidden}.rates-input>span{padding-left:12px;color:#727568;font-size:14px}.rates-input input{width:100%;min-width:0;border:0;background:transparent;padding:11px 12px;font:inherit;font-size:14px;box-sizing:border-box}.rates-input:focus-within{outline:2px solid #b78c29;outline-offset:2px}.rates-input input:focus{outline:0}.rates-card small{display:block;color:#737b74;font-size:11px;font-weight:400;line-height:1.5;margin-top:6px}.rates-note{font-size:12px;color:#687169;line-height:1.65;margin:14px 0 18px}.rates-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rates-actions{margin-top:auto;padding-top:12px}.rates-actions button{border:0;border-radius:9px;padding:11px 17px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.rates-actions button:disabled{opacity:.55;cursor:wait}.rates-actions .admin-error,.rates-actions .admin-message{font-size:12px;line-height:1.5;margin-bottom:0}.rates-vehicle-card header{margin-bottom:0}.rates-vehicle-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:0 0 22px}.rates-vehicle-picker button{padding:11px 8px;border:1px solid #dedfd5;border-radius:8px;background:#fafbf7;color:#424b42;font:inherit;font-size:12px;font-weight:600;cursor:pointer;line-height:1.4}.rates-vehicle-picker button[aria-pressed=true]{background:#161b1d;border-color:#161b1d;color:#eac65e}.rates-vehicle-picker button:focus-visible{outline:2px solid #b78c29;outline-offset:2px}.rates-vehicle-card h3{font-size:16px;margin:0 0 16px}.rates-vehicle-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.rates-assumption{font-size:12px;line-height:1.6;border-left:3px solid #c6a23f;background:#fbf8ef;padding:12px 15px;margin:20px 0 0;color:#766025}.rates-rules{border-top:1px solid #e4e6db;margin-top:24px;padding-top:15px}.rates-rules summary{cursor:pointer;color:#805f1b;font-size:12px;font-weight:600}.rates-rules li,.rates-rules p{font-size:12px;line-height:1.65;color:#626b66}.rates-rules ul{padding-left:20px}.rates-vehicle-card .rates-actions{margin-top:18px}@media(max-width:1200px){.rates-top-grid{grid-template-columns:1fr}.rates-pair{max-width:500px}.rates-top-grid .rates-card{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.rates-top-grid header{grid-column:1/-1;margin-bottom:16px}.rates-top-grid .rates-note{margin-top:0}.rates-top-grid .rates-actions{grid-column:1/-1}.rates-vehicle-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:650px){.rates-top-grid .rates-card{display:flex}.operational-rates .rates-card{padding:18px}.rates-top-grid{gap:16px}.rates-vehicle-fields{grid-template-columns:1fr 1fr;gap:16px 12px}.rates-vehicle-picker{grid-template-columns:1fr 1fr}.rates-actions button{width:100%}.rates-note{margin-top:14px!important}.rates-card h2{font-size:18px}}@media(max-width:420px){.rates-vehicle-fields{grid-template-columns:1fr}}

/* Compact Driver Law section within the wage card. */
.driver-law{margin-top:20px;padding-top:18px;border-top:1px solid #e4e6db}.driver-law h3{font-size:15px;margin:0 0 8px}.driver-law-scope{font-size:11px;line-height:1.5;color:#687169;margin:0 0 12px}.driver-law dl{margin:0}.driver-law dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #eef0e6}.driver-law dt{font-size:11px;line-height:1.5;color:#657065}.driver-law dd{margin:0;font-size:12px;font-weight:700;white-space:nowrap}.driver-law .driver-law-footnote{font-size:10px;line-height:1.55;color:#766025;margin:10px 0 14px}.driver-law details summary{font-size:11px;font-weight:600;line-height:1.5;cursor:pointer;color:#805f1b}.driver-law-guidance h4{font-size:12px;margin:16px 0 5px}.driver-law-guidance p{font-size:11px;line-height:1.65;color:#626b66;margin:0 0 10px}.driver-law-guidance nav{display:flex;flex-direction:column;gap:8px;margin:14px 0}.driver-law-guidance a{font-size:11px;text-decoration:underline;color:#805f1b}.driver-law-guidance small{font-size:10px;line-height:1.6}.rates-top-grid .rates-card:has(.driver-law) .rates-actions{margin-top:0}@media(max-width:1200px){.rates-top-grid .driver-law{grid-column:1/-1}}

/* Saved quote, tour and crossing summaries. */
.admin-booking-planning{padding:20px 0;border-top:1px solid #e1e3dc;font-size:13px;line-height:1.6}.admin-booking-planning h3{margin:0 0 15px}.admin-booking-planning h4{margin:16px 0 10px}.admin-booking-planning dd{overflow-wrap:anywhere}.admin-booking-planning ul{padding-left:18px}.admin-itinerary article,.admin-crossings article{padding:12px 14px;margin:8px 0;background:#f8f7f1;border:1px solid #e5e1d1;border-radius:8px}.admin-itinerary article p,.admin-crossings article p{margin:6px 0}.admin-allocations>p{font-size:12px;line-height:1.6;color:#657064}

/* Keep the three rate cards compact; expanded driver guidance stays optional. */
.operational-rates .rates-top-grid{gap:16px;margin-bottom:16px}.operational-rates .rates-top-grid .rates-card{padding:20px}.rates-top-grid .rates-card header{margin-bottom:16px}.rates-top-grid .rates-card h2{font-size:18px}.rates-top-grid .rates-note{margin:10px 0 12px;font-size:12px}.rates-top-grid .rates-actions{padding-top:10px;margin-top:auto}.rates-top-grid .rates-card:has(.driver-law) .rates-actions{margin-top:auto}.driver-law-collapse{margin:4px 0 8px;padding:12px 0 0;border-top:1px solid #e4e6db}.driver-law-collapse>summary{position:relative;cursor:pointer;font-size:13px;color:#171d19;line-height:1.4;padding-right:22px;list-style:none}.driver-law-collapse>summary::-webkit-details-marker{display:none}.driver-law-collapse>summary::after{content:'+';position:absolute;right:2px;top:0;color:#a47d21;font-size:20px}.driver-law-collapse[open]>summary::after{content:'−'}.driver-law-collapse>summary span{display:block;font-size:11px;color:#72786e;font-weight:400;margin-top:3px}.driver-law-content{margin-top:14px}.driver-law-collapse>summary:focus-visible{outline:2px solid #b78c29;outline-offset:4px}.rates-top-grid:has(.driver-law-collapse[open]){align-items:start}@media(max-width:1200px){.rates-top-grid .driver-law-collapse{grid-column:1/-1;margin:10px 0 0}.rates-top-grid .rates-card .rates-note{margin-top:0}}@media(max-width:650px){.operational-rates .rates-top-grid .rates-card{padding:18px}.rates-top-grid .rates-card .rates-note{margin-top:10px}}

.maps-server-key{grid-column:1/-1;min-height:0}.maps-server-key summary{display:flex;justify-content:space-between;gap:18px;cursor:pointer}.maps-server-key summary span{font-size:13px;color:#777}.maps-server-key form{display:flex;align-items:end;gap:12px}.maps-server-key form label{flex:1}.maps-server-key ol{font-size:13px;line-height:1.8}.maps-server-key .maps-api-key-input{display:block;width:100%}@media(max-width:640px){.maps-server-key form{display:block}.maps-server-key form button{margin-top:12px}}

.maps-server-key .maps-key-current{max-width:600px;box-sizing:border-box}.maps-server-key form label{font-size:13px;font-weight:600}.maps-server-key .maps-api-key-input{box-sizing:border-box;margin-top:8px;min-height:40px;border:1px solid #d6d8cf;border-radius:9px;padding:10px 12px;font:inherit}.maps-server-key form .admin-gold{min-height:40px;padding:10px 16px;border:0;border-radius:9px;font-size:13px;line-height:1.4}.maps-server-key form .admin-gold:disabled{opacity:.5;cursor:not-allowed}

.admin-section-panel.maps-server-key{max-width:900px;width:100%;padding:24px;box-sizing:border-box}.checkout-key-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.checkout-key-heading h2{font-size:22px;margin:0}.checkout-key-heading>span{font-size:12px;color:#777;white-space:nowrap}.maps-server-key>p{font-size:13px;line-height:1.6}.maps-server-key .maps-key-current{max-width:none}.maps-server-key .admin-message,.maps-server-key .admin-error{font-size:13px}@media(max-width:640px){.admin-section-panel.maps-server-key{padding:18px}.checkout-key-heading{align-items:flex-start;flex-direction:column;gap:8px}.checkout-key-heading h2{font-size:20px}}

/* Compact booking rows fill the workspace until a detail is opened. */
.admin-booking-layout{grid-template-columns:minmax(0,1fr);gap:20px}.admin-booking-layout.has-selection{grid-template-columns:minmax(340px,.95fr) minmax(380px,1.05fr)}
.admin-list{gap:0;border:1px solid #dce1db;border-radius:14px;overflow:hidden;background:#fff;min-width:0}.booking-list-heading{display:flex;justify-content:space-between;gap:12px;padding:16px 20px;background:#fafbf8;border-bottom:1px solid #e6e9e2;font-size:12px;color:#727b74}.booking-list-heading>span:first-child{color:#25342a;font-weight:700}
.admin-list .booking-row{width:100%;border:0;border-bottom:1px solid #e9ece6;border-radius:0;padding:18px 20px;display:grid;grid-template-columns:125px minmax(160px,.8fr) minmax(200px,1.4fr) 100px 14px;gap:18px;align-items:center;box-sizing:border-box;min-width:0;background:#fff}.admin-list .booking-row:last-child{border-bottom:0}.admin-list .booking-row:hover{background:#fbfaf4;box-shadow:none}.admin-list .booking-row.selected{background:#f9f6e9;box-shadow:inset 3px 0 #cda643}.admin-list .booking-row:focus-visible{outline:2px solid #bd963b;outline-offset:-3px}
.admin-list .booking-row strong{font-size:14px;color:#1d2821;font-weight:650;letter-spacing:0}.booking-row-date,.booking-row-customer,.booking-row-meta{display:grid;gap:7px;min-width:0}.booking-row-date>span{font-size:16px;color:#826620;font-weight:650}.booking-row-customer strong{overflow-wrap:anywhere}.admin-list .booking-row small{font-size:11px;line-height:1.45;color:#778078;overflow-wrap:anywhere;letter-spacing:0}.booking-row-route{display:grid;gap:8px;min-width:0}.booking-row-route>span{position:relative;display:block;padding-left:16px;font-size:12px;line-height:1.5;color:#627066;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-dot{position:absolute;left:0;top:5px;width:7px;height:7px;border-radius:50%;border:1.5px solid #9d853e}.destination-dot{border-radius:2px;background:#9d853e}.booking-stage{justify-self:start;padding:4px 8px;border-radius:6px;background:#f3efd9;color:#786126;font-size:10px;font-weight:700;letter-spacing:.02em}.stage-live{background:#e3f3e9;color:#267247}.stage-completed{background:#edf0ed;color:#55655b}.stage-cancelled{background:#fae9e6;color:#a24b38}.booking-row-chevron{font-size:24px;color:#a1a89f}
.has-selection .booking-row{grid-template-columns:110px minmax(0,1fr) 14px;gap:12px 16px}.has-selection .booking-row-date{grid-column:1;grid-row:1}.has-selection .booking-row-customer{grid-column:2;grid-row:1}.has-selection .booking-row-chevron{grid-column:3;grid-row:1}.has-selection .booking-row-route{grid-column:1/4;grid-row:2}.has-selection .booking-row-meta{grid-column:1/4;display:flex;align-items:center;justify-content:space-between}
@media(max-width:1250px){.admin-list .booking-row{grid-template-columns:110px minmax(0,1fr) 95px 12px;gap:12px}.booking-row-route{grid-column:1/5;grid-row:2}.booking-row-chevron{grid-column:4;grid-row:1}.booking-row-meta{grid-column:3;grid-row:1}}
@media(max-width:1100px){.admin-booking-layout.has-selection{grid-template-columns:1fr}}
@media(max-width:600px){.admin-list .booking-row{padding:16px;grid-template-columns:95px minmax(0,1fr) 12px;gap:12px}.booking-row-date{grid-column:1;grid-row:1}.booking-row-customer{grid-column:2;grid-row:1}.booking-row-chevron{grid-column:3;grid-row:1}.booking-row-route{grid-column:1/4;grid-row:2}.booking-row-meta{grid-column:1/4;grid-row:3;display:flex;align-items:center;justify-content:space-between}.booking-list-heading{padding:14px 16px}.booking-list-heading>span:last-child{display:none}.admin-list .booking-row strong{font-size:13px}.admin-booking-layout.has-selection .booking-row{grid-template-columns:95px minmax(0,1fr) 12px}}

.admin-booking-modal{border:1px solid #dce1d6;border-radius:18px;padding:0;width:min(1050px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 64px);margin:auto;background:white;color:#1b2420;box-shadow:0 24px 100px #0005;overflow:auto;overscroll-behavior:contain}.admin-booking-modal::backdrop{background:#0c1516b3;backdrop-filter:blur(3px)}.admin-booking-modal .admin-detail{position:static;border:0;margin:0;padding:0 28px 28px;box-shadow:none;min-width:0}.admin-booking-modal .admin-detail-head{position:sticky;top:0;z-index:5;background:#fff;margin:0 -28px 20px;padding:16px 28px;border-bottom:1px solid #e6e9e2;display:flex;align-items:center;gap:16px}.admin-booking-modal .admin-detail-head>span{overflow-wrap:anywhere;font-size:12px;letter-spacing:.04em}.admin-booking-modal .admin-detail-head button{flex:0 0 38px;width:38px;height:38px;border-radius:9px;background:#f1f3ee;border:0;font-size:26px;color:#283229;cursor:pointer}.admin-booking-modal .admin-detail-head button:hover{background:#e5e9df}.admin-booking-modal .admin-detail-head button:focus-visible{outline:2px solid #b38b37;outline-offset:3px}.admin-booking-modal .admin-detail h2{font-size:28px;letter-spacing:-.025em;line-height:1.25;margin:18px 0 24px}.admin-booking-modal .admin-detail>dl{margin-bottom:24px}.admin-booking-modal .admin-allocations form{grid-template-columns:1fr 1fr auto}.admin-booking-modal .admin-detail-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:700px){.admin-booking-modal{width:calc(100vw - 20px);max-height:calc(100dvh - 28px);border-radius:12px}.admin-booking-modal .admin-detail{padding:0 18px 22px}.admin-booking-modal .admin-detail-head{margin-inline:-18px;padding:12px 18px}.admin-booking-modal .admin-detail h2{font-size:23px}.admin-booking-modal .admin-detail>dl>div,.admin-booking-modal .admin-full-booking dl>div{grid-template-columns:1fr;gap:7px}.admin-booking-modal .admin-allocations form{grid-template-columns:1fr}}

/* Booking workspace: fixed header, compact overview and separate working sections. */
.admin-booking-modal{width:min(1040px,calc(100vw - 48px));height:min(760px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);overflow:hidden;border-radius:18px;box-sizing:border-box}
.admin-booking-modal .booking-detail-shell{display:flex;flex-direction:column;height:100%;padding:0;background:#f7f8f5;box-sizing:border-box}
.admin-booking-modal .admin-detail-head{position:static;flex:none;margin:0;padding:20px 24px;background:white;gap:14px;align-items:center}
.admin-detail-head>div{flex:1;min-width:0}.booking-detail-reference{margin:0 0 5px;font-size:11px;font-weight:650;letter-spacing:.04em;color:#88702f;overflow-wrap:anywhere}
.admin-booking-modal .admin-detail-head h2{font-size:23px;line-height:1.25;letter-spacing:-.025em;margin:0;color:#17221c}
.admin-booking-modal .admin-detail-head .booking-stage{font-size:11px;padding:7px 10px;text-transform:capitalize;white-space:nowrap}
.admin-booking-modal .admin-detail-head button{width:34px;height:34px;flex-basis:34px;font-size:23px}
.booking-detail-tabs{display:flex;flex:none;gap:22px;padding:0 24px;background:#fff;border-bottom:1px solid #e2e6df;overflow-x:auto}
.booking-detail-tabs button{font:inherit;font-size:13px;font-weight:600;background:none;border:0;border-bottom:3px solid transparent;color:#788078;padding:15px 0 13px;cursor:pointer;white-space:nowrap}
.booking-detail-tabs button[aria-pressed=true]{border-bottom-color:#c3a147;color:#1a2920}.booking-detail-tabs button:focus-visible{outline:2px solid #b69235;outline-offset:-3px}
.booking-detail-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 24px;box-sizing:border-box}
.booking-detail-content [hidden]{display:none!important}.booking-detail-content>.admin-message,.booking-detail-content>.admin-error{margin:0 0 16px;font-size:13px}
.booking-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.booking-summary-grid article{border:1px solid #e3e7df;background:#fff;border-radius:10px;padding:15px 16px;min-width:0;display:grid;gap:7px}
.booking-summary-grid article>span{font-size:11px;font-weight:550;color:#7b837b}.booking-summary-grid strong{font-size:20px;font-weight:650;line-height:1.3;color:#1c2921}
.booking-overview-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}.booking-overview-stack{display:grid;gap:16px}
.booking-overview-card{background:#fff;border:1px solid #e3e7df;border-radius:12px;padding:20px;min-width:0}
.booking-overview-card h3,.booking-detail-section h3{font-size:15px;line-height:1.4;margin:0 0 17px;color:#24322a;font-weight:650}
.booking-overview-card p{font-size:13px;line-height:1.6;color:#55645a;margin:7px 0}.booking-overview-card>a,.booking-lead-contact>a{display:block;font-size:13px;line-height:1.6;color:#314b3b;overflow-wrap:anywhere;text-decoration:none;margin:4px 0}.booking-overview-card a:hover{text-decoration:underline}
.booking-contact-name{font-weight:600;color:#27352c!important}.booking-lead-contact{border-top:1px solid #edf0e9;margin-top:13px;padding-top:13px}.booking-lead-contact>span{font-size:11px;color:#7b837b}.booking-lead-contact p{margin:4px 0}.booking-unassigned{color:#957535!important}
.booking-route-timeline{list-style:none;margin:0;padding:0}.booking-route-timeline li{position:relative;padding:0 0 22px 23px;min-width:0}.booking-route-timeline li:before{content:'';position:absolute;left:2px;top:5px;width:8px;height:8px;border-radius:50%;background:white;border:2px solid #c2a250;z-index:1;box-sizing:border-box}.booking-route-timeline li:not(:last-child):after{content:'';position:absolute;left:5px;top:14px;bottom:0;width:1px;background:#e3e6dd}.booking-route-timeline li:last-child{padding-bottom:4px}.booking-route-timeline li:last-child:before{background:#c2a250;border-radius:2px}.booking-route-timeline li>span{font-size:11px;color:#7d877e;font-weight:600}.booking-route-timeline p{margin:5px 0 0;color:#304438;overflow-wrap:anywhere}
.booking-section-link{border:0;background:none;padding:0;margin:18px 0 0;font-size:12px;font-weight:650;color:#80682b;cursor:pointer}.booking-section-link:hover{text-decoration:underline}
.booking-detail-section{background:#fff;border:1px solid #e3e7df;border-radius:12px;padding:20px}.booking-detail-section .admin-full-booking{padding:0;border:0}.booking-detail-section .admin-full-booking>dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.booking-detail-section .admin-full-booking>dl>div{grid-template-columns:1fr;gap:6px;padding:13px 0;border-top:1px solid #edf0e9;align-content:start}.booking-detail-section .admin-full-booking dt{font-size:10px;letter-spacing:.025em;font-weight:600}.booking-detail-section .admin-full-booking dd{font-size:13px;line-height:1.6}.booking-detail-section .admin-booking-planning{margin-top:20px;padding-top:20px}.booking-detail-section .admin-payments{margin:0;padding:0;background:#fff;border:0}.booking-detail-section .admin-allocations{margin:0;padding:0;border:0}.booking-detail-section .admin-allocations>p{font-size:12px;color:#7b847c}.booking-detail-section .admin-allocations form{gap:10px;margin-top:20px}.booking-detail-section .admin-allocations select{border-radius:8px;min-height:42px;font-size:12px}.booking-detail-section .admin-allocations button{border-radius:8px}.booking-detail-section .allocation-line{padding:12px 0;font-size:13px}.booking-detail-section .admin-notes{margin:0;font-size:13px}.booking-detail-section .admin-notes textarea{box-sizing:border-box;border-radius:8px;padding:12px;min-height:150px;font-size:13px;margin-top:10px;resize:vertical}.booking-save-notes{border:0;border-radius:8px;padding:11px 18px;font-size:12px;font-weight:600;margin-top:16px;cursor:pointer}
.admin-booking-modal .admin-detail-actions{flex:none;margin:0;padding:14px 24px;background:#fff;border-top:1px solid #e2e6df;justify-content:flex-end;gap:10px}.admin-booking-modal .admin-detail-actions button{font-size:12px;font-weight:600;border-radius:8px;padding:10px 16px}.admin-booking-modal .admin-detail-actions .admin-dark{background:#1b2c22;color:white;border-color:#1b2c22}
@media(max-width:700px){.admin-booking-modal{width:calc(100vw - 20px);height:calc(100dvh - 28px);max-height:calc(100dvh - 28px)}.admin-booking-modal .admin-detail-head{padding:16px;flex-wrap:wrap}.admin-booking-modal .admin-detail-head>div{flex-basis:calc(100% - 48px)}.admin-booking-modal .admin-detail-head h2{font-size:19px}.admin-booking-modal .admin-detail-head .booking-stage{order:3}.booking-detail-tabs{padding:0 16px;gap:20px}.booking-detail-tabs button{font-size:12px;padding:12px 0}.booking-detail-content{padding:16px}.booking-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.booking-summary-grid strong{font-size:18px}.booking-overview-grid{grid-template-columns:1fr;gap:14px}.booking-overview-card,.booking-detail-section{padding:16px}.booking-detail-section .admin-full-booking>dl{grid-template-columns:1fr}.admin-booking-modal .admin-detail-actions{padding:12px 16px}.booking-detail-section .admin-allocations form{grid-template-columns:1fr}}

/* Simple booking sheet: one summary line, one route, two aligned information sections. */
.admin-booking-modal{width:min(940px,calc(100vw - 48px));height:min(680px,calc(100dvh - 64px))}.admin-booking-modal .booking-detail-shell{background:#fff}.admin-booking-modal .admin-detail-head{padding:16px 24px}.admin-booking-modal .admin-detail-head h2{font-size:21px}.booking-detail-tabs{gap:24px}.booking-detail-tabs button{padding:12px 0 10px}.booking-detail-content{padding:0 24px 20px;background:#fff}
.booking-overview .booking-summary-line{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);margin:0;padding:18px 0;border-bottom:1px solid #e4e7e0;gap:24px}.admin-detail .booking-summary-line>div{display:block;padding:0;border:0}.booking-summary-line dt{font-size:10px;letter-spacing:.04em;color:#7b847d;font-weight:600;margin-bottom:7px}.booking-summary-line dd{font-size:18px;color:#23332a;line-height:1.4;font-weight:600}.booking-summary-line dd>span{display:inline-block;margin-left:12px;color:#596c60;font-weight:500;font-size:16px}
.booking-overview h3{font-size:14px;font-weight:650;line-height:1.4;color:#26382d;margin:0}.booking-overview header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.booking-overview-route{padding:20px 0;border-bottom:1px solid #e4e7e0}.booking-overview .booking-section-link{margin:0;font-size:11px;color:#836b2d;white-space:nowrap;padding:4px 0}
.booking-overview .booking-route-timeline{margin:0;padding:0}.booking-overview .booking-route-timeline li{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:9px 0 9px 18px}.booking-overview .booking-route-timeline li:before{left:0;top:15px;width:7px;height:7px}.booking-overview .booking-route-timeline li:not(:last-child):after{left:3px;top:22px;bottom:-9px}.booking-overview .booking-route-timeline li>span{font-size:11px;line-height:1.6;color:#758079;font-weight:500}.booking-overview .booking-route-timeline p{font-size:13px;line-height:1.6;margin:0;color:#354d3e}
.booking-overview-bottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:20px 0 0}.booking-overview-contact,.booking-overview-allocation{min-width:0}.booking-overview-contact h3{margin-bottom:14px}.booking-overview-allocation{border-left:1px solid #e4e7e0;padding-left:28px}.admin-detail .booking-compact-facts{margin:0}.admin-detail .booking-compact-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:5px 0;border:0}.booking-compact-facts dt{font-size:11px;text-transform:none;font-weight:500;line-height:1.7;color:#758079}.booking-compact-facts dd{font-size:12px;line-height:1.7;color:#354d3e}.booking-compact-facts a,.booking-assigned-list a{color:#354d3e;text-decoration:none;overflow-wrap:anywhere}.booking-compact-facts a:hover,.booking-assigned-list a:hover{text-decoration:underline}.booking-compact-facts dd>a{display:block}.booking-assigned-list>div{padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #edf0e9}.booking-assigned-list>div:last-child{border:0;margin:0;padding:0}.booking-assigned-list strong{font-size:13px;font-weight:650;color:#25392d}.booking-assigned-list small{font-size:11px;font-weight:400;display:block;margin-top:4px;color:#758079}.booking-assigned-list p{font-size:12px;line-height:1.6;margin:8px 0 0;color:#354d3e}.booking-assigned-list a{display:block;font-size:11px}.booking-overview .booking-unassigned{font-size:12px;margin:0;line-height:1.6;color:#957535}
.booking-detail-section{border:0;border-radius:0;padding:20px 0 0}.booking-detail-content>.admin-message,.booking-detail-content>.admin-error{margin:14px 0}.admin-booking-modal .admin-detail-actions{padding:12px 24px}.booking-summary-line dd{margin:0}.booking-overview dl div dd{margin:0}
@media(max-width:700px){.admin-booking-modal{width:calc(100vw - 20px);height:calc(100dvh - 28px)}.admin-booking-modal .admin-detail-head{padding:14px 16px}.booking-detail-content{padding:0 16px 16px}.booking-overview .booking-summary-line{gap:12px;padding:16px 0;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr)}.booking-summary-line dd{font-size:15px}.booking-summary-line dd>span{display:block;margin:3px 0 0;font-size:13px}.booking-overview .booking-route-timeline li{grid-template-columns:70px minmax(0,1fr);gap:8px}.booking-overview .booking-route-timeline p{font-size:12px}.booking-overview-bottom{grid-template-columns:1fr;gap:18px;padding-top:18px}.booking-overview-allocation{border-left:0;border-top:1px solid #e4e7e0;padding:18px 0 0}.admin-detail .booking-compact-facts>div{grid-template-columns:80px minmax(0,1fr)}.admin-booking-modal .admin-detail-actions{padding:12px 16px}}
.admin-tracking-map{padding-top:18px}.tracking-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.tracking-summary h3{font-size:14px;margin:0}.tracking-summary>span{font-size:11px}.tracking-live{color:#28784f}.tracking-waiting{color:#8b783f}.admin-tracking-map .portal-map-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.admin-tracking-map .portal-map-heading h3{display:none}.admin-tracking-map .portal-map-heading label{font-size:12px}.admin-tracking-map .portal-map-canvas{height:300px;border-radius:10px;border:1px solid #e0e5dc}.admin-tracking-map .portal-map>p{font-size:11px;color:#738078;margin:8px 0}.tracking-drivers>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #e6eadf;padding:14px 0}.tracking-drivers strong{font-size:12px}.tracking-drivers span,.tracking-drivers small{display:block;font-size:11px;margin-top:4px;color:#768078}.tracking-drivers p{font-size:12px;margin:0}.tracking-drivers button,.tracking-share button{border:1px solid #d5dcce;border-radius:7px;background:white;font-size:11px;padding:9px 12px;cursor:pointer}.tracking-help{font-size:11px;line-height:1.7;color:#748077}.tracking-share{display:flex;align-items:end;gap:10px;padding:14px;background:#f7f8f3;border-radius:8px;margin-top:12px}.tracking-share label{flex:1;font-size:11px}.tracking-share input{display:block;box-sizing:border-box;width:100%;font-size:11px;padding:9px;border:1px solid #dce2d5;border-radius:6px;margin-top:6px}.tracking-share button{background:#243b2c;color:white}@media(max-width:700px){.admin-tracking-map .portal-map-canvas{height:260px}.tracking-drivers>div{grid-template-columns:1fr 1fr}.tracking-drivers button{grid-column:1/-1;justify-self:start}.tracking-share{display:block}.tracking-share button{margin-top:10px}}

/* Expanded booking sheet: all information and controls stay in one view. */
.admin-booking-modal{width:min(1520px,calc(100vw - 40px));height:calc(100dvh - 48px);max-height:calc(100dvh - 48px)}.booking-unified-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:28px;align-items:start}.booking-unified-main,.booking-unified-side{min-width:0}.booking-unified-side{padding-left:28px;border-left:1px solid #e2e7dd}.admin-booking-modal .booking-detail-content{padding:0 28px 24px}.admin-booking-modal .admin-detail-head{padding:16px 28px}.booking-unified-main>.booking-detail-section{margin-top:20px;border-top:1px solid #e2e7dd;padding-top:20px}.booking-unified-side>.booking-detail-section{margin-top:20px;border-top:1px solid #e2e7dd;padding-top:20px}.booking-unified-side .admin-tracking-map{padding-top:18px}.booking-unified-side .portal-map-canvas{height:270px}.booking-unified-side .tracking-summary h3{font-size:14px}.booking-unified-side .tracking-help{font-size:10px;line-height:1.6}.booking-unified-side .admin-notes textarea{min-height:90px}.booking-unified-side .admin-allocations form{grid-template-columns:1fr 1fr;gap:10px}.booking-unified-side .admin-allocations form button{justify-self:start}.booking-unified-side .admin-payments h3{font-size:14px}.admin-detail .booking-payment-arrangement{margin:0 0 16px}.admin-detail .booking-payment-arrangement>div{grid-template-columns:1fr;border:0;padding:0;gap:6px}.booking-payment-arrangement dt{font-size:10px!important}.booking-payment-arrangement dd{font-size:12px!important;line-height:1.6}.booking-unified-main .booking-overview-bottom{gap:18px}.booking-unified-main .booking-overview-allocation{padding-left:18px}.booking-unified-main .admin-full-booking>dl{gap:0 18px}.booking-unified-side .tracking-drivers>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.booking-unified-side .tracking-drivers button{grid-column:1/-1;justify-self:start}.booking-unified-side .admin-payments{overflow-wrap:anywhere}.booking-unified-main .booking-overview-route{padding-block:18px}.booking-unified-side .booking-detail-section h3{margin-bottom:14px}
@media(max-width:1050px){.booking-unified-grid{grid-template-columns:1fr;gap:22px}.booking-unified-side{border-left:0;padding-left:0;border-top:1px solid #e2e7dd}.booking-unified-side .portal-map-canvas{height:300px}.booking-unified-side .admin-allocations form{grid-template-columns:1fr 1fr auto}}
@media(max-width:700px){.admin-booking-modal{width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.admin-booking-modal .booking-detail-content{padding:0 16px 18px}.admin-booking-modal .admin-detail-head{padding:14px 16px}.booking-unified-side .admin-allocations form{grid-template-columns:1fr}.booking-unified-side .portal-map-canvas{height:260px}}

/* Compact desktop booking workspace. */
.admin-booking-modal:not(.admin-booking-tools-modal){width:calc(100vw - 32px);max-width:1680px;height:calc(100dvh - 36px);max-height:calc(100dvh - 36px)}.admin-booking-modal:not(.admin-booking-tools-modal) .admin-detail-head{padding:12px 20px}.admin-booking-modal:not(.admin-booking-tools-modal) .admin-detail-head h2{font-size:20px}.admin-booking-modal:not(.admin-booking-tools-modal) .booking-detail-content{padding:0 20px 14px;overflow:hidden}.booking-screen-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.95fr);gap:20px;height:100%;align-items:start}.booking-screen-information,.booking-screen-map,.booking-screen-actions{min-width:0}.booking-screen-map,.booking-screen-actions{border-left:1px solid #e3e8de;padding-left:20px}.booking-screen-information .booking-summary-line{gap:10px;padding:14px 0;grid-template-columns:1.35fr .7fr 1fr}.booking-screen-information .booking-summary-line dd{font-size:16px}.booking-screen-information .booking-summary-line dd>span{font-size:13px;display:block;margin:2px 0 0}.booking-screen-information .booking-overview-route{padding:12px 0}.booking-screen-information .booking-overview header{margin-bottom:7px}.booking-screen-information .booking-route-timeline li{grid-template-columns:68px 1fr;padding-block:5px;gap:8px}.booking-screen-information .booking-route-timeline li:before{top:11px}.booking-screen-information .booking-route-timeline li:after{top:18px!important;bottom:-5px!important}.booking-screen-information .booking-route-timeline p{font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-screen-information .booking-route-timeline span{font-size:10px}.booking-screen-information .booking-overview-bottom{display:block;padding-top:12px}.booking-screen-information .booking-overview-contact h3{margin-bottom:5px}.booking-screen-information .booking-compact-facts>div{padding:3px 0;grid-template-columns:65px 1fr;gap:8px}.booking-screen-information .booking-compact-facts dt,.booking-screen-information .booking-compact-facts dd{font-size:11px}.booking-screen-grid h3{font-size:13px;line-height:1.4;margin:0 0 10px}.booking-quick-details{border-top:1px solid #e2e7dd;padding-top:12px;margin-top:12px}.booking-luggage-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.booking-luggage-line>div{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.5;color:#67756a}.booking-luggage-line b{color:#2c4233;font-weight:600}.booking-resources,.booking-flight-line,.booking-special-line{font-size:11px;line-height:1.5;margin:8px 0;color:#516b59}.booking-special-line{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.booking-quick-details button,.booking-payment-glance>button{border:1px solid #d3dcce;background:#f8f9f5;color:#334b3c;border-radius:7px;padding:8px 10px;font-size:11px;cursor:pointer}.booking-screen-map .admin-tracking-map{padding-top:14px}.booking-screen-map .tracking-summary{margin-bottom:8px}.booking-screen-map .tracking-summary h3{margin:0}.booking-screen-map .portal-map-canvas{height:220px}.booking-screen-map .portal-map-heading{margin-bottom:4px}.booking-screen-map .portal-map>p{font-size:10px;margin:5px 0}.booking-screen-map .tracking-help{font-size:10px;line-height:1.5;margin:7px 0}.booking-screen-map .tracking-drivers{max-height:112px;overflow:auto}.booking-screen-map .tracking-drivers>div{padding:7px 0;gap:5px 8px;grid-template-columns:1fr 1fr}.booking-screen-map .tracking-drivers strong,.booking-screen-map .tracking-drivers p{font-size:10px}.booking-screen-map .tracking-drivers span,.booking-screen-map .tracking-drivers small{font-size:9px}.booking-screen-map .tracking-drivers button{grid-column:1/-1;justify-self:start;padding:5px 8px;font-size:10px}.booking-screen-map .tracking-share{padding:8px;margin-top:8px;display:block}.booking-screen-map .tracking-share button{margin-top:5px;padding:5px 8px;font-size:10px}.booking-screen-map .tracking-share input{padding:6px;font-size:10px}.booking-screen-actions .booking-detail-section{padding-top:14px}.booking-screen-actions .admin-allocations>p{font-size:10px;line-height:1.5;margin:6px 0 10px}.booking-screen-actions .admin-allocations form{grid-template-columns:1fr;gap:7px;margin-top:8px}.booking-screen-actions .admin-allocations select{min-height:34px;font-size:11px;padding:7px}.booking-screen-actions .admin-allocations form button{justify-self:start;padding:8px 12px;font-size:11px}.allocation-records{max-height:80px;overflow:auto}.booking-screen-actions .allocation-line{font-size:10px;line-height:1.5;padding:5px 0;gap:7px}.booking-screen-actions .allocation-line button{padding:4px 7px;font-size:10px}.booking-payment-glance{margin-top:14px;border-top:1px solid #e3e8de;padding-top:12px}.booking-payment-glance header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.booking-payment-glance header h3{margin:0}.booking-payment-glance header>span{font-size:9px;color:#8a6e28;background:#faf4df;padding:3px 6px;border-radius:4px}.admin-detail .booking-payment-glance dl{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-bottom:10px}.admin-detail .booking-payment-glance dl>div{display:block;border:0;padding:0}.admin-detail .booking-payment-glance dl>div:last-child{grid-column:1/-1}.booking-payment-glance dt{font-size:9px!important;margin-bottom:3px}.booking-payment-glance dd{font-size:13px!important;font-weight:600}.booking-payment-glance p{font-size:11px;color:#6b786d}.booking-screen-actions>.booking-detail-section:last-child{border-top:1px solid #e3e8de;margin-top:14px;padding-top:12px}.booking-screen-actions .admin-notes{font-size:11px}.booking-screen-actions .admin-notes textarea{min-height:60px;height:60px;font-size:11px;padding:8px;margin-top:4px}.booking-screen-actions .booking-save-notes{font-size:11px;padding:7px 10px;margin-top:7px}.admin-booking-modal:not(.admin-booking-tools-modal) .admin-detail-actions{padding:10px 20px}.admin-booking-tools-modal{width:min(940px,calc(100vw - 48px));height:auto;max-height:calc(100dvh - 48px);overflow:auto}.admin-booking-tools-modal .booking-tools-content{padding:0 24px 24px}.admin-booking-tools-modal .admin-detail-head{position:sticky;top:0;background:white;margin:0 -24px 18px;padding:14px 24px}.admin-booking-tools-modal .admin-detail-head h2{font-size:20px;margin:0}.admin-booking-tools-modal .booking-detail-section{padding-top:16px}
@media(min-width:1101px) and (max-height:760px){.booking-screen-map .portal-map-canvas{height:180px}.booking-screen-information .booking-summary-line{padding:10px 0}.booking-screen-information .booking-overview-route{padding:10px 0}.booking-screen-information .booking-overview-bottom{padding-top:9px}.booking-quick-details{padding-top:9px;margin-top:9px}.booking-screen-actions .admin-notes textarea{min-height:48px;height:48px}.booking-screen-actions .booking-payment-glance{margin-top:10px;padding-top:10px}.booking-screen-actions>.booking-detail-section:last-child{margin-top:10px;padding-top:10px}}
@media(max-width:1100px){.admin-booking-modal:not(.admin-booking-tools-modal) .booking-detail-content{overflow-y:auto}.booking-screen-grid{grid-template-columns:1fr 1fr;height:auto}.booking-screen-actions{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid #e3e8de;display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.booking-screen-actions .booking-payment-glance,.booking-screen-actions>.booking-detail-section:last-child{border-top:0;margin-top:0;padding-top:14px}}
@media(max-width:700px){.booking-screen-grid{grid-template-columns:1fr}.booking-screen-map,.booking-screen-actions{border-left:0;padding-left:0;border-top:1px solid #e3e8de}.booking-screen-actions{display:block}.booking-screen-map .portal-map-canvas{height:230px}.admin-booking-modal:not(.admin-booking-tools-modal){width:calc(100vw - 16px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.admin-booking-modal:not(.admin-booking-tools-modal) .booking-detail-content{padding:0 16px 16px}.booking-screen-actions .booking-payment-glance,.booking-screen-actions>.booking-detail-section:last-child{border-top:1px solid #e3e8de;margin-top:14px}.admin-booking-tools-modal{width:calc(100vw - 20px)}}

/* One dialog only: three readable columns, no shared page scrolling on desktop. */
.booking-screen-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) minmax(0,.95fr);align-items:stretch;gap:18px}
.booking-screen-information,.booking-screen-map,.booking-screen-payments{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}
.booking-screen-payments{border-left:1px solid #e3e8de;padding-left:18px;min-width:0}
.booking-screen-actions{padding-left:0;border-left:0;display:block}
.booking-screen-information .booking-route-timeline p{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:12px}
.booking-screen-information .booking-detail-section{border-top:1px solid #e3e8de;margin-top:12px;padding-top:12px}
.booking-screen-grid .admin-full-booking>dl,.booking-screen-grid .admin-booking-planning>dl{display:grid;grid-template-columns:1fr 1fr;gap:5px 14px;margin:8px 0}
.booking-screen-grid .admin-full-booking>dl>div,.booking-screen-grid .admin-booking-planning>dl>div{display:block;padding:5px 0;border:0}
.booking-screen-grid .admin-full-booking dt,.booking-screen-grid .admin-booking-planning dt{font-size:10px;line-height:1.4;color:#778178}
.booking-screen-grid .admin-full-booking dd,.booking-screen-grid .admin-booking-planning dd{font-size:12px;line-height:1.45;margin:3px 0 0;overflow-wrap:anywhere}
.booking-screen-grid .admin-booking-planning{padding-top:12px;margin-top:10px;border-top:1px solid #e3e8de}
.booking-screen-grid p,.booking-screen-grid li{font-size:12px;line-height:1.5}
.booking-screen-grid h4{font-size:12px;margin:12px 0 6px}
.booking-screen-grid .route-summary{margin:10px 0}
.booking-screen-payments .booking-detail-section{padding-top:14px}
.booking-screen-payments .admin-payments,.booking-screen-payments .admin-invoices,.booking-screen-payments .admin-cancellation{margin:12px 0 0;padding:12px 0 0;border:0;border-top:1px solid #e3e8de;background:white;border-radius:0}
.booking-screen-payments dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:10px 0}
.booking-screen-payments dl>div{display:block;padding:0;border:0;min-width:0}
.booking-screen-payments dt{font-size:10px!important;line-height:1.4}.booking-screen-payments dd{font-size:13px!important;margin:4px 0 0;line-height:1.4}
.booking-screen-payments button,.booking-screen-payments select{font-size:11px;padding:8px 10px;min-height:32px;border-radius:7px}
.booking-screen-payments .admin-payment-actions{gap:6px;display:flex;flex-wrap:wrap;margin:8px 0}
.booking-screen-payments .admin-payment-link,.booking-screen-payments .invoice-list article{padding:10px;margin:8px 0;border:1px solid #e2e7dc;border-radius:8px}
.booking-screen-payments a,.booking-screen-payments label{font-size:11px;overflow-wrap:anywhere}
.booking-screen-payments input{box-sizing:border-box;max-width:100%;font-size:12px}
.booking-screen-payments p{margin:7px 0;color:#647268}
.booking-screen-map .tracking-drivers,.allocation-records{max-height:none;overflow:visible}
@media(max-width:1100px){.booking-screen-grid{grid-template-columns:1fr 1fr;height:auto}.booking-screen-information,.booking-screen-map,.booking-screen-payments{overflow:visible;padding-right:0}.booking-screen-payments{grid-column:1/-1;border-left:0;padding-left:0;border-top:1px solid #e3e8de}.booking-screen-actions{display:block;grid-column:auto;border-top:0}}
@media(max-width:700px){.booking-screen-grid{grid-template-columns:1fr}.booking-screen-payments{grid-column:auto}.booking-screen-map{border-top:1px solid #e3e8de}}
.booking-screen-information .booking-page{padding:0;max-width:none;margin:0;background:white}.booking-screen-information .route-summary{border:0;padding:12px 0;background:white;box-shadow:none;border-radius:0}.booking-screen-information .route-summary h2{font-size:13px!important;margin:0 0 8px!important}.booking-screen-information .route-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.booking-screen-information .route-summary dl>div{display:block;padding:0;border:0}.booking-screen-information .route-summary dt{font-size:10px}.booking-screen-information .route-summary dd{font-size:12px;margin:3px 0 0}.booking-screen-information .route-summary p{font-size:11px;margin:7px 0}.booking-screen-map .allocation-line a{display:block;color:#354d3e;text-decoration:none;font-size:11px}.booking-screen-payments .invoice-create{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.booking-screen-payments .invoice-create select{display:block;margin-top:4px}

/* Booking headline: compact branded strip with clear values and relevant icons. */
.admin-booking-modal .booking-overview .booking-summary-line{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr) minmax(0,1.1fr);gap:0;background:#f4f7f3;border:1px solid #e0e7dd;border-radius:12px;padding:0;margin:14px 0 4px;overflow:hidden}
.admin-booking-modal .booking-summary-line>div{display:block;position:relative;padding:14px 12px;min-width:0;border:0}
.admin-booking-modal .booking-summary-line>div+div{border-left:1px solid #e0e7dd}
.admin-booking-modal .booking-summary-line dt{display:flex;align-items:center;gap:7px;margin:0 0 9px;font-size:10px;font-weight:600;letter-spacing:0;text-transform:none;color:#65756a;line-height:1.3}
.admin-booking-modal .booking-summary-line dt:before{content:'';display:block;width:24px;height:24px;flex:0 0 24px;background-color:#294837;background-repeat:no-repeat;background-position:center;background-size:15px;border-radius:7px}
.admin-booking-modal .booking-summary-line dd{font-size:clamp(14px,1.25vw,20px);font-weight:650;line-height:1.35;color:#233d2d;letter-spacing:-.02em;margin:0;white-space:nowrap}
.admin-booking-modal .booking-summary-line dd>span{display:block;width:fit-content;font-size:11px;font-weight:550;letter-spacing:0;margin:6px 0 0;background:#e7eee4;color:#4c6554;border-radius:5px;padding:3px 7px;line-height:1.25}
.admin-booking-modal .booking-summary-line>div:last-child:not(:nth-child(2)){background:#eaf0e5}
.admin-booking-modal .booking-summary-line>div:nth-child(1) dt:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2215%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%203v4m8-4v4M4%2010h16m-12%204h3m2%200h3%22%2F%3E%3C%2Fsvg%3E")}
.admin-booking-modal .booking-summary-line>div:nth-child(2) dt:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2020v-3a6%206%200%200%201%2012%200v3m1-15a3%203%200%200%201%200%206m2%203a5%205%200%200%201%203%204v2%22%2F%3E%3C%2Fsvg%3E")}
.admin-booking-modal .booking-summary-line>div:nth-child(3) dt:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M16%206a4%204%200%200%200-8%200v9c0%202-1%203-3%204h13M5%2011h10%22%2F%3E%3C%2Fsvg%3E")}
@media(max-width:700px){.admin-booking-modal .booking-overview .booking-summary-line{margin-top:12px}.admin-booking-modal .booking-summary-line>div{padding:12px 9px}.admin-booking-modal .booking-summary-line dt{font-size:10px;gap:5px}.admin-booking-modal .booking-summary-line dt:before{width:20px;height:20px;flex-basis:20px;background-size:13px}.admin-booking-modal .booking-summary-line dd{font-size:15px}}
@media(max-width:380px){.admin-booking-modal .booking-summary-line>div{padding:10px 6px}.admin-booking-modal .booking-summary-line dt{gap:4px;font-size:9px}.admin-booking-modal .booking-summary-line dd{font-size:13px}}
.booking-header-contact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 20px;margin-top:8px}.booking-header-contact a{display:inline-flex;align-items:center;gap:7px;color:#536b5b;font-size:12px;font-weight:450;text-decoration:none;overflow-wrap:anywhere;min-width:0}.booking-header-contact a:hover{text-decoration:underline;color:#213d2c}.booking-header-contact svg{width:14px;height:14px;flex:0 0 14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.booking-header-contact a:focus-visible{outline:2px solid #294837;outline-offset:3px;border-radius:3px}@media(max-width:700px){.booking-header-contact{gap:6px 12px}.booking-header-contact a{font-size:11px}}
.booking-stop-address{min-width:0}.booking-stop-flight{margin-top:9px;background:#f4f7f2;border:1px solid #e0e7dc;border-radius:8px;padding:10px 12px}.booking-flight-label{display:flex;align-items:center;gap:6px;font-size:10px!important;font-weight:600;color:#4e6855}.booking-flight-label svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.admin-detail .booking-stop-flight dl{display:grid;grid-template-columns:1fr;gap:4px;margin:7px 0 0}.admin-detail .booking-stop-flight dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:8px;padding:0;border:0}.admin-detail .booking-stop-flight dt{font-size:10px;line-height:1.5;color:#7b877c;text-transform:none;font-weight:450}.admin-detail .booking-stop-flight dd{font-size:11px;line-height:1.5;margin:0;color:#2b4333;overflow-wrap:anywhere;font-weight:550}.booking-screen-information .booking-route-timeline .booking-stop-flight{margin-bottom:4px}
.booking-header-lead{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:#69796d;flex-basis:100%}
.admin-booking-modal .admin-full-booking dl.booking-passenger-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;margin:7px 0 12px}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;border-bottom:1px solid #edf0e9;padding:6px 0;min-width:0}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts dt{font-size:11px;font-weight:450;text-transform:none;letter-spacing:0;line-height:1.4;color:#718075}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts dd{font-size:12px;font-weight:600;line-height:1.4;margin:0;color:#2d4535}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts>.passenger-fact-wide{grid-column:1/-1;justify-content:flex-start;gap:12px}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts>.passenger-fact-wide dt{flex:0 0 100px}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts>.passenger-fact-wide dd{font-weight:450;min-width:0;overflow-wrap:anywhere}@media(max-width:380px){.admin-booking-modal .admin-full-booking dl.booking-passenger-facts{gap:0 10px}.admin-booking-modal .admin-full-booking dl.booking-passenger-facts dt{font-size:10px}}
.booking-special-instructions{margin:12px 0 0;padding:13px 15px;border:1px solid #e8d9b2;border-left:4px solid #b59143;background:#fcf7ea;border-radius:9px}.booking-screen-grid .booking-special-instructions h3{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:650;color:#675022;margin:0 0 7px}.booking-special-instructions svg{width:16px;height:16px;flex:0 0 16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round}.booking-screen-grid .booking-special-instructions p{font-size:13px;line-height:1.6;color:#3c392e;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.booking-special-instructions.no-instructions{background:#f7f9f5;border-color:#e2e8dc;border-left-color:#a5b3a0}.booking-screen-grid .booking-special-instructions.no-instructions h3{color:#62745e}.booking-screen-grid .booking-special-instructions.no-instructions p{font-size:11px;color:#7b8778}
.tracking-eta{background:#f1f6ee;border:1px solid #dce6d5;border-radius:9px;margin:10px 0 12px;padding:11px 13px}.tracking-eta header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tracking-eta header>strong{font-size:12px;color:#344d39}.tracking-eta label{display:flex;align-items:center;gap:6px;font-size:10px;color:#72816c}.tracking-eta select{font:inherit;font-size:11px;padding:5px 7px;border:1px solid #d6e1ce;border-radius:6px;background:white;max-width:170px;color:#344d39}.tracking-eta-results>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #dfe8d8;margin-top:9px;padding-top:9px}.tracking-eta-results>div>span{font-size:11px;color:#65745e}.tracking-eta-results strong{font-size:20px;line-height:1.2;text-align:right;color:#294b32}.tracking-eta-results small{display:block;font-size:10px;font-weight:450;margin-top:4px;color:#6b7c63}.booking-screen-grid .tracking-eta p{font-size:11px;color:#77846f;margin:8px 0 0}
/* Ordered booking sheet: one canvas, no independent scrolling columns. */
.admin-booking-modal{width:calc(100vw - 24px);max-width:1740px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);overflow:hidden;border-radius:14px}
.admin-booking-modal .admin-detail-head{padding:12px 18px!important;border-bottom:1px solid #e3e7de}
.admin-booking-modal .admin-detail-head h2{font-size:19px!important}.booking-detail-reference{font-size:10px;margin-bottom:3px}.booking-header-contact{margin-top:5px;gap:5px 18px}.booking-header-contact a{font-size:11px}
.admin-booking-modal .booking-sheet-content{display:flex;flex-direction:column;gap:12px;padding:12px 18px!important;overflow:visible!important;min-height:0;flex:1}
.booking-sheet-summary{display:grid;grid-template-columns:1.3fr 1.25fr .7fr .8fr;gap:12px;flex:none;background:#f3f6ef;border:1px solid #e0e7da;border-radius:8px;padding:10px 14px}
.booking-sheet-summary>div{display:flex;align-items:center;gap:12px;min-width:0}.booking-sheet-summary>div+div{border-left:1px solid #dbe3d4;padding-left:14px}.booking-sheet-summary span{font-size:10px;color:#75816e}.booking-sheet-summary strong{font-size:13px;color:#29412f;font-weight:650}.booking-sheet-summary>div:last-child strong{font-size:17px}
.booking-sheet-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;flex:1;min-height:0;align-items:start}.booking-sheet-journey,.booking-sheet-dispatch{min-width:0;overflow:visible!important;min-height:0}.booking-sheet-dispatch{border-left:1px solid #e4e9de;padding-left:22px}
.booking-sheet-content h3{font-size:12px!important;font-weight:650;margin:0 0 6px!important;color:#2e4032}.booking-sheet-content h4{font-size:11px;margin:7px 0 4px}.booking-sheet-content p,.booking-sheet-content li{font-size:11px;line-height:1.45;margin:5px 0}
.booking-sheet-journey .booking-overview-route{padding:0 0 6px;border-bottom:0}.booking-sheet-journey .booking-overview header{margin-bottom:2px}.booking-sheet-journey .booking-route-timeline li{grid-template-columns:68px 1fr;gap:8px;padding:4px 0 4px 16px}.booking-sheet-journey .booking-route-timeline li>span{font-size:10px}.booking-sheet-journey .booking-route-timeline li p{font-size:11px;line-height:1.45;margin:0;display:block;overflow:visible}.booking-sheet-journey .booking-route-timeline li:before{top:9px}.booking-sheet-journey .booking-route-timeline li:after{top:16px!important;bottom:-4px!important}
.booking-sheet-journey .booking-stop-flight{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:5px 8px;margin:5px 0 0;border:0;border-left:2px solid #c0cdb6;background:#f5f7f2;border-radius:3px}.booking-sheet-journey .booking-stop-flight dl{display:flex;flex-wrap:wrap;gap:5px 14px;margin:0}.booking-sheet-journey .booking-stop-flight dl>div{display:flex;gap:5px}.booking-sheet-journey .booking-stop-flight dt,.booking-sheet-journey .booking-stop-flight dd{font-size:10px}.booking-flight-label{font-size:10px!important;white-space:nowrap}
.booking-sheet-journey .booking-special-instructions{margin:5px 0 9px;padding:7px 10px;border-radius:6px}.booking-sheet-journey .booking-special-instructions h3{font-size:11px!important;margin-bottom:3px!important}.booking-sheet-journey .booking-special-instructions p{font-size:11px;line-height:1.4;margin:0}.booking-sheet-journey .booking-special-instructions.no-instructions{display:flex;align-items:center;gap:12px}.booking-sheet-journey .booking-special-instructions.no-instructions h3{margin:0!important}
.booking-sheet-journey>.booking-detail-section{border-top:1px solid #e3e8dc;padding-top:8px!important;margin-top:0}.booking-sheet-journey .admin-full-booking{padding:0!important;margin:0!important}.booking-sheet-journey .admin-full-booking .booking-passenger-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:0 15px!important;margin:0 0 7px!important}.booking-sheet-journey .admin-full-booking .booking-passenger-facts>div{padding:4px 0!important}.booking-sheet-journey .admin-full-booking .booking-passenger-facts>.passenger-fact-wide{grid-column:1/-1}.booking-sheet-journey .booking-passenger-facts>div:first-child{display:none!important}.booking-sheet-journey .booking-passenger-facts dt{font-size:10px!important}.booking-sheet-journey .booking-passenger-facts dd{font-size:11px!important}
.booking-sheet-journey .booking-page{padding:0;background:white;margin:0;max-width:none}.booking-sheet-journey .route-summary{padding:6px 0!important;border:0;margin:0!important;box-shadow:none;background:white}.booking-sheet-journey .route-summary h2{font-size:11px!important;margin:0 0 5px!important}.booking-sheet-journey .route-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0!important}.booking-sheet-journey .route-summary dl>div{display:block;border:0;padding:0}.booking-sheet-journey .route-summary dt{font-size:9px;line-height:1.4;text-transform:none}.booking-sheet-journey .route-summary dd{font-size:11px;line-height:1.4;margin:3px 0 0}.booking-sheet-journey .route-summary dd span{display:block;font-size:10px;color:#6e7b66}
.booking-sheet-journey .planning-compact{border-top:1px solid #e3e8dc;margin-top:7px;padding-top:7px}.booking-sheet-journey .planning-compact>dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 13px;margin:5px 0 0}.booking-sheet-journey .planning-compact>dl>div{display:block;padding:0;border:0}.booking-sheet-journey .planning-compact dt{font-size:9px;text-transform:none;line-height:1.4}.booking-sheet-journey .planning-compact dd{font-size:10px;line-height:1.4;margin:2px 0 0}.booking-sheet-journey .planning-compact>dl>div:nth-child(3){grid-column:span 2}.booking-sheet-journey .planning-compact>p{display:none}.booking-sheet-journey .planning-compact .admin-business-billing{font-size:10px}
.booking-sheet-dispatch .admin-tracking-map{padding-top:0}.booking-sheet-dispatch .tracking-summary{margin-bottom:5px}.booking-sheet-dispatch .tracking-summary>span{font-size:10px}.booking-sheet-dispatch .tracking-eta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;margin:5px 0 7px;border-radius:6px}.booking-sheet-dispatch .tracking-eta header{gap:12px}.booking-sheet-dispatch .tracking-eta header>strong{font-size:11px}.booking-sheet-dispatch .tracking-eta p{margin:0;font-size:10px}.booking-sheet-dispatch .tracking-eta select{padding:3px 6px;font-size:10px}.booking-sheet-dispatch .tracking-eta-results{display:flex;gap:15px}.booking-sheet-dispatch .tracking-eta-results>div{padding:0;margin:0;border:0;gap:8px}.booking-sheet-dispatch .tracking-eta-results strong{font-size:14px}.booking-sheet-dispatch .tracking-eta-results small{font-size:9px;margin:0}.booking-sheet-dispatch .tracking-eta-results>div>span{font-size:9px}
.booking-sheet-dispatch .portal-map-canvas{height:148px!important;border-radius:7px}.booking-sheet-dispatch .portal-map-heading{margin-bottom:3px}.booking-sheet-dispatch .portal-map-heading select{font-size:10px;padding:3px}.booking-sheet-dispatch .portal-map>p{font-size:10px;margin:3px 0}.booking-sheet-dispatch .tracking-drivers{overflow:visible;max-height:none;display:flex;flex-wrap:wrap;gap:12px}.booking-sheet-dispatch .tracking-drivers>div{display:flex;align-items:center;gap:8px;padding:5px 0;border:0}.booking-sheet-dispatch .tracking-drivers strong,.booking-sheet-dispatch .tracking-drivers span,.booking-sheet-dispatch .tracking-drivers p{font-size:10px;line-height:1.3}.booking-sheet-dispatch .tracking-drivers small{font-size:9px;margin-top:2px}.booking-sheet-dispatch .tracking-drivers button{font-size:9px;padding:4px 6px}.booking-sheet-dispatch .tracking-share{margin:4px 0;padding:5px 8px}.booking-sheet-dispatch .tracking-share label{font-size:9px}.booking-sheet-dispatch .tracking-share input{font-size:10px;padding:4px}.booking-sheet-dispatch .tracking-share button{font-size:10px;padding:5px}
.booking-sheet-dispatch>.booking-detail-section{padding-top:8px!important;border-top:1px solid #e3e8dc;margin-top:8px}.booking-sheet-dispatch .admin-allocations{padding:0;margin:0;border:0}.booking-sheet-dispatch .admin-allocations>p{font-size:10px;margin:3px 0 6px}.booking-sheet-dispatch .admin-allocations form{display:grid;grid-template-columns:1fr 1.2fr auto!important;gap:6px;margin-top:5px}.booking-sheet-dispatch .admin-allocations select{min-height:30px;padding:5px 7px;font-size:11px;border-radius:6px}.booking-sheet-dispatch .admin-allocations button{padding:6px 10px;font-size:11px}.booking-sheet-dispatch .allocation-records{max-height:none;overflow:visible;display:flex;flex-wrap:wrap;gap:10px}.booking-sheet-dispatch .allocation-line{font-size:10px;padding:4px 0;border:0;gap:7px}.booking-sheet-dispatch .allocation-line a{color:#3d6044;display:inline;font-size:10px;margin-left:6px}.booking-sheet-dispatch .allocation-line button{padding:3px 5px;font-size:9px}
.booking-sheet-dispatch>.booking-detail-section:last-child{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:end}.booking-sheet-dispatch>.booking-detail-section:last-child h3{grid-column:1/-1;margin-bottom:0!important}.booking-sheet-dispatch .admin-notes{font-size:0;margin:0}.booking-sheet-dispatch .admin-notes textarea{height:32px;min-height:32px;font-size:11px;line-height:1.3;margin:0;padding:6px 8px;resize:none}.booking-sheet-dispatch .booking-save-notes{margin:0;padding:7px 10px;font-size:10px}
.booking-sheet-finance{flex:none;border-top:1px solid #dfe6d7;padding-top:10px}.booking-finance-row{display:grid;grid-template-columns:1.1fr 1fr;gap:22px}.booking-finance-row>.admin-payments{margin:0;padding:0;border:0;background:white;border-radius:0}.booking-finance-row>.admin-invoices{border-left:1px solid #e3e8dc;padding-left:22px}.booking-finance-row h3{display:flex;align-items:center;gap:8px;font-size:12px!important}.booking-finance-row h3 small{font-size:9px;padding:3px 5px;border-radius:4px}.booking-finance-row dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:5px 0}.booking-finance-row dl>div{display:block;border:0;padding:0}.booking-finance-row dt{font-size:9px;line-height:1.4;text-transform:none}.booking-finance-row dd{font-size:12px;line-height:1.3;margin:2px 0 0;font-weight:600}.booking-finance-row p{font-size:10px;margin:4px 0}.booking-finance-row .admin-payment-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.booking-finance-row button,.booking-finance-row select{font-size:10px;padding:6px 9px;min-height:28px;border-radius:6px}.booking-finance-row label{font-size:10px}.booking-finance-row .invoice-create{display:inline-flex;align-items:end;gap:7px;margin-right:7px}.booking-finance-row .invoice-create select{display:block;margin-top:3px;padding:5px 7px}.booking-finance-row .invoice-list{margin-top:5px}.booking-finance-row .invoice-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;margin:0;border:0}.booking-finance-row .invoice-list strong,.booking-finance-row .invoice-list span,.booking-finance-row .invoice-links a{font-size:10px}.booking-finance-row .invoice-links{display:flex;gap:7px;align-items:center}.booking-finance-row .admin-payment-receipts,.booking-finance-row .admin-open-checkouts{margin-top:6px}.booking-finance-row .admin-payment-link{padding:6px;margin:5px 0;font-size:10px}.booking-finance-row .admin-payment-link a{font-size:10px}.booking-finance-row .admin-payment-link input{font-size:10px;padding:5px}.booking-sheet-cancellation{margin-top:5px}.booking-sheet-cancellation>button{font-size:10px;padding:5px 8px;border-radius:5px;background:#fff;color:#88573f;border:1px solid #e3d8cd}.booking-sheet-cancellation .admin-cancellation{margin:5px 0;padding:5px 0;border:0;background:white}.booking-sheet-cancellation .admin-cancellation dl{display:flex;gap:20px}.booking-sheet-cancellation .admin-cancellation dt{font-size:10px}.booking-sheet-cancellation .admin-cancellation dd{font-size:12px}.booking-sheet-cancellation .cancellation-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.booking-sheet-cancellation .cancellation-grid label{font-size:9px}.booking-sheet-cancellation .cancellation-grid input{padding:3px;font-size:11px}.booking-sheet-cancellation .admin-cancellation button{font-size:10px;padding:5px 8px}
.admin-booking-modal .admin-detail-actions{padding:8px 18px!important}.admin-booking-modal .admin-detail-actions button{font-size:11px;padding:7px 12px}.booking-sheet-content>.admin-message,.booking-sheet-content>.admin-error{margin:0;font-size:11px;padding:6px 10px}
@media(max-width:1000px){.booking-sheet-main{gap:14px;grid-template-columns:1.15fr 1fr}.booking-sheet-dispatch{padding-left:14px}.booking-sheet-summary{gap:6px;padding:8px 10px}.booking-sheet-summary>div{display:block}.booking-sheet-summary span{display:block;margin-bottom:3px}.booking-sheet-summary strong{font-size:12px}.booking-sheet-journey .admin-full-booking .booking-passenger-facts{grid-template-columns:1fr 1fr!important}.booking-sheet-journey .route-summary dl,.booking-sheet-journey .planning-compact>dl{grid-template-columns:1fr 1fr}.booking-sheet-dispatch .tracking-eta{flex-wrap:wrap}.booking-sheet-dispatch .admin-allocations form{grid-template-columns:1fr 1fr!important}.booking-sheet-dispatch .admin-allocations form button{grid-column:1/-1}.booking-sheet-content{font-size:11px}}
@media(max-width:700px){.admin-booking-modal .booking-sheet-content{overflow-y:auto!important;display:block!important}.booking-sheet-summary{grid-template-columns:1fr 1fr;margin-bottom:14px}.booking-sheet-summary>div+div{border-left:0;padding-left:0}.booking-sheet-main{display:block}.booking-sheet-dispatch{border-left:0;padding-left:0;border-top:1px solid #e3e8dc;margin-top:12px;padding-top:12px}.booking-finance-row{display:block}.booking-finance-row>.admin-invoices{border-left:0;padding-left:0;border-top:1px solid #e3e8dc;margin-top:12px;padding-top:12px}.booking-sheet-finance{margin-top:12px}.booking-sheet-cancellation .cancellation-grid{grid-template-columns:1fr 1fr}.booking-sheet-journey .planning-compact>dl{grid-template-columns:1fr 1fr}.booking-header-contact{gap:5px 12px}}
.booking-sheet-journey .booking-page{min-height:0!important}.booking-sheet-summary{grid-template-columns:1.1fr 1fr 1.15fr .65fr .85fr}.booking-sheet-summary>div{gap:8px}.booking-sheet-summary>div+div{padding-left:10px}.booking-sheet-summary strong{font-size:12px}.booking-sheet-journey .booking-overview-route{padding-bottom:0}.booking-sheet-journey .booking-overview header h3{margin-bottom:2px!important}.booking-sheet-journey .booking-route-timeline{margin:0}.booking-sheet-journey .booking-route-timeline li{padding-block:3px}.booking-sheet-journey .booking-route-timeline li:last-child{padding-bottom:2px}.booking-sheet-journey .planning-compact{padding-bottom:0!important;margin-top:5px!important;padding-top:5px!important}.booking-sheet-journey .planning-compact h3{margin:0 0 3px!important}.booking-sheet-journey .planning-compact h3 small{font-size:9px;font-weight:450;color:#8a957f;margin-left:8px}.booking-sheet-journey .planning-compact>.planning-duty-line{display:block!important;font-size:10px;margin:3px 0 5px}.booking-sheet-journey .planning-compact>dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 12px;margin:3px 0 0}.booking-sheet-journey .planning-compact>dl>div:nth-child(3){grid-column:auto}.booking-sheet-journey .route-summary{padding:3px 0!important}.booking-sheet-journey .route-summary h2{margin-bottom:3px!important}.booking-sheet-journey .route-summary dl.review-list{gap:8px;margin:0!important}.booking-sheet-journey .route-summary dl>div dd{margin:2px 0 0!important}.booking-sheet-journey .route-summary dl>div dt{margin:0!important}
.booking-finance-row .invoice-create label{font-size:0;line-height:1}.booking-finance-row .invoice-create label select{font-size:10px;margin-top:0}.booking-finance-row .invoice-create{align-items:center;margin:5px 7px 0 0;vertical-align:middle}.booking-finance-row .admin-invoices>button{vertical-align:middle;margin-top:5px}.booking-finance-row .admin-invoices>h3{margin-bottom:0!important}.booking-finance-row .admin-invoices>p{margin:6px 0 0}.booking-sheet-dispatch>.booking-detail-section:last-child{padding-top:6px!important;margin-top:6px}.booking-sheet-dispatch .admin-notes textarea{height:30px;min-height:30px}.booking-sheet-dispatch .booking-save-notes{min-height:30px;padding:5px 10px}.booking-sheet-journey>.booking-detail-section{padding-top:6px!important}.booking-sheet-journey .booking-special-instructions{margin-bottom:6px}.booking-finance-row .admin-payments>dl{margin:4px 0}.booking-finance-row .admin-payment-actions{margin-top:5px}.booking-sheet-finance{padding-top:7px}
.admin-booking-modal .admin-detail-head>div{display:grid;grid-template-columns:max-content 1fr;gap:4px 15px;align-items:center}.admin-booking-modal .admin-detail-head>div>h2{grid-column:1;grid-row:1}.admin-booking-modal .admin-detail-head>div>.booking-detail-reference{grid-column:2;grid-row:1;margin:0;align-self:center;color:#8a7946}.admin-booking-modal .admin-detail-head>div>.booking-header-contact{grid-column:1/-1;grid-row:2;margin:0}
.booking-sheet-journey .admin-full-booking .booking-passenger-facts>div{padding:2px 0!important}.booking-sheet-journey .route-summary dl>div dd{line-height:1.35!important;white-space:nowrap}.booking-sheet-journey .route-summary dd span{display:inline;font-size:10px;line-height:1.35!important}.booking-sheet-journey .route-summary h2{font-size:10px!important}.booking-sheet-journey .planning-compact>dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px}.booking-sheet-journey .planning-compact>dl>div dt{font-size:9px;line-height:1.35;max-width:75%}.booking-sheet-journey .planning-compact>dl>div dd{font-size:10px;line-height:1.35;margin:0!important;white-space:nowrap}.booking-sheet-journey .planning-compact>dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px}.booking-sheet-journey .planning-compact>.planning-duty-line{margin:2px 0 4px}.booking-sheet-journey .planning-compact h3{font-size:11px!important}
.booking-allocation-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-allocation-heading h3{margin:0!important;font-size:11px!important}.booking-allocation-heading span{font-size:9px;color:#78876f}.booking-sheet-dispatch .admin-allocations form{margin-top:4px}.booking-sheet-dispatch>.booking-detail-section:last-child{display:flex;gap:10px;align-items:center;padding-top:6px!important}.booking-sheet-dispatch>.booking-detail-section:last-child h3{margin:0!important;white-space:nowrap;font-size:10px!important}.booking-sheet-dispatch .admin-notes{flex:1;display:block!important;line-height:0!important}.booking-sheet-dispatch .admin-notes textarea{width:100%;height:30px;min-height:30px}.booking-sheet-dispatch .booking-save-notes{flex:none}.booking-sheet-dispatch .portal-map-canvas{height:140px!important}
@media(max-width:700px){.admin-booking-modal .admin-detail-head>div{display:block}.admin-booking-modal .admin-detail-head>div>.booking-detail-reference{margin-bottom:4px}.admin-booking-modal .admin-detail-head>div>.booking-header-contact{margin-top:5px}.booking-sheet-summary{grid-template-columns:1fr 1fr}.booking-sheet-journey .planning-compact>dl{grid-template-columns:1fr 1fr}.booking-sheet-journey .route-summary dl>div dd{white-space:normal}.booking-allocation-heading{align-items:start;flex-direction:column;gap:2px}}
.admin-detail-actions>.booking-sheet-cancellation{margin:0 auto 0 0}.admin-detail-actions>.booking-sheet-cancellation>button{padding:6px 9px;font-size:10px;color:#835c45}.booking-sheet-dispatch .tracking-drivers{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.booking-sheet-dispatch .tracking-drivers>div{display:grid;grid-template-columns:1fr auto;gap:2px 5px;padding:4px 0}.booking-sheet-dispatch .tracking-drivers>div>p{grid-column:1;grid-row:2;margin:0}.booking-sheet-dispatch .tracking-drivers>div>button{grid-column:2;grid-row:1/3}.booking-sheet-dispatch .tracking-drivers>div strong,.booking-sheet-dispatch .tracking-drivers>div span{display:inline;font-size:9px}.booking-sheet-dispatch .tracking-drivers>div span{margin-left:5px}.booking-sheet-dispatch .tracking-drivers>div small{display:inline;margin-left:5px}.booking-sheet-dispatch .tracking-share{display:flex;align-items:end;gap:8px}.booking-sheet-dispatch .tracking-share label{flex:1}.booking-sheet-dispatch .tracking-share label input{margin-top:2px}.booking-sheet-dispatch .tracking-share button{margin:0}
.admin-detail-actions>.booking-sheet-cancellation:has(.admin-cancellation){width:100%;margin:0}.admin-detail-actions:has(.admin-cancellation){flex-wrap:wrap}.booking-sheet-cancellation .admin-cancellation{display:flex;flex-wrap:wrap;align-items:center;gap:5px 14px;margin:0;padding:0!important}.booking-sheet-cancellation .admin-cancellation h3{font-size:11px;margin:0!important}.booking-sheet-cancellation .admin-cancellation p{font-size:10px;margin:0}.booking-sheet-cancellation .admin-cancellation dl{margin:0;gap:14px}.booking-sheet-cancellation .admin-cancellation dl>div{display:flex;align-items:baseline;gap:6px;padding:0;border:0}.booking-sheet-cancellation .admin-cancellation dt{font-size:9px;text-transform:none}.booking-sheet-cancellation .admin-cancellation dd{font-size:11px;margin:0}.booking-sheet-cancellation .admin-cancellation button{font-size:10px;padding:5px 8px}.booking-sheet-cancellation .cancellation-fleet{margin:0;padding:6px 8px;width:100%;border:1px solid #e1e7d9;border-radius:5px}.booking-sheet-cancellation .cancellation-fleet>p{display:inline}.booking-sheet-cancellation .cancellation-grid{margin:5px 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.booking-sheet-cancellation .cancellation-grid label{display:flex;align-items:center;gap:6px}.booking-sheet-cancellation .cancellation-grid input{width:44px;margin:0}.booking-sheet-cancellation .cancellation-check{display:inline-flex;font-size:10px;align-items:center;gap:4px;margin-right:10px}
.booking-finance-documents{border-left:1px solid #e3e8dc;padding-left:22px;min-width:0}.booking-finance-documents .admin-invoices{border:0;background:#fff;padding:0;margin:0;border-radius:0}.booking-finance-documents>.booking-detail-section{display:flex;gap:8px;align-items:center;padding:6px 0 0;margin-top:4px;border-top:1px solid #e3e8dc}.booking-finance-documents>.booking-detail-section h3{font-size:10px!important;margin:0!important;white-space:nowrap}.booking-finance-documents .admin-notes{font-size:0;display:block!important;line-height:0!important;flex:1;margin:0}.booking-finance-documents .admin-notes textarea{width:100%;height:28px;min-height:28px;padding:5px 8px;font-size:11px;line-height:1.3;margin:0;resize:none}.booking-finance-documents .booking-save-notes{font-size:10px;min-height:28px;padding:5px 8px;margin:0;white-space:nowrap}
.booking-sheet-dispatch .tracking-drivers>div{display:flex;gap:5px;align-items:center;padding:3px 0}.booking-sheet-dispatch .tracking-drivers>div>div{flex:1;min-width:0;line-height:1.3}.booking-sheet-dispatch .tracking-drivers>div>div strong,.booking-sheet-dispatch .tracking-drivers>div>div span{font-size:9px;display:block;margin:0;line-height:1.3}.booking-sheet-dispatch .tracking-drivers>div>p{flex:1;font-size:9px;line-height:1.3;min-width:0;margin:0}.booking-sheet-dispatch .tracking-drivers>div>p small{display:block;font-size:8px;margin:1px 0 0;line-height:1.3}.booking-sheet-dispatch .tracking-drivers>div>button{max-width:92px;font-size:9px;padding:4px 6px;line-height:1.3;flex:none}.booking-sheet-dispatch .allocation-records{display:grid;grid-template-columns:1fr 1fr;gap:3px 9px}.booking-sheet-dispatch .allocation-records .allocation-line{font-size:9px;padding:3px 0;gap:5px;justify-content:space-between}.booking-sheet-dispatch .allocation-line span{min-width:0;line-height:1.3}.booking-sheet-dispatch .allocation-line a{font-size:9px;margin-left:3px}.booking-sheet-dispatch .allocation-line button{font-size:8px;padding:3px 4px;flex:none}.booking-sheet-dispatch:has(.tracking-drivers>div) .portal-map-canvas{height:118px!important}.booking-sheet-dispatch:has(.tracking-share) .portal-map-canvas{height:90px!important}
.booking-sheet-journey .booking-special-instructions.has-instructions{display:grid;grid-template-columns:125px 1fr;gap:8px;align-items:start}.booking-sheet-journey .booking-special-instructions.has-instructions h3{margin:0!important}.booking-sheet-journey .booking-special-instructions.has-instructions p{margin:0!important;line-height:1.4}
.booking-finance-row .admin-payment-receipts{display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;margin-top:5px}.booking-finance-row .admin-payment-receipts h4{font-size:10px;margin:0}.booking-finance-row .admin-payment-receipts p{margin:0}.booking-finance-row .admin-payment-receipts a{font-size:10px}.booking-finance-row .invoice-list article{gap:8px;align-items:center}.booking-finance-row .invoice-links{margin:0;gap:6px}.booking-finance-row .invoice-list strong{font-size:9px}.booking-finance-row .invoice-list span{font-size:9px}.booking-finance-row .invoice-links a{font-size:9px}.booking-sheet-content>.booking-sheet-finance[hidden]{display:none!important}
@media(max-width:700px){.booking-finance-documents{border-left:0;padding-left:0;border-top:1px solid #e3e8dc;margin-top:10px;padding-top:10px}.booking-sheet-journey .booking-special-instructions.has-instructions{display:block}.booking-sheet-journey .booking-special-instructions.has-instructions h3{margin-bottom:4px!important}.booking-sheet-dispatch .tracking-drivers,.booking-sheet-dispatch .allocation-records{grid-template-columns:1fr}}
.booking-sheet-journey .booking-special-instructions.has-instructions{grid-template-columns:145px 1fr}.booking-finance-documents .admin-invoices{font-size:0;line-height:0}.booking-finance-documents .admin-invoices h3{line-height:1.4}.booking-finance-documents .invoice-create{font-size:10px;line-height:1.3;margin-top:4px}.booking-finance-documents .invoice-create label{display:block;line-height:0;gap:0}.booking-finance-documents .invoice-create label select{margin:0;font-size:10px;line-height:1.3}.booking-finance-documents .invoice-list{line-height:1.3;font-size:10px;margin-top:4px}.booking-finance-documents .invoice-list article{padding:3px 0}.booking-finance-documents .invoice-list strong,.booking-finance-documents .invoice-list span{line-height:1.3}.booking-finance-documents .invoice-links a{line-height:1.3}.booking-finance-row .admin-payment-receipts h4,.booking-finance-row .admin-payment-receipts p{line-height:1.3}.booking-finance-documents .admin-invoices>p{font-size:10px;line-height:1.3}
@media(min-width:701px) and (max-height:800px){.admin-booking-modal .admin-detail-head{padding-block:10px!important}.admin-booking-modal .booking-sheet-content{gap:8px;padding-block:9px!important}.booking-sheet-summary{padding-block:6px}.booking-sheet-journey .booking-overview-route header{margin-bottom:0}.booking-sheet-journey .booking-special-instructions{padding-block:6px}.booking-sheet-dispatch>.booking-detail-section{margin-top:5px;padding-top:5px!important}}

/* One shared, measured desktop sheet: all journey and dispatch content stays visible together. */
.booking-sheet-main{display:block!important;min-height:0;position:relative;overflow:visible!important}
.booking-sheet-main-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start;min-width:0}
.booking-finance-row .admin-open-checkouts{margin-top:5px}.booking-finance-row .admin-open-checkouts h4{font-size:10px;margin:0 0 3px}.booking-finance-row .admin-payment-link{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;padding:4px 0;margin-top:4px;background:transparent;border:0;font-size:10px}.booking-finance-row .admin-payment-link strong,.booking-finance-row .admin-payment-link>a,.booking-finance-row .admin-payment-link p{font-size:10px;line-height:1.3;margin:0}.booking-finance-row .admin-payment-link label{display:flex;align-items:center;gap:5px;flex:1;min-width:200px;font-size:10px;margin:0}.booking-finance-row .admin-payment-link input{min-height:24px;height:24px;font-size:10px;padding:3px 6px;margin:0;min-width:0;flex:1}.booking-finance-row .admin-payment-link .admin-payment-actions{margin:0}.booking-finance-row .admin-payment-link .admin-payment-actions button{padding:4px 6px;min-height:24px}
@media(max-width:700px){.booking-sheet-main{flex:none!important}.booking-sheet-main-grid{grid-template-columns:1fr;gap:14px}}

/* Readable dispatch workspace with a shared financial band and consistent controls. */
.admin-booking-modal{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
.admin-booking-modal .admin-detail-head h2{font-size:20px!important}.booking-header-contact a{font-size:12px}.booking-detail-reference{font-size:11px}
.booking-sheet-content h3{font-size:13px!important;letter-spacing:0}.booking-sheet-content p,.booking-sheet-content li{font-size:12px;line-height:1.4;letter-spacing:0}
.booking-sheet-summary span{font-size:11px}.booking-sheet-summary strong{font-size:13px}.booking-sheet-summary>div:last-child strong{font-size:19px}
.booking-sheet-journey .booking-route-timeline li{padding-block:5px;grid-template-columns:70px 1fr}.booking-sheet-journey .booking-route-timeline li>span{font-size:11px}.booking-sheet-journey .booking-route-timeline li p{font-size:12px;line-height:1.4}
.booking-sheet-journey .booking-stop-flight dt,.booking-sheet-journey .booking-stop-flight dd,.booking-sheet-journey .booking-flight-label{font-size:11px!important}.booking-sheet-journey .booking-stop-flight dl{gap:5px 12px}
.booking-sheet-journey .booking-special-instructions h3{font-size:12px!important}.booking-sheet-journey .booking-special-instructions p{font-size:12px}.booking-sheet-journey .booking-special-instructions.has-instructions{grid-template-columns:155px 1fr}
.booking-sheet-journey .booking-passenger-facts dt{font-size:11px!important}.booking-sheet-journey .booking-passenger-facts dd{font-size:12px!important}
.booking-sheet-journey .route-summary h2{font-size:12px!important}.booking-sheet-journey .route-summary dt{font-size:11px}.booking-sheet-journey .route-summary dd,.booking-sheet-journey .route-summary dd span{font-size:12px}
.booking-sheet-journey .planning-compact{padding:0!important;margin:6px 0 0!important;border:0}.booking-sheet-journey .planning-compact>p{display:block;font-size:12px}
.booking-duty-warning{background:#fff8e9;border:1px solid #ead7aa;border-left:3px solid #c69539;border-radius:7px;padding:8px 10px;margin-top:6px}.booking-sheet-journey .booking-duty-warning h3{font-size:12px!important;color:#765621;margin:0 0 4px!important}.booking-duty-warning ul{padding-left:17px;margin:0}.booking-duty-warning li{font-size:11px;color:#6a532b;margin:2px 0}
.booking-sheet-dispatch .portal-map-canvas{height:220px!important;border-radius:8px}.booking-sheet-dispatch:has(.tracking-drivers>div) .portal-map-canvas{height:200px!important}.booking-sheet-dispatch:has(.tracking-share) .portal-map-canvas{height:180px!important}
.booking-sheet-dispatch .tracking-summary>span,.booking-sheet-dispatch .tracking-eta p{font-size:11px}.booking-sheet-dispatch .tracking-eta header>strong{font-size:12px}.booking-sheet-dispatch .tracking-eta select{font-size:11px}.booking-sheet-dispatch .tracking-drivers>div>div strong,.booking-sheet-dispatch .tracking-drivers>div>div span,.booking-sheet-dispatch .tracking-drivers>div>p{font-size:11px}.booking-sheet-dispatch .tracking-drivers>div>p small{font-size:10px}.booking-sheet-dispatch .allocation-records .allocation-line,.booking-sheet-dispatch .allocation-line a{font-size:11px}.booking-allocation-heading h3{font-size:12px!important}.booking-allocation-heading span{font-size:10px}
.booking-sheet-dispatch .admin-allocations select{font-size:12px;min-height:32px}
.booking-finance-row .booking-finance-calculation{border-top:1px solid #e2e7df;margin-top:7px;padding-top:6px}.booking-finance-calculation h4{margin:0;font-size:12px;color:#384b3c}.booking-finance-calculation h4 small{font-size:10px;font-weight:400;margin-left:7px;color:#788574}.booking-finance-row .booking-finance-calculation p{font-size:10px;margin:3px 0 4px;color:#657363}.booking-finance-row .booking-finance-calculation dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 13px;margin:0}.booking-finance-row .booking-finance-calculation dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.booking-finance-row .booking-finance-calculation dt{font-size:10px;line-height:1.35}.booking-finance-row .booking-finance-calculation dd{font-size:11px;white-space:nowrap;margin:0;font-weight:550}
.booking-finance-row .admin-payments>dl{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-finance-row .admin-payments>dl dt{font-size:11px}.booking-finance-row .admin-payments>dl dd{font-size:15px}.booking-finance-row h3{font-size:13px!important}.booking-finance-row .invoice-list strong,.booking-finance-row .invoice-list span,.booking-finance-row .invoice-links a{font-size:11px}.booking-finance-row .invoice-list article{padding-block:5px;align-items:start;flex-wrap:wrap}.booking-finance-row .invoice-links{flex-wrap:wrap;gap:7px 10px}
.admin-booking-modal button,.admin-booking-modal select{font-family:inherit;letter-spacing:0;box-shadow:none;cursor:pointer}
.booking-finance-row button,.booking-finance-row select,.booking-finance-documents .invoice-create label select{font-size:11px;min-height:30px;border:1px solid #ccd7ce;padding:6px 9px;border-radius:6px;background:#fff;color:#324b3b;line-height:1.3}
.booking-finance-row .admin-payment-actions button:first-child,.booking-finance-row .invoice-create button,.booking-finance-documents .booking-save-notes,.booking-sheet-dispatch .admin-allocations form button{background:#223c2d;color:#fff;border:1px solid #223c2d}
.booking-finance-row .admin-payment-actions button:not(:first-child){background:#fff;color:#324b3b;border:1px solid #ccd7ce}.booking-finance-row .invoice-links button{background:#fff8f5;border-color:#e3ccc1;color:#875441}
.booking-finance-row button:hover,.booking-sheet-dispatch button:hover{filter:brightness(.96)}.admin-booking-modal button:focus-visible,.admin-booking-modal select:focus-visible{outline:2px solid #ae8534;outline-offset:2px}.admin-booking-modal button:disabled{opacity:.5;cursor:wait}
.booking-finance-documents>.booking-detail-section h3{font-size:11px!important}.booking-finance-documents .admin-notes textarea{height:32px;min-height:32px;font-size:12px}.booking-finance-documents .booking-save-notes{font-size:11px;min-height:32px}.booking-finance-row .admin-payment-receipts a,.booking-finance-row .admin-payment-receipts h4{font-size:11px}
@media(max-width:700px){.booking-finance-row .booking-finance-calculation dl{grid-template-columns:1fr 1fr}.booking-sheet-journey .booking-special-instructions.has-instructions{display:block}.booking-sheet-dispatch .portal-map-canvas{height:240px!important}}

.booking-sheet-duty{flex:none}.booking-sheet-duty:empty{display:none}.booking-sheet-duty .booking-duty-warning{display:flex;align-items:center;gap:14px;margin:0;padding:6px 10px}.booking-sheet-duty .booking-duty-warning h3{white-space:nowrap;margin:0!important;flex:none;font-size:12px!important;color:#765621}.booking-sheet-duty .booking-duty-warning ul{display:flex;flex-wrap:wrap;gap:3px 22px;list-style:disc;margin:0;padding-left:16px}.booking-sheet-duty .booking-duty-warning li{font-size:11px;margin:0;line-height:1.35}
.booking-cost-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 8px;margin-bottom:5px}.booking-cost-caption h4{font-size:11px}.booking-finance-row .booking-cost-caption p{margin:0;font-size:10px}.booking-finance-row .booking-finance-calculation{padding-top:5px;margin-top:5px}.booking-finance-row .booking-finance-calculation dt{max-width:75%}
@media(max-width:700px){.booking-sheet-duty{margin-bottom:12px}.booking-sheet-duty .booking-duty-warning{display:block}.booking-sheet-duty .booking-duty-warning h3{margin-bottom:5px!important}.booking-sheet-duty .booking-duty-warning ul{display:block}.booking-sheet-duty .booking-duty-warning li{margin:3px 0}}

/* Full-height map on the left; one ordered information sheet on the right. */
.booking-map-layout{display:grid;grid-template-columns:minmax(320px,.52fr) minmax(0,1fr);gap:20px;flex:1;min-height:0;height:100%}
.booking-map-layout>.booking-sheet-main{min-height:0;height:100%;flex:none}.booking-map-layout .booking-sheet-main-grid{display:block}.booking-sheet-right{display:flex;flex-direction:column;gap:9px;min-width:0}
.booking-sheet-right .booking-sheet-summary{grid-template-columns:1.2fr .95fr 1fr .55fr .8fr;padding:7px 9px;gap:7px}.booking-sheet-right .booking-sheet-summary>div{display:block}.booking-sheet-right .booking-sheet-summary span{display:block;font-size:10px;margin-bottom:4px}.booking-sheet-right .booking-sheet-summary strong{font-size:12px;line-height:1.3}.booking-sheet-right .booking-sheet-summary>div:last-child strong{font-size:17px}
.booking-sheet-right .booking-sheet-duty .booking-duty-warning{align-items:start}.booking-sheet-right .booking-sheet-duty .booking-duty-warning ul{display:block}.booking-sheet-right .booking-sheet-duty .booking-duty-warning li{margin:1px 0}
.booking-sheet-right .booking-sheet-journey{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:16px;row-gap:6px;align-content:start}.booking-sheet-right .booking-sheet-journey>.booking-overview{grid-column:1;grid-row:1}.booking-sheet-right .booking-sheet-journey>.booking-special-instructions{grid-column:1;grid-row:2;margin:0;display:block;padding:7px 9px}.booking-sheet-right .booking-sheet-journey .booking-special-instructions h3{margin-bottom:4px!important}.booking-sheet-right .booking-sheet-journey>.booking-detail-section{grid-column:2;grid-row:1/3;border-top:0;border-left:1px solid #e3e8dc;padding:0 0 0 14px!important;min-width:0}
.booking-sheet-right .booking-sheet-journey .booking-passenger-facts{grid-template-columns:1fr 1fr!important;gap:0 12px!important}.booking-sheet-right .booking-sheet-journey .route-summary dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.booking-sheet-right .booking-sheet-journey .route-summary dd{white-space:normal}.booking-sheet-right .booking-sheet-journey .route-summary dd span{display:block;font-size:11px}.booking-sheet-right .booking-sheet-journey .booking-route-timeline li{grid-template-columns:64px 1fr;gap:6px}.booking-sheet-right .booking-sheet-journey .booking-stop-flight{gap:3px 8px}.booking-sheet-right .booking-sheet-journey .booking-stop-flight dl{gap:3px 9px}
.booking-sheet-right .booking-sheet-dispatch{border-left:0;border-top:1px solid #e1e7dd;padding:7px 0 0}.booking-sheet-right .booking-sheet-dispatch>.booking-detail-section{padding:0!important;margin:0;border:0;display:block}.booking-sheet-right .booking-sheet-dispatch .admin-allocations form{grid-template-columns:1fr 1.2fr auto!important;gap:8px;margin-top:6px}.booking-sheet-right .booking-sheet-dispatch .allocation-records{gap:4px 12px}.booking-sheet-right .booking-allocation-heading h3{font-size:13px!important}
.booking-sheet-right .booking-finance-row{grid-template-columns:1fr 1fr;gap:15px}.booking-sheet-right .booking-finance-documents{padding-left:15px}.booking-sheet-right .booking-finance-row .admin-payments>dl{gap:7px}.booking-sheet-right .booking-finance-row .admin-payments>dl dd{font-size:14px}.booking-sheet-right .booking-finance-row .invoice-create{display:flex;gap:6px;margin-right:0;flex-wrap:wrap}.booking-sheet-right .booking-finance-row .invoice-links{flex-wrap:wrap}.booking-sheet-right .booking-finance-calculation dl{grid-template-columns:1fr 1fr}.booking-sheet-right .booking-finance-calculation dt{font-size:10px}.booking-sheet-right .booking-finance-calculation dd{font-size:10px}.booking-sheet-right .booking-cost-caption p{font-size:9px}.booking-sheet-right .booking-finance-documents>.booking-detail-section{display:grid;grid-template-columns:1fr auto;gap:4px 7px}.booking-sheet-right .booking-finance-documents>.booking-detail-section h3{grid-column:1/-1}.booking-sheet-right .booking-finance-documents .admin-notes{font-size:0}.booking-sheet-right .booking-finance-documents .booking-save-notes{align-self:end}
.booking-map-column{min-width:0;min-height:0;border:1px solid #dce5d8;background:#f6f8f3;border-radius:10px;padding:10px;display:flex;box-sizing:border-box}.booking-map-column .admin-tracking-map{display:flex;flex-direction:column;gap:8px;height:100%;width:100%;min-height:0;padding:0}.booking-map-column .tracking-summary{margin:0;gap:6px;align-items:center}.booking-map-column .tracking-summary h3{font-size:13px!important;margin:0!important}.booking-map-column .tracking-summary>span{font-size:10px;white-space:nowrap}.booking-map-column .tracking-eta{margin:0;padding:8px;border-radius:7px;flex:none}.booking-map-column .tracking-eta header>strong{font-size:12px}.booking-map-column .tracking-eta label{font-size:10px}.booking-map-column .tracking-eta select{font-size:11px}.booking-map-column .tracking-eta p{font-size:11px;margin:5px 0 0}.booking-map-column .tracking-eta-results strong{font-size:18px}.booking-map-column .tracking-eta-results small{font-size:10px}.booking-map-column .portal-map{display:flex;flex-direction:column;flex:1;min-height:0;margin:0;padding:0;gap:5px}.booking-map-column .portal-map-heading{margin:0;flex:none;min-height:0}.booking-map-column .portal-map-canvas{flex:1;height:auto!important;min-height:100px;border-radius:7px;width:100%;margin:0}.booking-map-column .portal-map>p{font-size:11px;margin:0;flex:none}.booking-map-column .tracking-drivers{display:grid;grid-template-columns:1fr;gap:4px;margin:0;flex:none}.booking-map-column .tracking-drivers:empty{display:none}.booking-map-column .tracking-drivers>div{display:flex;align-items:center;gap:7px;padding:4px 0;border:0}.booking-map-column .tracking-drivers>div>div{flex:1;min-width:0}.booking-map-column .tracking-drivers strong,.booking-map-column .tracking-drivers span,.booking-map-column .tracking-drivers p{font-size:10px;line-height:1.3;margin:0}.booking-map-column .tracking-drivers small{font-size:9px;margin:2px 0 0}.booking-map-column .tracking-drivers button{font-size:10px;padding:5px 7px;border-radius:6px;border:1px solid #d0dacb;background:white;color:#35503c;max-width:95px}.booking-map-column .tracking-share{display:flex;align-items:end;gap:6px;padding:0;margin:0;flex:none}.booking-map-column .tracking-share label{font-size:10px;flex:1;min-width:0}.booking-map-column .tracking-share input{font-size:10px;min-width:0;width:100%;box-sizing:border-box;margin-top:4px}.booking-map-column .tracking-share button{font-size:10px;padding:5px 7px}
@media(max-width:1000px) and (min-width:701px){.booking-map-layout{grid-template-columns:minmax(250px,.45fr) minmax(0,1fr);gap:14px}.booking-sheet-right .booking-sheet-journey{grid-template-columns:1.1fr 1fr}.booking-sheet-right .booking-sheet-summary strong{font-size:11px}}
@media(max-width:700px){.booking-map-layout{display:flex;flex-direction:column;height:auto;gap:14px}.booking-map-column{height:360px;flex:none}.booking-map-layout>.booking-sheet-main{height:auto}.booking-sheet-right .booking-sheet-journey{display:block}.booking-sheet-right .booking-sheet-journey>.booking-detail-section{border-left:0;padding:8px 0 0!important;margin-top:10px}.booking-sheet-right .booking-sheet-summary{grid-template-columns:1fr 1fr}.booking-sheet-right .booking-finance-row{display:block}.booking-sheet-right .booking-finance-documents{padding-left:0}.booking-sheet-right .booking-sheet-duty .booking-duty-warning{display:block}}
@media(min-width:701px){.booking-map-layout{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:18px}.booking-map-column .tracking-summary{flex-wrap:wrap}.booking-map-column .tracking-eta header{align-items:start;gap:7px;flex-wrap:wrap}.booking-map-column .tracking-eta label{flex-wrap:wrap}.booking-map-column .tracking-drivers>div{flex-wrap:wrap}.booking-map-column .tracking-drivers>div>p{flex-basis:100%;order:3}.booking-map-column .tracking-drivers button{max-width:115px}.booking-map-column .tracking-share{flex-wrap:wrap}.booking-map-column .tracking-share label{flex-basis:100%}}
/* One payment workspace: one balance summary, one creation toolbar, one document list. */
.booking-finance-unified{background:#f9fbf7;border:1px solid #dfe7d9;border-radius:9px;padding:10px 12px;min-width:0;font-size:12px}
.finance-overview{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.booking-sheet-content .finance-overview h3{font-size:14px!important;margin:0!important;white-space:nowrap;display:flex;align-items:center;gap:8px}.finance-overview h3 small{font-size:9px;color:#8c6112;background:#fff0c7;border-radius:4px;padding:3px 5px}
.admin-detail .finance-totals{display:flex;align-items:center;gap:28px;margin:0}.admin-detail .finance-totals>div{padding:0;border:0;display:flex;align-items:baseline;gap:7px}.finance-totals dt{font-size:11px;text-transform:none;color:#76836e}.finance-totals dd{font-size:14px;font-weight:650;margin:0;white-space:nowrap;color:#243e2c}
.booking-finance-unified>.admin-invoices{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;border:0;background:transparent;padding:0;margin:0;box-shadow:none;border-radius:0;line-height:1.3}
.booking-finance-unified .finance-create{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}.booking-finance-unified .finance-create label{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.3}.booking-finance-unified button,.booking-finance-unified select{font-size:11px;line-height:1.3;min-height:30px;padding:6px 9px;border:1px solid #cbd8c8;border-radius:6px;background:#fff;color:#35513b;font-family:inherit;margin:0;letter-spacing:0}.booking-finance-unified .finance-create button{background:#223c2d;border-color:#223c2d;color:#fff}.booking-finance-unified button:hover{filter:brightness(.96)}.booking-finance-unified button:disabled{opacity:.5;cursor:wait}
.booking-finance-unified .invoice-list{grid-column:1/-1;margin:2px 0 0}.booking-finance-unified .invoice-list article{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 14px;padding:6px 0;margin:0;border-top:1px solid #e1e8dc;background:transparent}.booking-finance-unified .invoice-list article>div:first-child{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.booking-finance-unified .invoice-list strong,.booking-finance-unified .invoice-list span{font-size:11px;line-height:1.4;margin:0}.booking-finance-unified .invoice-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}.booking-finance-unified .invoice-links a{font-size:11px;color:#365a40;text-decoration:none;font-weight:550}.booking-finance-unified .invoice-links a:hover{text-decoration:underline}.booking-finance-unified .invoice-links button{min-height:26px;padding:4px 7px;color:#875441;background:#fff9f5;border-color:#e6d0c4}.booking-finance-unified .admin-invoices>p{grid-column:1/-1;font-size:11px;margin:1px 0;color:#76836e}
.finance-receipt,.finance-link-row{display:flex;align-items:center;justify-content:space-between;gap:7px 12px;flex-wrap:wrap;border-top:1px solid #e1e8dc;padding:5px 0;font-size:11px}.finance-receipt a,.finance-link-row a{font-size:11px;color:#365a40;text-decoration:none;font-weight:550}.finance-link-row strong,.finance-link-row span{font-size:11px}.finance-link-row input{font-size:11px;min-height:28px;padding:4px 7px;min-width:160px;flex:1}
.finance-detail-footer{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:15px;border-top:1px solid #e0e7d9;margin-top:7px;padding-top:7px}.finance-saved-costs{min-width:0}.finance-saved-costs header{display:flex;align-items:baseline;justify-content:space-between;gap:4px 8px;flex-wrap:wrap}.finance-saved-costs h4{font-size:11px;margin:0!important;color:#53694e}.finance-saved-costs h4 small{font-weight:400;color:#829079;font-size:9px;margin-left:5px}.finance-saved-costs header>span{font-size:9px;color:#829079}.admin-detail .finance-saved-costs dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 12px;margin:5px 0 0}.admin-detail .finance-saved-costs dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:5px;padding:0;border:0}.finance-saved-costs dt{font-size:10px;line-height:1.35;text-transform:none;color:#76836e}.finance-saved-costs dd{font-size:11px;line-height:1.35;font-weight:550;margin:0;white-space:nowrap}
.finance-detail-footer>.booking-detail-section{display:grid;grid-template-columns:1fr auto;gap:4px 7px;align-content:start;border:0;border-left:1px solid #dfe7d9;border-radius:0;padding:0 0 0 14px;margin:0}.booking-sheet-content .finance-detail-footer>.booking-detail-section h3{grid-column:1/-1;font-size:11px!important;margin:0!important}.finance-detail-footer .admin-notes{font-size:0;line-height:0;display:block;margin:0}.finance-detail-footer .admin-notes textarea{height:32px;min-height:32px;font-size:12px;line-height:1.3;box-sizing:border-box;width:100%;margin:0;resize:none;padding:5px 8px}.finance-detail-footer .booking-save-notes{font-size:11px;margin:0;padding:5px 8px;min-height:32px;background:#223c2d;border-color:#223c2d;color:white}
@media(max-width:1100px){.finance-overview{gap:8px;align-items:start;flex-wrap:wrap}.admin-detail .finance-totals{gap:18px}.finance-saved-costs dl{grid-template-columns:1fr 1fr!important}}
@media(max-width:700px){.finance-overview{display:block}.admin-detail .finance-totals{margin-top:8px;flex-wrap:wrap;gap:8px 18px}.booking-finance-unified>.admin-invoices{display:block}.booking-finance-unified .finance-refresh{margin-top:6px}.finance-detail-footer{grid-template-columns:1fr}.finance-detail-footer>.booking-detail-section{border-left:0;padding-left:0;border-top:1px solid #dfe7d9;padding-top:7px}}
/* Booking identity centred reference and usable document/action icons. */
.admin-booking-modal .booking-header-tools{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:18px;align-items:center;padding:11px 18px!important}.admin-booking-modal .booking-header-tools>div{display:block;min-width:0}.booking-header-people h2{margin:0!important}.booking-header-tools .booking-header-contact{display:flex;flex-wrap:wrap;gap:4px 13px;margin-top:5px}.booking-header-tools .booking-header-contact a{font-size:11px;color:#5b7461;text-decoration:none}.booking-header-people .booking-header-lead{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;font-size:11px;line-height:1.3;margin-top:5px;color:#4e6555}.booking-header-lead>span{font-size:10px;color:#82917d}.booking-header-lead strong{font-weight:550}.booking-header-lead a{font-size:11px;color:#4e6555;text-decoration:none}
.booking-header-reference{text-align:center;justify-self:center}.booking-header-reference>span{display:block;font-size:10px;letter-spacing:.03em;color:#82917d;margin-bottom:5px}.booking-header-reference strong{font-size:15px;line-height:1.3;letter-spacing:.02em;color:#7c6735;font-weight:650;overflow-wrap:anywhere}
.admin-booking-modal .booking-header-tools>.booking-header-actions{display:flex;gap:10px;align-items:center;justify-content:end}.booking-tool-icons{display:flex;align-items:center;gap:5px}.admin-booking-modal .booking-tool-icons .booking-tool{width:30px;height:30px;min-height:30px;padding:6px;flex:none;border:1px solid #dce5d7;background:#f5f8f1;border-radius:7px;cursor:pointer;color:#49634f}.booking-tool svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.admin-booking-modal .booking-tool-icons .booking-tool-danger{color:#945943;border-color:#eadbd0;background:#fff9f5}.booking-tool:disabled{opacity:.5}
.booking-passenger-amend{padding:10px 12px;border:1px solid #dce5d7;border-radius:8px;background:#f9fbf7}.passenger-amend-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px}.passenger-amend-fields label{display:block;font-size:11px;color:#58705c}.passenger-amend-fields input,.passenger-amend-fields textarea{box-sizing:border-box;display:block;width:100%;font:12px Arial,sans-serif;min-height:32px;height:32px;margin-top:4px;padding:5px 7px;border:1px solid #cfdcc9;border-radius:5px;resize:none}.booking-passenger-amend p{font-size:11px;margin:7px 0}.booking-passenger-amend button{font-size:11px;padding:6px 9px;border:1px solid #cfdbcb;border-radius:5px;margin-right:7px}
.booking-journey-calculation{border:1px solid #e1e8da;border-radius:7px;padding:7px 8px!important;background:#f8faf5!important;margin-top:5px!important}.booking-sheet-right .booking-sheet-journey .booking-journey-calculation .route-summary{background:transparent;border-bottom:1px solid #e1e8da;padding:0 0 5px!important}.booking-saved-calculation{padding-top:5px}.booking-saved-calculation header{display:flex;align-items:baseline;gap:3px 9px;flex-wrap:wrap;justify-content:space-between}.booking-saved-calculation h4{font-size:11px;margin:0;color:#566d4f}.booking-saved-calculation h4 small{font-size:9px;margin-left:5px;color:#829079;font-weight:400}.booking-saved-calculation header>span{font-size:9px;color:#829079}.admin-detail .booking-saved-calculation dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:5px 0 0}.admin-detail .booking-saved-calculation dl>div{display:flex;justify-content:space-between;gap:5px;align-items:baseline;border:0;padding:0}.booking-saved-calculation dt{font-size:10px;color:#718469;text-transform:none;line-height:1.3}.booking-saved-calculation dd{font-size:11px;font-weight:550;color:#354c3a;margin:0;white-space:nowrap}
.finance-detail-footer:has(>.booking-detail-section:only-child){display:block}.finance-detail-footer:has(>.booking-detail-section:only-child)>.booking-detail-section{border-left:0;padding-left:0;grid-template-columns:auto 1fr auto;align-items:center}.booking-sheet-content .finance-detail-footer:has(>.booking-detail-section:only-child)>.booking-detail-section h3{grid-column:1;margin:0!important}.finance-detail-footer:has(>.booking-detail-section:only-child) .admin-notes{grid-column:2}.finance-detail-footer:has(>.booking-detail-section:only-child) .booking-save-notes{grid-column:3}
@media(max-width:1100px){.admin-booking-modal .booking-header-tools{grid-template-columns:1fr auto;gap:10px}.booking-header-reference{grid-column:1;grid-row:2;justify-self:start;text-align:left}.booking-header-reference>span{display:inline;margin-right:6px}.booking-header-reference strong{font-size:13px}.booking-header-actions{grid-column:2;grid-row:1/3}.booking-header-actions>.booking-stage{display:none}}
@media(max-width:700px){.admin-booking-modal .booking-header-tools{display:flex;flex-wrap:wrap}.booking-header-people{flex-basis:100%}.booking-header-reference{flex:1}.booking-header-actions{flex-wrap:wrap}.booking-header-reference strong{font-size:12px}.admin-booking-modal .booking-tool-icons .booking-tool{width:27px;height:27px;padding:4px}.passenger-amend-fields{grid-template-columns:1fr 1fr}}
/* Cancellation opens from its header icon; keep the inline review in the footer. */
.booking-sheet-cancellation>button{display:none}
/* Keep the merged journey summary compact without stretching empty panels. */
.booking-sheet-right .booking-sheet-journey>.booking-overview,.booking-sheet-right .booking-sheet-journey>.booking-special-instructions{align-self:start}
.booking-sheet-right .booking-sheet-journey .booking-route-timeline li{grid-template-columns:82px minmax(0,1fr);gap:8px;margin:0;padding-block:5px}
.booking-sheet-right .booking-passenger-facts dt,.booking-sheet-right .booking-passenger-facts dd{line-height:1.35!important}
.booking-sheet-right .booking-saved-calculation dt,.booking-sheet-right .booking-saved-calculation dd{line-height:1.35}
.booking-saved-calculation header>span{line-height:1.35}
.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px;margin-top:0!important}
.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation .route-summary{border-bottom:0;border-right:1px solid #e1e8da;padding:0 12px 0 0!important}
.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation .booking-saved-calculation{padding-top:0}
@media(max-width:700px){.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation{display:block;margin-top:10px!important}.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation .route-summary{border-right:0;border-bottom:1px solid #e1e8da;padding:0 0 7px!important}.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation .booking-saved-calculation{padding-top:7px}}

/* No empty bottom action band after moving completion to the header. */
.admin-booking-modal .admin-detail-actions:not(:has(>button)):not(:has(.admin-cancellation)){display:none}
/* Three compact, ordered booking management sections. */
.booking-sheet-right .booking-sheet-dispatch{border:1px solid #e1e8da;border-radius:7px;background:#f8faf5;padding:8px 10px}
.booking-activity-panel{border:1px solid #e1e8da;border-radius:7px;background:#f8faf5;padding:8px 10px}
.booking-activity-panel>header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px}.booking-sheet-content .booking-activity-panel h3{margin:0!important}
.activity-controls{display:flex;align-items:center;gap:6px;font-size:10px}.activity-controls button{border:1px solid #d0dccb;border-radius:5px;background:white;padding:3px 6px;font-size:10px;min-height:24px}.activity-controls button:disabled{opacity:.4}
.booking-activity-list{list-style:none;padding:0;margin:0}.booking-sheet-content .booking-activity-list li{display:grid;grid-template-columns:125px minmax(0,1fr) 100px;gap:8px;font-size:11px;line-height:1.35;padding:4px 0;border-top:1px solid #e4eade;margin:0}.booking-activity-list time{color:#71816b;font-size:10px}.booking-activity-list strong{font-weight:600;color:#354c3a;margin-right:9px}.booking-activity-list div>span{color:#6a7d63;overflow-wrap:anywhere}.activity-actor{text-align:right;color:#71816b;font-size:10px}
.activity-notes{border-top:1px solid #e1e8da;margin-top:5px;padding-top:6px}.activity-notes>.booking-detail-section{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:0!important}.activity-notes .admin-notes{font-size:0}.activity-notes textarea{box-sizing:border-box;min-height:27px;height:27px;width:100%;resize:none;padding:5px 7px;font-size:11px}.activity-notes button{padding:5px 8px;font-size:11px}
.tracking-vehicle-arrivals{border-top:1px solid #dce5d7;border-bottom:1px solid #dce5d7;padding:6px 0;margin:5px 0 9px}.tracking-vehicle-arrivals header{display:flex;justify-content:space-between;font-size:10px;color:#71816b;margin-bottom:4px}.tracking-vehicle-arrivals>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(80px,.65fr);gap:8px;padding:5px 0;border-top:1px solid #e7ecdf}.tracking-vehicle-arrivals>div:first-of-type{border-top:0}.tracking-vehicle-arrivals strong{font-size:12px;display:block;color:#354c3a}.tracking-vehicle-arrivals span,.tracking-vehicle-arrivals small{font-size:11px;line-height:1.35;display:block;color:#71816b}.tracking-vehicle-arrivals>div>div:last-child{text-align:right}.tracking-vehicle-arrivals p{font-size:11px;margin:3px 0}
@media(max-width:700px){.booking-activity-list li{grid-template-columns:110px 1fr!important}.activity-actor{grid-column:2;text-align:left}.activity-notes>.booking-detail-section{grid-template-columns:1fr auto}.activity-notes h3{grid-column:1/-1}}
.admin-booking-modal .activity-notes .admin-notes{display:block;line-height:0;margin:0}
.admin-booking-modal .activity-notes .admin-notes textarea{height:29px;min-height:29px;max-height:29px;resize:none;margin:0;line-height:1.3}
.tracking-vehicle-arrivals .vehicle-marker-key{width:19px;height:19px;object-fit:contain;vertical-align:middle;margin-right:5px}
.admin-booking-modal .activity-notes .admin-notes textarea{height:32px;min-height:32px;max-height:32px;padding:5px 7px;font-size:12px}

/* Use Title Case for admin titles and captions; retain names, references and input values. */
#admin-root :is(h1,h2,h3,h4,h5,h6):not(#admin-booking-dialog-title),
#admin-root :is(dt,th,.admin-eyebrow,.admin-nav-category,.booking-list-heading),
#admin-root .admin-nav-children button,
#admin-root .booking-header-lead>span,
#admin-root .booking-header-reference>span,
#admin-root .tracking-vehicle-arrivals>header>span{ text-transform:capitalize!important; }

/* Journey mileage belongs directly beneath the passenger details. */
.booking-sheet-right .booking-sheet-journey>.booking-detail-section>.route-summary{border-top:1px solid #e1e8da;margin-top:6px!important;padding-top:6px!important;background:transparent}
.booking-sheet-right .booking-sheet-journey>.booking-detail-section>.route-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}
.booking-sheet-right .booking-sheet-journey>.booking-journey-calculation{display:block;grid-row:auto}
.admin-detail .booking-saved-calculation dl{grid-template-columns:repeat(3,minmax(0,1fr))}
.tracking-vehicle-arrivals .vehicle-marker-dot{display:inline-block;width:12px;height:12px;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #b7c2b3;margin-right:6px;vertical-align:middle}
.tracking-vehicle-arrivals select{width:100%;min-height:24px;font-size:11px;padding:2px 4px;margin:0 0 3px;border:1px solid #cfdcc9;border-radius:4px;background:white;color:#354c3a}
@media(max-width:700px){.admin-detail .booking-saved-calculation dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Keep saved costs immediately below mileage in the passenger column. */
.booking-sheet-right .booking-sheet-journey>.booking-detail-section>.booking-saved-calculation{border-top:1px solid #e1e8da;margin-top:6px;padding-top:6px}
.admin-detail .booking-sheet-journey>.booking-detail-section>.booking-saved-calculation dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.booking-sheet-journey>.booking-detail-section>.booking-saved-calculation header>span{flex-basis:100%;font-size:10px;margin-top:2px}

.tracking-vehicle-arrivals .tracking-auto-target{font-size:11px;font-weight:600;color:#35503c;margin-bottom:3px}

/* Group dispatch with tracking; finance and history follow their related details. */
.booking-sheet-right .booking-sheet-journey>.booking-activity-panel{grid-column:1;grid-row:3;align-self:start;margin-top:4px}
.booking-sheet-right .booking-sheet-journey>.booking-detail-section{grid-row:1/4}
.booking-sheet-journey .booking-sheet-finance{margin-top:10px}
.booking-sheet-journey .finance-overview{flex-wrap:wrap;gap:7px}
.booking-sheet-journey .finance-totals{flex-wrap:wrap;gap:8px}
.booking-sheet-journey .finance-create{flex-wrap:wrap;gap:6px}
.booking-map-column .booking-sheet-dispatch{flex:none;border-top:1px solid #dce5d8;padding-top:8px;font-size:11px}
.booking-map-column .booking-sheet-dispatch>.booking-detail-section{padding:0!important;border:0}
.booking-map-column .booking-allocation-heading{display:block}.booking-map-column .booking-allocation-heading h3{font-size:12px!important;margin:0 0 3px!important}
.booking-map-column .booking-allocation-heading span{font-size:10px}
.booking-map-column .allocation-records{display:grid;gap:5px;margin:6px 0}
.booking-map-column .allocation-line{display:flex;gap:5px;justify-content:space-between;font-size:11px}
.booking-map-column .admin-allocations form{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:5px!important;margin:6px 0 0}
.booking-map-column .admin-allocations form select{width:100%;min-width:0;font-size:11px;padding:6px}
.booking-map-column .admin-allocations form select:first-child{grid-column:1/-1}
.booking-map-column .admin-allocations button{font-size:10px;padding:5px 7px}
.stage-no-show{background:#fff0dc;color:#8a4a0f}
@media(max-width:700px){.booking-map-column{height:auto;min-height:480px}.booking-map-column .portal-map-canvas{min-height:220px}.booking-sheet-right .booking-sheet-journey>.booking-activity-panel{margin:10px 0}}

.booking-sheet-right .booking-sheet-journey{grid-template-rows:auto;align-items:start}
.booking-sheet-right .booking-sheet-journey>.booking-journey-story{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.booking-journey-story>.booking-special-instructions{margin:0!important;padding:7px 9px!important;display:block}
.booking-journey-story>.booking-activity-panel{margin-top:0}
.booking-sheet-right .booking-sheet-journey>.booking-detail-section{grid-row:1}
.booking-map-column .allocation-records{grid-template-columns:minmax(0,1fr)!important}
.booking-map-column .allocation-line>span{min-width:0;overflow-wrap:anywhere}
.booking-map-column .allocation-line button{flex:none;align-self:start}
@media(max-width:700px){.booking-journey-story{margin-bottom:10px}}
.booking-map-column .portal-map{min-height:120px;flex:1 1 120px}
.booking-map-column .portal-map-canvas{min-height:80px}
.booking-map-column .tracking-drivers>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;padding:4px 0}
.booking-map-column .tracking-drivers>div>p{grid-column:1;grid-row:2}
.booking-map-column .tracking-drivers>div>button{grid-column:2;grid-row:1/3}

.booking-map-column>.booking-sheet-main{width:100%;height:100%;min-width:0;min-height:0}
.booking-map-column .booking-sheet-main-grid{height:auto;min-height:100%}
.booking-map-column .admin-tracking-map{height:auto}
.booking-map-column .portal-map{flex:none;min-height:0}
.booking-map-column .portal-map-canvas{height:160px!important;min-height:0;flex:none}

@media(min-width:701px){.booking-map-layout>.booking-sheet-main .booking-sheet-right{min-height:var(--sheet-available-height,auto)}
.booking-sheet-right .booking-sheet-journey{flex:1;align-items:stretch}
.booking-sheet-right .booking-sheet-journey>.booking-journey-story{align-self:stretch}
.booking-journey-story>.booking-activity-panel{flex:1;display:flex;flex-direction:column;min-height:180px}
.booking-activity-panel>.booking-activity-list{flex:1}
.booking-activity-panel>.activity-notes{margin-top:auto}
.booking-sheet-content .booking-activity-list li{min-height:40px;box-sizing:border-box;align-content:center}
}

/* Consistent typography, restrained card surfaces and clear operational states. */
.admin-booking-modal .booking-detail-shell{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:normal}
.admin-booking-modal .booking-sheet-content{letter-spacing:normal;color:#263d31}
.booking-sheet-right .booking-sheet-summary{background:#f1f5ef;border-color:#dce5d9;border-radius:9px;padding:10px 12px}
.booking-sheet-right .booking-sheet-summary strong{font-weight:650;letter-spacing:normal}
.booking-sheet-right .booking-sheet-summary span{font-size:10px;color:#71816e}
.booking-map-column{background:#f5f8f3;border-color:#dce5d8}
.booking-map-column .tracking-summary{padding-bottom:8px;border-bottom:1px solid #dae3d5}
.booking-map-column .tracking-summary>span{background:#e4eee2;color:#3d6245;border-radius:20px;padding:4px 8px;font-weight:600}
.booking-map-column .tracking-unassigned{background:#eaf0e6;color:#56664f;border-radius:7px;padding:9px 10px;margin:8px 0;font-size:11px;line-height:1.5}
.booking-map-column .tracking-setup-notice{background:#fff6df;color:#806328;border:1px solid #eee0b7;border-radius:7px;padding:7px 9px;line-height:1.4;overflow-wrap:anywhere}
.booking-map-column .booking-sheet-dispatch{background:transparent;padding:10px 0 0}
.booking-map-column .admin-allocations form select{border-radius:7px;border:1px solid #d1ddca;background:white;color:#304b38;min-height:30px}
.booking-map-column .admin-allocations form button{border-radius:7px}
.booking-journey-story>.booking-activity-panel,.booking-sheet-journey .booking-finance-unified{background:#f8faf6;border-color:#dfe7db;border-radius:9px;padding:10px 12px}
.booking-sheet-content .booking-activity-list li{grid-template-columns:140px minmax(0,1fr) 90px;gap:10px;padding:6px 0}
.booking-activity-list time{font-size:10px;line-height:1.5;color:#6d7d68;font-variant-numeric:tabular-nums}
.booking-activity-list strong{display:block;line-height:1.4;font-size:11px;font-weight:600;margin:0}
.booking-activity-list div>span{display:block;margin-top:2px;line-height:1.4;font-size:10px;color:#7b8876;overflow-wrap:anywhere}
.booking-activity-list .activity-actor{justify-self:end;align-self:center;border-radius:5px;padding:3px 5px;background:#e9f0e5;color:#4a684c;font-size:10px;line-height:1.2;overflow-wrap:anywhere}
.booking-activity-list .activity-actor:empty{display:none}
.booking-activity-panel .activity-controls button{border-radius:6px;color:#48604b;border-color:#d9e3d3;background:#fff;font-size:10px}
.booking-activity-panel .activity-notes{padding-top:8px;border-top:1px solid #dfe7d9;background:transparent}
.booking-activity-panel .activity-notes .booking-detail-section{background:transparent}
.booking-sheet-journey .finance-totals{padding:5px 0}
.booking-sheet-journey .finance-totals dd{font-weight:650}
.booking-sheet-journey .finance-create select,.booking-sheet-journey .finance-create button{border-radius:6px;min-height:29px}
.booking-sheet-journey .booking-saved-calculation header>span{color:#73836d}
@media(max-width:700px){.booking-sheet-content .booking-activity-list li{grid-template-columns:112px minmax(0,1fr);gap:7px}.booking-activity-list .activity-actor{grid-column:2;justify-self:start}}

.booking-map-column .tracking-summary>span.tracking-needs-allocation{background:#f7ebd0;color:#856524}
.booking-map-column .tracking-vehicle-arrivals>.tracking-unassigned{margin-bottom:0}

/* Keep the complete audit history in one compact, scrollable card. */
.booking-journey-story>.booking-activity-panel{flex:none;box-sizing:border-box;overflow:hidden;min-height:180px}
.booking-activity-panel>header,.booking-activity-panel>.activity-notes{flex-shrink:0}
.booking-activity-panel>.booking-activity-list{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a9b7a3 transparent;padding-right:4px}
.booking-sheet-content .booking-activity-list li{grid-template-columns:112px minmax(0,1fr) 76px;gap:6px;min-height:30px;padding:3px 0;font-size:10px;line-height:1.25}
.booking-activity-list time{font-size:9px;line-height:1.3}
.booking-activity-list strong{font-size:10px;line-height:1.25}
.booking-activity-list div>span{font-size:9px;line-height:1.3;margin-top:1px}
.booking-activity-list .activity-actor{font-size:9px;padding:2px 4px}
.booking-activity-list:focus-visible{outline:2px solid #9da98f;outline-offset:2px}
@media(max-width:700px){.booking-sheet-content .booking-activity-list li{grid-template-columns:100px minmax(0,1fr)}.booking-activity-list time,.booking-activity-list div>span,.booking-activity-list .activity-actor{font-size:11px}.booking-activity-list strong{font-size:12px}}

/* Booking workspace: one type scale, clear rows and restrained surfaces. */
#admin-root .admin-booking-modal .booking-detail-shell{font-family:Arial,Helvetica,sans-serif!important;color:#253039;background:#fff}
#admin-root .admin-booking-modal .booking-detail-shell *{letter-spacing:normal!important}
#admin-root .admin-booking-modal .booking-sheet-content{color:#34424b;font-size:13px}
#admin-root .admin-booking-modal :is(h3,h4){font-size:14px!important;font-weight:600!important;color:#223039!important;line-height:1.3;text-transform:capitalize}
#admin-root .admin-booking-modal .booking-header-tools{padding:14px 20px!important;background:#fff;border-bottom:1px solid #e6e8e9}
#admin-root .admin-booking-modal .booking-header-people h2{font-size:22px!important;font-weight:600;color:#19262d}
#admin-root .admin-booking-modal .booking-header-contact a{font-size:12px;color:#57656e}
#admin-root .admin-booking-modal .booking-header-lead{font-size:12px;color:#57656e}
#admin-root .admin-booking-modal .booking-header-reference>span{font-size:11px;color:#7a858b;margin-bottom:5px}
#admin-root .admin-booking-modal .booking-header-reference strong{font-size:17px;font-weight:600;color:#8b681e}
#admin-root .admin-booking-modal .booking-tool-icons .booking-tool{background:#fff;border-color:#e1e5e7;color:#485760;width:32px;height:32px;border-radius:8px}
#admin-root .admin-booking-modal .booking-tool-icons .booking-tool:hover{background:#f4f5f6;border-color:#b8c1c6}
#admin-root .admin-booking-modal .booking-tool-icons .booking-tool-danger{color:#b15142;background:#fff8f6}
#admin-root .admin-booking-modal .booking-map-column{background:#f7f8f9;border-color:#e2e6e8;border-radius:12px;padding:12px}
#admin-root .admin-booking-modal .tracking-summary{border-color:#e2e6e8;padding-bottom:10px}
#admin-root .admin-booking-modal .tracking-unassigned{font-size:12px;line-height:1.4;background:#fff5df;color:#806127;border:1px solid #f0e1bb;padding:8px 10px}
#admin-root .admin-booking-modal .portal-map-canvas{border-radius:9px}
#admin-root .admin-booking-modal .booking-sheet-dispatch{border-color:#dde3e6;background:transparent;padding-top:10px}
#admin-root .admin-booking-modal .booking-sheet-dispatch>.booking-detail-section{background:transparent}
#admin-root .admin-booking-modal .booking-allocation-heading span{display:block;font-size:11px;color:#738089;margin-top:4px}
#admin-root .admin-booking-modal .admin-allocations form select{font-size:12px;min-height:32px;border-color:#d8dfe3;color:#34424b;border-radius:7px}
#admin-root .admin-booking-modal .allocation-line{background:#fff;border:1px solid #e2e6e8;border-radius:7px;padding:7px;font-size:12px}
#admin-root .admin-booking-modal .booking-sheet-summary{background:#f6f7f8;border:1px solid #e3e6e8;border-radius:10px;padding:12px 14px}
#admin-root .admin-booking-modal .booking-sheet-summary>div+div{border-color:#e0e4e6}
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:11px;color:#74818a;margin-bottom:6px}
#admin-root .admin-booking-modal .booking-sheet-summary strong{font-size:14px;font-weight:600;color:#263640;text-transform:capitalize}
#admin-root .admin-booking-modal .booking-sheet-summary>div:last-child strong{font-size:21px;color:#263640;font-variant-numeric:tabular-nums}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section{border-color:#e5e8ea;padding-left:16px!important}
#admin-root .admin-booking-modal .booking-route-timeline{margin-top:8px}
#admin-root .admin-booking-modal .booking-route-timeline li{grid-template-columns:78px minmax(0,1fr);gap:10px;padding:8px 0 8px 16px;border-bottom:1px solid #eef0f1}
#admin-root .admin-booking-modal .booking-route-timeline li:last-child{border-bottom:0}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:11px;font-weight:600;color:#77838a}
#admin-root .admin-booking-modal .booking-route-timeline li p{font-size:13px;line-height:1.45;color:#34424b;margin:0}
#admin-root .admin-booking-modal .booking-stop-flight{background:#f4f6f7;border-radius:5px;margin-top:6px;padding:5px 7px}
#admin-root .admin-booking-modal .booking-stop-flight dt{font-size:10px!important;color:#75828a;font-weight:400}
#admin-root .admin-booking-modal .booking-stop-flight dd{font-size:11px!important;color:#2e414c}
#admin-root .admin-booking-modal .booking-special-instructions{background:#fff8e9;border:1px solid #efdfb7;border-left:3px solid #c9a348;border-radius:7px;padding:10px 12px!important}
#admin-root .admin-booking-modal .booking-special-instructions h3{font-size:12px!important;color:#846426!important;margin:0 0 5px!important}
#admin-root .admin-booking-modal .booking-special-instructions p{font-size:13px;line-height:1.4;color:#4b463a;margin:0}
#admin-root .admin-booking-modal .booking-passenger-facts{gap:5px 10px;margin-top:9px}
#admin-root .admin-booking-modal .booking-passenger-facts>div{background:#f7f8f9;border:0;border-radius:5px;padding:5px 7px;gap:8px;align-items:center}
#admin-root .admin-booking-modal .booking-passenger-facts dt{font-size:11px!important;color:#697780;font-weight:400!important;line-height:1.3!important}
#admin-root .admin-booking-modal .booking-passenger-facts dd{font-size:12px!important;font-weight:600;color:#2a3b45;line-height:1.3!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.route-summary{display:block!important;margin-top:12px!important;padding-top:10px!important;border-color:#e4e8ea}
#admin-root .admin-booking-modal .route-summary h2{font-size:14px!important;font-weight:600;color:#263640;margin-bottom:8px!important;text-transform:capitalize}
#admin-root .admin-booking-modal .route-summary dl.review-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
#admin-root .admin-booking-modal .route-summary dl>div{padding:7px 9px;border:1px solid #e7eaec;border-radius:6px;background:#fff}
#admin-root .admin-booking-modal .route-summary dt{font-size:11px;font-weight:400;color:#78858d}
#admin-root .admin-booking-modal .route-summary dd{font-size:14px;font-weight:600;color:#2b3c47;line-height:1.3}
#admin-root .admin-booking-modal .route-summary dd span{display:block;font-size:11px;font-weight:400;color:#78858d;margin-top:3px}
#admin-root .admin-booking-modal .booking-saved-calculation{padding-top:10px!important;margin-top:10px!important;border-color:#e5e8ea}
#admin-root .admin-booking-modal .booking-saved-calculation header>span{font-size:11px;color:#75828b;line-height:1.4;margin-top:5px}
#admin-root .admin-booking-modal .booking-saved-calculation dl{gap:0 14px;margin-top:6px}
#admin-root .admin-booking-modal .booking-saved-calculation dl>div{padding:5px 0;border-bottom:1px solid #eff1f2}
#admin-root .admin-booking-modal .booking-saved-calculation dt{font-size:11px;font-weight:400!important;color:#6d7a83}
#admin-root .admin-booking-modal .booking-saved-calculation dd{font-size:12px;font-weight:600;color:#30434e;font-variant-numeric:tabular-nums}
#admin-root .admin-booking-modal .booking-finance-unified{background:#f7f8f9;border:1px solid #e1e6e9;border-radius:10px;padding:12px}
#admin-root .admin-booking-modal .finance-overview{display:block}
#admin-root .admin-booking-modal .finance-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 0;margin:0}
#admin-root .admin-booking-modal .finance-totals>div{display:block;padding:7px 9px;background:#fff;border:1px solid #e4e8ea;border-radius:6px}
#admin-root .admin-booking-modal .finance-totals dt{font-size:10px;font-weight:400;color:#7b878e;margin-bottom:4px}
#admin-root .admin-booking-modal .finance-totals dd{font-size:14px;font-weight:600;color:#2b404c;margin:0}
#admin-root .admin-booking-modal .finance-create{gap:6px 8px}
#admin-root .admin-booking-modal .finance-create label{font-size:11px;color:#64747e}
#admin-root .admin-booking-modal .finance-create select{font-size:12px;min-height:31px;border-color:#d7dfe3}
#admin-root .admin-booking-modal .booking-activity-panel{background:#fff;border:1px solid #e1e6e9;border-radius:10px;padding:10px 12px}
#admin-root .admin-booking-modal .booking-activity-panel>header{padding-bottom:7px;border-bottom:1px solid #e9ecee;margin-bottom:3px}
#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:112px minmax(0,1fr) 78px;border-color:#edf0f2;gap:8px;padding:5px 0}
#admin-root .admin-booking-modal .booking-activity-list time{font-size:10px;color:#889299;line-height:1.4}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:11px;font-weight:500;color:#35454f;line-height:1.3}
#admin-root .admin-booking-modal .booking-activity-list div>span{font-size:10px;color:#839098;line-height:1.3;margin-top:3px}
#admin-root .admin-booking-modal .activity-actor{background:#f1f4f5;color:#647580;font-size:10px;font-weight:500;padding:3px 5px}
#admin-root .admin-booking-modal .activity-notes{border-color:#e4e8eb;padding-top:9px}
#admin-root .admin-booking-modal .activity-notes h3{font-size:11px!important;color:#697984!important}
#admin-root .admin-booking-modal .activity-controls button{background:#f7f8f9;border-color:#e1e6e9;color:#667781;font-size:10px}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:100px minmax(0,1fr)}#admin-root .admin-booking-modal .booking-header-people h2{font-size:20px!important}#admin-root .admin-booking-modal .booking-sheet-summary{padding:10px}#admin-root .admin-booking-modal .finance-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Compact row geometry prevents inherited definition-list padding shrinking the sheet. */
#admin-root .admin-booking-modal .booking-sheet-summary{padding:9px 12px}
#admin-root .admin-booking-modal .booking-sheet-summary span{margin-bottom:4px}
#admin-root .admin-booking-modal .booking-passenger-facts>div{display:flex!important;justify-content:space-between;padding:4px 7px!important;line-height:1.25}
#admin-root .admin-booking-modal .booking-passenger-facts>.passenger-fact-wide{display:grid!important}
#admin-root .admin-booking-modal .route-summary dl>div{display:block!important;padding:5px 8px!important;border-top:1px solid #e7eaec;line-height:1.25}
#admin-root .admin-booking-modal .route-summary dt{line-height:1.25!important;margin:0 0 3px}
#admin-root .admin-booking-modal .route-summary dd{font-size:13px!important;line-height:1.25!important;margin:0!important}
#admin-root .admin-booking-modal .route-summary dd span{display:inline;font-size:11px!important;margin-left:4px}
#admin-root .admin-booking-modal .booking-saved-calculation dl>div{display:flex!important;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 0!important;line-height:1.25}
#admin-root .admin-booking-modal .booking-saved-calculation dt{line-height:1.25!important;max-width:none;margin:0}
#admin-root .admin-booking-modal .booking-saved-calculation dd{line-height:1.25!important;margin:0}
#admin-root .admin-booking-modal .finance-totals>div{display:block!important;padding:6px 8px!important;line-height:1.25}
#admin-root .admin-booking-modal .finance-totals dt{line-height:1.25;margin-bottom:3px}
#admin-root .admin-booking-modal .finance-totals dd{line-height:1.25}
#admin-root .admin-booking-modal .booking-finance-unified{padding:10px}
#admin-root .admin-booking-modal .finance-detail-footer:empty{display:none}
#admin-root .admin-booking-modal .finance-create{margin:3px 0 6px}
#admin-root .admin-booking-modal .admin-invoices>p{font-size:11px;margin:7px 0;color:#7b878e}
/* Readable operational details with grouped per-vehicle crew controls. */
#admin-root .admin-booking-modal .tracking-vehicle-arrivals:empty{display:none}
#admin-root .admin-booking-modal .allocation-plan form{display:flex!important;flex-direction:column;gap:8px!important;margin-top:10px}
#admin-root .admin-booking-modal .allocation-vehicle-group{display:grid;gap:7px;min-width:0;margin:0;padding:8px 10px 10px;border:1px solid #dce2e6;border-radius:8px;background:#fff}
#admin-root .admin-booking-modal .allocation-vehicle-group legend{font-size:12px;font-weight:600;color:#536673;padding:0 5px}
#admin-root .admin-booking-modal .allocation-vehicle-group label{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:6px;font-size:12px;font-weight:500;color:#647580;text-transform:none}
#admin-root .admin-booking-modal .allocation-vehicle-group select{grid-column:auto!important;font-size:13px;min-height:34px;padding:6px!important;margin:0}
#admin-root .admin-booking-modal .allocation-vehicle-selected{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding-bottom:5px;border-bottom:1px solid #eef1f3}
#admin-root .admin-booking-modal .allocation-vehicle-selected strong{font-size:14px;font-weight:600}
#admin-root .admin-booking-modal .allocation-assigned-driver{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{display:grid;gap:3px}
#admin-root .admin-booking-modal .allocation-assigned-driver small{font-size:10px;color:#7b8a93}
#admin-root .admin-booking-modal .allocation-assigned-driver strong{font-size:13px;font-weight:500}
#admin-root .admin-booking-modal .allocation-assigned-driver a{font-size:12px;color:#597184;text-decoration:none}
#admin-root .admin-booking-modal .allocation-save{width:100%;min-height:34px;font-size:13px;border-radius:7px}
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:12px}
#admin-root .admin-booking-modal .booking-sheet-summary strong{font-size:15px}
#admin-root .admin-booking-modal .booking-route-timeline li p{font-size:15px;line-height:1.4}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:12px}
#admin-root .admin-booking-modal .booking-special-instructions p{font-size:14px}
#admin-root .admin-booking-modal .booking-passenger-facts dt{font-size:13px!important}
#admin-root .admin-booking-modal .booking-passenger-facts dd{font-size:14px!important}
#admin-root .admin-booking-modal .route-summary dt{font-size:12px}
#admin-root .admin-booking-modal .route-summary dd{font-size:15px!important}
#admin-root .admin-booking-modal .route-summary dd span{font-size:12px!important}
#admin-root .admin-booking-modal .booking-saved-calculation dt{font-size:13px}
#admin-root .admin-booking-modal .booking-saved-calculation dd{font-size:14px}
#admin-root .admin-booking-modal .booking-saved-calculation header>span{font-size:12px}
#admin-root .admin-booking-modal .finance-totals dt{font-size:12px}
#admin-root .admin-booking-modal .finance-totals dd{font-size:16px}
#admin-root .admin-booking-modal .finance-create label{font-size:12px}
#admin-root .admin-booking-modal .finance-create select,#admin-root .admin-booking-modal .finance-create button{font-size:13px}
#admin-root .admin-booking-modal .finance-create{display:grid;grid-template-columns:1fr 1fr;align-items:end}
#admin-root .admin-booking-modal .finance-create label{display:grid;gap:4px}
#admin-root .admin-booking-modal .finance-create label select{width:100%}
#admin-root .admin-booking-modal .finance-create>button{min-height:31px}
#admin-root .admin-booking-modal .finance-overview h3{margin-bottom:2px!important}
#admin-root .admin-booking-modal .invoice-list :is(strong,span,a),#admin-root .admin-booking-modal .finance-receipt{font-size:12px}

/* The booking summary uses one value size, including price and payment status. */
#admin-root .admin-booking-modal .booking-sheet-summary{grid-template-columns:1.25fr .95fr 1fr .45fr .6fr .85fr}
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:12px;line-height:1.3;font-weight:400;color:#73818b}
#admin-root .admin-booking-modal .booking-sheet-summary strong,#admin-root .admin-booking-modal .booking-sheet-summary>div:last-child strong{font-size:14px!important;line-height:1.35;font-weight:600;color:#263640}
#admin-root .admin-booking-modal .booking-summary-payment strong{color:#536c56}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-sheet-summary{grid-template-columns:1fr 1fr}}
/* Passenger and travel facts are plain rows, not separate cards. */
#admin-root .admin-booking-modal .booking-passenger-facts>div{background:transparent!important;border:0!important;border-bottom:1px solid #edf0f2!important;border-radius:0!important;padding:5px 0!important}
#admin-root .admin-booking-modal .route-summary dl.review-list{gap:0 16px!important}
#admin-root .admin-booking-modal .route-summary dl>div{display:flex!important;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 10px;background:transparent!important;border:0!important;border-bottom:1px solid #edf0f2!important;border-radius:0!important;padding:6px 0!important}
#admin-root .admin-booking-modal .route-summary dt{font-size:13px!important;color:#697780;margin:0;font-weight:400}
#admin-root .admin-booking-modal .route-summary dd{font-size:14px!important;color:#2a3b45;font-weight:600;margin:0!important}
#admin-root .admin-booking-modal .route-summary dd span{font-size:12px!important;color:#78858d;font-weight:400}
/* Calculation facts follow the same label/value rows as passenger details. */
#admin-root .admin-booking-modal .booking-saved-calculation dl>div{background:transparent;border:0;border-bottom:1px solid #edf0f2;border-radius:0;padding:5px 0!important;gap:8px}
#admin-root .admin-booking-modal .booking-saved-calculation dt{font-size:13px!important;font-weight:400!important;color:#697780;line-height:1.3!important}
#admin-root .admin-booking-modal .booking-saved-calculation dd{font-size:14px!important;font-weight:600;color:#2a3b45;line-height:1.3!important}
#admin-root .admin-booking-modal .booking-saved-calculation .calculation-duty-facts{margin-top:8px;margin-bottom:7px}
#admin-root .admin-booking-modal .route-summary dl.review-list{grid-template-columns:1fr!important}
#admin-root .admin-booking-modal .route-summary dl>div{flex-wrap:nowrap!important}

/* Compact one-line allocation controls with Save beside the heading. */
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading h3{font-size:13px!important;margin:0!important}
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading span{font-size:11px;margin-top:3px}
#admin-root .admin-booking-modal .allocation-plan .allocation-save-icon{display:grid;place-items:center;width:29px;height:29px;min-height:29px;flex:none;padding:5px;background:#263f32;border:1px solid #263f32;border-radius:6px;color:#fff}
#admin-root .admin-booking-modal .allocation-save-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
#admin-root .admin-booking-modal .allocation-plan form{gap:7px!important;margin-top:6px}
#admin-root .admin-booking-modal .allocation-vehicle-group{background:transparent;border:0;border-radius:0;padding:0;gap:5px}
#admin-root .admin-booking-modal .allocation-vehicle-group+.allocation-vehicle-group{padding-top:5px;border-top:1px solid #e1e6e9}
#admin-root .admin-booking-modal .allocation-vehicle-group legend{font-size:11px;color:#788892;padding:0;margin:0 0 5px;font-weight:500}
#admin-root .admin-booking-modal .allocation-vehicle-group label{grid-template-columns:55px minmax(0,1fr);font-size:12px;white-space:nowrap}
#admin-root .admin-booking-modal .allocation-vehicle-group select{min-height:28px!important;height:28px;font-size:12px;padding:3px 6px!important}
#admin-root .admin-booking-modal .allocation-vehicle-selected{padding:3px 0;font-size:11px}
#admin-root .admin-booking-modal .allocation-vehicle-selected strong{font-size:12px}
#admin-root .admin-booking-modal .allocation-assigned-driver{font-size:12px;border-bottom:1px solid #e9edef;padding:4px 0}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px}
#admin-root .admin-booking-modal .allocation-assigned-driver strong,#admin-root .admin-booking-modal .allocation-assigned-driver a{font-size:12px}
/* Activity history remains scrollable with comfortably readable text. */
#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:132px minmax(0,1fr) 96px;gap:10px;padding:7px 0;font-size:13px;line-height:1.4;min-height:40px}
#admin-root .admin-booking-modal .booking-activity-list time{font-size:12px!important;line-height:1.45;color:#697984;font-variant-numeric:tabular-nums}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:14px!important;line-height:1.4;font-weight:500;color:#344550}
#admin-root .admin-booking-modal .booking-activity-list div>span{font-size:13px!important;line-height:1.4;color:#71818b;margin-top:3px}
#admin-root .admin-booking-modal .booking-activity-list .activity-actor{font-size:12px!important;line-height:1.35;color:#5d717e;padding:4px 6px}
#admin-root .admin-booking-modal .activity-controls button{font-size:12px!important;min-height:27px;padding:4px 7px}
#admin-root .admin-booking-modal .activity-notes h3{font-size:12px!important}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:112px minmax(0,1fr);gap:8px}}
/* Code-style activity text, without changing the surrounding booking typography. */
#admin-root .admin-booking-modal .booking-activity-list,#admin-root .admin-booking-modal .booking-activity-list :is(time,strong,span){font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace!important;letter-spacing:normal!important}
#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:146px minmax(0,1fr) 108px}
#admin-root .admin-booking-modal .booking-activity-list strong{font-weight:600}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:1fr}#admin-root .admin-booking-modal .booking-activity-list .activity-actor{grid-column:1;justify-self:start}}
/* Dense allocation rows leave room for additional vehicle crews. */
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading h3{font-size:12px!important;line-height:1.25}
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading span{font-size:10px;margin-top:2px}
#admin-root .admin-booking-modal .allocation-plan .allocation-save-icon{box-sizing:border-box;width:25px;height:25px;min-height:25px;padding:4px}
#admin-root .admin-booking-modal .allocation-save-icon svg{width:15px;height:15px}
#admin-root .admin-booking-modal .allocation-plan form{gap:5px!important;margin-top:5px!important}
#admin-root .admin-booking-modal .allocation-vehicle-group{gap:3px}
#admin-root .admin-booking-modal .allocation-vehicle-group:only-of-type legend{display:none}
#admin-root .admin-booking-modal .allocation-vehicle-group legend{font-size:10px;margin-bottom:3px}
#admin-root .admin-booking-modal .allocation-vehicle-group label{grid-template-columns:47px minmax(0,1fr);gap:5px;font-size:11px}
#admin-root .admin-booking-modal .allocation-vehicle-group select{box-sizing:border-box;height:25px!important;min-height:25px!important;font-size:11px;line-height:1.2;padding:2px 6px!important;border-radius:5px}
#admin-root .admin-booking-modal .allocation-assigned-driver{padding:3px 0;gap:5px}
#admin-root .admin-booking-modal .allocation-assigned-driver :is(strong,a){font-size:11px}
#admin-root .admin-booking-modal .allocation-assigned-driver button{box-sizing:border-box;min-height:24px;font-size:10px;padding:3px 5px}
/* Consistent normal fonts; save room through row spacing, not miniature text. */
#admin-root .admin-booking-modal .booking-activity-list,#admin-root .admin-booking-modal .booking-activity-list :is(time,strong,span){font-family:Arial,Helvetica,sans-serif!important}
#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:146px minmax(0,1fr) 100px}
#admin-root .admin-booking-modal .booking-activity-list time,#admin-root .admin-booking-modal .booking-activity-list .activity-actor{font-size:13px!important}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:14px!important;font-weight:500}
#admin-root .admin-booking-modal .booking-activity-list div>span{font-size:13px!important}
#admin-root .admin-booking-modal .booking-sheet-content :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{font-size:15px!important}
#admin-root .admin-booking-modal .booking-passenger-facts dt,#admin-root .admin-booking-modal .route-summary dt,#admin-root .admin-booking-modal .booking-saved-calculation dt{font-size:14px!important;line-height:1.25!important}
#admin-root .admin-booking-modal .booking-passenger-facts dd,#admin-root .admin-booking-modal .route-summary dd,#admin-root .admin-booking-modal .booking-saved-calculation dd{font-size:14px!important;line-height:1.25!important}
#admin-root .admin-booking-modal .booking-passenger-facts>div{padding:3px 0!important;line-height:1.25}
#admin-root .admin-booking-modal .booking-passenger-facts{gap:0 12px;margin-top:5px}
#admin-root .admin-booking-modal .route-summary dl>div{padding:3px 0!important;gap:3px 8px}
#admin-root .admin-booking-modal .route-summary h2{margin-bottom:5px!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.route-summary{padding-top:7px!important;margin-top:7px!important}
#admin-root .admin-booking-modal .booking-saved-calculation{padding-top:7px!important;margin-top:7px!important}
#admin-root .admin-booking-modal .booking-saved-calculation dl>div{padding:3px 0!important}
#admin-root .admin-booking-modal .booking-saved-calculation .calculation-duty-facts{margin:5px 0}
#admin-root .admin-booking-modal .booking-finance-unified{padding:8px 10px}
#admin-root .admin-booking-modal .finance-totals{padding:6px 0;gap:6px}
#admin-root .admin-booking-modal .finance-totals>div{padding:5px 7px!important}
#admin-root .admin-booking-modal .finance-totals dd{font-size:14px!important}
#admin-root .admin-booking-modal .finance-create :is(label,select,button){font-size:13px!important}
#admin-root .admin-booking-modal .finance-create>button{min-height:27px;padding:4px 7px}
#admin-root .admin-booking-modal .finance-create select{box-sizing:border-box;min-height:28px;height:28px;padding:3px 6px}
#admin-root .admin-booking-modal .finance-create{gap:5px 8px;margin:2px 0 4px}
#admin-root .admin-booking-modal .allocation-vehicle-group select,#admin-root .admin-booking-modal .allocation-vehicle-group label{font-size:12px!important}
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading h3{font-size:13px!important}
#admin-root .admin-booking-modal .allocation-plan .booking-allocation-heading span{font-size:11px}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:1fr}#admin-root .admin-booking-modal .booking-activity-list .activity-actor{grid-column:1}}

/* One horizontal vehicle/crew row per allocation group. */
#admin-root .admin-booking-modal .allocation-vehicle-group{align-items:end;column-gap:5px}
#admin-root .admin-booking-modal .allocation-vehicle-group label{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;font-size:11px!important}
#admin-root .admin-booking-modal .allocation-vehicle-group select{width:100%;min-width:0;font-size:12px!important}
#admin-root .admin-booking-modal .allocation-vehicle-selected{display:block;min-width:0;padding:0;border:0}
#admin-root .admin-booking-modal .allocation-vehicle-selected span{display:none}
#admin-root .admin-booking-modal .allocation-vehicle-group:not(:has(label)){display:block}
#admin-root .admin-booking-modal .allocation-vehicle-group:not(:has(label))>.allocation-vehicle-selected{display:none}
#admin-root .admin-booking-modal .allocation-assigned-driver{display:flex;align-items:center;gap:5px;min-width:0}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0}
#admin-root .admin-booking-modal .allocation-assigned-driver small{display:none}
#admin-root .admin-booking-modal .allocation-assigned-driver strong,#admin-root .admin-booking-modal .allocation-assigned-driver a{font-size:12px;white-space:nowrap}
#admin-root .admin-booking-modal .allocation-vehicle-group:has(label) .allocation-assigned-registration{display:none}
#admin-root .admin-booking-modal .allocation-vehicle-group:has(label) .allocation-assigned-driver>span{display:grid;gap:3px}
#admin-root .admin-booking-modal .allocation-assigned-driver button{margin-left:auto;flex:none}
@media(max-width:700px){#admin-root .admin-booking-modal .allocation-assigned-driver>span{flex-wrap:wrap}}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{flex:1;min-width:0}
#admin-root .admin-booking-modal .allocation-assigned-driver>span>.allocation-assigned-registration,#admin-root .admin-booking-modal .allocation-assigned-driver>span>a{flex:none}
#admin-root .admin-booking-modal .allocation-assigned-driver>span>strong:not(.allocation-assigned-registration){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
/* Remove the allocation section's top and left frame lines. */
#admin-root .admin-booking-modal .booking-map-column .booking-sheet-dispatch{border:0!important}
#admin-root .admin-booking-modal .booking-map-column .booking-sheet-dispatch>.booking-detail-section,#admin-root .admin-booking-modal .booking-map-column .allocation-plan{border:0!important}

/* Readable booking summary and uncluttered allocation placeholders. */
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:13px!important}
#admin-root .admin-booking-modal .booking-sheet-summary strong,#admin-root .admin-booking-modal .booking-sheet-summary>div:last-child strong{font-size:15px!important}
#admin-root .admin-booking-modal .allocation-vehicle-group select{font-size:13px!important;height:29px!important;min-height:29px!important}

/* Payment actions stay inside the booking window. */
#admin-root .admin-payment-overlay{position:absolute;inset:0;background:rgba(12,20,18,.45);z-index:20;display:flex;align-items:center;justify-content:center;padding:20px}
#admin-root .admin-payment-window{box-sizing:border-box;width:min(660px,100%);max-height:100%;overflow:auto;background:#fff;border:1px solid #dce2df;border-radius:14px;padding:20px;box-shadow:0 15px 60px #0003;color:#263640;font:14px/1.4 Arial,Helvetica,sans-serif}
#admin-root .admin-card-window{width:min(800px,100%)}
#admin-root .admin-payment-window>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
#admin-root .admin-payment-window h3{margin:0;font-size:18px!important}
#admin-root .admin-payment-window>header button{padding:4px 10px;font-size:22px;background:#f0f3f1;color:#263640}
#admin-root .admin-payment-window fieldset{border:0;margin:0;padding:0}
#admin-root .admin-invoice-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin-bottom:16px}
#admin-root .admin-invoice-fields label{display:grid;gap:4px;font-size:13px}
#admin-root .admin-invoice-fields input{box-sizing:border-box;width:100%;min-height:34px;border:1px solid #ccd6d0;border-radius:6px;padding:7px;font:14px Arial,Helvetica,sans-serif;background:white;color:#263640}
#admin-root .admin-payment-window .stripe-card-host{min-height:380px;background:white}
@media(max-width:700px){#admin-root .admin-payment-overlay{padding:8px}#admin-root .admin-payment-window{padding:14px}#admin-root .admin-invoice-fields{grid-template-columns:1fr}}

/* Allocated registration plates and per-driver ETA in the same row. */
#admin-root .admin-booking-modal .allocation-assigned-driver .allocation-assigned-registration{display:inline-block;flex:0 0 auto;max-width:none;background:#f5d534;color:#111;border:1px solid #c3a921;border-radius:4px;padding:3px 5px;font:700 13px/1.1 Arial,Helvetica,sans-serif!important;letter-spacing:.6px;white-space:nowrap;text-transform:uppercase}
#admin-root .admin-booking-modal .allocation-driver-eta{flex:0 1 auto;color:#52685b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px!important;line-height:1.25}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{gap:6px}
#admin-root .admin-payment-window button{border:0;border-radius:6px;background:#203e30;color:#fff;padding:8px 12px;font:600 14px/1.3 Arial,Helvetica,sans-serif;cursor:pointer}
#admin-root .admin-payment-window .secure-card-panel{display:block!important;padding:0;border:0}
#admin-root .admin-payment-window .secure-card-panel h2{font:600 18px/1.3 Arial,Helvetica,sans-serif!important;margin:16px 0 6px!important}
#admin-root .admin-payment-window .secure-card-panel .payment-note{font:14px/1.4 Arial,Helvetica,sans-serif;margin:0 0 12px}

#admin-root .admin-booking-modal .allocation-vehicle-marker{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;border:1px solid #0002;font:700 10px/1 Arial,Helvetica,sans-serif!important;white-space:nowrap}

#admin-root .admin-booking-modal .allocation-assigned-driver .allocation-remove-icon{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;min-height:25px;padding:4px;border:1px solid #ead4d0;border-radius:5px;background:#fff4f1;color:#a9483e}
#admin-root .admin-booking-modal .allocation-remove-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* Preserve readable text by removing surplus vertical spacing. */
#admin-root .admin-booking-modal .booking-sheet-journey{grid-template-columns:1fr 1fr!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section{display:block!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{margin:0 0 4px!important;padding:0!important;font-size:16px!important;line-height:1.2!important}
#admin-root .admin-booking-modal .booking-passenger-facts{margin:0!important;gap:0 10px!important}
#admin-root .admin-booking-modal .booking-passenger-facts>div{padding:2px 0!important}
#admin-root .admin-booking-modal .booking-passenger-facts :is(dt,dd),#admin-root .admin-booking-modal .booking-saved-calculation :is(dt,dd),#admin-root .admin-booking-modal .route-summary :is(dt,dd){font-size:14px!important;line-height:1.2!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.route-summary,#admin-root .admin-booking-modal .booking-saved-calculation{margin-top:5px!important;padding-top:5px!important}
#admin-root .admin-booking-modal .route-summary dl{margin:0!important}
#admin-root .admin-booking-modal .route-summary dl>div,#admin-root .admin-booking-modal .booking-saved-calculation dl>div{padding:2px 0!important}
#admin-root .admin-booking-modal .booking-saved-calculation dl{margin:3px 0!important;gap:0 12px!important}
#admin-root .admin-booking-modal .booking-finance-unified{margin-top:5px!important;padding:7px 9px!important}
#admin-root .admin-booking-modal .finance-totals{padding:3px 0!important;gap:5px!important}
#admin-root .admin-booking-modal .finance-totals>div{padding:3px 5px!important}
#admin-root .admin-booking-modal .finance-totals dt{font-size:13px!important;line-height:1.2}
#admin-root .admin-booking-modal .finance-totals dd{font-size:14px!important;line-height:1.2}
#admin-root .admin-booking-modal .finance-create{grid-template-columns:1fr 1fr 1fr!important;gap:4px 8px!important;align-items:end}
#admin-root .admin-booking-modal .finance-create>button{grid-column:auto!important;height:30px;min-height:30px;font-size:13px!important;padding:3px 5px!important}
#admin-root .admin-booking-modal .admin-invoices{gap:3px!important}
#admin-root .admin-booking-modal .admin-invoices .invoice-list:empty{display:none}
#admin-root .admin-booking-modal .booking-route-timeline li p{font-size:15px!important;line-height:1.35!important}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:13px!important}
#admin-root .admin-booking-modal .booking-flight-inline,#admin-root .admin-booking-modal .booking-flight-inline :is(span,small,strong){font-size:13px!important;line-height:1.3!important}
@media(max-width:700px){#admin-root .admin-booking-modal .booking-sheet-journey{grid-template-columns:1fr!important}#admin-root .admin-booking-modal .finance-create{grid-template-columns:1fr 1fr!important}#admin-root .admin-booking-modal .finance-create>button{grid-column:1/-1!important}}

#admin-root .admin-booking-modal,#admin-root .admin-booking-modal :is(h2,h3,h4,p,dt,dd,span,strong,small,label,button,select,input,textarea,time){font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal}
#admin-root .admin-booking-modal .booking-sheet-right{gap:5px!important}
#admin-root .admin-booking-modal .booking-sheet-summary{padding:5px 10px!important}
#admin-root .admin-booking-modal .booking-passenger-facts>div{padding:1px 0!important}
#admin-root .admin-booking-modal .route-summary dl>div,#admin-root .admin-booking-modal .booking-saved-calculation dl>div{padding:1px 0!important}
#admin-root .admin-booking-modal .finance-totals dd{margin:0!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.admin-full-booking{padding:0!important;margin:0!important}
#admin-root .admin-booking-modal .booking-saved-calculation .calculation-duty-facts{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#admin-root .admin-booking-modal .calculation-duty-facts>div{display:block!important}
#admin-root .admin-booking-modal .calculation-duty-facts dt{font-size:13px!important}
#admin-root .admin-booking-modal .booking-activity-list :is(time,.activity-actor){font-size:14px!important;color:#53636b}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:15px!important;color:#24343d}
#admin-root .admin-booking-modal .booking-activity-list div>span{font-size:14px!important;color:#53636b}

#admin-root .admin-booking-modal .booking-passenger-facts :is(dt,dd),#admin-root .admin-booking-modal .booking-saved-calculation :is(dt,dd),#admin-root .admin-booking-modal .route-summary :is(dt,dd){font-size:15px!important;line-height:1.15!important}
#admin-root .admin-booking-modal .booking-sheet-summary strong,#admin-root .admin-booking-modal .booking-sheet-summary>div:last-child strong{font-size:16px!important}
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:14px!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{font-size:17px!important}
#admin-root .admin-booking-modal .route-summary dd span{font-size:14px!important;color:#53636b}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:14px!important;color:#53636b}

#admin-root .admin-booking-modal .booking-route-timeline li{grid-template-columns:94px minmax(0,1fr)!important;gap:12px!important}
#admin-root .admin-booking-modal .booking-stop-flight :is(dt,dd),#admin-root .admin-booking-modal .booking-flight-label{font-size:13px!important;line-height:1.3!important}
#admin-root .admin-booking-modal .booking-stop-flight dl{gap:4px 10px!important}

/* Balanced readable type without oversized detail rows. */
#admin-root .admin-booking-modal .booking-passenger-facts :is(dt,dd),#admin-root .admin-booking-modal .booking-saved-calculation :is(dt,dd),#admin-root .admin-booking-modal .route-summary :is(dt,dd){font-size:14px!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{font-size:15px!important}
#admin-root .admin-booking-modal .booking-sheet-summary strong,#admin-root .admin-booking-modal .booking-sheet-summary>div:last-child strong{font-size:14px!important}
#admin-root .admin-booking-modal .booking-sheet-summary span{font-size:12px!important}
#admin-root .admin-booking-modal .booking-route-timeline li p{font-size:14px!important}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:13px!important}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:14px!important}
#admin-root .admin-booking-modal .booking-activity-list div>span,#admin-root .admin-booking-modal .booking-activity-list :is(time,.activity-actor){font-size:13px!important}
#admin-root .admin-booking-modal .finance-totals dd{font-size:14px!important}

/* Full-width assignment rows reserve the far edge for removal and room for ETA. */
#admin-root .admin-booking-modal .allocation-assigned-driver{box-sizing:border-box;width:100%;grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 25px;column-gap:10px}
#admin-root .admin-booking-modal .allocation-assigned-driver>span{display:flex!important;width:100%;min-width:0;gap:6px}
#admin-root .admin-booking-modal .allocation-assigned-driver .allocation-driver-eta{flex:1 0 70px;text-align:center;overflow:visible}
#admin-root .admin-booking-modal .allocation-assigned-driver .allocation-remove-icon{justify-self:end;margin-left:0}

#admin-root .admin-booking-modal .allocation-assigned-driver>span>.allocation-driver-name{flex:0 0 auto;min-width:max-content;overflow:visible;text-overflow:clip;white-space:nowrap}
#admin-root .admin-booking-modal .allocation-assigned-driver .allocation-driver-eta{flex:1 1 70px;min-width:0}

#admin-root .admin-booking-modal .allocation-plan,#admin-root .admin-booking-modal .allocation-plan form,#admin-root .admin-booking-modal .allocation-vehicle-group{box-sizing:border-box;width:100%;min-width:0}
#admin-root .admin-booking-modal .allocation-plan form{grid-template-columns:minmax(0,1fr)}
#admin-root .admin-booking-modal .allocation-plan .allocation-assigned-driver .allocation-driver-name{display:block!important;visibility:visible!important;opacity:1;color:#26383f}

/* Consistent booking information hierarchy and aligned facts. */
#admin-root .admin-booking-modal .booking-sheet-right{font-family:Arial,Helvetica,sans-serif;color:#253641}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{font-size:15px!important;font-weight:700;letter-spacing:0;line-height:1.3!important;margin-bottom:7px!important}
#admin-root .admin-booking-modal .booking-passenger-facts,#admin-root .admin-booking-modal .booking-saved-calculation dl{column-gap:20px!important}
#admin-root .admin-booking-modal .booking-passenger-facts>div,#admin-root .admin-booking-modal .booking-saved-calculation .calculation-cost-facts>div{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;column-gap:10px;padding:3px 0!important;border-bottom:1px solid #edf0f2}
#admin-root .admin-booking-modal :is(.booking-passenger-facts,.booking-saved-calculation,.route-summary) dt{color:#657580;font-weight:400;letter-spacing:0}
#admin-root .admin-booking-modal :is(.booking-passenger-facts,.booking-saved-calculation,.route-summary) dd{font-weight:600;color:#253641;font-variant-numeric:tabular-nums;text-align:right;margin:0}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.route-summary,#admin-root .admin-booking-modal .booking-saved-calculation{padding-top:9px!important;margin-top:9px!important;border-top:1px solid #e3e9ed}
#admin-root .admin-booking-modal .route-summary dl>div{padding:3px 0!important;border-bottom:0}
#admin-root .admin-booking-modal .route-summary dl>div:last-child{margin-top:3px;padding-top:5px!important;border-top:1px solid #e3e9ed}
#admin-root .admin-booking-modal .booking-saved-calculation .calculation-duty-facts{gap:8px!important;margin:6px 0 9px!important}
#admin-root .admin-booking-modal .booking-saved-calculation .calculation-duty-facts>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:0;padding:0!important}
#admin-root .admin-booking-modal .calculation-duty-facts dt{font-size:12px!important}
#admin-root .admin-booking-modal .calculation-duty-facts dd{font-size:14px!important}
#admin-root .admin-booking-modal .booking-route-timeline li{grid-template-columns:88px minmax(0,1fr)!important;gap:12px!important;padding:8px 0!important}
#admin-root .admin-booking-modal .booking-route-timeline li>span{font-size:13px!important;font-weight:600;color:#596d79}
#admin-root .admin-booking-modal .booking-route-timeline li p{font-size:14px!important;line-height:1.4!important;color:#2d404b}
#admin-root .admin-booking-modal .booking-special-instructions.no-instructions{background:#f6f8fa;border:1px solid #e3e9ed;border-left:3px solid #a7b3bc}
#admin-root .admin-booking-modal .booking-special-instructions.no-instructions h3{color:#4b626f}
#admin-root .admin-booking-modal .booking-special-instructions p{font-size:14px!important;line-height:1.35}
#admin-root .admin-booking-modal .booking-activity-panel{border-color:#e1e7eb;border-radius:10px}
#admin-root .admin-booking-modal .booking-activity-panel>header{padding-bottom:7px;border-bottom:1px solid #e9eef1}
#admin-root .admin-booking-modal .booking-activity-list li{grid-template-columns:110px minmax(0,1fr) max-content!important;column-gap:12px!important;align-items:start;padding:8px 0!important;border-bottom:1px solid #edf1f3}
#admin-root .admin-booking-modal .booking-activity-list time{display:flex;flex-direction:column;gap:3px;font-size:12px!important;line-height:1.3;color:#7b8a94;font-variant-numeric:tabular-nums}
#admin-root .admin-booking-modal .booking-activity-list time span:first-child{color:#586d79}
#admin-root .admin-booking-modal .booking-activity-list strong{font-size:14px!important;line-height:1.35;font-weight:600;color:#2b414e}
#admin-root .admin-booking-modal .booking-activity-list div>span{font-size:13px!important;line-height:1.4!important;margin-top:3px;color:#637581}
#admin-root .admin-booking-modal .booking-activity-list .activity-actor{font-size:12px!important;line-height:1.25;padding:4px 6px;max-width:90px;overflow-wrap:anywhere;background:#f1f5f7;border-radius:5px;color:#587180}
#admin-root .admin-booking-modal .activity-notes{padding-top:9px;border-top:1px solid #e9eef1}
#admin-root .admin-booking-modal .booking-sheet-finance{margin-top:10px!important}
#admin-root .admin-booking-modal .finance-totals{gap:8px}
#admin-root .admin-booking-modal .finance-totals>div{border-color:#e4eaee;border-radius:7px;padding:7px 8px!important;background:#fff}
#admin-root .admin-booking-modal .finance-totals dt{font-size:12px!important;color:#74838e}
#admin-root .admin-booking-modal .finance-totals dd{font-size:14px!important;font-weight:600}

#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section :is(h3,h4),#admin-root .admin-booking-modal .route-summary h2{margin-bottom:5px!important}
#admin-root .admin-booking-modal .booking-passenger-facts>div,#admin-root .admin-booking-modal .booking-saved-calculation .calculation-cost-facts>div{padding:2px 0!important}
#admin-root .admin-booking-modal .booking-sheet-journey>.booking-detail-section>.route-summary,#admin-root .admin-booking-modal .booking-saved-calculation{margin-top:6px!important;padding-top:6px!important}

/* Keep route markers in their own gutter, clear of stop labels. */
#admin-root .admin-booking-modal .booking-route-timeline li{padding:9px 0 9px 20px!important;grid-template-columns:88px minmax(0,1fr)!important;align-items:start}
#admin-root .admin-booking-modal .booking-route-timeline li::before{left:2px;top:14px;width:7px;height:7px}
#admin-root .admin-booking-modal .booking-route-timeline li:not(:last-child)::after{left:5px;top:22px;bottom:-9px}
#admin-root .admin-booking-modal .booking-route-timeline li>span{line-height:1.4!important;padding:0!important}
#admin-root .admin-booking-modal .booking-route-timeline li p{margin:0!important}
#admin-root .admin-booking-modal .booking-special-instructions{align-items:center;column-gap:14px}
#admin-root .admin-booking-modal .booking-activity-list li{column-gap:14px!important}
#admin-root .admin-booking-modal .booking-passenger-facts dd,#admin-root .admin-booking-modal .calculation-cost-facts dd{min-width:38px}

/* Align the note label, entry field and action on one centred row. */
#admin-root .admin-booking-modal .activity-notes>.booking-detail-section{display:grid!important;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center!important;gap:9px!important}
#admin-root .admin-booking-modal .activity-notes>.booking-detail-section h3{margin:0!important;padding:0!important;font-size:13px!important;line-height:1.3!important;white-space:nowrap}
#admin-root .admin-booking-modal .activity-notes .admin-notes{margin:0!important;min-width:0;line-height:0;display:block}
#admin-root .admin-booking-modal .activity-notes .admin-notes textarea{display:block;box-sizing:border-box;width:100%;height:32px!important;min-height:32px!important;max-height:32px!important;margin:0!important;padding:6px 9px!important;font-size:13px!important;line-height:18px!important;border-radius:7px;resize:none}
#admin-root .admin-booking-modal .activity-notes .booking-save-notes{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:32px!important;min-height:32px!important;margin:0!important;padding:0 10px!important;line-height:1!important;font-size:12px!important;border-radius:7px}

/* Document and audited action dialogs */
.booking-document-option{display:flex!important;align-items:center;gap:12px;padding:14px;border:1px solid #dce3dc;border-radius:10px;margin:10px 0;cursor:pointer}.booking-document-option input{width:18px!important;height:18px}.booking-document-option span{display:grid;gap:4px}.booking-document-option small{font-size:13px;color:#5b665e}.admin-payment-window textarea{display:block;width:100%;min-height:90px;padding:10px;border:1px solid #cdd7cd;border-radius:8px;font:inherit;box-sizing:border-box}.completion-driver-list>div{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #e0e6df}.completion-driver-list span{display:grid;gap:4px}.completion-driver-list small{color:#657264}.booking-summary-pickup{display:flex;gap:18px}.booking-summary-pickup>div{display:grid;gap:4px}.admin-payment-window.admin-cancellation{max-width:650px;margin:0;padding:24px}.admin-payment-window p{line-height:1.5}

.booking-amendment-window{width:min(1180px,94vw)!important;max-width:1180px!important}.booking-amendment-window .booking-main{padding:15px 0;width:100%;max-width:100%}.booking-amendment-window .form-panel{padding:20px}.booking-amendment-window .booking-nav{display:none}

#admin-root .stage-completed,.completion-status-completed{background:#ddf3e4!important;color:#166534!important}#admin-root .stage-no-show,.completion-status-no-show{background:#fff1b8!important;color:#795800!important}#admin-root .allocation-driver-eta.status-completed{color:#166534!important;font-weight:650}#admin-root .allocation-driver-eta.status-no-show{background:#fff1b8;color:#795800!important;border-radius:5px;padding:3px 6px;font-weight:650}
#admin-root .stage-upcoming{background:#e0edff!important;color:#1e4f9a!important}

.admin-payment-window.admin-cancellation dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.admin-payment-window.admin-cancellation dl>div{padding:12px;background:#f2f6f1;border-radius:8px}.admin-payment-window.admin-cancellation dt{font-size:12px;line-height:1.4;color:#526455}.admin-payment-window.admin-cancellation dd{margin:7px 0 0;font-size:19px;font-weight:700;color:#203d2c}.completion-status-completed,.completion-status-no-show{padding:5px 8px;border-radius:6px;font-size:13px}@media(max-width:600px){.admin-payment-window.admin-cancellation dl{grid-template-columns:1fr}.completion-driver-list>div{align-items:start;flex-wrap:wrap}}

.driver-email-editor{display:flex;gap:8px;margin-top:8px}.driver-email-editor input{min-width:0;flex:1;border:1px solid #ccd8cc;border-radius:7px;padding:8px}.driver-email-editor button{white-space:nowrap}
/* Shared booking-list controls: readable, compact and touch-friendly. */
.booking-list-toolbar{background:#fff;border:1px solid #dce2e0;border-radius:14px;padding:16px;margin-bottom:14px;position:relative;z-index:2}.booking-list-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.booking-list-toolbar svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.booking-list-search{display:flex;align-items:center;gap:9px;background:#f5f7f6;border:1px solid #dce2e0;border-radius:8px;padding:0 12px;flex:1 1 230px;min-width:190px;color:#64736b}.booking-list-search input{width:100%;min-width:0;border:0!important;background:transparent!important;padding:11px 0!important;font:inherit;font-size:14px!important;color:#24382d;outline-offset:3px}.booking-list-controls select{background:#fff;color:#283c31;border:1px solid #dce2e0;border-radius:8px;min-height:43px;padding:8px 10px;font:inherit;font-size:14px}.booking-calendar-control{position:relative}.booking-calendar-button{display:flex;gap:8px;align-items:center;min-height:43px;background:#fff;border:1px solid #dce2e0;border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;color:#34463b;white-space:nowrap}.booking-calendar-button.has-range{background:#faf5e7;border-color:#ceb66c}.booking-list-actions{display:flex;gap:5px;margin-left:auto}.booking-list-actions button{display:grid;place-items:center;width:40px;height:43px;border:1px solid #dce2e0;border-radius:8px;background:#fff;color:#304c3a}.booking-list-actions button:hover,.booking-calendar-button:hover{background:#f1f5f2;border-color:#9fb2a4}.booking-list-toolbar button:disabled{opacity:.4;cursor:not-allowed}.booking-list-toolbar button:focus-visible,.booking-list-controls select:focus-visible{outline:2px solid #97771e;outline-offset:3px}.booking-list-filter-summary{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:12px;color:#627269;font-size:13px}.booking-list-filter-summary strong{color:#233b2c}.booking-list-filter-summary button{padding:0;border:0;background:none;color:#7a611e;font:inherit}.booking-list-filter-summary small{margin-left:auto;font-size:13px}.booking-calendar-popover{position:absolute;top:calc(100% + 8px);right:0;width:350px;max-width:calc(100vw - 50px);background:#fff;border:1px solid #dce2e0;box-shadow:0 12px 35px #10251924;border-radius:12px;padding:18px;z-index:30}.booking-calendar-popover>strong{display:block;color:#263c2f;font-size:15px;margin-bottom:14px}.booking-calendar-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-filter-date>span{display:block;font-size:13px;font-weight:600;color:#57685d;margin-bottom:6px}.booking-filter-date>div{display:flex;border:1px solid #d1dbd4;border-radius:7px;align-items:center;overflow:hidden}.booking-filter-date input[type=text]{width:100%;min-width:0;border:0!important;padding:10px 7px!important;font-size:13px!important;background:#fff!important}.booking-native-calendar{position:relative;display:grid;place-items:center;width:32px;height:38px;flex-shrink:0;color:#435d4b}.booking-native-calendar input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.booking-native-calendar input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}.booking-filter-date small,.booking-calendar-popover p{font-size:12px;color:#ad3434}.booking-calendar-footer{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.booking-calendar-footer button{border:0;background:#eef2ee;padding:9px 12px;border-radius:7px;font:inherit;font-size:13px}.booking-calendar-footer button:last-child{background:#263e30;color:#fff}.booking-list-action-dialog{border:1px solid #d6dfd7;border-radius:16px;padding:24px;width:430px;max-width:calc(100vw - 32px);color:#293e31;box-sizing:border-box}.booking-list-action-dialog::backdrop{background:#10201899}.booking-list-action-dialog header{display:flex;align-items:center;justify-content:space-between;gap:15px}.booking-list-action-dialog h2{font-size:20px;margin:0}.booking-list-action-dialog header button{border:0;background:#eef2ee;border-radius:7px;width:34px;height:34px;font-size:24px}.booking-list-action-dialog p{font-size:15px;line-height:1.5}.booking-list-recipient{padding:14px;background:#f4f6f3;border-radius:8px;overflow-wrap:anywhere}.booking-list-recipient span{display:block;font-size:12px;color:#647468;margin-bottom:3px}.booking-list-action-dialog>input{box-sizing:border-box;width:100%;padding:12px;margin-bottom:12px;border:1px solid #ced8cf;border-radius:7px}.booking-list-action-dialog>.admin-dark{width:100%;padding:12px}.booking-list-action-dialog button:disabled{opacity:.5}.booking-list-toolbar .admin-error{margin-bottom:0}
@media(max-width:700px){.booking-list-toolbar{padding:12px}.booking-list-search{flex-basis:100%}.booking-list-controls select{flex:1;min-width:125px}.booking-calendar-button{font-size:12px}.booking-list-actions{width:100%;justify-content:flex-end}.booking-list-actions button{width:43px}.booking-calendar-popover{right:0;width:315px}.booking-list-filter-summary small{margin-left:0;width:100%}}
/* Booking list: journey first, dispatch assignments together beneath it. */
.admin-list .booking-row-full{display:grid;grid-template-columns:105px minmax(150px,.9fr) minmax(220px,1.8fr) minmax(125px,.65fr) 88px;gap:16px;padding:19px 20px;align-items:start;text-align:left}.booking-row-full .booking-row-date,.booking-row-full .booking-row-customer,.booking-row-full .booking-row-fleet{display:flex;flex-direction:column;gap:4px;grid-column:auto;grid-row:auto;min-width:0}.booking-row-full small{font-size:11px!important;line-height:1.3;letter-spacing:.02em;color:#69766c;font-weight:500}.booking-row-full strong{font-size:14px!important;line-height:1.4}.booking-row-full .booking-row-date>span{font-size:16px;font-weight:650;color:#66521a}.booking-row-full .booking-row-customer>small:nth-of-type(2),.booking-row-full .booking-row-date>small:nth-of-type(2),.booking-row-full .booking-row-fleet>small:nth-of-type(2){margin-top:6px}.booking-row-full .booking-row-reference{font-size:12px;line-height:1.4;overflow-wrap:anywhere;color:#5d695f}.booking-row-full .booking-row-route{grid-column:auto;grid-row:auto;gap:10px;display:flex;flex-direction:column;min-width:0}.booking-row-full .booking-row-route>span{display:flex;flex-direction:column;gap:4px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;font-size:14px;color:#34483b}.booking-row-full .booking-row-fleet>span{font-size:14px;line-height:1.4;color:#34483b;overflow-wrap:anywhere}.booking-row-full .booking-row-meta{grid-column:auto;grid-row:auto;display:flex;align-items:flex-end;flex-direction:column;gap:9px;min-width:0}.booking-row-full .booking-row-chevron{grid-column:auto;grid-row:auto;color:#7e8c80;font-size:20px}.booking-row-full .booking-row-assigned{grid-column:2/6;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;border-top:1px solid #e3e7df;padding-top:12px;margin-top:1px;min-width:0}.booking-row-assigned-label{font-size:12px;color:#66746a;font-weight:550}.booking-row-assignment{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;line-height:1.5;min-width:0}.booking-row-vehicle-index{font-size:11px;font-weight:700;color:#56675a}.booking-row-full .booking-row-numberplate{display:inline-block;background:#f4d54d;color:#161a17;padding:3px 8px;border:1px solid #d8b943;border-radius:4px;font-family:Arial,sans-serif;font-size:13px!important;letter-spacing:.06em;white-space:nowrap;line-height:1.3}.booking-row-assigned-vehicle{color:#6b786e;font-size:12px}.booking-row-driver-names{color:#293f30;font-weight:600;overflow-wrap:anywhere}.booking-row-unassigned{font-size:13px;color:#977333}.booking-row-assignment+.booking-row-assignment{border-left:1px solid #d6ddd4;padding-left:16px}
@media(max-width:1250px){.admin-list .booking-row-full{grid-template-columns:95px minmax(150px,1fr) minmax(150px,.8fr) 88px;gap:14px}.booking-row-full .booking-row-date{grid-column:1;grid-row:1}.booking-row-full .booking-row-customer{grid-column:2;grid-row:1}.booking-row-full .booking-row-fleet{grid-column:3;grid-row:1}.booking-row-full .booking-row-meta{grid-column:4;grid-row:1}.booking-row-full .booking-row-route{grid-column:2/5;grid-row:2;display:grid;grid-template-columns:1fr 1fr}.booking-row-full .booking-row-assigned{grid-column:2/5;grid-row:3}}
@media(max-width:600px){.admin-list .booking-row-full{padding:16px;grid-template-columns:95px minmax(0,1fr);gap:16px}.booking-row-full .booking-row-date{grid-column:1;grid-row:1}.booking-row-full .booking-row-customer{grid-column:2;grid-row:1}.booking-row-full .booking-row-route{grid-column:1/3;grid-row:2;display:flex}.booking-row-full .booking-row-fleet{grid-column:1/3;grid-row:3;display:grid;grid-template-columns:85px minmax(0,1fr);gap:6px 12px;align-items:baseline}.booking-row-full .booking-row-fleet>small:nth-of-type(2){margin-top:0}.booking-row-full .booking-row-meta{grid-column:1/3;grid-row:5;flex-direction:row;align-items:center;justify-content:flex-start}.booking-row-full .booking-row-chevron{margin-left:auto}.booking-row-full .booking-row-assigned{grid-column:1/3;grid-row:4;align-items:flex-start;flex-direction:column;gap:10px}.booking-row-assignment+.booking-row-assignment{border-left:0;padding-left:0}.booking-row-assigned-vehicle{flex-basis:calc(100% - 120px)}.booking-row-driver-names{flex-basis:100%}.booking-row-full .booking-row-route>span{font-size:14px}.booking-row-full strong{font-size:14px!important}}
.booking-row-full .booking-row-route>span{padding-left:0}.booking-row-full .booking-stage{font-size:11px}

/* Compact list rows: full detail, approximately half the previous desktop height. */
.admin-list .booking-row-full{padding:6px 18px;gap:4px 16px;grid-template-columns:105px minmax(150px,.9fr) minmax(240px,2fr) minmax(125px,.65fr) 88px}.booking-row-full .booking-row-date,.booking-row-full .booking-row-customer{gap:3px}.booking-row-full .booking-row-date>small:nth-of-type(2),.booking-row-full .booking-row-customer>small:nth-of-type(2){display:none}.booking-row-full .booking-row-date>span{margin-top:1px;font-size:15px}.booking-row-full .booking-row-route{gap:4px}.booking-row-full .booking-row-route>span{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px;align-items:baseline;line-height:1.3}.booking-row-full .booking-row-route>span>small{line-height:1.3}.booking-row-full .booking-row-fleet{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:baseline}.booking-row-full .booking-row-fleet>small:nth-of-type(2){grid-column:1/3;margin-top:2px}.booking-row-full .booking-row-fleet>span{grid-column:1/3;line-height:1.3}.booking-row-full .booking-row-meta{gap:5px}.booking-row-full .booking-row-assigned{padding-top:4px;margin-top:0;gap:5px 12px}.booking-row-assignment{gap:6px;line-height:1.3}.booking-row-assignment+.booking-row-assignment{padding-left:12px}.booking-row-assigned-label,.booking-row-unassigned{line-height:1.3}.booking-row-full .booking-row-numberplate{padding:2px 7px}
@media(max-width:1250px){.admin-list .booking-row-full{grid-template-columns:95px minmax(150px,1fr) minmax(140px,.8fr) 88px;gap:6px 14px}.booking-row-full .booking-row-route{grid-column:2/5;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-row-full .booking-row-assigned{grid-column:2/5;grid-row:3}}
@media(max-width:600px){.admin-list .booking-row-full{padding:12px 14px;grid-template-columns:95px minmax(0,1fr);gap:9px 12px}.booking-row-full .booking-row-route{grid-column:1/3;grid-row:2;display:flex;gap:6px}.booking-row-full .booking-row-route>span{grid-template-columns:72px minmax(0,1fr)}.booking-row-full .booking-row-fleet{grid-column:1/3;grid-row:3;grid-template-columns:85px minmax(0,1fr);gap:4px 10px}.booking-row-full .booking-row-fleet>small:nth-of-type(2){grid-column:1;margin-top:0}.booking-row-full .booking-row-fleet>span{grid-column:2}.booking-row-full .booking-row-assigned{grid-column:1/3;grid-row:4;gap:6px}.booking-row-full .booking-row-meta{grid-column:1/3;grid-row:5}.booking-row-assignment+.booking-row-assignment{padding-left:0}.booking-row-assigned-vehicle{flex-basis:auto}.booking-row-driver-names{flex-basis:100%}}

.booking-row-full .booking-row-date>strong{white-space:nowrap}.booking-row-full .booking-row-route>span>small{white-space:nowrap}
/* Individual booking cards, separated from the filter toolbar. */
.admin-booking-layout>.admin-list{gap:12px;border:0;border-radius:0;background:transparent;overflow:visible}.admin-booking-layout>.admin-list>.booking-list-toolbar{margin:0 0 2px;box-shadow:0 1px 3px #21352a05}.admin-list .booking-row-full,.admin-list .booking-row-full:last-child{border:1px solid #dce3da;border-radius:12px;background:#fff;box-shadow:0 2px 5px #20312606;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.admin-list .booking-row-full:hover{background:#fffefb;border-color:#c5b37b;box-shadow:0 3px 10px #26372b0c}.admin-list .booking-row-full.selected{background:#fffdf5;border-color:#b59a49;box-shadow:0 2px 7px #26372b0c}.admin-list .booking-row-full:focus-visible{outline:2px solid #ab8830;outline-offset:3px}.booking-row-full .booking-row-assigned{border-top-color:#edf0e9}.booking-row-full .booking-row-customer>strong{color:#243b2c}.booking-row-full .booking-row-reference{color:#728071}.booking-row-full .booking-row-route>span>small{color:#7b867d}.booking-row-full .booking-row-chevron{color:#8b997f}.booking-row-full .booking-row-date>span{color:#7b6120}
@media(max-width:600px){.admin-booking-layout>.admin-list{gap:12px}.admin-list .booking-row-full,.admin-list .booking-row-full:last-child{border-radius:11px}}
@media(prefers-reduced-motion:reduce){.admin-list .booking-row-full{transition:none}}
/* Booking card redesign: identity header, journey and dispatch grouped together. */
.admin-list .booking-row-full.booking-card{display:flex;flex-direction:column;gap:0;padding:12px 18px;border-radius:13px;text-align:left;align-items:stretch}.booking-card svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.booking-card-header{display:flex;align-items:center;gap:18px;width:100%;min-width:0}.booking-card-person{display:flex;align-items:baseline;gap:14px;flex:1;min-width:0;flex-wrap:wrap}.booking-card .booking-card-name{font-size:16px!important;line-height:1.3;color:#21382b;font-weight:650}.booking-card-reference{font:12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:#778273;overflow-wrap:anywhere}.booking-card-schedule{display:flex;gap:18px;color:#536454;flex-shrink:0}.booking-card-schedule>span{display:flex;align-items:center;gap:7px}.booking-card .booking-card-schedule strong{font-size:14px!important;color:#3a493d}.booking-card-status{display:flex;align-items:center;gap:8px;flex-shrink:0}.booking-card-status>svg{margin-left:5px;width:14px;height:14px;color:#899581}.booking-card-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:22px;border-top:1px solid #eef0e9;margin-top:9px;padding-top:9px;align-items:start}.booking-card-journey{display:flex;flex-direction:column;gap:7px;min-width:0}.booking-card-journey>span{display:grid;grid-template-columns:94px minmax(0,1fr);gap:8px;font-size:14px;line-height:1.35;color:#344c3b}.booking-card-stop-label{display:flex;align-items:baseline;gap:8px;font-size:12px;color:#7a8679;white-space:nowrap}.booking-card-stop-label i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#aa923f;align-self:center}.booking-card-journey>span:last-child .booking-card-stop-label i{background:#536b56}.booking-card-dispatch{display:flex;flex-direction:column;gap:5px;min-width:0}.booking-card-fleet{display:flex;flex-wrap:wrap;gap:6px 13px;margin-bottom:1px}.booking-card-fleet>span{display:flex;align-items:center;gap:6px;color:#65725f;font-size:12px;line-height:1.35}.booking-card .booking-card-fleet strong{font-size:13px!important;color:#344935;font-weight:600}.booking-card-assignment-label{font-size:11px;line-height:1.2;color:#8a9384}.booking-card-crew{display:flex;align-items:center;flex-wrap:wrap;gap:5px 7px;font-size:13px;line-height:1.35}.booking-card-vehicle-id{font-size:11px;color:#71806b;font-weight:650}.booking-card .booking-row-numberplate{padding:2px 6px;font-size:12px!important}.booking-card-driver{color:#344935;font-weight:600;overflow-wrap:anywhere}.booking-card-unassigned{color:#927328;font-size:13px;line-height:1.3}.booking-card .booking-stage{font-size:11px;padding:4px 8px}
@media(max-width:1250px){.booking-card-person{align-items:flex-start;flex-direction:column;gap:3px}.booking-card-header{gap:12px}.booking-card-schedule{gap:10px}.booking-card-body{grid-template-columns:minmax(0,1fr) minmax(225px,.8fr);gap:16px}.booking-card-journey>span{grid-template-columns:80px minmax(0,1fr);gap:6px}.booking-card-stop-label{font-size:11px;gap:5px}}
@media(max-width:700px){.admin-list .booking-row-full.booking-card{padding:14px}.booking-card-header{flex-wrap:wrap;gap:9px}.booking-card-person{flex-basis:calc(100% - 110px);order:1}.booking-card-status{order:2;margin-left:auto}.booking-card-schedule{order:3;flex-basis:100%;gap:20px}.booking-card-body{grid-template-columns:1fr;gap:12px;margin-top:10px;padding-top:10px}.booking-card-journey>span{grid-template-columns:82px minmax(0,1fr)}.booking-card-dispatch{border-top:1px solid #eef0e9;padding-top:9px;gap:6px}.booking-card-fleet{gap:8px 12px}.booking-card .booking-card-name{font-size:15px!important}.booking-card-driver{flex-basis:calc(100% - 115px)}.booking-card-reference{font-size:11px}.booking-card-status>svg{display:none}}
.booking-card .booking-card-supplier{font-size:14px!important;color:#3c5874}.booking-supplier-cover{margin-top:9px;color:#344a39}.booking-supplier-cover header{display:flex;align-items:center;justify-content:space-between;gap:10px}.booking-supplier-cover h3{font-size:14px;margin:0 0 7px}.booking-supplier-cover p{font-size:13px;line-height:1.4;margin:6px 0}.booking-supplier-cover small{font-size:12px;color:#7a846f}.booking-supplier-cover button{font:inherit;font-size:12px;padding:7px 10px;border:1px solid #cdd6c9;background:#f7f9f4;border-radius:6px;color:#42563e}.booking-supplier-cover form{display:grid;gap:8px}.booking-supplier-cover label{display:grid;gap:4px;font-size:12px}.booking-supplier-cover select{padding:8px;border:1px solid #cdd6c9;border-radius:6px;width:100%;min-width:0}.booking-supplier-cover button:disabled{opacity:.5}
.booking-card-stop-label{position:relative;display:block;padding-left:12px}.booking-card-stop-label i{position:absolute;left:0;top:5px}

/* Booking total belongs opposite its page title. */
.admin-heading:has(.booking-heading-count) h1,.admin-heading .booking-heading-count{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-.04em;font-weight:700;margin:0;color:#18231d}
.admin-heading .booking-heading-count{font-variant-numeric:tabular-nums;flex-shrink:0}
@media(max-width:700px){.admin-heading:has(.booking-heading-count) h1,.admin-heading .booking-heading-count{font-size:30px}}

/* Clear booking hierarchy: identity, route, then actual allocation. */
.admin-list .booking-row-full.booking-card{padding:15px 20px;box-shadow:0 2px 6px #20312605;border-radius:14px}
.booking-card-person{flex-direction:column;align-items:flex-start;gap:4px}
.booking-card .booking-card-name{font-size:16px!important;font-weight:650;line-height:1.35}
.booking-card-reference{font-size:12px;letter-spacing:.015em;color:#738071}
.booking-card-header{gap:22px}
.booking-card-body{grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px;margin-top:12px;padding-top:12px}
.booking-card-journey{gap:9px}
.booking-card-journey>span{grid-template-columns:88px minmax(0,1fr);font-size:15px;line-height:1.45}
.booking-card-stop-label{font-size:12px;line-height:1.8;color:#75816f}
.booking-card-stop-label i{top:8px}
.booking-card-dispatch{border-left:1px solid #e9ede5;padding-left:22px;gap:10px}
.booking-card-fleet{gap:7px 15px;align-items:center;margin:0}
.booking-card-fleet>span{font-size:13px}
.booking-card .booking-card-fleet strong{font-size:14px!important}
.booking-card-crew{gap:7px 9px;font-size:14px;line-height:1.4}
.booking-card .booking-row-numberplate{font-size:13px!important;padding:3px 7px}
.booking-card-driver{display:inline-flex;align-items:center;gap:6px;font-weight:550;flex:1;min-width:100px}
.booking-card-driver svg{width:15px;height:15px;color:#87917f}
.booking-card .booking-card-supplier{display:flex;align-items:center;gap:8px;font-size:14px!important;color:#344c3b}
.booking-card .booking-card-supplier strong{font-size:14px!important;font-weight:550}
.booking-card-supplier svg{color:#7c8976}
.booking-card-unassigned{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;padding:6px 9px;border-radius:6px;background:#fff5db;color:#8a5b09;font-size:13px;font-weight:600;line-height:1.3}
.booking-card-unassigned svg{width:15px;height:15px}
@media(max-width:1250px){.booking-card-body{grid-template-columns:minmax(0,1.35fr) minmax(235px,1fr);gap:18px}.booking-card-dispatch{padding-left:18px}.booking-card-header{gap:14px}}
@media(max-width:700px){.admin-list .booking-row-full.booking-card{padding:15px}.booking-card-header{gap:11px}.booking-card-body{grid-template-columns:1fr;gap:12px}.booking-card-journey>span{grid-template-columns:81px minmax(0,1fr);font-size:14px}.booking-card-dispatch{border-left:0;border-top:1px solid #e9ede5;padding:11px 0 0;gap:10px}.booking-card .booking-card-name{font-size:16px!important}.booking-card-reference{font-size:11px}.booking-card-driver{flex-basis:calc(100% - 125px)}.booking-card-schedule{gap:20px}}

/* Compact, aligned navigation with one visual language. */
.admin-sidebar{padding:24px 17px;scrollbar-color:#35423a transparent;scrollbar-width:thin}
.admin-brand{padding:0 10px 25px}
.admin-sidebar nav{gap:14px}
.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{padding:8px 10px;color:#f1f3ed;font-size:14px;letter-spacing:0;font-weight:650;min-height:34px;box-sizing:border-box}
.admin-menu-heading{display:inline-flex;align-items:center;gap:10px;min-width:0}
.admin-menu-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;color:#bbc5b9}
.admin-menu-chevron{width:14px;height:14px;fill:none;stroke:#8c988b;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.admin-nav-group:not([open]) .admin-menu-chevron{transform:rotate(-90deg)}
.admin-nav-group:not([open]) summary>.admin-menu-heading{transform:none}
.admin-nav-children{margin:5px 0 0 18px;padding-left:11px;gap:2px;border-left:1px solid #ffffff12}
.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{padding:8px 11px;min-height:35px;font-size:13px;line-height:1.35;font-weight:500;border-radius:7px;align-items:center;color:#bdc6bd}
.admin-sidebar nav .admin-nav-children b{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;min-width:22px;text-align:right;color:inherit}
.admin-sidebar nav .admin-nav-children button.active{background:#d2ad42;color:#171d16;font-weight:650;box-shadow:none}
.admin-sidebar nav .admin-nav-children button.active b{font-weight:650}
.admin-sidebar nav .admin-nav-children button:hover:not(.active),.admin-sidebar nav .admin-nav-children a:hover{background:#ffffff0b;color:#fff}
@media(max-width:700px){.admin-sidebar{padding:16px}.admin-sidebar nav{gap:12px 8px}.admin-brand{padding:0 4px 20px}.admin-nav-children{margin-left:10px;padding-left:7px}.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{font-size:12px;padding:8px;min-height:35px}.admin-sidebar nav .admin-nav-children b{font-size:12px;min-width:16px}.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{font-size:13px;padding:8px 5px}.admin-menu-heading{gap:7px}.admin-menu-icon{width:16px;height:16px}}

.allocation-heading-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.allocation-heading-actions .allocation-save-icon{position:static!important;margin:0!important}.allocation-supplier-icon[aria-expanded=true]{background:#f7efd4!important;color:#765d18!important}

#admin-root .admin-booking-modal .booking-sheet-summary>.booking-summary-pickup{display:grid!important;grid-template-columns:1.2fr .8fr;align-items:start;gap:12px}
#admin-root .admin-booking-modal .booking-summary-pickup>div{display:grid;align-content:start;gap:5px;min-width:0}
#admin-root .admin-booking-modal .booking-summary-pickup span{margin:0!important;white-space:nowrap}
#admin-root .admin-booking-modal .booking-summary-pickup strong{white-space:nowrap}
.admin-nav-children{margin-left:12px;padding-left:8px}
.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{padding-left:9px;padding-right:9px;gap:6px}
@media(min-width:701px){.admin-sidebar nav .admin-nav-children a>span{white-space:nowrap}}

.booking-card .booking-card-reference{font-family:inherit;font-size:16px!important;font-weight:650;line-height:1.35;letter-spacing:0;color:#876518}

#admin-root .booking-sheet-dispatch>.booking-detail-section{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:8px!important}#admin-root .booking-sheet-dispatch .booking-supplier-cover{width:100%;margin-top:0;box-sizing:border-box}#admin-root .booking-sheet-dispatch .booking-supplier-cover form{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px}#admin-root .booking-sheet-dispatch .booking-supplier-cover form label{display:grid!important;grid-template-columns:1fr!important;gap:4px}

/* Match the grey separators between all summary fields. */
#admin-root .admin-booking-modal .booking-sheet-summary>.booking-summary-pickup{align-items:stretch}
#admin-root .admin-booking-modal .booking-summary-pickup>div+div{border-left:1px solid #e0e4e6;padding-left:10px}

/* Refined navigation rail, with a clear active group and compact controls. */
.admin-sidebar{background:#101715;border-right:1px solid #ffffff0b;padding:20px 14px;scrollbar-gutter:stable}
.admin-brand{display:flex;align-items:center;gap:12px;padding:9px 9px 22px;margin-bottom:12px;border-bottom:1px solid #ffffff10}
.admin-brand img{width:45px;height:45px;border-radius:11px;flex-shrink:0}
.admin-brand>span{font-size:13px;font-weight:700;line-height:1.25;letter-spacing:.025em;color:#f1f3ec}
.admin-brand small{display:block;width:max-content;margin-top:6px;padding:3px 7px;border:1px solid #d2ad4240;border-radius:4px;font-size:9px;line-height:1;letter-spacing:.13em;color:#d2ad42;background:#d2ad420c}
.admin-sidebar nav{gap:7px}
.admin-nav-group{border:1px solid transparent;border-radius:10px;transition:border-color .15s,background .15s}
.admin-nav-group:hover{background:#ffffff03}
.admin-nav-group.has-current-section{border-color:#d2ad422b;background:#ffffff03}
.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{padding:8px 9px;min-height:47px;border-radius:9px;font-size:13px;font-weight:600}
.admin-menu-heading{gap:10px}
.admin-menu-icon{width:17px;height:17px;padding:7px;border-radius:8px;background:#ffffff07;color:#d6ddd4;box-sizing:content-box;stroke-width:1.6}
.has-current-section .admin-menu-icon{background:#d2ad42;color:#172019}
.admin-menu-chevron{width:13px;height:13px;color:#929d8d}
.admin-nav-children{margin:0 8px 9px 25px;padding-left:10px;border-left:1px solid #ffffff0e;gap:2px}
.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{min-height:34px;padding:7px 8px;font-size:12px;gap:5px;color:#bec9ba}
.admin-sidebar nav .admin-nav-children b{font-size:12px;min-width:18px}
.admin-sidebar nav .admin-nav-children button.active{background:#d2ad42;color:#131b14;box-shadow:0 2px 5px #00000012}
.admin-sidebar nav .admin-report-nav.active .admin-menu-icon{background:#17201912;color:#172019}
.admin-sidebar-foot{border-top:1px solid #ffffff10;padding:15px 6px 0;margin-top:20px;gap:5px}
.admin-sidebar-foot>a,.admin-sidebar-foot form button{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;border:0;background:none;border-radius:7px;padding:10px 8px;color:#aebbae;font:inherit;font-size:12px;text-decoration:none;text-align:left;cursor:pointer}
.admin-sidebar-foot>a:hover,.admin-sidebar-foot form button:hover{background:#ffffff07;color:#f1f3ed}
.admin-sidebar-foot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
@media(max-width:700px){.admin-sidebar{padding:15px}.admin-brand{padding:4px 4px 16px}.admin-sidebar nav{gap:8px}.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{padding:7px;min-height:43px;font-size:12px}.admin-menu-heading{gap:7px}.admin-menu-icon{width:15px;height:15px;padding:5px}.admin-nav-children{margin-left:14px;padding-left:7px}.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{font-size:12px;padding:8px 6px}.admin-sidebar-foot{grid-template-columns:1fr 1fr}}

@media(min-width:701px){.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{font-size:14px}.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a,.admin-sidebar nav .admin-nav-children b{font-size:13px}.admin-sidebar nav .admin-nav-children a>span{white-space:normal}.admin-sidebar-foot>a,.admin-sidebar-foot form button{font-size:13px}}

/* Compact sidebar and documented personnel directory. */
.admin-sidebar nav{gap:3px}.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{min-height:38px;padding:5px 8px;font-size:13px}.admin-menu-icon{width:16px;height:16px;padding:5px}.admin-brand{padding-bottom:14px;margin-bottom:7px}.admin-sidebar{padding:16px 13px}.admin-sidebar-foot{margin-top:14px;padding-top:10px}
.personnel-directory>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.personnel-directory>header>div{display:grid;gap:4px}.personnel-directory>header strong{font-size:17px}.personnel-directory>header span{font-size:13px;color:#78836e}.personnel-directory>header button{border:0;border-radius:7px;font-size:14px;padding:11px 16px}.personnel-controls{display:flex;gap:10px;margin-bottom:14px}.personnel-controls input{flex:1;min-width:0}.personnel-controls input,.personnel-controls select{padding:11px 12px;border:1px solid #d8dfd2;border-radius:8px;font:inherit;font-size:14px;background:#fff}.personnel-records{display:grid;gap:10px}.personnel-record{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px;border:1px solid #dce3d5;border-radius:11px;background:#fff;color:#293d2e;font:inherit;cursor:pointer}.personnel-record:hover{border-color:#bba66a}.personnel-avatar{display:grid;place-items:center;width:41px;height:41px;flex-shrink:0;border-radius:10px;background:#edf1e8;font-size:14px;font-weight:600;color:#526548}.personnel-name{flex:1;min-width:0;display:grid;gap:5px}.personnel-name>strong{font-size:16px;font-weight:600}.personnel-name small{font-size:13px;color:#77846b;overflow-wrap:anywhere}.personnel-warning{font-size:12px;line-height:1.4;color:#a34427}.personnel-warning.expiring{color:#976611}.personnel-status{font-size:12px;line-height:1.3;padding:5px 9px;border-radius:6px;text-transform:capitalize;background:#f0f2ed;flex-shrink:0}.personnel-status.status-active{background:#e0f2e5;color:#216638}.personnel-status.status-suspended{background:#fff0cb;color:#885b08}.personnel-status.status-blacklisted{background:#fbe3e0;color:#92392b}.personnel-status.status-resigned{background:#e8eaef;color:#626b7a}.personnel-open{font-size:23px;color:#91a087}.personnel-dialog{padding:0;border:1px solid #d8e0d0;border-radius:13px;width:min(1020px,94vw);height:min(860px,92vh);max-width:94vw;max-height:92vh;overflow:hidden;background:#fff}.personnel-dialog::backdrop{background:#101d16aa}.personnel-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid #e2e8dc;height:52px}.personnel-dialog>header button{border:0;border-radius:6px;background:#f1f4ed;color:#2f4934;width:30px;height:30px;font-size:24px;cursor:pointer}.personnel-dialog iframe{display:block;width:100%;height:calc(100% - 52px);border:0}.tracking-summary .tracking-supplier-icon{display:grid;place-items:center;width:29px;height:29px;margin-left:5px;flex-shrink:0;border:1px solid #d2dacd;border-radius:6px;background:#f7f9f3;color:#40543a;cursor:pointer}.tracking-supplier-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.tracking-summary .tracking-supplier-icon:disabled{opacity:.4;cursor:not-allowed}.tracking-summary .tracking-supplier-icon[aria-expanded=true]{background:#f6eac4;border-color:#cbb267}.tracking-summary h3{flex:1}.tracking-summary{gap:5px!important}@media(max-width:700px){.personnel-directory>header span{font-size:12px}.personnel-record{flex-wrap:wrap;padding:13px;gap:10px}.personnel-name{flex-basis:calc(100% - 65px)}.personnel-status{margin-left:51px}.personnel-controls{flex-wrap:wrap}.personnel-controls input{flex-basis:100%}.personnel-dialog{width:96vw;max-width:96vw}.personnel-name>strong{font-size:15px}}

.vehicle-registration{background:#f2ca42;color:#111;border:1px solid #c7a431;border-radius:4px;padding:6px 8px;font-size:15px;font-weight:800;letter-spacing:.5px;white-space:nowrap}.vehicle-editor{overflow:auto;padding:22px;min-height:0}.vehicle-editor-intro{color:#62696a;font-size:14px}.vehicle-editor fieldset{border:0;border-top:1px solid #e2e4e2;padding:16px 0;margin:14px 0}.vehicle-editor legend{font-weight:700;font-size:17px;padding-right:12px}.vehicle-fields,.vehicle-documents{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.vehicle-editor label{display:grid;gap:6px;font-size:14px;font-weight:600}.vehicle-editor input:not([type=checkbox]),.vehicle-editor select,.vehicle-editor textarea{width:100%;border:1px solid #d5d9d5;border-radius:8px;padding:9px 11px;min-height:40px;font:inherit;box-sizing:border-box;background:#fff}.vehicle-editor p{font-size:13px;line-height:1.6;color:#62696a}.vehicle-document{background:#f6f7f5;padding:13px;border-radius:9px;display:grid;gap:9px;align-content:start}.vehicle-document a,.vehicle-history a{font-size:13px;color:#71591b}.vehicle-review{display:flex!important;align-items:flex-start;line-height:1.6;margin:15px 0}.vehicle-review input{margin-top:5px}.vehicle-history{margin-top:24px}.vehicle-history details{border-top:1px solid #e1e3df;padding:12px 0;font-size:13px}.vehicle-history a{display:block;margin:7px 0}.status-retired{background:#e9e9e9;color:#555}@media(max-width:650px){.vehicle-fields,.vehicle-documents{grid-template-columns:1fr}.vehicle-editor{padding:16px}.vehicle-registration{font-size:12px}.vehicle-editor-dialog .personnel-record{grid-template-columns:auto 1fr}}

.allocation-duty-review{display:flex!important;align-items:center;gap:7px;font-size:12px!important;line-height:1.5;margin:9px 0}.allocation-duty-review input{width:auto!important;min-height:0!important}

/* Dedicated alert position above the page heading; independent of the booking count. */
.admin-heading{position:relative;padding-top:64px}
.admin-heading-actions .admin-alert-wrap{position:absolute;top:8px;right:0;z-index:60}
.admin-alert-bell{width:42px;height:42px;border:1px solid #dfd6bb;background:#fffaf0;color:#8c671e;box-shadow:none;border-radius:12px}
.admin-alert-bell svg{width:23px;height:23px}
.admin-alert-panel{top:52px;width:420px;padding:18px}
.admin-alert-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:10px}
.admin-alert-panel-heading h2{margin:0;font-size:19px}
.admin-alert-sound-toggle{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #dce2de;border-radius:9px;background:#f7f9f7;color:#344b3d;cursor:pointer;flex-shrink:0}
.admin-alert-sound-toggle svg{width:21px;height:21px}
.admin-alert-sound-toggle[aria-pressed=false]{color:#707772;background:#f3f4f3}
.admin-alert-sound-toggle:focus-visible{outline:3px solid #ba922b;outline-offset:2px}
.admin-alert-panel ul.admin-alert-issues{list-style:disc;padding-left:18px;margin:3px 0 0;max-height:none;overflow:visible;width:100%}
.admin-alert-panel .admin-alert-issues li{border:0;padding:2px 0;font-size:14px;line-height:1.45;color:#48554e}
.admin-alert-panel li strong{font-size:15px}.admin-alert-panel li span,.admin-alert-panel li em{font-size:14px;line-height:1.45}
@media(max-width:600px){.admin-heading{padding-top:64px}.admin-heading-actions .admin-alert-wrap{top:8px;right:0}.admin-alert-panel{position:absolute;top:52px;right:0;left:auto;width:min(420px,calc(100vw - 36px));max-width:calc(100vw - 36px)}}

.factory-reset-card{max-width:820px;padding:28px}.factory-reset-title{display:flex;align-items:center;gap:16px}.factory-reset-title h2{margin:0 0 5px;font-size:25px}.factory-reset-title p{margin:0;font-size:16px;line-height:1.5}.factory-reset-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:12px;background:#fff0ec;color:#b0372d}.factory-reset-icon svg{width:27px;height:27px}.factory-reset-preserved{font-size:15px;line-height:1.6;color:#626c64;margin:22px 0}.factory-reset-open,.factory-reset-submit{background:#ad332b;color:white;border:0;border-radius:9px;padding:12px 20px;font:600 15px/1.4 inherit;cursor:pointer}.factory-reset-card button:disabled{opacity:.5;cursor:not-allowed}.factory-reset-backdrop{position:fixed;inset:0;background:#101b17a6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.factory-reset-dialog{width:600px;max-width:100%;max-height:calc(100dvh - 48px);overflow:auto;background:#fff;border-radius:18px;padding:26px;box-shadow:0 20px 80px #0004;box-sizing:border-box}.factory-reset-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px}.factory-reset-dialog h2{font-size:25px;margin:5px 0 0;letter-spacing:-.02em}.factory-reset-dialog header>button{width:36px;height:36px;border:1px solid #dce2dd;border-radius:9px;background:white;font-size:25px;cursor:pointer}.factory-reset-dialog p{font-size:15px;line-height:1.55}.factory-reset-categories{display:grid;gap:9px;margin:18px 0}.factory-reset-categories label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #dfe4df;border-radius:10px;cursor:pointer}.factory-reset-dialog input[type=checkbox]{width:19px;height:19px;accent-color:#aa342b;flex:0 0 19px;margin:3px 0 0}.factory-reset-categories label>span{flex:1;min-width:0}.factory-reset-categories strong{display:flex;justify-content:space-between;font-size:16px;line-height:1.4}.factory-reset-categories b{font-weight:600;color:#647069}.factory-reset-categories small,.factory-reset-dialog form>label small{display:block;font-size:13px;line-height:1.45;color:#657169;margin-top:4px}.factory-reset-dialog .factory-reset-warning{background:#fff5df;color:#775b12;border:1px solid #ead8a4;border-radius:9px;padding:10px 12px;font-size:14px}.factory-reset-dialog form>label{display:block;font-size:15px;font-weight:600;margin-top:16px}.factory-reset-dialog input[type=password]{display:block;width:100%;box-sizing:border-box;margin-top:7px;border:1px solid #cdd7d0;border-radius:9px;padding:12px;font:16px Arial;background:#fff}.factory-reset-dialog form>label.factory-reset-ack{display:flex;gap:10px;font-size:14px;line-height:1.45;font-weight:400}.factory-reset-dialog footer{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.factory-reset-dialog footer>button:first-child{background:#f4f6f4;border:1px solid #d8dfd9;border-radius:9px;padding:12px 18px;font-size:15px;cursor:pointer}.factory-reset-recovery a{display:inline-block;text-decoration:none;margin-top:8px}@media(max-width:600px){.factory-reset-card{padding:20px}.factory-reset-backdrop{padding:12px}.factory-reset-dialog{padding:20px;max-height:calc(100dvh - 24px)}.factory-reset-dialog footer{flex-wrap:wrap}.factory-reset-categories label{padding:10px}.factory-reset-title{align-items:flex-start}}

/* Restore WMC black and yellow alert bell. */
.admin-alert-bell{background:#161a20;color:#edbb58;border:0;box-shadow:0 3px 12px #0002}

/* Alert destinations identify the exact task, not only the record. */
.alert-field-highlight{background:#fff5d5!important;border:2px solid #ca9b21!important;border-radius:9px;padding:10px!important;outline:0;scroll-margin:50px}
.alert-field-highlight input:not([type=checkbox]),.alert-field-highlight select{border-color:#b98715!important}
.alert-field-note{display:block;font-size:13px;line-height:1.5;color:#795510;margin-top:8px;font-weight:500}
.alert-focus-summary,.alert-allocation-message{background:#fff6df;border:1px solid #dec377;border-radius:9px;padding:12px;color:#6b5016;font-size:14px;line-height:1.5;margin:0 0 16px}
.alert-focus-summary strong{font-size:16px}.alert-focus-summary p{margin:5px 0 0}

.admin-alert-record{padding:13px 0}.admin-alert-panel .admin-alert-issues{list-style:none!important;padding-left:0!important}
.admin-alert-panel li button.admin-alert-issue-link{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px;border-radius:7px;color:#624b1b;background:#fffbf1}
.admin-alert-panel li button.admin-alert-issue-link:hover{background:#fff0c8}.admin-alert-panel .admin-alert-issue-link>span{color:inherit;font-size:14px}.admin-alert-record>strong{display:block;margin-bottom:7px}

/* WMC navigation — charcoal, warm gold and an editorial hierarchy. */
.admin-sidebar{
 background:radial-gradient(ellipse at 0 0,#d1ab3910,transparent 42%),#111214;
 border-right:1px solid #ffffff0a;padding:24px 17px 20px;
 color:#f5f3ee;scrollbar-color:#49433a transparent;scrollbar-gutter:auto;
}
.admin-brand{
 gap:12px;padding:2px 6px 24px;margin:0 0 24px;
 border-bottom:1px solid #ffffff0d;text-decoration:none;
}
.admin-brand img{width:48px;height:48px;border-radius:13px;border:1px solid #d5af4730;box-shadow:0 5px 16px #0003}
.admin-brand>span{font-size:12px;line-height:1.45;letter-spacing:.035em;font-weight:700;color:#f5f3ee}
.admin-brand small{
 border:0;background:transparent;padding:0;margin:7px 0 0;
 color:#cda94e;font-size:9px;line-height:1;letter-spacing:.2em;font-weight:600;
}
.admin-sidebar nav{gap:5px}
.admin-nav-category{min-width:0}
.admin-nav-group{
 position:relative;border:0;border-radius:11px;background:transparent;
 transition:background .18s ease;
}
.admin-nav-group.has-current-section{border:0;background:#d9b75b0c}
.admin-nav-group.has-current-section::before{
 content:"";position:absolute;top:14px;left:0;width:3px;height:24px;
 border-radius:3px;background:#d9b75b;
}
.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{
 padding:10px 13px;min-height:52px;border-radius:11px;
 font-size:14px;font-weight:550;letter-spacing:0;color:#b8b9bd;background:transparent;
}
.admin-menu-heading{display:flex;align-items:center;gap:13px;transform:none!important;font-size:inherit!important}
.admin-menu-icon{
 width:19px;height:19px;padding:0;background:none;border-radius:0;
 color:#a5a6ab;stroke-width:1.6;box-sizing:content-box;flex-shrink:0;
}
.admin-nav-group.has-current-section summary{color:#f6e9be;font-weight:650}
.admin-nav-group.has-current-section .admin-menu-icon{background:none;color:#ddbd66}
.admin-nav-group:hover,.admin-nav-group summary:hover,.admin-sidebar nav .admin-report-nav:hover{background:#ffffff05;color:#fff}
.admin-menu-chevron{width:12px;height:12px;color:#6b6c73;transition:transform .18s ease}
.admin-nav-group[open] .admin-menu-chevron{color:#cdb16a}
.admin-nav-children{
 margin:0 10px 9px 21px;padding:3px 0 5px 22px;
 border-left:1px solid #ffffff12;gap:2px;
}
.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{
 position:relative;min-height:38px;padding:9px 10px;font-size:12.5px;
 line-height:1.4;font-weight:450;border-radius:7px;color:#999ba3;gap:9px;
}
.admin-sidebar nav .admin-nav-children button>span,.admin-sidebar nav .admin-nav-children a>span{white-space:normal}
.admin-sidebar nav .admin-nav-children b{
 min-width:18px;font-size:12.5px;font-weight:500;color:#96969d;line-height:1.4;
 font-variant-numeric:tabular-nums;
}
.admin-sidebar nav .admin-nav-children button.active,
.admin-sidebar nav .admin-nav-children button.active:hover{
 background:#d9b75b12;color:#edcf82;font-weight:650;box-shadow:none;
}
.admin-sidebar nav .admin-nav-children button.active b{font-weight:650;color:#edcf82}
.admin-sidebar nav .admin-nav-children button:hover:not(.active),
.admin-sidebar nav .admin-nav-children a:hover{background:#ffffff07;color:#f5f3ee}
.admin-sidebar nav .admin-report-nav.active{background:#d9b75b12;color:#edcf82;box-shadow:inset 3px 0 #d9b75b}
.admin-sidebar nav .admin-report-nav.active .admin-menu-icon{background:none;color:#ddbd66}
.admin-sidebar nav :is(summary,button,a):focus-visible{
 outline:2px solid #d9b75b;outline-offset:2px;
}
.admin-sidebar-foot{
 margin-top:auto;padding:22px 0 0;border-top:1px solid #ffffff0d;gap:4px;
}
.admin-sidebar nav{margin-bottom:24px}
.admin-sidebar-foot>a,.admin-sidebar-foot form button{
 padding:12px 13px;border-radius:9px;gap:13px;
 font-size:12.5px;font-weight:500;color:#999ba3;
}
.admin-sidebar-foot svg{width:18px;height:18px;stroke-width:1.6;color:#91939a}
.admin-sidebar-foot>a:hover{background:#ffffff05;color:#eee}
.admin-sidebar-foot form button:hover{background:#df62500c;color:#f3ad9e}
@media(max-width:1100px) and (min-width:701px){
 .admin-sidebar{padding:22px 11px 18px}
 .admin-brand{gap:10px;padding-inline:4px}
 .admin-brand img{width:40px;height:40px}
 .admin-brand>span{font-size:10.5px}
 .admin-nav-group summary,.admin-sidebar nav .admin-report-nav{padding-inline:11px;font-size:13px}
 .admin-menu-heading{gap:10px}
 .admin-nav-children{margin-left:19px;margin-right:4px;padding-left:13px}
 .admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{font-size:12px;padding-inline:7px}
}
@media(max-width:700px){
 .admin-sidebar{padding:20px 16px 15px;border-right:0;border-bottom:1px solid #ffffff0d}
 .admin-brand{padding:0 3px 17px;margin-bottom:16px}
 .admin-brand img{width:42px;height:42px}
 .admin-brand>span{font-size:11.5px}
 .admin-brand small{font-size:8px}
 .admin-sidebar nav{gap:5px 8px;margin-bottom:15px}
 .admin-nav-group summary,.admin-sidebar nav .admin-report-nav{min-height:46px;padding:10px;font-size:13px}
 .admin-menu-heading{gap:10px}
 .admin-menu-icon{width:18px;height:18px}
 .admin-nav-group.has-current-section::before{top:12px;height:22px}
 .admin-nav-children{margin-left:16px;margin-right:4px;padding-left:10px}
 .admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{font-size:12px;min-height:37px;padding:8px 6px}
 .admin-sidebar-foot{padding-top:12px;margin-top:0}
 .admin-sidebar-foot>a,.admin-sidebar-foot form button{font-size:12px;padding:10px}
}
@media(prefers-reduced-motion:reduce){
 .admin-nav-group,.admin-menu-chevron{transition:none}
}
.admin-nav-group summary,.admin-sidebar nav .admin-report-nav{min-height:46px}
.admin-nav-children{margin-left:13px;margin-right:8px;padding-left:13px}
.admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{min-height:35px;padding:8px}
@media(max-width:700px){
 .admin-nav-category:has(.admin-nav-group[open]){grid-column:1/-1}
 .admin-nav-children{margin-left:18px;padding-left:17px}
 .admin-sidebar nav .admin-nav-children button,.admin-sidebar nav .admin-nav-children a{min-height:36px}
}

/* Compact onboarding record editors */
.vehicle-editor-intro{font-size:15px;line-height:1.6;color:#626966;margin:0 0 20px}.vehicle-editor .vehicle-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vehicle-editor label{font-size:14px}.vehicle-editor .record-step{margin:16px 0;border:1px solid #e3e5df;border-radius:12px}.vehicle-editor summary{padding:15px;font-size:15px;display:flex;justify-content:space-between;gap:12px}.vehicle-editor summary small{font-size:12px;color:#6b736f;font-weight:400}.vehicle-editor .vehicle-documents{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vehicle-editor .vehicle-document{padding:14px;gap:10px;background:#fafbf7;border-radius:10px}.vehicle-editor input,.vehicle-editor select{font-size:15px;min-height:42px}.vehicle-editor fieldset{padding:0 15px 15px}.vehicle-editor .vehicle-history{font-size:14px}.vehicle-editor-dialog{max-width:900px}@media(max-width:650px){.vehicle-editor .vehicle-fields,.vehicle-editor .vehicle-documents{grid-template-columns:1fr}}

/* Driver app connection belongs beneath the directory status. */
.personnel-app-record{cursor:default}
.personnel-record-main{display:flex;align-items:center;gap:14px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.personnel-record-statuses{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex-shrink:0}
.personnel-app-record .personnel-status{margin-left:0}
.personnel-status.status-connected{background:#e0f2e5;color:#216638}
.personnel-app-connect{display:block;padding:7px 10px;border:1px solid #c8af69;border-radius:7px;background:#fff9e9;color:#71551b;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap}
.personnel-app-connect:hover{background:#f5e7bc}
.personnel-record-open{border:0;background:transparent;padding:8px;color:inherit;cursor:pointer;flex-shrink:0}
.personnel-record-main:focus-visible,.personnel-record-open:focus-visible,.personnel-app-connect:focus-visible{outline:2px solid #a98020;outline-offset:4px;border-radius:7px}
@media(max-width:700px){.personnel-app-record{display:grid;grid-template-columns:minmax(0,1fr) auto}.personnel-record-main{grid-column:1;gap:10px}.personnel-app-record .personnel-name{flex-basis:auto}.personnel-record-statuses{grid-column:1;grid-row:2;align-items:flex-start;margin-left:51px}.personnel-record-open{grid-column:2;grid-row:1 / span 2}}

/* Aligned driver statuses and concise current allocation details. */
.personnel-app-record .personnel-record-statuses{align-items:stretch;min-width:90px}
.personnel-app-record .personnel-record-statuses>.personnel-status{display:block;width:100%;box-sizing:border-box;text-align:center;font-size:13px;padding:6px 10px;line-height:1.3}
.personnel-assigned-bookings{display:flex;flex-wrap:wrap;gap:7px 16px;margin:3px 0}
.personnel-assigned-booking{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;line-height:1.5}
.personnel-booking-reference{font-size:13px;font-weight:600;color:#826117;overflow-wrap:anywhere}
.personnel-assignment-divider{color:#abb0a9;font-size:14px}
.personnel-assigned-plate{display:inline-block;border:1px solid #ba9927;border-radius:4px;background:#f3cd48;color:#151515;padding:2px 7px;font-size:13px;font-weight:800;letter-spacing:.5px;white-space:nowrap}
@media(max-width:700px){.personnel-app-record .personnel-record-statuses{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.personnel-app-record .personnel-record-statuses>.personnel-status{width:auto;min-width:88px}.personnel-assigned-bookings{display:grid;gap:5px}}

.personnel-app-record .personnel-avatar{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden}
.personnel-app-record .personnel-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.personnel-app-record .personnel-avatar img[hidden]{display:none}
@media(max-width:700px){.personnel-app-record .personnel-avatar{width:64px;height:64px}.personnel-app-record .personnel-record-statuses{margin-left:74px}}

/* Driver presence, live assignment and review summary. */
.personnel-current-status{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:3px;font-size:13px;line-height:1.55;color:#626e61}
.personnel-current-status>strong{font-weight:600;color:#304734}
.personnel-driver-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;line-height:1.6;color:#71806e;margin-top:2px}
.personnel-driver-summary strong{color:#354b36;font-weight:600}
.personnel-review-stars{display:inline-flex;gap:3px;align-items:center;color:#b29959}
.personnel-review-stars svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}
.personnel-summary-divider{color:#b0b7ab}
.personnel-app-record .personnel-record-statuses>.status-online,.personnel-app-record .personnel-record-statuses>.status-offline{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;white-space:nowrap}
.personnel-status.status-online{background:#e0f2e5;color:#216638}.personnel-status.status-offline{background:#eef0ed;color:#687166}
.personnel-presence-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}

/* A clear, balanced driver directory card. */
.personnel-app-record{padding:19px 20px;gap:18px;border-color:#e0e5dc;border-radius:14px;box-shadow:0 2px 8px #24351d04;transition:border-color .15s,box-shadow .15s}
.personnel-app-record:hover{border-color:#cfbd87;box-shadow:0 4px 16px #24351d08}
.personnel-app-record .personnel-record-main{gap:18px}
.personnel-app-record .personnel-name{gap:7px}
.personnel-app-record .personnel-name>strong{font-size:17px;line-height:1.35;color:#263c2a}
.personnel-app-record .personnel-name small{font-size:13px;line-height:1.45;color:#74806e}
.personnel-app-record .personnel-avatar{box-shadow:0 0 0 3px #f4f6ef;align-self:center;font-size:19px}
.personnel-app-record .personnel-record-statuses{width:122px;gap:6px}
.personnel-app-record .personnel-record-statuses>.personnel-status{border-radius:7px;padding:6px 10px}
.personnel-current-status{gap:8px;font-size:13px;margin:1px 0 0}
.personnel-current-status>strong{border-radius:5px;background:#f1f4ed;padding:2px 7px;font-size:13px}
.personnel-current-status .personnel-booking-reference{font-size:13px}
.personnel-driver-summary{font-size:13px;gap:8px;margin-top:2px}
.personnel-review-stars svg{width:18px;height:18px}
.personnel-record-open{padding:7px 0 7px 5px}
@media(max-width:700px){.personnel-app-record{padding:16px;gap:12px}.personnel-app-record .personnel-record-main{gap:14px}.personnel-app-record .personnel-name>strong{font-size:16px}.personnel-app-record .personnel-record-statuses{width:auto;margin-left:78px;gap:6px}.personnel-app-record .personnel-avatar{align-self:flex-start}.personnel-app-record .personnel-record-statuses>.personnel-status{width:auto;min-width:85px}.personnel-current-status{gap:6px}.personnel-driver-summary{gap:6px}.personnel-summary-divider{display:none}}

.personnel-app-record .personnel-record-statuses{width:170px}
.personnel-app-record .personnel-record-statuses>.personnel-duty-status{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;white-space:nowrap}
.personnel-status.status-en-route{background:#e9f0fa;color:#315f8a}.personnel-status.status-boarding{background:#fff4d8;color:#85631d}.personnel-status.status-no-show{background:#fff0be;color:#8a6814}.personnel-status.status-completed{background:#e0f2e5;color:#216638}
@media(max-width:700px){.personnel-app-record .personnel-record-statuses{width:auto}}
/* Driver leaderboard: portrait, identity, review score, completed work and status. */
.personnel-driver-card{position:relative;min-height:132px;padding:14px 18px 14px 22px;gap:24px;overflow:hidden;box-shadow:none}
.personnel-driver-card.personnel-ranked{padding-left:92px}
.personnel-rank{position:absolute;left:0;top:0;bottom:0;width:66px;display:grid;place-items:center;background:#28571c;color:white;font-size:48px;font-weight:700;line-height:1;text-shadow:0 2px 3px #0003}
.personnel-driver-card .personnel-record-main{gap:22px}
.personnel-driver-card .personnel-avatar{width:94px;height:94px;font-size:25px;border:2px solid #edf0e7;box-shadow:0 0 0 2px #f5f6f1}
.personnel-driver-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 30px}
.personnel-driver-heading>strong{font-size:18px;line-height:1.35;font-weight:650;color:#273e2a}
.personnel-joined{font-size:12px;line-height:1.5;font-weight:400;color:#5f685c;white-space:nowrap}
.personnel-performance{display:grid;justify-items:center;align-content:center;flex:0 0 164px;gap:5px;align-self:stretch;text-align:center}
.personnel-rating{display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 11px;border-radius:0 0 12px 12px;background:#28571c;color:#f1ca38;min-width:145px;box-sizing:border-box}
.personnel-rating>strong{font-size:17px;font-weight:750;line-height:1.2}
.personnel-rating.is-unrated{background:#f1f3ec;color:#8b916f}
.personnel-rating.is-unrated>strong{font-size:12px;font-weight:500}
.personnel-rating-stars{gap:2px;color:inherit}
.personnel-rating-stars svg{width:18px;height:18px}
.personnel-rating-stars .star-fill{fill:#f1ca38;stroke:none}
.personnel-completed-count{font-size:35px;font-weight:750;color:#101910;line-height:1.2;margin-top:2px}
.personnel-completed-label{font-size:12px;font-weight:600;color:#414b3c;white-space:nowrap}
.personnel-driver-card .personnel-record-statuses{width:170px;gap:6px}
@media(max-width:1100px){.personnel-driver-card{gap:14px}.personnel-driver-card .personnel-avatar{width:78px;height:78px}.personnel-driver-card .personnel-record-main{gap:16px}.personnel-performance{flex-basis:145px}.personnel-driver-card.personnel-ranked{padding-left:76px}.personnel-rank{width:54px;font-size:38px}.personnel-driver-heading{gap:5px 16px}}
@media(max-width:850px){.personnel-driver-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:13px}.personnel-driver-card .personnel-record-main{grid-column:1;grid-row:1}.personnel-driver-card .personnel-record-open{grid-column:2;grid-row:1}.personnel-performance{grid-column:1;grid-row:2;justify-self:start;display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:center;align-content:center}.personnel-rating{grid-column:1;grid-row:1 / span 2;border-radius:8px}.personnel-completed-count{grid-column:2;grid-row:1;font-size:25px;margin:0}.personnel-completed-label{grid-column:2;grid-row:2;font-size:11px}.personnel-driver-card .personnel-record-statuses{grid-column:1 / span 2;grid-row:3;width:auto;margin-left:0;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}.personnel-driver-card .personnel-record-statuses>.personnel-status{width:auto;min-width:85px}.personnel-driver-card .personnel-avatar{width:72px;height:72px}.personnel-driver-card .personnel-record-main{gap:14px}.personnel-driver-heading>strong{font-size:17px}.personnel-driver-card.personnel-ranked{padding-left:66px}.personnel-rank{width:46px;font-size:32px}}
/* Match the supplied horizontal card reference. */
.personnel-driver-card{box-sizing:border-box;min-height:152px;padding:22px 24px;gap:22px;background:#fff;border:1px solid #dfe5d9;border-radius:16px;align-items:center}
.personnel-driver-card.personnel-ranked{padding-left:102px}
.personnel-driver-card .personnel-record-main{gap:38px}
.personnel-driver-card .personnel-avatar{width:104px;height:104px;border:2px solid #e9ece2;box-shadow:0 0 0 3px #f5f6f0;flex:0 0 104px}
.personnel-driver-heading{gap:8px 40px}
.personnel-driver-heading>strong{font-size:22px;line-height:1.3;font-weight:700}
.personnel-driver-card .personnel-name{gap:12px}
.personnel-driver-card .personnel-name small{font-size:16px;line-height:1.4}
.personnel-driver-card .personnel-joined{font-size:14px;color:#77826c}
.personnel-driver-card .personnel-performance{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;align-self:stretch;flex:0 0 216px;gap:8px;padding-top:48px;padding-bottom:0}
.personnel-driver-card .personnel-rating{position:absolute;top:-22px;left:0;right:0;height:50px;min-width:0;padding:8px 14px;border-radius:0 0 18px 18px;background:#28571c;color:#f1ca38;gap:12px}
.personnel-driver-card .personnel-rating>strong{font-size:24px;font-weight:750}
.personnel-driver-card .personnel-rating.is-unrated>strong{font-size:14px;font-weight:600}
.personnel-driver-card .personnel-rating-stars{gap:2px}
.personnel-driver-card .personnel-rating-stars svg{width:23px;height:23px}
.personnel-driver-card .personnel-completed-count{font-size:36px;line-height:1;margin:0;color:#080d08}
.personnel-driver-card .personnel-completed-label{font-size:13px;line-height:1.4;font-weight:650;color:#33462d}
.personnel-driver-card .personnel-record-statuses{width:192px;gap:7px}
.personnel-driver-card .personnel-record-statuses>.personnel-status{font-size:14px;padding:7px 10px;line-height:1.3;border-radius:7px}
.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{font-size:15px;font-weight:650;background:#f0f3ec;color:#30442d}
.personnel-driver-card .personnel-current-status{font-size:13px;gap:8px;margin-top:0}
.personnel-driver-card .personnel-record-open{padding:7px 0}
@media(max-width:1200px) and (min-width:851px){.personnel-driver-card{padding:20px;gap:16px}.personnel-driver-card .personnel-record-main{gap:20px}.personnel-driver-card .personnel-avatar{width:88px;height:88px;flex-basis:88px}.personnel-driver-heading{gap:6px 20px}.personnel-driver-heading>strong{font-size:19px}.personnel-driver-card .personnel-name small{font-size:14px}.personnel-driver-card .personnel-performance{flex-basis:172px}.personnel-driver-card .personnel-rating{top:-20px}.personnel-driver-card .personnel-rating-stars svg{width:19px;height:19px}.personnel-driver-card .personnel-rating>strong{font-size:20px}.personnel-driver-card .personnel-record-statuses{width:165px}.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{font-size:12px}}
@media(max-width:850px){.personnel-driver-card{min-height:0;padding:18px;gap:14px}.personnel-driver-card.personnel-ranked{padding-left:66px}.personnel-driver-card .personnel-record-main{gap:16px}.personnel-driver-card .personnel-avatar{width:76px;height:76px;flex-basis:76px}.personnel-driver-heading{gap:5px 14px}.personnel-driver-heading>strong{font-size:18px}.personnel-driver-card .personnel-name{gap:7px}.personnel-driver-card .personnel-name small{font-size:13px}.personnel-driver-card .personnel-joined{font-size:12px}.personnel-driver-card .personnel-performance{position:static;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:3px 15px;padding:0}.personnel-driver-card .personnel-rating{position:static;grid-column:1;grid-row:1 / span 2;left:auto;right:auto;top:auto;height:40px;border-radius:9px;padding:7px 10px;gap:8px}.personnel-driver-card .personnel-rating-stars svg{width:18px;height:18px}.personnel-driver-card .personnel-rating>strong{font-size:18px}.personnel-driver-card .personnel-rating.is-unrated>strong{font-size:12px}.personnel-driver-card .personnel-completed-count{grid-column:2;grid-row:1;font-size:26px}.personnel-driver-card .personnel-completed-label{grid-column:2;grid-row:2;font-size:11px}.personnel-driver-card .personnel-record-statuses{width:auto;gap:6px}.personnel-driver-card .personnel-record-statuses>.personnel-status{font-size:12px;padding:6px 9px}.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{font-size:12px}}

/* All three driver badges share the Active/Connected appearance. */
.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{background:#e0f2e5;color:#216638;font-size:14px;font-weight:400;line-height:1.3;padding:7px 10px;border-radius:7px}
@media(max-width:1200px) and (min-width:851px){.personnel-driver-card .personnel-record-statuses>.personnel-status{font-size:12px}}
@media(max-width:850px){.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{font-size:12px;padding:6px 9px}}

.personnel-driver-card{padding-right:24px;gap:24px}
.personnel-driver-card .personnel-record-statuses{margin-left:0}
@media(max-width:850px){.personnel-driver-card{grid-template-columns:minmax(0,1fr);padding-right:18px}.personnel-driver-card .personnel-record-main{grid-column:1;grid-row:1}.personnel-driver-card .personnel-performance{grid-column:1;grid-row:2}.personnel-driver-card .personnel-record-statuses{grid-column:1;grid-row:3}}

.personnel-record.personnel-app-record{cursor:pointer}
/* Use the same compact type scale and padding as booking cards. */
.personnel-driver-card{min-height:112px;padding:12px 18px;gap:18px;border-radius:14px}
.personnel-driver-card.personnel-ranked{padding-left:84px}
.personnel-driver-card .personnel-record-main{gap:18px}
.personnel-driver-card .personnel-avatar{width:76px;height:76px;flex-basis:76px;font-size:20px;box-shadow:0 0 0 2px #f5f6f0}
.personnel-driver-heading{gap:6px 24px}
.personnel-driver-heading>strong{font-size:16px;font-weight:650;line-height:1.35}
.personnel-driver-card .personnel-name{gap:7px}
.personnel-driver-card .personnel-name small{font-size:13px;line-height:1.4}
.personnel-driver-card .personnel-joined{font-size:12px;line-height:1.4}
.personnel-driver-card .personnel-performance{flex-basis:154px;gap:5px;padding-top:30px}
.personnel-driver-card .personnel-rating{top:-12px;height:34px;padding:5px 8px;border-radius:0 0 12px 12px;gap:7px}
.personnel-driver-card .personnel-rating-stars svg{width:17px;height:17px}
.personnel-driver-card .personnel-rating>strong{font-size:17px}
.personnel-driver-card .personnel-rating.is-unrated>strong{font-size:12px}
.personnel-driver-card .personnel-completed-count{font-size:26px;line-height:1.1}
.personnel-driver-card .personnel-completed-label{font-size:12px;line-height:1.3;font-weight:600}
.personnel-driver-card .personnel-record-statuses{width:154px;gap:5px}
.personnel-driver-card .personnel-record-statuses>.personnel-status,.personnel-driver-card .personnel-record-statuses>.personnel-duty-status{font-size:12px;font-weight:400;line-height:1.3;padding:5px 8px;border-radius:6px}
.personnel-driver-card .personnel-rank{width:52px;font-size:34px}
@media(max-width:850px){.personnel-driver-card{min-height:0;padding:12px 14px;gap:11px}.personnel-driver-card.personnel-ranked{padding-left:60px}.personnel-driver-card .personnel-avatar{width:64px;height:64px;flex-basis:64px}.personnel-driver-card .personnel-record-main{gap:13px}.personnel-driver-card .personnel-name{gap:5px}.personnel-driver-heading{gap:4px 12px}.personnel-driver-card .personnel-performance{padding:0;gap:3px 14px}.personnel-driver-card .personnel-rating{position:static;height:34px;border-radius:7px}.personnel-driver-card .personnel-record-statuses{width:auto;gap:5px}.personnel-driver-card .personnel-completed-count{font-size:24px}.personnel-driver-card .personnel-rank{width:42px;font-size:28px}}
/* Centre the score, stars and completed count on the same axis. */
.personnel-driver-card .personnel-performance{flex-basis:180px;min-width:180px;align-items:center;text-align:center}
.personnel-driver-card .personnel-rating{display:flex;align-items:center;justify-content:center;gap:9px;padding:5px 12px;box-sizing:border-box;text-align:center}
.personnel-driver-card .personnel-rating-stars{flex-shrink:0;gap:3px;line-height:1}
.personnel-driver-card .personnel-rating-stars svg{width:16px;height:16px;flex-shrink:0}
.personnel-driver-card .personnel-rating>strong{flex-shrink:0;white-space:nowrap;margin:0;line-height:1}
.personnel-driver-card .personnel-completed-count,.personnel-driver-card .personnel-completed-label{display:block;width:100%;text-align:center}
@media(max-width:850px){.personnel-driver-card .personnel-performance{min-width:0;flex-basis:auto}.personnel-driver-card .personnel-rating{min-width:180px}.personnel-driver-card .personnel-completed-count,.personnel-driver-card .personnel-completed-label{width:auto;justify-self:center}}

/* Driver directory header: one action row and matching title count. */
.personnel-directory>header .personnel-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}.personnel-locations-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d4dbcf;border-radius:7px;padding:10px 16px;font-size:14px;font-weight:600;color:#293d2e;background:#fff;text-decoration:none}.personnel-locations-button:hover{background:#edf1e8}.admin-heading .driver-heading-count{font-size:clamp(28px,3.4vw,43px);font-weight:700;line-height:1.08;letter-spacing:-.045em;color:#18221d}@media(max-width:600px){.personnel-directory>header .personnel-header-actions{flex-wrap:wrap;gap:8px}.personnel-locations-button{padding:10px 12px}}

.admin-heading:has(.driver-heading-count) h1,.admin-heading .driver-heading-count{font-size:clamp(30px,3vw,48px);line-height:1.15;letter-spacing:-.04em;font-weight:700;margin:0;color:#18231d}.admin-heading .driver-heading-count{font-variant-numeric:tabular-nums;flex-shrink:0}@media(max-width:700px){.admin-heading:has(.driver-heading-count) h1,.admin-heading .driver-heading-count{font-size:30px}}

.driver-list-actions{display:flex;align-items:center;gap:6px}.personnel-directory>header .driver-list-actions button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #d4dbcf;border-radius:7px;background:#fff;color:#293d2e;cursor:pointer}.driver-list-actions svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.personnel-directory>header .driver-list-actions button:hover{background:#edf1e8}.personnel-directory>header .driver-list-actions button:disabled{opacity:.45;cursor:not-allowed}.personnel-directory>header .driver-list-feedback{order:4;flex-basis:100%;font-size:13px;text-align:right}.personnel-directory>header .personnel-header-actions{flex-wrap:wrap}.driver-list-actions button:focus-visible{outline:2px solid #b28c25;outline-offset:2px}

.personnel-warning.documents-complete{color:#487454}

/* Allocation availability and matching connection badge alignment. */
.personnel-driver-card .personnel-allocation-available{color:#216638}
.personnel-driver-card .personnel-allocation-unavailable{color:#a34427}
.personnel-driver-card .personnel-record-statuses>.personnel-status,.personnel-driver-card .personnel-record-statuses>.personnel-app-connect{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:28px;margin:0;text-align:center;font-family:inherit;font-size:12px;font-weight:400;line-height:1.3;padding:5px 8px;border-radius:6px;width:100%}
@media(max-width:850px){.personnel-driver-card .personnel-record-statuses>.personnel-status,.personnel-driver-card .personnel-record-statuses>.personnel-app-connect{width:auto;min-width:85px}}

.personnel-controls{flex-wrap:wrap}.personnel-controls input{flex:1 1 280px}.personnel-controls select{flex:0 1 auto;max-width:100%}.personnel-clear-filters{border:1px solid #d8dfd2;border-radius:8px;background:#fff;color:#526548;padding:10px 12px;font:inherit;font-size:13px;cursor:pointer}@media(max-width:700px){.personnel-controls select{flex:1 1 145px}}

.personnel-locations-button{background:#d2ad42;border-color:#b58b2b;color:#523d17}.personnel-locations-button:hover{background:#dfbb57;border-color:#a57e24;color:#432f10}.personnel-locations-button:focus-visible{outline:2px solid #84651f;outline-offset:3px}

.personnel-dialog{border:1px solid #d5ddcf;border-radius:18px;box-shadow:0 24px 90px #0b1c1940}.personnel-dialog>header{height:54px;padding:12px 20px;background:#fff;color:#24352a}.personnel-dialog>header strong{font-size:15px}.personnel-dialog>header button{border-radius:8px;color:#526347}.personnel-dialog iframe{height:calc(100% - 54px)}.personnel-dialog::backdrop{background:#13201cc2;backdrop-filter:blur(3px)}
