/* Продуктовые страницы: мастер заявки, статус, согласие члена семьи, кабинет оператора, юр-тексты.
   Цвета и шрифт - из дизайн-системы (T1, волна 3, 30.10): system/tokens.css, исходник design/system/.
   Ниже - старые имена переменных страниц, привязанные к смысловым токенам. Новый цвет - только через токен. */
@import url("system/tokens.css");
:root{
  --bg:var(--color-bg); --ink:var(--color-text); --muted:var(--color-muted); --line:var(--color-border-strong); --soft:var(--color-surface-2);
  --field:var(--color-field-border);
  --go:var(--color-primary); --go-press:var(--color-primary-press); --go-tint:var(--color-success-bg);
  --bad:var(--color-danger); --bad-tint:var(--color-danger-bg); --warn-tint:var(--color-warn-bg);
  --r:14px; --gutter:20px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.5 var(--font-sans)}
a{color:inherit}
h1,h2,h3{margin:0;text-wrap:balance;letter-spacing:-0.01em}
p{margin:0}
.wrap{max-width:560px;margin:0 auto;padding:0 var(--gutter) 48px}
.bar{display:flex;align-items:center;justify-content:space-between;height:56px}
.logo{display:flex;gap:8px;align-items:center;font-weight:700;letter-spacing:.06em;text-decoration:none;font-size:15px}
.logo svg{width:18px;height:18px}
.logo img{display:block;height:28px;width:auto}
.back{background:none;border:0;color:var(--muted);font:500 15px/1 inherit;font-family:inherit;padding:10px 0;cursor:pointer}
.back[hidden]{display:block;visibility:hidden}

.step h1{font-size:26px;line-height:1.18;font-weight:700;margin-top:8px}
.step .why{color:var(--muted);margin-top:10px}
.step .note{font-size:15px;color:var(--muted);margin-top:14px}
.kicker{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}

.btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;border:0;border-radius:var(--r);
  font:600 17px/1.2 inherit;font-family:inherit;cursor:pointer;text-decoration:none;padding:14px 18px;text-align:center}
.btn.go{background:var(--go);color:var(--color-on-primary)}
.btn.go:active{background:var(--go-press)}
.btn.go:disabled{opacity:.5;cursor:default}
.btn.ghost{background:var(--soft);color:var(--ink)}
.btn.line{background:none;border:1.5px solid var(--line);color:var(--ink)}
.btn small{display:block;font-weight:400;font-size:13px;opacity:.85}
.btn:focus-visible,.choice:focus-visible{outline:none;box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--ink)}
.actions{display:grid;gap:10px;margin-top:24px}

.choices{display:grid;gap:10px;margin-top:20px}
.choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:14px 18px;
  background:var(--bg);color:var(--ink);border:1.5px solid var(--field);border-radius:var(--r);font:500 17px/1.3 inherit;font-family:inherit;
  text-align:left;cursor:pointer}
.choice small{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:2px}
.choice b{white-space:nowrap}
.choice.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.choices.row{grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}
.choices.row .choice{justify-content:center;text-align:center}

.field{display:block;margin-top:16px}
.field span{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.field em{font-style:normal;font-weight:400;color:var(--muted)}
.field input,.field select{width:100%;height:54px;border:1.5px solid var(--field);border-radius:12px;padding:0 14px;
  font:500 17px inherit;font-family:inherit;color:var(--ink);background:var(--bg)}
.field input:focus,.field select:focus{outline:none;border-color:var(--ink)}
.field input[aria-invalid="true"]{border-color:var(--bad)}
.field .err{color:var(--bad);font-size:14px;margin-top:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.box{border-radius:var(--r);padding:16px;margin-top:18px;font-size:15px}
.box.ok{background:var(--go-tint)}
.box.bad{background:var(--bad-tint)}
.box.warn{background:var(--warn-tint)}
.box.soft{background:var(--soft)}
.box b{display:block;margin-bottom:4px}
.box ul{margin:6px 0 0;padding-left:18px}

.photo{position:relative;width:100%;max-width:300px;aspect-ratio:1;margin:20px auto 0;border-radius:14px;overflow:hidden;background:var(--soft)}
.photo img,.photo video{width:100%;height:100%;object-fit:cover;display:block}
.photo video{transform:scaleX(-1)}
.oval{position:absolute;left:30%;right:30%;top:9%;height:61%;border:2.5px dashed rgba(255,255,255,.9);border-radius:50%;pointer-events:none;
  box-shadow:0 0 0 999px rgba(0,0,0,.18)}
.refs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.refs figure{margin:0;font-size:12px;line-height:1.25;text-align:center;color:var(--muted)}
.refs img{width:100%;aspect-ratio:1;border-radius:8px;border:1px solid var(--line);display:block;margin-bottom:4px}
.refs .good{color:var(--color-success);font-weight:600}

.summary{margin-top:16px;border-top:1px solid var(--line)}
.summary div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.summary span{color:var(--muted)}
.summary b{text-align:right;font-weight:600}
.summary a{font-size:14px;color:var(--muted)}

.consent{margin-top:16px;max-height:280px;overflow:auto;border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:14px;line-height:1.5;background:var(--soft)}
.consent h1{font-size:16px;margin:0 0 8px}
.consent h2,.consent h3{font-size:15px;margin:12px 0 6px}
.consent p{margin:0 0 8px}

.spinner{width:22px;height:22px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ink);animation:spin .8s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}
.num{font:700 24px/1.2 ui-monospace,Menlo,monospace;letter-spacing:.06em;word-break:break-all}
.muted{color:var(--muted)}
.copy{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.copy span{font-size:13px;color:var(--muted);display:block}
.copy b{font-weight:600;word-break:break-word}
.copy button{flex:none;border:1.5px solid var(--line);background:none;border-radius:10px;padding:8px 12px;font:500 14px inherit;font-family:inherit;cursor:pointer}
footer.small{font-size:13px;color:var(--muted);margin-top:40px;border-top:1px solid var(--line);padding-top:16px}

/* Переключатель вариантов A/B для теста (28.10): виден на лендингах, пока идёт выбор */
.ab-switch{position:fixed;top:12px;right:12px;z-index:60;background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.ab-switch a{margin-left:6px;font-weight:600}
/* 30.10: ссылка «закончить позже» под шагом мастера */
.resume{margin-top:28px;text-align:center}
.linklike{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.box.bad.top{margin:0 0 16px}
