/* ════════════════════════════════════════════════════════════
   EDALE RISK PROFILER — Brand Stylesheet v1.3
   Matches edale.co: warm off-white, charcoal, gold accent,
   Inter sans-serif, editorial open layout.
════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Source+Code+Pro:wght@400;500&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --charcoal:  #2c2c2c;
  --navy:      #1a3048;
  --navy-mid:  #243d59;
  --gold:      #b8963e;
  --gold-lt:   #cfa84c;
  --gold-pale: #f9f5e8;
  --bg:        #f6f5f2;
  --bg-card:   #ffffff;
  --bg-subtle: #f9f8f5;
  --bg-rule:   #eeece6;
  --text:      #1e1e1e;
  --text-mid:  #3f3f3f;
  --muted:     #737068;
  --border:    #dddbd5;
  --border-lt: #e8e5de;
  --red:       #b83232;
  --green:     #2a6b3c;
  --blue:      #1a5f8a;
  --r-sm: 4px;
  --r:    6px;
  --r-lg: 10px;
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg);
  color: var(--text);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}

/* ── HEADER ── */
.page-header { background: var(--navy); padding: 0; }
.page-header::after {
  content:'';
  display:block;
  height:2px;
  background: linear-gradient(90deg, var(--gold) 0%, var(--gold-lt) 60%, transparent 100%);
}
.header-inner {
  max-width:920px;
  margin:0 auto;
  padding:22px 28px;
  display:flex;
  align-items:center;
  gap:22px;
}
.header-wordmark { display:flex; flex-direction:column; line-height:1; }
.header-wordmark .wm-name {
  font-family:'Inter',sans-serif;
  font-size:1.3rem;
  font-weight:700;
  letter-spacing:0.14em;
  color:#ffffff;
  text-transform:uppercase;
}
.header-wordmark .wm-dot { color:var(--gold); }
.header-wordmark .wm-tag {
  font-size:0.63rem;
  font-weight:400;
  letter-spacing:0.15em;
  color:rgba(255,255,255,0.38);
  text-transform:uppercase;
  margin-top:4px;
}
.header-sep { width:1px; height:38px; background:rgba(255,255,255,0.13); flex-shrink:0; }
.header-titles { flex:1; }
.header-titles h1 {
  font-family:'Playfair Display',serif;
  font-size:1.08rem;
  font-weight:400;
  color:rgba(255,255,255,0.9);
  letter-spacing:-0.01em;
}
.header-titles p {
  font-size:0.7rem;
  color:rgba(255,255,255,0.38);
  margin-top:3px;
  letter-spacing:0.04em;
}
.header-fca {
  margin-left:auto;
  text-align:right;
  font-size:0.63rem;
  color:rgba(255,255,255,0.3);
  line-height:1.6;
  letter-spacing:0.03em;
}
@media(max-width:600px){.header-fca{display:none}}

/* ── PROGRESS ── */
.progress-wrap { background:#162840; border-bottom:1px solid rgba(255,255,255,0.05); }
.progress-inner { max-width:920px; margin:0 auto; padding:0 28px; display:flex; }
.progress-step {
  flex:1;
  padding:9px 4px 7px;
  text-align:center;
  font-size:0.63rem;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.26);
  border-bottom:2px solid transparent;
  transition:all 0.25s;
}
.progress-step.active { color:var(--gold); border-bottom-color:var(--gold); }
.progress-step.done   { color:rgba(255,255,255,0.48); border-bottom-color:rgba(255,255,255,0.14); }

/* ── MAIN ── */
.main { max-width:920px; margin:0 auto; padding:34px 28px 80px; }

