#onboardingHost { max-width:960px; }
#onboardingHost h3 { margin:0 0 8px; font-size:1.25rem; }
#onboardingHost h4 { margin:24px 0 8px; font-size:1rem; }
#onboardingHost p { max-width:70ch; line-height:1.55; }
#onboardingHost .hint { color:var(--text); }
.ob-head { display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.ob-head p { margin:0; }
.ob-steps { display:flex; gap:16px; list-style:none; padding:20px 0; margin:20px 0 0; border-block:1px solid var(--border-strong); }
.ob-steps li { display:flex; align-items:center; gap:8px; color:var(--text-muted); }
.ob-steps span { display:grid; place-items:center; width:28px; height:28px; border:1px solid var(--border-strong); border-radius:50%; }
.ob-steps [aria-current] { color:var(--accent); font-weight:600; }
.ob-steps [aria-current] span { background:var(--accent); color:var(--surface); border-color:var(--accent); }
.ob-content { padding-bottom:16px; }
.ob-marketplaces { display:flex; gap:12px; margin:20px 0; }
#onboardingHost [aria-pressed=true] { color:var(--accent); border-color:var(--accent); background:var(--accent-soft); }
.ob-field { display:flex; flex-direction:column; gap:8px; max-width:480px; margin:20px 0; font-weight:600; }
.ob-field input { width:100%; padding:12px; border:1px solid var(--border-strong); border-radius:var(--radius-sm); font:inherit; color:var(--text); background:var(--surface); }
.ob-instructions { max-width:70ch; padding-left:24px; line-height:1.6; }
.ob-instructions li + li { margin-top:12px; }
.ob-shops { list-style:none; padding:0; }
.ob-shops > li { padding-bottom:20px; border-bottom:1px solid var(--border-strong); }
.ob-evidence { list-style:none; padding:0; max-width:75ch; }
.ob-evidence li { display:grid; grid-template-columns:130px 1fr; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.ob-message { min-height:24px; }
.ob-error { color:var(--danger); }
#onboardingHost .st-btn { margin:4px 8px 4px 0; }
#onboardingHost :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
#onboardingHost button:disabled { opacity:.6; cursor:wait; }
@media(max-width:600px) { .ob-steps { flex-wrap:wrap; gap:12px; } .ob-steps li { width:calc(50% - 8px); } .ob-evidence li { grid-template-columns:1fr; gap:4px; } .ob-head { align-items:flex-start; } }

/* Окно входа и регистрации: подсказка к паролю, ошибки, переключатель режима, состояние «идёт запрос» */
.landing-auth-modal .auth-hint { margin: 0.2rem 0 0; color: #A9B6D0; font-size: 0.78rem; line-height: 1.4; }
.landing-auth-modal .auth-status--error { color: #FFB4A8; }
.landing-auth-modal .auth-box input[aria-invalid="true"]:not([type="checkbox"]) { border-color: #FF8A7A; }
.landing-auth-modal .auth-links--center { justify-content: center; }
.landing-auth-modal .auth-box button.auth-primary:disabled { opacity: 0.65; cursor: progress; }
.landing-auth-modal .auth-box button:focus-visible,
.landing-auth-modal .auth-box a:focus-visible,
.landing-auth-modal-close:focus-visible { outline: 2px solid #FFC53D; outline-offset: 2px; }
.landing-auth-modal .auth-box label.auth-legal-consent { color: #A9B6D0; }

/* Новый кабинет без магазинов: подключение стоит первым и заметно выделено */
#onboardingHost.ob-spotlight { border:2px solid var(--accent); box-shadow:0 8px 28px rgba(0,113,227,.14); scroll-margin-top:12px; }
#onboardingHost.ob-spotlight .ob-head h3 { font-size:1.4rem; }
.summary-empty-cta { display:grid; gap:12px; justify-items:start; max-width:560px; padding:20px 0; }
.summary-empty-cta p { margin:0; line-height:1.55; }
.ob-key-guide { margin:12px 0; padding:12px 14px; border:1px solid var(--border-strong); border-radius:10px; font-size:0.92em; }
.ob-key-guide h5 { margin:0 0 6px; font-size:1em; }
.ob-key-guide ol { margin:0 0 8px; padding-left:20px; }
.ob-key-guide li { margin:3px 0; }
.ob-warning { margin:8px 0 0; padding:8px 10px; border-radius:8px; background:rgba(255,197,61,.16); }
.ob-token-advice { margin:12px 0; padding:10px 12px; border-radius:10px; border:1px solid var(--border-strong); }
.ob-token-advice--warn { border-color:#E0A100; background:rgba(255,197,61,.16); }
.ob-token-advice ul { margin:6px 0 0; padding-left:20px; }
.conn-delete-key { color:#B3261E; }
