/* Калькулятор налогового вычета за обучение (ndfl_calc).
   Все классы изолированы префиксом .ndk — на стили темы не влияют. */
.ndk{--ndk-accent:#0338ee;--ndk-accent-hover:#0028b1;--ndk-accent-ink:#fff;--ndk-ink:#1d2433;--ndk-muted:#5b6475;--ndk-line:#d6dce6;--ndk-soft:#f4f6fa;--ndk-bg:#fff;--ndk-ok:#0f7a4a;--ndk-ok-bg:#e9f7ef;--ndk-warn-bg:#fff6e5;--ndk-warn-line:#f0c46b;
  font-family:inherit;color:var(--ndk-ink);line-height:1.5;font-size:16px;max-width:760px;box-sizing:border-box}
.ndk *,.ndk *::before,.ndk *::after{box-sizing:border-box}
.ndk[data-mode="full"]{background:var(--ndk-bg);border:1px solid var(--ndk-line);border-radius:14px;padding:24px;margin:24px 0}
.ndk[data-mode="compact"]{margin:12px 0 0}
.ndk-static{margin:0;font-size:15px;color:var(--ndk-muted)}
.ndk-toggle{font:inherit;font-size:15px;font-weight:600;color:var(--ndk-accent);background:none;border:0;padding:6px 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.ndk-toggle:hover{color:var(--ndk-accent-hover)}
.ndk-panel{margin-top:12px}
.ndk[data-mode="full"] .ndk-panel{margin-top:0}
.ndk[data-mode="compact"] .ndk-panel{border:1px solid var(--ndk-line);border-radius:12px;padding:18px;background:var(--ndk-bg)}
.ndk-title{font-size:20px;font-weight:700;line-height:1.3;margin:0 0 6px}
.ndk-lead{font-size:15px;color:var(--ndk-muted);margin:0 0 16px}
.ndk-field{margin:0 0 14px;border:0;padding:0;min-width:0}
.ndk-label,.ndk-field legend{display:block;font-weight:600;font-size:15px;margin:0 0 6px;padding:0}
.ndk-help{display:block;font-size:13px;color:var(--ndk-muted);margin:4px 0 0;font-weight:400}
.ndk-input{font:inherit;width:100%;max-width:280px;padding:10px 12px;border:1px solid var(--ndk-line);border-radius:10px;background:var(--ndk-bg);color:inherit}
.ndk-input:focus{outline:2px solid var(--ndk-accent);outline-offset:1px;border-color:var(--ndk-accent)}
.ndk-radios{display:flex;flex-wrap:wrap;gap:8px}
.ndk-radio{position:relative}
.ndk-radio input{position:absolute;opacity:0;width:1px;height:1px}
.ndk-radio span{display:inline-block;padding:9px 14px;border:1px solid var(--ndk-line);border-radius:10px;cursor:pointer;font-size:15px;background:var(--ndk-bg)}
.ndk-radio input:checked+span{border-color:var(--ndk-accent);background:var(--ndk-soft);box-shadow:inset 0 0 0 1px var(--ndk-accent)}
.ndk-radio input:focus-visible+span{outline:2px solid var(--ndk-accent);outline-offset:2px}
.ndk-more{font:inherit;font-size:14px;color:var(--ndk-accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin:0 0 14px}
.ndk-result{border-radius:12px;padding:16px 18px;margin:6px 0 14px;background:var(--ndk-ok-bg)}
.ndk-result--no{background:var(--ndk-warn-bg);border:1px solid var(--ndk-warn-line)}
.ndk-sum{font-size:28px;font-weight:700;line-height:1.2;margin:0 0 4px;color:var(--ndk-ok)}
.ndk-result--no .ndk-sum{font-size:18px;color:var(--ndk-ink)}
.ndk-net{margin:0 0 8px;font-size:15px}
.ndk-break{margin:0;padding-left:18px;font-size:14px;color:var(--ndk-muted)}
.ndk-break li{margin:2px 0}
.ndk-h{font-weight:700;font-size:15px;margin:14px 0 6px}
.ndk-steps{margin:0 0 10px;padding-left:20px;font-size:15px}
.ndk-steps li{margin:0 0 6px}
.ndk-note{font-size:14px;margin:0 0 10px}
.ndk-link{color:var(--ndk-accent);text-underline-offset:3px}
.ndk-foot{font-size:13px;color:var(--ndk-muted);margin:12px 0 0;padding-top:12px;border-top:1px solid var(--ndk-line)}
.ndk-btn{display:inline-block;font:inherit;font-weight:600;font-size:15px;line-height:1.4;text-align:center;text-decoration:none;border-radius:10px;padding:13px 24px;border:0;background:linear-gradient(180deg,#FF8219 0%,#FD5B10 100%);color:#fff;margin-top:4px;cursor:pointer;transition:filter .2s}
.ndk-btn:hover{filter:brightness(.95);color:#fff}
@media (max-width:560px){.ndk[data-mode="full"]{padding:16px}.ndk[data-mode="compact"] .ndk-panel{padding:14px}.ndk-input{max-width:none}.ndk-sum{font-size:24px}.ndk-btn{width:100%}}
