.settings-page { min-height:calc(100vh - 88px); padding:34px clamp(32px,5vw,76px) 72px; background:#fff; }
.settings-form { max-width:920px; }
.settings-form section { scroll-margin-top:120px; }

.settings-section-actions { display:flex; margin-top:24px; align-items:center; justify-content:flex-start; gap:18px; }
.settings-section-actions .cab-primary-action { margin:0; border:0; cursor:pointer; }
.settings-section-actions p { margin:0; color:var(--cab-success); font-size:15px; font-weight:650; }
.settings-section-actions p.is-error { color:var(--cab-danger); }
.settings-section-actions p.is-muted { color:var(--cab-muted); }

.settings-logout { min-height:48px; padding:0 18px; border:1px solid var(--cab-line-strong); border-radius:8px; background:#fff; color:var(--cab-ink); font:650 15px/1 'Finlandica Text',sans-serif; cursor:pointer; transition:border-color var(--cab-fast) var(--cab-ease); }
.settings-logout:hover { border-color:var(--cab-ink); }
.settings-logout:focus-visible { outline:2px solid var(--cab-brand); outline-offset:2px; }
.settings-exit-note { margin:0; color:var(--cab-copy); font-size:15px; line-height:1.5; }

.settings-notifications { display:grid; gap:22px; }
.settings-channels { display:grid; gap:10px; }
.settings-channels > span { color:var(--cab-ink); font-size:15px; font-weight:650; }
.settings-channels label { display:flex; min-height:48px; padding:10px 14px; align-items:center; gap:12px; border:1px solid var(--cab-line-strong); border-radius:8px; cursor:pointer; }
.settings-channels label:has(input:checked) { border-color:var(--cab-brand); background:var(--cab-soft-red); }
.settings-channels label:focus-within { outline:2px solid var(--cab-brand); outline-offset:2px; }
.settings-channels input { width:18px; height:18px; accent-color:var(--cab-brand); }
.settings-channels b { color:var(--cab-ink); font-size:15px; }
.settings-channels small { color:var(--cab-muted); font-size:14px; margin-left:auto; }

.settings-preferences { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; border:0; }
.settings-preferences legend { padding:0; margin-bottom:4px; color:var(--cab-ink); font-size:15px; font-weight:650; }
.settings-preferences label { display:flex; min-height:44px; padding:10px 14px; align-items:center; gap:12px; border:1px solid var(--cab-line); border-radius:8px; background:var(--cab-surface); cursor:pointer; }
.settings-preferences label:has(input:checked) { border-color:var(--cab-line-strong); background:#fff; }
.settings-preferences label:focus-within { outline:2px solid var(--cab-brand); outline-offset:2px; }
.settings-preferences input { width:18px; height:18px; flex:0 0 auto; accent-color:var(--cab-brand); }
.settings-preferences span { color:var(--cab-copy); font-size:15px; line-height:1.35; }

@media (max-width:980px) {
  .settings-page { padding:26px 24px 54px; }
}
@media (max-width:760px) {
  .settings-preferences { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .settings-page { padding:26px 16px 48px; }
  .settings-section-actions { align-items:flex-start; flex-direction:column; gap:10px; }
  .settings-section-actions .cab-primary-action { width:100%; }
  .settings-section-actions p { margin:0; }
  .settings-logout { width:100%; }
  .settings-channels small { margin-left:0; }
}
@media (prefers-reduced-motion:reduce) {
  .settings-logout { transition-duration:.01ms!important; }
}
