.vehicle-calendar{background:#F4F2EC;border-radius:14px;padding:12px 12px 10px;color:#1D1D1D;font-family:Geist,Arial,sans-serif;min-width:0;box-sizing:border-box}
.vehicle-calendar *{box-sizing:border-box}
.vehicle-calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.vehicle-calendar-heading select{min-width:0;flex:1;width:100%;height:44px;border:1px solid #DDD;border-radius:10px;padding:0 10px;background:#fff;color:#1D1D1D;font:600 13px/1 Geist,Arial,sans-serif;cursor:pointer}
.vehicle-calendar-horizon{margin:5px 0 0;text-align:center;font:400 10px/1.4 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-heading h3{margin:0;font:700 13px/1 Geist,Arial,sans-serif;letter-spacing:.04em}
.vehicle-calendar-heading button{width:32px;height:32px;border-radius:10px;border:1px solid #DDD;background:#fff;color:#1D1D1D;font:400 20px/1 Geist,Arial,sans-serif;cursor:pointer;flex:none}
.vehicle-calendar button:disabled{cursor:default}
.vehicle-calendar-heading button:disabled{opacity:.4}
.vehicle-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:10px;font:600 10px/1 Geist,Arial,sans-serif;color:#555;text-align:center}
.vehicle-calendar-days{margin-top:4px;display:grid;gap:3px}
.vehicle-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.vehicle-calendar-day{position:relative;height:36px;min-width:0;padding:0;border-radius:10px;border:1px solid transparent;background:transparent;color:#1D1D1D;font:600 12px/1 Geist,Arial,sans-serif;cursor:pointer}
.vehicle-calendar-day:not(:disabled):hover{box-shadow:inset 0 0 0 1px #1D1D1D}
.vehicle-calendar-day.is-unknown{border-color:#D4D2CC}
.vehicle-calendar-day.is-unavailable{background:#EBEBEB;color:#888;text-decoration:line-through}
.vehicle-calendar-day.is-partial{background:repeating-linear-gradient(135deg,transparent 0,transparent 5px,#E1DFD9 5px,#E1DFD9 8px)}
.vehicle-calendar-day.is-range{background:#DDD9D0;color:#1D1D1D}
.vehicle-calendar-day.is-range.is-partial{background:repeating-linear-gradient(135deg,#DDD9D0 0,#DDD9D0 5px,#C7C3B9 5px,#C7C3B9 8px)}
.vehicle-calendar-day.is-edge{background:#1D1D1D;color:#fff;border-color:#1D1D1D}
.vehicle-calendar-day.is-edge.is-partial{background:repeating-linear-gradient(135deg,#1D1D1D 0,#1D1D1D 5px,#444 5px,#444 8px)}
.vehicle-calendar-day.is-pickup{background:#046E82;color:#fff;border-color:#046E82}
.vehicle-calendar-day.is-pickup.is-partial{background:repeating-linear-gradient(135deg,#046E82 0,#046E82 5px,#3A8E9E 5px,#3A8E9E 8px)}
.vehicle-calendar-day.is-return{background:#1D1D1D;color:#fff;border-color:#1D1D1D}
.vehicle-calendar-day.is-pickup.is-return{background:linear-gradient(90deg,#046E82 0 50%,#1D1D1D 50% 100%);border-color:#046E82}
.vehicle-calendar-day.is-pickup.is-return.is-partial{background:repeating-linear-gradient(135deg,transparent 0,transparent 5px,#FFFFFF26 5px,#FFFFFF26 8px),linear-gradient(90deg,#046E82 0 50%,#1D1D1D 50% 100%)}
.vehicle-calendar-day.is-edge.is-unavailable,.vehicle-calendar-day.is-range.is-unavailable{background:#EBEBEB;color:#888;border-color:#888}
.vehicle-calendar-day.is-today:not(.is-edge){box-shadow:inset 0 0 0 1px #555}
.vehicle-calendar-day:disabled:not(.is-unavailable){color:#999}
.vehicle-calendar button:focus-visible,.vehicle-calendar input:focus-visible,.vehicle-calendar select:focus-visible{outline:2px solid #046E82;outline-offset:2px}
.vehicle-calendar-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;font:400 11px/1.3 Geist,Arial,sans-serif;color:#555;min-height:15px}
.vehicle-calendar-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.vehicle-calendar-legend i{display:block;width:10px;height:10px;border-radius:3px;flex:none}
.vehicle-calendar-legend .is-pickup{background:#046E82}
.vehicle-calendar-legend .is-return{background:#1D1D1D}
.vehicle-calendar-legend .is-booked{background:#EBEBEB;border:1px solid #AAA}
.vehicle-calendar-legend .is-partial{background:repeating-linear-gradient(135deg,#F4F2EC 0,#F4F2EC 2px,#AAA 2px,#AAA 3px)}
.vehicle-calendar-legend .is-unknown{border:1px solid #AAA}
.vehicle-calendar-status{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:32px;font:400 10px/1.35 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-status>span{min-width:0}
.vehicle-calendar-status button{border:0;background:transparent;padding:6px 0;font:600 10px/1 Geist,Arial,sans-serif;text-decoration:underline;color:#555;cursor:pointer;flex:none}
.vehicle-calendar-fields,.vehicle-calendar-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
.vehicle-calendar-field,.vehicle-calendar-time{display:flex;flex-direction:column;gap:5px;min-width:0;font:600 11px/1.3 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-phase{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:42px;padding:7px 8px;border:1px solid #DDD;border-left:3px solid #1D1D1D;border-radius:8px;background:#fff;color:#1D1D1D;text-align:left;font:600 11px/1.3 Geist,Arial,sans-serif;cursor:pointer}
.vehicle-calendar-phase strong{font:inherit}
.vehicle-calendar-phase>span{font:400 10px/1.3 Geist,Arial,sans-serif}
.vehicle-calendar-phase.is-pickup{background:#F0F8FA;border-color:#046E82;color:#046E82}
.vehicle-calendar-phase.is-pickup[aria-pressed=true]{background:#046E82;color:#fff;border-color:#046E82;box-shadow:inset 0 0 0 1px #046E82}
.vehicle-calendar-phase.is-return{border-color:#1D1D1D}
.vehicle-calendar-phase.is-return[aria-pressed=true]{background:#1D1D1D;color:#fff;border-color:#1D1D1D;box-shadow:inset 0 0 0 1px #1D1D1D}
.vehicle-calendar-times{margin-top:10px}
.vehicle-calendar-field input,.vehicle-calendar-time select{min-width:0;width:100%;height:36px;padding:7px 8px;border:1px solid #DDD;border-radius:8px;background:#fff;color:#1D1D1D;font:600 12px/1 Geist,Arial,sans-serif}
.vehicle-calendar-instruction{margin:12px 0 8px;min-height:28px;font:500 11px/1.35 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-summary{height:96px;margin-top:12px;padding-top:10px;border-top:1px solid #DDD;display:flex;flex-direction:column;gap:4px;overflow:auto;text-align:center}
.vehicle-calendar-summary>strong{font:600 12px/1.4 Geist,Arial,sans-serif}
.vehicle-calendar-summary>span{font:400 11px/1.35 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-estimate{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:4px}
.vehicle-calendar-estimate>span{font:600 11px/1.4 Geist,Arial,sans-serif}
.vehicle-calendar-estimate>b{font:700 20px/1 Geist,Arial,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.vehicle-calendar-summary .vehicle-calendar-price-note{font-size:10px;line-height:1.4}
.vehicle-calendar-message{height:46px;padding-top:7px;overflow:auto;font:400 11px/1.4 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-message[role=alert]{color:#B42318}
.vehicle-calendar-actions{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px}
.vehicle-calendar-actions>span{font:400 10px/1.35 Geist,Arial,sans-serif;color:#555}
.vehicle-calendar-apply{background:#1D1D1D;color:#fff;border:0;border-radius:10px;min-height:40px;padding:0 14px;font:600 12px/1 Geist,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.vehicle-calendar-apply:disabled{opacity:.6}
@media(max-width:699px){.vehicle-calendar{padding:12px 10px 10px}.vehicle-calendar-heading button{width:44px;height:44px}.vehicle-calendar-heading select{font-size:16px}.vehicle-calendar-day{height:40px;font-size:13px}.vehicle-calendar-field input,.vehicle-calendar-time select{height:38px}.vehicle-calendar-summary{height:134px}.vehicle-calendar-message{height:50px}}
