@layer app {
  .settings-page { max-width: 1080px; padding-top: 2.5rem; }
  .settings-header { display: grid; gap: 0.5rem; margin-bottom: 2.5rem; }
  .settings-header h1 { color: var(--ink); font-family: "Manrope", var(--font-sans); font-size: 2rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
  .settings-header p { color: var(--muted); }
  .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: #ffffff; 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: #ffffff; 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-family: "Manrope", var(--font-sans); 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-panel .field { gap: 0.5rem; }
  .settings-panel input:not(.button) { border-color: var(--line); border-radius: 0.5rem; background: #ffffff; }
  .settings-panel input::placeholder { color: var(--muted); opacity: 1; }
  .field-note { color: var(--muted); font-size: 0.85rem; }
  .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: 0 6px 8px rgba(16, 26, 53, 0.14); }
  .settings-panel .button:focus-visible, .settings-sign-out:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
  .settings-sidebar { position: sticky; top: 1.5rem; }
  .settings-summary { display: grid; gap: 1.5rem; }
  .settings-plan { display: grid; gap: 0.5rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
  .settings-plan-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
  .settings-plan-heading span { color: var(--muted); font-size: 0.85rem; font-weight: 700; }
  .settings-plan-heading strong { color: var(--ink); font-size: 1rem; font-weight: 800; }
  .settings-plan p { color: var(--muted); font-size: 0.85rem; line-height: 1.5; }
  .settings-summary > .button, .settings-summary > form .button { width: 100%; }
  .settings-summary > .settings-upgrade { border-color: var(--button); background: var(--button); color: var(--button-text); font-weight: 800; }
  .settings-summary > .settings-upgrade:hover { border-color: var(--primary-hover); background: var(--primary-hover); }
  .settings-session { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding-top: 1.5rem; }
  .settings-session p { color: var(--muted); font-size: 0.82rem; }
  .settings-sign-out { min-height: 2.75rem; color: #c62a38; 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%; }
  }
}
