/* Shared Fundy visual system. Task-specific layouts keep their behavioral owners. */
body.guided-app { --bg:#141613; --surface:#1e211b; --line:#34392f; --muted:#b7bbae; --gold:#ddca92; --input-bg:#191c17; --input-line:#59614f; --text:#f0eee5; }
body.guided-app .guided-layout { max-width:1600px; grid-template-columns:190px minmax(0,1fr); }
body.guided-app .guided-layout>main { max-width:1240px; padding:36px 48px 64px; }
body.guided-app .guided-header { min-height:70px; padding-block:16px; }
body.guided-app .journey-sidebar { padding-top:32px; }
body.guided-app .journey-nav a { min-height:44px; border-radius:5px; transition:background .18s,color .18s; }
body.guided-app .journey-nav a[aria-current] { background:var(--surface); box-shadow:inset 2px 0 var(--gold); color:var(--gold); }
body.guided-app .journey-nav small { display:none; }
body.guided-app .journey-foot { line-height:1.8; }
body.guided-app :is(h1,.profile-intro h1,.journey-card .profile-intro h1) { font:500 clamp(28px,3vw,36px)/1.2 Inter,system-ui,sans-serif; letter-spacing:-1px; margin:5px 0 12px; }
body.guided-app h2 { font:500 21px/1.4 Inter,system-ui,sans-serif; letter-spacing:-.3px; }
body.guided-app .eyebrow { font:500 10px/1.5 Inter,system-ui,sans-serif; letter-spacing:.13em; color:var(--muted); margin:0 0 12px; }
body.guided-app :is(.lead,.profile-intro>p,.title-progress p) { color:var(--muted); font-size:13px; line-height:1.7; max-width:68ch; }
body.guided-app .journey-card { max-width:940px; padding:0; background:transparent; border:0; border-radius:0; margin:0 auto 28px; }
body.guided-app .journey-card .profile-intro { margin-bottom:28px; }
body.guided-app :is(button,.button) { border-radius:6px; min-height:44px; font-size:13px; }
body.guided-app :is(input:not([type=checkbox]):not([type=radio]),textarea,select) { font:400 14px/1.5 Inter,system-ui,sans-serif; background:var(--input-bg); color:var(--text); border:1px solid var(--input-line); border-radius:6px; max-width:100%; }
body.guided-app :is(input,textarea,select):focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
body.guided-app :is(button.secondary,.button.secondary) { background:transparent; border-color:var(--input-line); color:var(--text); }
body.guided-app :is(button.secondary,.button.secondary):hover { background:var(--surface); border-color:var(--gold); }
body.guided-app :is(.full-profile-details,.future-checks,.profile-history,.output-detail) { max-width:940px; margin:0 auto; padding:8px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:transparent; }
body.guided-app :is(.full-profile-details,.future-checks,.profile-history,.output-detail)>summary { cursor:pointer; min-height:44px; padding:12px 0; color:var(--text); font-size:13px; font-weight:500; }
body.guided-app :is(.full-profile-details,.future-checks,.profile-history,.output-detail)[open]>summary { color:var(--gold); }
body.guided-app .notice { border-radius:6px; font-size:13px; }
/* Interview: the question is the focal point; saved context stays secondary. */
body.guided-app.card-interview #interview-app { max-width:820px; }
body.guided-app.card-interview #interview-app .interview-top h1 { font:500 28px/1.25 Inter,system-ui,sans-serif; letter-spacing:-.7px; }
body.guided-app.card-interview #interview-app .chat-main { padding:24px 0; background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; }
body.guided-app.card-interview #interview-app .current-question h2 { font:400 clamp(23px,2.6vw,29px)/1.4 Lora,Georgia,serif; margin:12px 0 20px; }
body.guided-app.card-interview #interview-app .direct-choices { gap:8px; }
body.guided-app.card-interview #interview-app .direct-choices button { background:var(--surface); border:1px solid var(--line); border-radius:6px; min-height:52px; padding:14px 18px; }
body.guided-app.card-interview #interview-app .direct-choices button:hover { border-color:var(--gold); }
body.guided-app.card-interview #interview-app .profile-side { border-radius:6px; background:var(--surface); }
body.guided-app .brief-progress { gap:8px; }
/* Profile: labeled facts and light dividers rather than nested panels. */
body.guided-app .profile-highlights { gap:0 32px; }
body.guided-app .profile-highlights dd { font:400 21px/1.45 Lora,Georgia,serif; }
body.guided-app .profile-highlights dd span+span { font:400 13px/1.7 Inter,system-ui,sans-serif; }
body.guided-app .profile-confirmation { background:var(--surface); padding:24px; border:0; border-radius:6px; }
body.guided-app .journey-card .profile-confirmation { background:var(--surface); padding:24px; border:0; border-radius:6px; }
body.guided-app .profile-design .review-section { border-radius:6px; }
body.guided-app .flow-section { border-radius:0; box-shadow:none; }
body.guided-app #interview-app .edit-question { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:32px; }
body.guided-app #interview-app .edit-question h2 { font:400 28px/1.4 Lora,Georgia,serif; }
/* Proposal: one approval surface with details outside it. */
body.guided-app .output-card { padding:28px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
body.guided-app .output-card header { padding:0 0 20px; margin:0; background:transparent; border:0; display:block; min-height:0; }
body.guided-app .output-card header h2 { font-size:23px; margin:4px 0 0; }
body.guided-app .output-aspects>div { gap:24px; padding-block:16px; grid-template-columns:120px minmax(0,1fr); border-color:var(--line); }
body.guided-app .output-aspects dt { color:var(--muted); font-weight:400; font-size:12px; }
body.guided-app .output-aspects dd { font-size:14px; line-height:1.7; }
body.guided-app .output-card form { border-top:1px solid var(--line); padding-top:20px; }
body.guided-app .output-card .check { font-size:13px; line-height:1.7; }
/* Accounts: current selection first, provider controls clearly grouped. */
body.guided-app.connection-flow .connection-card .accounts { gap:24px; }
body.guided-app.connection-flow .connection-card .account { background:transparent; border:0; border-top:1px solid var(--line); border-radius:0; padding:24px 0; }
body.guided-app.connection-flow .connection-card .account h2 { font-size:21px; }
body.guided-app.connection-flow .connection-card .account p { font-size:13px; color:var(--muted); }
body.guided-app.connection-flow .connection-card .account :is(.status,.selected) { color:var(--gold); }
body.guided-app.connection-flow .connection-card .flow-next { background:var(--surface); border:0; border-radius:6px; padding:24px; margin:28px 0; }
body.guided-app.connection-flow .connection-card .flow-next h2 { overflow-wrap:anywhere; }
body.guided-app.connection-flow .account form { display:grid; gap:10px; }
body.guided-app.connection-flow .account select { width:100%; min-width:0; }
body.guided-app.connection-flow .account form button { justify-self:start; }
@media(max-width:1100px) { body.guided-app .guided-layout>main { padding-inline:28px; } }
@media(max-width:760px) {
 body.guided-app .guided-layout { display:block; }
 body.guided-app .journey-sidebar { padding:8px 20px; }
 body.guided-app .guided-layout>main { padding:24px 20px 40px; }
 body.guided-app .guided-header { min-height:64px; padding:14px 20px; }
 body.guided-app .journey-card { padding:0; }
 body.guided-app .output-card { padding:20px; }
 body.guided-app .output-aspects>div { grid-template-columns:1fr; gap:6px; }
 body.guided-app :is(.profile-highlights,.connection-card .accounts) { grid-template-columns:1fr; }
 body.guided-app .journey-card .profile-confirmation { padding:20px; }
 body.guided-app.card-interview #interview-app .interview-top h1 { font-size:25px; }
 body.guided-app.card-interview #interview-app .chat-main { padding:16px 0; }
 body.guided-app #interview-app .edit-question { padding:20px 0; }
 body.guided-app .profile-edit-form .edit-actions { gap:16px; }
}
@media(prefers-reduced-motion:reduce) { body.guided-app * { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }

/* Exact purchase review is a separate, explicit execution decision. */
body.guided-app.purchase-page .journey-card { max-width:760px; }
body.guided-app.purchase-page .journey-card>p { margin:16px 0; color:var(--muted); line-height:1.75; }
body.guided-app.purchase-page .journey-card>.purchase-account { color:var(--text); font-weight:500; }
body.guided-app.purchase-page .purchase-confirm { margin:24px 0 16px; padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
body.guided-app.purchase-page .purchase-confirm button { margin-top:16px; }
body.guided-app.purchase-page .journey-card>form+.button,body.guided-app.purchase-page .journey-card>a { display:inline-block; margin-top:20px; }
