/* Settings-only layout. Shared shell lives in app.css — don't redefine it here.
   Panels use .dash-card (from app.css) so they match the dashboard exactly;
   .settings-section only adds the description slot beneath the heading. */

.settings-section{margin-bottom:24px}
.settings-section h2{margin-bottom:6px}
.settings-section .section-desc{font-size:0.88rem;color:var(--text-muted);margin-bottom:24px}
/* ---- Toggle switch ---- */
.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid rgba(200,148,149,0.08)}
.toggle-row:last-child{border-bottom:none}
.toggle-info h4{font-size:0.95rem;font-weight:600;color:var(--text);margin-bottom:2px}
.toggle-info p{font-size:0.82rem;color:var(--text-muted)}
.toggle-switch{position:relative;width:52px;height:28px;flex-shrink:0}
.toggle-switch input{opacity:0;width:0;height:0}
.toggle-track{position:absolute;inset:0;border-radius:100px;background:rgba(200,148,149,0.2);cursor:pointer;transition:var(--transition)}
.toggle-track::after{content:'';position:absolute;width:22px;height:22px;border-radius:50%;background:white;top:3px;left:3px;box-shadow:0 2px 6px rgba(0,0,0,0.1);transition:transform .3s var(--ease-out)}
/* Solid rose,not a gradient — locked rule 2. */
.toggle-switch input:checked + .toggle-track{background:var(--rose-deep)}
.toggle-switch input:checked + .toggle-track::after{transform:translateX(24px)}
.toggle-switch input:focus-visible + .toggle-track{outline:2px solid var(--rose);outline-offset:2px}
/* ---- Read-only info rows ---- */
.info-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid rgba(200,148,149,0.06);font-size:0.9rem}
.info-row:last-child{border-bottom:none}
.info-row .label{color:var(--text-muted)}
.info-row .value{font-weight:700;color:var(--text);text-align:right;word-break:break-word}
/* ---- Preset cards ---- */
.preset-list{display:flex;flex-direction:column;gap:8px}
.preset-card{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:16px;border:1.5px solid var(--rose-hairline);background:var(--surface-solid);cursor:pointer;transition:var(--transition)}
.preset-card:hover{background:var(--rose-hover);border-color:rgba(200,148,149,0.28)}
.preset-card.selected{background:var(--rose-tint);border-color:var(--rose)}
.preset-card-radio{width:20px;height:20px;border-radius:50%;border:2px solid rgba(200,148,149,0.3);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}
.preset-card.selected .preset-card-radio{border-color:var(--rose-deep)}
.preset-card.selected .preset-card-radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--rose-deep)}
.preset-card-info h4{font-size:0.92rem;font-weight:600;color:var(--text);margin-bottom:2px}
.preset-card-info p{font-size:0.78rem;color:var(--text-muted)}
/* ---- Save row / misc ---- */
.pregnancy-desc{margin-top:12px;font-size:0.85rem;color:var(--text-light);line-height:1.6}
.section-save-row{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.section-saved-msg{display:inline-flex;align-items:center;gap:6px;font-size:0.85rem;font-weight:600;color:#059669;opacity:0;transition:opacity 0.3s}
.section-saved-msg.show{opacity:1}
.section-saved-msg [data-lucide]{width:15px;height:15px}
.readonly-note{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:var(--text-light);font-style:italic;margin-top:12px}
.readonly-note [data-lucide]{width:14px;height:14px;flex-shrink:0}
.inline-select{display:flex;align-items:center;gap:12px}
.inline-select select.form-control{width:auto;min-width:140px}
@media(max-width:900px){
.toggle-row{gap:16px}
}
@media(max-width:600px){
.settings-section{padding:20px}
.info-row{flex-direction:column;align-items:flex-start;gap:4px}
.info-row .value{text-align:left}
/* A 52px switch can stay inline on mobile; a <select> can't — it squeezes the
     label into a 3-line sliver. Stack only those rows. */
  .toggle-row:has(select){flex-direction:column;align-items:stretch;gap:10px}
.toggle-row:has(select) select.form-control{width:100%}
}
