/* Pregnancy Calculator — Theme: Soft Lavender (#A78BFA) */
:root { --accent: #A78BFA; --accent-dim: rgba(167,139,250,0.15); --accent-glow: rgba(167,139,250,0.3); }
.accent-text { color: var(--accent); }

.mode-toggle { display: flex; gap: var(--space-1); padding: var(--space-1); background: var(--bg-tertiary); border-radius: var(--radius-md); margin-bottom: var(--space-5); }
.mode-btn { flex: 1; padding: var(--space-2) var(--space-3); background: transparent; border: none; border-radius: var(--radius-sm); color: var(--text-secondary); font-family: var(--font-body); font-weight: 600; font-size: var(--text-sm); cursor: pointer; transition: all var(--duration-fast); }
.mode-btn.active { background: var(--accent-dim); color: var(--accent); }
.mode-btn:hover:not(.active) { color: var(--text-primary); }
.inputs-row { display: flex; gap: var(--space-4); margin-bottom: var(--space-5); flex-wrap: wrap; }
.inputs-row .form-group { flex: 1; min-width: 200px; }
.date-input { font-family: var(--font-heading); font-size: var(--text-lg); font-weight: 600; color: var(--accent); }
.date-input::-webkit-calendar-picker-indicator { filter: invert(1); }

.due-date-card { text-align: center; margin-top: var(--space-5); padding: var(--space-7); }
.due-label { font-size: var(--text-sm); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: var(--space-2); }
.due-value { font-family: var(--font-heading); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; color: var(--accent); margin-bottom: var(--space-1); }
.due-sub { font-size: var(--text-sm); color: var(--text-secondary); margin-bottom: var(--space-5); }
.progress-section { max-width: 500px; margin: 0 auto; }
.progress-bar { height: 10px; background: var(--bg-tertiary); border-radius: var(--radius-full); overflow: hidden; margin-bottom: var(--space-2); }
.progress-fill { height: 100%; background: linear-gradient(90deg, #A78BFA, #EC4899, #F43F5E); border-radius: var(--radius-full); transition: width 0.6s var(--ease-out); }
.progress-info { display: flex; justify-content: space-between; font-size: var(--text-xs); color: var(--text-muted); }

.summary-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--space-3); margin-top: var(--space-5); }
.summary-card { text-align: center; padding: var(--space-4); }
.summary-icon { font-size: 1.5rem; margin-bottom: var(--space-1); }
.summary-label { font-size: var(--text-xs); color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: var(--space-1); }
.summary-value { font-family: var(--font-heading); font-size: var(--text-base); font-weight: 700; color: var(--text-primary); }
.sc-conception { border-top: 3px solid #A78BFA; }
.sc-t1 { border-top: 3px solid #22C55E; }
.sc-t2 { border-top: 3px solid #F59E0B; }
.sc-due { border-top: 3px solid #F43F5E; }

.milestones-section { margin-top: var(--space-5); }
.milestones-section h2 { font-size: var(--text-xl); margin-bottom: var(--space-5); }
.milestones-timeline { display: flex; flex-direction: column; gap: var(--space-3); }
.milestone { display: flex; gap: var(--space-4); align-items: flex-start; padding: var(--space-3); border-radius: var(--radius-md); transition: background var(--duration-fast); }
.milestone:hover { background: var(--bg-tertiary); }
.milestone.past { opacity: 0.5; }
.milestone-week { min-width: 60px; font-family: var(--font-heading); font-weight: 700; font-size: var(--text-sm); color: var(--accent); }
.milestone-date { min-width: 80px; font-size: var(--text-xs); color: var(--text-muted); }
.milestone-desc { font-size: var(--text-sm); color: var(--text-secondary); }
.milestone-icon { font-size: 1.2rem; min-width: 28px; }

.disclaimer { margin-top: var(--space-5); }
.disclaimer p { font-size: var(--text-sm); color: var(--text-secondary); line-height: 1.6; }
.related-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-2); }
.related-list a { display: block; padding: var(--space-2); font-size: var(--text-sm); color: var(--text-secondary); text-decoration: none; border-radius: var(--radius-sm); transition: all var(--duration-fast); }
.related-list a:hover { background: var(--accent-dim); color: var(--accent); }

@media (max-width: 768px) { .mode-toggle { flex-direction: column; } }