/* ── SECTION CARD — editorial, no dark headers ── */
.section-card {
  background:var(--bg-card);
  border:1px solid var(--border);
  border-radius:var(--r-lg);
  margin-bottom:20px;
  box-shadow:0 1px 4px rgba(0,0,0,0.05);
  overflow:hidden;
}
.section-head {
  padding:20px 24px 0;
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.section-num {
  width:26px;height:26px;
  border-radius:50%;
  background:var(--gold-pale);
  border:1.5px solid var(--gold);
  color:var(--gold);
  font-size:0.68rem;
  font-weight:700;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  margin-top:2px;
}
.section-head-text { flex:1; }
.section-head h2 {
  font-family:'Playfair Display',serif;
  font-size:1.05rem;
  font-weight:600;
  color:var(--navy);
  letter-spacing:-0.01em;
  line-height:1.3;
}
.section-head .section-sub {
  font-size:0.71rem;
  color:var(--muted);
  margin-top:3px;
}
.section-divider { height:1px; background:var(--border-lt); margin:16px 24px 0; }
.section-body { padding:20px 24px 24px; }

/* ── INTRO TEXT ── */
.intro-text {
  font-size:0.84rem;
  line-height:1.7;
  color:var(--text-mid);
  margin-bottom:20px;
  padding:14px 18px;
  background:var(--gold-pale);
  border-left:3px solid var(--gold);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.info-note {
  font-size:0.77rem;
  color:var(--muted);
  line-height:1.6;
  padding:10px 14px;
  background:var(--bg-subtle);
  border-radius:var(--r-sm);
  margin-bottom:14px;
}

/* ── FORM FIELDS ── */
.details-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 22px; }
@media(max-width:580px){.details-grid{grid-template-columns:1fr}}

.field-group label {
  display:block;
  font-size:0.71rem;
  font-weight:600;
  letter-spacing:0.055em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:6px;
}
.field-group input[type="text"],
.field-group input[type="email"],
.field-group input[type="number"] {
  width:100%;
  padding:10px 13px;
  border:1px solid var(--border);
  border-radius:var(--r-sm);
  font-family:'Inter',sans-serif;
  font-size:0.88rem;
  background:var(--bg-subtle);
  color:var(--text);
  transition:border-color 0.18s, box-shadow 0.18s, background 0.18s;
  -webkit-appearance:none;
}
.field-group input:focus {
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(26,48,72,0.08);
  background:var(--bg-card);
}
.field-group input.error { border-color:var(--red); background:#fdf5f5; }

/* ── QUESTIONS ── */
.question { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--border-lt); }
.question:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.question-label { font-size:0.9rem; font-weight:600; color:var(--navy); margin-bottom:11px; line-height:1.4; }
.question-label .q-num {
  display:inline-flex; align-items:center; justify-content:center;
  width:21px; height:21px;
  background:var(--bg-rule);
  border-radius:50%;
  font-size:0.67rem; font-weight:700; color:var(--muted);
  margin-right:9px; flex-shrink:0; vertical-align:middle;
}
.radio-group { display:flex; flex-direction:column; gap:6px; }
.radio-opt {
  display:flex; align-items:flex-start; gap:11px;
  padding:10px 13px;
  border:1px solid var(--border); border-radius:var(--r-sm);
  cursor:pointer; transition:border-color 0.15s, background 0.15s;
  background:var(--bg-subtle);
}
.radio-opt:hover { border-color:var(--navy); background:var(--bg-card); }
.radio-opt.selected { border-color:var(--navy); background:rgba(26,48,72,0.04); }
.radio-opt input[type="radio"] { margin-top:2px; flex-shrink:0; accent-color:var(--navy); width:15px; height:15px; }
.radio-opt .opt-text { font-size:0.84rem; line-height:1.45; color:var(--text-mid); }

/* ── CALCULATE BUTTON ── */
.btn-calculate {
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:13px 32px;
  background:var(--navy); color:#ffffff;
  border:none; border-radius:var(--r-sm);
  font-family:'Inter',sans-serif; font-size:0.84rem; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase;
  cursor:pointer; transition:background 0.18s, transform 0.1s;
  margin:10px auto 0; min-width:200px;
}
.btn-calculate:hover { background:var(--navy-mid); }
.btn-calculate:active { transform:scale(0.98); }
.btn-calculate svg { width:17px; height:17px; }

/* ── RESULTS ── */
#results-section { display:none; animation:edale-rise 0.45s ease; }
#results-section.visible { display:block; }
@keyframes edale-rise {
  from { opacity:0; transform:translateY(16px); }
  to   { opacity:1; transform:translateY(0); }
}

.scores-row { display:flex; gap:14px; margin-bottom:20px; flex-wrap:wrap; }
.score-pill { flex:1 1 160px; padding:16px 20px; border-radius:var(--r); border:1px solid var(--border); background:var(--bg-card); }
.score-pill .sp-label { font-size:0.67rem; text-transform:uppercase; letter-spacing:0.08em; font-weight:600; color:var(--muted); margin-bottom:5px; }
.score-pill .sp-value { font-family:'Playfair Display',serif; font-size:2.2rem; font-weight:600; color:var(--navy); line-height:1; }
.score-pill .sp-max { font-size:0.74rem; color:var(--muted); margin-top:2px; }
.score-pill .sp-bar { height:3px; background:var(--bg-rule); border-radius:2px; margin-top:10px; overflow:hidden; }
.score-pill .sp-fill { height:100%; border-radius:2px; background:var(--gold); transition:width 0.9s ease; }

.chart-wrapper { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r); padding:16px; margin-bottom:20px; }
.chart-legend { display:flex; gap:18px; flex-wrap:wrap; margin-bottom:12px; }
.leg-item { display:flex; align-items:center; gap:7px; font-size:0.71rem; color:var(--muted); }
.leg-sw { width:13px; height:13px; border-radius:2px; flex-shrink:0; }
canvas#mainChart { display:block; width:100%; height:270px; }

