/* =============================================================
   SETTINGS (unter Profil)
   ============================================================= */
.settings-list {
  display: flex; flex-direction: column;
  border: 1px solid var(--border); border-radius: var(--r-md);
  overflow: hidden; background: var(--surface);
}
.settings-row {
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--s-4); width: 100%;
  padding: 14px 16px; text-align: left;
  border: none; background: none; color: var(--text);
  font: inherit; cursor: pointer;
  transition: background var(--dur-fast) var(--ease);
}
.settings-row + .settings-row { border-top: 1px solid var(--border); }
.settings-row:hover { background: var(--surface2); }
.settings-row-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.settings-row-title { font-family: var(--font-display); font-size: var(--fs-body); }
.settings-row-sub   { font-size: var(--fs-small); color: var(--muted); }
.settings-row-arrow { color: var(--muted-deep); font-size: 18px; line-height: 1; }
.settings-row-danger .settings-row-title { color: var(--danger); }
/* Admin-Row: dezenter Primary-Akzent, signalisiert privilegierten Bereich. */
.settings-row-admin .settings-row-title { color: var(--primary); }
/* iOS-style Toggle fuer Notifications-Row. Visualisiert den
   Subscription-Status (an/aus/nicht verfuegbar). Click-Handling sitzt
   auf der ganzen Row, damit der Tap-Target gross bleibt. */
.notify-toggle {
  flex-shrink: 0;
  width: 44px; height: 26px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: var(--r-full);
  position: relative;
  transition: background var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease);
}
.notify-knob {
  position: absolute; top: 2px; left: 2px;
  width: 20px; height: 20px;
  background: var(--text);
  border-radius: 50%;
  transition: transform var(--dur-base) var(--ease-spring), background var(--dur-base) var(--ease);
}
.notify-toggle.on { background: var(--primary); border-color: transparent; }
.notify-toggle.on .notify-knob { transform: translateX(18px); background: #fff; }
.notify-toggle.busy .notify-knob { animation: notify-pulse 700ms ease-in-out infinite; }
@keyframes notify-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.5; }
}
.notify-toggle.disabled { opacity: 0.4; }
@media (prefers-reduced-motion: reduce) {
  .notify-knob { transition: transform 0s, background 0s; }
  .notify-toggle.busy .notify-knob { animation: none; }
}
