:root {
  --navy: #0b1930;
  --navy-2: #112a4c;
  --blue: #176b87;
  --orange: #f47c20;
  --orange-dark: #cf5b0a;
  --gold: #f4c56b;
  --paper: #f7f9fc;
  --white: #ffffff;
  --ink: #152239;
  --muted: #66758c;
  --line: #dbe2eb;
  --success: #13825b;
  --danger: #c33b31;
  --shadow: 0 18px 50px rgba(11,25,48,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; }
button, input { font: inherit; }
button { cursor: pointer; }
.top-stripe { height: 7px; background: repeating-linear-gradient(135deg,var(--orange) 0 18px,var(--navy) 18px 36px); }
.app-header { height: 76px; display:flex; align-items:center; justify-content:space-between; padding:0 3.5vw; color:var(--white); background:var(--navy); border-bottom:1px solid rgba(255,255,255,.09); position:sticky; top:0; z-index:20; }
.brand { color:inherit; text-decoration:none; display:flex; align-items:center; gap:12px; }
.brand-mark { width:42px; height:42px; border:2px solid var(--orange); color:var(--orange); display:grid; place-items:center; font-weight:900; font-size:1.35rem; transform:rotate(-2deg); }
.brand strong,.brand small { display:block; }
.brand strong { font-size:1.05rem; letter-spacing:.02em; }
.brand small { color:#aab9cb; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; }
.header-status { display:flex; align-items:center; gap:9px; color:#cbd5e2; font-size:.86rem; }
.status-dot { width:9px; height:9px; background:var(--orange); border-radius:50%; box-shadow:0 0 0 5px rgba(244,124,32,.14); }
.app-shell { display:grid; grid-template-columns:260px minmax(0,1fr); min-height:calc(100vh - 83px); }
.sidebar { background:var(--navy); color:var(--white); padding:30px 24px; position:sticky; top:83px; height:calc(100vh - 83px); display:flex; flex-direction:column; overflow-y:auto; }
.eyebrow { margin:0 0 7px; font-size:.73rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:var(--orange-dark); }
.sidebar>.eyebrow { color:#7f93ab; margin-left:12px; }
.step-nav { display:flex; flex-direction:column; gap:7px; }
.nav-step { width:100%; border:0; background:transparent; color:#aab9cb; text-align:left; padding:13px 12px; border-radius:8px; font-weight:700; font-size:.9rem; transition:.2s ease; }
.nav-step span { display:inline-grid; place-items:center; width:30px; height:25px; margin-right:8px; font-size:.7rem; color:#768ba4; border-right:1px solid #334763; }
.nav-step:hover { color:#fff; background:rgba(255,255,255,.05); }
.nav-step.active { color:#fff; background:var(--navy-2); box-shadow:inset 3px 0 0 var(--orange); }
.nav-step.active span { color:var(--orange); }
.sidebar-rule { margin-top:auto; padding:20px 18px; border:1px solid #334763; background:rgba(255,255,255,.03); }
.sidebar-rule span { color:#90a1b7; font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; }
.sidebar-rule strong { display:block; margin:4px 0; color:var(--gold); font-size:1.45rem; }
.sidebar-rule p { margin:0; color:#aab9cb; font-size:.82rem; }
.workspace { min-width:0; padding:48px clamp(24px,5vw,80px) 28px; }
.intro { max-width:1120px; margin:0 auto 36px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.intro h1 { margin:0; color:var(--navy); max-width:720px; font-size:clamp(2rem,4.5vw,4.5rem); line-height:.95; letter-spacing:-.055em; }
.intro>div>p:last-child { max-width:700px; color:var(--muted); font-size:1.04rem; }
.holy-grail { flex:0 0 160px; aspect-ratio:1; border:2px solid var(--navy); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(2deg); box-shadow:7px 7px 0 var(--orange); background:#fff; }
.holy-grail span,.holy-grail small { text-transform:uppercase; font-size:.65rem; font-weight:900; letter-spacing:.12em; }
.holy-grail strong { color:var(--navy); font-size:2.15rem; line-height:1; margin:8px 0; }
.tool-section { max-width:1120px; margin:0 auto; animation:section-in .35s ease; }
@keyframes section-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; border-top:1px solid var(--line); padding-top:22px; margin-bottom:22px; }
.section-heading>div { display:grid; grid-template-columns:auto 1fr; column-gap:13px; align-items:end; }
.section-number { grid-row:1/3; color:var(--orange); font-size:3rem; line-height:.9; font-weight:900; letter-spacing:-.08em; }
.section-heading .eyebrow { grid-column:2; margin-bottom:2px; }
.section-heading h2 { grid-column:2; margin:0; color:var(--navy); font-size:1.75rem; line-height:1; }
.time-chip,.badge { display:inline-flex; align-items:center; min-height:32px; padding:6px 12px; border-radius:999px; background:#e8edf4; color:#526176; font-size:.76rem; font-weight:800; letter-spacing:.03em; }
.rule-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.rule-card { min-height:210px; background:#fff; border:1px solid var(--line); padding:24px; box-shadow:0 8px 24px rgba(11,25,48,.05); }
.rule-card-primary { background:var(--navy); color:#fff; border-color:var(--navy); }
.rule-card-alert { border-top:5px solid var(--orange); padding-top:20px; }
.rule-no { color:var(--orange); font-size:.75rem; font-weight:900; letter-spacing:.14em; }
.rule-card h3 { margin:36px 0 8px; font-size:1.1rem; line-height:1.2; }
.rule-card p { margin:0; color:var(--muted); font-size:.9rem; }
.rule-card-primary p { color:#b9c6d6; }
.process-card,.form-card,.output-card,.math-results,.checklist-card,.finish-card { margin-top:18px; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); }
.process-card { padding:28px; }
.card-title-row,.results-header { display:flex; align-items:start; justify-content:space-between; gap:20px; }
.card-title-row h3,.results-header h3 { margin:0; color:var(--navy); font-size:1.35rem; }
.process-track { list-style:none; padding:0; margin:26px 0 0; display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.process-track li { min-height:126px; padding:16px; background:#fff; position:relative; }
.process-track li:nth-child(-n+5) { background:#f5f8fb; }
.process-track li>span { color:var(--orange); font-weight:900; font-size:.75rem; }
.process-track strong,.process-track small { display:block; }
.process-track strong { margin-top:18px; color:var(--navy); }
.process-track small { margin-top:3px; color:var(--muted); font-size:.76rem; line-height:1.3; }
.action-row { margin:20px 0 44px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.action-row p { color:var(--muted); }
.primary-btn,.secondary-btn { border:0; min-height:46px; padding:11px 18px; font-weight:850; transition:.2s ease; }
.primary-btn { background:var(--orange); color:#141f31; box-shadow:5px 5px 0 var(--navy); }
.primary-btn:hover { background:#ff913f; transform:translate(-1px,-1px); box-shadow:7px 7px 0 var(--navy); }
.primary-btn span { margin-left:12px; }
.secondary-btn { background:var(--navy); color:#fff; }
.secondary-btn:hover { background:var(--navy-2); }
.lab-layout,.math-layout,.check-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(310px,.8fr); gap:18px; align-items:start; }
.form-card,.output-card,.math-results,.checklist-card,.finish-card { margin-top:0; padding:28px; }
.field-group { margin-bottom:22px; }
.field-label,label>span:first-child { display:block; margin-bottom:8px; color:var(--navy); font-size:.8rem; font-weight:850; }
.choice-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.choice-grid label { position:relative; }
.choice-grid input { position:absolute; opacity:0; }
.choice-grid label>span { min-height:80px; padding:13px; border:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; font-weight:850; transition:.15s ease; }
.choice-grid small { color:var(--muted); font-size:.72rem; font-weight:600; }
.choice-grid input:checked+span { border-color:var(--orange); background:#fff6ef; box-shadow:inset 0 0 0 1px var(--orange); color:var(--orange-dark); }
.input-grid,.split-inputs { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
label { display:block; }
input[type="text"],input[type="number"] { width:100%; min-height:48px; border:1px solid #cfd8e4; background:#fbfcfe; color:var(--ink); padding:10px 12px; border-radius:0; outline:none; }
input:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(23,107,135,.12); }
.form-card>label { margin-top:16px; }
.sov-reminder { margin-top:22px; display:flex; gap:12px; align-items:flex-start; padding:15px; background:#fff5e8; border-left:4px solid var(--orange); }
.sov-reminder>span { flex:0 0 25px; height:25px; display:grid; place-items:center; background:var(--orange); color:#fff; font-weight:900; border-radius:50%; }
.sov-reminder p { margin:0; font-size:.86rem; }
.output-card { background:var(--navy); color:#fff; position:sticky; top:105px; }
.output-card .eyebrow { color:var(--gold); }
blockquote { margin:20px 0 26px; padding:0; color:#fff; font-size:1.35rem; line-height:1.45; font-weight:750; }
.output-card .secondary-btn { background:var(--orange); color:var(--navy); }
.feedback { min-height:22px; margin:10px 0 0; color:#aac6d5; font-size:.78rem; }
.box-input { padding:18px 0; border-bottom:1px solid var(--line); }
.box-input:first-child { padding-top:0; }
.box-label { display:flex; gap:12px; margin-bottom:12px; }
.box-label>span { flex:0 0 58px; height:26px; display:grid; place-items:center; color:#fff; background:var(--navy); font-size:.68rem; font-weight:900; }
.box-label strong,.box-label small { display:block; }
.box-label small { color:var(--muted); font-size:.75rem; }
.current-box .box-label>span { background:var(--orange); color:var(--navy); }
.money-input,.percent-input { display:flex; align-items:center; border:1px solid #cfd8e4; background:#fbfcfe; }
.money-input>span,.percent-input>span { margin:0; padding:0 11px; color:#718096; }
.money-input input,.percent-input input { border:0; min-width:0; background:transparent; box-shadow:none; }
.split-inputs label>span:first-child { font-size:.72rem; color:var(--muted); }
.check-line { margin-top:22px; display:flex; align-items:flex-start; gap:11px; cursor:pointer; }
.check-line input,.checklist-card input { margin-top:4px; accent-color:var(--success); width:19px; height:19px; flex:0 0 auto; }
.check-line strong,.check-line small { display:block; }
.check-line small { color:var(--muted); font-size:.75rem; }
.math-results { background:var(--navy); color:#fff; position:sticky; top:105px; }
.math-results .eyebrow { color:var(--gold); }
.math-results h3 { color:#fff; }
.text-btn { border:0; background:transparent; color:#9eb0c6; text-decoration:underline; font-size:.78rem; }
.equation { margin:22px 0 16px; padding:14px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; background:#071222; font-variant-numeric:tabular-nums; font-size:.86rem; }
.equation strong { color:var(--gold); }
.equation b { color:var(--orange); }
.result-row,.result-block { padding:15px 0; border-top:1px solid #30425e; }
.result-row { display:flex; justify-content:space-between; gap:14px; }
.result-row span,.result-block>span { font-size:.78rem; color:#b5c2d2; }
.result-row b,.result-block b { color:var(--orange); margin-right:5px; }
.result-row>strong { font-variant-numeric:tabular-nums; }
dl { margin:11px 0 0; }
dl div { display:flex; justify-content:space-between; gap:16px; padding:3px 0; }
dt { color:#b5c2d2; font-size:.84rem; }
dd { margin:0; font-weight:800; font-variant-numeric:tabular-nums; }
.total-line { border-top:1px dashed #40536f; margin-top:7px; padding-top:9px; }
.final-result dd { color:var(--gold); }
.reconcile-status { margin-top:18px; display:flex; align-items:center; gap:10px; padding:12px; }
.reconcile-status>span { font-size:1.3rem; }
.reconcile-status p,.reconcile-status strong,.reconcile-status small { margin:0; display:block; }
.reconcile-status small { font-size:.72rem; }
.not-ready { background:rgba(244,124,32,.13); color:#ffd8bd; }
.ready { background:rgba(19,130,91,.2); color:#b9f2dc; }
.training-note { padding:13px 16px; border:1px dashed #b8c3d1; color:var(--muted); font-size:.82rem; }
.approval-panel { display:grid; grid-template-columns:1.15fr .85fr; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.gate-copy { padding:clamp(28px,5vw,58px); background:#fff; }
.gate-copy h3 { margin:6px 0 14px; color:var(--navy); font-size:clamp(1.75rem,3vw,2.65rem); line-height:1.08; }
.gate-copy>p:last-of-type { color:var(--muted); }
.signature-choice { margin-top:26px; display:flex; gap:8px; }
.signature-btn { border:1px solid var(--line); background:#fff; color:var(--navy); padding:11px 15px; font-weight:800; }
.signature-btn.active { background:var(--navy); color:#fff; border-color:var(--navy); }
.approval-stamp { min-height:330px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; color:#fff; background:var(--danger); transition:.3s ease; }
.approval-stamp>span { width:74px; height:74px; display:grid; place-items:center; border:4px solid currentColor; border-radius:50%; font-size:3.5rem; line-height:1; }
.approval-stamp strong { margin-top:18px; font-size:2rem; letter-spacing:.06em; }
.approval-stamp p { max-width:330px; margin:8px 0 0; font-size:.86rem; }
.approval-panel.approved .approval-stamp { background:var(--success); }
.support-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:18px; }
.support-grid article { padding:20px; border:1px solid var(--line); background:#fff; }
.support-grid span { color:var(--orange); font-weight:900; font-size:.72rem; }
.support-grid h3 { margin:14px 0 4px; }
.support-grid p { margin:0; color:var(--muted); font-size:.82rem; }
.checklist-card { padding:8px 28px; }
.time-alert { margin-bottom:18px; display:flex; gap:13px; align-items:center; padding:16px 18px; color:#dce8f5; background:var(--navy-2); border-left:5px solid var(--gold); }
.time-alert>span { font-size:1.35rem; }
.time-alert p { margin:0; font-size:.86rem; }
.time-alert strong { color:var(--gold); }
.checklist-card label { display:flex; gap:12px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.checklist-card label:last-child { border-bottom:0; }
.checklist-card label>span { margin:0; font-size:.86rem; color:var(--muted); }
.checklist-card label strong { color:var(--navy); }
.checklist-card label:has(input:checked) span { color:#8190a3; text-decoration:line-through; }
.finish-card { position:sticky; top:105px; text-align:center; }
.progress-ring { --progress:0deg; width:142px; height:142px; margin:0 auto 18px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--orange) var(--progress),#e3e8ef 0); position:relative; }
.progress-ring::after { content:""; width:108px; height:108px; background:#fff; border-radius:50%; position:absolute; }
.progress-ring span { position:relative; z-index:1; color:var(--navy); font-size:1.7rem; font-weight:900; }
.finish-card h3 { margin:0; color:var(--navy); }
.finish-card>p { color:var(--muted); font-size:.88rem; }
.record-list { margin:22px 0; padding:18px; text-align:left; background:#f3f6fa; border-left:4px solid var(--blue); }
.record-list span { display:block; padding:5px 0; color:#45556d; font-size:.82rem; }
.record-list span::before { content:"✓"; margin-right:8px; color:var(--success); font-weight:900; }
footer { max-width:1120px; margin:36px auto 0; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; color:#8794a6; font-size:.74rem; }

.section-lead { max-width:780px; color:var(--muted); margin:-8px 0 22px; }
.times-intro { display:grid; grid-template-columns:1.4fr .8fr; gap:18px; align-items:stretch; }
.times-intro>div:first-child { padding:28px; color:#fff; background:var(--navy); }
.times-intro h3 { margin:0 0 10px; color:#fff; font-size:1.7rem; }
.times-intro>div:first-child>p:last-child { margin:0; color:#c2ccda; }
.method-warning { padding:24px; display:flex; gap:14px; align-items:flex-start; background:#fff5e8; border:1px solid #f1cfab; }
.method-warning>span { flex:0 0 32px; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--orange); font-weight:900; }
.method-warning p { margin:0; color:#654321; }
.five-parts { margin-top:18px; display:grid; grid-template-columns:repeat(5,1fr); gap:1px; border:1px solid var(--line); background:var(--line); }
.five-parts article { padding:20px 16px; background:#fff; }
.five-parts span { display:grid; place-items:center; width:30px; height:30px; margin-bottom:18px; color:#fff; background:var(--navy); font-size:.76rem; font-weight:900; }
.five-parts h3 { min-height:47px; margin:0 0 7px; color:var(--navy); font-size:.93rem; line-height:1.25; }
.five-parts p { margin:0; color:var(--muted); font-size:.76rem; line-height:1.4; }
.calculator-shell { margin-top:18px; padding:28px; border:1px solid var(--line); background:#eef3f8; }
.calculator-topline { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.calculator-topline h3 { margin:0; color:var(--navy); font-size:1.35rem; }
.mode-toggle { display:flex; padding:4px; background:#d9e1eb; }
.mode-toggle label { position:relative; }
.mode-toggle input { position:absolute; opacity:0; }
.mode-toggle span { display:block; margin:0; padding:9px 14px; color:#58687e; font-size:.8rem; font-weight:850; cursor:pointer; }
.mode-toggle input:checked+span { color:#fff; background:var(--navy); box-shadow:0 3px 10px rgba(11,25,48,.18); }
.mode-guidance { margin:16px 0 20px; padding:11px 14px; border-left:4px solid var(--blue); color:#43536a; background:#fff; font-size:.82rem; }
.time-calc-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr); gap:18px; align-items:start; }
.time-form { padding-top:20px; }
.time-form>label { margin-top:17px; }
textarea { width:100%; resize:vertical; border:1px solid #cfd8e4; background:#fbfcfe; color:var(--ink); padding:11px 12px; outline:none; font:inherit; }
textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(23,107,135,.12); }
.time-fieldset { margin:20px 0 0; padding:18px; border:1px solid var(--line); }
.time-fieldset legend { padding:0 8px 0 0; color:var(--navy); font-size:.84rem; font-weight:850; }
.time-fieldset legend b { display:inline-grid; place-items:center; width:25px; height:25px; margin-right:5px; color:#fff; background:var(--navy); font-size:.7rem; }
.current-time-fieldset { border-color:#efb27d; background:#fff9f4; }
.current-time-fieldset legend b { background:var(--orange); color:var(--navy); }
.microcopy { margin:10px 0 0; color:var(--muted); font-size:.75rem; }
.days-input { display:flex !important; align-items:center; margin:0 !important; border:1px solid #cfd8e4; background:#fbfcfe; }
.days-input input { border:0; min-width:0; box-shadow:none; background:transparent; }
.days-input em { padding:0 12px; color:var(--muted); font-size:.8rem; font-style:normal; }
.time-results { position:sticky; top:105px; overflow:hidden; color:#fff; background:var(--navy); box-shadow:var(--shadow); }
.proposal-ribbon { padding:9px 16px; text-align:center; color:var(--navy); background:var(--gold); font-size:.72rem; font-weight:950; letter-spacing:.1em; }
.time-results>.eyebrow,.time-results>h3,.time-results>.time-table-wrap,.time-results>.separate-warning,.time-results>.reason-readout { margin-left:24px; margin-right:24px; }
.time-results>.eyebrow { margin-top:22px; color:var(--gold); }
.time-results>h3 { margin-top:0; }
.time-table-wrap { margin-top:18px; overflow-x:auto; }
.time-table { width:100%; border-collapse:collapse; min-width:500px; font-size:.76rem; }
.time-table th,.time-table td { padding:10px 8px; border-bottom:1px solid #344760; text-align:left; vertical-align:top; }
.time-table thead th { color:#8fa3ba; font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; }
.time-table tbody th { color:#b9c6d6; font-weight:700; }
.time-table td { font-variant-numeric:tabular-nums; font-weight:800; }
.time-table .proposed-row { background:rgba(244,124,32,.12); }
.time-table .proposed-row td { color:#ffd1ad; }
.time-table .resulting-row td { color:var(--gold); }
.separate-warning { display:flex; gap:10px; margin-top:16px; padding:12px; color:#d9e5f2; background:#071222; }
.separate-warning span { color:var(--orange); font-size:1.4rem; }
.separate-warning p { margin:0; font-size:.77rem; }
.reason-readout { margin-top:13px !important; margin-bottom:22px !important; padding-top:10px; border-top:1px solid #344760; }
.reason-readout dt { color:#9aacbf; }
.reason-readout dd { color:#fff; }
.entitlement-note { margin-top:18px; padding:18px 22px; color:#593e0b; background:#fff3cf; border-left:5px solid var(--gold); }
.entitlement-note strong { color:#34240a; }
.entitlement-note p { margin:5px 0 0; font-size:.84rem; }
.time-check-card { margin-top:18px; padding:28px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.time-check-grid { margin-top:18px; display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.time-check-grid label { display:flex; gap:11px; padding:13px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.time-check-grid input { flex:0 0 auto; width:19px; height:19px; margin-top:2px; accent-color:var(--success); }
.time-check-grid label>span { margin:0; color:#4c5d73; font-size:.82rem; }
.time-check-grid label:has(input:checked)>span { color:#8190a3; text-decoration:line-through; }
.scenario-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.scenario-card { padding:22px; border:1px solid var(--line); border-top:4px solid var(--blue); background:#fff; box-shadow:0 10px 28px rgba(11,25,48,.06); }
.scenario-card.correct { border-top-color:var(--success); }
.scenario-card.incorrect { border-top-color:var(--danger); }
.scenario-label { color:var(--orange-dark); font-size:.68rem; font-weight:900; letter-spacing:.1em; }
.scenario-card h3 { margin:12px 0 6px; color:var(--navy); }
.scenario-card>p:not(.scenario-feedback) { min-height:78px; margin:0; color:var(--muted); font-size:.84rem; }
.scenario-choices { display:flex; gap:7px; margin-top:16px; }
.scenario-choices button { flex:1; padding:9px 7px; border:1px solid #cdd7e3; color:#4b5d74; background:#f8fafc; font-size:.77rem; font-weight:850; }
.scenario-choices button:hover,.scenario-choices button.selected { color:#fff; border-color:var(--navy); background:var(--navy); }
.scenario-feedback { min-height:38px; margin:10px 0 0; color:var(--muted); font-size:.76rem; }
.scenario-card.correct .scenario-feedback { color:var(--success); }
.scenario-card.incorrect .scenario-feedback { color:var(--danger); }
.scenario-guardrail { margin-top:16px; padding:16px 18px; color:#cbd7e5; background:var(--navy); font-size:.84rem; }
.scenario-guardrail strong { color:var(--gold); }
.summary-status-bar { display:grid; grid-template-columns:.5fr 1fr 1.25fr; color:#fff; background:var(--navy); }
.summary-status-bar div { padding:16px 20px; border-right:1px solid #344760; }
.summary-status-bar span,.summary-status-bar strong { display:block; }
.summary-status-bar span { color:#97a9be; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.summary-status-bar strong { margin-top:3px; }
.impact-both { color:#fff; background:var(--blue); }
.impact-price { color:#fff; background:var(--orange-dark); }
.impact-times { color:#fff; background:var(--success); }
.impact-neither { color:#526176; background:#e8edf4; }
.integrated-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:18px; margin-top:18px; }
.summary-panel { padding:26px; border:1px solid var(--line); background:#fff; box-shadow:var(--shadow); }
.summary-panel-head { display:flex; gap:13px; align-items:center; padding-bottom:18px; border-bottom:1px solid var(--line); }
.summary-panel-head>span { width:42px; height:42px; display:grid; place-items:center; color:#fff; background:var(--navy); font-size:1.2rem; font-weight:900; }
.time-panel .summary-panel-head>span { color:var(--navy); background:var(--gold); }
.summary-panel-head h3 { margin:0; color:var(--navy); }
.summary-panel dl>div { padding:11px 0; border-bottom:1px solid var(--line); }
.summary-panel dt { color:#526176; }
.summary-panel dd { color:var(--navy); }
.summary-total { margin-top:5px; padding:14px 0 !important; border-top:2px solid var(--orange) !important; border-bottom:0 !important; }
.summary-total dd,.summary-total b { color:var(--orange-dark) !important; }
.summary-note { margin:16px 0 0; color:var(--muted); font-size:.76rem; }
.summary-time-table { margin-top:17px; }
.summary-time-table>div { display:grid; grid-template-columns:1.15fr 1fr 1fr; gap:9px; padding:10px 0; border-bottom:1px solid var(--line); align-items:center; }
.summary-time-table span { color:#526176; font-size:.76rem; }
.summary-time-table b { color:var(--navy); font-size:.78rem; font-variant-numeric:tabular-nums; }
.summary-time-head { color:#66758c; font-size:.65rem; text-transform:uppercase; }
.summary-legend { display:flex; gap:20px; padding:13px 0; color:var(--muted); font-size:.75rem; }
.summary-legend i { display:inline-block; width:10px; height:10px; margin-right:6px; }
.legend-proposed { background:var(--orange); }
.legend-approved { background:var(--navy); }
.assessment-rules { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-bottom:18px; background:var(--line); border:1px solid var(--line); }
.assessment-rules>div { padding:18px 22px; background:#fff; }
.assessment-rules strong,.assessment-rules span { display:block; }
.assessment-rules strong { color:var(--navy); }
.assessment-rules span { color:var(--muted); font-size:.78rem; }
.assessment-form { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.question-card { margin:0; padding:20px; border:1px solid var(--line); background:#fff; box-shadow:0 8px 22px rgba(11,25,48,.05); }
.question-card legend { width:100%; padding:0 0 12px; color:var(--navy); font-size:.88rem; font-weight:850; line-height:1.4; }
.question-card legend>span { display:inline-grid; place-items:center; width:28px; height:24px; margin-right:5px; color:#fff; background:var(--navy); font-size:.66rem; }
.question-card legend>b { margin-left:5px; color:var(--danger); font-size:.62rem; letter-spacing:.08em; }
.question-card label { display:flex; gap:9px; padding:9px 10px; margin:5px 0; border:1px solid #dce3ec; color:#516177; background:#fafbfd; cursor:pointer; }
.question-card label>span { margin:0; font-size:.78rem; }
.question-card input { flex:0 0 auto; margin-top:4px; accent-color:var(--blue); }
.question-card.correct { border-color:var(--success); box-shadow:inset 4px 0 0 var(--success); }
.question-card.incorrect { border-color:var(--danger); box-shadow:inset 4px 0 0 var(--danger); }
.assessment-submit-row { grid-column:1/-1; display:flex; align-items:center; gap:18px; padding:8px 0 0; }
.assessment-submit-row .text-btn { color:var(--muted); }
.assessment-result { margin-top:18px; padding:24px; display:flex; gap:20px; align-items:center; color:#fff; background:var(--navy); }
.assessment-result[hidden] { display:none; }
.assessment-result>span { flex:0 0 90px; height:90px; display:grid; place-items:center; border:4px solid var(--orange); border-radius:50%; color:var(--gold); font-size:1.55rem; font-weight:900; }
.assessment-result .eyebrow { color:var(--gold); }
.assessment-result h3,.assessment-result p { margin:0; }
.assessment-result h3 { font-size:1.4rem; }
.assessment-result p:last-child { margin-top:6px; color:#becbda; font-size:.84rem; }
.assessment-result.pass { background:var(--success); }
.assessment-result.pass>span { border-color:#c9f5e5; color:#fff; }

@media (max-width: 1020px) {
  .app-shell { grid-template-columns:1fr; }
  .sidebar { position:sticky; top:76px; z-index:15; height:auto; padding:10px 4vw; display:block; overflow-x:auto; white-space:nowrap; }
  .sidebar>.eyebrow,.sidebar-rule { display:none; }
  .step-nav { flex-direction:row; min-width:max-content; }
  .nav-step { width:auto; padding:9px 12px; }
  .workspace { padding-top:34px; }
  .rule-grid { grid-template-columns:1fr 1fr; }
  .process-track { grid-template-columns:repeat(2,1fr); }
  .lab-layout,.math-layout,.check-layout { grid-template-columns:1fr; }
  .output-card,.math-results,.finish-card { position:static; }
  .five-parts { grid-template-columns:repeat(3,1fr); }
  .time-calc-layout,.integrated-grid { grid-template-columns:1fr; }
  .time-results { position:static; }
}

@media (max-width: 680px) {
  .app-header { height:68px; padding:0 18px; }
  .header-status { display:none; }
  .sidebar { top:68px; }
  .workspace { padding:26px 16px 22px; }
  .intro { align-items:flex-start; margin-bottom:26px; }
  .holy-grail { display:none; }
  .intro h1 { font-size:2.55rem; }
  .rule-grid,.support-grid { grid-template-columns:1fr; }
  .rule-card { min-height:0; }
  .rule-card h3 { margin-top:20px; }
  .process-track { grid-template-columns:1fr 1fr; }
  .choice-grid { grid-template-columns:1fr 1fr; }
  .input-grid,.split-inputs { grid-template-columns:1fr; }
  .form-card,.output-card,.math-results,.checklist-card,.finish-card,.process-card { padding:20px; }
  .approval-panel { grid-template-columns:1fr; }
  .approval-stamp { min-height:260px; }
  .signature-choice,.action-row { flex-direction:column; align-items:stretch; }
  .action-row .primary-btn { width:100%; }
  footer { flex-direction:column; gap:4px; }
  .times-intro,.scenario-grid,.assessment-form,.assessment-rules { grid-template-columns:1fr; }
  .five-parts { grid-template-columns:1fr; }
  .five-parts h3 { min-height:0; }
  .calculator-shell { padding:18px; }
  .calculator-topline { flex-direction:column; }
  .mode-toggle { width:100%; }
  .mode-toggle label { flex:1; text-align:center; }
  .time-check-grid { grid-template-columns:1fr; }
  .summary-status-bar { grid-template-columns:1fr; }
  .summary-status-bar div { border-right:0; border-bottom:1px solid #344760; }
  .summary-time-table>div { grid-template-columns:1fr 1fr; }
  .summary-time-table>div span { grid-column:1/-1; }
  .assessment-submit-row { flex-direction:column; align-items:stretch; }
  .assessment-result { align-items:flex-start; }
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
