@font-face {
  font-family: 'RegTech Bengali';
  src: url('NotoSansBengali.ttf') format('truetype');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --bg: #071126;
  --panel: rgba(16, 33, 67, .72);
  --line: rgba(160, 188, 240, .16);
  --line-strong: rgba(160, 188, 240, .28);
  --text: #edf4ff;
  --muted: #9eafd0;
  --muted-strong: #c3d0e7;
  --cyan: #6ad5ff;
  --blue: #4596ff;
  --violet: #9c83ff;
  --green: #75e0ba;
  --shadow: 0 26px 70px rgba(0, 0, 0, .25);
}

* { box-sizing: border-box; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 10%, rgba(38, 102, 196, .18), transparent 34rem),
    radial-gradient(circle at 90% 30%, rgba(102, 74, 202, .16), transparent 32rem),
    var(--bg);
  font-family: 'RegTech Bengali', 'Hind Siliguri', 'Noto Sans Bengali', system-ui, sans-serif;
  line-height: 1.45;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
.shell { position: relative; width: min(1180px, calc(100% - 40px)); max-width: 100%; min-width: 0; margin: 0 auto; padding: 54px 0 34px; z-index: 1; }
.orb { position: fixed; border-radius: 50%; pointer-events: none; filter: blur(1px); opacity: .42; z-index: 0; }
.orb-one { width: 280px; height: 280px; background: rgba(62, 146, 255, .11); top: -70px; left: -80px; }
.orb-two { width: 360px; height: 360px; background: rgba(140, 91, 255, .09); right: -120px; top: 36%; }

