/* ============================================
   ARTHA — SPRINT 1-3 MODULE STYLES
   All new modules. Append to styles.css
   ============================================ */

/* ── SHARED UTILITIES ───────────────────────── */
.artha-toast {
  position: fixed; bottom: 80px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: var(--color-background-primary); border: 0.5px solid var(--color-border-secondary);
  border-radius: 24px; padding: .5rem 1.25rem; font-size: 13px; font-weight: 500;
  color: var(--color-text-primary); display: flex; align-items: center; gap: 8px;
  opacity: 0; transition: all .25s; z-index: 9999; white-space: nowrap; box-shadow: none;
}
.artha-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.artha-toast-gold { border-color: #BA7517; color: #854F0B; }
.artha-toast-gold i { color: #BA7517; }

.bottom-sheet-overlay {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.55); z-index: 9999;
  display: flex; align-items: flex-end; justify-content: center;
}
.bottom-sheet {
  background: var(--color-background-primary); width: 100%; max-width: 680px;
  max-height: 92vh; border-radius: 16px 16px 0 0; overflow-y: auto;
  padding: 0 1rem 2rem;
  transform: translateY(100%); transition: transform .3s cubic-bezier(0.16,1,0.3,1);
}
.bottom-sheet.open { transform: translateY(0); }
.sheet-handle {
  width: 36px; height: 4px; background: var(--color-border-secondary);
  border-radius: 2px; margin: .75rem auto;
}

/* ── CONTACTS CRM ───────────────────────────── */
.crm-wrap { padding: 0 0 5rem; }
.crm-header { padding: 1rem 1rem .5rem; background: var(--color-background-primary); position: sticky; top: 0; z-index: 10; border-bottom: 0.5px solid var(--color-border-tertiary); }
.crm-title-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.crm-title { font-size: 22px; font-weight: 500; }
.crm-header-actions { display: flex; gap: 8px; align-items: center; }
.crm-btn-icon { background: none; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; padding: 6px 10px; cursor: pointer; color: var(--color-text-secondary); font-size: 16px; }
.crm-btn-primary { background: #BA7517; border: none; border-radius: 8px; padding: 7px 14px; cursor: pointer; color: #fff; font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 5px; }
.crm-search-wrap { position: relative; margin-bottom: .625rem; }
.crm-search-icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--color-text-tertiary); font-size: 16px; }
.crm-search { width: 100%; padding: .5rem .75rem .5rem 2rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; background: var(--color-background-secondary); font-size: 14px; color: var(--color-text-primary); }
.crm-filters { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: none; }
.crm-filters::-webkit-scrollbar { display: none; }
.crm-filter-tab { flex-shrink: 0; padding: 4px 12px; border: 0.5px solid var(--color-border-tertiary); border-radius: 20px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.crm-filter-tab.active { background: #BA7517; border-color: #BA7517; color: #fff; }
.crm-stats { font-size: 12px; color: var(--color-text-tertiary); padding-top: 4px; display: flex; gap: 12px; }
.crm-stat-alert { color: var(--color-text-warning); }
.crm-list { padding: 0 1rem; }
.crm-group-label { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); padding: .75rem 0 .25rem; letter-spacing: .06em; }
.crm-row { display: flex; align-items: center; gap: 12px; padding: .75rem 0; border-bottom: 0.5px solid var(--color-border-tertiary); cursor: pointer; }
.crm-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 500; flex-shrink: 0; }
.crm-row-info { flex: 1; min-width: 0; }
.crm-row-name { font-size: 15px; font-weight: 500; color: var(--color-text-primary); }
.crm-row-meta { font-size: 12px; color: var(--color-text-tertiary); }
.crm-row-right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.crm-badge-followup { font-size: 10px; background: var(--color-background-warning); color: var(--color-text-warning); padding: 2px 7px; border-radius: 10px; font-weight: 500; }
.crm-days-ago { font-size: 11px; color: var(--color-text-tertiary); }
.crm-row-chevron { font-size: 14px; color: var(--color-text-tertiary); }
.crm-empty { text-align: center; padding: 3rem 1rem; color: var(--color-text-secondary); }
.crm-empty-icon { font-size: 36px; margin-bottom: .5rem; }
.crm-empty p { font-size: 14px; }
.crm-empty-sub { font-size: 12px; color: var(--color-text-tertiary); margin-top: 4px; }

