/* Fixed compact shell; extra vehicle fields scroll inside without resizing the page. */
.form-card{height:620px;overflow:hidden}.request-form{height:100%;overflow-y:auto;scrollbar-gutter:stable;overflow-anchor:none;padding-right:4px}.request-form [data-lockout][hidden],.request-form [data-vehicle][hidden]{display:none!important}.request-form [data-lockout],.request-form [data-vehicle]{height:auto}.request-form [data-vehicle]{margin-top:8px;padding-left:10px}.request-form .vehicle-heading{font:700 14px/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;margin:6px 0;color:#765216}.request-form label{font-size:12px;margin:6px 0 3px}.request-form input,.request-form select{min-height:36px;height:36px;padding:5px 8px;font-size:16px}.request-form .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-form .vehicle-grid{grid-template-columns:85px 1fr;gap:10px}.request-form .model-hint{margin:3px 0;font-size:11px;line-height:1.3}.request-form textarea{min-height:60px;height:60px}.request-form .form-status:empty{display:none}.request-form .form-intro{margin-bottom:10px}.request-form .photo-option{margin-top:5px}#request-dialog{height:min(680px,92dvh);max-height:92dvh;overflow:hidden}#request-dialog .request-form{height:calc(100% - 62px)}@media(max-width:700px){.form-card{height:650px;padding:20px}.request-form h2{font-size:28px}.request-form .form-subtitle{font-size:18px}.request-form .field-grid{display:grid;grid-template-columns:1fr 1fr}.request-form .vehicle-grid{grid-template-columns:80px 1fr}.request-form input,.request-form select{height:38px;min-height:38px}}
.request-form .vehicle-bottom{grid-template-columns:1fr 1fr}
/* Compact conditional fields, with no internal scrolling. */
.request-form{overflow:visible;scrollbar-gutter:auto;padding-right:0}.form-card{overflow:visible}.request-form:has([data-vehicle]:not([hidden])),.request-form:has([data-lockout]:not([hidden])){--compact:1}.request-form:has([data-vehicle]:not([hidden])) .form-intro,.request-form:has([data-lockout]:not([hidden])) .form-intro{display:none}.request-form:has([data-vehicle]:not([hidden])) label,.request-form:has([data-lockout]:not([hidden])) label{font-size:11px;margin:3px 0 2px}.request-form:has([data-vehicle]:not([hidden])) input,.request-form:has([data-vehicle]:not([hidden])) select,.request-form:has([data-lockout]:not([hidden])) input,.request-form:has([data-lockout]:not([hidden])) select{height:30px;min-height:30px;padding:3px 7px;font-size:16px}.request-form:has([data-vehicle]:not([hidden])) textarea,.request-form:has([data-lockout]:not([hidden])) textarea{height:40px;min-height:40px}.request-form:has([data-vehicle]:not([hidden])) .form-subtitle,.request-form:has([data-lockout]:not([hidden])) .form-subtitle{margin:2px 0 5px;font-size:17px}.request-form:has([data-vehicle]:not([hidden])) .vehicle-heading{font-size:12px;margin:4px 0 2px}.request-form [data-vehicle]{margin-top:4px}.request-form .model-hint{font-size:10px;line-height:1.2;margin:2px 0}.request-form:has([data-vehicle]:not([hidden])) .hint,.request-form:has([data-lockout]:not([hidden])) .hint{margin:3px 0}.request-form:has([data-vehicle]:not([hidden])) .form-actions,.request-form:has([data-lockout]:not([hidden])) .form-actions{margin-top:5px}.request-form:has([data-vehicle]:not([hidden])) .photo-option,.request-form:has([data-lockout]:not([hidden])) .photo-option{margin-top:2px}.request-form:has([data-vehicle]:not([hidden])) .photo-option summary,.request-form:has([data-lockout]:not([hidden])) .photo-option summary{padding:2px 0;font-size:11px}.request-form .availability{margin-top:4px;font-size:11px}.request-form .form-status{font-size:11px;line-height:1.3;margin-top:4px}.request-form input[type=file]{font-size:11px!important}.request-form:has([data-vehicle]:not([hidden])) .button,.request-form:has([data-lockout]:not([hidden])) .button{min-height:40px;padding:8px 12px}#request-dialog .request-form{overflow:visible}@media(max-height:700px){#request-dialog{height:92dvh;padding:12px}#request-dialog .dialog-top{margin-bottom:8px}#request-dialog .request-form h2{font-size:22px}#request-dialog .form-intro{display:none}}
.service-choice-grid{display:grid;grid-template-columns:1fr;gap:8px}.service-choice-grid:has([data-lockout]:not([hidden])){grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.service-choice-grid>div{min-width:0}.request-form:has([data-lockout]:not([hidden])) #home-service,.request-form:has([data-lockout]:not([hidden])) #modal-service{font-size:12px}.photo-option{position:relative}.photo-option[open]{z-index:5}.photo-option[open]>label,.photo-option[open]>.hint{display:none}.photo-option[open]>input{position:absolute;bottom:100%;left:0;width:100%;height:44px!important;background:#fff;box-shadow:0 3px 15px #0002;z-index:5}@media(max-width:360px){.request-form h2{font-size:23px}.request-form .form-subtitle{font-size:16px}.request-form .vehicle-bottom select{font-size:12px}}
/* One typography scale across every service state. */
.request-form label,.request-form:has([data-vehicle]:not([hidden])) label,.request-form:has([data-lockout]:not([hidden])) label{font-size:12px}
.request-form input,.request-form select,.request-form textarea,.request-form:has([data-vehicle]:not([hidden])) input,.request-form:has([data-vehicle]:not([hidden])) select,.request-form:has([data-lockout]:not([hidden])) input,.request-form:has([data-lockout]:not([hidden])) select,.request-form:has([data-lockout]:not([hidden])) #home-service,.request-form:has([data-lockout]:not([hidden])) #modal-service,.request-form .vehicle-bottom select{font-size:16px}
.service-choice-grid:has([data-lockout]:not([hidden])){grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:6px}
.request-form .form-subtitle,.request-form:has([data-vehicle]:not([hidden])) .form-subtitle,.request-form:has([data-lockout]:not([hidden])) .form-subtitle{font-size:18px}
.request-form .photo-option summary,.request-form:has([data-vehicle]:not([hidden])) .photo-option summary,.request-form:has([data-lockout]:not([hidden])) .photo-option summary{font-size:11px}
.request-form .button{font-size:16px}

/* Editable vehicle field with a native, always-reopenable full list. */
.request-form .vehicle-picker{position:relative;min-width:0}
.request-form .vehicle-picker input{padding-right:36px!important}
.request-form .vehicle-picker select.vehicle-picker-menu{position:absolute;right:0;top:0;width:30px;height:100%;min-height:0;padding:0;border:0;border-left:1px solid #ddd;border-radius:0 3px 3px 0;background-color:#f5f3ee;color:transparent;cursor:pointer;font-size:16px}
.request-form .vehicle-picker select.vehicle-picker-menu option{color:#111;background:#fff}
.request-form .vehicle-picker select.vehicle-picker-menu:focus-visible{outline:2px solid #a87922;outline-offset:1px}
.request-form .vehicle-picker:after{content:"";position:absolute;right:11px;top:calc(50% - 4px);width:6px;height:6px;border-right:2px solid #604b27;border-bottom:2px solid #604b27;transform:rotate(45deg);pointer-events:none}.request-form .vehicle-picker select.vehicle-picker-menu{appearance:none}
