/* Five-step shell: RA layout with SP-style document entry. */
body.flow { background:var(--paper); }
.flow-header { position:static; min-height:74px; background:var(--white); border-bottom:1px solid var(--line); }
.flow-header .wrap { min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:12px; }
.flow-header .brand-disc { width:36px; height:36px; font-size:14px; }
.flow-header .brand-name { font-size:13.5px; }
.draft-status { color:var(--muted); font-size:13px; }
.flow-main { width:min(1240px,100% - 48px); margin:30px auto 60px; gap:26px; }
.prototype-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 20px; font-size:13px; color:var(--muted); }
.journey-rail { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); max-width:960px; width:100%; list-style:none; padding:0; margin:4px auto 2px; }
.journey-rail li { display:flex; align-items:center; gap:12px; min-width:0; }
.journey-rail button,.journey-rail a { display:flex; align-items:center; gap:9px; color:var(--muted); background:transparent; padding:6px 0; border:0; font-weight:700; font-size:13px; }
.journey-rail button:disabled { opacity:1; cursor:default; }
.step-number { display:grid; place-items:center; border:1.5px solid var(--line); border-radius:50%; width:30px; height:30px; flex-shrink:0; background:var(--white); font-size:14px; }
.step-name { white-space:nowrap; }
.step-connector { height:1px; background:var(--line); flex:1; margin-right:12px; }
.journey-rail li:last-child .step-connector { display:none; }
.journey-rail .current button,.journey-rail .complete button { color:var(--ink); }
.journey-rail .current .step-number { background:var(--ink); color:var(--accent); border-color:var(--ink); }
.journey-rail .complete .step-number { background:var(--accent); border-color:var(--accent); }
.journey-rail .complete .step-connector { background:var(--ink); }
.flow-card { padding:clamp(24px,3.4vw,40px); gap:26px; box-shadow:var(--shadow-1); }
.card-heading { display:flex; flex-direction:column; gap:12px; }
.card-heading .eyebrow::before { display:none; }
.card-heading .eyebrow { color:var(--muted); }
.flow-card h1 { font-size:clamp(28px,3.4vw,42px); line-height:1.12; }
.flow-card h2 { font-size:25px; line-height:1.2; }
.flow-card h1:focus { outline:none; }
.journey-actions { justify-content:space-between; padding-top:26px; margin-top:2px; }
.journey-actions .btn { min-height:50px; }
.upload-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.upload-tile { min-height:152px; display:grid; grid-template-columns:52px minmax(0,1fr); gap:8px 20px; align-content:center; padding:26px; text-align:left; border:1.5px solid var(--line); background:var(--paper); border-radius:20px; color:var(--ink); }
.upload-tile:hover { border-color:var(--ink); }
.upload-tile strong { font-size:22px; letter-spacing:-.02em; align-self:end; }
.upload-tile>span:last-child { font-size:16px; color:var(--muted); line-height:1.5; }
.upload-icon { grid-row:span 2; width:52px; height:52px; border-radius:16px; display:grid; place-items:center; background:var(--white); align-self:center; }
.camera-tile { background:var(--accent); border-color:var(--accent); }
.camera-tile>span:last-child { color:var(--ink-2); }
.camera-tile .upload-icon { background:var(--ink); color:var(--accent); }
.flow-card .file-position { background:var(--paper); }
.flow-card .check-label { align-items:flex-start; line-height:1.5; }
.flow-card .check-label input { margin-top:4px; flex-shrink:0; }
.flow-card p,.flow-card a,.flow-card button,.flow-card label { overflow-wrap:anywhere; }
.question { padding-block:6px; }
.question-code { font-size:13px; font-weight:700; color:var(--muted); letter-spacing:.06em; }
.question legend { font-size:clamp(21px,2vw,25px); font-weight:750; margin-bottom:22px; }
.flow-card .choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.flow-card .choice { min-height:64px; padding:20px 22px; border-radius:14px; position:relative; background:var(--paper); border:1.5px solid var(--line); }
.flow-card .choice input { position:absolute; width:1px; height:1px; opacity:0; }
.flow-card .choice:has(input:checked) { background:var(--accent-pale); border-color:var(--ink); }
.flow-card .choice:has(input:focus-visible) { outline:2px solid var(--ink); outline-offset:3px; }
.email-block { border-top:1.5px solid var(--line); padding-top:26px; }
.email-block .field { max-width:540px; }
.flow-card .pdf-content { display:block; background:var(--paper); padding:26px; }
.flow-card .pdf-sheet { max-width:720px; margin:auto; padding:32px; font-size:15px; }
.flow-card .outdated { opacity:.55; }
.next-steps { border-top:1.5px solid var(--line); padding-top:26px; }
.next-steps ol { margin:0; padding-left:24px; line-height:1.8; }
.flow-card input,.flow-card textarea { min-width:0; max-width:100%; }
@media(max-width:860px) { .upload-choices,.flow-card .choices { grid-template-columns:1fr; } .journey-rail li { gap:6px; } .journey-rail button { gap:6px; font-size:12px; } .step-connector { margin-right:6px; } }
@media(max-width:640px) {
 .flow-main { width:calc(100% - 24px); margin-top:20px; gap:22px; }
 .flow-header .wrap { width:calc(100% - 24px); flex-wrap:nowrap; gap:12px; }
 .draft-status { font-size:11px; max-width:85px; text-align:right; }
 .flow-header .brand-name { max-width:125px; font-size:12px; }
 .flow-header .brand { gap:8px; }
 .flow-card { padding:19px; border-radius:16px; gap:22px; }
 .flow-card h1 { font-size:25px; }
 .flow-card h2 { font-size:22px; }
 .journey-rail { align-items:start; }
 .journey-rail li { position:relative; display:block; }
 .journey-rail button,.journey-rail a { width:100%; flex-direction:column; gap:8px; font-size:clamp(9px,2.45vw,12px); }
 .journey-rail .step-number { position:relative; z-index:1; }
 .step-name { letter-spacing:-.02em; }
 .step-connector { position:absolute; top:21px; left:calc(50% + 19px); width:calc(100% - 38px); margin:0; }
 .upload-tile { padding:22px 18px; gap:12px; }
 .upload-tile strong { font-size:19px; }
 .upload-tile>span:last-child { font-size:14px; }
 .journey-actions { align-items:stretch; gap:14px; }
 .journey-actions>.row { flex:1; justify-content:flex-end; }
 .journey-actions .btn { font-size:14px; padding:14px 18px; }
 .prototype-bar { font-size:12px; }
 .flow-card .pdf-content { padding:14px; }
 .flow-card .pdf-sheet { padding:18px; }
 .flow-card .source[open] { position:fixed; inset:12px; z-index:60; overflow:auto; margin:0; }
}