.hero { display: grid; grid-template-columns: minmax(190px, 245px) minmax(0, 1fr) auto; gap: 24px; align-items: center; min-width: 0; margin-bottom: 30px; }
.brand-logo-frame { display: flex; align-items: center; justify-content: center; width: min(245px, 100%); padding: 8px 10px; border: 1px solid rgba(205, 226, 255, .55); border-radius: 13px; background: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, .2); overflow: hidden; }
.brand-logo { display: block; width: 100%; height: auto; object-fit: contain; }
.eyebrow { margin: 0 0 6px; color: var(--cyan); font-family: 'Manrope', sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 9px; font-size: clamp(31px, 4vw, 50px); line-height: 1.08; letter-spacing: -.035em; }
h2 { margin-bottom: 0; font-size: 25px; line-height: 1.15; letter-spacing: -.025em; }
h3 { margin-bottom: 4px; font-size: 17px; }
.hero-subtitle { max-width: 700px; margin: 0; color: var(--muted-strong); font-size: 16px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 17px; color: var(--muted); font-family: 'Manrope', sans-serif; font-size: 10px; font-weight: 700; }
.hero-proof span::before { content: "✓"; margin-right: 5px; color: var(--green); }
.effective-badge { align-self: start; padding: 13px 18px 12px; border: 1px solid var(--line-strong); border-radius: 14px; background: rgba(20, 42, 83, .62); text-align: right; box-shadow: var(--shadow); }
.effective-badge span { display: block; color: var(--muted); font-size: 12px; }
.effective-badge strong { color: var(--green); font-size: 15px; }
.quick-choice-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-bottom: 22px; }
.choice-card { position: relative; display: flex; min-width: 0; min-height: 126px; flex-direction: column; justify-content: center; padding: 20px 48px 18px 19px; border: 1px solid rgba(162, 224, 255, .42); border-radius: 17px; color: #eafaff; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 5px 0 rgba(43, 100, 168, .6), 0 14px 26px rgba(36, 91, 174, .17); text-decoration: none; transition: transform .16s, box-shadow .16s, border-color .16s; }
.choice-card:hover, .choice-card:focus-visible { transform: translateY(-2px); border-color: rgba(200, 247, 255, .9); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 7px 0 rgba(43, 100, 168, .72), 0 18px 32px rgba(36, 91, 174, .28); }
.choice-card:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 2px 0 rgba(43, 100, 168, .72), 0 8px 16px rgba(36, 91, 174, .16); }
.choice-card-salary { background: linear-gradient(135deg, rgba(67, 177, 235, .28), rgba(32, 82, 157, .72)); }
.choice-card-pension { background: linear-gradient(135deg, rgba(130, 154, 255, .3), rgba(58, 56, 139, .72)); }
.choice-kicker { display: block; margin-bottom: 7px; color: #9feaff; font-family: 'Manrope', sans-serif; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.choice-card strong { display: block; color: #fff; font-size: 18px; line-height: 1.18; }
.choice-card p { max-width: 470px; margin: 6px 0 0; color: #c8e8f5; font-size: 11px; line-height: 1.45; }
.choice-arrow { position: absolute; top: 50%; right: 18px; color: #d7fbff; font-family: 'Manrope', sans-serif; font-size: 25px; line-height: 1; transform: translateY(-50%); }

.glass-card { border: 1px solid var(--line); background: linear-gradient(135deg, rgba(20, 42, 83, .74), rgba(9, 25, 54, .8)); box-shadow: var(--shadow); backdrop-filter: blur(18px); }
.notice { display: flex; gap: 13px; align-items: flex-start; padding: 17px 20px; margin-bottom: 22px; border-radius: 17px; }
.notice-icon { display: grid; place-items: center; flex: 0 0 23px; width: 23px; height: 23px; border: 1px solid rgba(106, 213, 255, .58); border-radius: 50%; color: var(--cyan); font-family: 'Manrope'; font-weight: 700; font-size: 13px; }
.notice strong { display: block; margin: -2px 0 2px; font-size: 14px; }
.notice p { margin: 0; color: var(--muted-strong); font-size: 13px; }
.release-banner { margin-bottom: 22px; border-color: rgba(255, 211, 126, .28); background: linear-gradient(135deg, rgba(89, 69, 35, .3), rgba(20, 42, 83, .72)); }
.release-banner .notice-icon { border-color: rgba(255, 211, 126, .58); color: #ffe4aa; }
.release-banner strong { color: #ffe4aa; }
.release-banner p { font-size: 12px; }
.release-banner a, .update-note a { color: var(--cyan); font-weight: 700; text-underline-offset: 3px; }
.noscript-note { padding: 15px 18px; margin-bottom: 22px; border-color: rgba(255, 211, 126, .28); border-radius: 14px; background: rgba(89, 69, 35, .2); }
.noscript-note strong { color: #ffe4aa; font-size: 13px; }
.noscript-note p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.unofficial-banner { display: flex; gap: 12px; align-items: center; padding: 12px 15px; margin-bottom: 15px; border: 1px solid rgba(255, 164, 126, .34); border-radius: 13px; background: rgba(112, 54, 38, .2); }
.unofficial-badge { flex: 0 0 auto; padding: 5px 8px; border: 1px solid rgba(255, 183, 130, .55); border-radius: 7px; color: #ffd5b4; font-family: 'Manrope', sans-serif; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.unofficial-banner p { margin: 0; color: #e9c7b3; font-size: 12px; }
.compliance-note { padding: 14px 16px; margin: 14px 0 18px; border: 1px solid rgba(255, 211, 126, .4); border-radius: 13px; color: #ffe7b2; background: rgba(89, 69, 35, .2); }
.compliance-note strong { display: block; margin-bottom: 4px; color: #ffe4aa; font-size: 13px; }
.compliance-note p { margin: 3px 0 0; color: #d8c79c; font-size: 11px; }
.provenance-card { display: grid; grid-template-columns: 1.3fr .7fr; gap: 18px; padding: 20px; margin-bottom: 22px; border-radius: 17px; }
.provenance-card h2 { margin-bottom: 7px; font-size: 20px; }
.provenance-card p { margin: 0; color: var(--muted); font-size: 12px; }
.provenance-card strong { color: var(--muted-strong); }
.provenance-links { display: flex; flex-wrap: wrap; gap: 9px 15px; align-items: center; margin-top: 12px; color: #8da4c8; font-family: 'Manrope', sans-serif; font-size: 10px; }
.provenance-links a { color: var(--cyan); font-weight: 700; text-underline-offset: 3px; }
.update-note { align-self: stretch; padding: 13px 14px; border: 1px solid rgba(255, 211, 126, .24); border-radius: 12px; background: rgba(89, 69, 35, .2); }
.update-note strong { display: block; margin-bottom: 4px; color: #ffe4aa; font-size: 12px; }
.update-note p { color: #d5c28f; font-size: 11px; }
.about-tool { display: grid; grid-template-columns: .82fr 1.18fr; gap: 22px; padding: 22px; margin-bottom: 22px; border-radius: 19px; }
.about-tool-heading h2 { margin-bottom: 8px; font-size: 22px; }
.about-tool-heading > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.about-tool-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
.about-tool-grid article { padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(9, 25, 54, .45); }
.about-tool-grid span { display: block; margin-bottom: 5px; color: var(--cyan); font-family: 'Manrope', sans-serif; font-size: 10px; font-weight: 800; }
.about-tool-grid strong { display: block; color: var(--muted-strong); font-size: 12px; }
.about-tool-grid p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.change-log { padding-top: 8px; margin-top: 9px !important; border-top: 1px solid rgba(255, 211, 126, .18); }
.change-log strong { color: #ffe4aa; }
.source-summary { padding: 16px 20px; margin-bottom: 22px; border-radius: 17px; }
.source-summary summary { color: var(--muted-strong); cursor: pointer; font-size: 13px; font-weight: 700; }
.source-summary summary::marker { color: var(--cyan); }
.source-summary-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; padding-top: 14px; }
.source-summary-grid p { margin: 0; color: var(--muted); font-size: 11px; }
.source-summary-grid strong { color: var(--muted-strong); }

.workspace-grid { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); gap: 22px; align-items: start; min-width: 0; }
.calculator { position: sticky; top: 20px; padding: 27px; border-radius: 22px; }
.section-heading { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 25px; }
.status-dot { display: inline-flex; gap: 6px; align-items: center; color: var(--green); white-space: nowrap; font-size: 11px; }
.status-dot i { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 14px var(--green); }
.field-label { display: block; margin: 18px 0 7px; color: var(--muted-strong); font-size: 14px; font-weight: 600; }
.select-wrap, .money-input { position: relative; }
select, input { width: 100%; padding: 13px 15px; border: 1px solid var(--line-strong); border-radius: 12px; outline: none; color: var(--text); background: rgba(5, 17, 39, .72); transition: border-color .2s, box-shadow .2s; }
select:focus, input:focus { border-color: rgba(106, 213, 255, .75); box-shadow: 0 0 0 4px rgba(106, 213, 255, .11); }
select { appearance: none; padding-right: 43px; }
select option { color: #102348; background: #f5f8ff; }
.select-chevron { position: absolute; right: 15px; top: 8px; color: var(--cyan); font-family: 'Manrope'; font-size: 22px; pointer-events: none; }
.money-input span { position: absolute; left: 15px; top: 11px; color: var(--cyan); font-family: 'Manrope'; font-size: 17px; font-weight: 700; z-index: 1; }
.money-input input { padding-left: 39px; font-family: 'Manrope', sans-serif; font-weight: 700; }
.field-help { margin: 6px 0 0; color: var(--muted); font-size: 11px; }
.scope-gate { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: 12px 18px; padding: 14px 15px; margin: -6px 0 18px; border: 1px solid rgba(106, 213, 255, .24); border-radius: 13px; background: rgba(53, 159, 232, .07); }
.scope-gate-copy strong { display: block; color: var(--muted-strong); font-size: 13px; }
.scope-gate-copy .eyebrow { margin-bottom: 5px; }
.scope-gate-copy .field-help { margin-top: 3px; }
.scope-gate-options { display: grid; gap: 7px; align-content: center; }
.scope-gate-options label { display: flex; gap: 8px; align-items: flex-start; color: var(--muted-strong); font-size: 11px; line-height: 1.35; cursor: pointer; }
.scope-gate-options input[type="radio"] { flex: 0 0 auto; width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--cyan); }
.scope-gate-message { grid-column: 1 / -1; padding: 9px 11px; margin: 0; border: 1px solid rgba(255, 211, 126, .34); border-radius: 9px; color: #ffe4aa; background: rgba(164, 116, 56, .14); font-size: 10px; }
form :disabled { cursor: not-allowed; opacity: .56; }
.primary-button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 14px 16px; margin-top: 25px; border: 1px solid rgba(206, 248, 255, .82); border-radius: 12px; color: #04132c; background: linear-gradient(145deg, #d9fbff 0%, #82e5ff 35%, #78aaff 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 4px 0 #3979c3, 0 12px 26px rgba(71, 162, 255, .28); font-weight: 800; text-shadow: 0 1px 0 rgba(255,255,255,.42); transition: transform .16s, box-shadow .16s; cursor: pointer; }
.primary-button:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 6px 0 #3979c3, 0 17px 32px rgba(71, 162, 255, .36); }
.primary-button:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 2px 0 #3979c3, 0 7px 16px rgba(71, 162, 255, .22); }
.button-arrow { font-family: 'Manrope'; font-size: 21px; line-height: 1; }
.rule-note { display: flex; gap: 10px; padding-top: 21px; margin-top: 25px; border-top: 1px solid var(--line); }
.rule-number { color: var(--cyan); font-family: 'Manrope'; font-size: 11px; font-weight: 800; }
.rule-note p { margin: 0; color: var(--muted); font-size: 11px; }
.rule-note strong { color: var(--muted-strong); }

.results { min-width: 0; scroll-margin-top: 24px; outline: none; }
.results-heading { margin: 5px 0 18px; }
.output-note { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.grade-chip, .timeline-tag { min-width: max-content; padding: 6px 10px; border: 1px solid rgba(106, 213, 255, .27); border-radius: 8px; color: var(--cyan); background: rgba(53, 159, 232, .1); font-size: 12px; font-weight: 600; white-space: nowrap; }
.validation-message { padding: 11px 14px; margin-bottom: 14px; border: 1px solid rgba(255, 132, 132, .35); border-radius: 11px; color: #ffd0d0; background: rgba(164, 56, 79, .18); font-size: 13px; }
.validation-message.warning { border-color: rgba(255, 211, 126, .38); color: #ffe4aa; background: rgba(164, 116, 56, .18); }
.empty-result { display: grid; place-items: center; min-height: 245px; padding: 30px 22px; border: 1px dashed rgba(106, 213, 255, .28); border-radius: 19px; color: var(--muted); background: rgba(12, 28, 59, .5); text-align: center; }
.empty-result-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 10px; border: 1px solid rgba(106, 213, 255, .4); border-radius: 12px; color: var(--cyan); background: rgba(53, 159, 232, .12); }
.empty-result strong { color: var(--muted-strong); font-size: 14px; }
.empty-result p { max-width: 350px; margin: 5px 0 0; font-size: 11px; }
.empty-result b { color: var(--cyan); }
.result-hero { padding: 26px 28px 24px; border: 1px solid rgba(106, 213, 255, .24); border-radius: 19px; background: radial-gradient(circle at 80% 10%, rgba(87, 185, 255, .19), transparent 45%), linear-gradient(125deg, rgba(35, 91, 153, .46), rgba(24, 47, 95, .74)); overflow: hidden; }
.result-label { color: var(--muted-strong); font-size: 13px; }
.result-value { margin: 4px 0 0; color: white; font-family: 'Manrope', sans-serif; font-size: clamp(34px, 6vw, 60px); font-weight: 800; line-height: 1.12; letter-spacing: -.065em; }
.result-meta { display: flex; gap: 9px; align-items: center; color: #acd9f0; font-size: 12px; }
.meta-separator { opacity: .5; }
.metric-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin: 13px 0; }
.metric-card { display: flex; gap: 11px; align-items: flex-start; min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: rgba(14, 31, 64, .73); }
.metric-icon { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; font-family: 'Manrope'; font-size: 15px; font-weight: 800; }
.metric-icon.blue { color: var(--cyan); background: rgba(72, 180, 244, .14); }
.metric-icon.violet { color: var(--violet); background: rgba(156, 131, 255, .15); }
.metric-label { display: block; color: var(--muted); font-size: 11px; }
.metric-card strong { display: block; margin: 2px 0; color: #fff; font-family: 'Manrope'; font-size: 21px; line-height: 1.1; }
.metric-card small { color: var(--muted); font-size: 10px; }
.timeline-card, .math-card { padding: 20px; border: 1px solid var(--line); border-radius: 16px; background: rgba(12, 28, 59, .72); }
.timeline-head, .math-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.result-tools { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.timeline-head { padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.timeline-head h3 { margin: 0; }
.timeline-note { margin: 4px 0 0; color: var(--muted); font-size: 10px; line-height: 1.4; }
.timeline-row { display: grid; grid-template-columns: 26px 1fr auto; gap: 11px; align-items: center; padding: 17px 0 11px; }
.timeline-marker { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid rgba(157, 178, 221, .32); border-radius: 50%; color: var(--muted-strong); font-family: 'Manrope'; font-size: 11px; }
.timeline-marker.active { border-color: rgba(106, 213, 255, .65); color: var(--cyan); background: rgba(53, 159, 232, .12); }
.timeline-content strong, .timeline-content span { display: block; }
.timeline-content strong { font-size: 13px; }
.timeline-content span { margin-top: 2px; color: var(--muted); font-size: 11px; }
.timeline-content b { color: var(--cyan); font-weight: 600; }
.timeline-amount { display: flex; flex-direction: column; align-items: flex-end; color: var(--cyan); font-family: 'Manrope'; white-space: nowrap; text-align: right; }
.timeline-amount-label { color: var(--muted); font-family: 'RegTech Bengali', 'Hind Siliguri', 'Noto Sans Bengali', system-ui, sans-serif; font-size: 9px; font-weight: 500; }
.timeline-amount strong { font-size: 16px; line-height: 1.2; }
.timeline-amount small { margin-top: 3px; color: var(--muted); font-family: 'RegTech Bengali', 'Hind Siliguri', 'Noto Sans Bengali', system-ui, sans-serif; font-size: 9px; font-weight: 400; }
.timeline-amount.emphasis { color: var(--green); }
.timeline-connector { width: 1px; height: 14px; margin-left: 13px; background: rgba(157, 178, 221, .27); }
.arrears-note { padding: 11px 12px 0; margin: 4px 0 0; border-top: 1px dashed rgba(255, 211, 126, .22); color: #d5c28f; font-size: 11px; }
.math-card { margin-top: 13px; }
.math-heading { padding-bottom: 10px; margin-bottom: 2px; border-bottom: 1px solid var(--line); color: var(--muted-strong); font-size: 12px; font-weight: 600; }
.copy-button { padding: 6px 10px; border: 1px solid rgba(106, 213, 255, .42); border-radius: 8px; color: #baf3ff; background: linear-gradient(145deg, rgba(112,221,255,.22), rgba(91,164,255,.18)); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 2px 0 rgba(43, 100, 168, .7); font-size: 10px; font-weight: 700; cursor: pointer; }
.copy-button:hover { color: #fff; border-color: rgba(160, 238, 255, .78); transform: translateY(-1px); }
.math-line { display: flex; justify-content: space-between; gap: 20px; padding: 8px 0; color: var(--muted); font-size: 11px; }
.math-line strong { color: var(--muted-strong); font-family: 'Manrope'; font-size: 12px; white-space: nowrap; }
.math-line.final { padding-top: 12px; margin-top: 4px; border-top: 1px dashed rgba(160,188,240,.23); color: #e7f7ff; }
.math-line.final strong { color: var(--green); font-size: 15px; }
.salary-audit-summary, .retirement-audit-summary { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 11px 13px; margin-top: 13px; border: 1px dashed rgba(106, 213, 255, .3); border-radius: 11px; color: var(--muted); background: rgba(53, 159, 232, .05); font-size: 10px; }
.salary-audit-summary strong, .retirement-audit-summary strong { flex-basis: 100%; color: var(--muted-strong); }
.salary-audit-summary span, .retirement-audit-summary span { overflow-wrap: anywhere; }
.retirement-action { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 14px 15px; margin-top: 13px; border: 1px solid rgba(156, 131, 255, .28); border-radius: 13px; background: rgba(32, 27, 79, .2); }
.retirement-action strong { color: #e6ddff; font-size: 12px; }
.retirement-action p { margin: 3px 0 0; color: var(--muted); font-size: 10px; }
.secondary-button { display: inline-flex; align-items: center; gap: 10px; flex: 0 0 auto; padding: 10px 13px; border: 1px solid rgba(215, 247, 255, .76); border-radius: 10px; color: #081b40; background: linear-gradient(145deg, #effcff 0%, #b9eaff 40%, #b8b4ff 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 4px 0 #6d77c4, 0 9px 18px rgba(117, 141, 255, .22); font-size: 11px; font-weight: 800; cursor: pointer; transition: transform .16s, box-shadow .16s; }
.secondary-button:hover { transform: translateY(-2px); border-color: #fff; color: #06152f; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 6px 0 #6d77c4, 0 14px 24px rgba(117, 141, 255, .3); }
.secondary-button:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255,255,255,.75), 0 2px 0 #6d77c4, 0 6px 12px rgba(117, 141, 255, .18); }
.secondary-button span { color: #2365b8; font-family: 'Manrope'; font-size: 16px; line-height: 1; }
.result-disclaimer { display: flex; gap: 10px; padding: 13px 15px; margin-top: 13px; border: 1px solid rgba(255, 211, 126, .28); border-radius: 13px; background: rgba(89, 69, 35, .2); }
.result-disclaimer strong { flex: 0 0 auto; color: #ffe4aa; font-family: 'Manrope', sans-serif; font-size: 10px; }
.result-disclaimer p { margin: 0; color: #d5c28f; font-size: 10px; }
.gross-section { padding: 25px; margin-top: 22px; border-radius: 20px; scroll-margin-top: 14px; }
.gross-section .section-heading { margin-bottom: 17px; }
.gross-profile-note { padding: 11px 13px; margin-bottom: 15px; border: 1px solid rgba(106, 213, 255, .24); border-radius: 11px; color: var(--muted-strong); background: rgba(53, 159, 232, .08); font-size: 11px; }
.gross-profile-note.warning { border-color: rgba(255, 211, 126, .38); color: #ffe4aa; background: rgba(164, 116, 56, .16); }
.gross-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.gross-input-grid .field-label { margin-top: 0; }
.gross-form .field-help { min-height: 16px; }
.gross-option-grid, .conditional-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 15px; }
.check-card { display: flex; gap: 10px; align-items: flex-start; min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: rgba(9, 25, 54, .45); cursor: pointer; }
.check-card:hover { border-color: rgba(106, 213, 255, .42); }
.check-card input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--cyan); }
.check-card strong, .check-card small { display: block; }
.check-card strong { color: var(--muted-strong); font-size: 12px; }
.check-card small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.conditional-panel { padding: 15px; margin-top: 16px; border: 1px solid rgba(156, 131, 255, .22); border-radius: 14px; background: rgba(32, 27, 79, .16); }
.conditional-heading { display: flex; justify-content: space-between; gap: 10px; color: var(--muted-strong); font-size: 12px; }
.conditional-heading span { color: var(--violet); font-size: 10px; }
.conditional-grid { margin-top: 10px; }
.check-card.compact { padding: 10px; }
.conditional-selects { margin-top: 13px; }
.other-allowance-input { margin-top: 13px; }
.gross-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 16px; }
.gross-total-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(12, 28, 59, .72); }
.gross-total-card span, .gross-total-card small { display: block; }
.gross-total-card span { color: var(--muted); font-size: 10px; }
.gross-total-card strong { display: block; margin: 7px 0 2px; color: #fff; font-family: 'Manrope'; font-size: clamp(20px, 3vw, 29px); line-height: 1.1; }
.gross-total-card small { color: var(--muted); font-size: 9px; }
.gross-total-card.phase-one { border-color: rgba(106, 213, 255, .28); }
.gross-total-card.phase-one strong { color: var(--cyan); }
.gross-total-card.phase-two { border-color: rgba(156, 131, 255, .28); }
.gross-total-card.phase-two strong { color: #c4b7ff; }
.gross-total-card.phase-three { border-color: rgba(117, 224, 186, .28); }
.gross-total-card.phase-three strong { color: var(--green); }
.gross-breakdown { margin-top: 13px; }
.gross-breakdown table { min-width: 560px; }
.gross-breakdown th:not(:first-child), .gross-breakdown td:not(:first-child) { text-align: right; }
.gross-breakdown td:not(:first-child) { color: var(--muted-strong); font-family: 'Manrope'; white-space: nowrap; }
.gross-total-row td { color: #e7f7ff !important; font-weight: 800; background: rgba(106, 213, 255, .07); }
.gross-total-row td:not(:first-child) { color: var(--green) !important; }
.gross-footnote { padding: 11px 12px 0; margin: 12px 0 0; border-top: 1px dashed rgba(255, 211, 126, .22); color: #d5c28f; font-size: 10px; }
.gross-house-rule { padding-top: 10px; margin-top: 10px; border-top: 1px dashed rgba(106, 213, 255, .22); }

.retirement-section { padding: 25px; margin-top: 22px; border-radius: 20px; scroll-margin-top: 14px; }
.retirement-section .section-heading { margin-bottom: 17px; }
.source-chip { display: inline-flex; align-items: center; white-space: nowrap; text-decoration: none; }
.retirement-profile-note { padding: 11px 13px; margin-bottom: 15px; border: 1px solid rgba(255, 211, 126, .24); border-radius: 11px; color: #d5c28f; background: rgba(89, 69, 35, .18); font-size: 11px; }
.retirement-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.retirement-form .field-label { margin-top: 0; }
.retirement-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 17px; }
.retirement-card { min-width: 0; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(12, 28, 59, .72); }
.retirement-card span, .retirement-card small { display: block; }
.retirement-card span { color: var(--muted); font-size: 10px; }
.retirement-card strong { display: block; margin: 7px 0 2px; color: #e7f7ff; font-family: 'Manrope'; font-size: clamp(20px, 3vw, 27px); line-height: 1.1; }
.retirement-card small { color: var(--muted); font-size: 9px; }
.retirement-card:nth-child(1) strong, .retirement-card:nth-child(4) strong { color: var(--cyan); }
.retirement-card:nth-child(2) strong, .retirement-card:nth-child(5) strong { color: #c4b7ff; }
.retirement-card-emphasis { border-color: rgba(117, 224, 186, .32); background: rgba(24, 74, 69, .2); }
.retirement-card-emphasis strong { color: var(--green); }
.retirement-net-card { display: grid; grid-template-columns: 1fr 1.2fr; gap: 16px; align-items: center; padding: 17px; margin-top: 13px; border: 1px solid rgba(156, 131, 255, .25); border-radius: 15px; background: rgba(32, 27, 79, .2); }
.retirement-net-card h3 { margin-bottom: 2px; }
.retirement-net-placeholder { padding: 14px 16px; margin-top: 13px; border: 1px dashed rgba(156, 131, 255, .42); border-radius: 15px; color: var(--muted-strong); background: rgba(32, 27, 79, .16); }
.retirement-net-placeholder strong { display: block; color: #d7cfff; font-size: 13px; }
.retirement-net-placeholder p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.retirement-basic-note { min-height: 16px; }
input[readonly] { color: var(--muted-strong); border-color: rgba(117, 224, 186, .45); background: rgba(24, 74, 69, .24); }
.retirement-net-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.retirement-net-values span { display: block; padding: 10px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: 9px; }
.retirement-net-values strong { display: block; margin-top: 4px; color: #e7f7ff; font-family: 'Manrope'; font-size: 13px; }
.retirement-net-values span:last-child strong { color: var(--green); }
.retirement-reference { margin-top: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(12, 28, 59, .45); }
.retirement-reference summary { color: var(--muted-strong); cursor: pointer; font-size: 12px; font-weight: 700; }
.retirement-reference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding-top: 12px; }
.retirement-reference-grid table { min-width: 0; font-size: 10px; }
.retirement-reference-grid th, .retirement-reference-grid td { padding: 8px 9px; }
.retirement-reference-grid caption { padding: 8px; color: var(--cyan); text-align: left; font-size: 11px; font-weight: 700; }
.retirement-net-table { grid-column: 1 / -1; }
.retirement-footnote { padding: 11px 12px 0; margin: 12px 0 0; border-top: 1px dashed rgba(255, 211, 126, .22); color: #d5c28f; font-size: 10px; }
.pension-shell { padding-top: 32px; }
.pension-page-header { display: grid; gap: 18px; padding: 25px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 22px; background: linear-gradient(135deg, rgba(17, 45, 88, .92), rgba(14, 25, 59, .9)); box-shadow: var(--shadow); }
.pension-brand-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.pension-logo-frame { width: min(210px, 44vw); }
.back-link { display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(106, 213, 255, .45); border-radius: 10px; color: #d8fbff; background: linear-gradient(145deg, rgba(112, 221, 255, .2), rgba(91, 164, 255, .13)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16), 0 3px 0 rgba(43, 100, 168, .6); text-decoration: none; font-size: 11px; font-weight: 800; transition: transform .16s, box-shadow .16s; }
.back-link:hover, .back-link:focus-visible { color: #fff; border-color: rgba(160, 238, 255, .78); transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 0 rgba(43, 100, 168, .72); }
.back-link:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 1px 0 rgba(43, 100, 168, .72); }
.pension-result-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 15px; }
.pension-back-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.pension-shell .retirement-section { margin-top: 0; }
.pension-footer { margin-top: 20px; }

.scale-section { margin-top: 22px; padding: 25px; border-radius: 20px; }
.scale-heading { align-items: center; margin-bottom: 15px; }
.ghost-button { padding: 8px 12px; border: 1px solid rgba(106, 213, 255, .42); border-radius: 9px; color: #c9f6ff; background: linear-gradient(145deg, rgba(112,221,255,.15), rgba(91,164,255,.1)); box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 3px 0 rgba(43, 100, 168, .55); font-size: 12px; cursor: pointer; transition: transform .16s, box-shadow .16s; text-decoration: none; }
.ghost-button:hover { transform: translateY(-1px); border-color: rgba(160, 238, 255, .72); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 4px 0 rgba(43, 100, 168, .65); }
.ghost-button span { color: var(--cyan); font-family: 'Manrope'; font-size: 14px; }
.table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; min-width: 650px; font-size: 12px; }
th, td { padding: 11px 13px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
th { color: var(--cyan); background: rgba(71, 144, 220, .12); font-size: 11px; font-weight: 600; }
td { color: var(--muted-strong); }
tr:last-child td { border-bottom: 0; }
td:first-child { width: 70px; color: white; font-family: 'Manrope'; font-weight: 700; }
td:nth-child(3) { color: #cbf4ff; }
td:last-child { color: var(--violet); font-family: 'Manrope'; font-weight: 700; }
.table-note { margin: 10px 0 0; color: var(--muted); font-size: 11px; }

.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; margin-top: 22px; }
.method-card { display: flex; gap: 13px; padding: 18px; border-radius: 16px; }
.method-index { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid rgba(106, 213, 255, .32); border-radius: 9px; color: var(--cyan); font-family: 'Manrope'; font-size: 12px; font-weight: 700; }
.method-card h3 { margin: 0; font-size: 14px; }
.method-card p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.governance-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; margin-top: 22px; }
.governance-card { padding: 19px; border-radius: 16px; }
.governance-card h3 { margin-bottom: 6px; font-size: 15px; }
.governance-card p:last-child { margin: 0; color: var(--muted); font-size: 11px; }
.disclaimer { display: flex; gap: 13px; margin-top: 22px; padding: 18px 20px; border-color: rgba(255, 211, 126, .2); border-radius: 15px; background: linear-gradient(120deg, rgba(79, 64, 40, .24), rgba(16, 33, 67, .68)); }
.disclaimer-icon { display: grid; place-items: center; flex: 0 0 25px; width: 25px; height: 25px; border: 1px solid rgba(255, 211, 126, .5); border-radius: 50%; color: #ffd37e; font-family: 'Manrope'; font-weight: 800; }
.disclaimer strong { display: block; color: #ffe4aa; font-size: 13px; }
.disclaimer p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; column-gap: 24px; row-gap: 4px; padding: 23px 2px 0; color: #7183a7; font-family: 'Manrope'; font-size: 10px; }
.footer-branding { display: flex; align-items: center; gap: 10px; min-width: 0; }
.footer-branding img { width: 132px; height: auto; padding: 4px 6px; object-fit: contain; border-radius: 7px; background: #fff; }
.footer-branding strong, .footer-branding small { display: block; }
.footer-branding strong { color: var(--muted-strong); font-size: 10px; }
.footer-branding small { margin-top: 2px; color: #7183a7; font-size: 9px; }
.footer-meta { display: flex; grid-column: 3; justify-self: end; flex-direction: column; align-items: flex-end; gap: 3px; text-align: right; }
.footer-contact { display: flex; grid-column: 1 / -1; grid-row: 2; justify-self: center; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; margin-top: 0; padding-top: 0; text-align: center; }
.footer-contact span { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.footer-contact a { color: #e6f7ff; font-family: 'Manrope'; font-size: 12px; font-weight: 700; text-decoration: none; text-underline-offset: 3px; }
.footer-contact a:hover, .footer-contact a:focus-visible { color: var(--cyan); text-decoration: underline; }
.footer-links { display: flex; grid-column: 1 / -1; justify-content: center; flex-wrap: wrap; gap: 7px 14px; padding-top: 8px; border-top: 1px solid rgba(160, 188, 240, .12); text-align: center; }
.footer-links a { color: #9fc5e4; text-decoration: none; text-underline-offset: 3px; }
.footer-links a:hover, .footer-links a:focus-visible { color: var(--cyan); text-decoration: underline; }
.scope-list { margin: 10px 0 0; padding-left: 18px; color: var(--muted); font-size: 11px; }
.scope-list li + li { margin-top: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.content-page { max-width: 900px; }
.content-header { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 20px; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 19px; background: linear-gradient(135deg, rgba(20, 50, 96, .9), rgba(12, 28, 59, .82)); box-shadow: var(--shadow); }
.content-header h1 { margin: 0; font-size: clamp(28px, 5vw, 44px); }
.content-logo { width: min(190px, 38vw); padding: 7px; border-radius: 10px; background: #fff; }
.content-card { padding: 22px; margin-bottom: 15px; border-radius: 17px; }
.content-card h2 { margin-bottom: 9px; font-size: 20px; }
.content-card h3 { margin: 15px 0 5px; font-size: 15px; color: var(--muted-strong); }
.content-card p, .content-card li { color: var(--muted); font-size: 12px; }
.content-card p:last-child { margin-bottom: 0; }
.content-card ul, .content-card ol { margin: 8px 0 0; padding-left: 21px; }
.content-card li + li { margin-top: 5px; }
.content-card strong { color: var(--muted-strong); }
.content-nav { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 18px; }
.content-nav a { color: #d8fbff; text-decoration: none; }
.content-nav a:hover, .content-nav a:focus-visible { color: var(--cyan); text-decoration: underline; }
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 10; padding: 10px 15px; border: 1px solid rgba(117,224,186,.35); border-radius: 10px; color: #d8fff0; background: #153f48; box-shadow: var(--shadow); font-size: 12px; transform: translate(-50%, 100px); transition: transform .25s ease; }
.toast.show { transform: translate(-50%, 0); }
[hidden] { display: none !important; }

@media (max-width: 900px) {
  .workspace-grid { grid-template-columns: 1fr; }
  .calculator { position: static; }
  .method-grid { grid-template-columns: 1fr; }
  .about-tool, .provenance-card { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
  .shell { width: min(100% - 24px, 1180px); padding-top: 28px; }
  .hero { grid-template-columns: 1fr; gap: 15px; }
  .brand-logo-frame { justify-self: center; width: min(230px, 74vw); }
  .effective-badge { grid-column: 2; justify-self: start; padding: 8px 11px; text-align: left; }
  .effective-badge { grid-column: auto; }
  h1 { font-size: 31px; }
  .hero-subtitle { font-size: 14px; }
  .hero-proof { gap: 9px 13px; }
  .quick-choice-section { gap: 10px; }
  .choice-card { min-height: 116px; padding: 14px 30px 13px 12px; border-radius: 13px; }
  .choice-kicker { margin-bottom: 5px; font-size: 7px; letter-spacing: .08em; }
  .choice-card strong { font-size: 12px; line-height: 1.25; }
  .choice-card p { margin-top: 4px; font-size: 9px; line-height: 1.35; }
  .choice-arrow { right: 10px; font-size: 19px; }
  .unofficial-banner { align-items: flex-start; flex-direction: column; }
  .scope-gate { grid-template-columns: 1fr; gap: 9px; }
  .scope-gate-message { grid-column: auto; }
  .calculator, .scale-section, .gross-section, .retirement-section { padding: 20px 16px; }
  .section-heading { margin-bottom: 19px; }
  .status-dot { display: none; }
  .metric-grid { grid-template-columns: 1fr; }
  .gross-input-grid, .gross-option-grid, .conditional-grid, .gross-summary-grid, .retirement-input-grid, .retirement-summary-grid { grid-template-columns: 1fr; }
  .retirement-net-card { grid-template-columns: 1fr; }
  .retirement-action { align-items: stretch; flex-direction: column; }
  .secondary-button { justify-content: center; }
  .retirement-net-values { grid-template-columns: 1fr; }
  .retirement-reference-grid { grid-template-columns: 1fr; }
  .retirement-net-table { grid-column: auto; }
  .timeline-row { grid-template-columns: 26px 1fr; }
  .timeline-amount { grid-column: 2; align-items: flex-start; margin-top: -6px; text-align: left; }
  .governance-grid, .about-tool-grid { grid-template-columns: 1fr; }
  .source-summary-grid { grid-template-columns: 1fr; }
  .footer { display: flex; flex-direction: column; gap: 12px; }
  .footer-branding { flex-direction: column; align-items: flex-start; }
  .footer-meta { align-items: center; text-align: center; }
  .footer-links { width: 100%; }
  .result-tools { justify-content: flex-start; }
  .scale-heading { align-items: flex-start; flex-direction: column; }
  .pension-brand-row { align-items: flex-start; flex-direction: column-reverse; }
  .pension-logo-frame { align-self: flex-start; }
  .pension-page-header { padding: 20px 16px; }
  .pension-result-actions { align-items: stretch; flex-direction: column; }
  .pension-result-actions > * { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  @page { margin: 10mm; }
  html, body { min-width: 0; color: #111; background: #fff !important; }
  body { font-family: 'RegTech Bengali', 'Hind Siliguri', 'Noto Sans Bengali', sans-serif; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .orb, .hero, .quick-choice-section, .noscript-note, .about-tool, .unofficial-banner,
  .notice, .provenance-card, .source-summary, .calculator, .scale-section,
  .governance-grid, .disclaimer, .footer, .pension-page-header,
  .retirement-profile-note, #retirement-form, .retirement-reference,
  .print-hide, .toast { display: none !important; }
  .shell { width: 100%; max-width: none; padding: 0; }
  .workspace-grid { display: block; }
  .results, .gross-section, .retirement-section { display: block !important; width: 100%; margin: 0; padding: 0; border: 0; color: #111; background: #fff; box-shadow: none; }
  .results-heading { margin-bottom: 10px; }
  .results-heading h2, .gross-section h2, .retirement-section h2, .timeline-card h3, .retirement-net-card h3 { color: #111; }
  .output-note, .timeline-note, .field-help, .timeline-content span, .timeline-amount-label, .timeline-amount small, .gross-footnote, .retirement-footnote, .compliance-note p { color: #444; }
  .result-hero, .metric-card, .timeline-card, .math-card, .result-disclaimer, .gross-profile-note,
  .gross-total-card, .retirement-card, .retirement-net-card, .salary-audit-summary, .retirement-audit-summary { border: 1px solid #bbb; color: #111; background: #fff; box-shadow: none; }
  .result-value, .metric-card strong, .timeline-amount, .timeline-amount.emphasis, .math-line strong,
  .gross-total-card strong, .retirement-card strong, .retirement-net-values strong { color: #111 !important; }
  .grade-chip, .timeline-tag { color: #111; background: #fff; border-color: #aaa; }
  .math-line, .metric-label, .metric-card small, .gross-total-card span, .gross-total-card small, .retirement-card span, .retirement-card small, .retirement-net-values span { color: #333; }
  .salary-audit-summary, .retirement-audit-summary { color: #333; }
  .salary-audit-summary strong, .retirement-audit-summary strong { color: #111; }
  .result-hero, .metric-card, .timeline-card, .math-card, .result-disclaimer, .salary-audit-summary,
  .gross-total-card, .retirement-card, .retirement-net-card, .retirement-audit-summary { break-inside: avoid; page-break-inside: avoid; }
  .retirement-net-placeholder, .method-card { break-inside: avoid; page-break-inside: avoid; box-shadow: none !important; }
  .retirement-net-placeholder { color: #333; border-color: #bbb; background: #fff; }
  .compliance-note { color: #333; border-color: #bbb; background: #fff; }
  .compliance-note strong { color: #111; }
  .retirement-net-placeholder strong, .method-card h3 { color: #111; }
  .retirement-net-placeholder p, .method-card p { color: #444; }
  .method-card { background: #fff; }
  h2, h3 { break-after: avoid; page-break-after: avoid; }
.gross-section { margin-top: 16px; }
  [hidden] { display: none !important; }
}


/* Mobile readability patch: visual-only; calculator logic and data are untouched. */
@media (max-width: 620px) {
  :root {
    --muted: #c2d0e8;
    --muted-strong: #e0eaff;
  }
  body {
    font-size: 15px;
    line-height: 1.55;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  .hero-subtitle { font-size: 15px; line-height: 1.55; }
  .hero-proof { font-size: 11px; line-height: 1.5; }
  .effective-badge span { font-size: 13px; }
  .choice-kicker { font-size: 10px; letter-spacing: .04em; line-height: 1.4; }
  .choice-card strong { font-size: 14px; line-height: 1.4; }
  .choice-card p { font-size: 12px; line-height: 1.5; color: #d4e0f5; }
  .field-help, .output-note, .rule-note p, .provenance-card p,
  .about-tool-heading > p:last-child, .about-tool-grid p,
  .source-summary-grid p, .timeline-note, .timeline-content span,
  .math-line, .table-note, .method-card p, .governance-card p:last-child,
  .disclaimer p, .scope-list, .noscript-note p, .retirement-action p,
  .retirement-net-placeholder p, .content-card p, .content-card li {
    font-size: 13px;
    line-height: 1.55;
    color: #c8d7ee;
  }
  .metric-label, .metric-card small, .gross-total-card span,
  .gross-total-card small, .retirement-card span, .retirement-card small,
  .retirement-net-values span, .timeline-amount-label, .timeline-amount small {
    font-size: 12px;
    line-height: 1.45;
    color: #c8d7ee;
  }
  .provenance-links { font-size: 12px; line-height: 1.5; color: #b8cdea; }
  .footer-links a { color: #c4e7ff; }
  .calculator label, .scale-section label, .gross-section label,
  .retirement-section label { font-size: 14px; line-height: 1.45; }
  input, select, button { font-size: 15px; }
  input, select { min-height: 44px; }
  .timeline-row { row-gap: 10px; }
  .timeline-amount-label, .timeline-amount small { overflow-wrap: anywhere; }
}


/* Contrast and Bengali text legibility corrections — presentation only. */
.notice p, .unofficial-banner p, .compliance-note p, .update-note p,
.disclaimer p, .result-disclaimer p, .validation-message,
.scope-gate-message, .gross-profile-note.warning { opacity: 1; }
.notice p { color: #e0eaff; }
.unofficial-banner p { color: #f4d9c8; }
.compliance-note { color: #fff0c2; background: #292719; border-color: #b8892f; border-left: 4px solid #f5b942; }
.compliance-note strong { color: #fff1bf; }
.compliance-note p { color: #f1e6c8; }
.update-note { background: #292719; border-color: #8a6c31; }
.update-note strong, .change-log strong { color: #fff1bf; }
.update-note p { color: #f1e6c8; }
.disclaimer { background: #292719; border-color: #8a6c31; border-left: 4px solid #f5b942; }
.disclaimer strong { color: #fff1bf; }
.disclaimer p { color: #f1e6c8; }
.result-disclaimer { background: #292719; border-color: #8a6c31; }
.result-disclaimer strong { color: #fff1bf; }
.result-disclaimer p { color: #f1e6c8; }
.validation-message.warning { color: #fff1bf; background: #292719; border-color: #b8892f; }
.scope-gate-message { color: #fff1bf; background: #292719; border-color: #8a6c31; }
.gross-profile-note.warning { color: #fff1bf; background: #292719; border-color: #b8892f; }

@media (max-width: 620px) {
  body { font-weight: 450; }
  .field-help, .output-note, .rule-note p, .notice p,
  .unofficial-banner p, .compliance-note p, .update-note p,
  .disclaimer p, .result-disclaimer p, .provenance-card p,
  .about-tool-heading > p:last-child, .about-tool-grid p,
  .source-summary-grid p, .timeline-note, .timeline-content span,
  .math-line, .table-note, .method-card p, .governance-card p:last-child,
  .scope-list, .noscript-note p, .retirement-action p,
  .retirement-net-placeholder p, .content-card p, .content-card li {
    color: #d8e4f6;
    font-weight: 500;
  }
  .compliance-note p, .update-note p, .disclaimer p, .result-disclaimer p { color: #f1e6c8; }
  .notice, .compliance-note, .disclaimer, .result-disclaimer { line-height: 1.6; }
  .results { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(160, 188, 240, .28); }
  .results-heading { margin-top: 0; margin-bottom: 18px; }
  .empty-result { min-height: 190px; padding: 24px 18px; }
  .empty-result p { font-size: 13px; line-height: 1.55; color: #d8e4f6; }
  .grade-chip { white-space: normal; text-align: center; }
}


/* Brand-aligned header navigation — presentation only */
.brand-header-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; font-family: 'Manrope', 'RegTech Bengali', sans-serif; font-size: 12px; font-weight: 700; line-height: 1.5; }
.brand-home-link { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 8px 13px; border: 1px solid rgba(106, 213, 255, .38); border-radius: 999px; color: #eaf7ff; background: rgba(17, 43, 79, .78); text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.brand-home-link:hover, .brand-home-link:focus-visible { color: #fff; background: rgba(37, 91, 145, .82); border-color: rgba(106, 213, 255, .82); outline: 2px solid transparent; transform: translateY(-1px); }
.brand-nav-divider { color: rgba(195, 208, 231, .55); }
.brand-nav-current { color: var(--muted-strong); }
@media (max-width: 620px) {
  .brand-header-nav { gap: 8px; margin-bottom: 11px; font-size: 12px; }
  .brand-home-link { min-height: 38px; padding: 8px 12px; }
}
