/* ── Bigsys Journal — Custom Style Overrides ── */
/* Only styles actually referenced in app.php, extracted from repeated inline styles */

/* Card section titles */
.card-title { font-size: calc(.9rem * var(--font-scale)); font-weight: 600; margin-bottom: 8px; }
.card-title-sm { font-size: calc(13px * var(--font-scale)); font-weight: 600; margin-bottom: 6px; }

/* Help info icons */
.card-title, .card-title-sm, .week-section-title { position: relative; }
.help-icon { position: absolute; right: 0; top: 0; cursor: pointer; font-size: calc(14px * var(--font-scale)); color: var(--text-muted); }
.help-icon-sm { position: absolute; right: 0; top: 0; cursor: pointer; font-size: calc(12px * var(--font-scale)); color: var(--text-muted); }

/* Danger + flex utilities */
.btn-danger-outline { flex: 1; color: #ef4444; border-color: #ef4444; }
.flex-1 { flex: 1; }

/* Sentiment bar */
.sentiment-bar { display: flex; gap: 2px; width: 100%; height: 4px; border-radius: 2px; overflow: hidden; }

/* Search entries */
.entry-item .card-body .preview {
	font-size: calc(.9rem * var(--font-scale));
	color: var(--text) !important;
}
.entry-item .card-header {
	font-size: calc(.85rem * var(--font-scale));
	color: var(--text) !important;
	font-weight: 600;
}

/* Patterns this week */
.narrative-text { font-size: calc(.9rem * var(--font-scale)); line-height: 1.6; margin-bottom: 10px; color: var(--text); }
.correlation-item { font-size: calc(.9rem * var(--font-scale)); padding: 2px 0; margin-bottom: 10px; margin-top: 10px; color: var(--text); }
.correlation-arrow { color: var(--indigo-light); margin-right: 4px; }
.generate-prompt { font-size: calc(12px * var(--font-scale)); color: var(--text-muted); margin-bottom: 8px; }

/* Analysis entry cards */
.analysis-header { margin-top: 0; border-radius: 0; text-align: center; border-top: 0; }
.analysis-body { margin-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.analysis-label { font-size: calc(13px * var(--font-scale)); font-weight: 600; color: var(--indigo-light); }
.summary-text { font-size: calc(13px * var(--font-scale)); line-height: 1.6; margin-bottom: 8px; }
.no-data-text { font-size: calc(13px * var(--font-scale)); text-align: center; padding: 12px; }

/* Loading text */
.loading-xs { font-size: calc(11px * var(--font-scale)); color: var(--text-muted); }

/* Entry mood emoji */
.entry-mood { font-size: calc(1rem * var(--font-scale)); }

/* Card header */
.card-header { font-size: calc(13px * var(--font-scale)); font-weight: 600; padding: 0 0 5px 0; background: none; border: none; border-bottom: 1px solid var(--border); margin-bottom: 5px; display: flex; justify-content: space-between; align-items: center; }
.card-header .help-icon,
.card-header .help-icon-sm { position: static; }
.card-body { padding: 0; }

/* Entry dropdown menu */
.menu-dropdown { position: absolute; right: 0; top: 100%; background: var(--card); border: 1px solid var(--border); border-radius: 8px; padding: 4px; z-index: 50; min-width: 120px; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.menu-item { padding: 6px 10px; cursor: pointer; font-size: calc(13px * var(--font-scale)); border-radius: 4px; display: flex; align-items: center; gap: 6px; }
.menu-item:hover { background: var(--card-hover); }
.menu-item.danger:hover { background: rgba(239,68,68,.1); }

/* ── Push notification toggle ── */
.notif-toggle { display:inline-block; width:40px; height:22px; border-radius:11px; background:var(--border); position:relative; cursor:pointer; transition:background .2s; flex-shrink:0; }
.notif-toggle.on { background:var(--indigo-light); }
.notif-knob { position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform .2s; }
.notif-toggle.on .notif-knob { transform:translateX(18px); }
.notif-toggle.loading { opacity:.45; cursor:default; }

/* ── Notification alert dot on menu button ── */
.notif-alert-dot { position:absolute; top:4px; right:4px; width:10px; height:10px; border-radius:50%; background:#ef4444; box-shadow:0 0 6px rgba(239,68,68,.6); }

/* Subtle pulse to draw attention to the add button */
@keyframes bigsys-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.3); }
  50% { box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
}
.fab-write {
  animation: bigsys-pulse 2.5s ease-in-out infinite;
}

/* Indigo pulse on light theme */
html[data-theme="light"] .fab-write {
  animation: bigsys-pulse-light 2.5s ease-in-out infinite;
}
@keyframes bigsys-pulse-light {
  0%, 100% { box-shadow: 0 0 0 0 rgba(99, 102, 241, 0.3); }
  50% { box-shadow: 0 0 0 10px rgba(99, 102, 241, 0); }
}

/* ── Period selector tabs ── */
.period-tab.active { background: var(--indigo); color: #fff; border-color: var(--indigo); }

/* ── Home button (bottom-right) ── */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(16px) }
  to   { opacity:1; transform:translateY(0) }
}
