/* Version 3, setup (D7). Loaded by templates/v3/base.html only when v3 is on. Scoped under .v3-mls (market.css
   holds the shared components and says why). */
/* ── p_setup.css ── */
/* setup */
body.v3 .v3-mls .v3-guide{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line-soft)}
body.v3 .v3-mls .v3-guide:first-child{border-top:0}
body.v3 .v3-mls .v3-guide .v3-tx{flex:1}
body.v3 .v3-mls .v3-guide .v3-t{font-weight:650}
body.v3 .v3-mls .v3-guide .v3-s{font-size:13px;color:var(--grey)}
body.v3 .v3-mls .v3-gs{font-size:11.5px;font-weight:750;letter-spacing:.04em;padding:4px 8px;border-radius:6px;background:var(--sunken);color:var(--grey-d)}
body.v3 .v3-mls .v3-gs.done{background:color-mix(in srgb,var(--green) 16%,var(--white));color:var(--ink)}
body.v3 .v3-mls .v3-gs.go{background:var(--ink);color:var(--white)}
body.v3 .v3-mls .v3-copyrow{display:flex;align-items:center;gap:8px;background:var(--sunken);border-radius:12px;padding:10px 12px;margin-top:10px;font:600 14px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}
body.v3 .v3-mls .v3-copyrow span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* setup v2.1: Get set up and Settings */
body.v3 .v3-mls .v3-gsu{padding:16px 18px}
body.v3 .v3-mls .v3-gsu-h{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
body.v3 .v3-mls .v3-gsu-h b{font-size:19px;font-weight:800;letter-spacing:-.02em}
body.v3 .v3-mls .v3-pbar{height:8px;border-radius:99px;background:var(--sunken);overflow:hidden;margin:12px 0 2px}
body.v3 .v3-mls .v3-pbar i{display:block;height:100%;background:var(--green);border-radius:99px;transition:width var(--dur-base) var(--ease-out)}
body.v3 .v3-mls .v3-gsteps{margin-top:8px}
body.v3 .v3-mls .v3-gstep{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line-soft);min-height:56px}
body.v3 .v3-mls .v3-gstep:first-child{border-top:0}
body.v3 .v3-mls .v3-gstep .v3-tx{flex:1;min-width:0}
body.v3 .v3-mls .v3-gstep .v3-t{font-weight:650}
body.v3 .v3-mls .v3-gstep .v3-s{font-size:13px;color:var(--grey)}
body.v3 .v3-mls .v3-gstep.done .v3-t{color:var(--grey-d)}
body.v3 .v3-mls .v3-gnum{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:750;font-size:13px;background:var(--sunken);color:var(--grey-d);flex:none}
body.v3 .v3-mls .v3-gnum.ok{background:var(--green);color:var(--white)}
body.v3 .v3-mls .v3-gnum .v3-i{width:14px;height:14px}
body.v3 .v3-mls .v3-sfold{display:flex;align-items:center;gap:12px;width:100%;text-align:left;min-height:64px}
body.v3 .v3-mls .v3-tcard{display:block;margin-top:14px}
body.v3 .v3-mls .v3-tcard .v3-pill{flex:none}
body.v3 .v3-mls .v3-sgroups{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;margin-top:16px}
body.v3 .v3-mls .v3-sgh{display:flex;align-items:center;gap:8px;margin:0 4px 8px;color:var(--grey-d)}
body.v3 .v3-mls .v3-sgh h3{margin:0;font-size:12.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
/* the product audit (18 October 2026): the amber itself is 2.83:1 on a white row; this darker amber is 5.2:1 */
body.v3 .v3-mls .v3-rtag{font-size:12px;font-weight:650;color:#99600F;white-space:nowrap}
body.v3 .v3-mls .v3-sempty{margin-top:14px}
body.v3 .v3-mls .v3-proto{border:1.5px dashed var(--never);border-radius:var(--r);padding:14px 16px;margin-top:24px}
body.v3 .v3-mls .v3-proto .v3-kv{min-height:44px}
body.v3 .v3-mls .v3-gwrap{max-width:760px}
body.v3 .v3-mls .v3-gtop{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;flex-wrap:wrap}
body.v3 .v3-mls .v3-gcount{font-size:13px;color:var(--grey);font-weight:650;white-space:nowrap}
body.v3 .v3-mls .v3-gsegs{display:flex;gap:4px;margin-top:10px}
body.v3 .v3-mls .v3-gsegs i{flex:1;height:6px;border-radius:99px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
body.v3 .v3-mls .v3-gsegs i.on{background:var(--ink)}
body.v3 .v3-mls .v3-gsegs i.cur{background:var(--green)}
body.v3 .v3-mls .v3-gbody{margin-top:16px}
body.v3 .v3-mls .v3-gnav{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
body.v3 .v3-mls .v3-gnav .v3-pill{min-height:44px}
body.v3 .v3-mls .v3-gnav .v3-pill[disabled]{opacity:.35}
body.v3 .v3-mls .v3-gok{display:flex;gap:12px;align-items:center}
body.v3 .v3-mls .v3-gtest{background:var(--white);border-radius:var(--r);padding:16px;margin-top:14px;border:1.5px solid var(--line)}
body.v3 .v3-mls .v3-gtest.ok{border-color:var(--green)}
body.v3 .v3-mls .v3-gt-h{display:flex;align-items:center;gap:8px}
body.v3 .v3-mls .v3-gtest.ok .v3-gt-h .v3-i{color:var(--green)}
body.v3 .v3-mls .v3-gres{display:flex;gap:10px;align-items:center;margin-top:12px;font-weight:600}
body.v3 .v3-mls .v3-gres .v3-card{flex:1}
body.v3 .v3-mls .v3-gfix summary{cursor:pointer;font-weight:650;margin-top:8px;min-height:44px;display:flex;align-items:center;color:var(--grey-d)}
body.v3 .v3-mls .v3-gfix p{margin:0 0 4px}
body.v3 .v3-mls .v3-gcode-n{font:800 30px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;margin-top:6px}
body.v3 .v3-mls .v3-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--sunken);border-top-color:var(--green);animation:v3m-spin 800ms linear infinite;flex:none}
@keyframes v3m-spin{to{transform:rotate(360deg)}}
body.v3 .v3-mls .v3-copyrow .v3-cpy{margin-left:auto;display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;padding:0 14px;border-radius:10px;background:var(--white);border:1px solid var(--line);font:650 13.5px/1 Inter,-apple-system,sans-serif;color:var(--ink);cursor:pointer}
body.v3 .v3-mls .v3-copyrow:has(.v3-cpy){padding:4px 4px 4px 12px}
body.v3 .v3-mls .v3-shot{margin:16px 0 0}
body.v3 .v3-mls .v3-shot-win{border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#fff;color:#2b2b2e;font-size:12.5px;line-height:1.35}
body.v3 .v3-mls .v3-shot-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;background:#ececef;border-bottom:1px solid #dcdce0}
body.v3 .v3-mls .v3-shot-bar i{width:8px;height:8px;border-radius:50%;background:#c9c9ce;flex:none}
body.v3 .v3-mls .v3-shot-bar span{margin-left:8px;font-weight:650;color:#5c5c62;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.v3 .v3-mls .v3-shot-in{display:grid;grid-template-columns:108px minmax(0,1fr);min-height:150px}
body.v3 .v3-mls .v3-shot-in.one{grid-template-columns:minmax(0,1fr)}
body.v3 .v3-mls .v3-sx-side{background:#f6f6f8;border-right:1px solid #e6e6ea;padding:10px 8px;display:grid;gap:4px;align-content:start}
body.v3 .v3-mls .v3-sx-side span{display:block;padding:4px 6px;border-radius:5px;color:#6a6a70}
body.v3 .v3-mls .v3-sx-side span.on{background:#e4e4ea;color:#2b2b2e;font-weight:650}
body.v3 .v3-mls .v3-sx-main{padding:14px 16px;display:grid;gap:12px;align-content:start}
body.v3 .v3-mls .v3-sx-h{font-weight:700;font-size:13.5px}
body.v3 .v3-mls .v3-sx-l{color:#6a6a70;font-size:11.5px;margin-bottom:3px}
body.v3 .v3-mls .v3-sx-in{border:1px solid #cfcfd5;border-radius:6px;padding:6px 8px;background:#fff;min-height:28px}
body.v3 .v3-mls .v3-sx-btn{border-radius:6px;padding:6px 12px;background:#3d3d44;color:#fff;font-weight:650;width:max-content}
body.v3 .v3-mls .v3-sx-tabs{display:flex;flex-wrap:wrap;gap:6px 14px;border-bottom:1px solid #e6e6ea;padding-bottom:8px;color:#6a6a70}
body.v3 .v3-mls .v3-sx-hl{position:relative;outline:2.5px solid var(--green);outline-offset:3px;border-radius:6px}
body.v3 .v3-mls .v3-sx-hl.fit{width:max-content;max-width:100%}
body.v3 .v3-mls .v3-sx-pin{position:absolute;top:-13px;right:-13px;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font:800 12px/22px Inter,sans-serif;text-align:center;box-shadow:0 0 0 2px #fff}
body.v3 .v3-mls .v3-shot-notes{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.5px}
body.v3 .v3-mls .v3-shot-notes li{display:flex;gap:10px;align-items:flex-start}
body.v3 .v3-mls .v3-shot-notes b{flex:none;width:22px;height:22px;border-radius:50%;background:var(--green);color:#fff;font-size:12px;display:grid;place-items:center;margin-top:1px}
body.v3 .v3-mls .v3-shot figcaption{font-size:12.5px;color:var(--grey);margin-top:8px}
body.v3 .v3-mls .v3-isyou{border:1.5px solid var(--amber)}
body.v3 .v3-mls .v3-gwrap>.v3-link,body.v3 .v3-mls .v3-gnav .v3-link{min-height:44px;display:inline-flex;align-items:center}
body.v3 .v3-mls .v3-proto .v3-sw{box-shadow:0 0 0 8px transparent}
@media (min-width:900px){
body.v3 .v3-mls .v3-sgroups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
body.v3 .v3-mls .v3-shot-in{grid-template-columns:150px minmax(0,1fr)}
}
body.v3 .v3-mls .v3-qr{width:150px;height:150px;margin:12px auto;display:grid;grid-template-columns:repeat(21,1fr);gap:0;background:var(--white);padding:8px;border-radius:12px}
body.v3 .v3-mls .v3-qr i{background:var(--ink)}
body.v3 .v3-mls .v3-qr i.o{background:transparent}



/* ── the real pieces the drawings stood for ── */
body.v3 .v3-mls .v3-draft{background:var(--sunken);border-radius:14px;padding:12px 14px;font-size:14.5px;line-height:1.45}
body.v3 .v3-mls .v3-qrimg{width:150px;height:150px;margin:12px auto;background:var(--white);border-radius:12px;padding:8px;box-sizing:content-box}
body.v3 .v3-mls .v3-qrimg svg{width:100%;height:100%;display:block}
body.v3 .v3-mls .v3-gres[hidden]{display:none}

/* ── a row's own page: today's sections (contacts/setup/_*.html, the imports, Help) inside the prototype's page.
   Their forms, switches and buttons are today's and work as they always have; here they take v3's look. ── */
body.v3 .v3-mls .v3-legacy{font-size:15px}
body.v3 .v3-mls .v3-legacy .page-shell,body.v3 .v3-mls .v3-legacy .tsheet,body.v3 .v3-mls .v3-legacy .setup{max-width:none;padding:0;margin:0;background:none;border-radius:0;box-shadow:none}
body.v3 .v3-mls .v3-legacy .tstage{background:none;color:inherit;padding:0;margin:0 0 10px;border-radius:0;min-height:0}
body.v3 .v3-mls .v3-legacy .tstage .hi,body.v3 .v3-mls .v3-legacy .tstage .hello h1,body.v3 .v3-mls .v3-legacy .tstage>h1{display:none}
body.v3 .v3-mls .v3-legacy .tstage .hello:not(:has(.hacts,.moremenu)){display:none}
body.v3 .v3-mls .v3-legacy .tstage .tdate,body.v3 .v3-mls .v3-legacy .tstage .lede{color:var(--grey-d);font-size:15px}
/* Follow-up plans: today's line under the title is the head's lede word for word; shown once */
body.v3 .v3-mls[data-v3-page=plans] .v3-legacy .tstage .tdate{display:none}
body.v3 .v3-mls .v3-pagebody{margin-top:14px;max-width:760px}
body.v3 .v3-mls .v3-legacy .sblock+.sblock{margin-top:14px}
body.v3 .v3-mls .v3-legacy .sblock>.lab,body.v3 .v3-mls .v3-legacy>.lab,body.v3 .v3-mls .v3-legacy .lab{font-size:12.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-d);margin:18px 4px 8px}
body.v3 .v3-mls .v3-legacy .sblock:first-child>.lab{margin-top:0}
body.v3 .v3-mls .v3-legacy .card{background:var(--white);border:0;border-radius:var(--r);padding:18px;box-shadow:0 1px 0 var(--line-soft),0 10px 28px -22px color-mix(in srgb,var(--ink) 40%,transparent)}
body.v3 .v3-mls .v3-legacy .card+.card{margin-top:10px}
body.v3 .v3-mls .v3-legacy .card h4{font-size:15px;font-weight:700;letter-spacing:-.015em;margin-bottom:6px}
body.v3 .v3-mls .v3-legacy .sub,body.v3 .v3-mls .v3-legacy .gp{color:var(--grey-d);font-size:14px;line-height:1.45}
body.v3 .v3-mls .v3-legacy .gh{font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-top:6px}
body.v3 .v3-mls .v3-legacy .fine,body.v3 .v3-mls .v3-legacy .muted{color:var(--grey)}
body.v3 .v3-mls .v3-legacy .fld,body.v3 .v3-mls .v3-legacy input[type=text].fld,body.v3 .v3-mls .v3-legacy select.fld,body.v3 .v3-mls .v3-legacy input[type=email],body.v3 .v3-mls .v3-legacy input[type=date]{
  width:100%;height:50px;border:1px solid var(--line);border-radius:14px;background:var(--sunken);padding:0 14px;font-size:16px;margin-top:8px;box-shadow:none}
body.v3 .v3-mls .v3-legacy textarea.fld{height:auto;min-height:110px;padding:14px}
body.v3 .v3-mls .v3-legacy .fldlab{display:block;font-size:13px;font-weight:650;color:var(--grey-d);margin-top:14px}
body.v3 .v3-mls .v3-legacy .wide:not(.pth),body.v3 .v3-mls .v3-legacy .btn{min-height:44px;border-radius:99px;border:0;background:var(--sunken);color:var(--ink);font-weight:650;font-size:14.5px;padding:0 18px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;box-shadow:none}
body.v3 .v3-mls .v3-legacy .wide:not(.pth){width:100%;height:52px;font-size:16px}
body.v3 .v3-mls .v3-legacy .wide.dark,body.v3 .v3-mls .v3-legacy .btn.primary,body.v3 .v3-mls .v3-legacy .btn.dark{background:var(--ink);color:var(--white)}
body.v3 .v3-mls .v3-legacy .quiet{color:var(--grey-d);font-weight:650;background:none;border:0;min-height:44px}
body.v3 .v3-mls .v3-legacy .notice{background:var(--white);border-radius:14px;padding:12px 14px;border:1.5px solid var(--amber);display:flex;gap:10px;align-items:flex-start}
body.v3 .v3-mls .v3-legacy .notice.good{border-color:var(--green)}
body.v3 .v3-mls .v3-legacy .backlink,body.v3 .v3-mls .v3-legacy .back{display:none}
/* today's stage figure ("Your plan Pilot", "Alerts arrive on No phone yet") was white on the ink stage; on the paper it
   reads as the prototype's line under the title (its lede), and today's "Back to Setup" at the foot is the back link
   at the top */
body.v3 .v3-mls .v3-legacy .tstage .hero{display:flex;flex-wrap:wrap;gap:0 6px;align-items:baseline;color:var(--grey-d);font-size:15px;line-height:1.4;margin:0}
body.v3 .v3-mls .v3-legacy .tstage .hero .lab{font:inherit;letter-spacing:0;text-transform:none;color:inherit;margin:0}
body.v3 .v3-mls .v3-legacy .tstage .hero .lab::after{content:":"}
body.v3 .v3-mls .v3-legacy .tstage .hero .num{font:inherit;font-weight:650;color:var(--ink);letter-spacing:0}
/* a typed value reads as the prototype's .field (regular weight), not as its label; the presentation profile's fields
   sit in the guide's card as every other guide's do */
body.v3 .v3-mls .v3-legacy .fld{font-weight:400;color:var(--ink)}
/* Tone's switch (today's .toneswitch) as the prototype's .seg: a v3 button rule made its chosen word ink on the ink knob */
body.v3 .v3-mls .v3-legacy .toneswitch{background:color-mix(in srgb,var(--ink) 6%,transparent);border:0;border-radius:14px;padding:4px;height:44px}
body.v3 .v3-mls .v3-legacy .toneswitch .knob{top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / 3);border-radius:10px;background:var(--white);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 14%,transparent)}
body.v3 .v3-mls .v3-legacy .toneswitch button{font-weight:650;font-size:14px;color:var(--grey-d);border-radius:10px;white-space:nowrap;text-align:center;padding:0 4px}
body.v3 .v3-mls .v3-legacy .toneswitch button.on{color:var(--ink)}
body.v3 .v3-mls .v3-pfields>.fldlab:first-child,body.v3 .v3-mls .v3-pfields>div:first-child>.fldlab:first-child{margin-top:0}
/* a page's numbered parts ("1. Your postal address", "2. Who gets it") are the prototype's card titles, not titles */
body.v3 .v3-mls:is([data-v3-page=email_monthly],[data-v3-page=setup_ask],[data-v3-page=setup_gmail]) .v3-legacy .gh{font-size:16px;font-weight:700;letter-spacing:-.015em;line-height:1.35;margin-top:22px}
body.v3 .v3-mls .v3-legacy .sfoot,body.v3 .v3-mls .v3-legacy a.quiet[href="/setup"]{display:none}
body.v3 .v3-mls .v3-legacy .v3-one>.sblock>.lab{display:none}

/* The orb inline (Help's Ask about it; the prototype's <span class="orb"><span class="halo"></span><span class="core"></span>).
   D2's ask.css draws .v3-orb for every v3 page with these same values; this copy, scoped to our pages, draws it here
   on its own as well, so the two agree after the merge (D1 may drop this copy then). */
body.v3 .v3-mls .v3-orb{position:relative;width:26px;height:26px;border-radius:50%;flex:none;display:inline-block}
body.v3 .v3-mls .v3-orb .core{position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle at 34% 30%, var(--white) 0, color-mix(in srgb,var(--green) 45%,var(--white)) 26%, var(--green) 62%, color-mix(in srgb,var(--green) 72%,var(--ink)) 100%)}
body.v3 .v3-mls .v3-orb .halo{position:absolute;inset:-70%;border-radius:50%;
  background:radial-gradient(circle, color-mix(in srgb,var(--green) 55%,transparent) 0, color-mix(in srgb,var(--green) 18%,transparent) 42%, transparent 68%);
  animation:v3-breathe var(--dur-breathe) ease-in-out infinite}
@keyframes v3-breathe{0%,100%{transform:scale(.82);opacity:.55}50%{transform:scale(1.12);opacity:1}}
@media (prefers-reduced-motion: reduce){ body.v3 .v3-mls .v3-orb .halo{animation:none} }

/* ── round 2: Fill in addresses (contacts/addresses.html). The phone: each row a card, Street, City, ZIP stacked, then
   Save. The desk: a table-like list, the client, Street, City, ZIP and Save on one line under a head. ── */
body.v3 .v3-addrs .v3-acount{margin-top:14px;font-size:15px;color:var(--grey-d)}
body.v3 .v3-addrs .v3-acount b{color:var(--ink);font-weight:750}
body.v3 .v3-addrs .v3-alist{display:grid;gap:10px;margin-top:14px}
body.v3 .v3-addrs .v3-ahead{display:none}
body.v3 .v3-addrs .v3-arow{display:grid;gap:4px;background:var(--white);border-radius:var(--r);padding:14px 16px 16px;margin:0;overflow:hidden;
  box-shadow:0 1px 0 var(--line-soft),0 10px 28px -22px color-mix(in srgb,var(--ink) 40%,transparent)}
body.v3 .v3-addrs .v3-awho{display:grid;gap:2px;min-width:0}
body.v3 .v3-addrs .v3-awho b{font-weight:650;font-size:15.5px;overflow-wrap:anywhere}
body.v3 .v3-addrs .v3-awho span{font-size:13px;color:var(--grey-d);overflow-wrap:anywhere}
body.v3 .v3-addrs .v3-awho .v3-aonfile{color:var(--grey)}
body.v3 .v3-addrs .v3-af{display:block;min-width:0}
body.v3 .v3-addrs .v3-af .v3-flabel{margin:10px 0 6px}
body.v3 .v3-addrs .v3-arow .v3-pill{height:50px;margin-top:12px;width:100%}
body.v3 .v3-addrs .v3-arow .v3-err{grid-column:1/-1;font-size:13px;color:var(--amber-t);font-weight:600;margin:6px 0 0}
body.v3 .v3-addrs .v3-arow .v3-err[hidden]{display:none}
body.v3 .v3-addrs .v3-arow.saved{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--green) 55%,transparent)}
body.v3 .v3-addrs .v3-asaved{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--grey-d);margin:6px 0 0;min-width:0;overflow-wrap:anywhere}
body.v3 .v3-addrs .v3-asaved svg{color:var(--green);flex:none}
body.v3 .v3-addrs .v3-apager{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
body.v3 .v3-addrs .v3-apager .v3-pill,body.v3 .v3-addrs [data-addrs-more]{height:44px;display:inline-flex;align-items:center}
body.v3 .v3-addrs [data-addrs-more]{margin-top:16px}
body.v3 .v3-addrs .v3-empty[hidden],body.v3 .v3-addrs .v3-alist[hidden]{display:none}
body.v3 .v3-addrs .v3-empty{margin-top:14px}
body.v3 .v3-addrs .v3-empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
body.v3 .v3-addrs .v3-anote{margin-top:16px;max-width:760px}
@media (min-width:900px){
  body.v3 .v3-addrs .v3-alist{gap:0;background:var(--white);border-radius:var(--r);overflow:hidden;
    box-shadow:0 1px 0 var(--line-soft),0 10px 28px -22px color-mix(in srgb,var(--ink) 40%,transparent)}
  body.v3 .v3-addrs .v3-ahead,body.v3 .v3-addrs .v3-arow{grid-template-columns:minmax(180px,1.15fr) minmax(0,1.5fr) minmax(0,1fr) 110px 92px;column-gap:12px;align-items:center}
  body.v3 .v3-addrs .v3-ahead{display:grid;padding:12px 18px;font-size:12.5px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--grey-d);border-bottom:1px solid var(--line-soft)}
  body.v3 .v3-addrs .v3-arow{border-radius:0;box-shadow:none;padding:12px 18px;border-top:1px solid var(--line-soft)}
  body.v3 .v3-addrs .v3-ahead+.v3-arow{border-top:0}
  body.v3 .v3-addrs .v3-arow.saved{box-shadow:inset 3px 0 0 var(--green)}
  body.v3 .v3-addrs .v3-af .v3-flabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
  body.v3 .v3-addrs .v3-arow .v3-field{height:44px}
  body.v3 .v3-addrs .v3-arow .v3-pill{height:44px;margin-top:0}
  body.v3 .v3-addrs .v3-asaved{grid-column:2/-1;margin:0}
}

/* The drawn Safari and Google prompts (setup_ask, /setup/gmail; the spacing round, 16 October 2026): the two answers
   centred with room either side, and the green mark drawn inside its answer, rounded all round, so it sits wholly
   inside the card's rounded corner instead of running into it. */
body.v3 .sfbtns span{text-align:center;padding:12px 16px}
body.v3 .sfbtns .mark{outline:3px solid var(--green);outline-offset:-6px;border-radius:12px}
/* the line between the two answers stays straight: drawn on the right of the one before the mark, not on the mark */
body.v3 .sfbtns span + span{border-left:0}
body.v3 .sfbtns span:not(:last-child){border-right:1px solid var(--line)}

/* A setup guide's step bars (Two steps, Three steps; the spacing round, 16 October 2026): a finished step stays green,
   as every progress bar in Version 3 does, rather than turning ink once both are done. */
body.v3 .gbars i.done{background:var(--green)}

/* Today's small status pills inside Version 3's pages (Start, Resume, New; the spacing round, 16 October 2026): 8px or
   more either side of the word, and room above and below it. */
body.v3 .v3-legacy .pill{padding:0 9px;height:24px}
/* Add a sale on the phone (the spacing round): each field keeps to its column, inside the card's padding; a long hint
   wraps, as it does on the desk, instead of widening the column past the card's edge. */
body.v3 .v3-mls .v3-legacy .col > *{min-width:0}
body.v3 .v3-mls .v3-legacy .col :is(input, select){max-width:100%;min-width:0}
body.v3 .v3-mls .v3-legacy .addsale .col .samples{white-space:normal;overflow:visible;text-overflow:clip}
/* a chip's hour picker (Alerts, Reminders): it keeps its 44px tap height, drawn over the chip's 1px border rather than 2px
   past the chip's inside, so the chip never trims what shows */
body.v3 .chip .hour{height:44px;margin-block:-1px}
/* and focused, it shows the green ring drawn inside it (core.css) instead of today's glow, which the chip would trim */
body.v3 .chip .hour:focus{box-shadow:none}
/* a list's draft (Lists' builder): a long link breaks inside the box, as Ask's draft already does, instead of running out */
body.v3 .v3-mls .v3-draft{overflow-wrap:anywhere}
/* Put FOLLOWap on your phone, on the desk (the spacing round): in a column too narrow for the code and its words side by
   side, the words go under the code instead of being squeezed to a word a line and running out of the card. */
body.v3 .v3-mls .v3-legacy .install-desk{container-type:inline-size}
@container (max-width:520px){ body.v3 .v3-mls .v3-legacy .install-card{grid-template-columns:minmax(0,1fr)} }

/* Settings' Touch ID section on a computer (17 October 2026): each passkey by device and browser, with its own Remove */
body.v3 .v3-legacy .pk-list{list-style:none;margin:14px 0 0;padding:0;border-top:1px solid var(--line)}
body.v3 .v3-legacy .pk-list:not(:has(li)){display:none}
body.v3 .v3-legacy .pk-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line)}
body.v3 .v3-legacy .pk-list li > div{min-width:0;display:flex;flex-direction:column;gap:2px}
body.v3 .v3-legacy .pk-list li .muted{font-size:13px}
body.v3 .v3-legacy .pk-list .v3-pill{flex:none}
/* the product audit (19 October 2026): the caption under Safari's question was 4.08:1; the darker grey is 5.9:1 */
body.v3 .v3-legacy .askshot figcaption.fine,body.v3 .askshot figcaption.fine{color:var(--grey-d)}   /* (the dialog's shadow falls behind it) */
/* the product audit (20 October 2026): Team's "No CRMLS ID yet" in the amber was 2.76:1; the text amber is 5.2:1 */
body.v3 .srcrow .sl > span.tmcrmls:not(.on){color:var(--amber-t)}
