@layer app {
  .settings-page { max-width: 1080px; padding-top: 2.5rem; }
  .settings-header { margin-bottom: 2.5rem; }
  .settings-header h1 { color: var(--ink); font-size: 2rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
  .settings-identity { display: flex; align-items: center; gap: 1rem; min-width: 0; }
  .settings-avatar { width: 3rem; height: 3rem; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }
  .settings-avatar-initials { display: grid; place-items: center; background: var(--ink); color: var(--white); font-size: 1rem; font-weight: 800; }
  .settings-identity strong, .settings-identity span { display: block; }
  .settings-identity strong { color: var(--ink); font-size: 0.95rem; }
  .settings-identity span { max-width: 13rem; overflow: hidden; color: var(--muted); font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
  .settings-errors { margin-bottom: 1.5rem; }
  .settings-layout { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 1.5rem; align-items: start; }
  .settings-panel { border: 1px solid var(--line); border-radius: 0.75rem; background: var(--white); padding: 1.5rem; }
  .settings-main { padding: 0; }
  .settings-group { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 2.5rem; padding: 2.5rem; }
  .settings-group + .settings-group { border-top: 1px solid var(--line); }
  .settings-group h2 { color: var(--ink); font-size: 1rem; font-weight: 800; letter-spacing: -0.01em; }
  .settings-group header p { margin-top: 0.5rem; color: var(--muted); font-size: 0.88rem; line-height: 1.5; }
  .settings-form { display: grid; gap: 1rem; }
  .settings-checkbox { display: flex; align-items: center; gap: 0.75rem; font-size: var(--type-support); font-weight: 700; }
  .settings-checkbox input { width: 1.25rem; height: 1.25rem; padding: 0; }
  .settings-panel .field { gap: 0.5rem; }
  .settings-panel input:not(.button) { border-color: var(--line); border-radius: 0.5rem; background: var(--white); }
  .settings-panel input::placeholder { color: var(--muted); opacity: 1; }
  .field-note { color: var(--muted); font-size: var(--type-caption); }
  .settings-form-actions { display: flex; justify-content: flex-end; padding-top: 0.5rem; }
  .settings-form-actions .button { min-height: 2.75rem; border-color: var(--button); background: var(--button); font-weight: 800; }
  .settings-panel .button:hover { box-shadow: var(--shadow-lift); }
  .settings-disclosures { min-width: 0; }
  .settings-disclosure + .settings-disclosure { border-top: 1px solid var(--line); }
  .settings-disclosure summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; color: var(--ink); cursor: pointer; list-style: none; }
  .settings-disclosure summary::-webkit-details-marker { display: none; }
  .settings-disclosure summary > span:first-child { min-width: 0; }
  .settings-disclosure summary strong, .settings-disclosure summary small { display: block; }
  .settings-disclosure summary strong { font-size: var(--type-support); }
  .settings-disclosure summary small { max-width: 24rem; overflow: hidden; margin-top: 0.2rem; color: var(--muted); font-size: 0.82rem; text-overflow: ellipsis; white-space: nowrap; }
  .settings-change { flex: 0 0 auto; color: var(--primary); font-size: var(--type-caption); font-weight: 800; }
  .settings-disclosure[open] .settings-change { color: var(--muted); }
  .settings-disclosure .settings-form { padding: 0.5rem 0 1.5rem; }
  .settings-sidebar { position: sticky; top: 1.5rem; }
  .settings-summary { display: grid; gap: 1.5rem; }
  .settings-plan { display: grid; gap: 0.5rem; border-radius: 0.75rem; background: var(--blue); padding: 1rem; }
  .settings-plan-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
  .settings-plan-heading span { color: var(--muted); font-size: var(--type-caption); font-weight: 700; }
  .settings-plan-heading strong { color: var(--ink); font-size: 1rem; font-weight: 800; }
  .settings-plan p { color: var(--muted); font-size: var(--type-caption); line-height: 1.5; }
  .settings-summary > .button, .settings-summary > form .button { width: 100%; }
  .settings-summary > .settings-upgrade { border-color: var(--primary-hover); background: var(--primary-hover); color: var(--white); font-weight: 800; }
  .settings-summary > .settings-upgrade:hover { border-color: var(--ink); background: var(--ink); }
  .settings-session { display: flex; justify-content: flex-end; border-top: 1px solid var(--line); padding-top: 1.5rem; }
  .settings-sign-out { min-height: 2.75rem; color: var(--danger); font-weight: 800; }
  .settings-sign-out:hover { color: var(--ink); }

  @media (max-width: 800px) {
    .settings-page { padding-top: 2rem; }
    .settings-layout { grid-template-columns: 1fr; }
    .settings-sidebar { position: static; }
  }

  @media (max-width: 560px) {
    .settings-header { margin-bottom: 2rem; }
    .settings-group { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.5rem; }
    .settings-form-actions { justify-content: stretch; }
    .settings-form-actions .button { width: 100%; }
  }
}