/* CRM Profile Sheet */
.crm-profile-sheet { max-height: 95vh; }
.crm-profile-hero { text-align: center; padding: 1.5rem 1rem 1rem; border-radius: 8px; margin: .5rem 0 1rem; }
.crm-profile-avatar { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 500; margin: 0 auto .75rem; }
.crm-profile-name { font-size: 20px; font-weight: 500; }
.crm-profile-rel { font-size: 13px; color: var(--color-text-secondary); margin-top: 2px; }
.crm-profile-company { font-size: 12px; color: var(--color-text-tertiary); }
.crm-profile-actions { display: flex; gap: 10px; justify-content: center; margin: .75rem 0 1.25rem; flex-wrap: wrap; }
.crm-action-btn { width: 44px; height: 44px; border-radius: 50%; border: 0.5px solid var(--color-border-secondary); background: var(--color-background-secondary); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--color-text-primary); cursor: pointer; text-decoration: none; }
.crm-profile-body { padding-bottom: 1rem; }
.crm-detail-row { display: flex; align-items: center; gap: 10px; padding: .5rem 0; font-size: 14px; color: var(--color-text-primary); border-bottom: 0.5px solid var(--color-border-tertiary); }
.crm-detail-row i { color: var(--color-text-tertiary); font-size: 16px; }
.crm-section-head { font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: .06em; margin: 1.25rem 0 .5rem; }
.crm-section-sub { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--color-text-tertiary); font-size: 11px; }
.crm-chip-row { display: flex; flex-wrap: wrap; gap: 6px; }
.crm-chip { padding: 5px 12px; border: 0.5px solid var(--color-border-secondary); border-radius: 20px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.crm-chip.selected, .crm-chip:active { background: #BA7517; border-color: #BA7517; color: #fff; }
.crm-chip-give { border-color: #0F6E56; color: #0F6E56; }
.crm-chip-give.selected { background: #0F6E56; color: #fff; }
.crm-log-row { display: flex; align-items: center; gap: 8px; padding: .375rem 0; border-bottom: 0.5px solid var(--color-border-tertiary); font-size: 13px; }
.crm-log-type { font-weight: 500; color: var(--color-text-primary); flex-shrink: 0; }
.crm-log-note { flex: 1; color: var(--color-text-secondary); }
.crm-log-date { color: var(--color-text-tertiary); font-size: 11px; flex-shrink: 0; }
.crm-give-tag { color: #0F6E56; }
.crm-notes-text { font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; padding: .5rem 0; }
.crm-followup-row { display: flex; align-items: center; gap: 10px; }
.crm-date-input { border: 0.5px solid var(--color-border-secondary); border-radius: 8px; padding: 6px 10px; font-size: 13px; background: var(--color-background-secondary); color: var(--color-text-primary); }
.crm-followup-label { font-size: 12px; color: var(--color-text-tertiary); }
.crm-delete-btn { width: 100%; margin-top: 1.5rem; padding: .75rem; border: 0.5px solid var(--color-border-danger); border-radius: 8px; background: none; color: var(--color-text-danger); font-size: 14px; cursor: pointer; }

/* CRM Form */
.crm-form-sheet { max-height: 95vh; }
.crm-form-title { font-size: 18px; font-weight: 500; padding: .5rem 0 1rem; }
.crm-form-group { margin-bottom: 1rem; }
.crm-label { font-size: 12px; color: var(--color-text-secondary); display: block; margin-bottom: 4px; }
.crm-input { width: 100%; padding: .5rem .75rem; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: var(--color-background-primary); color: var(--color-text-primary); font-size: 14px; }
.crm-textarea { min-height: 80px; resize: vertical; }
.crm-rel-chip.selected { background: #185FA5; border-color: #185FA5; color: #fff; }
.crm-form-actions { display: flex; gap: 10px; margin-top: 1.5rem; }
.crm-btn-cancel { flex: 1; padding: .75rem; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: none; color: var(--color-text-secondary); font-size: 14px; cursor: pointer; }
.crm-btn-save { flex: 2; padding: .75rem; border: none; border-radius: 8px; background: #BA7517; color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; }

/* CRM Import */
.crm-import-desc { font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; margin-bottom: 1rem; }
.crm-import-how { background: var(--color-background-secondary); border-radius: 8px; padding: .75rem; margin-bottom: 1rem; }
.crm-import-step { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--color-text-secondary); margin-bottom: .375rem; }
.crm-import-num { background: #BA7517; color: #fff; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 500; flex-shrink: 0; }
.crm-import-drop { border: 1.5px dashed var(--color-border-secondary); border-radius: 12px; padding: 2rem; text-align: center; cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.crm-import-drop-text { font-size: 14px; font-weight: 500; color: var(--color-text-primary); }
.crm-import-drop-sub { font-size: 12px; color: var(--color-text-tertiary); }
.crm-import-summary { display: flex; gap: 10px; margin-bottom: .75rem; }
.crm-import-new { font-size: 13px; font-weight: 500; color: var(--color-text-success); }
.crm-import-dupe { font-size: 13px; color: var(--color-text-tertiary); }
.crm-import-row { display: flex; justify-content: space-between; align-items: center; padding: .375rem 0; border-bottom: 0.5px solid var(--color-border-tertiary); }
.crm-import-row-name { font-size: 13px; font-weight: 500; }
.crm-import-row-meta { font-size: 11px; color: var(--color-text-tertiary); }
.crm-import-more { font-size: 12px; color: var(--color-text-tertiary); padding-top: .5rem; }

/* ── MORNING DECLARATION ─────────────────────── */
.decl-sheet { max-height: 95vh; }
.decl-header { text-align: center; padding: 1rem 0 1.5rem; }
.decl-symbol { font-size: 28px; color: #BA7517; }
.decl-title { font-size: 20px; font-weight: 500; margin-top: .25rem; }
.decl-sub { font-size: 13px; color: var(--color-text-secondary); margin-top: 4px; }
.decl-section { margin-bottom: 1.5rem; }
.decl-section-label { display: flex; align-items: center; gap: 8px; margin-bottom: .625rem; }
.decl-label-badge { font-size: 11px; font-weight: 500; padding: 2px 10px; border-radius: 20px; }
.iam-badge   { background: #BA751720; color: #854F0B; }
.ihave-badge { background: #1D9E7520; color: #085041; }
.igive-badge { background: #99355620; color: #72243E; }
.decl-label-desc { font-size: 12px; color: var(--color-text-tertiary); }
.decl-chips { display: flex; flex-direction: column; gap: 6px; }
.decl-chip { text-align: left; padding: .625rem .875rem; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; font-size: 13px; background: none; color: var(--color-text-primary); cursor: pointer; line-height: 1.4; }
.decl-chip.selected { border-color: #BA7517; background: #BA751710; }
.decl-custom-wrap { margin-top: 8px; }
.decl-custom-input { width: 100%; padding: .5rem .75rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; font-size: 13px; background: var(--color-background-secondary); color: var(--color-text-primary); }
.decl-actions { display: flex; gap: 10px; margin-top: 1.5rem; }
.decl-btn-cancel { flex: 1; padding: .75rem; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: none; color: var(--color-text-secondary); font-size: 14px; cursor: pointer; }
.decl-btn-declare { flex: 2; padding: .75rem; border: none; border-radius: 8px; background: #BA7517; color: #fff; font-size: 14px; font-weight: 500; cursor: pointer; }

/* ── HORA DIRECTIVE ──────────────────────────── */
.hora-card { padding: .75rem 0; }
.hora-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: .75rem; }
.hora-planet-symbol { font-size: 28px; line-height: 1; }
.hora-planet-info { flex: 1; }
.hora-planet-name { font-size: 18px; font-weight: 500; }
.hora-quality { font-size: 12px; color: var(--color-text-secondary); }
.hora-timer { text-align: right; }
.hora-mins { font-size: 20px; font-weight: 500; color: var(--color-text-primary); }
.hora-mins-label { font-size: 11px; color: var(--color-text-tertiary); }
.hora-rahu-alert { background: var(--color-background-warning); color: var(--color-text-warning); padding: .5rem .75rem; border-radius: 8px; font-size: 12px; display: flex; gap: 6px; align-items: center; margin-bottom: .75rem; }
.hora-strength { font-size: 16px; margin-bottom: .75rem; }
.hora-strength-label { font-size: 12px; color: var(--color-text-tertiary); margin-left: 6px; }
.hora-section-label { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .375rem; }
.hora-item { display: flex; align-items: flex-start; gap: 6px; font-size: 13px; padding: 2px 0; }
.hora-item i { flex-shrink: 0; margin-top: 1px; }
.hora-item-good i { color: var(--color-text-success); }
.hora-item-avoid i { color: var(--color-text-danger); }
.hora-avoid { margin: .75rem 0; }
.hora-best { margin-bottom: .75rem; }
.hora-example { font-size: 13px; color: var(--color-text-secondary); font-style: italic; border-left: 2px solid #BA7517; padding-left: .75rem; margin: .75rem 0; line-height: 1.5; }
.hora-chart-note { font-size: 12px; color: var(--color-text-tertiary); background: var(--color-background-secondary); border-radius: 8px; padding: .625rem .75rem; line-height: 1.5; margin-bottom: .75rem; }
.hora-next { font-size: 11px; color: var(--color-text-tertiary); }
.hora-mini { display: flex; align-items: center; gap: 8px; padding: .5rem .75rem; background: var(--color-background-secondary); border-radius: 8px; cursor: pointer; }
.hora-mini-symbol { font-size: 16px; }
.hora-mini-name { font-size: 13px; font-weight: 500; }
.hora-mini-quality { font-size: 12px; color: var(--color-text-tertiary); flex: 1; }
.hora-mini-time { font-size: 12px; color: var(--color-text-tertiary); }
.hora-mini-rahu { font-size: 10px; background: var(--color-background-warning); color: var(--color-text-warning); padding: 2px 6px; border-radius: 8px; }

/* ── DAILY BRIEFING ──────────────────────────── */
.briefing-wrap { padding: .5rem 0; }
.briefing-loading { font-size: 13px; color: var(--color-text-tertiary); padding: 1rem; display: flex; align-items: center; gap: 8px; }
.briefing-wisdom { font-size: 13px; color: var(--color-text-secondary); font-style: italic; border-left: 2px solid #BA7517; padding-left: .75rem; margin-bottom: 1rem; line-height: 1.5; }
.briefing-wisdom-src { font-style: normal; font-size: 11px; color: var(--color-text-tertiary); }
.briefing-hora-bar { display: flex; align-items: center; gap: 8px; background: var(--color-background-secondary); border-radius: 8px; padding: .5rem .75rem; margin-bottom: 1rem; font-size: 13px; }
.briefing-hora-symbol { font-size: 16px; }
.briefing-hora-name { font-weight: 500; }
.briefing-hora-qual { flex: 1; color: var(--color-text-secondary); }
.briefing-hora-time { font-size: 11px; color: var(--color-text-tertiary); }
.briefing-list { display: flex; flex-direction: column; gap: 2px; }
.briefing-row { display: flex; align-items: flex-start; gap: 8px; padding: .5rem .625rem; border-radius: 8px; }
.briefing-red { background: var(--color-background-danger); }
.briefing-yellow { background: var(--color-background-warning); }
.briefing-green { background: transparent; }
.briefing-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.briefing-dot-red { background: var(--color-text-danger); }
.briefing-dot-yellow { background: var(--color-text-warning); }
.briefing-dot-green { background: var(--color-text-success); }
.briefing-rank { font-size: 11px; color: var(--color-text-tertiary); min-width: 16px; flex-shrink: 0; margin-top: 2px; }
.briefing-icon { font-size: 14px; color: var(--color-text-tertiary); flex-shrink: 0; margin-top: 1px; }
.briefing-row-content { flex: 1; min-width: 0; }
.briefing-label { font-size: 13px; font-weight: 500; color: var(--color-text-primary); display: block; }
.briefing-msg { font-size: 12px; color: var(--color-text-secondary); display: block; margin-top: 1px; line-height: 1.4; }
.briefing-ok { font-size: 11px; color: var(--color-text-success); display: block; margin-top: 1px; }
.briefing-summary { display: flex; gap: 10px; margin-top: .75rem; font-size: 12px; padding-top: .5rem; border-top: 0.5px solid var(--color-border-tertiary); }
.briefing-summary-red { color: var(--color-text-danger); }
.briefing-summary-yellow { color: var(--color-text-warning); }
.briefing-summary-green { color: var(--color-text-success); }

/* ── JOURNAL TIERED ──────────────────────────── */
.journal-wrap { padding: 0 1rem 5rem; }
.journal-header { padding: 1rem 0; }
.journal-title { font-size: 22px; font-weight: 500; }
.journal-date { font-size: 13px; color: var(--color-text-secondary); margin-top: 2px; }
.journal-energy-note { font-size: 12px; color: var(--color-text-tertiary); margin-top: 4px; }
.journal-tier-label { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: .06em; margin: 1.25rem 0 .625rem; display: flex; align-items: center; gap: 8px; }
.tier-badge { font-weight: 400; text-transform: none; letter-spacing: 0; padding: 1px 8px; border-radius: 10px; background: var(--color-background-secondary); color: var(--color-text-tertiary); font-size: 11px; }
.tier-badge-2 { background: var(--color-background-info); color: var(--color-text-info); }
.tier-badge-3 { background: var(--color-background-success); color: var(--color-text-success); }
.journal-aspect { background: var(--color-background-primary); border: 0.5px solid var(--color-border-tertiary); border-radius: 12px; padding: .875rem; margin-bottom: .75rem; }
.aspect-title { font-size: 14px; font-weight: 500; margin-bottom: .5rem; }
.aspect-title-sub { font-weight: 400; font-size: 12px; color: var(--color-text-tertiary); }
.aspect-sub { font-size: 12px; color: var(--color-text-tertiary); margin-bottom: .625rem; }
.mood-row { display: flex; gap: 6px; flex-wrap: wrap; }
.mood-btn { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 10px; border: 0.5px solid var(--color-border-tertiary); border-radius: 10px; background: none; cursor: pointer; }
.mood-btn.selected { border-color: #BA7517; background: #BA751710; }
.mood-emoji { font-size: 20px; }
.mood-label { font-size: 10px; color: var(--color-text-tertiary); }
.grat-row { position: relative; display: flex; align-items: center; gap: 8px; margin-bottom: .5rem; }
.grat-num { font-size: 13px; color: var(--color-text-tertiary); min-width: 16px; }
.grat-input { flex: 1; padding: .5rem .75rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; font-size: 13px; background: var(--color-background-secondary); color: var(--color-text-primary); }
.grat-suggestions { position: absolute; top: 100%; left: 0; right: 0; background: var(--color-background-primary); border: 0.5px solid var(--color-border-secondary); border-radius: 8px; z-index: 100; max-height: 180px; overflow-y: auto; }
.grat-sugg-item { padding: .5rem .75rem; font-size: 13px; color: var(--color-text-primary); cursor: pointer; border-bottom: 0.5px solid var(--color-border-tertiary); }
.grat-sugg-item:last-child { border-bottom: none; }
.release-chips { display: flex; flex-direction: column; gap: 6px; margin-bottom: .625rem; }
.release-chip { text-align: left; padding: .625rem .875rem; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; line-height: 1.4; }
.release-chip.selected { border-color: #534AB7; background: #534AB720; color: #3C3489; }
.journal-text-input { width: 100%; padding: .5rem .75rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; font-size: 13px; background: var(--color-background-secondary); color: var(--color-text-primary); margin-top: .375rem; }
.aspect-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.aspect-chip { padding: 5px 12px; border: 0.5px solid var(--color-border-secondary); border-radius: 20px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.aspect-chip.selected { background: #BA7517; border-color: #BA7517; color: #fff; }
.journal-free { margin: 1rem 0; }
.journal-free-text { width: 100%; min-height: 80px; padding: .625rem .875rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 10px; font-size: 14px; background: var(--color-background-secondary); color: var(--color-text-primary); resize: none; }
.journal-complete-btn { width: 100%; padding: .875rem; background: #BA7517; border: none; border-radius: 12px; color: #fff; font-size: 15px; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; }

/* ── BODY MODULE ──────────────────────────────── */
.body-wrap { padding: 0 1rem 5rem; }
.body-header { padding: 1rem 0; }
.body-title { font-size: 22px; font-weight: 500; }
.body-subtitle { font-size: 13px; color: var(--color-text-secondary); margin-top: 2px; }
.body-streak { font-size: 12px; color: #BA7517; margin-top: 4px; font-weight: 500; }
.body-card { display: flex; align-items: center; gap: 12px; padding: .875rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 12px; margin-bottom: .625rem; background: var(--color-background-primary); }
.body-card-icon { font-size: 24px; color: var(--color-text-secondary); width: 32px; text-align: center; }
.body-card-info { flex: 1; }
.body-card-label { font-size: 13px; font-weight: 500; }
.body-card-current { font-size: 12px; color: var(--color-text-tertiary); margin-top: 2px; }
.body-tap-btn { padding: 6px 14px; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: none; color: var(--color-text-secondary); font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.water-controls { display: flex; align-items: center; gap: 10px; }
.water-btn { width: 32px; height: 32px; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: none; color: var(--color-text-primary); font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.water-btn:disabled { opacity: .3; }
.water-count { font-size: 18px; font-weight: 500; min-width: 24px; text-align: center; }
.sleep-picker-label { font-size: 12px; color: var(--color-text-secondary); margin-bottom: .5rem; }
.sleep-options, .move-options { display: flex; flex-wrap: wrap; gap: 6px; padding: .625rem; }
.body-sleep-picker, .body-move-picker { background: var(--color-background-secondary); border-radius: 10px; margin-bottom: .625rem; padding: .625rem; }
.sleep-option, .move-option { padding: 5px 14px; border: 0.5px solid var(--color-border-secondary); border-radius: 20px; font-size: 13px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.sleep-option.selected, .move-option.selected { background: #185FA5; border-color: #185FA5; color: #fff; }
.body-insight { padding: .75rem; border-radius: 10px; background: var(--color-background-secondary); margin: .75rem 0; }
.body-insight-text { font-size: 13px; color: var(--color-text-secondary); line-height: 1.5; }
.body-insight-warn { color: var(--color-text-warning); }
.body-insight-good { color: var(--color-text-success); }
.body-week { margin-top: 1.25rem; }
.body-week-label { font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); margin-bottom: .625rem; }
#body-week-grid { display: flex; gap: 6px; align-items: flex-end; height: 50px; }
.body-week-day { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: 1; }
.body-week-day.today .body-week-label-day { color: #BA7517; font-weight: 500; }
.body-week-bar { width: 100%; border-radius: 3px; transition: height .3s; }
.body-week-label-day { font-size: 10px; color: var(--color-text-tertiary); }

/* ── FAMILY MODULE ────────────────────────────── */
.family-wrap { padding: 0 1rem 5rem; }
.family-header { padding: 1rem 0; }
.family-title { font-size: 22px; font-weight: 500; }
.family-subtitle { font-size: 13px; color: var(--color-text-secondary); margin-top: 2px; }
.family-verse { font-size: 13px; color: var(--color-text-tertiary); font-style: italic; padding: .625rem .875rem; background: var(--color-background-secondary); border-radius: 8px; margin-bottom: 1rem; text-align: center; }
.family-card { border: 0.5px solid var(--color-border-tertiary); border-radius: 12px; padding: .875rem; margin-bottom: .75rem; background: var(--color-background-primary); }
.family-card-top { display: flex; align-items: center; gap: 12px; margin-bottom: .75rem; }
.family-avatar { width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 500; flex-shrink: 0; }
.family-card-info { flex: 1; }
.family-card-name { font-size: 15px; font-weight: 500; }
.family-card-role { font-size: 12px; color: var(--color-text-tertiary); }
.family-card-check { font-size: 16px; }
.family-card-logged { font-size: 12px; color: var(--color-text-secondary); margin-bottom: .5rem; padding: .375rem .625rem; background: var(--color-background-secondary); border-radius: 6px; }
.family-connection-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.family-conn-chip { padding: 4px 10px; border: 0.5px solid var(--color-border-tertiary); border-radius: 20px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.family-conn-chip.selected { background: #993556; border-color: #993556; color: #fff; }
.family-section-label { font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); margin-bottom: .5rem; margin-top: 1rem; }
.family-intentions { margin: 1rem 0; }
.family-intent-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.family-intent-chip { padding: 5px 12px; border: 0.5px solid var(--color-border-secondary); border-radius: 20px; font-size: 12px; background: none; color: var(--color-text-secondary); cursor: pointer; }
.family-intent-chip.selected { background: #BA7517; border-color: #BA7517; color: #fff; }
.family-note-wrap { margin-top: .75rem; }
.family-note-input { width: 100%; min-height: 80px; padding: .625rem .875rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 10px; font-size: 14px; background: var(--color-background-secondary); color: var(--color-text-primary); resize: none; }

/* ── VISION BOARD ─────────────────────────────── */
.vision-wrap { padding: 0 1rem 5rem; }
.vision-header { padding: 1rem 0; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; }
.vision-title { font-size: 22px; font-weight: 500; flex: 1; }
.vision-subtitle { font-size: 13px; color: var(--color-text-secondary); width: 100%; }
.vision-edit-btn { padding: 6px 14px; border: 0.5px solid var(--color-border-secondary); border-radius: 8px; background: none; color: var(--color-text-secondary); font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 5px; }
.vision-mahadasha { display: flex; align-items: center; gap: 12px; background: #BA751710; border: 0.5px solid #BA751730; border-radius: 12px; padding: .875rem; margin-bottom: 1.25rem; }
.vision-md-symbol { font-size: 28px; color: #BA7517; }
.vision-md-title { font-size: 14px; font-weight: 500; color: #854F0B; }
.vision-md-count { font-size: 12px; color: #BA7517; margin-top: 2px; }
.vision-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.vision-tile { border: 0.5px solid var(--color-border-tertiary); border-radius: 12px; padding: .875rem; background: var(--color-background-primary); }
.vision-tile-top { display: flex; align-items: center; gap: 6px; margin-bottom: .5rem; }
.vision-tile-domain { font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
.vision-tile-title { font-size: 13px; font-weight: 500; margin-bottom: .25rem; line-height: 1.3; }
.vision-tile-desc { font-size: 12px; color: var(--color-text-secondary); line-height: 1.4; margin-bottom: .375rem; }
.vision-tile-affirmation { font-size: 11px; color: var(--color-text-tertiary); font-style: italic; line-height: 1.4; }
.vision-declaration { background: var(--color-background-secondary); border-radius: 12px; padding: 1rem; margin-top: 1.25rem; text-align: center; }
.vision-decl-label { font-size: 11px; font-weight: 500; color: var(--color-text-tertiary); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .5rem; }
.vision-decl-text { font-size: 13px; color: var(--color-text-secondary); line-height: 1.7; font-style: italic; }
.vision-morning-card { padding: .75rem 0; }
.vision-morning-label { font-size: 12px; font-weight: 500; color: var(--color-text-tertiary); margin-bottom: .5rem; }
.vision-morning-tiles { display: flex; gap: 6px; margin-bottom: .625rem; }
.vision-morning-tile { flex: 1; padding: .5rem; border: 0.5px solid var(--color-border-tertiary); border-radius: 8px; font-size: 12px; color: var(--color-text-secondary); display: flex; align-items: center; gap: 5px; }
.vision-morning-tile i { font-size: 14px; }
.vision-morning-see-all { font-size: 13px; color: #BA7517; background: none; border: none; cursor: pointer; padding: 0; }
.vision-edit-sheet { max-height: 95vh; }
.vision-edit-tile { display: flex; align-items: flex-start; gap: 10px; padding: .75rem 0; border-bottom: 0.5px solid var(--color-border-tertiary); }
.vision-edit-tile-content { flex: 1; }
.vision-edit-tile-domain { font-size: 11px; color: var(--color-text-tertiary); margin-bottom: 2px; }

/* ── DASHA MESSAGING ─────────────────────────── */
.dasha-card { padding: .75rem 0; }
.dasha-header { margin-bottom: .875rem; }
.dasha-layers { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.dasha-layer { display: flex; flex-direction: column; align-items: center; }
.dasha-layer-label { font-size: 10px; color: var(--color-text-tertiary); }
.dasha-layer-value { font-size: 13px; font-weight: 500; }
.dasha-layer-remaining { font-size: 10px; color: var(--color-text-tertiary); }
.dasha-separator { font-size: 16px; color: var(--color-text-tertiary); }
.dasha-alert { background: var(--color-background-warning); color: var(--color-text-warning); padding: .5rem .75rem; border-radius: 8px; font-size: 12px; display: flex; align-items: center; gap: 6px; margin-bottom: .75rem; }
.dasha-theme { font-size: 13px; font-weight: 500; margin-bottom: .375rem; }
.dasha-message { font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; margin-bottom: .625rem; }
.dasha-action { font-size: 13px; color: #BA7517; display: flex; align-items: center; gap: 6px; }
.dasha-mini { font-size: 12px; color: var(--color-text-tertiary); }
.dasha-mini-alert { font-size: 12px; color: var(--color-text-warning); }
