/* Reminders and calendar settings (js/views/notifications.js), rendered into
   the settings sheet's notifications slot. Tokens only; 44 px targets. */

.notif { padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.notif h2 { font-size: 1.05rem; margin: 0 0 .5em; }
.notif h3 { font-size: .95rem; margin: 1.1em 0 .4em; }

.notif-hint { display: block; margin: .3em 0 .7em; font-size: .85rem; color: var(--muted); font-weight: 400; }
.notif-note { margin: .6em 0; padding: 8px 12px; border: 1px dashed var(--line); border-radius: 8px; font-size: .85rem; color: var(--muted); }

/* Switch row: a native checkbox with its label; the box shows state. */
.notif-switch { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 8px 0; }
.notif-switch input { width: 24px; height: 24px; margin: 10px 0 0; flex: none; accent-color: var(--accent); }
.notif-switch label { display: grid; gap: 2px; min-height: 44px; padding-top: 8px; cursor: pointer; }
.notif-switch-label { font-weight: 600; }
.notif-switch .notif-hint { margin: 0; }

.notif-field { margin: .8em 0 0; }
.notif-field label { display: block; margin: 0 0 .3em; font-weight: 600; font-size: .9rem; }
.notif-field select { min-height: 44px; min-width: 140px; padding: 0 10px; }

/* Chips: a pressed chip also gains a check mark, so state is not color alone. */
.notif-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: .4em 0 .8em; }
.notif-chip { border-radius: 22px; padding: 0 14px; }
.notif-chip[aria-pressed="true"] { background: var(--accent-tint); border-color: var(--accent); color: var(--accent); font-weight: 600; }
.notif-chip[aria-pressed="true"]::before { content: "✓ "; }

.notif-status { margin: 0; min-height: 1.2em; font-size: .85rem; color: var(--muted); text-align: right; }
.notif-status[data-kind="ok"]::before { content: "✓ "; }
.notif-status[data-kind="error"] { color: var(--urgent); }
.notif-status[data-kind="error"]::before { content: "! "; }

/* Calendar feed address: the input shrinks so the row wraps at phone width. */
.notif-feed { display: flex; flex-wrap: wrap; gap: 8px; margin: .4em 0; }
.notif-feed input { flex: 1 1 220px; min-width: 0; min-height: 44px; padding: 0 10px; font-family: var(--font-mono); }
@media (min-width: 900px) { .notif-feed input { font-size: .82rem; } }
.notif-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: .6em 0 0; }
.notif-open { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; color: var(--accent); }
