/* Auto-Quote — A's placement (inside Get a Quote) + C's results screen (one ranked list per job).
   Ziv's ruling 2026-09-03. Composes the portal's own tokens only: --blue, --blue-dark, --ink, --grey-mid,
   --grey-light, --success, --danger, .v2-panel, .v2-card, .v2-pill, .v2-tagbtn, .v2-link-btn, .v2-cta.
   Finger-first: every tile is a <button>, targets ≥ 44px, nothing depends on hover. */
.aq { --aq-line: #e3eaf0; --aq-warn-bg: #faeeda; --aq-warn: #854f0b; }
.aq .v2-cta { max-width: none; }   /* round 14 (Ascension, 2026-09-15): the Home hero's 580px cap does not apply here; the block runs as wide as the panels around it */
.aq .v2-cta > p { max-width: 680px; margin-bottom: 0; }   /* the intro sentence stays readable when the block runs wide */
/* Round 14 (Ascension, 2026-09-15): the run block is a stack. The dropzone is a compact horizontal tile in the portal's
   light-blue weight (it is the point of the page, not a billboard); "What to quote" then spreads across the width. */
.aq .aq-cta { display: grid; gap: 20px; grid-template-columns: 1fr; margin-top: 20px; }   /* every block on this screen is 20px apart, like the site's panels */
.aq .aq-drop { border: 2px dashed #9ccbee; border-radius: 16px; background: #eef6fc; padding: 16px 20px; text-align: left; min-height: 0;
  display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px 18px; cursor: pointer; font: inherit; width: 100%; color: var(--ink); }
.aq .aq-drop:active, .aq .aq-drop.is-over { border-color: var(--blue); background: #e2f0fb; }
.aq .aq-drop strong { font-size: 16px; font-weight: 800; flex: 0 0 auto; }
.aq .aq-drop span { font-size: 13px; color: var(--grey-mid); line-height: 1.5; flex: 1 1 260px; max-width: none; }
.aq .aq-drop .v2-link-btn { color: #fff; min-height: 44px; display: inline-flex; align-items: center; margin-left: auto; flex: 0 0 auto; }
.aq .aq-files { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-start; flex-basis: 100%; }
@media (max-width: 759px) { .aq .aq-drop { flex-direction: column; align-items: flex-start; } .aq .aq-drop span { flex: 0 0 auto; } .aq .aq-drop .aq-files { flex-basis: auto; } .aq .aq-drop .v2-link-btn { margin-left: 0; } }
.aq .aq-what-panel { display: grid; grid-template-columns: 1fr; column-gap: 32px; }
.aq .aq-which-h { margin-top: 14px; }
@media (min-width: 760px) { .aq .aq-what-panel { grid-template-columns: 1fr 1fr; } .aq .aq-what-panel .aq-go { grid-column: 1 / -1; } .aq .aq-which-h { margin-top: 0; } }
.aq .aq-files li { font-size: 12px; background: #eef2f5; border-radius: 8px; padding: 6px 10px; display: inline-flex; gap: 8px; align-items: center; min-height: 32px; }
.aq .aq-files li button { border: 0; background: transparent; font: inherit; color: var(--danger); cursor: pointer; min-width: 32px; min-height: 32px; }
.aq .aq-disclosure { font-size: 12px; color: var(--grey-mid); line-height: 1.5; margin-top: 10px; }
.aq .aq-lines { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0 4px; justify-content: flex-start; }
.aq .aq-lines .v2-tagbtn { min-height: 44px; }
.aq .aq-lines .v2-tagbtn.is-on { background: #dff0fb; color: #0c5e93; border-color: #7cc0ea; }
.aq .aq-input { display: block; width: 100%; margin-top: 6px; min-height: 44px; border: 1px solid var(--aq-line); border-radius: 10px; padding: 0 12px; font: inherit; }
.aq .aq-run { width: auto; min-width: 240px; margin-top: 14px; min-height: 48px; justify-content: center; }
@media (max-width: 759px) { .aq .aq-run { width: 100%; } }
.aq .aq-run[disabled] { opacity: .55; cursor: not-allowed; }
.aq .aq-wiz-run[disabled] { opacity: .55; cursor: not-allowed; }   /* Run on step 4 looks off until a kept carrier is green (AS-2009, 2026-10-21; every kept carrier before), like Next on step 1 (2026-10-12) */
.aq .aq-error { color: var(--danger); font-size: 13px; margin-top: 8px; }
#centrio-chat .cbc-err { color: var(--danger, #c0392b); font-size: 13px; margin-top: 8px; }   /* Joe 2026-10-16 (R1): the chat's send and edit errors, inside or outside the module's root */

.aq .aq-jobs { margin-top: 20px; }
/* one column, stacked: title (with its pill), then the status line, then the carrier chips — a long status line must
   never squeeze the title (Ziv 2026-09-03: "we have some line break issues") */
.aq .aq-job { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; align-items: start; padding: 16px 18px; border: 1.5px solid var(--aq-line);
  border-radius: 14px; background: #fff; margin-top: 12px; width: 100%; text-align: left; font: inherit; cursor: pointer; color: var(--ink); }
.aq .aq-job:active { border-color: var(--blue); }
.aq .aq-job .who { font-weight: 800; font-size: 15px; color: var(--blue-dark); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.aq .aq-job .when { font-size: 12px; color: #8a97a5; line-height: 1.45; overflow-wrap: anywhere; }
.aq .aq-job .prog { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 2px; }
.aq .aq-carrier { font-size: 12px; background: #eef2f5; color: #36444f; border-radius: 7px; padding: 6px 10px; display: inline-flex; gap: 6px; align-items: center; min-height: 32px; }
.aq .aq-carrier i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; background: #bbbcbb; }
.aq .aq-carrier.is-running i { background: #e5a73a; animation: aq-pulse 1.2s infinite; }
.aq .aq-carrier.is-rated i { background: var(--success); }
.aq .aq-carrier.is-declined i, .aq .aq-carrier.is-failed i { background: var(--danger); }
.aq .aq-carrier.is-unavailable i { background: #b8b8b8; }
.aq .aq-carrier.is-unavailable { color: #777; }
.aq .aq-carrier.is-needs-human i, .aq .aq-carrier.is-uw-review i, .aq .aq-carrier.is-code-window-closed i { background: var(--aq-warn); }
@keyframes aq-pulse { 50% { opacity: .35; } }
.aq .aq-empty { text-align: center; color: var(--grey-mid); font-size: 13px; padding: 22px; }

/* C — the job screen */
.aq .aq-bar { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.aq .aq-bar .v2-link-btn { min-height: 48px; display: inline-flex; align-items: center; flex: 1; justify-content: center; }
.aq .aq-ghost { background: #fff !important; color: var(--blue) !important; border: 1.5px solid #b9dcf3 !important; }
.aq .aq-back { border: 0; background: transparent; font: inherit; color: var(--blue); font-weight: 700; min-height: 44px; padding: 0 4px; cursor: pointer; }
/* #85: the small Discard X across from All quotes (a quote past document upload, before Run) */
.aq .aq-head-top { display: flex; align-items: center; justify-content: space-between; gap: 0 16px; flex-wrap: wrap; }
.aq .aq-discard { border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700; color: #5c6b79; min-height: 44px; padding: 0 4px; cursor: pointer; }
.aq .aq-discard:hover, .aq .aq-discard:focus-visible { color: #b42318; text-decoration: underline; text-underline-offset: 2px; }
.aq .aq-discard[aria-disabled="true"] { cursor: default; color: #93a0ad; text-decoration: none; }
/* Joe 2026-10-16 (shape plan R2): the header's right side. Chat about this quote on every quote page, then the one destructive
   control: Discard this quote before Run, or Stop quote from Run until the quote ends (the same quiet look as Discard). */
.aq .aq-head-chat { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; border: 1.5px solid #b9dcf3; background: #fff; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--blue); min-height: 40px; padding: 0 14px; border-radius: 10px; cursor: pointer; }
.aq .aq-head-chat:hover, .aq .aq-head-chat:focus-visible { border-color: var(--blue); background: #eef6fc; }
.aq .aq-head-chat-ico { flex: 0 0 auto; }
.aq .aq-stop { display: inline-flex; align-items: center; gap: 7px; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 700; color: #5c6b79; min-height: 44px; padding: 0 4px; cursor: pointer; }
.aq .aq-stop:hover, .aq .aq-stop:focus-visible { color: #b42318; text-decoration: underline; text-underline-offset: 2px; }
.aq .aq-stop[aria-disabled="true"] { cursor: default; color: #93a0ad; text-decoration: none; }
.aq .aq-stop-ico { flex: 0 0 auto; width: 9px; height: 9px; border-radius: 2px; background: currentColor; }
@media (max-width: 759px) { .aq .aq-head-chat { order: 2; margin: 0 0 6px; } }   /* a phone: My quotes and the destructive control share the top line, the chat button sits under them */
.aq .aq-rank { margin-top: 14px; }
.aq .aq-rank-h { margin: 18px 0 0; font-size: 13px; font-weight: 800; color: #36444f; }   /* Joe 2026-10-15: each line ranks on its own, under its name */
.aq .aq-rank-h:first-child { margin-top: 4px; }
.aq .aq-row { display: grid; grid-template-columns: 44px 1fr auto; gap: 12px; align-items: center; padding: 16px; border: 1.5px solid var(--aq-line); border-radius: 14px;
  background: #fff; margin-top: 10px; width: 100%; text-align: left; font: inherit; cursor: pointer; color: var(--ink); }
.aq .aq-row[aria-expanded="true"] { border-radius: 14px 14px 0 0; }
.aq .aq-row .pos { width: 40px; height: 40px; border-radius: 50%; background: #e6f1fb; color: var(--blue-dark); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.aq .aq-row.is-best .pos { background: var(--success); color: #fff; }
.aq .aq-row.is-running .pos { background: var(--aq-warn-bg); color: var(--aq-warn); }
.aq .aq-row.is-declined .pos, .aq .aq-row.is-failed .pos { background: #fff5f4; color: var(--danger); }
.aq .aq-row.is-unavailable .pos { background: #f2f2f2; color: #777; }
.aq .aq-row.is-unavailable { color: #777; }
.aq .aq-row.is-needs-human .pos, .aq .aq-row.is-uw-review .pos, .aq .aq-row.is-code-window-closed .pos { background: var(--aq-warn-bg); color: var(--aq-warn); }
.aq .aq-row .carrier { font-weight: 800; font-size: 15px; }
.aq .aq-row .sub { font-size: 14px; color: #1f2d3a; margin-top: 2px; line-height: 1.4; }   /* #95 (AS-1795): the row's sentence at 14px and dark, 14:1 */
.aq .aq-row .prem { font-size: 22px; font-weight: 800; color: var(--blue-dark); text-align: right; line-height: 1; }
.aq .aq-row .prem small { display: block; font-size: 11px; color: var(--grey-mid); font-weight: 600; margin-top: 3px; }
.aq .aq-row .prem.is-state { color: var(--grey-mid); font-size: 14px; }
.aq .aq-row .prem .aq-est { display: block; margin: 6px 0 0 auto; max-width: 150px; font-size: 11px; font-weight: 700; line-height: 1.3; color: var(--aq-warn); background: var(--aq-warn-bg); border-radius: 10px; padding: 3px 8px; text-align: right; white-space: normal; }   /* #55: an estimate price */
.aq .aq-row .prem .aq-alone { display: block; margin: 6px 0 0 auto; max-width: 150px; font-size: 11px; font-weight: 700; line-height: 1.3; color: #0c447c; background: #e6f1fb; border-radius: 10px; padding: 3px 8px; text-align: right; white-space: normal; }   /* AS-2009 (2026-10-21): a Home or an Auto priced alone, with no bundle (calm blue: a real price, not a warning) */
.aq .aq-row .sub .aq-alone-say { display: block; margin-top: 2px; }
.aq .aq-row .flag { font-size: 11px; font-weight: 700; color: var(--aq-warn); background: var(--aq-warn-bg); border-radius: 10px; padding: 3px 8px; margin-left: 6px; white-space: nowrap; }
.aq .aq-row.is-muted .carrier { color: var(--grey-mid); }
.aq .aq-detail { border: 1.5px solid var(--aq-line); border-top: none; border-radius: 0 0 14px 14px; background: #fbfcfd; padding: 14px 16px 16px; }
.aq .aq-detail .aq-note { font-size: 14px; color: #1f2d3a; }   /* #95: every sentence on an open card, 13.7:1; the run number stays small */
.aq .aq-rank > .aq-note { font-size: 14px; }   /* #95: the line under a card (Watch couldn't open) keeps its red */
.aq .aq-kv { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; font-size: 13px; margin: 0; }
.aq .aq-kv dt { color: var(--grey-mid); } .aq .aq-kv dd { margin: 0; font-weight: 700; text-align: right; }
.aq .aq-review { margin: 12px 0 0; padding-left: 18px; font-size: 12.5px; line-height: 1.45; }
.aq .aq-review li { margin-top: 6px; }
.aq .aq-conf { display: inline-block; font-size: 9.5px; font-weight: 700; padding: 1px 5px; border-radius: 8px; background: var(--aq-warn-bg); color: var(--aq-warn); margin-left: 4px; line-height: 14px; }
.aq .aq-verdict { border-left: 4px solid var(--danger); background: #fff5f4; padding: 12px 14px; border-radius: 10px; font-size: 14px; line-height: 1.5; margin-top: 4px; }
.aq .aq-verdict.is-uw-review, .aq .aq-verdict.is-needs-human { border-color: var(--aq-warn); background: #fdf7ea; }
.aq .aq-carried { font-size: 11.5px; font-weight: 600; color: #5c6b79; }   /* #86: a document carried over from the earlier quote */
.aq .aq-verdict.is-discarded { border-color: #93a0ad; background: #f4f7f9; }   /* #85: the Agency's own choice, not an error */
.aq .aq-verdict.is-not-quoted { border-color: #93a0ad; background: #f4f7f9; }   /* #97: our own rule kept the carrier off; nothing to fix, not an error */
.aq .aq-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.aq .aq-actions .v2-link-btn { min-height: 44px; display: inline-flex; align-items: center; flex: 1; justify-content: center; }
.aq .aq-note { font-size: 12.5px; color: var(--grey-mid); margin-top: 10px; line-height: 1.5; }

/* review items — today's bot conventions: icon, source colour, a High / Medium / Low confidence pill (Ziv #77), one sentence, "why?" */
.aq .aq-items { list-style: none; padding: 0; margin: 12px 0 0; }
.aq .aq-item { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 8px 0; border-top: 1px solid #eef1f3; font-size: 13px; line-height: 1.45; }
.aq .aq-item:first-child { border-top: 0; }
.aq .aq-ic { font-size: 16px; line-height: 1.3; }
.aq .aq-val { font-weight: 700; color: var(--blue-dark); }
.aq .aq-pct { display: inline-block; font-size: 10.5px; font-weight: 800; padding: 1px 7px; border-radius: 10px; margin-left: 4px; vertical-align: middle; white-space: nowrap; }
.aq .aq-conf-key { margin: 14px 0 0; }   /* the one-line key above a review list (Ziv #77), close to the list it explains */
.aq .aq-conf-key + .aq-items { margin-top: 2px; }
.aq .aq-jobs + .v2-panel { margin-top: 20px; }   /* Ziv #79: Your quotes at the top keeps the page's 20px gap to the panel under it */
.aq[data-aq-wait] > [data-aq-slot] { display: none !important; }   /* the beta chat card waits out of sight with the page (v7.0.2) */
.aq .aq-watch-msg { color: #b42318; margin: 2px 0 8px; }   /* Ziv #74: Watch couldn't open, said on the row */
.aq .aq-pct.high { background: #d1fae5; color: #047857; } .aq .aq-pct.med { background: #fef3c7; color: #92400e; } .aq .aq-pct.low { background: #fee2e2; color: #b91c1c; }
.aq .aq-src { display: inline-block; font-size: 10.5px; font-weight: 700; padding: 1px 7px; border-radius: 10px; margin-left: 4px; vertical-align: middle; background: #eef2f5; color: #36444f; }
.aq .aq-src.src-doc { background: #e6f1fb; color: #0c5e93; } .aq .aq-src.src-assumed, .aq .aq-src.src-default { background: #faeeda; color: #854f0b; }
.aq .aq-src.src-set { background: #ede9fe; color: #5b21b6; } .aq .aq-src.src-agent { background: #d1fae5; color: #047857; } .aq .aq-src.src-learned { background: #e0f2fe; color: #075985; }
.aq .aq-sent { color: #36444f; margin-top: 2px; }
/* Joe 2026-10-06 + shape plan R2 (2026-10-16): What CENTRiO assumed, read only, under the To review list on an opened row */
.aq .aq-asm { margin-top: 14px; padding-top: 10px; border-top: 1px solid #e3e8ed; }
.aq .aq-asm-h { font-size: 13.5px; font-weight: 800; color: #1f2d3a; }
.aq .aq-asm .aq-items { margin-top: 4px; }
.aq .aq-asm .aq-asm-line { margin-top: 8px; }
.aq .aq-items > li.aq-asm-h { list-style: none; margin-top: 10px; padding-top: 8px; border-top: 1px solid #e3e8ed; }   /* the staff card's copy of the heading */
.aq .aq-why summary { font-size: 12px; color: var(--grey-mid); cursor: pointer; margin-top: 4px; min-height: 28px; display: inline-flex; align-items: center; }
.aq .aq-why div { font-size: 12.5px; color: #4b5b6b; background: #f6f8fa; border-radius: 8px; padding: 8px 10px; margin-top: 4px; }

/* Watch (AS-423): opens the run's live browser in a new tab */
.aq .aq-watch { display: inline-flex; align-items: center; justify-content: center; margin-top: 6px; min-height: 36px; padding: 0 12px; border-radius: 10px; background: #e6f1fb; color: #0c5e93; font-size: 12px; font-weight: 700; cursor: pointer; }
.aq .aq-row .prem.is-state { display: flex; flex-direction: column; align-items: flex-end; }
.aq .aq-assumed { display:inline-block; margin-left:4px; padding:1px 6px; border-radius:8px; font-size:10px; font-weight:800; line-height:14px; background:#fdecec; color:#b03a2e; border:1px solid #f1b5ad; } /* red = we assumed it, so the Agent checks it (Joe, 2026-10-12: "put assumed in red so its obvious"); amber 'check' = low confidence */
.aq .aq-lbl { display:flex; align-items:center; gap:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-height:18px; }
.aq .aq-jobs-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.aq .aq-jobs-count { font-weight:400; color:#6b7280; font-size:13px; margin-left:4px; }
.aq .aq-creds-link { font-size:13px; white-space:nowrap; text-decoration:none; color:var(--accent, #1d4f8a); font-weight:600; }
.aq .aq-scroll { max-height:380px; overflow-y:auto; padding-right:6px; scrollbar-width:thin; scrollbar-color:#c7cdd6 transparent; }
.aq .aq-scroll::-webkit-scrollbar { width:8px; }
.aq .aq-scroll::-webkit-scrollbar-thumb { background:#c7cdd6; border-radius:8px; }
.aq .aq-scroll::-webkit-scrollbar-track { background:transparent; }
.aq-lightbox { position:fixed; inset:0; background:rgba(15,23,42,.88); z-index:9999; display:flex; flex-direction:column; color:#fff; }
.aq-lightbox .aq-lb-top { display:flex; justify-content:space-between; align-items:center; padding:12px 18px; font-weight:600; }
.aq-lightbox .aq-lb-close { font-size:28px; line-height:1; background:transparent; border:0; color:#fff; cursor:pointer; }
.aq-lightbox .aq-lb-body { flex:1; display:flex; align-items:center; justify-content:center; gap:10px; min-height:0; padding:0 12px; }
.aq-lightbox .aq-lb-img { max-width:calc(100vw - 120px); max-height:calc(100vh - 130px); object-fit:contain; background:#fff; border-radius:6px; }
.aq-lightbox .aq-lb-nav { font-size:34px; background:rgba(255,255,255,.12); border:0; color:#fff; width:44px; height:64px; border-radius:8px; cursor:pointer; }
.aq-lightbox .aq-lb-cap { text-align:center; padding:10px 16px 16px; font-size:13px; opacity:.9; }
.aq .aq-copy { font:inherit; font-size:11px; padding:1px 8px; border-radius:8px; border:1px solid #cbd5e1; background:#fff; cursor:pointer; margin-left:4px; }
/* #93 (Joe 2026-10-16): the carrier's quote number beside the price on a rated row, with its own copy control */
.aq .aq-row .prem .aq-qn-row { display: block; margin-top: 6px; font-size: 12px; font-weight: 600; color: #36444f; line-height: 1.3; white-space: nowrap; }
.aq .aq-row .prem .aq-qn { font-weight: 800; color: #1f2d3a; }
.aq .aq-row .prem .aq-qn-copy { display: inline-flex; align-items: center; vertical-align: middle; min-height: 30px; padding: 0 10px; margin-left: 6px; font-size: 12px; font-weight: 700; color: #0c5e93; }
.aq .aq-row .prem .aq-qn-copy:focus-visible { outline: 3px solid #0f6fb5; outline-offset: 1px; }
@media (max-width: 420px) { .aq:not(.aq-t) .aq-row .prem .aq-qn-row { white-space: normal; max-width: 150px; margin-left: auto; } }
/* #110 (Joe 2026-10-16): a declined carrier's not-bindable figure, beside its reason; never a price */
.aq .aq-row .sub .aq-nb { font-weight: 700; }

/* AS-475: the document-reading stage is unmistakable — spinner + words + elapsed clock */
.aq .aq-reading { display: flex; align-items: center; gap: 16px; margin-top: 14px; padding: 18px 20px; background: #fff; border: 1px solid #e3e8ee; border-radius: 12px; box-shadow: 0 1px 2px rgba(16,24,40,.06); }
.aq .aq-spin { width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; border: 4px solid #dbe6f5; border-top-color: #1c6fd1; animation: aq-spin 0.9s linear infinite; }
@keyframes aq-spin { to { transform: rotate(360deg); } }
.aq .aq-reading-title { font-size: 16px; font-weight: 700; color: #16233b; }
.aq .aq-reading-sub { font-size: 12.5px; color: var(--grey-mid); margin-top: 3px; line-height: 1.5; }
.aq .aq-reading-clock { color: #1c6fd1; font-weight: 600; }

/* how long each carrier took (on the collapsed row) */
.aq .aq-took { color: #1c6fd1; font-weight: 600; white-space: nowrap; }
/* round 16 (Ascension, 2026-09-16): a quote card sits in a row so the portal can put a control to its left */
.aq .aq-job-row { display: flex; align-items: flex-start; gap: 10px; margin-top: 12px; }
.aq .aq-job-row .aq-job { margin-top: 0; flex: 1 1 auto; min-width: 0; }
@media (max-width: 760px) { .aq .aq-job-row { flex-direction: column; align-items: stretch; } }

/* #28 (2026-09-29): a field the engine refused at the review step, and the list by the Run button */
.aq .aq-input.aq-bad { border: 1.5px solid var(--danger); box-shadow: 0 0 0 3px rgba(192, 57, 43, .12); }
.aq .aq-field-err { color: var(--danger); font-size: 12px; line-height: 1.4; margin-top: 4px; overflow-wrap: anywhere; }
.aq .aq-problems { margin-top: 10px; padding: 10px 12px; border: 1.5px solid var(--danger); border-radius: 10px; background: #fdf1ef; color: #7a241b; font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
.aq .aq-problems-off { margin-top: 6px; }
.aq .aq-problems ul { margin: 6px 0 0 18px; padding: 0; }
/* #26 (2026-09-28): the engine run number at the bottom of each carrier card */
.aq .aq-runid { margin-top: 10px; font-size: 12px; color: #5c6b79; }   /* #95: metadata, small and grey, 5.3:1 */
.aq .aq-runid-v { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; user-select: all; }

/* "Before we run" (2026-09-29): the pre-run permissions step, and producer codes in Carrier logins */
.aq .aq-pre { margin-top: 14px; }
.aq .aq-pre .v2-panel { margin-bottom: 16px; }
.aq .aq-pre-steps { display: flex; gap: 14px; align-items: center; font-size: 13px; font-weight: 700; color: #4d5b68; margin: 0 0 14px; }
.aq .aq-pre-step { display: inline-flex; align-items: center; gap: 8px; }
.aq .aq-pre-step .n { width: 24px; height: 24px; border-radius: 50%; background: #1e8a4c; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; }
.aq .aq-pre-step.is-on { color: var(--ink); }
.aq .aq-pre-step.is-on .n { background: var(--blue); }
.aq .aq-pre-steps .sep { width: 36px; height: 2px; background: #cfd8e0; }
.aq .aq-pre-head h3 { font-size: 19px; }
.aq .aq-pre-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.aq .aq-pre-chip { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; background: #eef2f5; color: #253441; border-radius: 12px; padding: 4px 4px 4px 12px; font-size: 13px; }
.aq .aq-pre-chip b { font-weight: 800; margin-right: 4px; }
.aq .aq-pre-line { display: inline-flex; align-items: center; gap: 4px; margin-right: 4px; }
.aq .aq-pre-line.is-out, .aq .aq-pre-line.is-held { font-weight: 700; color: #7a4608; background: #faeeda; border-radius: 9px; padding: 0 0 0 10px; min-height: 44px; }
.aq .aq-pre-line.is-out { padding-right: 10px; }
.aq .aq-pre-line.is-dropped { color: #4d5b68; }
.aq .aq-pre-mini { font: inherit; font-size: 12.5px; font-weight: 700; color: var(--blue); background: #fff; border: 1.5px solid #b9dcf3; border-radius: 9px; padding: 0 10px; min-height: 44px; cursor: pointer; }
.aq .aq-pre-status { display: flex; gap: 8px; align-items: center; font-size: 14px; font-weight: 700; color: #0c447c; background: #e6f1fb; border-radius: 10px; padding: 12px 14px; margin-top: 12px; }
.aq .aq-pre-pause { margin-top: 12px; background: #f5f8fa; border: 1px solid #e3eaf0; border-radius: 10px; padding: 10px 12px; color: #253441; font-size: 13px; line-height: 1.55; }
.aq .aq-pre-ghead { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.aq .aq-pre-gcount { font-size: 12.5px; font-weight: 700; color: #4d5b68; }
.aq fieldset.aq-pre-q { border: 1.5px solid #e3eaf0; border-radius: 14px; padding: 14px 16px 16px; margin: 14px 0 0; min-width: 0; }
.aq fieldset.aq-pre-q.is-need { border-color: #e3b35f; }
.aq fieldset.aq-pre-q[disabled] { opacity: .6; }
.aq .aq-pre-q legend { float: left; width: 100%; padding: 0; font-size: 14px; font-weight: 700; line-height: 1.45; }
.aq .aq-pre-for { clear: both; font-size: 12px; color: #4d5b68; padding-top: 3px; line-height: 1.45; }
.aq .aq-pre-needp { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 20px; background: #faeeda; color: #7a4608; margin-left: 6px; vertical-align: 1px; }
.aq .aq-pre-opts { clear: both; display: grid; gap: 8px; padding-top: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .aq .aq-pre-opts.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } .aq .aq-pre-opts.is-three { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.aq .aq-pre-opt { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; box-sizing: border-box; padding: 11px 12px; border: 1.5px solid #d3dde6; border-radius: 10px; font-size: 13.5px; line-height: 1.4; background: #fff; cursor: pointer; }
.aq .aq-pre-opt input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 18px; accent-color: var(--blue); }
.aq .aq-pre-opt.is-sel { border-color: var(--blue); background: #f2f8fd; }
.aq .aq-pre-cons { display: block; font-size: 12px; color: #7a4608; margin-top: 3px; line-height: 1.45; }
.aq .aq-pre-check { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; margin-top: 10px; font-size: 13.5px; font-weight: 600; line-height: 1.4; clear: both; }
.aq .aq-pre-check input { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; accent-color: var(--blue); }
.aq .aq-pre-lbl { display: block; clear: both; font-size: 12.5px; font-weight: 700; color: #253441; padding-top: 10px; }
.aq .aq-pre-countrow, .aq .aq-pre-coderow { clear: both; display: flex; gap: 16px; align-items: flex-end; flex-wrap: wrap; }
.aq .aq-pre-src { clear: both; font-size: 12px; color: #4d5b68; margin-top: 8px; line-height: 1.45; }
.aq .aq-pre-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aq .aq-pre-select { max-width: 420px; }
.aq .aq-pre-words { clear: both; overflow-wrap: anywhere; margin: 10px 0 0; padding: 12px 14px; border: 1.5px dashed #b9c6d2; border-radius: 10px; background: #fafbfc; font-size: 13.5px; line-height: 1.6; color: #253441; }
.aq .aq-pre-words-h { display: block; font-size: 11px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: #4d5b68; margin-bottom: 4px; }
.aq .aq-pre-err { clear: both; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; font-size: 13px; font-weight: 600; color: #9c2c20; background: #fdf1ef; border: 1.5px solid #e6b4ad; border-radius: 10px; padding: 6px 8px 6px 12px; }
.aq .aq-pre-done { display: flex; align-items: center; justify-content: space-between; gap: 16px; background: #fff; border: 1px solid #e6eaed; border-radius: 16px; padding: 10px 14px 10px 18px; margin-bottom: 10px; flex-wrap: wrap; }
.aq .aq-pre-done h3 { font-size: 15.5px; display: flex; align-items: center; gap: 10px; margin: 0; }
.aq .aq-pre-tick { width: 24px; height: 24px; border-radius: 50%; background: #1e8a4c; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; flex: 0 0 24px; }
.aq .aq-pre-done-r { display: inline-flex; align-items: center; gap: 12px; }
.aq .aq-pre-review { min-height: 44px; }
.aq .aq-pre-rows { margin-top: 12px; border: 1px solid #e3eaf0; border-radius: 12px; overflow: hidden; }
.aq .aq-pre-row { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.5fr) minmax(0, 1fr) minmax(96px, max-content); align-items: center; border-top: 1px solid #eef1f3; font-size: 13px; min-height: 48px; }
.aq .aq-pre-row:first-child { border-top: 0; }
.aq .aq-pre-row > span { padding: 8px 14px; }
.aq .aq-pre-row-q { font-weight: 700; }
.aq .aq-pre-row-why { color: #4d5b68; font-size: 12px; }
@media (max-width: 759px) { .aq .aq-pre-row { grid-template-columns: minmax(0, 1fr) auto; } .aq .aq-pre-row-why { grid-column: 1 / -1; order: 3; padding-top: 0 !important; }   /* the reason stays: 'Our placeholder' must show on a phone too */ .aq .aq-pre-row-q { grid-column: 1 / -1; padding-bottom: 0 !important; } }
.aq .aq-pre-never { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.aq .aq-pre-never span { display: inline-flex; align-items: center; gap: 8px; background: #f3f5f7; border: 1px solid #e3eaf0; border-radius: 10px; padding: 10px 14px; font-size: 13.5px; font-weight: 700; color: #253441; }
.aq .aq-pre-never span::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 2px solid #b0362a; background: linear-gradient(45deg, transparent 45%, #b0362a 45%, #b0362a 55%, transparent 55%); }
.aq .aq-pre-hold { background: #fff8ec; border: 1.5px solid #ecd3a3; border-radius: 16px; padding: 18px 20px; margin-bottom: 16px; }
.aq .aq-pre-hold h3 { font-size: 16px; margin: 0; }
.aq .aq-pre-hold p { font-size: 14px; color: #253441; margin: 6px 0 0; line-height: 1.6; }
.aq .aq-pre-bar { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: #fff; border: 1px solid #dfe6ec; border-radius: 14px 14px 0 0; box-shadow: 0 -6px 18px rgba(8, 30, 48, .08); padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); margin-top: 16px; }
@media (max-height: 480px) { .aq .aq-pre-bar { position: static; } }
.aq .aq-pre-count { font: inherit; font-size: 14px; font-weight: 800; color: #7a4608; background: #faeeda; border: 0; border-radius: 10px; padding: 0 16px; min-height: 44px; cursor: pointer; }
.aq .aq-pre-ok { display: inline-flex; align-items: center; font-size: 14px; font-weight: 800; color: #17663a; background: #e9f7ef; border-radius: 10px; padding: 0 14px; min-height: 44px; }
.aq .aq-pre-bar-r { display: inline-flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.aq .aq-pre-why { font-size: 12.5px; color: #4d5b68; }
.aq .aq-pre-run { min-height: 48px; }
.aq .aq-pre-run[aria-disabled="true"] { background: #8fbfe0; cursor: not-allowed; }
@media (max-width: 759px) { .aq .aq-pre-why { display: none; } .aq .aq-pre-bar > * { flex: 1 1 auto; } }
.aq .aq-pre :focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
html.aq-pre-on { scroll-padding-bottom: 110px; }   /* the sticky Run bar never covers the focused field (the class is on only while the step shows) */
.aq .aq-pre-my { display: flex; gap: 10px; flex-wrap: wrap; }
.aq .aq-pre-my .aq-pre-lbl { flex: 1 1 140px; max-width: 220px; }
.aq .aq-pre-handsoff { margin-top: 10px; }
.aq .aq-codes { margin-top: 16px; padding-top: 14px; border-top: 1px solid #eef1f3; }
.aq .aq-codes h4 { font-size: 14px; margin: 0; }
.aq .aq-codes-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(0, 280px); gap: 10px; align-items: center; padding: 10px 0; border-top: 1px solid #f1f4f6; }
@media (max-width: 759px) { .aq .aq-codes-row { grid-template-columns: minmax(0, 1fr); } }
.aq .aq-codes-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.aq .aq-codes-chip { display: inline-flex; align-items: center; gap: 4px; background: #eef2f5; border-radius: 9px; padding: 0 2px 0 10px; min-height: 44px; font-size: 13.5px; font-weight: 700; }
.aq .aq-codes-def { font-size: 10.5px; font-weight: 800; padding: 2px 8px; border-radius: 20px; background: #e6f1fb; color: #0c447c; }
.aq .aq-codes-x { font: inherit; font-size: 18px; line-height: 1; background: none; border: 0; color: #4d5b68; min-width: 44px; min-height: 44px; cursor: pointer; }
.aq .aq-codes-add { display: flex; gap: 6px; align-items: center; }
.aq .aq-codes-add .aq-input { margin: 0; }
/* Ziv #64 (Joe 10-12): a Carrier logins row (was inline). Save and Remove sit in two fixed slots, Save always first, so every Save
   lines up in one column; the slots fit "Saving…" and "Removing…". The password box is the wider one, so its hint reads in full. A phone stacks the row. */
.aq .aq-creds-row { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1.5fr) 236px; gap: 8px; align-items: center; padding: 10px 0; border-top: 1px solid #eef1f3; transition: background-color .4s, box-shadow .4s; }
.aq .aq-creds-acts { display: grid; grid-template-columns: 115px 115px; gap: 6px; justify-content: end; }
.aq .aq-creds-acts .v2-link-btn { min-height: 44px; justify-content: center; padding-left: 10px; padding-right: 10px; }
/* Ziv #70: the row a quote's button opened is lit for a moment, and says so once its login is saved */
.aq .aq-creds-row.aq-creds-hl { background: #e6f1fb; box-shadow: 0 0 0 8px #e6f1fb; border-radius: 4px; }
.aq .aq-creds-linked { grid-column: 1 / -1; padding: 8px 12px; border-radius: 9px; background: #edf7f1; color: #1d6b40; font-size: 13.5px; font-weight: 600; line-height: 1.45; }
@media (prefers-reduced-motion: reduce) { .aq .aq-creds-row { transition: none; } }
/* Ziv #66 (Joe 10-12): "Save every login you typed" under the rows, set apart, in the outline style (no longer in the Save column) */
.aq .aq-creds-all { display: flex; margin-top: 6px; padding-top: 16px; border-top: 1px solid #dfe5ea; }
.aq .aq-creds-all .v2-link-btn { min-height: 44px; }
/* a narrow laptop or small window (the sidebar still open): the buttons go under the boxes, still one Save column, so the boxes keep room to type */
@media (min-width: 760px) and (max-width: 1099px) {
  .aq .aq-creds-row { grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1.5fr); }
  .aq .aq-creds-acts { grid-column: 2 / -1; justify-content: start; }
}
@media (max-width: 759px) {
  .aq .aq-creds-row { grid-template-columns: minmax(0, 1fr); }
  .aq .aq-creds-acts { justify-content: start; grid-template-columns: repeat(2, minmax(0, 115px)); }   /* the slots shrink to the row on a small phone */
  .aq .aq-creds-acts .v2-link-btn { padding-left: 6px; padding-right: 6px; text-align: center; }
  .aq .aq-creds-gap { display: none; }
  .aq .aq-creds-all .v2-link-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* Progressive's disclosure on the start screen, until Before we run is live (Joe, 2026-09-30) */
.aq .aq-prog { margin-top: 12px; padding: 12px 14px; border: 1.5px solid #cfe0ee; border-radius: 12px; background: #f7fbfe; }
.aq .aq-prog-h { font-weight: 800; font-size: 13.5px; }
.aq .aq-pull-note { margin-top: 8px; }
/* a carrier whose words differ by state shows each wording in its own fold (Progressive, 2026-10-01) */
.aq .aq-prog-w { margin-top: 8px; }
.aq .aq-prog-w summary { cursor: pointer; font-weight: 700; font-size: 13px; min-height: 32px; display: list-item; }
/* v6.1.22: the first-run checklist (a login with no quotes yet). A plain numbered list; each step ends with a Done / Not yet pill. */
.aq .aq-first-steps { margin: 4px 0 0; padding-left: 22px; font-size: 13.5px; line-height: 1.5; color: var(--ink); }
.aq .aq-first-steps li { margin-top: 8px; }
.aq .aq-first-steps .v2-pill { margin-left: 6px; white-space: nowrap; }

/* ---------- The quote steps (#38): step strip, sign-in rows, ready rows ---------- */
.aq-wiz-strip { margin-top: 14px; }
.aq-steps { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.aq-steps li { display: flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 999px; background: #eef2f5; color: #5b6b78; font-size: 13px; font-weight: 600; }
.aq-steps li span { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; background: #fff; color: #5b6b78; font-size: 12px; }
.aq-steps li.is-on { background: #0f6fb5; color: #fff; }
.aq-steps li.is-on span { color: #0f6fb5; }
.aq-steps li.is-done { background: #e3f3ea; color: #1d7a46; }
.aq-steps li.is-done span { background: #1d7a46; color: #fff; }
.aq-wiz-row { border: 1px solid #e3e8ec; border-radius: 12px; padding: 12px 14px; margin-top: 10px; background: #fff; }
.aq-wiz-row.is-code-needed, .aq-wiz-row.is-code-window-closed, .aq-wiz-row.is-password-rejected, .aq-wiz-row.is-locked, .aq-wiz-row.is-no-login, .aq-wiz-row.is-blocked { border-color: #f0c98a; background: #fffaf1; }
.aq-wiz-row.is-ready { border-color: #bfe3cd; background: #f5fbf7; }
.aq-wiz-row.is-off > :not(.aq-actions) { opacity: 0.6; }   /* Joe 2026-10-16 (R1 review): a left-out row fades, its Put X back button doesn't look disabled */
.aq-wiz-row-h { font-size: 15px; }
.aq-wiz-line { margin-top: 4px; font-size: 14px; color: #36444f; }
.aq-wiz-ok { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.aq-wiz-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: #e3f3ea; color: #1d7a46; font-size: 13px; font-weight: 600; }
.aq-wiz-chip small { font-weight: 400; color: #3f6f52; }
.aq-wiz-green { color: #1d7a46; font-weight: 600; font-size: 13px; }
.aq-wiz-wait { color: #9a5b00; font-weight: 600; font-size: 13px; }
.aq-wiz-why-list { margin: 8px 0 0 30px; padding: 0; font-size: 14px; color: #36444f; }
.aq-wiz-why-list li { margin-top: 4px; }
/* Ziv #70 (Joe 10-12): Ready to run, under a carrier held up by its saved login: the button to that login, and how long the quote waits */
.aq .aq-wiz-fix { margin: 10px 0 0 30px; }
.aq .aq-wiz-fix .v2-link-btn { min-height: 44px; }
.aq .aq-wiz-fix-note { margin-top: 6px; font-size: 13px; line-height: 1.45; color: #5b6b78; }   /* #5b6b78 passes AA on the amber row */
/* Ziv #72 (Joe 10-12): on steps 2-4 the step explanation reads at body size and dark; the global .v2-sub stays as it is everywhere else.
   The time limit (wizClock) is its own line inside it. */
.aq .v2-sub.aq-wiz-intro, .aq .aq-reading-sub.aq-wiz-intro { font-size: 15px; line-height: 1.55; color: #36444f; }
.aq .aq-wiz-clock { display: block; margin-top: 10px; }
.aq .aq-wiz-clock b { font-weight: 700; color: var(--ink, #0f1b25); }
/* Ziv #67: Back on the left, the step's next button on the right; a long label wraps centred; on a phone both stack full width, Back first */
.aq .aq-actions.aq-wiz-nav .v2-link-btn { text-align: center; }
@media (max-width: 759px) { .aq .aq-actions.aq-wiz-nav .v2-link-btn { flex: 1 1 100%; } }
.aq-spin-sm { width: 14px; height: 14px; display: inline-block; vertical-align: middle; }
.aq .aq-wiz-starting { display: flex; align-items: center; gap: 10px; }   /* v7.3.1: "Starting the sign-ins…" right after Next */
.aq .aq-wiz-starting .aq-spin { width: 18px; height: 18px; flex: 0 0 18px; border-width: 3px; }
.aq-typed-on { display: flex; flex-direction: column; gap: 6px; border: 2px dashed #9cc3e4; border-radius: 14px; padding: 18px; background: #f3f8fc; }
.aq-typed-on span { color: #36444f; font-size: 14px; }
.aq-typed-off { margin-top: 8px; }
.aq .aq-drop[hidden] { display: none !important; }
/* Ziv #68 (Joe 10-12): an empty box a carrier needs: a solid red Required pill (the light red Assumed pill stays as it is), a red
   outline in the pill's color (was amber, the "check" color), and our own grey hint under it */
.aq .aq-input.aq-need { border-color: var(--danger, #c0392b); box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.14); }
.aq .aq-req { display:inline-block; margin-left:4px; padding:1px 6px; border-radius:8px; font-size:10px; font-weight:800; line-height:14px; background: var(--danger, #c0392b); color:#fff; border:1px solid var(--danger, #c0392b); }
/* Joe 2026-10-16 (shape plan R2): a license number that does not fit its state's format: red holds Save, amber is a warning only */
.aq .aq-input.aq-lic-bad { border: 1.5px solid var(--danger, #c0392b); box-shadow: 0 0 0 3px rgba(192, 57, 43, .12); }
.aq .aq-input.aq-lic-warn { border: 1.5px solid var(--aq-warn); box-shadow: 0 0 0 3px rgba(133, 79, 11, .12); }
.aq .aq-lic-msg { font-size: 12px; line-height: 1.4; margin-top: 4px; overflow-wrap: anywhere; }
.aq .aq-lic-msg.is-hold { color: var(--danger, #c0392b); }
.aq .aq-lic-msg.is-warn { color: var(--aq-warn); }
/* Joe 2026-10-19 (shape plan R2): a quote's Start a new quote with these details and its sentence, in the failed-run banner; Ziv PR #114 6324153767 (2026-10-21): and inside the card of each finished row that says what's wrong */
.aq .aq-nq { margin-top: 14px; }
.aq .aq-verdict .aq-nq { margin-top: 10px; }
.aq .aq-nq-what { font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.aq .aq-nq .aq-actions { margin-top: 8px; }
/* Ziv PR #114 6324153767 (polish 2026-10-21; Joe: "a row that says what's wrong carries its own button to fix it"): a row with buttons of
   its own is one card, the row and then its buttons right under its sentence, lined up with it (full width on a phone) */
.aq .aq-row-card { border: 1.5px solid var(--aq-line); border-radius: 14px; background: #fff; margin-top: 10px; }
.aq .aq-row-card.is-open { border-radius: 14px 14px 0 0; }   /* its open details follow the card, as they follow a row */
.aq .aq-row-card > .aq-row { border: 0; margin-top: 0; padding-bottom: 10px; border-radius: 13px 13px 0 0; }
.aq .aq-row-acts { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 0 16px 16px 72px; }   /* 72px: the sentence's own column */
.aq .aq-row-acts .aq-actions, .aq .aq-row-acts .aq-nq { margin: 0; }
.aq .aq-row-acts .v2-link-btn { flex: 0 1 auto; }   /* sized like the row's Fix the X login, never stretched to the note under it */
.aq .aq-row-acts .aq-nq-what, .aq .aq-row-acts .aq-error { margin: 6px 0 0; }
.aq .aq-row-acts .aq-nq-what { font-size: 13px; color: var(--grey-mid); }   /* what that button fills in, read as a note to it */
.aq .aq-row-acts .aq-offer-row > .aq-error + .aq-actions { margin-top: 8px; }   /* a refusal's Fix the X login, under its sentence */
@media (max-width: 759px) { .aq .aq-row-acts { align-items: stretch; padding-left: 16px; } .aq .aq-row-acts .v2-link-btn { flex: 1 1 auto; text-align: center; } }
.aq .aq-field-hint { color: var(--grey-mid); font-size: 12px; line-height: 1.4; margin-top: 4px; overflow-wrap: anywhere; }
/* Ziv #63 (Joe 10-12): Ready to run lists each missing household fact once, above the carriers; each is a link to its box on the household step */
.aq .aq-need-h { margin: 0; font-size: 15px; font-weight: 700; color: var(--ink, #0f1b25); }
.aq .aq-need-list { list-style: none; margin: 2px 0 0; padding: 0; }
.aq .aq-need-list li { padding-bottom: 6px; }
.aq .aq-need-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; background: none; font: inherit; font-size: 15px; font-weight: 600; color: var(--blue-dark, #0a5e95); text-decoration: underline; text-underline-offset: 3px; text-align: left; cursor: pointer; }
.aq .aq-need-link:focus-visible { outline: 2px solid var(--blue, #0e78be); outline-offset: 2px; border-radius: 4px; }
.aq .aq-need-link:disabled { color: var(--grey-mid); text-decoration: none; cursor: default; }
.aq .aq-need-off { display: block; padding: 10px 0 8px; font-size: 14px; line-height: 1.45; color: #36444f; }
.aq .aq-need-who { margin-top: -6px; font-size: 12.5px; line-height: 1.4; color: #5b6b78; }   /* darker than --grey-mid so it passes AA on the amber row */
/* Ziv #71 (Joe 10-12): Back to your quote, right under the banner: one row per open quote with its step and how long it waits */
.aq .aq-open-now { margin-bottom: 20px; border-color: #b9dcf3; background: #f5f9fd; }
.aq .aq-open-now .v2-sub { margin-bottom: 6px; }
.aq .aq-open-list { list-style: none; margin: 0; padding: 0; }
.aq .aq-open-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; }
.aq .aq-open-row + .aq-open-row { border-top: 1px solid #dce7f0; }
.aq .aq-open-what { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.aq .aq-open-who { font-size: 15px; font-weight: 800; color: var(--ink, #0f1b25); overflow-wrap: anywhere; }
.aq .aq-open-step { font-size: 14px; font-weight: 600; color: var(--blue-dark, #0a5e95); }
.aq .aq-open-time { font-size: 13px; line-height: 1.45; color: #5b6b78; }   /* #5b6b78 passes AA on the light blue card */
.aq .aq-open-go { flex: 0 0 auto; min-height: 44px; padding: 10px 18px; justify-content: center; text-align: center; }
@media (max-width: 759px) { .aq .aq-open-row { flex-direction: column; align-items: stretch; } .aq .aq-open-go { width: 100%; } }

/* ---- the brand header (Joe, 2026-10-12): Ascension Autonomous Quoting, Powered by CENTRiO. Midnight lockup, wordmark C ---- */
.aq .aq-hero { position: relative; border-radius: 20px; overflow: hidden; margin: 0 0 22px; padding: 52px 40px 40px; text-align: center; color: #fff;
  font-family: var(--font, sans-serif); background: radial-gradient(120% 90% at 50% 0%, #1b4f86 0%, #0b2440 45%, #06121f 100%); }
.aq .aq-hero::after { content: ""; position: absolute; left: 50%; top: -120px; width: 520px; height: 260px; transform: translateX(-50%);
  background: radial-gradient(closest-side, rgba(92,195,255,.35), rgba(92,195,255,0)); pointer-events: none; }
.aq .aq-hero > * { position: relative; z-index: 1; }
.aq .aq-hero-logo { height: 34px; width: auto; display: block; margin: 0 auto 18px; opacity: .95; }
.aq .aq-hero-title { margin: 0; font-size: 48px; font-weight: 800; letter-spacing: -.5px; line-height: 1.05; }
.aq .aq-hero-powered { display: inline-flex; align-items: center; gap: 14px; margin-top: 14px; }
.aq .aq-hero-powered::before, .aq .aq-hero-powered::after { content: ""; width: 54px; height: 1px; background: rgba(255,255,255,.35); }
.aq .aq-hero-powered > span { text-transform: uppercase; letter-spacing: 2.2px; font-size: 11px; font-weight: 700; color: #a9d4f2; }   /* the label only, never the wordmark */
.aq .aq-hero-powered b { font-size: 22px; }
.aq .aq-mark { font-family: 'Montserrat', var(--font, sans-serif); font-weight: 800; letter-spacing: .5px; text-transform: none; white-space: nowrap; }
.aq .aq-mark-b { font-weight: 400; color: #3fbf7f; letter-spacing: 1px; }   /* the CENTRiO wordmark: CENTR bold, iO light (Joe kept it light) */
.aq .aq-mark-a { font-weight: 600; }   /* Joe 2026-10-12: CENTR a little lighter, still heavier than iO (was 800, the .aq-mark weight) */
.aq .aq-hero-line { margin: 16px auto 0; font-size: 15.5px; line-height: 1.6; max-width: 620px; color: rgba(255,255,255,.88); }
.aq .aq-hero-proof { list-style: none; margin: 22px auto 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 760px; }
.aq .aq-hero-proof li { border-radius: 14px; padding: 12px 14px; display: flex; flex-direction: column; gap: 3px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.aq .aq-hero-proof b { font-size: 14px; font-weight: 800; }
.aq .aq-hero-proof span { font-size: 12.5px; color: #a9d4f2; }
.aq .aq-hero-since { margin: 20px 0 0; font-size: 12px; letter-spacing: .4px; color: rgba(255,255,255,.62); }
@media (max-width: 720px) { .aq .aq-hero-proof { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .aq .aq-hero { padding: 30px 20px 26px; } .aq .aq-hero-title { font-size: 32px; } .aq .aq-hero-powered::before, .aq .aq-hero-powered::after { width: 24px; } }
/* the banner's beta line and Register your Interest (the not-yet-beta preview, Joe 2026-10-12) */
.aq .aq-hero-cta { margin: 20px auto 4px; display: flex; flex-direction: column; align-items: center; gap: 12px; }
.aq .aq-hero-beta { margin: 0; font-size: 14px; color: rgba(255,255,255,.85); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.aq .aq-hero-beta-tag { display: inline-block; padding: 2px 9px; border-radius: 999px; background: rgba(92,195,255,.18); border: 1px solid rgba(92,195,255,.5); color: #bfe6ff; font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.aq .aq-hero-want { font-family: var(--font); min-height: 48px; padding: 12px 28px; }
.aq .aq-hero-powered > span { white-space: nowrap; }   /* "Powered by" never breaks onto two lines on a phone */
@media (max-width: 560px) { .aq .aq-hero-powered { gap: 10px; } .aq .aq-hero-powered::before, .aq .aq-hero-powered::after { width: 16px; } .aq .aq-hero-powered b { font-size: 20px; } }
@media (max-width: 460px) { .aq .aq-hero-powered::before, .aq .aq-hero-powered::after { display: none; } }   /* no side rules on a narrow phone, so nothing is cut off at the edge */
/* the CENTRiO symbol before the wordmark (Joe 2026-10-12, option C); the iO above is a lighter shade of the logo green so it reads on navy */
.aq .aq-brand { display: inline-flex; align-items: center; gap: 10px; }
.aq .aq-mark-sym { width: 1.25em; height: 1.25em; flex: 0 0 auto; color: #fff; display: block; }
/* the banner's buttons on Home (Start Autonomous Quoting, Register your Interest, Explore the beta) and its note */
.aq .aq-hero-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.aq .aq-hero-btns [hidden] { display: none !important; }
.aq .aq-hero-btns .v2-link-btn { font-family: var(--font); min-height: 48px; padding: 12px 24px; border: 0; cursor: pointer; }
.aq .aq-hero-btns .v2-link-btn.is-disabled, .aq .aq-hero-btns .v2-link-btn:disabled { background: rgba(255,255,255,.14); color: rgba(255,255,255,.6); cursor: not-allowed; }
.aq .aq-hero-want:disabled, .aq .aq-hero-want:disabled:hover { background: rgba(63,191,127,.22); color: #fff; cursor: default; }   /* "You're on the list", the same on Home and on the Autonomous Quoting page */
.aq .aq-hero-ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.65); }
.aq .aq-hero-ghost:hover { background: rgba(255,255,255,.08); }
@media (max-width: 460px) { .aq .aq-hero-btns { flex-direction: column; align-items: stretch; } .aq .aq-hero-btns .v2-link-btn { width: 100%; padding-left: 10px; padding-right: 10px; font-size: 14px; justify-content: center; text-align: center; } }   /* a phone: the banner buttons stack at one width, so the longer "Start Autonomous Quoting" lines up with the others */
.aq .aq-hero-note { font-size: 12.5px; color: rgba(255,255,255,.72); line-height: 1.45; max-width: 560px; }
/* the carriers on the banner */
.aq .aq-hero-carriers { list-style: none; margin: 16px auto 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 640px; }
.aq .aq-hero-carriers li { padding: 6px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 600; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.22); }
/* ---- The testers' start screen (Joe 2026-10-13): a slim banner, four tiles, and only the picked tile's part of the page ---- */
.aq .aq-hero--slim { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 18px; padding: 16px 24px; margin: 0 0 16px; border-radius: 16px; }
.aq .aq-hero--slim::after { display: none; }
.aq .aq-hero--slim .aq-hero-logo { height: 24px; margin: 0; }
.aq .aq-hero--slim .aq-hero-title { font-size: 24px; letter-spacing: -.2px; }
.aq .aq-hero--slim .aq-hero-powered { margin-top: 0; gap: 10px; }
.aq .aq-hero--slim .aq-hero-powered::before, .aq .aq-hero--slim .aq-hero-powered::after { display: none; }
.aq .aq-hero--slim .aq-hero-powered b { font-size: 18px; }
@media (max-width: 560px) { .aq .aq-hero--slim { padding: 14px 16px; } .aq .aq-hero--slim .aq-hero-title { font-size: 20px; } }
.aq .aq-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 18px; }
@media (max-width: 760px) { .aq .aq-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.aq .aq-tile { display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 92px; padding: 14px 16px; border-radius: 14px; border: 1px solid #d9e2ea; background: #fff; color: var(--ink); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 1px 2px rgba(15,27,37,.05); }
.aq .aq-tile:hover { border-color: #9cc3e4; }
.aq .aq-tile:focus-visible { outline: 3px solid #5cc3ff; outline-offset: 2px; }
.aq .aq-tile.is-on { background: radial-gradient(130% 150% at 50% 0%, #22609f 0%, #0d2c4e 55%, #071626 100%); color: #fff; border-color: transparent; }   /* the CENTRiO pressed look, as on the menu */
.aq .aq-tile-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; width: 100%; }
.aq .aq-tile-name { font-size: 15.5px; font-weight: 800; line-height: 1.25; }
.aq .aq-tile-line { font-size: 12.5px; line-height: 1.4; color: #5b6b78; }
.aq .aq-tile.is-on .aq-tile-line { color: #bfe0f7; }
.aq .aq-tile-start { flex: 0 0 auto; padding: 2px 8px; border-radius: 999px; background: #fdf0d2; color: #7a4f00; font-size: 11px; font-weight: 800; white-space: nowrap; }
.aq .aq-tile.is-on .aq-tile-start { background: rgba(255,255,255,.16); color: #fff; }
.aq .aq-tiles-hint { margin: -4px 0 18px; }
.aq .aq-tile-next { margin: -6px 0 20px; }
.aq .aq-tile-need .v2-link-btn { margin-top: 12px; border: 0; cursor: pointer; font-family: var(--font); }
.aq .aq-tile-next .v2-link-btn { border: 0; cursor: pointer; font-family: var(--font); }
.aq .aq-cta > .aq-steps, .aq .v2-cta > .aq-steps { margin-bottom: 14px; }
.aq .aq-run-who { margin: 4px 0 14px; }
.aq .aq-run-who-l { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 14px; font-weight: 700; }
.aq .aq-run-who .aq-run-producer { margin: 0; max-width: 320px; }
.aq .aq-run-who .v2-sub { margin: 6px 0 0; font-size: 13px; }
.aq[data-aq-tiles] .aq-creds-toggle { cursor: default !important; }
.aq[data-aq-tiles] .aq-creds-toggle > span:last-child { display: none; }   /* the logins are the tile's content: no fold */
/* a tile shows only its own part (data-aq-sec lists the tiles a part belongs to) */
.aq[data-aq-tile="none"] [data-aq-sec],
.aq[data-aq-tile="run"] [data-aq-sec]:not([data-aq-sec~="run"]),
.aq[data-aq-tile="quotes"] [data-aq-sec]:not([data-aq-sec~="quotes"]),
.aq[data-aq-tile="producers"] [data-aq-sec]:not([data-aq-sec~="producers"]),
.aq[data-aq-tile="chat"] [data-aq-sec]:not([data-aq-sec~="chat"]) { display: none !important; }
.aq [data-aq-slot]:not([hidden]) ~ .aq-chat-fallback { display: none !important; }   /* the chat card is there: no fallback */
.aq[data-aq-tiles] .aq-job-list { max-height: none; overflow: visible; padding-right: 0; }   /* View my quotes: the list runs the page's length (Joe 10-13) */
/* Ziv #83 (Joe 10-13): a login's saved agent codes, inside its Carrier logins row (the testers' Producers tile) */
.aq .aq-agc { grid-column: 1 / -1; margin-top: 2px; padding: 8px 12px; border-radius: 10px; background: #f4f7fa; border: 1px solid #e3e9ef; font-size: 13px; }
.aq .aq-agc-h { font-weight: 700; margin-bottom: 4px; }
.aq .aq-agc .v2-sub { margin: 0; font-size: 12.5px; }
.aq .aq-agc-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 3px 0; }
.aq .aq-agc-forget { min-height: 32px; padding: 3px 12px; font-size: 12.5px; border-radius: 8px; cursor: pointer; font-family: var(--font); }
/* a carrier offering more than six agent codes: a compact list (Plymouth Rock can offer 13 to 48) */
.aq .aq-pick-many .aq-pre-opts { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 6px; max-height: 360px; overflow-y: auto; padding-right: 4px; }
.aq .aq-pick-many .aq-pre-opt { min-height: 40px; padding: 8px 10px; font-size: 13px; }
/* ---- The fluid quote steps (Joe 2026-10-13, the Agent walkthrough): the strip is the way around a quote ---- */
.aq .aq-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Staff see what the Agent sees (Joe 2026-10-16): on the read-only Agent screen a control that would act shows as switched off.
   The staff run card's "On the Agent's screen" block and the read-only sheet below exist only on the staff page. */
.aq .aq-ro-off { cursor: not-allowed; }
.aq .aq-ro-note { margin-top: 14px; padding: 8px 12px; border: 1.5px dashed #cfe0ee; border-radius: 10px; background: #f6fafd; color: #36444f; font-size: 13px; line-height: 1.5; }   /* staff read only (v7.3 final, 2026-10-16): a staff line on the Agent's screen */
.aq input[readonly] { cursor: default; }
.aq.cbq-aqv { position: relative; margin: 4px 0 14px; padding: 12px 14px; border: 1.5px solid #cfe0ee; border-radius: 12px; background: #f6fafd; }
.aq.cbq-aqv .cbq-aqv-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.aq.cbq-aqv .cbq-aqv-status { font-size: 13px; color: #36444f; }
.aq.cbq-aqv .cbq-aqv-strip { margin: 4px 0; }
.aq.cbq-aqv .cbq-aqv-rows { margin-top: 0; background: #fff; }
.aq.cbq-aqv .cbq-aqv-tag { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 10px; background: #eef2f5; color: #36444f; font-size: 11px; font-weight: 700; }
.aq.cbq-aqv .cbq-aqv-mark { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; margin-right: 6px; border-radius: 50%; background: #e6f1fb; color: #0c447c; font-size: 12px; font-weight: 800; }
.aq.cbq-aqv .cbq-aqv-mark.is-best { background: #1d7a46; color: #fff; }
.aq.cbq-aqv .cbq-aqv-flag { display: inline-block; padding: 3px 8px; border-radius: 10px; background: var(--aq-warn-bg); color: var(--aq-warn); font-size: 11px; font-weight: 700; }
.aq.cbq-aqv .aq-est { display: inline-block; margin-top: 4px; padding: 3px 8px; border-radius: 10px; background: var(--aq-warn-bg); color: var(--aq-warn); font-size: 11px; font-weight: 700; line-height: 1.3; }
.aq.cbq-aqv .aq-alone { display: inline-block; margin-top: 4px; padding: 3px 8px; border-radius: 10px; background: #e6f1fb; color: #0c447c; font-size: 11px; font-weight: 700; line-height: 1.3; }   /* AS-2009: a Home or an Auto priced alone */
.aq.cbq-aqv .aq-alone-say { display: block; margin-top: 2px; }
.aq.cbq-aqv .cbq-aqv-why summary { cursor: pointer; font-size: 12px; font-weight: 700; color: #36444f; margin-top: 4px; }
.aq.cbq-aqv .aq-items { margin: 6px 0 0; }
.aq.cbq-aqv .cbq-aqv-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; }
html.cbq-aqv-on { overflow: hidden; }
.cbq-aqv-sheet { position: fixed; inset: 0; z-index: 1050; display: flex; flex-direction: column; background: #f4f7fa; }
.cbq-aqv-sheet .cbq-aqv-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; padding: 12px 16px; background: #0c2f4f; color: #fff; }
.cbq-aqv-sheet .cbq-aqv-bar .hint { margin-top: 4px; color: #d3e3f0; font-size: 13px; }
.cbq-aqv-sheet .cbq-aqv-close { min-height: 40px; padding: 8px 16px; border: 0; border-radius: 8px; background: #fff; color: #0c2f4f; font: inherit; font-weight: 700; cursor: pointer; }
.cbq-aqv-sheet .cbq-aqv-close:focus-visible { outline: 3px solid #5cc3ff; outline-offset: 2px; }
.cbq-aqv-sheet .cbq-aqv-body { flex: 1 1 auto; overflow: auto; padding: 16px; }
.cbq-aqv-sheet .cbq-aqv-note, .cbq-aqv-sheet .cbq-aqv-mount { max-width: 960px; margin: 0 auto; }
.cbq-aqv-sheet .cbq-aqv-note { margin-bottom: 12px; }
.aq .aq-steps-nav li { padding: 0; }
.aq .aq-steps-nav li:not(:has(.aq-step-go)) { padding: 8px 12px; }
.aq .aq-step-go { display: flex; align-items: center; gap: 8px; padding: 8px 12px; min-height: 40px; border: 0; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; }
.aq .aq-step-go:hover { background: #e2e9ef; }
.aq .aq-step-go:focus-visible { outline: 3px solid #5cc3ff; outline-offset: 2px; }
.aq .aq-steps li.is-done { background: #e8f4ec; color: #1d6b40; }
.aq .aq-steps li.is-done span { color: #1d6b40; }
.aq .aq-steps li.is-needs { background: #fdf0d2; color: #7a4f00; }
.aq .aq-steps li.is-needs span { background: #f5c451; color: #4a3000; }
.aq .aq-steps li.is-wait { background: #eef2f5; color: #5b6b78; }
.aq .aq-steps li.is-on.is-needs { background: #0f6fb5; color: #fff; }
/* Back on the left, the one forward action on the right, always in view (not while typing on a phone, where the keyboard needs the room) */
.aq .aq-wiz-nav { position: sticky; bottom: 0; z-index: 3; justify-content: space-between; margin-top: 14px; padding: 12px 0; background: rgba(255,255,255,.97); border-top: 1px solid #e3e9ef; }
@media (max-width: 759px) { .aq .aq-wiz:has(:is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus) .aq-wiz-nav, .aq .v2-panel:has(.aq-review-form :is(input:not([type=checkbox]):not([type=radio]), select, textarea):focus) > .aq-wiz-nav { position: static; } }   /* only while a text field has focus (the keyboard needs the room), never for a heading or a tick */
/* step 1 of a quote that has started */
.aq .aq-setup { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; margin-top: 10px; }
@media (max-width: 640px) { .aq .aq-setup { grid-template-columns: minmax(0, 1fr); } }
.aq .aq-setup h4 { margin: 10px 0 4px; font-size: 13px; text-transform: uppercase; letter-spacing: .6px; color: #5b6b78; }
.aq .aq-setup-files { margin: 0; padding-left: 18px; }
.aq .aq-setup-car { display: flex; align-items: center; gap: 8px; min-height: 40px; font-size: 14px; cursor: pointer; }
.aq .aq-wiz-row.is-off { background: #f4f6f8; border-color: #e3e9ef; color: #5b6b78; }
.aq .aq-busy-note { color: #7a4f00; }
/* the household: what needs the Agent, at the top; Assumed in a calm colour, so Required is the only red */
.aq .aq-needs-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; padding: 10px 12px; border-radius: 10px; background: #fdecec; border: 1px solid #f3c4bf; color: #8f2d22; }
.aq .aq-needs-go { min-height: 36px; padding: 4px 12px; font-family: var(--font); cursor: pointer; }
/* #90 (Joe 10-14): one list at the top of a step, a line for each thing holding the quote; green once nothing is */
.aq .aq-needs-top .aq-needs-list { flex: 1 1 100%; list-style: none; margin: 0; padding: 0; }
.aq .aq-needs-top .aq-needs-list li { padding: 2px 0; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.aq .aq-needs-top .aq-need-link { min-height: 40px; font-size: 14px; }
.aq .aq-needs-top.is-clear { background: #e8f4ec; border-color: #b9d6c6; color: #1d6b40; font-weight: 600; }
.aq .aq-needs-top:focus { outline: none; }   /* focused only so a screen reader reads the list after Save */
/* #94: one Remove per driver; a removed driver keeps their place, with Undo */
.aq .aq-drv-rm { margin: 0 0 0 auto; font-size: 12.5px; }
.aq .aq-drv-last { margin-left: auto; font-size: 12.5px; font-weight: 400; color: #5b6b78; }
.aq .aq-drv-last + .aq-drv-rm { margin-left: 0; }
.aq .aq-veh-last { flex: 1 1 100%; margin-left: 0; }   /* Joe 2026-10-19: the last vehicle's sentence on its own line under the greyed Remove */
.aq .aq-drv-rm:disabled { color: #6b7682; cursor: default; }
.aq .aq-drv-gone { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 4px; padding: 8px 12px; border: 1px dashed #c9d6e2; border-radius: 10px; background: #f6f8fa; color: #36444f; font-size: 14px; line-height: 1.45; }
.aq .aq-drv-undo { min-height: 40px; padding: 4px 14px; font-family: var(--font); cursor: pointer; }
.aq .aq-hh-wiz .aq-assumed { background: #eef3f8; color: #40576d; border-color: #d4dee8; }
/* during the run: what needs the Agent, at the top */
.aq .aq-your-turn { margin: 14px 0; border: 1.5px solid #f5c451; background: #fffaf0; }
.aq .aq-your-turn h3 { margin: 0 0 6px; }
.aq .aq-your-turn-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aq .aq-your-turn-list li { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.aq .aq-your-turn-list .v2-link-btn { min-height: 40px; font-family: var(--font); cursor: pointer; }
/* phone: no zoom on tap (16 px inputs), the price never cut off, tap targets at least 44 px */
@media (max-width: 759px) { .aq[data-aq-tiles] .aq-input, .aq .aq-wiz .aq-input, .aq .aq-hh-wiz .aq-input, .aq .aq-hh-wiz select, .aq .aq-run-producer { font-size: 16px; } }
@media (max-width: 420px) { .aq.aq-t .aq-row { grid-template-columns: 36px minmax(0, 1fr); } .aq.aq-t .aq-row .prem { grid-column: 2; text-align: left; } .aq.aq-t .aq-row .prem.is-state { align-items: flex-start; } .aq.aq-t .aq-row .pos { width: 34px; height: 34px; } }   /* the testers' screens only */
/* re-walk fixes (2026-10-13) */
.aq .aq-steps li.is-done span { background: #1d7a46; color: #fff; }   /* a real tick, not a green dot */
.aq .aq-step-go:focus-visible, .aq .aq-tile:focus-visible { outline-color: #0f6fb5; }
.aq .aq-chip-out { margin-left: 6px; padding: 2px 10px; min-height: 40px; border: 1px solid #b9d6c6; border-radius: 999px; background: #fff; color: #1d6b40; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.aq .aq-creds-linked.is-fixing { background: #fff7e8; color: #7a4f00; }
.aq .aq-wiz-nav { flex-wrap: wrap; }
.aq .aq-wiz-nav > .aq-error { flex: 1 1 100%; margin: 0 0 6px; }
.aq .aq-restart-note { margin: 0 0 10px; }
@media (max-width: 759px) { .aq .aq-actions.aq-wiz-nav .v2-link-btn { flex: 1 1 0; min-width: 0; padding-left: 10px; padding-right: 10px; font-size: 14px; } }   /* Back and Next side by side on a phone: a short bar */
.aq .aq-needs-top[hidden] { display: none; }   /* nothing left to fill in: no empty bar */
.aq .aq-lbl-s { display: none; }
@media (max-width: 759px) { .aq .aq-lbl-l { display: none; } .aq .aq-lbl-s { display: inline; } }   /* short Back on a phone (the full words stay in aria-label) */
.aq .aq-pick-saved { margin-top: 8px; color: #1d6b40; font-weight: 600; }
.aq .aq-row[data-row]:focus-visible { outline: 3px solid #0f6fb5; outline-offset: 2px; }
.aq .aq-wiz-row.aq-wiz-compact { padding: 8px 12px; background: #f1f8f3; border-color: #d4eadb; }
.aq .aq-wiz-row.aq-wiz-compact .aq-wiz-row-h { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.aq .aq-wiz-row.aq-wiz-compact b { color: #1d6b40; }
.aq .aq-wiz-row.aq-wiz-compact .aq-chip-out { margin-left: auto; }
/* Joe 2026-10-16 (shape plan R1): the Run step's rows carry the Sign in step's Leave out control, so no tick indent */
.aq .aq-run-row .aq-wiz-row-h { display: flex; align-items: center; gap: 6px 10px; flex-wrap: wrap; }
.aq .aq-run-row .aq-chip-out { margin-left: auto; }
.aq .aq-run-row .aq-wiz-why-list { margin-left: 20px; }
.aq .aq-run-row .aq-wiz-fix { margin-left: 0; }
.aq .aq-wiz-row .aq-only-car { color: #5b6b78; font-size: 13px; line-height: 1.45; }
@media (max-width: 759px) { .aq .aq-wiz-row.is-off .aq-actions .v2-link-btn { flex: 1 1 100%; } }   /* Put X back, one per line on a phone (Sign in and Run) */
/* Joe 2026-10-19 (shape plan R2): the start form's one line above Next for saved logins that didn't work, each with its Fix button */
.aq .aq-badlogins { margin: 14px 0 12px; padding: 10px 12px; border-radius: 10px; background: #fff6e5; border: 1px solid #f1d9a6; color: #6b4a00; }
.aq .aq-badlogins p { margin: 0 0 8px; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.aq .aq-badlogins-btns { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 759px) { .aq .aq-badlogins-btns .aq-pick-fix { flex: 1 1 100%; } }
.aq .aq-pick-fix { min-height: 40px; padding: 4px 12px; font-size: 13px; }
/* the carrier's own words under our sentence (Ziv #76/#75, Joe 10-13): labeled, whole, wrapped; a long one folds */
.aq .aq-carrier-says { margin-top: 6px; padding: 6px 10px; border-left: 3px solid #c9d6e2; border-radius: 6px; background: #f6f8fa; color: #3d4f5f; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.aq .aq-carrier-says-l { font-weight: 700; color: #2b3a48; }
.aq details.aq-carrier-says summary { cursor: pointer; font-weight: 700; color: #2b3a48; }
.aq details.aq-carrier-says[open] summary { margin-bottom: 4px; }