.zone-result { display:flex; gap:14px; flex-wrap:wrap; }
.zone-card { flex:1 1 200px; padding:18px; border-radius:var(--r); border:1.5px solid; }
.zone-card h3 { font-family:'Playfair Display',serif; font-size:0.95rem; margin-bottom:5px; }
.zone-card .zone-name {
  font-size:0.67rem; font-weight:700; text-transform:uppercase; letter-spacing:0.07em;
  margin-bottom:10px; padding:2px 9px; border-radius:20px; display:inline-block;
}
.zone-card p { font-size:0.79rem; line-height:1.65; color:var(--text-mid); }
.alloc-bar-wrap { margin-top:12px; }
.alloc-row { display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.alloc-lbl { font-size:0.67rem; color:var(--muted); width:52px; flex-shrink:0; }
.alloc-bar { flex:1; height:5px; background:var(--bg-rule); border-radius:3px; overflow:hidden; }
.alloc-fill { height:100%; border-radius:3px; transition:width 0.9s ease; }
.alloc-pct { font-size:0.67rem; color:var(--muted); width:30px; text-align:right; flex-shrink:0; }

.zone-growth   { border-color:#8a7a5a; }
.zone-balanced { border-color:#1a5f8a; }
.zone-income   { border-color:#aaa; }
.zone-unclass  { border-color:var(--gold); }
.zn-growth     { background:rgba(138,122,90,0.12);  color:#6a5c3e; }
.zn-balanced   { background:rgba(26,95,138,0.12);   color:#1a5f8a; }
.zn-income     { background:rgba(100,100,100,0.10); color:#555; }
.zn-unclass    { background:var(--gold-pale);         color:#7a600a; }

/* ── WRAPPER / ISA ── */
#isa-section { display:none; animation:edale-rise 0.35s ease; }
#isa-section.visible { display:block; }
.toggle-row { display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.toggle-btn {
  flex:1 1 110px; padding:11px 14px;
  border:1.5px solid var(--border); border-radius:var(--r-sm);
  background:var(--bg-subtle);
  font-family:'Inter',sans-serif; font-size:0.82rem; font-weight:500;
  color:var(--muted); cursor:pointer; transition:all 0.18s; text-align:center;
}
.toggle-btn:hover { border-color:var(--navy); color:var(--navy); background:var(--bg-card); }
.toggle-btn.active { border-color:var(--navy); background:var(--navy); color:#ffffff; font-weight:600; }
.isa-details { display:none; margin-top:16px; padding-top:16px; border-top:1px solid var(--border-lt); animation:edale-rise 0.3s ease; }
.isa-details.visible { display:block; }

/* ── ISA TRANSFER PANEL ── */
.transfer-checkbox-row {
  display:flex; align-items:flex-start; gap:11px;
  padding:13px 16px;
  background:var(--bg-subtle);
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  cursor:pointer;
  transition:border-color 0.15s, background 0.15s;
  margin-top:14px;
}
.transfer-checkbox-row:hover { border-color:var(--navy); background:var(--bg-card); }
.transfer-checkbox-row.is-checked { border-color:var(--navy); background:rgba(26,48,72,0.03); }
.transfer-checkbox-row input[type="checkbox"] { width:16px; height:16px; accent-color:var(--navy); flex-shrink:0; margin-top:2px; cursor:pointer; }
.tcr-text { font-size:0.84rem; font-weight:600; color:var(--navy); line-height:1.35; }
.tcr-sub { font-size:0.74rem; color:var(--muted); font-weight:400; margin-top:2px; }

.transfer-panel {
  display:none; margin-top:14px;
  padding:18px 20px;
  background:#f0f7ff;
  border:1px solid #b8d4ed;
  border-radius:var(--r);
  animation:edale-rise 0.3s ease;
}
.transfer-panel.visible { display:block; }
.transfer-panel-title { font-size:0.84rem; font-weight:700; color:var(--navy); margin-bottom:8px; }
.transfer-panel p { font-size:0.79rem; color:var(--text-mid); line-height:1.6; margin-bottom:14px; }
.transfer-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; }
@media(max-width:580px){.transfer-grid{grid-template-columns:1fr}}
.transfer-note {
  font-size:0.73rem; color:#1a5f8a;
  padding:9px 13px;
  background:rgba(26,95,138,0.06);
  border-radius:var(--r-sm);
  margin-top:12px; line-height:1.6;
}

/* ── INVESTMENT INPUTS ── */
.invest-inputs { display:none; margin-top:18px; padding-top:16px; border-top:1px solid var(--border-lt); animation:edale-rise 0.3s ease; }
.invest-inputs.visible { display:block; }
.invest-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px 20px; margin-bottom:10px; }
@media(max-width:580px){.invest-grid{grid-template-columns:1fr}}
.invest-inputs .field-group label { color:var(--muted); }
.input-prefix-wrap { position:relative; }
.input-prefix-wrap::before {
  content:'£';
  position:absolute; left:11px; top:50%; transform:translateY(-50%);
  color:var(--muted); font-weight:600; font-size:0.88rem; pointer-events:none;
}
.input-prefix-wrap input { padding-left:24px !important; }
.isa-limit-note { font-size:0.74rem; color:var(--muted); padding:9px 13px; background:var(--bg-subtle); border-radius:var(--r-sm); margin-top:10px; line-height:1.55; }
.isa-limit-warn { font-size:0.74rem; color:#92400e; padding:9px 13px; background:#fffbeb; border:1px solid #fcd34d; border-radius:var(--r-sm); margin-top:10px; display:none; line-height:1.55; }
.isa-limit-warn.visible { display:block; }

/* ── STRATEGY CARDS ── */
.strategy-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:12px; }
@media(max-width:600px){.strategy-grid{grid-template-columns:1fr}}
.strategy-card {
  border:1.5px solid var(--border); border-radius:var(--r); padding:14px 16px;
  cursor:pointer; transition:border-color 0.18s, box-shadow 0.18s, background 0.18s;
  background:var(--bg-subtle);
}
.strategy-card:hover { border-color:var(--navy); box-shadow:0 2px 8px rgba(26,48,72,0.08); background:var(--bg-card); }
.strategy-card.selected { border-color:var(--navy); background:rgba(26,48,72,0.03); box-shadow:0 0 0 3px rgba(26,48,72,0.07); }
.strategy-card input[type="radio"] { display:none; }
.strategy-card .sc-badge { display:inline-block; margin-bottom:7px; padding:2px 8px; border-radius:20px; font-size:0.65rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; }
.strategy-card .sc-name { font-family:'Playfair Display',serif; font-size:0.95rem; color:var(--navy); margin-bottom:3px; font-weight:600; }
.strategy-card .sc-alloc { font-size:0.7rem; color:var(--muted); margin-bottom:7px; }
.strategy-card .sc-desc { font-size:0.77rem; line-height:1.5; color:var(--text-mid); }
.strategy-card.jisa-hidden { display:none !important; }
.jisa-restrict-note { display:none; font-size:0.77rem; color:#92400e; padding:9px 13px; background:#fffbeb; border:1px solid #fcd34d; border-radius:var(--r-sm); margin-bottom:12px; line-height:1.55; }
.jisa-restrict-note.visible { display:block; }

/* ── DOCUMENT PREVIEW ── */
#doc-preview { display:none; margin-top:20px; animation:edale-rise 0.3s ease; }
#doc-preview.visible { display:block; }
.doc-banner { background:var(--gold-pale); border:1px solid #d4c07a; border-radius:var(--r); padding:14px 18px; margin-bottom:14px; display:flex; gap:13px; align-items:flex-start; }
.doc-banner svg { flex-shrink:0; color:var(--gold); margin-top:1px; }
.doc-banner h4 { font-family:'Playfair Display',serif; font-size:0.92rem; color:var(--navy); margin-bottom:3px; }
.doc-banner p { font-size:0.78rem; line-height:1.6; color:var(--text-mid); }
.doc-content { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; }
.doc-header { background:var(--navy); padding:13px 20px; display:flex; justify-content:space-between; align-items:center; }
.doc-header span { color:rgba(255,255,255,0.55); font-size:0.72rem; }
.doc-header strong { color:var(--gold); font-family:'Playfair Display',serif; font-size:0.93rem; }
.doc-body { padding:20px; font-size:0.82rem; line-height:1.7; color:#374151; max-height:340px; overflow-y:auto; }
.doc-body h4 { font-family:'Playfair Display',serif; color:var(--navy); margin:14px 0 6px; font-size:0.88rem; }
.doc-body h4:first-child { margin-top:0; }
.doc-body table { width:100%; border-collapse:collapse; margin:10px 0; font-size:0.79rem; }
.doc-body th { background:var(--bg-subtle); padding:6px 10px; text-align:left; font-weight:600; color:var(--navy); }
.doc-body td { padding:6px 10px; border-bottom:1px solid var(--border-lt); }
.sign-row { padding:15px 20px; border-top:1px solid var(--border-lt); background:var(--bg-subtle); }
.sign-check { display:flex; gap:11px; align-items:flex-start; cursor:pointer; }
.sign-check input[type="checkbox"] { margin-top:3px; width:16px; height:16px; accent-color:var(--navy); flex-shrink:0; cursor:pointer; }
.sign-check span { font-size:0.82rem; line-height:1.5; color:var(--text-mid); }

/* ── KFI TABLES ── */
.kfi-table { width:100%; border-collapse:collapse; font-size:0.78rem; margin-bottom:10px; }
.kfi-table th { background:var(--bg-subtle); padding:6px 10px; text-align:left; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); border-bottom:1px solid var(--border); }
.kfi-table th.r { text-align:right; }
.kfi-table td { padding:6px 10px; border-bottom:1px solid var(--border-lt); color:var(--text-mid); }
.kfi-table td.r { text-align:right; font-family:'Source Code Pro',monospace; }
.kfi-table tr.tot td { background:var(--bg-subtle); font-weight:700; }
.kfi-table tr.tot td.r { color:var(--navy); }

/* ── SUBMIT ── */
.submit-section { margin-top:22px; padding-top:22px; border-top:1px solid var(--border-lt); }
.submit-note { font-size:0.77rem; color:var(--muted); margin-bottom:14px; padding:11px 15px; background:var(--bg-subtle); border-radius:var(--r-sm); line-height:1.6; }
.btn-submit {
  width:100%; padding:15px;
  background:var(--gold); color:var(--navy);
  border:none; border-radius:var(--r-sm);
  font-family:'Inter',sans-serif; font-size:0.87rem; font-weight:700;
  letter-spacing:0.06em; text-transform:uppercase;
  cursor:pointer; transition:background 0.18s, transform 0.1s;
}
.btn-submit:hover { background:var(--gold-lt); }
.btn-submit:active { transform:scale(0.99); }
.btn-submit:disabled { background:#d4d0c8; color:#8a8680; cursor:not-allowed; }

/* ── SUCCESS + ERROR ── */
#success-msg { display:none; text-align:center; padding:48px 20px; animation:edale-rise 0.4s ease; }
#success-msg.visible { display:block; }
#success-msg .success-icon { width:58px; height:58px; background:var(--green); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; }
#success-msg h2 { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--navy); margin-bottom:10px; font-weight:400; }
#success-msg p { font-size:0.87rem; color:var(--muted); max-width:440px; margin:0 auto; line-height:1.65; }
.form-error { display:none; background:#fdf5f5; border:1px solid #f9c0c0; color:var(--red); font-size:0.82rem; padding:10px 14px; border-radius:var(--r-sm); margin-top:10px; line-height:1.5; }
.form-error.visible { display:block; }

/* ── MISC ── */
.spinner { width:17px; height:17px; border:2px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:spin 0.7s linear infinite; display:inline-block; }
@keyframes spin { to { transform:rotate(360deg); } }
.page-footer { max-width:920px; margin:0 auto; padding:20px 28px 40px; font-size:0.7rem; color:var(--muted); line-height:1.7; border-top:1px solid var(--border); }
.pension-note { margin-top:16px; padding:16px 18px; background:var(--gold-pale); border-left:3px solid var(--gold); border-radius:0 var(--r-sm) var(--r-sm) 0; font-size:0.83rem; line-height:1.65; color:var(--text-mid); }
.pension-note strong { color:var(--navy); display:block; margin-bottom:5px; font-size:0.85rem; }

/* ── SCORE INTERPRETATION PANEL (replaces zone cards) ── */
.score-interp {
  margin-top: 16px;
  border: 1px solid var(--border);
  border-radius: var(--r);
  overflow: hidden;
  background: var(--bg-card);
}
.si-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border-lt);
}
.si-icon {
  width: 30px; height: 30px;
  border-radius: 50%;
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.si-row strong {
  font-size: 0.88rem;
  color: var(--navy);
  display: block;
  margin-bottom: 4px;
}
.si-row p {
  font-size: 0.8rem;
  color: var(--text-mid);
  line-height: 1.55;
  margin: 0;
}
.si-note {
  padding: 12px 18px;
  font-size: 0.77rem;
  color: var(--muted);
  line-height: 1.6;
  background: var(--bg-subtle);
}

/* ── INVEST GRID 3-COLUMN ── */
.invest-grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 14px;
}
@media (max-width: 640px) {
  .invest-grid-3 { grid-template-columns: 1fr; }
}

/* ── TRANSFER AMOUNT FIELD ── */
.invest-transfer-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #fffbeb;
  color: #92400e;
  border: 1px solid #fcd34d;
  border-radius: 10px;
  padding: 1px 7px;
  margin-left: 5px;
  vertical-align: middle;
}
.invest-transfer-hint {
  font-size: 0.73rem;
  color: var(--muted);
  margin-top: 5px;
  line-height: 1.45;
}

/* ── INVEST TOTAL ROW ── */
.invest-total-row {
  display: none;
  align-items: baseline;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 16px;
  background: var(--bg-subtle);
  border: 1px solid var(--border);
  border-radius: var(--r);
  font-size: 0.85rem;
}
.invest-total-row.visible { display: flex; }
.itl {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  white-space: nowrap;
}
.itv {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--navy);
  font-variant-numeric: tabular-nums;
}
.its {
  font-size: 0.75rem;
  color: var(--muted);
  flex: 1;
}
