.alsr-app{--ink:light-dark(#142b3d,#edf4f8);--paper:light-dark(#fff,#10212e);--base:light-dark(#f4f8f9,#0b1822);--line:light-dark(#dfe8ed,#2a3e4c);--soft:light-dark(#5e707d,#a8bac9);--red:#d62440;font:15px/1.7 'Segoe UI',Arial,sans-serif;color:var(--ink)}.alsr-app *{box-sizing:border-box}.alsr-app [hidden]{display:none!important}.alsr-panel{padding:28px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.alsr-app h2{font-size:25px;margin:20px 0 16px}.alsr-app h2:first-child{margin-top:0}.alsr-grid,.alsr-search{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.alsr-app label{display:block;font-size:13px;font-weight:600;min-width:0}.alsr-app input:not([type=checkbox]),.alsr-app select,.alsr-app textarea{display:block;width:100%;height:48px;margin-top:7px;padding:10px;border:1px solid var(--line);border-radius:6px;color:var(--ink);background:var(--paper);font:16px 'Segoe UI',Arial,sans-serif;min-width:0}.alsr-app textarea{height:auto;min-height:90px}.alsr-app .alsr-check{display:flex;gap:9px;align-items:flex-start;font-weight:400;margin:14px 0}.alsr-check input{margin:6px 0 0;accent-color:var(--red);width:17px;height:17px;flex-shrink:0}.alsr-button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;border:0;border-radius:7px;background:var(--red);color:#fff!important;padding:12px 19px;text-decoration:none;font:600 14px/1.5 'Segoe UI',Arial,sans-serif;cursor:pointer}.alsr-button:disabled{opacity:.55;cursor:not-allowed}.alsr-fleet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.alsr-car{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--paper)}.alsr-car>img{width:100%;height:200px;object-fit:contain;background:#fff;padding:18px}.alsr-car>div{padding:21px}.alsr-car h3{font-size:21px;margin:6px 0}.alsr-car p{margin:10px 0}.alsr-muted{color:var(--soft);font-size:12px}.alsr-quote{padding:20px;margin:23px 0;background:var(--base);border-radius:9px}.alsr-quote p{margin:6px 0}.alsr-quote strong{font-size:24px}.alsr-result{padding:10px 0;font-weight:600;overflow-wrap:anywhere}.alsr-honey{display:none!important}.alsr-company{display:grid;grid-template-columns:1fr 1fr;gap:17px;grid-column:1/-1}.alsr-grid>.alsr-check{grid-column:1/-1}@media(max-width:760px){.alsr-fleet{grid-template-columns:1fr 1fr}}@media(max-width:560px){.alsr-fleet,.alsr-grid,.alsr-search,.alsr-company{grid-template-columns:1fr}.alsr-panel{padding:19px}.alsr-app h2{font-size:22px}}

.alsr-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:0 0 27px}.alsr-progress li{font-size:12px;color:var(--soft);padding:11px 0;border-bottom:2px solid var(--line);text-align:center}.alsr-progress li[aria-current=step]{color:var(--red);border-bottom-color:var(--red);font-weight:700}.alsr-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.alsr-actions .alsr-button:last-child{margin-left:auto}.alsr-back{background:none;border:0;color:var(--soft);font-size:13px;min-height:44px;padding:10px 0;cursor:pointer}.alsr-review{padding:17px;background:var(--base);border-radius:9px;overflow-wrap:anywhere}.alsr-review p{margin:9px 0}@media(max-width:380px){.alsr-progress{gap:5px}.alsr-progress li{font-size:11px}}
/* ALS 0.5.4: availability cards, accessibility and responsive booking search */
.alsr-availability{margin:18px 0 28px;padding:clamp(18px,3vw,32px);border-radius:20px;background:#f2f8fa;color:#153348;border:1px solid #d5e6ed}
.alsr-availability h2{margin:0 0 12px;color:#0b2c43;font-size:clamp(21px,2vw,29px)}
.alsr-availability p,.alsr-availability span{color:#304d61;line-height:1.58}
.alsr-availability-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:20px}
.alsr-availability-car{min-width:0;background:#fff;border:1px solid #d5e6ed;border-radius:16px;overflow:hidden;box-shadow:0 7px 18px #112e4012}
.alsr-availability-car img{display:block;width:100%;height:165px;object-fit:contain;background:#f5f9fc;padding:10px}
.alsr-availability-car>div{padding:17px;display:flex;gap:8px;align-items:flex-start;flex-direction:column}
.alsr-availability-car strong{font-size:16px;color:#102e43}
.alsr-availability-car .alsr-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;margin-top:8px;color:white!important}
.alsr-search select,.alsr-search input{color:#142c3d!important;background:#fff!important}
.alsr-search label{color:#183347!important;font-weight:700}
@media(max-width:850px){.alsr-availability-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.alsr-availability-list{grid-template-columns:minmax(0,1fr)}.alsr-availability-car{display:grid;grid-template-columns:120px 1fr}.alsr-availability-car img{height:100%;min-height:150px}}

/* ALS 0.5.9 – accessible four-step customer booking and conditional acceptance. */
.alsr-booking-intro{background:#eff7fc;color:#11354e;border:1px solid #cfe6f4;padding:16px 20px;border-radius:14px;margin:12px 0 20px;line-height:1.65}
.alsr-booking.alsr-panel{background:#fff;color:#193447;box-shadow:0 14px 35px rgba(8,35,56,.1)}
.alsr-booking .alsr-progress li{color:#355a72;font-weight:650}
.alsr-booking .alsr-progress li[aria-current=step]{color:#c71838;border-bottom-color:#c71838}
.alsr-booking .alsr-grid label{color:#193447}
.alsr-booking :is(input:not([type=checkbox]),select,textarea){color:#193447!important;background:#fff!important;border-color:#b9cfdd!important}
.alsr-booking :is(input,select,textarea):focus-visible,.alsr-button:focus-visible,.alsr-back:focus-visible{outline:3px solid #1586b7;outline-offset:3px}
.alsr-booking .alsr-quote,.alsr-booking .alsr-review{background:#eef5fb;color:#123249;border:1px solid #cfe2ee}
.alsr-booking .alsr-result{color:#193447;min-height:24px}
.alsr-booking .alsr-success{margin-top:22px;padding:22px;background:#e8f9ee;border:1px solid #8bd8a3;border-radius:12px;color:#0d4e2b}
.alsr-booking .alsr-success strong{display:block;font-size:20px}
@media(max-width:640px){.alsr-booking .alsr-progress{gap:4px}.alsr-booking .alsr-progress li{font-size:11px;overflow-wrap:anywhere}.alsr-booking.alsr-panel{padding:18px}}

/* 0.5.30: leads never inherit the visual language of an invalid booking. */
.alsr-lead-info{margin:14px 0 0;padding:13px 16px;border:1px solid #96d7cd;border-left:4px solid #088878;background:#f1fbf9;color:#174c46;border-radius:10px;font-weight:600;line-height:1.55}
.alsr-quote .alsr-lead-info{max-width:100%}
