/* Модуль СВР (svr.bonitirovka.ru): одна колонка, шаги мастера сверху вниз. Цвета и кнопки — из base/components. */
body.svr { min-height: 100vh; display: flex; flex-direction: column; }
.svr-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 20px; background: var(--night); color: #fff; }
.svr-top .muted { color: #C9CEE3; }
.svr-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.svr-brand:hover { color: #fff; }
.svr-brand span { display: grid; line-height: 1.1; }
.svr-brand b { font-family: var(--display); font-size: 20px; }
.svr-brand small { font-size: var(--fs-small); color: #C9CEE3; }
#svr-who { display: flex; align-items: center; gap: 10px; }
.svr-main { width: 100%; max-width: 920px; margin: 0 auto; padding: 24px 16px 40px; flex: 1; outline: none; display: grid; gap: 16px; align-content: start; }
.svr-foot { padding: 16px 20px; text-align: center; font-size: var(--fs-small); color: var(--muted); }
.svr-wait { padding: 24px 0; }

.svr-hero { display: grid; gap: 12px; padding: 12px 0 4px; }
.svr-lead { font-size: 1.15em; margin: 0; color: var(--ink-2); max-width: 60ch; }
.svr-cta { display: flex; gap: 10px; flex-wrap: wrap; }
.svr-cta .btn, #svr-who .btn { text-decoration: none; }
.svr-steps { margin: 0; padding: 0; list-style: none; counter-reset: s; display: grid; gap: 10px; }
.svr-steps li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; gap: 2px 12px; padding: 14px 16px; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; }
.svr-steps li::before { content: counter(s); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; background: var(--dawn-soft); color: var(--dawn-ink); font-weight: 700; display: grid; place-items: center; }
.svr-steps span { color: var(--muted); font-size: var(--fs-small); }
.svr-legal { max-width: 70ch; }

.svr-form { max-width: 460px; width: 100%; justify-self: center; display: grid; gap: 14px; padding: 24px; }
.svr-form form { display: grid; gap: 12px; }
.svr-form .btn[type=submit] { justify-self: start; }
.fld { display: grid; gap: 4px; }
.fld > span { font-size: var(--fs-small); color: var(--ink-2); }
.fld input { height: var(--ctl-h); padding: 0 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--paper); }
.fld-err, .svr-err { color: var(--bad-ink); font-size: var(--fs-small); min-height: 0; margin: 0; }
.fld-err:empty, .svr-err:empty { display: none; }
.svr-consent { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-small); color: var(--ink-2); }
.svr-consent input { width: 20px; height: 20px; flex: none; margin-top: 1px; accent-color: var(--dawn); }

.svr-head { display: grid; gap: 4px; }
.svr-head p { margin: 0; }
.svr-step { background: var(--paper); border: 1px solid var(--line); border-radius: 14px; padding: 16px 18px; }
.svr-step > header { display: flex; align-items: center; gap: 12px; }
.svr-step h2 { flex: 1; }
.svr-n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; background: var(--line-2); color: var(--ink-2); flex: none; }
.svr-badge { font-size: var(--fs-small); color: var(--muted); }
.svr-step.done .svr-n { background: var(--good-soft); color: var(--good-ink); }
.svr-step.now .svr-n { background: var(--dawn); color: #fff; }
.svr-step.wait, .svr-step.soon { opacity: 0.75; }
.svr-body > p { margin: 10px 0 0; color: var(--ink-2); }
/* Блоки из «Учёта стада» внутри шага: без своей рамки и заголовка — их даёт шаг. */
.svr-step .gv-files { border: 0; box-shadow: none; padding: 0; margin: 8px 0 0; background: none; }
.svr-step .gv-files > h2 { display: none; }

@media (max-width: 600px) {
  .svr-top { padding: 10px 16px; }
  .svr-brand small { display: none; }
  .svr-step { padding: 14px; }
}
