.doctor-calculator { --dc-border:#c7d6d7; }
.doctor-calculator [hidden] { display:none !important; }
.doctor-calculator .section-heading { margin-bottom:22px; }
.doctor-basis { padding:18px 22px; margin-bottom:22px; border-left:4px solid #ad803f; background:#f2e8d7; border-radius:0 14px 14px 0; }
.doctor-basis p { margin:5px 0 0; font-size:.9rem; }
.doctor-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:24px; align-items:start; }
.doctor-inputs { display:grid; gap:9px; padding:26px; background:white; border:1px solid var(--dc-border); border-radius:20px; }
.doctor-inputs label { display:block; margin-top:15px; font-weight:750; line-height:1.4; }
.doctor-inputs label:first-child { margin-top:0; }
.doctor-inputs label span { color:#956a2a; margin-right:6px; }
.doctor-inputs input,.doctor-inputs select { min-width:0; width:100%; min-height:52px; padding:11px 13px; font:inherit; font-size:1.12rem; color:#102f40; background:#fbfcfa; border:1px solid #839da3; border-radius:9px; }
.doctor-inputs small { line-height:1.55; color:#465f6b; }
.doctor-inputs [aria-invalid=true] { border:2px solid #a82b2b; }
.doctor-error { color:#a12424; font-size:.86rem; margin:0; }
.doctor-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.doctor-calculator button { min-height:44px; padding:10px 15px; border:1px solid #476875; border-radius:9px; cursor:pointer; font:inherit; font-size:.86rem; font-weight:700; }
.doctor-calculator button:disabled { opacity:.5; cursor:default; }
.doctor-calculator :is(button,input,select,a,summary):focus-visible { outline:3px solid #b4822c; outline-offset:4px; }
.doctor-buttons button { color:#102f40; background:#eef4f3; }
.doctor-result { padding:28px; background:#102f40; color:#fff; border-radius:20px; }
.doctor-result h3 { margin:10px 0; color:#fff; font:400 1.6rem/1.2 var(--serif); }
.doctor-result .doctor-tag { display:inline-block; padding:5px 9px; border:1px solid #769b9f; border-radius:6px; color:#ddedea; font-size:.72rem; }
.doctor-result .doctor-amount { display:block; font-size:clamp(2.3rem,4vw,3.5rem); line-height:1.1; color:#f1d29c; letter-spacing:-.035em; margin:16px 0 5px; font-variant-numeric:tabular-nums; }
.doctor-result p { color:#e1eaeb; font-size:.92rem; }
.doctor-result .doctor-gross-note { padding:14px; color:#fff; border:1px solid #5c7d89; border-radius:9px; }
.doctor-metrics { margin:22px 0 0; }
.doctor-metrics div { display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:10px 0; border-top:1px solid #45616f; }
.doctor-metrics dt { color:#cfdddf; font-size:.86rem; }
.doctor-metrics dd { margin:0; font-size:1.05rem; font-weight:750; white-space:nowrap; }
.doctor-result #doctor-save { background:#e6c895; color:#102f40; border-color:#e6c895; margin:18px 0 8px; }
.doctor-next { display:block; color:#fff; font-weight:700; padding:12px 0; text-underline-offset:4px; }
.doctor-comparison { margin-top:28px; padding:26px; background:white; border:1px solid var(--dc-border); border-radius:20px; }
.doctor-comparison h3 { margin:0 0 8px; font:400 1.7rem/1.2 var(--serif); }
.doctor-comparison>p { font-size:.9rem; color:#465f6b; }
.doctor-age-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin:22px 0; }
.doctor-age-grid button { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:7px; text-align:left; background:#f2f6f4; color:#163b49; border-color:#c2d3d1; }
.doctor-age-grid button[aria-pressed=true] { background:#184c50; color:white; border-color:#184c50; box-shadow:0 0 0 2px #c69d5c; }
.doctor-age-grid strong { font-size:1.15rem; white-space:nowrap; }
.doctor-age-grid small { font-size:.73rem; }
.doctor-bar { display:block; width:100%; height:5px; background:#c8d9d7; border-radius:3px; }
.doctor-bar i { display:block; height:100%; background:#a47638; border-radius:3px; transition:width .2s ease; }
.doctor-equation { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.doctor-equation div { padding:16px; border-radius:12px; background:#f1f5f3; }
.doctor-equation span { display:block; font-size:.79rem; color:#445e68; }
.doctor-equation strong { display:block; margin:7px 0; font-size:1.3rem; color:#163b49; }
.doctor-calculator details { border-top:1px solid var(--dc-border); margin-top:24px; padding-top:16px; font-size:.9rem; }
.doctor-calculator summary { cursor:pointer; font-weight:750; padding:8px 0; }
.doctor-calculator details li { margin:9px 0; }
.doctor-calculator details a { text-underline-offset:3px; overflow-wrap:anywhere; }
.doctor-region-note { padding:14px; border:1px solid #b9cdcb; border-radius:9px; background:#edf4f2; font-size:.86rem; }
@media(max-width:1450px) { .doctor-age-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1100px) { .doctor-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:680px) { .doctor-inputs,.doctor-result,.doctor-comparison { padding:20px; } .doctor-equation { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:390px) { .doctor-age-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .doctor-equation { grid-template-columns:minmax(0,1fr); } .doctor-metrics div { flex-wrap:wrap; gap:3px; } }
@media(prefers-reduced-motion:reduce) { .doctor-bar i { transition:none; } }
@media print { .doctor-result { background:white; border:2px solid #102f40; color:#102f40; } .doctor-result :is(p,h3,.doctor-amount,.doctor-tag,dt,dd) { color:#102f40; } .doctor-buttons,#doctor-save,.doctor-next { display:none; } .doctor-layout { display:block; } .doctor-result,.doctor-inputs { break-inside:avoid; margin-bottom:16px; } .doctor-comparison { break-inside:avoid; } }
