/* Витрина lk.ndflkit.ru — оформление поверх style.css (подключается только на адресе витрины, body.kit).
   Эталон — согласованные макеты data/шаблоны/ndflkit_v1/витрина_*.html (15.10.2026): минималистичный стиль QuoteKit,
   меню слева закреплено на всю высоту, логотип наверху меню, белая строка сверху. Контраст — по
   ТРЕБОВАНИЯ_К_ДИЗАЙНУ_КАБИНЕТА.md: текст #11151D, второстепенный #475569, ссылки #1460DB.
   Кнопки — по айдентике ndflkit.ru (16.10.2026): сплошной --brand #1A6EF4 (белый 4,6 : 1), наведение #1460DB. */

html:has(body.kit), body.kit, body.kit.app-shell {
  --bg: #F9FAFB; --surface: #FFFFFF; --surface-2: #F9FAFB;
  --ink: #11151D; --ink-2: #0F2A44; --muted: #475569; --line: #D5DDE6;
  --accent: #1460DB; --accent-hover: #0F4FB8; --accent-soft: #EAF1FE; --blue: #1460DB;
  --btn: #1A6EF4; --btn-hover: #1460DB;
  --grad: var(--btn);
  --ok-bg: #E3F4EC; --ok-text: #15704B; --err-bg: #FCE8E6; --err-text: #B42318; --warn-bg: #FDF0DC; --warn-text: #9A5B00;
  --font-body: 'Onest', 'Segoe UI', Roboto, Arial, sans-serif; --font-display: var(--font-body); --font-sub: var(--font-body);
  --shadow: 0 1px 3px rgba(17, 21, 29, .06), 0 6px 16px rgba(17, 21, 29, .04);
  background: #F9FAFB;
}
body.kit.app-shell {
  --page: #F9FAFB; --panel: #F9FAFB; --side-ink: #11151D; --side-ic: #475569;
  --teal: #0E7490; --teal-soft: #E0F4F7; --teal-ink: #0E7490;
  --grad-app: var(--btn);
  font-size: 16px; color: var(--ink);
}
body.kit a { color: var(--accent); }
body.kit .btn, body.kit button.btn { background: var(--btn); color: #fff; border-radius: 10px; box-shadow: 0 4px 12px rgba(26, 110, 244, .25); }
body.kit .btn:not(.ghost):not(.k-sec):not(.k-ghost):not(.k-danger):hover, body.kit button.btn:not(.ghost):not(.k-sec):not(.k-ghost):not(.k-danger):hover { background: var(--btn-hover); filter: none; color: #fff; }
body.kit .btn.ghost, body.kit button.btn.ghost { background: #fff; color: var(--accent); box-shadow: none; border: 1px solid var(--line); }
body.kit :is(input, select, textarea):not([type=checkbox]):not([type=radio]) { border-color: #7B8A9E; }

/* каркас: меню закреплено слева на всю высоту, рабочее поле справа */
body.kit .shell { display: block; padding: 0; background: var(--page); min-height: 100vh; min-height: 100dvh; }
body.kit .side { position: fixed; top: 0; left: 0; bottom: 0; width: 260px; max-width: none; z-index: 40; min-height: 0; max-height: none;
  border-radius: 0; border-right: 1px solid var(--line); background: var(--page); padding: 0 14px 20px; gap: 0; }
body.kit .shell-main { margin-left: 260px; min-height: 100vh; min-height: 100dvh; gap: 0; display: flex; flex-direction: column; }
body.kit .side-brand { height: 60px; margin: 0 -14px 18px; padding: 0 10px 0 24px; background: #fff; border-bottom: 1px solid var(--line); }
body.kit .side-brand img { width: 32px; height: 32px; border-radius: 8px; }
body.kit .side-brand__name { font: 700 18px/1.1 var(--font-body); text-transform: none; color: var(--ink); }

/* пункты меню */
body.kit .side-link { height: 48px; padding: 0 16px; gap: 14px; margin: 0 0 6px; border-radius: 12px; font: 400 16px/1.2 var(--font-body);
  color: var(--ink); white-space: nowrap; }
body.kit .side-link .ic { color: var(--muted); }
body.kit .side-link:hover { background: #EEF3F7; color: var(--ink); }
body.kit .side-link.on { background: var(--accent-soft); color: var(--accent); font-weight: 600; box-shadow: inset 0 0 0 2px var(--accent); }
body.kit .side-link.on .ic { color: var(--accent); }
body.kit .side-link.kit-new { background: var(--grad); color: #fff; font-weight: 500; box-shadow: 0 4px 12px rgba(20, 96, 219, .25); margin-top: 4px; }
body.kit .side-link.kit-new .ic { color: #fff; }
body.kit .side-link.kit-new:hover { background: var(--btn-hover); filter: none; }
body.kit .side-link.kit-new.on { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--accent); }
body.kit .side-sep { margin: 14px 4px; background: var(--line); }
body.kit .side-link.soon, body.kit .side-link.soon:hover { color: #334155; background: transparent; white-space: normal; gap: 10px; }
body.kit .side-link.soon .ic { color: #0E7490; }
body.kit .soon-tag { background: #EEF2F6; color: #334155; font-size: 12px; }
body.kit .side-help { background: #fff; color: var(--ink); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
body.kit .side-help::after { display: none; }
body.kit .side-help p { color: var(--muted); opacity: 1; font-size: 14px; }
body.kit .side-help a { background: var(--grad); color: #fff; }

/* строка сверху — белая, закреплена */
body.kit .topbar { position: sticky; top: 0; z-index: 30; min-height: 60px; padding: 0 24px; background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line); }
body.kit .top-search { background: var(--bg); border: 1px solid var(--line); border-radius: 10px; }
body.kit .top-search input { height: 40px; }
body.kit .qmini, body.kit .top-right a.balance { background: var(--bg); border: 1px solid var(--line); color: var(--ink); }
body.kit .top-right a.balance svg { color: var(--accent); }
body.kit .avatar { background: #fff; color: var(--muted); border: 1px solid var(--line); width: 36px; height: 36px; font-size: 15px; }
body.kit .who { color: var(--muted); }

/* рабочее поле */
body.kit .content { padding: 28px 32px 40px; max-width: 1240px; width: 100%; flex: 1; }
body.kit .page-head { font: 700 30px/1.2 var(--font-body); letter-spacing: -.01em; color: var(--ink); text-transform: none; }
body.kit .card, body.kit .panel { border-color: var(--line); box-shadow: var(--shadow); }
body.kit .alert.ok { background: var(--ok-bg); color: var(--ok-text); }
body.kit .alert.err { background: var(--err-bg); color: var(--err-text); }

/* подвал витрины */
.kit-foot { border-top: 1px solid var(--line); background: #fff; padding: 24px 32px; display: flex; align-items: center;
  justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 14px; color: var(--muted); }
.kit-foot__brand { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--ink); text-decoration: none; }
.kit-foot__brand img { width: 24px; height: 24px; border-radius: 6px; }
.kit-foot nav { display: flex; gap: 18px; flex-wrap: wrap; }
body.kit .kit-foot a { color: var(--muted); }
body.kit .kit-foot a:hover { color: var(--accent); }
.kit-foot p { margin: 0; }

/* вход — одна карточка по центру (макет витрина_вход.html) */
body.kit.auth-page { background: #F9FAFB; }
body.kit .kit-auth { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body.kit .kit-auth__wrap { flex: 1; display: flex; align-items: center; justify-content: center; padding: 32px 16px; }
body.kit .kit-auth__card { width: 100%; max-width: 440px; background: #fff; border: 1px solid var(--line); border-radius: 16px;
  box-shadow: var(--shadow); padding: 36px 32px; }
body.kit .kit-auth__logo { display: block; width: 56px; height: 56px; border-radius: 12px; margin: 0 auto 18px; }
body.kit .kit-auth .auth__h1 { font: 700 26px/1.2 var(--font-body); text-align: center; text-transform: none; color: var(--ink); margin: 0 0 6px; }
body.kit .kit-auth .auth__lead { text-align: center; color: var(--muted); margin: 0 0 22px; }
body.kit .kit-auth .auth__eyebrow, body.kit .kit-auth .auth__tabs, body.kit .kit-auth .auth__guest,
body.kit .kit-auth .auth__or { display: none; }
body.kit .kit-auth .auth__btn { width: 100%; height: 48px; justify-content: center; }
body.kit .kit-auth .auth__note { color: var(--muted); font-size: 14px; }
body.kit .kit-auth .auth__legal { text-align: center; color: var(--muted); font-size: 14px; margin: 18px 0 0; }
body.kit .kit-auth .kit-foot { justify-content: center; }

/* телефон и планшет: меню — панель слева */
@media (max-width: 900px) {
  body.kit .shell-main { margin-left: 0; }
  body.kit .side { transform: translateX(-100%); transition: transform .2s; width: 280px; background: #fff; box-shadow: 4px 0 24px rgba(17, 21, 29, .12); z-index: 50; }
  body.kit.drawer .side { transform: none; }
  body.kit .side-toggle, body.kit .topbar__logo { display: inline-grid; }
  body.kit .topbar { padding: 0 12px; }
  body.kit .content { padding: 22px 16px 32px; }
  body.kit .page-head { font-size: 26px; }
  .kit-foot { padding: 20px 16px; flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  body.kit .kit-auth__card { padding: 28px 20px; }
}

/* ===================== Страницы витрины (этап 2, 15.10.2026): главная, «Налогоплательщики», «Документы»,
   «Новый отчёт», «Отчёты», вход по паролю. Макеты — data/шаблоны/ndflkit_v1/витрина_*.html (минимализм, контраст v1).
   Классы k-* — только в шаблонах kit_*.html и _kit.html; .kp — рабочее поле такой страницы. */
body.kit .kp { --muted-2: #334155; --ok: #15704B; --warn: #9A5B00; --bad: #B42318; --teal-bg: #E0F4F7; --chip: #EEF2F6;
  font-size: 16px; line-height: 1.45; color: var(--ink); }
body.kit .kp h1, body.kit .kp h2, body.kit .kp h3 { font-family: var(--font-body); text-transform: none; letter-spacing: -.005em; color: #0F2A44; margin: 0; }
body.kit .kp h1 { font-size: 26px; font-weight: 700; }
body.kit .kp h2 { font-size: 18px; font-weight: 600; }
body.kit .kp h3 { font-size: 16px; font-weight: 600; }
body.kit .kp :where(label) { display: inline; font-weight: inherit; font-size: inherit; margin: 0; }
body.kit .kp a { text-decoration: none; }
body.kit .kp .mono { font-family: var(--font-mono, 'JetBrains Mono', ui-monospace, monospace); letter-spacing: .02em; }
body.kit .k-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body.kit .k-i { width: 20px; height: 20px; flex: none; }
body.kit .kp .btn { height: 40px; padding: 0 18px; border-radius: 8px; font: 500 15px/1 var(--font-body); gap: 8px; box-shadow: none;
  white-space: nowrap; border: 0; cursor: pointer; transform: none; }
body.kit .kp .btn .k-i { width: 17px; height: 17px; }
body.kit .kp .btn:hover { filter: brightness(1.06); transform: none; box-shadow: none; color: #fff; }
body.kit .kp .btn.k-sec, body.kit .k-sec-acts .btn.ghost { background: #fff; color: var(--accent); border: 1px solid #5C86C7; }
body.kit .kp .btn.k-sec:hover { background: var(--accent-soft); filter: none; color: var(--accent); }
body.kit .kp .btn.k-ghost { background: none; color: var(--accent); height: 34px; padding: 0 10px; font-size: 15px; }
body.kit .kp .btn.k-ghost:hover { background: var(--accent-soft); color: var(--accent); }
body.kit .kp .btn.k-danger { background: var(--bad); color: #fff; }
body.kit .k-link { all: unset; cursor: pointer; color: var(--accent); font-size: 15px; font-weight: 500; white-space: nowrap; }
body.kit .k-link:hover { text-decoration: underline; }
body.kit .k-link:focus-visible { outline: 3px solid rgba(20, 96, 219, .4); outline-offset: 2px; border-radius: 4px; }
body.kit .kp .k-inp { height: 42px; border: 1px solid #7B8A9E; border-radius: 10px; padding: 0 14px; font: 16px var(--font-body); color: var(--ink);
  background: #fff; width: 100%; margin: 0; box-shadow: none; }
body.kit .kp .k-inp:focus { outline: 2px solid rgba(20, 96, 219, .35); border-color: var(--accent); }
body.kit .k-card { display: block; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
body.kit .k-empty { margin: 0; padding: 14px; border-radius: 10px; background: #F8FAFC; color: var(--muted); font-size: 15px; border: 1px dashed #B8C4D2; }
body.kit .k-empty a { color: var(--accent); font-weight: 500; }
body.kit .k-hint { margin: 10px 0 0; font-size: 15px; color: var(--muted); }

/* заголовок страницы */
body.kit .k-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
body.kit .k-head__l { display: flex; align-items: center; gap: 12px; }
body.kit .k-sub { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
body.kit .k-back { width: 40px; height: 40px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; color: var(--ink); flex: none; }
body.kit .k-back:hover { background: var(--accent-soft); }
body.kit .k-back .k-i { transform: rotate(180deg); }

/* значки в цветных квадратах (насыщенный значок, светлый фон) */
body.kit .k-ico { width: 40px; height: 40px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; flex: none; }
body.kit .k-ico.b { background: #EAF1FE; color: #1460DB; }
body.kit .k-ico.t { background: #E0F4F7; color: #0E7490; }
body.kit .k-ico.o { background: #FDF0DC; color: #9A5B00; }
body.kit .k-ico.g { background: #E3F4EC; color: #15704B; }

/* статусы */
body.kit .k-badge { display: inline-block; font-size: 13px; font-weight: 500; border-radius: 999px; padding: 2px 9px; white-space: nowrap; }
body.kit .k-badge.ready { background: #E3F4EC; color: #15704B; }
body.kit .k-badge.work { background: #EAF1FE; color: #1460DB; }
body.kit .k-badge.att { background: #FDF0DC; color: #9A5B00; }
body.kit .k-badge.bad { background: #FCE8E6; color: #B42318; }
body.kit .k-badge.draft { background: #EEF2F6; color: #334155; }
body.kit .kp .plus { color: #15704B; font-weight: 600; }
body.kit .kp .minus { color: var(--ink); font-weight: 600; }

/* главная: «3 шага» */
body.kit .k-onb { padding: 20px 22px; margin-bottom: 20px; }
body.kit .k-onb[hidden] { display: none; }
body.kit .k-onb__h { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
body.kit .k-onb__h h2 { font-size: 17px; }
body.kit .k-onb__h p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
body.kit .k-s3 { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
body.kit .k-s3 li { display: flex; gap: 12px; align-items: flex-start; }
body.kit .k-no { width: 26px; height: 26px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 14px; background: #EEF3F7; color: var(--muted-2); }
body.kit .k-s3 li.done .k-no { background: #15704B; color: #fff; }
body.kit .k-s3 li.cur .k-no { background: var(--grad); color: #fff; }
body.kit .k-s3 li.cur strong { color: var(--accent); }
body.kit .k-s3 strong { display: block; font-size: 15px; }
body.kit .k-s3 div > span { display: block; font-size: 14px; color: var(--muted); margin-top: 2px; }
body.kit .k-s3 a { display: inline-block; margin-top: 6px; font-size: 14px; font-weight: 500; color: var(--accent); }

/* выбор налогоплательщика */
body.kit .k-who { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
body.kit .k-who__lbl { font-size: 15px; color: var(--muted); }
body.kit .kp .k-who select.k-inp { width: auto; min-width: 320px; max-width: 100%; font-weight: 500; }

/* окна загрузки (2 × 2) */
body.kit .k-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
body.kit .k-upl-f { margin: 0; min-width: 0; }
body.kit .k-stat { display: flex; align-items: center; gap: 16px; padding: 20px 22px; height: 100%; }
body.kit .k-upl { cursor: pointer; position: relative; transition: border-color .15s, background .15s; }
body.kit .k-upl:hover, body.kit .k-upl.over, body.kit .k-upl:focus-within { border-color: var(--accent); border-style: dashed; }
body.kit .k-upl:focus-within { outline: 2px solid rgba(20, 96, 219, .35); outline-offset: 2px; }
body.kit .k-upl.over { background: var(--accent-soft); }
body.kit .k-upl.busy { opacity: .75; cursor: progress; }
body.kit .k-file { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
body.kit .k-stat__b { flex: 1; min-width: 0; display: flex; flex-direction: column; }
body.kit .k-stat__t { font-size: 15px; color: var(--muted); }
body.kit .k-stat__d { font-size: 13px; line-height: 1.4; color: var(--muted); }
body.kit .k-stat__n { font-size: 26px; font-weight: 700; line-height: 1.15; margin-top: 2px; color: var(--ink); }
body.kit .k-stat__y { font-size: 14px; color: var(--muted); }
body.kit .k-add { margin-top: 6px; font-size: 15px; color: var(--accent); font-weight: 500; display: flex; align-items: center; gap: 6px; }
body.kit .k-add .k-i { width: 15px; height: 15px; }
body.kit .k-upl-go { margin-top: 8px; }
body.kit .k-after { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 16px 20px;
  border-radius: 12px; border: 1px solid var(--line); background: #fff; }
body.kit .k-after p { margin: 0; font-size: 15px; color: var(--muted); }
body.kit .k-after b { color: var(--ink); }

/* графики */
body.kit .k-row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
body.kit .k-ch { padding: 22px 24px 18px; min-width: 0; }
body.kit .k-ch__h { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
body.kit .k-ch__sub { margin: 4px 0 10px; font-size: 14px; color: var(--muted); }
body.kit .k-ch__note { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
body.kit .k-ch .k-empty { margin-top: 14px; }
body.kit .k-yrsw { display: inline-flex; background: #EEF2F6; border-radius: 999px; padding: 3px; }
body.kit .k-yrsw a { font-size: 14px; color: var(--muted-2); padding: 4px 11px; border-radius: 999px; }
body.kit .k-yrsw a.on { background: #fff; color: #1460DB; font-weight: 600; box-shadow: var(--shadow); }
body.kit .kp .k1 { background: #1A6EF4; stroke: #1A6EF4; } body.kit .kp .k2 { background: #0891B2; stroke: #0891B2; }
body.kit .kp .k3 { background: #74CE9E; stroke: #74CE9E; }   /* зелёный графиков — по айдентике (17.10.2026) */ body.kit .kp .k4 { background: #8DB8FA; stroke: #8DB8FA; }
body.kit .kp .k5 { background: #C4CAD3; stroke: #C4CAD3; }
body.kit .k1f { fill: #1A6EF4; } body.kit .k2f { fill: #0891B2; }
body.kit .k-legend { display: flex; gap: 16px; flex-wrap: wrap; font-size: 14px; color: var(--muted); margin: 6px 0 10px; }
body.kit .k-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
body.kit .k-chart { width: 100%; height: auto; display: block; }
body.kit .k-chart text { font: 12px var(--font-body); fill: #475569; }
body.kit .k-chart .yl text { font-weight: 600; fill: #11151D; }
body.kit .k-chart .tx-ok { fill: #146B4D; font-weight: 600; }
@media (max-width: 640px) {
  body.kit .k-chart text { font-size: 16px; }
  body.kit .k-chart .yl text { font-size: 18px; }
}
body.kit .k-chart .tx-pay { fill: #B45309; font-weight: 600; }
body.kit .k-donut { display: flex; align-items: center; gap: 22px; }
body.kit .k-dn { width: 190px; height: 190px; flex: none; }
body.kit .k-dn__t { font: 600 17px var(--font-body); fill: #11151D; }
body.kit .k-dn__s { font: 12px var(--font-body); fill: #475569; }
body.kit .k-dleg { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; display: grid; gap: 9px; }
body.kit .k-dleg li { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto 44px; align-items: center; gap: 8px; font-size: 14px; }
body.kit .k-dleg i { width: 10px; height: 10px; border-radius: 3px; }
body.kit .k-dleg .v { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.kit .k-dleg .p { color: var(--muted); text-align: right; }

/* последние отчёты */
body.kit .k-list { margin-top: 16px; padding: 22px 24px; }
body.kit .k-list__h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
body.kit .k-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--line);
  border-radius: 10px; margin-bottom: 8px; color: var(--ink); }
body.kit .k-item:hover { background: #F8FAFC; color: var(--ink); }
body.kit .k-item__l { display: flex; align-items: center; gap: 12px; min-width: 0; }
body.kit .k-item__l > .k-i { color: var(--muted); }
body.kit .k-item__l > span { min-width: 0; display: flex; flex-direction: column; }
body.kit .k-item .t { font-weight: 500; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.kit .k-item .m { font-size: 14px; color: var(--muted); }
body.kit .k-item__r { display: flex; align-items: center; gap: 14px; flex: none; }
body.kit .k-sum { font-weight: 500; font-size: 14px; }
body.kit .k-sum.plus { color: #15704B; }

/* окна (dialog) */
body.kit .k-dlg { border: 0; padding: 0; border-radius: 16px; max-width: 560px; width: calc(100% - 32px); box-shadow: 0 20px 50px rgba(15, 30, 45, .25); color: var(--ink); }
body.kit .k-dlg::backdrop { background: rgba(15, 30, 45, .4); }
body.kit .k-dlg[open]:not(:modal) { position: fixed; inset: 0; margin: auto; z-index: 60; max-height: calc(100vh - 32px); overflow: auto; }
body.kit .k-dlg__box { padding: 26px; margin: 0; }
body.kit .k-dlg h3 { margin: 0 0 4px; font: 600 20px var(--font-body); color: #0F2A44; text-transform: none; }
body.kit .k-note { margin: 0 0 18px; color: var(--muted); font-size: 15px; }
body.kit .k-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; border: 0; padding: 0; margin: 0; }
body.kit .k-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
body.kit .k-f.wide { grid-column: 1 / -1; }
body.kit .kp .k-f label, body.kit .k-dlg .k-f label, body.kit .k-f legend { display: block; font-size: 15px; font-weight: 500; margin: 0; padding: 0; color: var(--ink); }
body.kit .k-f small { font-size: 14px; color: var(--muted); }
body.kit .k-dlg .k-inp { height: 42px; border: 1px solid #7B8A9E; border-radius: 10px; padding: 0 14px; font: 16px var(--font-body); width: 100%; margin: 0; }
body.kit .k-skip { grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 10px; background: #E0F4F7; font-size: 14px; }
body.kit .k-skip .k-i { color: #0E7490; }
body.kit .k-consent { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 8px; padding: 10px 0 0; margin: 0; border: 0; border-top: 1px solid var(--line); }
body.kit .k-dlg .k-consent label { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; font-weight: 400; cursor: pointer; margin: 0; }
body.kit .k-consent input { margin-top: 3px; accent-color: #1460DB; width: 16px; height: 16px; flex: none; }
body.kit .k-ok-c { color: #15704B; font-size: 14px; }
body.kit .k-acts { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
body.kit .k-dlg .btn { height: 40px; padding: 0 18px; border-radius: 8px; font: 500 15px/1 var(--font-body); box-shadow: none; border: 0; cursor: pointer; }
body.kit .k-dlg .btn.k-sec { background: #fff; color: var(--accent); border: 1px solid #5C86C7; }

/* «Налогоплательщики» */
body.kit .k-vtabs { display: inline-flex; padding: 4px; border-radius: 12px; background: #EEF2F6; gap: 4px; margin-bottom: 18px; }
body.kit .k-vtabs a { padding: 9px 18px; border-radius: 9px; font-size: 15px; color: var(--muted-2); }
body.kit .k-vtabs a.sel { background: #fff; color: var(--ink); font-weight: 500; box-shadow: 0 1px 3px rgba(17, 21, 29, .15); }
body.kit .k-search { position: relative; max-width: 420px; margin: 0 0 18px; display: block; }
body.kit .k-search .k-i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; color: var(--muted); }
body.kit .kp .k-search .k-inp { padding-left: 38px; }
body.kit .k-person { padding: 22px 24px; margin-bottom: 18px; }
body.kit .k-p-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
body.kit .k-av { width: 40px; height: 40px; border-radius: 50%; background: #EAF1FE; color: #1460DB; display: flex; align-items: center;
  justify-content: center; font-weight: 700; font-size: 14px; flex: none; }
body.kit .k-p-name { flex: 1; min-width: 200px; }
body.kit .k-p-name b { display: block; font-size: 18px; }
body.kit .k-p-name small { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
body.kit .k-p-name small .mono { color: var(--ink); }
body.kit .k-p-acts { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
body.kit .k-sec-t { font-size: 14px; font-weight: 600; color: var(--muted-2); margin: 18px 0 10px; display: flex; align-items: center; gap: 10px; }
body.kit .k-sec-t::after { content: ""; flex: 1; border-top: 1px solid var(--line); }
body.kit .k-chips { display: flex; gap: 10px; flex-wrap: wrap; }
body.kit .k-dchip { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; min-width: 0; color: var(--ink); }
body.kit .k-dchip:hover { border-color: var(--accent); color: var(--ink); }
body.kit .k-dchip .k-ico { width: 30px; height: 30px; }
body.kit .k-dchip .k-ico .k-i { width: 16px; height: 16px; }
body.kit .k-dchip b { font-size: 18px; margin-left: 2px; }
body.kit .k-dchip span { font-size: 14px; }
body.kit .k-dchip small { display: block; font-size: 13px; color: var(--muted); }
body.kit .k-dchip.zero { background: #F1F5F9; border-style: dashed; }
body.kit .k-dchip.zero b, body.kit .k-dchip.zero span { color: #475569; }
body.kit .k-dchip.load { border-style: dashed; color: var(--accent); font-weight: 500; font-size: 14px; }
body.kit .k-dchip.load:hover { background: var(--accent-soft); }
body.kit .k-decls { display: flex; flex-direction: column; gap: 8px; }
body.kit .k-drow { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; gap: 16px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; }
body.kit .k-drow:hover { background: #F8FAFC; }
body.kit .k-drow .t { font-weight: 500; font-size: 15px; color: var(--ink); }
body.kit .k-drow .t small { display: block; font-weight: 400; font-size: 14px; color: var(--muted); }
body.kit .k-amt { font-weight: 600; font-size: 14px; white-space: nowrap; text-align: right; min-width: 90px; }
body.kit .k-icon-btn { all: unset; box-sizing: border-box; width: 36px; height: 36px; border-radius: 9px; display: inline-flex; align-items: center;
  justify-content: center; color: var(--accent); border: 1px solid var(--line); background: #fff; cursor: pointer; position: relative; }
body.kit .k-icon-btn:hover { background: var(--accent-soft); }
body.kit .k-icon-btn:focus-visible, body.kit .k-icon-btn:focus-within { outline: 2px solid rgba(20, 96, 219, .45); outline-offset: 1px; }
body.kit .k-icon-btn .k-i { width: 18px; height: 18px; }
body.kit .k-icon-btn.off { color: #94A3B8; background: #F1F5F9; }
body.kit .k-icon-btn.del { color: var(--bad); }
body.kit .k-filters { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
body.kit .k-filters .k-search { margin: 0; flex: 1; min-width: 220px; max-width: 380px; }
body.kit .kp .k-filters select.k-inp { width: auto; min-width: 170px; }
body.kit .k-ready { padding: 20px 22px; margin-bottom: 16px; }
body.kit .k-r-top { display: flex; gap: 14px; align-items: flex-start; flex-wrap: wrap; }
body.kit .k-r-name { flex: 1; min-width: 200px; }
body.kit .k-r-name b { display: block; font-size: 17px; }
body.kit .k-r-name small { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
body.kit .k-r-sum { text-align: right; }
body.kit .k-r-sum small { display: block; font-size: 13px; color: var(--muted); }
body.kit .k-r-sum b { font-size: 20px; }
body.kit .k-files { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 16px; }
body.kit .k-fl { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); }
body.kit .k-fl:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--ink); }
body.kit .k-fl > span:not(.k-ext) { flex: 1; min-width: 0; }
body.kit .k-fl b { display: block; font-size: 14px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.kit .k-fl small { font-size: 13px; color: var(--muted); }
body.kit .k-fl .k-i { color: var(--accent); width: 18px; height: 18px; }
body.kit .k-ext { width: 40px; height: 40px; border-radius: 9px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px;
  font-weight: 700; background: #EEF2F6; color: #334155; flex: none; }
body.kit .k-r-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; font-size: 14px; color: var(--muted); flex-wrap: wrap; }
body.kit .k-keep::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #15704B; margin-right: 6px; }

/* «Документы» */
body.kit .k-who2 { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px 20px; margin-bottom: 18px; }
body.kit .k-who2__nm { flex: 1; min-width: 200px; }
body.kit .k-who2__nm b { display: block; font-size: 17px; }
body.kit .k-who2__nm small { display: block; color: var(--muted); font-size: 14px; }
body.kit .k-who2__f { display: flex; gap: 8px; margin: 0; }
body.kit .kp .k-who2 select.k-inp { width: auto; min-width: 240px; }
body.kit .k-blk { padding: 0; margin-bottom: 16px; overflow: hidden; scroll-margin-top: 80px; }
body.kit .k-blk__h { display: flex; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
body.kit .k-blk__h .k-ico { width: 34px; height: 34px; }
body.kit .k-blk__h .k-ico .k-i { width: 17px; height: 17px; }
body.kit .k-blk__h h2 { flex: 1; font-size: 17px; }
body.kit .k-blk__tt { flex: 1; min-width: 0; display: grid; gap: 3px; }
body.kit .k-blk__d { margin: 0; color: var(--muted); font-size: 13.5px; line-height: 1.45; }
body.kit .k-blk__h h2 i { font-style: normal; font-size: 14px; font-weight: 500; color: var(--muted-2); background: #EEF2F6; border-radius: 999px; padding: 2px 9px; margin-left: 6px; vertical-align: 2px; }
body.kit .k-blk__up { margin: 0; display: flex; gap: 8px; }
body.kit .kp .k-blk__up .btn { height: 38px; font-size: 14px; padding: 0 14px; position: relative; }
body.kit .k-blk__list { display: none; }
body.kit .k-fr { display: grid; grid-template-columns: 22px 40px minmax(0, 1fr) auto auto; gap: 14px; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--line); }
body.kit .k-fr:hover { background: #F8FAFC; }
body.kit .k-fr input[type=checkbox] { width: 17px; height: 17px; accent-color: #1460DB; margin: 0; }
body.kit .k-fr__nm { min-width: 0; }
body.kit .k-fr__nm a { color: var(--ink); }
body.kit .k-fr__nm a:hover b { color: var(--accent); }
body.kit .k-fr__nm b { display: block; font-size: 15px; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.kit .k-fr__nm small { display: block; font-size: 14px; color: var(--muted); }
body.kit .k-fr__acts { display: flex; gap: 6px; }
body.kit .k-fr__acts form { margin: 0; }
body.kit .k-st { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
body.kit .k-st i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; display: inline-block; }
body.kit .k-st.ok { background: #E3F4EC; color: #15704B; }
body.kit .k-st.wr, body.kit .k-st.dup { background: #FDF0DC; color: #9A5B00; }
body.kit .k-st.none { background: #FCE8E6; color: #B42318; }
body.kit .k-dupbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 20px; background: #FDF0DC; font-size: 14px; border-bottom: 1px solid var(--line); }
body.kit .k-dupbar form { margin: 0; }
body.kit .kp .k-dupbar .btn { height: 36px; }
body.kit .k-blk__f { display: none; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; background: var(--accent-soft); font-size: 15px; }
body.kit .k-blk.has-sel .k-blk__f { display: flex; }
body.kit .k-dz-f { margin: 0; }
body.kit .k-dz { display: block; position: relative; margin: 14px 20px 18px; border: 2px dashed #7FA3D6; border-radius: 12px; padding: 20px; text-align: center;
  color: var(--muted); font-size: 15px; cursor: pointer; }
body.kit .k-dz:hover, body.kit .k-dz.over, body.kit .k-dz:focus-within { background: var(--accent-soft); border-color: var(--accent); color: var(--accent); }
body.kit .k-dz b { color: var(--accent); }

/* «Новый отчёт» */
body.kit .k-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 22px; padding: 0; }
body.kit .k-steps li > a, body.kit .k-steps li { display: block; color: inherit; }
body.kit .k-bar { display: block; height: 4px; border-radius: 999px; background: #D5DDE6; }
body.kit .k-steps .on .k-bar { background: var(--grad); }
body.kit .k-lbl { display: block; font-size: 14px; color: var(--muted); margin-top: 8px; }
body.kit .k-steps .on .k-lbl { color: var(--ink); font-weight: 600; }
body.kit .k-box { padding: 26px 28px; }
body.kit .k-box h2 { margin-bottom: 4px; }
body.kit .k-box > .k-note { margin: 0 0 20px; }
body.kit .k-kinds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
body.kit .kp .k-kind { position: relative; display: flex; gap: 16px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; background: #fff; }
body.kit .k-kind > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.kit .k-kind:hover { border-color: rgba(20, 96, 219, .5); }
body.kit .kp .k-kind:has(input:checked) { border: 2px solid #1460DB; padding: 15px; }
body.kit .kp .k-kind:has(input:focus-visible) { outline: 2px solid rgba(20, 96, 219, .45); outline-offset: 2px; }
body.kit .k-kind:has(input:checked)::after { content: ""; position: absolute; top: 14px; right: 14px; width: 18px; height: 18px; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat, var(--grad); }
body.kit .k-kind b { display: block; font-size: 16px; margin-bottom: 4px; padding-right: 24px; }
body.kit .k-kind > span:last-child > span { display: block; font-size: 14px; color: var(--muted); }
body.kit .kp .k-kind .k-price { display: inline-block; margin-top: 10px; font-size: 14px; font-weight: 600; color: var(--accent); }
body.kit .k-kind.soon { cursor: default; background: #F8FAFC; }
body.kit .k-kind.soon b { color: #334155; }
body.kit .kp .k-kind.soon .k-price { color: #334155; }
body.kit .k-nav-steps { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
body.kit .k-yrs { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 6px; }
/* .k-f .k-yr — сильнее общего «.kp .k-f label» (display:block; padding:0), иначе год и подпись слипаются */
body.kit .kp .k-f .k-yr { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 10px 16px; border-radius: 12px;
  border: 1px solid var(--line); background: #fff; cursor: pointer; min-width: 140px; font-weight: 400; line-height: 1.25; }
body.kit .kp .k-f .k-yr:has(input:checked) { border: 2px solid #1460DB; padding: 9px 15px; }
body.kit .k-yr > input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.kit .k-yr b { font-size: 18px; }
body.kit .k-yr small { font-size: 13px; color: var(--muted); }
body.kit .kp .k-yr:has(input:checked) { border: 2px solid #1460DB; padding: 9px 15px; }
body.kit .kp .k-yr:has(input:focus-visible) { outline: 2px solid rgba(20, 96, 219, .45); outline-offset: 2px; }
body.kit .kp .k-f .k-yr.none { background: #F1F5F9; border-style: dashed; cursor: default; }
body.kit .k-yr.none b, body.kit .k-yr.none small { color: #475569; }
body.kit .k-inc { display: flex; flex-direction: column; gap: 8px; }
body.kit .kp .k-ck { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
body.kit .k-ck:hover { border-color: rgba(20, 96, 219, .5); }
body.kit .k-ck input { width: 18px; height: 18px; accent-color: #1460DB; flex: none; margin: 0; }
body.kit .k-ck:has(input:not(:checked)) { background: #F1F5F9; border-style: dashed; }
body.kit .k-ck .k-ico { width: 34px; height: 34px; }
body.kit .k-ck .k-ico .k-i { width: 17px; height: 17px; }
body.kit .k-ck__tx { flex: 1; min-width: 0; }
body.kit .k-ck__tx b { display: block; font-size: 15px; font-weight: 500; overflow-wrap: anywhere; }
body.kit .k-ck__tx small { display: block; font-size: 14px; color: var(--muted); }
body.kit .k-tag2 { font-size: 13px; border-radius: 999px; padding: 3px 10px; background: #EAF1FE; color: #1460DB; white-space: nowrap; }
body.kit .k-opts { margin-top: 22px; padding: 18px 20px; border-radius: 14px; background: #F8FAFC; border: 1px solid var(--line); }
body.kit .k-opts > .k-note { margin: 2px 0 14px; }
body.kit .k-opts .cm-box { margin: 0 0 12px; }
body.kit .kp .k-apps { display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; font-size: 15px; cursor: pointer; }
body.kit .k-apps input { width: 18px; height: 18px; accent-color: #1460DB; flex: none; margin: 2px 0 0; }
body.kit .k-add-decl { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 14px; padding: 12px 14px;
  border: 1px dashed #7FA3D6; border-radius: 12px; font-size: 15px; }
body.kit .k-add-decl a { color: var(--accent); font-weight: 500; white-space: nowrap; }
body.kit .k-pre { margin: 16px 0 0; font-size: 15px; color: var(--muted); }
body.kit .k-pre b { color: #15704B; }

/* «Отчёты» */
body.kit .k-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 14px; }
body.kit .k-tab { height: 34px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line); background: #fff; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink); }
body.kit .k-tab:hover { border-color: var(--accent); color: var(--ink); }
body.kit .k-tab i { font-style: normal; font-size: 13px; color: #334155; background: #EEF2F6; border-radius: 999px; padding: 1px 7px; }
body.kit .k-tab.sel { background: var(--accent-soft); color: #1460DB; border: 2px solid #1460DB; font-weight: 500; padding: 0 13px; }
body.kit .k-tab.sel i { background: #fff; color: #1460DB; }
body.kit .k-tbl-card { overflow: visible; }
body.kit .k-tbl { width: 100%; border-collapse: collapse; font-size: 15px; }
body.kit .kp .k-tbl th { text-align: left; font: 600 14px var(--font-body); text-transform: none; letter-spacing: 0; color: #334155; padding: 12px 14px;
  border-bottom: 1px solid var(--line); white-space: nowrap; background: #F8FAFC; }
body.kit .k-tbl th:first-child { border-top-left-radius: 12px; } body.kit .k-tbl th:last-child { border-top-right-radius: 12px; }
body.kit .k-tbl td { padding: 14px; border-bottom: 1px solid var(--line); vertical-align: middle; }
body.kit .k-tbl tbody tr:hover td { background: #F8FAFC; }
body.kit .k-tbl tbody tr:last-child td { border-bottom: 0; }
body.kit .k-tbl .r { text-align: right; white-space: nowrap; }
body.kit .k-tbl .muted { color: var(--muted); white-space: nowrap; }
body.kit .k-ttl { display: flex; align-items: center; gap: 10px; font-weight: 500; color: var(--ink); }
body.kit .k-ttl:hover { color: var(--accent); }
body.kit .k-ttl .k-ico { width: 32px; height: 32px; }
body.kit .k-ttl .k-ico .k-i { width: 17px; height: 17px; }
body.kit .k-ttl small { display: block; font-weight: 400; color: var(--muted); font-size: 14px; }
body.kit .k-more { position: relative; }
body.kit .k-more > summary { list-style: none; width: 34px; height: 34px; border-radius: 8px; cursor: pointer; color: #475569; display: inline-flex; align-items: center; justify-content: center; }
body.kit .k-more > summary::-webkit-details-marker { display: none; }
body.kit .k-more > summary:hover, body.kit .k-more[open] > summary { background: var(--accent-soft); color: var(--accent); }
body.kit .k-menu { position: absolute; right: 0; top: 38px; z-index: 20; min-width: 250px; background: #fff; border: 1px solid var(--line); border-radius: 10px;
  box-shadow: 0 10px 30px rgba(17, 21, 29, .14); padding: 6px; }
body.kit .k-menu a, body.kit .k-menu button { all: unset; box-sizing: border-box; width: 100%; display: flex; align-items: center; gap: 10px; padding: 9px 10px;
  border-radius: 7px; font-size: 15px; color: var(--ink); cursor: pointer; }
body.kit .k-menu a:hover, body.kit .k-menu button:hover, body.kit .k-menu a:focus-visible, body.kit .k-menu button:focus-visible { background: var(--accent-soft); }
body.kit .k-menu .k-i { width: 17px; height: 17px; color: #475569; }
body.kit .k-menu hr { border: 0; border-top: 1px solid var(--line); margin: 5px 0; }
body.kit .k-menu form { margin: 0; }
body.kit .k-menu .del, body.kit .k-menu .del .k-i { color: var(--bad); }
body.kit .k-pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border-top: 1px solid var(--line); font-size: 14px; color: var(--muted); }
body.kit .k-pg { display: flex; gap: 6px; }
body.kit .k-pg a { min-width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--line); display: inline-flex; align-items: center; justify-content: center; color: var(--ink); background: #fff; }
body.kit .k-pg a.on { background: var(--accent-soft); color: #1460DB; border: 2px solid #1460DB; font-weight: 600; }
body.kit .k-tbl-card > .k-empty { margin: 16px; }

/* вход: пароль */
body.kit .k-pwbox { position: relative; display: block; }
body.kit .k-pwbox input { padding-right: 48px; width: 100%; }
body.kit .k-eye { all: unset; cursor: pointer; position: absolute; right: 12px; top: 50%; transform: translateY(-50%); color: var(--muted); display: flex; }
body.kit .k-eye:hover, body.kit .k-eye:focus-visible { color: var(--accent); }
body.kit .k-rules { list-style: none; margin: 8px 0 4px; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; font-size: 14px; color: var(--muted); }
body.kit .k-rules li { display: flex; align-items: center; gap: 6px; }
body.kit .k-rules li::before { content: ""; width: 14px; height: 14px; border-radius: 50%; border: 1.5px solid #7B8A9E; flex: none; }
body.kit .k-rules li.ok { color: #15704B; }
body.kit .k-rules li.ok::before { border-color: #15704B; background: #15704B center/9px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
body.kit .k-pw-skip { margin: 16px 0 0; text-align: center; }
body.kit .k-pwlbl { display: flex !important; justify-content: space-between; align-items: baseline; gap: 10px; }
body.kit .k-pwlbl a { font-size: 14px; font-weight: 400; }
body.kit .k-or { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 14px; margin: 18px 0; text-transform: uppercase; letter-spacing: .04em; }
body.kit .k-or::before, body.kit .k-or::after { content: ""; flex: 1; border-top: 1px solid var(--line); }
body.kit .btn.k-wide { width: 100%; height: 48px; justify-content: center; }
body.kit .k-sec-acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
body.kit .k-sec-acts form { margin: 0; }

@media (max-width: 1100px) {
  body.kit .k-row2 { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  body.kit .k-s3 { grid-template-columns: 1fr; gap: 14px; }
  /* таблица отчётов — карточками */
  body.kit .k-tbl thead { display: none; }
  body.kit .k-tbl, body.kit .k-tbl tbody, body.kit .k-tbl tr, body.kit .k-tbl td { display: block; }
  body.kit .k-tbl tr { position: relative; padding: 14px 16px; border-bottom: 1px solid var(--line); }
  body.kit .k-tbl tbody tr:last-child { border-bottom: 0; }
  body.kit .k-tbl td { border: 0; padding: 3px 0; display: flex; justify-content: space-between; gap: 12px; text-align: right; }
  body.kit .k-tbl td::before { content: attr(data-l); color: var(--muted); font-size: 14px; text-align: left; }
  body.kit .k-tbl td.c-ttl { display: block; text-align: left; padding: 0 44px 6px 0; }
  body.kit .k-tbl td.c-ttl::before, body.kit .k-tbl td.c-more::before { content: none; }
  body.kit .k-tbl td.c-more { position: absolute; top: 10px; right: 10px; padding: 0; }
  body.kit .k-tbl tbody tr:hover td { background: none; }
}
@media (max-width: 640px) {
  body.kit .k-head { flex-direction: column; align-items: stretch; }
  body.kit .kp h1 { font-size: 24px; }
  body.kit .kp .btn { width: 100%; }
  body.kit .k-head__l { width: 100%; }
  body.kit .k-stats { grid-template-columns: 1fr; gap: 12px; }
  body.kit .k-stat { padding: 16px; }
  body.kit .k-onb { padding: 18px 16px; }
  body.kit .k-onb__h { flex-direction: column; gap: 8px; }
  body.kit .kp .k-who select.k-inp { min-width: 0; flex: 1 1 100%; }
  body.kit .k-who .btn { flex: 1 1 100%; }
  body.kit .k-after { flex-direction: column; align-items: stretch; }
  body.kit .k-item { flex-direction: column; align-items: flex-start; }
  body.kit .k-item__r { width: 100%; justify-content: space-between; }
  body.kit .k-list, body.kit .k-ch, body.kit .k-person, body.kit .k-ready { padding: 18px 16px; }
  body.kit .k-donut { flex-direction: column; align-items: stretch; }
  body.kit .k-dn { margin: 0 auto; width: 170px; height: 170px; }
  body.kit .k-form { grid-template-columns: 1fr; }
  body.kit .k-dlg__box { padding: 20px 16px; }
  body.kit .k-acts { flex-direction: column-reverse; }
  body.kit .k-dlg .btn { width: 100%; justify-content: center; }
  body.kit .k-skip { flex-wrap: wrap; }
  body.kit .k-vtabs { display: flex; }
  body.kit .k-vtabs a { flex: 1; text-align: center; }
  body.kit .k-p-acts .btn.k-sec { flex: 1 1 calc(50% - 5px); }
  body.kit .k-p-acts .btn:not(.k-sec) { flex: 1 1 100%; }
  body.kit .k-p-acts { width: 100%; }
  body.kit .k-drow { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  body.kit .k-drow .t { grid-column: 1 / -1; }
  body.kit .k-r-sum { text-align: left; width: 100%; }
  body.kit .k-files { grid-template-columns: 1fr; }
  body.kit .kp .k-filters select.k-inp { flex: 1; min-width: 0; }
  body.kit .k-filters .k-search { max-width: none; flex: 1 1 100%; }
  body.kit .k-who2__f, body.kit .kp .k-who2 select.k-inp { width: 100%; min-width: 0; }
  body.kit .k-blk__h { flex-wrap: wrap; padding: 14px 16px; }
  body.kit .k-blk__up { width: 100%; }
  body.kit .k-fr { grid-template-columns: 22px minmax(0, 1fr) auto; padding: 12px 16px; gap: 10px; }
  body.kit .k-fr .k-ext { display: none; }
  body.kit .k-fr .k-st { grid-column: 2; justify-self: start; }
  body.kit .k-fr__acts { grid-column: 3; grid-row: 1 / span 2; flex-direction: column; }
  body.kit .k-dupbar, body.kit .k-add-decl { flex-direction: column; align-items: stretch; }
  body.kit .k-dz { margin: 12px 16px 16px; }
  body.kit .k-blk__f { flex-direction: column; align-items: stretch; padding: 12px 16px; }
  body.kit .k-box { padding: 20px 16px; }
  body.kit .k-steps { gap: 6px; }
  body.kit .k-lbl { font-size: 13px; }
  body.kit .k-kinds { grid-template-columns: 1fr; }
  body.kit .k-nav-steps { flex-direction: column-reverse; }
  body.kit .kp .k-f .k-yr { flex: 1 1 calc(50% - 5px); min-width: 0; }
  body.kit .k-ck { flex-wrap: wrap; }
  body.kit .k-tag2 { margin-left: 32px; }
  body.kit .k-pager { flex-direction: column; align-items: flex-start; }
  body.kit .k-rules { grid-template-columns: 1fr; }
}
@media (max-width: 440px) {
  body.kit .k-dleg li { grid-template-columns: 12px minmax(0, 1fr) auto; }
  body.kit .k-dleg .n { grid-column: 2 / 4; } body.kit .k-dleg .v { grid-column: 2; } body.kit .k-dleg .p { grid-column: 3; }
  body.kit .k-dleg i { grid-row: 1; }
}

/* верхняя строка витрины (макет): только баланс и учётная запись, без поиска; на телефоне — одна строка */
body.kit .topbar { flex-wrap: nowrap; gap: 12px; }
body.kit .top-right { margin-left: auto; flex-wrap: nowrap; }
@media (max-width: 900px) {
  body.kit .topbar { min-height: 56px; padding: 0 12px; row-gap: 0; }
  body.kit .topbar__logo img { width: 32px; height: 32px; }
}
@media (max-width: 400px) {
  body.kit .who { display: none; }
}

/* баланс в шапке витрины — строкой, как в макете: «Баланс: 2 990 ₽ · 660 бонусных ₽» */
body.kit .kit-bal { font-size: 14px; color: var(--muted); padding: 6px 12px; border-radius: 999px; background: var(--bg);
  border: 1px solid var(--line); white-space: nowrap; text-decoration: none; }
body.kit .kit-bal b { color: var(--ink); font-weight: 600; }
body.kit .kit-bal:hover { border-color: var(--accent); }
@media (max-width: 900px) { body.kit .kit-bal { display: none; } }
body.kit .side-link .new-tag { margin-left: auto; font-size: 12px; font-weight: 600; color: #fff; background: #16A34A; border-radius: 999px;
  padding: 2px 8px; text-transform: uppercase; }
body.kit .side-link .side-txt { flex: 1; min-width: 0; }

/* «Новый отчёт», шаг 4 «Проверка и оплата» (инструкция ndflkit.ru, рис. 10) */
body.kit .k-check { margin-bottom: 16px; }
body.kit .k-free { display: inline-flex; align-items: center; font-size: 13px; font-weight: 600; color: #15704B; background: #E3F4EC;
  border-radius: 999px; padding: 3px 10px; margin-left: 8px; vertical-align: 2px; }
body.kit .k-sum4 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
body.kit .k-kpi { padding: 16px 18px; border: 1px solid var(--line); border-radius: 12px; }
body.kit .k-kpi small { display: block; font-size: 14px; color: var(--muted); }
body.kit .k-kpi b { display: block; font-size: 24px; margin-top: 4px; font-weight: 700; }
body.kit .k-kpi.good b { color: #15704B; }
body.kit .k-kpi.pay b { color: #B42318; }
body.kit .kp .k-tbl--plain th { background: none; border-radius: 0; padding: 10px 12px; }
body.kit .k-tbl--plain td { padding: 12px; }
body.kit .k-pay-t { font-size: 20px !important; margin: 26px 0 2px !important; }
body.kit .k-pay-s { margin: 0 0 14px; color: var(--muted); font-size: 15px; }
body.kit .k-pvar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
body.kit .k-pv { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: #fff; }
body.kit .k-pv.sel { border: 2px solid #1460DB; padding: 13px 15px; }
body.kit .k-pv b { display: block; font-size: 16px; }
body.kit .k-pv span { display: block; font-size: 14px; color: var(--muted); margin-top: 2px; }
body.kit .k-pv i { display: inline-block; font-style: normal; font-size: 14px; margin-top: 8px; padding: 2px 8px; border-radius: 6px;
  background: #EAF1FE; color: #1460DB; font-weight: 600; }
body.kit .k-limit { display: flex; flex-direction: column; gap: 2px; margin-bottom: 12px; padding: 12px 16px; border-radius: 12px;
  background: #FDF0DC; font-size: 14px; }
body.kit .k-limit b { color: #9A5B00; }
body.kit .k-sumbox { border: 1px solid var(--line); border-radius: 12px; background: #F8FAFC; padding: 6px 18px; }
body.kit .k-sumbox .l { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; font-size: 15px; }
body.kit .k-sumbox .l em { font-style: normal; color: var(--muted); white-space: nowrap; }
body.kit .k-sumbox .l.tot { border-top: 1px solid var(--line); margin-top: 4px; padding: 14px 0 10px; font-weight: 600; }
body.kit .k-sumbox .l.tot b { font-size: 17px; white-space: nowrap; }
body.kit .k-pmeth { display: flex; align-items: center; gap: 12px; margin-top: 12px; padding: 12px 16px; border: 1px solid var(--line);
  border-radius: 12px; background: #fff; font-size: 15px; }
body.kit .k-pmeth .k-i { color: #1460DB; }
body.kit .k-pnote { font-size: 14px; color: var(--muted); margin: 12px 0 0; }
body.kit .k-pgo { display: flex; justify-content: flex-end; margin: 14px 0 0; }
@media (max-width: 640px) {
  body.kit .k-sum4, body.kit .k-pvar { grid-template-columns: 1fr; }
  body.kit .k-tbl--plain .hm { display: none; }
}
@media (max-width: 900px) {   /* таблица шага 4 остаётся таблицей (карточками — только «Отчёты») */
  body.kit .k-tbl.k-tbl--plain { display: table; }
  body.kit .k-tbl--plain thead { display: table-header-group; }
  body.kit .k-tbl--plain tbody { display: table-row-group; }
  body.kit .k-tbl--plain tr { display: table-row; padding: 0; }
  body.kit .k-tbl--plain td { display: table-cell; text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--line); }
  body.kit .k-tbl--plain td.r { text-align: right; }
  body.kit .k-tbl--plain td::before { content: none; }
}
body.kit .kp .k-tbl th.r { text-align: right; }

/* вход витрины — как в контрастном макете витрина_вход.html: поле без значка, кнопка без стрелки,
   подсказка простым текстом, внизу — строка © СМАРТДЕЛО · Оферта · Политика · Поддержка */
body.kit .kit-auth .auth__input svg, body.kit .kit-auth .auth__btn svg, body.kit .kit-auth .auth__note svg { display: none; }
body.kit .kit-auth .auth__input input { padding-left: 14px; }
body.kit .kit-auth .auth__note { display: block; background: none; border: 0; padding: 0; margin: 14px 0 0; text-align: center;
  font-size: 14px; color: var(--muted); }
body.kit .kit-auth .kit-foot { border-top: 0; background: transparent; justify-content: center; font-size: 13px; color: var(--muted); }
body.kit .kit-auth .kit-foot a { margin: 0 4px; }
/* подвал кабинета витрины — как в макете: бренд слева, ссылки, © справа */
body.kit .kit-foot--app { margin-left: 260px; }
body.kit .kit-foot--app .kit-foot__brand { color: var(--ink); }
@media (max-width: 900px) { body.kit .kit-foot--app { margin-left: 0; } }
@media (max-width: 900px) { body.kit .kit-auth .kit-foot { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; } }
body.kit .kit-foot a { text-decoration: none; } body.kit .kit-foot a:hover { text-decoration: underline; }

/* меню и кнопки — как в контрастном макете (минимализм, 15.10.2026): белая строка с логотипом во всю ширину меню,
   пункты 42 px / 15 px / скругление 8, выбранный — светлая заливка; кнопки 40 px, скругление 8 */
body.kit.app-shell .side { padding: 0 14px 20px; top: 0; min-height: 0; max-height: none; border-radius: 0; gap: 0; }
body.kit.app-shell .side-brand { height: 60px; margin: 0 -14px 18px; padding: 0 10px 0 24px; }
body.kit.app-shell .side-link { height: 42px; padding: 0 16px; gap: 12px; margin: 0 0 4px; border-radius: 8px; font-size: 15px; }
body.kit.app-shell .side-link.on { background: var(--accent-soft); color: #1460DB; font-weight: 500; box-shadow: none; }
body.kit.app-shell .side-link.kit-new { box-shadow: none; margin-top: 0; font-weight: 500; }
body.kit.app-shell .side-link.kit-new.on { box-shadow: none; filter: brightness(.95); }
body.kit.app-shell .side-link .side-txt { flex: 0 1 auto; }
body.kit.app-shell .side-link .new-tag { margin-left: 6px; flex: none; }
body.kit .kp .btn { height: 40px; padding: 0 18px; border-radius: 8px; font-size: 14px; }
@media (min-width: 901px) { body.kit.app-shell .shell > .side { left: 0; top: 0; bottom: 0; width: 260px; } }

/* главная витрины: два шага инструкции в ряд вместо «Последних отчётов» (15.10.2026); кнопки — контрастные */
body.kit .k-howto { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
body.kit .k-howto__i { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; }
body.kit .k-howto__n { width: 40px; height: 40px; border-radius: 10px; flex: none; display: grid; place-items: center;
  font-weight: 700; font-size: 18px; background: #EAF1FE; color: #1460DB; }
body.kit .k-howto__i:nth-child(2) .k-howto__n { background: #E0F4F7; color: #0E7490; }
body.kit .kp .k-howto__btn { height: 44px; padding: 0 20px; font-size: 15px; font-weight: 600; background: var(--btn); color: #fff; }
body.kit .k-howto__btn .k-i { width: 16px; height: 16px; }
body.kit .k-howto p { margin: 10px 0 0; font-size: 15px; color: var(--muted); }
@media (max-width: 900px) { body.kit .k-howto { grid-template-columns: 1fr; } }
@media (max-width: 640px) { body.kit .kp .k-howto__btn { width: 100%; white-space: normal; height: auto; min-height: 44px; padding: 10px 16px; } }
body.kit .kp .k-kind b.k-kind__add { font-size: 15px; font-weight: 700; color: #0F2A44; margin: -2px 0 4px; }

/* ===== «Прогноз налогов» (/app/forecast) — макет data/макеты/налоговая_оптимизация, согласован 16.10.2026; префикс .tx- ===== */
body.kit .tx > * + * { margin-top: 16px; }
body.kit .tx .k-head { margin-bottom: 0; }
body.kit .tx .k-who { margin-bottom: 0; }
body.kit .tx-eyebrow { display: block; font: 600 13px/1.3 var(--font-body); letter-spacing: .06em; text-transform: uppercase; color: #0E7490; margin-bottom: 6px; }
body.kit .tx-head { align-items: flex-end; flex-wrap: wrap; }
body.kit .tx-head .k-sub { font-size: 16px; max-width: 720px; }
body.kit .tx-acts { display: flex; gap: 10px; flex-wrap: wrap; }
body.kit .kp .btn.tx-sm { min-height: 36px; height: 36px; padding: 0 14px; }
body.kit .k-ico.r { background: #FCE8E6; color: #B42318; }
body.kit .k-ico.v { background: #EEEAFB; color: #5B3FC4; }
body.kit .tx-src { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
body.kit .tx-src__i { display: flex; gap: 14px; align-items: center; padding: 16px 18px; flex-wrap: wrap; }
body.kit .tx-src__i > div { flex: 1; min-width: 170px; }
body.kit .tx-src__i b { display: block; font-size: 15px; color: var(--ink); }
body.kit .tx-src__i small { display: block; font-size: 14px; color: var(--muted); margin-top: 2px; }
body.kit .tx-src__i.warn { border: 2px solid #E3A33B; background: #FFFBF3; }
body.kit .tx-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.kit .tx-kpi { padding: 18px 20px; display: grid; gap: 4px; align-content: start; }
body.kit .tx-kpi__l { font: 600 13px/1.3 var(--font-body); letter-spacing: .05em; text-transform: uppercase; color: #334155; }
body.kit .tx-kpi__l .qtip { text-transform: none; letter-spacing: 0; }
body.kit .tx-kpi b { font: 700 28px/1.15 var(--font-body); color: #0F2A44; letter-spacing: -.01em; }
body.kit .tx-kpi small { font-size: 14px; color: var(--muted); }
body.kit .tx-kpi.accent { background: linear-gradient(135deg, #1A6EF4 0%, #0E7490 100%); color: #fff; border-radius: 12px; box-shadow: 0 8px 22px rgba(20, 96, 219, .28); }
body.kit .tx-kpi.accent .tx-kpi__l, body.kit .tx-kpi.accent small, body.kit .tx-kpi.accent b { color: #fff; }
body.kit .tx-kpi.accent b { font-size: 30px; }
body.kit .tx-up { color: #B42318; font-weight: 600; }
body.kit .tx-dn { color: #15704B; font-weight: 600; }
body.kit .tx-box { padding: 22px 24px; }
body.kit .tx-box h2 { font-size: 20px; margin: 0; }
body.kit .tx-box .k-sub { font-size: 15px; margin-top: 4px; }
body.kit .tx-bh { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; flex-wrap: wrap; margin-bottom: 14px; }
body.kit .tx .k-yrsw button { font: inherit; font-size: 14px; color: #334155; padding: 5px 12px; border: 0; border-radius: 999px; background: transparent; cursor: pointer; min-height: 0; }
body.kit .tx .k-yrsw button.on { background: #fff; color: #1460DB; font-weight: 600; box-shadow: var(--shadow); }
body.kit .tx-svgbox { border: 1px solid var(--line); border-radius: 12px; padding: 8px; }
body.kit .tx-svg { display: block; width: 100%; max-width: 720px; height: auto; margin: 0 auto; }
body.kit .tx-svg .grid line { stroke: #E2E8F0; stroke-width: 1; }
body.kit .tx-svg .grid text { fill: #475569; font: 500 12px var(--font-body); text-anchor: start; }
body.kit .tx-svg .ch1, body.kit .tx-legend i.ch1 { fill: #4373EB; background: #4373EB; }
body.kit .tx-svg .ch2, body.kit .tx-legend i.ch2 { fill: #60B4D0; background: #60B4D0; }
body.kit .tx-svg .ch3, body.kit .tx-legend i.ch3 { fill: #74CE9E; background: #74CE9E; }
body.kit .tx-svg .ch4, body.kit .tx-legend i.ch4 { fill: #F59E0B; background: #F59E0B; }
body.kit .tx-svg .ghost { fill: #D2F1E0; stroke: #15704B; stroke-width: 2; stroke-dasharray: 6 4; }
body.kit .tx-legend i.ghost { background: #D2F1E0; border: 2px dashed #15704B; }
body.kit .tx-svg .tot { font: 700 13px var(--font-body); fill: #0F2A44; text-anchor: middle; }
body.kit .tx-svg .tot.good { fill: #15704B; }
body.kit .tx-svg .yr { font: 600 12.5px var(--font-body); fill: #11151D; text-anchor: middle; }
body.kit .tx-chart:not(.show-after) .after, body.kit .tx-chart:not(.show-after) .after-l { display: none; }
body.kit .tx-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: #334155; margin: 12px 0; }
body.kit .tx-legend span { display: inline-flex; align-items: center; gap: 7px; }
body.kit .tx-legend i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; flex: none; }
body.kit .tx-note { display: flex; gap: 10px; align-items: flex-start; border-radius: 10px; padding: 12px 14px; font-size: 15px; }
body.kit .tx-note.warn { background: var(--warn-bg); color: #5C3700; border: 1px solid #E9C27A; }
body.kit .tx-note .k-i { color: #9A5B00; flex: none; }
body.kit .tx-sec { padding-top: 10px; }
body.kit .tx-sec h2 { font-size: 22px; margin: 0; }
body.kit .tx-sec .k-sub { font-size: 15px; margin-top: 4px; }
body.kit .tx-tip { display: grid; gap: 14px; }
body.kit .tx-tip__h { display: flex; gap: 14px; align-items: flex-start; }
body.kit .tx-tip__h > div { flex: 1; min-width: 0; align-self: center; }
body.kit .tx-tip h3 { margin: 0; font: 700 18px/1.3 var(--font-body); color: #0F2A44; }
body.kit .tx-save { background: var(--ok-bg); color: #15704B; border: 1px solid #9CD3B6; border-radius: 999px; padding: 7px 14px; font: 700 16px/1.2 var(--font-body); white-space: nowrap; }
body.kit .tx-bad { color: #B42318; font-weight: 600; }
body.kit .tx-good { color: #15704B; font-weight: 600; }
body.kit .tx-rule { margin: 0; font-size: 15px; line-height: 1.6; color: #11151D; border-left: 4px solid #0E7490; background: #F1F8FA; border-radius: 0 10px 10px 0; padding: 12px 14px; }
body.kit .tx-rule.warn { border-left-color: #9A5B00; background: #FDF0DC; color: #3D2600; }
body.kit .tx-ops { display: grid; gap: 10px; }
body.kit .tx-ops__t { font: 700 13px/1.3 var(--font-body); letter-spacing: .05em; text-transform: uppercase; color: #334155; }
body.kit .tx-op { border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; }
body.kit .tx-op > b { display: block; font-size: 15.5px; color: #0F2A44; line-height: 1.7; }
body.kit .tx-op p, body.kit .tx-opn { margin: 4px 0 0; font-size: 15px; line-height: 1.7; color: #11151D; }
body.kit .tx-opn { margin: 0; }
/* до оплаты названия бумаг, количество и даты не передаются — на их месте размытая заглушка (макет 16.10.2026) */
body.kit .tx-hid { display: inline; padding: 1px 6px; border-radius: 6px; background: #EEF2F6; color: transparent;
  text-shadow: 0 0 7px rgba(17, 21, 29, .75); user-select: none; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
body.kit .tx-tblw { overflow-x: auto; }
body.kit .tx-tbl { width: 100%; border-collapse: collapse; }
body.kit .tx-tbl th { text-align: left; font-size: 13px; color: #334155; font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--line); }
body.kit .tx-tbl td { padding: 10px; font-size: 15px; border-bottom: 1px solid var(--line); }
body.kit .tx-tbl tr:last-child td { border-bottom: 0; }
body.kit .tx-calc { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin-top: 4px; }
body.kit .tx-calc > div { border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px; display: grid; gap: 2px; flex: 1; min-width: 150px; background: #fff; }
body.kit .tx-calc small { color: var(--muted); font-size: 14px; }
body.kit .tx-calc b { font-size: 21px; line-height: 1.2; color: #0F2A44; }
body.kit .tx-calc .ok { border: 2px solid #15704B; background: var(--ok-bg); }
body.kit .tx-calc .ok b { color: #15704B; }
@media (max-width: 600px) { body.kit .tx-tbl th, body.kit .tx-tbl td { padding: 8px 6px; font-size: 14px; } body.kit .tx-tbl th:nth-child(2), body.kit .tx-tbl td:nth-child(2) { display: none; } body.kit .tx-calc > .k-i { display: none; } }
body.kit .tx-wait { display: flex; gap: 12px; align-items: flex-start; border: 1px dashed #7FA3D6; background: #F5F8FF; border-radius: 10px; padding: 12px 14px; }
body.kit .tx-wait > .k-i { color: #1460DB; flex: none; margin-top: 2px; }
body.kit .tx-wait b { display: block; font-size: 15.5px; color: #0F2A44; }
body.kit .tx-wait p { margin: 4px 0 0; font-size: 15px; line-height: 1.6; color: #11151D; }
body.kit .tx-cmp { display: flex; gap: 14px; align-items: stretch; flex-wrap: wrap; }
body.kit .tx-cmp > div { border: 1px solid var(--line); border-radius: 10px; padding: 12px 16px; display: grid; gap: 2px; flex: 1; min-width: 150px; background: #fff; }
body.kit .tx-cmp small { color: var(--muted); font-size: 14px; }
body.kit .tx-cmp b { font: 700 21px/1.2 var(--font-body); color: #0F2A44; }
body.kit .tx-cmp .ok { border: 2px solid #15704B; background: var(--ok-bg); }
body.kit .tx-cmp .ok b { color: #15704B; }
body.kit .tx-cmp .bad { border: 2px solid #E5A29A; background: #FCE8E6; }
body.kit .tx-cmp .bad b { color: #B42318; }
body.kit .tx-disc { background: #fff; border: 1px solid var(--line); border-left: 4px solid #0E7490; border-radius: 10px; padding: 14px 16px; font-size: 15px; color: #11151D; }
body.kit .tx-grp { border: 1px solid var(--line); border-radius: 12px; margin-top: 10px; }
body.kit .tx-grp summary { list-style: none; display: flex; gap: 14px; align-items: center; padding: 16px 18px; cursor: pointer; }
body.kit .tx-grp summary::-webkit-details-marker { display: none; }
body.kit .tx-grp summary > div { flex: 1; min-width: 0; }
body.kit .tx-grp summary b { display: block; font-size: 16px; }
body.kit .tx-grp summary small { color: var(--muted); font-size: 14px; }
body.kit .tx-grp summary > .k-i { color: #334155; transition: transform .15s; flex: none; }
body.kit .tx-grp[open] summary > .k-i { transform: rotate(180deg); }
body.kit .tx-grp__s { text-align: right; font: 700 18px/1.2 var(--font-body); white-space: nowrap; color: #0F2A44; }
body.kit .tx-grp__s small { display: block; font: 400 13px var(--font-body); color: var(--muted); }
body.kit .tx-dl { display: grid; grid-template-columns: minmax(0, 1fr) auto; margin: 0; padding: 4px 18px 14px; border-top: 1px solid var(--line); }
body.kit .tx-dl dt, body.kit .tx-dl dd { margin: 0; padding: 10px 0; border-bottom: 1px dotted #B8C4D1; font-size: 15px; }
body.kit .tx-dl dt { color: #334155; padding-right: 12px; }
body.kit .tx-dl dd { text-align: right; font-weight: 600; white-space: nowrap; }
body.kit .tx-dl dt:nth-last-child(2), body.kit .tx-dl dd:last-child { border-bottom: 0; }
body.kit .tx-dl .tx-dl__n { grid-column: 1 / -1; color: var(--muted); font-size: 14px; }
body.kit .tx-dl.tx-tot { border: 1px solid var(--line); border-radius: 12px; margin-top: 10px; padding: 4px 18px; background: #F9FAFB; }
body.kit .tx-fine { margin: 10px 0 0; font-size: 14px; color: var(--muted); }
body.kit .tx-pay { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; background: #0F2A44; color: #fff; border-radius: 14px; padding: 22px 24px;
  background-image: radial-gradient(70% 140% at 100% 0%, rgba(6, 182, 212, .5), transparent 60%), radial-gradient(60% 120% at 0% 100%, rgba(26, 110, 244, .45), transparent 60%); }
body.kit .tx-pay__t { display: flex; gap: 16px; align-items: flex-start; flex: 1; min-width: 0; }
body.kit .tx-pay__ic { width: 48px; height: 48px; border-radius: 12px; background: rgba(255, 255, 255, .14); color: #7FEFF5; display: grid; place-items: center; flex: none; }
body.kit .tx-pay__t b { display: block; font: 700 19px/1.3 var(--font-body); }
body.kit .tx-pay__t ul { margin: 8px 0 0; padding-left: 18px; font-size: 15px; color: #DCE7F2; display: grid; gap: 3px; }
body.kit .tx-empty { display: flex; gap: 14px; align-items: flex-start; }
body.kit .tx-empty p { margin: 6px 0 0; font-size: 15px; }
body.kit .kp a.k-kind--go { color: inherit; text-decoration: none; }
body.kit .kp a.k-kind--go .k-price { color: #15704B; }
@media (max-width: 1200px) { body.kit .tx-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  body.kit .tx-kpis, body.kit .tx-src { grid-template-columns: 1fr; }
  body.kit .tx-acts { width: 100%; } body.kit .tx-acts .btn { flex: 1; }
  body.kit .tx-kpi b { font-size: 25px; }
  body.kit .tx-box { padding: 18px 16px; }
  body.kit .tx-tip__h { flex-wrap: wrap; }
  body.kit .tx-tip__h > div { flex-basis: calc(100% - 56px); }
  body.kit .tx-save { margin-left: 54px; }
  body.kit .tx-svgbox { padding: 4px; }
  body.kit .tx-svg .tot { font-size: 24px; } body.kit .tx-svg .yr { font-size: 21px; } body.kit .tx-svg .grid text { font-size: 22px; } body.kit .tx-svg .tot.good { display: none; }
  body.kit .tx-dl { padding: 4px 14px 12px; } body.kit .tx-dl dd { white-space: normal; }
  body.kit .tx-grp summary { padding: 14px; }
  body.kit .tx-pay { padding: 18px 16px; }
}

/* ===== Полный отчёт «Налоговый прогноз»: оплата и PDF (макет налоговая_оптимизация/прогноз_оплата.html, 17.10.2026) ===== */
body.kit .tx-pay { justify-content: space-between; margin-top: 16px; }
body.kit .tx-pay__a { display: grid; gap: 8px; justify-items: center; min-width: 220px; }
body.kit .tx-from { font-size: 14px; color: #DCE7F2; }
body.kit .tx-price { font: 800 34px/1 var(--font-body); letter-spacing: -.02em; }
body.kit .kp .btn.tx-btn-w { background: #fff; color: #1460DB; font-weight: 700; height: 46px; padding: 0 24px; font-size: 16px; width: 100%; justify-content: center; }
body.kit .kp .btn.tx-btn-w:hover { background: #EAF1FE; color: #1460DB; }
body.kit .tx-link { color: #7FEFF5; font-size: 15px; text-decoration: underline; }
body.kit .tx-done { display: grid; gap: 18px; margin-top: 16px; scroll-margin-top: 80px; }
body.kit .tx-done__o { display: grid; gap: 12px; }
body.kit .tx-done__o + .tx-done__o { border-top: 1px solid var(--line); padding-top: 18px; }
body.kit .tx-done__h { display: flex; gap: 14px; align-items: flex-start; }
body.kit .tx-done__h b { display: block; font: 700 18px/1.3 var(--font-body); color: #0F2A44; }
body.kit .tx-done__h small { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
body.kit .tx-files { display: grid; gap: 8px; }
body.kit .tx-file { display: flex; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 10px 14px; color: inherit; text-decoration: none; }
body.kit .tx-file:hover { border-color: #5C86C7; background: #F9FAFB; }
body.kit .tx-file__ext { font: 700 12px/1 var(--font-body); color: #fff; background: #B42318; border-radius: 6px; padding: 5px 6px; flex: none; }
body.kit .tx-file__t { flex: 1; min-width: 0; } body.kit .tx-file__t b { display: block; font-weight: 600; overflow-wrap: anywhere; }
body.kit .tx-file__t small { display: block; color: var(--muted); font-size: 13px; }
body.kit .tx-nw { white-space: nowrap; }
body.kit .tx-file__go { color: #1460DB; font-weight: 600; white-space: nowrap; }
body.kit .tx-upd { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: #E0F4F7; border-radius: 12px; padding: 12px 14px; font-size: 14.5px; }
body.kit .tx-upd span { flex: 1 1 320px; } body.kit .tx-upd form { margin: 0; }
/* окно оплаты: по #fc-buy (:target), без скриптов */
body.kit .fcb { display: none; position: fixed; inset: 0; z-index: 80; align-items: center; justify-content: center; padding: 16px; }
body.kit .fcb:target { display: flex; }
body.kit .fcb-veil { position: absolute; inset: 0; background: rgba(15, 30, 45, .45); backdrop-filter: blur(3px); }
body.kit .fcb-box { position: relative; width: min(560px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 18px; padding: 26px; box-shadow: 0 20px 50px rgba(15, 30, 45, .25); display: grid; gap: 14px; margin: 0; }
body.kit .fcb-x { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-size: 24px; color: var(--muted); text-decoration: none; }
body.kit .fcb-x:hover { background: #EAF1FE; }
body.kit .fcb-box h2 { margin: -8px 0 0; padding-right: 40px; font: 700 21px/1.3 var(--font-body); }
body.kit .fcb-who { margin: -6px 0 0; font-size: 14px; color: var(--muted); }
body.kit .fcb-plans { display: grid; gap: 10px; border: 0; margin: 0; padding: 0; min-width: 0; }
body.kit .fcb-plans legend { font-weight: 600; font-size: 15px; margin-bottom: 8px; padding: 0; }
body.kit .fcb-p { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 12px; align-items: start; border: 1.5px solid var(--line); border-radius: 14px; padding: 14px 16px; cursor: pointer; }
body.kit .fcb-p:has(input:checked) { border-color: #1460DB; box-shadow: 0 0 0 3px #EAF1FE; }
body.kit .fcb-p input { margin: 4px 0 0; accent-color: #1460DB; width: 17px; height: 17px; }
body.kit .fcb-p b { font-size: 16px; }
body.kit .fcb-pr { font: 800 19px/1.2 var(--font-body); white-space: nowrap; }
body.kit .fcb-p ul { grid-column: 2 / -1; margin: 2px 0 0; padding-left: 18px; font-size: 14px; color: #334155; display: grid; gap: 2px; }
body.kit .fcb-tag { display: inline-block; margin-left: 6px; font-size: 13px; font-weight: 600; color: #fff; background: #0E7490; border-radius: 999px; padding: 2px 8px; vertical-align: 2px; }
body.kit .fcb-bill { background: #F1F5F9; border-radius: 14px; padding: 4px 16px; }
body.kit .fcb-bill > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed #C9D4DF; font-size: 14.5px; }
body.kit .fcb-bill > div > span:last-child { white-space: nowrap; font-weight: 600; }
body.kit .fcb-bill > .fcb-tot { border-bottom: 0; font-size: 16px; font-weight: 700; }
body.kit .kp .btn.fcb-btn { width: 100%; min-height: 54px; height: auto; font-size: 16px; gap: 12px; justify-content: center; }
body.kit .fcb-pp { background: rgba(255, 255, 255, .22); border-radius: 999px; padding: 5px 12px; font-weight: 700; white-space: nowrap; }
body.kit .fcb .fcb-v-month { display: none; }
body.kit .fcb:has(input[value=month]:checked) .fcb-v-one { display: none; }
body.kit .fcb:has(input[value=month]:checked) .fcb-bill > .fcb-v-month { display: flex; }
body.kit .fcb:has(input[value=month]:checked) .btn.fcb-v-month { display: inline-flex; }
body.kit .fcb-more { font-size: 13px; color: var(--muted); text-align: center; }
body.kit .fcb-more summary { cursor: pointer; color: #1460DB; font-weight: 500; list-style-position: inside; }
body.kit .fcb-more p { margin: 8px 0 0; }
@media (max-width: 640px) {
  body.kit .tx-pay__a { width: 100%; min-width: 0; }
  body.kit .tx-upd .btn, body.kit .tx-upd form { width: 100%; }
}
@media (max-width: 560px) {
  body.kit .fcb { align-items: flex-end; padding: 0; }
  body.kit .fcb-box { border-radius: 20px 20px 0 0; padding: 20px 16px; max-height: 92vh; }
  body.kit .fcb-box h2 { font-size: 18px; }
  body.kit .fcb-p { grid-template-columns: auto 1fr; }
  body.kit .fcb-pr { grid-column: 2; }
}

/* ===== «Новый отчёт»: карточка «Налоговое планирование» (макет витрина_новый_отчёт_прогноз.html, согласован 17.10.2026):
   высота как у «Декларации 3-НДФЛ», NEW — ярко-зелёный, подзаголовок — синий, 4 плашки 2 × 2 (на телефоне — столбцом) ===== */
body.kit .kp a.k-kind.k-fc { border: 1.5px solid #9DBFF5; padding: 15.5px;
  background: radial-gradient(70% 80% at 100% 0%, rgba(6, 182, 212, .20), transparent 70%), radial-gradient(70% 80% at 0% 100%, rgba(26, 110, 244, .10), transparent 70%), #F5F8FF; }
body.kit .kp a.k-kind.k-fc:hover { border-color: #1460DB; box-shadow: 0 8px 20px rgba(20, 96, 219, .14); }
body.kit .k-fc__b { display: grid; gap: 4px; min-width: 0; flex: 1; }
body.kit .k-fc__top { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
body.kit .kp .k-kind.k-fc .k-fc__top b { display: inline; margin: 0; padding: 0; font-size: 16px; font-weight: 700; color: #11151D; }
body.kit .k-fc__new { font-size: 12px; font-weight: 700; line-height: 1; color: #fff; background: #16A34A; border-radius: 999px; padding: 4px 9px; letter-spacing: .02em; }
body.kit .k-fc__sub { font-size: 15px; font-weight: 600; color: #1460DB; }
body.kit .k-fc__chips { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: 5px 8px; margin-top: 2px; }
body.kit .k-fc__chips span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; font-size: 13px; font-weight: 500; color: #11151D;
  background: #fff; border: 1px solid #D5DDE6; border-radius: 999px; padding: 2px 10px 2px 3px; }
body.kit .k-fc__chips .k-i { width: 16px; height: 16px; padding: 2px; border-radius: 50%; background: #1460DB; color: #fff; stroke-width: 3; flex: none; }
body.kit .k-fc__price { font-size: 14px; color: #334155; margin-top: 2px; }
body.kit .kp .k-kind.k-fc .k-fc__price b { display: inline; margin: 0; padding: 0; font-size: 14px; font-weight: 700; color: #15704B; }
@media (min-width: 1280px), (max-width: 640px) { body.kit .k-fc__chips span { white-space: nowrap; } }
@media (max-width: 640px) { body.kit .k-fc__chips { grid-template-columns: 1fr; justify-items: start; } }
/* NEW у выбранного пункта меню — тоже зелёный (17.10.2026) */
body.kit.app-shell .side-link.on .new-tag { background: #16A34A; color: #fff; }

/* ===== Партнёрская программа (макет data/макеты/партнёрка_v1, согласован 17.10.2026) ===== */
body.kit .acct-new { margin-left: auto; font-size: 11px; font-weight: 600; color: #fff; background: #16A34A; border-radius: 999px; padding: 1px 7px; }
body.kit .ag .k-card + .k-card, body.kit .ag .ag-grid2 + .k-card, body.kit .ag .ag-stats + .ag-grid2 { margin-top: 16px; }
body.kit .ag-pad { padding: 22px 24px; }
body.kit .ag h2 { font-size: 19px; font-weight: 600; margin: 0 0 4px; }
body.kit .ag .k-sub { margin: 0 0 16px; }
body.kit .ag-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body.kit .ag-grid2 { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 16px; }
body.kit .ag-grid2 > .k-card + .k-card { margin-top: 0; }
body.kit .ag-lbl { display: block; font-size: 15px; font-weight: 500; margin: 12px 0 6px; }
body.kit .ag-fld { display: flex; gap: 8px; }
body.kit .ag-fld .k-inp { flex: 1; min-width: 0; }
body.kit .ag-utm { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body.kit .ag-utm .k-inp { width: 100%; min-width: 0; }
body.kit .ag-tip { font-size: 14px; color: var(--muted); margin: 6px 0 0; }
body.kit .ag-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
body.kit .ag-opt { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; padding: 14px; cursor: pointer; background: #fff; }
body.kit .ag-opt input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.kit .ag-opt:has(input:checked) { border: 2px solid #1A6EF4; padding: 13px; background: #F5F8FF; }
body.kit .ag-opt:has(input:focus-visible) { outline: 2px solid #1460DB; outline-offset: 2px; }
body.kit .ag-opt hr { border: 0; border-top: 1px dashed var(--line); margin: 10px 0; width: 100%; }
body.kit .ag-big { font-size: 22px; font-weight: 700; line-height: 1.1; color: var(--ink-2); }
body.kit .ag-cap { font-size: 14px; color: var(--muted); }
body.kit .ag-ex { font-size: 14px; line-height: 1.5; }
body.kit .ag-set { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin-top: 16px; }
body.kit .ag-set .ag-lbl { margin: 0; }
body.kit .ag-set .k-inp { width: 220px; max-width: 100%; }
body.kit .ag-lvl { display: flex; gap: 8px; margin: 4px 0 12px; }
body.kit .ag-lv { flex: 1; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; text-align: center; }
body.kit .ag-lv b { display: block; font-size: 22px; color: var(--ink-2); }
body.kit .ag-lv small { color: var(--muted); font-size: 14px; }
body.kit .ag-lv.on { border: 2px solid #1A6EF4; padding: 9px 11px; background: #EAF1FE; }
body.kit .ag-lv.on b { color: #1460DB; }
body.kit .ag-prog { height: 8px; }
body.kit .ag-prog .qbar__fill { background: linear-gradient(90deg, #1A6EF4, #06B6D4); }
body.kit .ag-prog-t { display: flex; justify-content: space-between; gap: 10px; font-size: 14px; color: var(--muted); margin-top: 6px; }
body.kit .ag-bonus { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
body.kit .ag-n { font-size: 30px; font-weight: 700; line-height: 1.15; color: var(--ink-2); }
body.kit .ag-note { display: flex; gap: 10px; align-items: flex-start; background: #EAF1FE; border-radius: 10px; padding: 12px 14px; font-size: 15px; margin-top: 14px; }
body.kit .ag-note .k-i { color: #1460DB; margin-top: 1px; flex: none; }
body.kit .ag-row { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; padding: 9px 0; border-bottom: 1px dashed var(--line); }
body.kit .ag-row b { white-space: nowrap; }
body.kit .ag-row--tot { border-bottom: 0; font-weight: 600; }
body.kit .ag-acts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
body.kit .ag-hint { margin: 10px 0 0; font-size: 14px; }
body.kit .ag .ag-acts .btn[disabled], body.kit .ag .ag-acts .btn[disabled]:hover { background: #E5EAF1; color: #475569; border: 1px solid #C5CFDC; box-shadow: none; opacity: 1; transform: none; cursor: not-allowed; }
body.kit .ag .ag-stats > .k-card + .k-card { margin-top: 0; }
body.kit .ag-sect-h { padding: 18px 20px 12px; }
body.kit .ag-sect-h h2 { margin: 0; }
body.kit .ag-empty { margin: 0 20px 20px; }
body.kit .ag-ta { height: 84px; padding: 10px 14px; resize: vertical; }
body.kit .ag-join { display: block; }
body.kit .k-dlg.ag-dlg { max-width: 760px; }
body.kit .ag-dlg h2 { font-size: 20px; font-weight: 600; margin: 0 0 4px; }
body.kit .ag-dlg h2:focus { outline: none; }
body.kit .ag-join > .k-card + .k-card { margin-top: 0; }
body.kit .ag-steps { counter-reset: s; list-style: none; margin: 14px 0 6px; padding: 0; }
body.kit .ag-steps li { counter-increment: s; position: relative; padding: 0 0 14px 42px; }
body.kit .ag-steps li::before { content: counter(s); position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: #EAF1FE; color: #1460DB;
  font-weight: 600; display: flex; align-items: center; justify-content: center; font-size: 14px; }
body.kit .ag-steps b { display: block; } body.kit .ag-steps span { color: var(--muted); font-size: 15px; }
body.kit .ag-form .ag-opts { margin-bottom: 4px; }
body.kit .ag-chk { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; margin: 14px 0; }
body.kit .ag-chk input { margin-top: 3px; width: 18px; height: 18px; flex: none; }
body.kit .ag-rules { margin: 8px 0 0; padding-left: 18px; font-size: 15px; line-height: 1.6; }
body.kit .ag .ag-h3 { font-size: 16px; font-weight: 600; margin: 22px 0 4px; padding-top: 18px; border-top: 1px solid var(--line); }
body.kit .ag-doc { max-width: 860px; }
body.kit .ag .ag-doc > .ag-h3:first-child { margin-top: 12px; padding-top: 0; border-top: 0; }
body.kit .ag-tbl { width: 100%; max-width: 520px; margin: 10px 0 4px; border-collapse: collapse; font-size: 15px; }
body.kit .ag-tbl th { text-align: left; font-size: 13px; font-weight: 600; color: var(--muted); padding: 8px 12px; background: var(--accent-soft); }
body.kit .ag-tbl td { padding: 9px 12px; border-bottom: 1px solid var(--line); }
body.kit .ag-tbl td:first-child { white-space: nowrap; width: 38%; }
body.kit .ag-p { margin: 8px 0 0; font-size: 15px; line-height: 1.6; }
body.kit .ag-quote { margin: 8px 0 0; padding: 12px 16px; border-left: 3px solid var(--accent); background: var(--accent-soft); border-radius: 0 8px 8px 0; font-size: 15px; line-height: 1.6; }
body.kit .ag-terms > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: pointer; }
body.kit .ag-terms > summary::-webkit-details-marker { display: none; }
body.kit .ag-terms > summary h2 { margin: 0; }
body.kit .ag-terms > summary .k-i { color: #334155; transition: transform .15s; flex: none; }
body.kit .ag-terms[open] > summary .k-i { transform: rotate(180deg); }
body.kit .ag-terms[open] > summary { margin-bottom: 4px; }
@media (max-width: 1100px) {
  body.kit .ag-grid2, body.kit .ag-join, body.kit .ag-bonus { grid-template-columns: 1fr; }
  body.kit .ag-grid2 > .k-card + .k-card, body.kit .ag-join > .k-card + .k-card { margin-top: 0; }
  body.kit .ag-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body.kit .ag-pad { padding: 18px 16px; }
  body.kit .ag-opts, body.kit .ag-utm { grid-template-columns: 1fr; }
  body.kit .ag-stats { gap: 10px; }
  body.kit .ag-stats .k-stat { padding: 14px; gap: 10px; }
  body.kit .ag-stats .k-ico { display: none; }
  body.kit .ag-stats .k-stat__n { font-size: 22px; }
  body.kit .ag-fld { flex-wrap: wrap; }
  body.kit .ag-set .k-inp { width: 100%; }
  body.kit .ag-lvl { gap: 6px; }
  body.kit .ag-prog-t { flex-direction: column; gap: 2px; }
}
body.kit .k-promo { display: flex; gap: 8px; margin-top: 12px; }
body.kit .k-promo .k-inp { flex: 1; min-width: 0; max-width: 260px; }
@media (max-width: 640px) { body.kit .k-promo { flex-wrap: wrap; } body.kit .k-promo .k-inp { max-width: none; } }
body.kit .ag-chk a { color: var(--accent); text-decoration: underline; }
/* уведомления над предварительным расчётом: крестик у каждого, «Игнорировать и рассчитывать дальше» — все (19.10.2026) */
body.kit .k-warns__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  margin: 0 0 12px; color: var(--muted); font-size: 14px; }
body.kit .k-warn { position: relative; padding-right: 44px; overflow-wrap: anywhere; }
body.kit .k-warn__x { position: absolute; top: 6px; right: 6px; width: 32px; height: 32px; border: 0; border-radius: 50%;
  background: transparent; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
body.kit .k-warn__x:hover, body.kit .k-warn__x:focus-visible { background: rgba(0, 0, 0, .07); }
@media (max-width: 640px) { body.kit .k-warns__bar .btn { width: 100%; } }
/* «Прогноз» без справок 2-НДФЛ: одна плитка «Возможная экономия» (20.10.2026) */
body.kit .tx-kpis.tx-kpis1 { grid-template-columns: minmax(0, 1fr); max-width: 420px; }
