/* Sticky local nav */
.localnav{position:sticky; top:calc(var(--hdr-h) + 2px); z-index:120; background:#fff; border-bottom:1px solid var(--stroke)}
.tabs{display:flex; gap:18px; overflow:auto; white-space:nowrap; padding:10px 24px}
.tabs a{padding:8px 12px; border-radius:999px; border:1px solid var(--stroke); font-weight:800; color:#30406c}
.tabs a.active, .tabs a:hover{background:#eef3ff; border-color:#cfdcff}

/* Section helpers */
section{scroll-margin-top:calc(var(--hdr-h) + 58px)}
.hgroup{display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin:28px 0 14px}
h2{margin:0; font-size:28px}
.kicker{font-size:13px; letter-spacing:.3px; color:#6b7baa; text-transform:uppercase; font-weight:800}

/* Cards & layout */
.grid{display:grid; grid-template-columns:repeat(12,1fr); gap:16px}
.card{grid-column:span 6; background:#fff; border:1px solid var(--stroke); border-radius:16px; padding:16px; box-shadow:var(--shadow)}
.card h3{margin:0 0 6px}
.muted{color:#51608a}
@media (max-width:900px){ .card{grid-column:span 12} }

/* Calculator */
.calc{display:grid; grid-template-columns:1fr 1fr; gap:16px}
.calc .pane{background:#fff; border:1px solid var(--stroke); border-radius:16px; padding:16px; box-shadow:var(--shadow)}
.calc label{display:block; font-size:12px; color:#7d8db3; font-weight:700; margin:8px 0 4px}
.row{display:grid; grid-template-columns:repeat(3,1fr); gap:8px}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:8px}
input[type="number"], input[type="text"], input[type="date"], select{
  width:100%; padding:10px 12px; border:1px solid var(--stroke); border-radius:10px; font-size:15px; color:var(--ink); background:#fff;
}
.tiny{font-size:12px; color:#6b7baa}
.result{padding:12px; border:1px solid var(--stroke); background:#f7fbff; border-radius:12px; margin-top:10px}
.ok{color:#0a7a4b; font-weight:800}
.warn{color:#a66b00; font-weight:800}
.bad{color:#b3002d; font-weight:800}
.btn{display:inline-flex; align-items:center; gap:8px; padding:12px 16px; border:0; border-radius:12px; font-weight:900; cursor:pointer}
.btn.primary{background:var(--accent); color:#04351f}
.btn.ghost{background:#eef3ff; color:#0f2a6b}

/* Tables */
table{width:100%; border-collapse:collapse; overflow:hidden; border-radius:12px; border:1px solid var(--stroke)}
th,td{padding:12px; border-bottom:1px solid var(--stroke); text-align:left; font-size:15px}
th{background:#f6f8fe; color:#30406c; font-weight:800}

/* Accordion */
.acc{border:1px solid var(--stroke); border-radius:14px; overflow:hidden; background:#fff; box-shadow:var(--shadow)}
.acc .item + .item{border-top:1px solid var(--stroke)}
.acc h4{margin:0; font-size:16px}
.acc button{width:100%; text-align:left; padding:14px 16px; background:#fff; border:0; font-weight:800; display:flex; align-items:center; justify-content:space-between}
.acc .panel{display:none; padding:0 16px 16px; color:#4a5a86}
.acc .item.open .panel{display:block}

/* Notes */
.note{background:#fff8e6; border:1px solid #ffe0a6; border-radius:12px; padding:12px; color:#5b4706}

/* Page footer note */
.leaf-note{border-top:1px solid var(--stroke); padding:28px 0 40px; color:#6b7baa}
.actions{display:flex; gap:8px; justify-content:flex-end; align-items:center}
