:root {
  --navy: #062b5c;
  --blue: #3b82f6;
  --blue-dark: #1767cb;
  --gold: #ab9809;
  --ink: #111827;
  --muted: #667085;
  --line: #d9dee7;
  --soft: #f8fafc;
  --card: #ffffff;
  --must: #b42318;
  --important: #b54708;
  --exclude: #9b1c1c;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--ink); font-family: Arial, Helvetica, sans-serif; }
button, input, select, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.shell { width: 100%; max-width: 1120px; margin: 0 auto; padding: 28px 28px 56px; }

.home-screen { width: 100%; max-width: 1000px; margin: 0 auto; padding: 48px 0 36px; text-align: center; }
.sia-logo { display: block; width: 150px; max-width: 40vw; height: auto; margin: 0 auto 22px; }
.home-kicker { margin: 0 0 10px; color: var(--navy); font-size: 18px; font-weight: 700; letter-spacing: .02em; }
.home-title { max-width: 760px; margin: 0 auto 16px; color: var(--gold); font-size: 42px; line-height: 1.08; font-weight: 800; }
.home-copy { max-width: 740px; margin: 0 auto 34px; color: var(--muted); font-size: 20px; line-height: 1.55; }
.home-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; width: 100%; margin: 0 auto; text-align: left; }
.home-card { appearance: none; width: 100%; min-height: 165px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; color: var(--ink); cursor: pointer; display: flex; flex-direction: column; justify-content: center; gap: 9px; text-align: left; transition: border-color .15s ease, background .15s ease, transform .15s ease; }
.home-card:hover { border-color: #b8c5d8; background: var(--soft); transform: translateY(-1px); }
.home-card.primary-card { border: 2px solid var(--blue); background: #eef6ff; }
.home-card.primary-card:hover { border-color: var(--blue-dark); background: #e5f1ff; }
.home-card strong { display: block; color: var(--navy); font-size: 22px; line-height: 1.2; }
.home-card span { display: block; color: var(--muted); font-size: 16px; line-height: 1.4; }
.home-note { margin: 26px auto 0; color: var(--muted); font-size: 15px; line-height: 1.4; }

.topbar { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; }
.eyebrow { margin-bottom: 8px; color: #5d6470; font-size: 18px; }
.topbar h1 { margin: 0; color: var(--ink); font-size: 36px; line-height: 1.14; }
.step-count { margin-top: 8px; color: #8a919c; font-size: 17px; white-space: nowrap; }
.progress { height: 14px; margin: 24px 0 34px; border-radius: 999px; background: #e5e7eb; overflow: hidden; }
.progress > div { width: 10%; height: 100%; background: var(--blue); transition: width .2s ease; }

.panel { display: none; }
.panel.active { display: block; }
.intro { margin: 0 0 28px; color: var(--muted); font-size: 20px; line-height: 1.5; }
.panel h2 { margin: 30px 0 15px; color: var(--ink); font-size: 23px; line-height: 1.25; }

.choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.choice-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.choice-stack { display: grid; gap: 14px; }
.choice { position: relative; display: flex; align-items: center; gap: 15px; min-height: 74px; padding: 19px 21px; border: 1px solid var(--line); border-radius: 17px; background: var(--card); color: var(--ink); font-size: 19px; line-height: 1.3; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.choice:hover { background: var(--soft); }
.choice input { width: 24px; height: 24px; margin: 0; flex: 0 0 auto; accent-color: var(--blue); }
.choice:has(input:checked) { border-color: var(--blue); background: #eff6ff; }
.exclusion-choice:has(input:checked) { border-color: #d92d20; background: #fff3f2; }
.cost-amount-grid .choice { min-height: 84px; }

.nav-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin-top: 38px; padding-top: 18px; border-top: 1px solid #eef1f5; }
.nav-row #backBtn { justify-self: start; }
.nav-row #homeBtn { justify-self: center; }
.nav-row #nextBtn { justify-self: end; }
.primary, .secondary { min-height: 52px; padding: 0 24px; border-radius: 12px; font-size: 18px; font-weight: 700; cursor: pointer; }
.primary { border: 1px solid var(--blue); background: var(--blue); color: #fff; }
.primary:hover { border-color: var(--blue-dark); background: var(--blue-dark); }
.secondary { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.secondary:hover { background: var(--soft); }
.home-nav { min-width: 110px; }
.nav-disabled { opacity: .35; cursor: default; }
.nav-disabled:hover { background: #fff; }

.priority-list { display: grid; gap: 12px; }
.priority-item { padding: 17px 18px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.priority-top { margin-bottom: 11px; font-weight: 700; }
.priority-controls { display: flex; flex-wrap: wrap; gap: 8px; }
.priority-controls button { padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); cursor: pointer; }
.priority-controls button.active[data-priority="important"] { border-color: var(--important); background: #fff7ed; color: var(--important); }
.priority-controls button.active[data-priority="must"] { border-color: var(--must); background: #fef3f2; color: var(--must); }
.excluded-item { border-color: #f2b8b5; background: #fffafa; }
.exclude-badge { display: inline-flex; padding: 7px 11px; border: 1px solid #f1a7a3; border-radius: 999px; background: #fff1f0; color: var(--exclude); font-size: 14px; font-weight: 800; }
.summary-actions { margin-top: 24px; }
.save-profile { min-height: 62px; padding: 0 30px; font-size: 21px; }
.save-message { margin-top: 14px; color: var(--muted); font-size: 18px; font-weight: 700; }

.placeholder-screen { width: 100%; max-width: 760px; margin: 0 auto; padding-top: 28px; }
.placeholder-screen h1 { margin: 18px 0 12px; font-size: 38px; }
.text-back { padding: 0; border: 0; background: transparent; color: #526071; font-size: 16px; font-weight: 700; cursor: pointer; }
.text-back:hover { text-decoration: underline; }

@media (max-width: 820px) {
  .shell { padding: 20px 16px 38px; }
  .home-screen { padding-top: 22px; }
  .sia-logo { width: 130px; max-width: 42vw; margin-bottom: 16px; }
  .home-kicker { font-size: 16px; }
  .home-title { font-size: 32px; }
  .home-copy { margin-bottom: 26px; font-size: 18px; }
  .home-actions { grid-template-columns: 1fr; gap: 12px; }
  .home-card { min-height: 108px; padding: 19px 20px; }
  .home-card strong { font-size: 20px; }
  .topbar h1 { font-size: 29px; }
  .choice-grid, .choice-grid.four { grid-template-columns: 1fr; }
  .choice { min-height: 64px; padding: 16px; font-size: 18px; }
  .intro { font-size: 18px; }
  .panel h2 { font-size: 21px; }
  .nav-row { position: sticky; bottom: 0; z-index: 5; margin-top: 28px; padding: 12px 0 4px; border-top: 1px solid #eef1f5; background: rgba(255,255,255,.98); }
  .primary, .secondary { min-height: 50px; padding: 0 16px; font-size: 16px; }
  .home-nav { min-width: 86px; }
}

@media (max-width: 480px) {
  .shell { padding-left: 12px; padding-right: 12px; }
  .sia-logo { width: 118px; }
  .home-title { font-size: 28px; }
  .home-copy { font-size: 17px; }
  .home-note { font-size: 14px; }
  .step-count { font-size: 15px; }
  .nav-row { gap: 7px; }
  .primary, .secondary { padding: 0 11px; font-size: 15px; }
  .home-nav { min-width: 74px; }
}

/* SIA Account / Portal Foundation */
.account-screen,.portal-screen{max-width:980px;margin:0 auto;padding:44px 0 70px;text-align:center}.account-entry-actions,.portal-actions,.summary-actions,.quick-actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.guest-warning{margin:22px auto;max-width:760px;padding:16px 18px;border:1px solid #d9e1e8;border-radius:16px;background:#f7f9fb;color:#53636d}.account-form,.account-card{margin:28px auto 0;max-width:760px;padding:28px;text-align:left;border:1px solid #d9e1e8;border-radius:22px;background:#fff;scroll-margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-weight:700;display:block}.form-grid .full{grid-column:1/-1}.form-grid input{width:100%;box-sizing:border-box;margin-top:8px;padding:14px 16px;border:1px solid #cdd8e0;border-radius:12px;font:inherit}.password-wrap{position:relative}.password-wrap input{padding-right:54px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-40%);border:0;background:transparent;cursor:pointer;font-size:20px;padding:8px}.form-message{margin:14px 0;min-height:1.4em;color:#53636d}.form-message.error{color:#b42318}.session-bar{display:flex;justify-content:center;align-items:center;gap:12px;margin:12px 0 18px;color:#53636d}.member-card{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px auto;max-width:900px}.member-card>div{padding:22px;border:1px solid #d9e1e8;border-radius:18px;background:#fff}.member-card span{display:block;color:#687985;font-size:.9rem;margin-bottom:8px}.member-card strong{font-size:1.15rem}.portal-actions{max-width:920px;margin:0 auto}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.quick-actions{justify-content:flex-end}.profile-fact-badge{display:inline-block;margin-top:10px;padding:8px 12px;border-radius:999px;background:#eef3f6;color:#53636d;font-weight:700;font-size:.9rem}.factual-item{background:#fbfcfd}.small{padding:8px 12px!important;font-size:.92rem!important}.portal-logo{margin-bottom:8px}
@media (max-width:700px){.form-grid,.member-card{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.account-entry-actions,.portal-actions{flex-direction:column}.account-entry-actions>* , .portal-actions>*{width:100%}.section-heading-row{align-items:flex-start}.quick-actions{width:100%;justify-content:flex-start}}
@media print{body>*{visibility:hidden}#analyzerScreen,#analyzerScreen *{visibility:visible}#analyzerScreen{position:absolute;left:0;top:0;width:100%}.nav-row,.summary-actions,.topbar,.progress{display:none!important}.panel{display:none!important}.panel[data-step="10"]{display:block!important}.priority-controls button:not(.active){display:none!important}}


/* V1.2 cleanup */
.employment-disclaimer{max-width:980px;margin:28px auto 10px;padding:18px 22px;border:1px solid #d9e1e8;border-radius:16px;background:#f7f9fb;color:#53636d;line-height:1.55;text-align:left}.employment-disclaimer strong{color:#0b2f5b}.member-nav-actions{display:flex;gap:10px;justify-content:center;align-items:center}.nav-save-message{min-height:1.35em;margin-top:22px;text-align:center;color:#53636d;font-weight:700}.nav-save-message.error{color:#b42318}.nav-row.member-mode{grid-template-columns:1fr auto 1fr}.nav-row.member-mode #nextBtn{justify-self:end}.nav-row.member-mode .member-nav-actions{justify-self:center}
@media(max-width:720px){.member-nav-actions{gap:6px;flex-wrap:wrap}.member-nav-actions button{padding:10px 12px;font-size:.9rem}.employment-disclaimer{text-align:center}.nav-row.member-mode{grid-template-columns:auto 1fr auto}.nav-row.member-mode .member-nav-actions{justify-self:center}}


/* Income Option Provider Intake V1 */
.list-option-screen{max-width:1100px;margin:0 auto;padding:28px 0 70px}
.list-option-header{margin-bottom:24px}
.list-option-header h1{margin:16px 0 12px;font-size:38px;line-height:1.15;color:var(--ink)}
.provider-gate{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff;text-align:center}
.income-option-form{display:grid;gap:20px}
.provider-member-line{padding:14px 18px;border:1px solid #cfd9e2;border-radius:14px;background:#f7f9fb;color:#53636d}
.provider-section{padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff}
.provider-section h2{margin:0 0 10px;font-size:25px;color:var(--ink)}
.provider-help{margin:0 0 18px;color:var(--muted);line-height:1.5}
.provider-section textarea,.provider-section select,.provider-section input[type="text"],.provider-section input[type="url"],.provider-section input:not([type]){width:100%;box-sizing:border-box;margin-top:8px;padding:13px 14px;border:1px solid #cdd8e0;border-radius:12px;font:inherit;background:#fff}
.provider-section textarea{resize:vertical}
.provider-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.provider-check-grid>label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #d9e1e8;border-radius:14px;background:#fff;cursor:pointer}
.provider-check-grid input[type="checkbox"]{width:21px;height:21px;accent-color:var(--blue)}
.provider-check-grid.group-error{outline:2px solid #d92d20;outline-offset:4px;border-radius:12px}
.provider-yn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.provider-yn-grid label{font-weight:700}
.provider-top-gap{margin-top:18px}
.disclosure-table{display:grid;gap:0;border:1px solid #d9e1e8;border-radius:14px;overflow:hidden}
.disclosure-head,.disclosure-table>label{display:grid;grid-template-columns:1fr 210px;gap:16px;align-items:center;padding:13px 16px}
.disclosure-head{background:#f7f9fb;font-weight:800;color:var(--navy)}
.disclosure-table>label{border-top:1px solid #e7edf2}
.disclosure-table select{margin:0}
.provider-attestation{border-color:#d8b24d;background:#fffdf7}
.attestation-check{display:flex;align-items:flex-start;gap:14px;padding:15px 0;line-height:1.5}
.attestation-check input{width:22px;height:22px;margin-top:2px;accent-color:var(--blue)}
.provider-submit-row{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}
@media(max-width:760px){
  .provider-check-grid,.provider-yn-grid{grid-template-columns:1fr}
  .disclosure-head,.disclosure-table>label{grid-template-columns:1fr}
  .provider-section{padding:20px}
  .list-option-header h1{font-size:30px}
}


/* All Pinned Updates V1 */
.home-card-link{text-decoration:none}
.account-hook-actions{margin-top:28px}
.hook-entry-note{max-width:900px;margin:18px auto 0;color:var(--muted);font-size:16px;line-height:1.5;text-align:center}
.hook-entry-note a,.analyzer-glossary-link{font-weight:800}
.glossary-info{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:20px;height:20px;border-radius:50%;border:1px solid #b7c4d1;color:var(--navy);font-size:13px;font-weight:900;text-decoration:none;vertical-align:middle;background:#fff}
.context-guidance{margin-top:22px;padding:20px 22px;border:1px solid #d8b24d;border-radius:16px;background:#fffdf7;text-align:left}
.context-guidance h2{margin-top:0}
.context-guidance p{color:#475467;line-height:1.55}
.session-bar{flex-wrap:wrap}
@media(max-width:700px){
  .account-hook-actions{grid-template-columns:1fr}
  .account-hook-actions .home-card{min-height:112px}
  .session-bar{gap:8px}
}


/* Universal SIA Identity / Dashboard V1 */
.hook-entry-note{margin-top:30px}
.account-setup-choice{max-width:760px;margin-left:auto;margin-right:auto}
.setup-choice-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.setup-choice-actions button{width:100%}
@media(max-width:700px){.setup-choice-actions{grid-template-columns:1fr}}


/* Navigation Unification V1 — pinned Analyzer navigation */
.nav-row{
  display:grid;
  grid-template-columns:1fr auto auto 1fr;
  align-items:center;
  gap:10px;
}
.nav-row #backBtn{justify-self:start}
.nav-row #homeBtn{justify-self:center;display:inline-flex!important}
.nav-row .member-nav-actions{justify-self:center}
.nav-row #nextBtn{justify-self:end}

.nav-row.member-mode{
  grid-template-columns:1fr auto auto 1fr;
}
.nav-row.member-mode #homeBtn{
  display:inline-flex!important;
  justify-self:center;
}

@media(max-width:720px){
  .nav-row,
  .nav-row.member-mode{
    grid-template-columns:auto auto 1fr auto;
    gap:7px;
  }
  .nav-row #backBtn,
  .nav-row #homeBtn,
  .nav-row #nextBtn{
    white-space:nowrap;
  }
  .nav-row .member-nav-actions{
    justify-self:center;
    display:flex;
    flex-wrap:wrap;
  }
}
