/* "I agree" box and dialog (registration step 1 and /policy/consent). Uses signup.css tokens. */
.cs-check { display: flex; gap: 12px; align-items: flex-start; margin: 14px 0 6px; font-size: 15px; line-height: 1.45; cursor: pointer; }
.cs-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--brand); }
.cs-check a { font-weight: 600; white-space: nowrap; }
.cs-box { max-height: 46vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: #FFFEF2; font-size: 15px; line-height: 1.55; }
.cs-box:focus-visible { outline: 3px solid var(--accent); }
.cs-intro { margin: 0 0 8px; color: var(--muted); }
.cs-points { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.cs-full { margin: 12px 0 0; font-size: 14px; }
.cs-dialog { width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 24px); border: 0; border-radius: 20px; padding: 20px; color: var(--ink); box-shadow: 0 20px 60px rgba(60, 10, 20, .3); }
.cs-dialog::backdrop { background: rgba(30, 10, 16, .55); }
.cs-dialog h2 { margin: 0 0 12px; font-size: 22px; color: var(--brand-dark); }
.cs-btns { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; margin-top: 12px; }
.cs-btns .su-btn { width: 100%; }
.su-btn[disabled] { opacity: .45; cursor: not-allowed; }
@media (max-width: 480px) { .cs-dialog { width: 100%; max-width: none; margin: auto 0 0; border-radius: 20px 20px 0 0; padding-bottom: calc(16px + env(safe-area-inset-bottom)); } .cs-box { max-height: 52vh; } }
