@charset "UTF-8";
:root{--ink:#163744;--accent:#bcf16b;--muted:#61747b;--line:#dce4e6;--soft:#f3f7f7;--white:#fff;--danger:#a42d28;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fbfcfc;font-size:16px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#327454}button,a,input,select,textarea{touch-action:manipulation}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 22px;border:1px solid var(--ink);border-radius:10px;background:var(--ink);color:white;font-weight:650;text-decoration:none;cursor:pointer;line-height:1.4}button:hover,.button:hover{background:#285361;color:white}.secondary{color:var(--ink);background:white;border-color:var(--line)}.secondary:hover{background:var(--soft);color:var(--ink)}:focus-visible{outline:3px solid #488318;outline-offset:4px}header{background:white;border-bottom:1px solid var(--line)}.container{width:min(1280px,calc(100% - 64px));margin:0 auto}.top{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;font-size:23px;font-weight:800;letter-spacing:-.6px;text-decoration:none;white-space:nowrap}.brand img{margin-right:9px}.brand span{color:#4f7d29}.top nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:600}.top nav a{text-decoration:none}.nav-cta{padding:11px 16px;border:1px solid var(--line);border-radius:9px}.search-intro{display:grid;grid-template-columns:2fr 1fr;gap:70px;align-items:end;padding:55px 0 30px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:1.7px;line-height:1.6;margin:0 0 14px;color:#51676e}h1,h2,h3,p{overflow-wrap:anywhere}h1{font-size:clamp(34px,4.1vw,57px);letter-spacing:-1.9px;line-height:1.1;font-weight:730;margin:0 0 22px}h1 span{color:#577d36}h2{font-size:25px;line-height:1.25;letter-spacing:-.5px;margin:0 0 13px}h3{font-size:18px;margin:24px 0 8px}p{margin:0 0 16px}.search-intro p:not(.eyebrow){max-width:620px;color:var(--muted)}.intro-note{border-left:1px solid var(--line);padding:6px 0 6px 32px;margin-bottom:10px}.number{display:block;font-size:12px;letter-spacing:2px;color:#718586;margin-bottom:16px}.intro-note strong{display:block;font-size:19px;margin-bottom:6px}.intro-note p{font-size:14px;margin:0}.panel{border:1px solid var(--line);border-radius:var(--radius);background:white;padding:28px;margin-bottom:24px}.search{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;gap:16px;align-items:end;background:var(--ink);color:white;border:none;padding:26px;margin-bottom:12px}.search button{background:var(--accent);color:var(--ink);border-color:var(--accent);min-height:50px}.search label{color:#e3ecec}.search input,.search select{border:0}.search+.micro{margin-bottom:40px}.micro{font-size:13px;color:var(--muted);line-height:1.5}.muted{color:var(--muted);font-size:14px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:32px 0 22px}.section-head h1,.section-head h2{margin:0}.section-head .eyebrow{margin-bottom:8px}.car-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.car-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white}.car-photo{display:block;width:100%;height:230px;object-fit:contain;background:#f0f4f4}.photo-empty{display:grid;place-items:center;min-height:175px;background:#edf2f2;color:#6e8083;font-size:14px;padding:25px;text-align:center}.car-body{padding:22px}.car-body h2{font-size:22px}.car-body .eyebrow{font-size:12px;letter-spacing:1px}.specs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.specs span{padding:5px 9px;border-radius:6px;background:var(--soft);font-size:13px;color:#526970}.conditions-mini{font-size:13px;color:var(--muted);padding:14px 0;border-top:1px solid var(--line)}.price-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:10px}.price-row strong{font-size:25px;line-height:1.1}.price-row span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.price-row .button{padding:10px 13px;font-size:14px}.car-body .micro{margin:14px 0 0}.empty{border:1px dashed #b6c8ca;border-radius:var(--radius);padding:44px;text-align:center;background:#f7fafa}.empty p{max-width:610px;margin:0 auto 18px;color:var(--muted)}.empty-symbol{display:inline-block;font-size:35px;color:#567d34;margin-bottom:14px}.narrow{max-width:680px;margin-left:auto;margin-right:auto}.auth{padding:50px 0}.stack{display:flex;flex-direction:column;gap:18px}.stack p{margin-bottom:0}.stack>button{align-self:flex-start}.stack>label,.form-grid>label{min-width:0}label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:600}input,select,textarea{border:1px solid #c5d2d5;border-radius:8px;min-height:48px;width:100%;padding:11px 12px;background:white;color:var(--ink);font-size:16px;font-weight:400;max-width:100%}textarea{resize:vertical;line-height:1.6}.check{flex-direction:row;align-items:flex-start;gap:10px;font-size:14px;font-weight:400}.check input{width:19px;min-height:19px;height:19px;margin:4px 0 0;flex-shrink:0;accent-color:var(--ink)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid>button{align-self:end}.notice{margin:22px 0;padding:18px 20px;border:1px solid #bed7a5;border-radius:12px;background:#f0f8e6;line-height:1.6;font-size:14px}.notice p{margin-top:10px}.notice.error{border-color:#e6bcb7;background:#fff2f0;color:var(--danger)}.notice code{overflow-wrap:anywhere}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,1fr);gap:32px;margin-top:28px}.detail-grid .car-photo{height:330px;border-radius:var(--radius);margin-bottom:24px}.detail-grid .photo-empty{border-radius:var(--radius);margin-bottom:24px}.back{display:inline-block;margin:28px 0 24px;font-size:14px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.facts div{border-bottom:1px solid var(--line);padding-bottom:15px}.facts dt{font-size:14px;color:var(--muted)}.facts dd{margin:3px 0 0;font-size:19px;font-weight:650}.prose{white-space:normal;overflow-wrap:anywhere;line-height:1.8}.big-price{font-size:42px;line-height:1.2;font-weight:750;letter-spacing:-1px;margin-bottom:14px}.booking-panel{border-top:5px solid var(--accent)}.workspace{display:grid;grid-template-columns:205px minmax(0,1fr);gap:40px;padding:40px 0}.workspace-name{font-size:15px;font-weight:750;margin-bottom:25px}.workspace aside nav{display:flex;flex-direction:column;gap:7px}.workspace aside nav a{padding:11px 12px;border-radius:8px;text-decoration:none;font-size:14px}.workspace aside nav a[aria-current]{background:#e8efed;font-weight:700}.workspace aside .text-button{padding:12px 0;font-size:14px;margin-top:30px}.text-button{background:transparent;border:none;color:var(--muted);text-decoration:underline}.text-button:hover{background:transparent;color:var(--ink)}.work-content h1{font-size:39px;margin-bottom:25px}.work-content .car-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.stats>div{padding:23px;border:1px solid var(--line);border-radius:14px;background:white}.stats span{display:block;color:var(--muted);font-size:14px;min-height:44px}.stats strong{display:block;font-size:34px;letter-spacing:-1px;margin-top:12px}.badge{display:inline-block;padding:5px 10px;border-radius:7px;background:#eef1f2;font-size:12px;line-height:1.4;white-space:normal}.badge.pending{background:#fff0cd;color:#725614}.badge.confirmed,.badge.approved,.badge.completed{background:#e4f2de;color:#3b642b}.badge.cancelled,.badge.declined,.badge.suspended{background:#f7e6e3;color:#913d35}.booking-row{border:1px solid var(--line);border-radius:12px;background:white;margin:12px 0}.booking-row summary{padding:20px;display:flex;gap:20px;align-items:center;justify-content:space-between;cursor:pointer;list-style:none}.booking-row summary:after{content:'+';font-size:23px;color:var(--muted)}.booking-row[open] summary:after{content:'−'}.booking-row summary>span:first-child{flex:1}.booking-row summary .muted{display:block;margin-top:5px}.booking-content{padding:0 22px 22px;border-top:1px solid var(--line)}.booking-content>p:first-child{margin-top:18px}.booking-content .prose{padding:18px;background:var(--soft);border-radius:10px;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.list-row{padding:22px;display:flex;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:12px;margin-bottom:15px;background:white}.list-row p{font-size:14px;margin:8px 0 0}footer{border-top:1px solid var(--line);margin-top:65px;background:#f2f6f6}.footer-inner{padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}.footer-inner .brand{font-size:19px}.footer-inner p{margin:0;color:var(--muted)}.skip{position:absolute;top:-100px;left:20px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}
@media(max-width:1050px){.top{flex-wrap:wrap;padding:20px 0;gap:15px}.top nav{gap:20px}.car-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search{grid-template-columns:1fr 1fr}.intro-note{display:none}.search-intro{grid-template-columns:1fr}.workspace{grid-template-columns:170px minmax(0,1fr);gap:25px}.stats{grid-template-columns:1fr}.stats span{min-height:0}.stats>div{display:flex;align-items:center;justify-content:space-between;gap:15px}.stats strong{margin:0;font-size:28px}.detail-grid{grid-template-columns:1fr 1fr}.footer-inner{flex-wrap:wrap}}
@media(max-width:720px){.container{width:calc(100% - 32px)}.top{min-height:auto}.brand{font-size:21px}.top nav{width:100%;gap:8px 16px;flex-wrap:wrap;font-size:13px}.nav-cta{padding:7px 10px}.search-intro{padding:35px 0 15px;gap:0}h1{font-size:38px;letter-spacing:-1.1px}.search{padding:18px;gap:15px;grid-template-columns:1fr}.search button{width:100%}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.car-grid,.work-content .car-grid,.detail-grid{grid-template-columns:1fr}.panel{padding:21px}.empty{padding:30px 20px}.workspace{display:block;padding-top:25px}.workspace aside{margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:12px}.workspace-name{margin-bottom:10px}.workspace aside nav{flex-direction:row;flex-wrap:wrap;gap:2px}.workspace aside nav a{padding:8px 10px}.workspace aside .text-button{margin:5px 0 0;padding:8px 10px}.work-content h1{font-size:32px}.form-grid{grid-template-columns:1fr}.booking-row summary{padding:16px;flex-wrap:wrap;gap:12px}.booking-row summary>span:first-child{flex-basis:100%}.list-row{flex-direction:column}.footer-inner{display:block}.footer-inner>*{margin-bottom:15px}.footer-inner p{margin:15px 0}.auth{padding:35px 0}.detail-grid .car-photo{height:250px}.stats strong{font-size:24px}.big-price{font-size:36px}}
@media print{header,footer,button,.back{display:none}body{background:white}.container{width:100%}.panel,.notice{break-inside:avoid;border:1px solid #aaa}.auth{padding:0}.narrow{max-width:none}}
.quote-details{margin:20px 0;font-size:14px}.quote-details summary{cursor:pointer;font-weight:650;padding:10px 0}.quote-details table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.quote-details th,.quote-details td{padding:10px 5px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.quote-details td:last-child,.quote-details th:last-child{text-align:right;white-space:nowrap}.weekdays{display:flex;gap:12px;flex-wrap:wrap}fieldset{border:1px solid var(--line);border-radius:10px;padding:18px}legend{padding:0 8px;font-size:14px}.search-intro{padding-top:35px;gap:35px}.search-intro h1{font-size:clamp(32px,3.4vw,48px)}
/* Operations calendar: scoped horizontal scrolling with persistent row labels. */
.work-content{min-width:0}.calendar-toolbar{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:14px;align-items:end}.calendar-navigation{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:18px 0;flex-wrap:wrap}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.calendar-legend span{padding:5px 10px;border-radius:4px;font-size:12px}.calendar-scroll{overflow:auto;max-height:660px;border:1px solid #dbe3ea;border-radius:8px;background:white}.rate-calendar{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.rate-calendar th,.rate-calendar td{border-right:1px solid #e1e6eb;border-bottom:1px solid #e1e6eb;padding:7px 4px;min-width:76px;text-align:center;height:35px}.rate-calendar thead th{position:sticky;top:0;z-index:3;background:#f1f5f9;color:#334155;font-size:17px;height:74px}.rate-calendar small{display:block;font-weight:400;font-size:11px}.rate-calendar .sticky-label{position:sticky;left:0;z-index:2;min-width:210px;width:210px;max-width:210px;text-align:left;padding:10px 12px;background:white;white-space:normal;box-shadow:2px 0 3px #00000008}.rate-calendar thead .sticky-label{z-index:5;background:#edf4fa;font-size:14px}.rate-calendar .calendar-vehicle th,.rate-calendar .calendar-vehicle td{background:#eaf1f7;border-top:8px solid #f6f8fb;height:58px;text-align:left;font-size:14px;font-weight:700}.rate-calendar .calendar-vehicle td{padding-left:16px;font-size:12px;font-weight:400}.rate-calendar .weekend{background:#e2eaf3}.calendar-cell{display:block;color:#124f83;text-decoration:none;padding:5px;font-weight:600}.calendar-cell:hover,.calendar-cell:focus{background:#dbeafe;outline:2px solid #246ab2;border-radius:3px}.row-price td{background:#f7fbff}.row-pending{color:#66788a}.cal-open{background:#e1f6e6;color:#196232}.cal-booked{background:#f9e1dc;color:#983b2a}.cal-away{background:#edf0f5;color:#5a677a}.cal-closed{background:#ffe4e4;color:#9f2525}.row-state span{font-size:10px;white-space:nowrap}.calendar-editor{margin-top:30px;scroll-margin-top:20px}.vehicle-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-height:220px;overflow:auto;gap:8px}.vehicle-checks small{color:#728195}.table-scroll{overflow:auto}.fleet-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.fleet-toolbar label{flex:1}.ops-links{display:flex;gap:15px;flex-wrap:wrap}.booking-filter{margin-bottom:24px}.alert-date{color:#9b321f;font-weight:600}.booking-search{grid-template-columns:1.2fr 1.2fr 1fr 1fr auto}.route-picker{margin:20px 0}.route-picker .form-grid{align-items:end}
@media(max-width:1100px){.calendar-toolbar{grid-template-columns:1fr 1fr}.booking-search{grid-template-columns:1fr 1fr}.booking-search button{min-height:48px}}
@media(max-width:650px){.calendar-toolbar{grid-template-columns:1fr}.calendar-navigation{font-size:12px}.rate-calendar .sticky-label{min-width:140px;width:140px;max-width:140px;padding:7px;font-size:11px}.rate-calendar th,.rate-calendar td{min-width:68px}.calendar-legend{gap:5px}.calendar-legend span{font-size:10px}.booking-search{grid-template-columns:1fr}.fleet-toolbar{display:block}}
/* Group calendar editing */
[hidden]{display:none!important}
.calendar-selection-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;position:sticky;top:0;z-index:25;background:#fff;padding:12px;border:1px solid #dbe4ed;border-radius:12px;box-shadow:0 4px 14px #1535510b;margin:12px 0}
.calendar-selection-bar [aria-pressed="true"]{background:#124b80;color:#fff}
.calendar-selection-bar [role="status"]{flex:1;font-size:13px;min-width:160px}
.editable-calendar .calendar-cell{display:flex;justify-content:center;align-items:center;min-height:42px;margin:0;padding:8px 7px;color:#173b5e;font-weight:600;border:2px solid transparent;border-radius:4px;min-width:72px;text-decoration:none}
.editable-calendar td{padding:0!important}
.editable-calendar .calendar-cell:hover,.editable-calendar .calendar-cell:focus-visible{background:#e9f3ff;border-color:#327ab5;outline:none}
.editable-calendar .calendar-cell.is-selected{background:#d3e8ff;border-color:#145d9c;color:#0c355c}
.editable-calendar .sticky-label{min-width:192px}
.editable-calendar .calendar-count{display:block;text-align:center;padding:11px;color:#526477;text-decoration:underline}
.calendar-group-heading{display:flex;align-items:center;gap:24px;padding:14px;max-width:1050px;font-size:13px;white-space:normal;text-align:left}
.calendar-group-heading span{flex:1}
.publication-issue{color:#9c441c;font-size:13px;font-weight:600}
.publication-ready{color:#187047}
.calendar-dialog{border:0;border-radius:18px;padding:26px;max-width:510px;width:calc(100% - 28px);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0b254044;color:#173149}
.calendar-dialog::backdrop{background:#0b254088}
.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.dialog-heading h2{margin:4px 0 12px;font-size:25px}
.dialog-heading button{font-size:22px;line-height:1;padding:8px 12px}
.calendar-dialog form{margin:0}
.calendar-dialog .actions{display:flex;gap:10px;flex-wrap:wrap}
.calendar-dialog .check{font-size:14px}
@media(max-width:600px){.editable-calendar .sticky-label{min-width:145px;max-width:145px;font-size:11px;white-space:normal}.calendar-dialog{padding:18px}.calendar-selection-bar{gap:8px}.calendar-selection-bar button{padding:9px;font-size:12px}.calendar-selection-bar [role="status"]{flex-basis:100%;order:5}.calendar-navigation strong{font-size:12px}.calendar-group-heading{max-width:650px}}
