/* Scoped to this guide: the shared header and other calculators are unchanged. */
#main.ub-page { --ub-ink:#173d28; --ub-green:#307337; --ub-line:#c7dbc0; color:var(--ub-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.7; }
.ub-page *, .ub-page *::before, .ub-page *::after { box-sizing:border-box; }
.ub-page [hidden] { display:none !important; }
.ub-page :is(p,li,td,th,figcaption,label,input,select,button) { font-family:Arial,Helvetica,sans-serif; font-size:16px; }
.ub-page :is(span,strong,bdi,a,time) { font-family:inherit; }
.ub-page p { margin:0 0 14px; line-height:1.7; }
.ub-page h1 { text-align:right; font-size:clamp(26px,3.3vw,34px); line-height:1.25; margin:8px 0 16px; color:#143721; }
.ub-page h2 { text-align:right; font-size:25px; line-height:1.35; margin:0 0 14px; color:#214d2d; }
.ub-page h3 { font-size:19px; line-height:1.4; margin:22px 0 8px; }
.ub-page a { color:#285d29; text-underline-offset:3px; }
.ub-page a:hover { color:#163d1b; }
.ub-page :is(a,button,input,select,summary):focus-visible { outline:3px solid #246fa1; outline-offset:3px; }
.ub-page > section { margin-block:28px; scroll-margin-top:24px; }
.ub-page .ub-intro { padding-block:8px 4px; }
.ub-page .ub-eyebrow { font-size:14px; font-weight:700; color:#557147; margin:0 0 6px; }
.ub-page .ub-muted, .ub-page .ub-help { color:#51624d; }
.ub-page .ub-help { display:block; font-size:14px; line-height:1.55; }
.ub-calculator { padding:24px; background:linear-gradient(270deg,#eff6e8,#f8faf5); border:1px solid var(--ub-line); border-radius:10px; }
.ub-fields { display:grid; grid-template-columns:minmax(0,2fr) minmax(90px,1fr); gap:18px; margin-block:18px; }
.ub-field-wide { grid-column:1/-1; }
.ub-field { min-width:0; }
.ub-field label { display:block; margin-bottom:7px; font-weight:700; }
.ub-field :is(input,select) { width:100%; min-width:0; height:46px; border:1px solid #9bac92; border-radius:6px; background-color:white; padding:8px 12px; color:#183d29; margin:0; }
.ub-field input { direction:ltr; text-align:right; }
.ub-field select { padding-left:34px; }
.ub-input-unit { display:flex; gap:6px; align-items:center; }
.ub-input-unit > span { flex:0 0 46px; height:46px; display:grid; place-items:center; border:1px solid var(--ub-line); border-radius:6px; background:#e5efd9; font-weight:700; }
.ub-field .ub-help { margin-top:6px; }
.ub-settings-body { padding:4px 16px 16px; }
.ub-settings-body .ub-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ub-settings-body .ub-field label { min-height:3.4em; }
.ub-page .ub-check { display:flex; align-items:flex-start; gap:10px; margin:14px 0; line-height:1.55; cursor:pointer; }
.ub-page .ub-check input { flex:0 0 19px; width:19px; height:19px; margin:3px 0 0; accent-color:var(--ub-green); }
.ub-page .ub-check span { min-width:0; }
.ub-page .ub-submit { display:block; width:min(100%,320px); min-height:48px; margin:18px auto 0; border:0; border-radius:6px; background:#367a36; color:#fff; font-weight:700; cursor:pointer; box-shadow:0 2px 5px #214d2d20; }
.ub-page .ub-submit:hover { background:#28602a; }
.ub-page .ub-submit:disabled { opacity:.65; cursor:wait; }
.ub-page .ub-status { color:#8b302b; margin:10px 0 0; }
.ub-status:empty { display:none; }
.ub-result { margin-top:24px; padding:22px; border:1px solid #afcfa0; border-radius:8px; background:white; scroll-margin-top:20px; }
.ub-result-lead { display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:8px 0 20px; }
.ub-result-lead > strong { font-size:clamp(30px,6vw,44px); line-height:1.25; color:#27712e; }
.ub-deductions { margin:0 0 16px; }
.ub-deductions > div { display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:10px 0; border-bottom:1px solid #e1e8dd; }
.ub-deductions :is(dt,dd) { margin:0; font-size:16px; }
.ub-deductions dd { flex-shrink:0; font-weight:700; }
.ub-deductions-gross { font-weight:700; }
.ub-deductions-total { color:#485e41; }
.ub-page .ub-money { display:inline-flex; flex-direction:row; align-items:baseline; gap:.25em; white-space:nowrap; direction:rtl; unicode-bidi:isolate; font-variant-numeric:tabular-nums; }
.ub-page .ub-money > bdi { font-family:Arial,Helvetica,sans-serif; }
.ub-page .ub-money > span { font-size:.8em; }
.ub-result-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.ub-result-facts > div { display:flex; flex-direction:column; gap:3px; padding:14px; background:#f1f6ee; border-radius:6px; }
.ub-result-facts strong { font-size:22px; }
.ub-page .ub-callout { background:#f3f7ed; border-right:3px solid #86ac61; padding:14px 16px; border-radius:3px; }
.ub-page .ub-breakdown { padding-bottom:10px; border-bottom:1px solid #e1e8dd; }
.ub-toc { display:flex; flex-wrap:wrap; gap:8px 16px; padding:12px 0; }
.ub-table-scroll { max-width:100%; overflow-x:auto; margin-block:16px; border:1px solid var(--ub-line); border-radius:8px; }
.ub-page .ub-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0; color:#203c2b; }
.ub-page .ub-table caption { text-align:right; font-size:16px; padding:12px 14px; background:#f7faf4; font-weight:700; }
.ub-page .ub-table th, .ub-page .ub-table td { padding:13px 12px; border:0; border-bottom:1px solid #dee8d8; text-align:right; vertical-align:top; line-height:1.5; }
.ub-page .ub-table thead th { background:#e8f1de; color:#244c29; }
.ub-page .ub-table tbody th { font-weight:400; }
.ub-page .ub-table tr:last-child :is(th,td) { border-bottom:0; }
.ub-page .ub-table tbody tr:nth-child(even) { background:#f8faf5; }
.ub-page .ub-table:not(.ub-scenarios) :is(td,th) { text-align:center; }
.ub-page .ub-scenarios th:first-child { width:28%; font-weight:700; }
.ub-page .ub-figure { margin:24px 0; border:1px solid var(--ub-line); border-radius:8px; overflow:hidden; background:#f8faf5; }
.ub-figure > a { display:block; cursor:zoom-in; }
.ub-figure img { width:100%; height:auto; display:block; }
.ub-figure figcaption { padding:12px 16px; color:#52634b; }
.ub-figure .ub-image-expand { display:block; width:fit-content; padding-block:8px; margin-top:4px; }
.ub-birth { padding:24px; border:1px solid var(--ub-line); border-radius:8px; background:linear-gradient(270deg,#f1f7eb,#fff); }
.ub-page .ub-steps { padding-right:24px; }
.ub-steps li { margin-bottom:16px; padding-right:5px; }
.ub-page .ub-bottom { border-top:1px solid var(--ub-line); padding-top:24px; }
@media(max-width:600px) {
    #main.ub-page { padding-inline:14px; }
    .ub-page h2 { font-size:23px; }
    .ub-calculator,.ub-birth { padding:17px 13px; }
    .ub-fields { gap:14px 10px; }
    .ub-settings-body { padding-inline:8px; }
    .ub-settings-body .ub-fields { grid-template-columns:1fr; }
    .ub-settings-body .ub-field label { min-height:0; }
    .ub-result { padding:15px 12px; }
    .ub-result-facts { grid-template-columns:1fr; }
    .ub-page .ub-table th,.ub-page .ub-table td { padding:11px 6px; }
    .ub-page .ub-table .ub-money { gap:.12em; }
    .ub-page .ub-table .ub-money > span { font-size:12px; }
    .ub-page .ub-scenarios th:first-child { width:30%; }
}
