.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff8f0,#f9e4c8,#fff8f0);padding:1rem}.login-card{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:3rem 2.5rem;box-shadow:var(--shadow-lg);text-align:center;max-width:400px;width:100%}.login-emoji{font-size:4rem;margin-bottom:1rem}.login-card h1{font-family:var(--font-display);font-size:1.8rem;color:var(--color-text);margin-bottom:.25rem}.login-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:.75rem}.login-input{width:100%;padding:.9rem 1.2rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;text-align:center;background:var(--color-bg);transition:border-color .2s}.login-input:focus{border-color:var(--color-primary)}.login-input.error{border-color:var(--color-danger);animation:shake .4s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.login-error{color:var(--color-danger);font-size:.85rem;margin:0}.login-btn{background:linear-gradient(135deg,#e8a0bf,#ba90c6);color:#fff;padding:.9rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.login-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--color-text-muted);font-size:.85rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.login-guest-btn{width:100%;padding:.9rem;border-radius:var(--radius-md);font-weight:600;font-size:1rem;background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-border);cursor:pointer;transition:all .2s ease}.login-guest-btn:hover{border-color:var(--color-primary);background:#fff8f0;transform:translateY(-1px);box-shadow:var(--shadow-sm)}.login-guest-hint{color:var(--color-text-muted);font-size:.8rem;margin-top:.5rem}.login-hint{color:var(--color-text-muted);font-size:.8rem;margin-top:1.5rem}@media(max-width:600px){.login-card{padding:2rem 1.5rem}.login-card h1{font-size:1.5rem}}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.countdown-section{display:flex;align-items:center;gap:2rem;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md)}.progress-ring-container{position:relative;flex-shrink:0}.progress-ring-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column}.progress-week{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-text)}.progress-day{font-size:.85rem;color:var(--color-text-light)}.progress-percent{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.progress-ring-fill{transition:stroke-dashoffset 1s ease}.countdown-info{text-align:left}.countdown-days{font-family:var(--font-display);font-size:3.5rem;font-weight:700;color:var(--color-primary-dark);line-height:1}.countdown-label{font-size:1rem;color:var(--color-text-light);margin-top:.25rem}.countdown-meta{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.badge{display:inline-block;padding:.3rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;color:#fff}.badge-outline{background:transparent!important;color:var(--color-text-light);border:1px solid var(--color-border)}.baby-snapshot{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.snapshot-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.snapshot-header h3{font-size:1.1rem;color:var(--color-text)}.size-emoji{font-size:2.5rem}.snapshot-stats{display:flex;gap:1.5rem}.stat{display:flex;flex-direction:column;align-items:center;flex:1;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-md)}.stat-value{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--color-primary-dark)}.stat-label{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.milestone-badge{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#e8a0bf1a,#ba90c61a);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.milestone-badge span{font-size:.9rem;color:var(--color-text)}.milestone-star{font-size:1.2rem!important}.quick-tip{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-accent-warm)}.quick-tip h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.quick-tip p{font-size:.9rem;color:var(--color-text-light);line-height:1.6}.week-grid-section{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.week-grid-section h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:1rem}.week-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:4px}.week-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;transition:all .2s ease}.week-dot.past{background:var(--color-primary);color:#fff}.week-dot.current{background:var(--color-primary-dark);color:#fff;box-shadow:0 0 0 3px #c77da04d;transform:scale(1.15)}.week-dot.future{background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border)}.trimester-labels{display:flex;justify-content:space-between;margin-top:.75rem;font-size:.7rem;color:var(--color-text-muted)}@media(max-width:600px){.countdown-section{flex-direction:column;text-align:center;padding:1.5rem;gap:1rem}.countdown-info{text-align:center}.countdown-days{font-size:2.5rem}.snapshot-stats{gap:.75rem}.week-dot{width:30px;height:30px;font-size:.6rem}}.this-week{display:flex;flex-direction:column;gap:1.25rem}.week-selector{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1rem 1.5rem;box-shadow:var(--shadow-sm)}.week-nav-btn{width:40px;height:40px;border-radius:50%;background:var(--color-bg);color:var(--color-text);font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .2s;border:1px solid var(--color-border)}.week-nav-btn:hover:not(:disabled){background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.week-nav-btn:disabled{opacity:.3;cursor:not-allowed}.week-selector-display{text-align:center}.week-selector-display h2{font-size:1.5rem;margin-bottom:.25rem}.trimester-tag{font-size:.75rem;background:#e8a0bf26;color:var(--color-primary-dark);padding:.2rem .6rem;border-radius:12px;font-weight:500}.back-to-current{background:#e8a0bf1a;color:var(--color-primary-dark);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;text-align:center;transition:all .2s}.back-to-current:hover{background:#e8a0bf33}.baby-size-card{display:flex;align-items:center;gap:1.5rem;background:linear-gradient(135deg,#e8a0bf14,#c0dbea14);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-border)}.size-visual{flex-shrink:0}.size-emoji-large{font-size:4rem}.size-info h3{font-size:1.1rem;margin-bottom:.5rem}.size-stats{display:flex;gap:1rem;font-size:.9rem;color:var(--color-text-light)}.milestone-card{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#fff8e1,#fff3e0);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid #FFE0B2}.milestone-icon{font-size:2rem;flex-shrink:0}.milestone-card h4{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.milestone-card p{font-size:.95rem;color:var(--color-text);font-weight:500}.info-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.info-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.info-icon{font-size:1.3rem}.info-card-header h3{font-size:1rem;font-weight:600}.info-card p{font-size:.9rem;color:var(--color-text-light);line-height:1.7}.week-quick-nav{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.week-quick-nav h4{font-family:var(--font-body);font-size:.9rem;font-weight:600;margin-bottom:.75rem}.week-pills{display:flex;flex-wrap:wrap;gap:4px}.week-pill{width:34px;height:34px;border-radius:50%;font-size:.65rem;font-weight:600;background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);transition:all .2s}.week-pill:hover{background:#e8a0bf26;border-color:var(--color-primary);color:var(--color-primary-dark)}.week-pill.active{background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.week-pill.current{box-shadow:0 0 0 2px #c77da04d}.week-tasks-card{border-left:4px solid #BA90C6}.week-tasks-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.week-task-item{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem .75rem;background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.week-task-item:hover{background:#e8a0bf0f}.week-task-item.done{opacity:.5}.week-task-item.done .week-task-text{text-decoration:line-through;color:var(--color-text-muted)}.week-task-check{width:20px;height:20px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px;font-size:.65rem}.week-task-check.checked{background:linear-gradient(135deg,#e8a0bf,#ba90c6);border-color:#ba90c6;color:#fff;font-weight:700}.week-task-content{flex:1;min-width:0}.week-task-text{font-size:.85rem;color:var(--color-text);display:block;line-height:1.3}.week-task-cat{font-size:.7rem;color:var(--color-text-muted);display:block;margin-top:.15rem}.week-tasks-hint{font-size:.75rem;color:var(--color-text-muted);text-align:center;font-style:italic}@media(max-width:600px){.baby-size-card{flex-direction:column;text-align:center}.size-stats{justify-content:center}}.quiz{display:flex;flex-direction:column;gap:1.25rem}.quiz h2{font-size:1.5rem;text-align:center}.quiz-intro{text-align:center;color:var(--color-text-light);font-size:.9rem;margin-bottom:.5rem}.quiz-mode-cards{display:flex;flex-direction:column;gap:1rem}.quiz-mode-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .2s ease;border:2px solid transparent}.quiz-mode-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.mode-icon{font-size:2rem;display:block;margin-bottom:.5rem}.quiz-mode-card h3{font-size:1.1rem;margin-bottom:.25rem}.quiz-mode-card p{font-size:.85rem;color:var(--color-text-light);margin-bottom:.5rem}.mode-badge{display:inline-block;font-size:.75rem;background:#e8a0bf26;color:var(--color-primary-dark);padding:.2rem .6rem;border-radius:12px;font-weight:500}.quiz-history{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.quiz-history h3{font-size:1rem;margin-bottom:.75rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--color-border);font-size:.85rem}.history-item:last-child{border-bottom:none}.history-date{color:var(--color-text-muted);font-size:.8rem;min-width:80px}.history-title{flex:1;color:var(--color-text)}.history-score{font-weight:600;color:var(--color-primary-dark)}.quiz-header{display:flex;align-items:center;justify-content:space-between;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1rem 1.5rem;box-shadow:var(--shadow-sm)}.quiz-header h3{font-size:1rem}.q-counter{font-size:.85rem;color:var(--color-text-muted);font-weight:600}.quiz-progress-bar{height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.quiz-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:2px;transition:width .3s ease}.quiz-progress-fill.mom{background:linear-gradient(90deg,var(--color-secondary),var(--color-accent))}.question-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:2rem 1.5rem;box-shadow:var(--shadow-sm)}.question-card.checkin{text-align:center}.question-text{font-size:1.15rem;font-weight:600;margin-bottom:1.5rem;line-height:1.5}.options-list{display:flex;flex-direction:column;gap:.75rem}.option-btn{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;transition:all .2s ease;font-size:.9rem}.option-btn:hover:not(.correct):not(.wrong){border-color:var(--color-primary);background:#e8a0bf0d}.option-letter{width:32px;height:32px;border-radius:50%;background:var(--color-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0}.option-btn.correct{border-color:var(--color-success);background:#7bc67e1a}.option-btn.correct .option-letter{background:var(--color-success);color:#fff}.option-btn.wrong{border-color:var(--color-danger);background:#e573731a}.option-btn.wrong .option-letter{background:var(--color-danger);color:#fff}.explanation{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.explanation p{font-size:.9rem;color:var(--color-text-light);line-height:1.6;margin-bottom:1rem;background:#c0dbea26;padding:1rem;border-radius:var(--radius-md)}.quiz-complete{text-align:center;padding:2rem 0}.complete-emoji{font-size:4rem;display:block;margin-bottom:1rem}.score-display{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin:1rem 0}.score-big{font-family:var(--font-display);font-size:4rem;font-weight:700;color:var(--color-primary-dark)}.score-divider,.score-total{font-size:2rem;color:var(--color-text-muted)}.score-message{font-size:1rem;color:var(--color-text-light);margin-bottom:1.5rem}.rating-buttons{display:flex;justify-content:center;gap:.75rem;margin:1.5rem 0}.rating-btn{width:50px;height:50px;border-radius:50%;background:var(--color-bg);border:2px solid var(--color-border);font-size:1.2rem;font-weight:700;color:var(--color-text-light);transition:all .2s}.rating-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.rating-btn.active{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.checkin-textarea{width:100%;min-height:100px;padding:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;resize:vertical;margin:1rem 0;background:var(--color-bg);transition:border-color .2s}.checkin-textarea:focus{border-color:var(--color-secondary)}.checkin-nav{display:flex;justify-content:center;gap:1rem;margin-top:1rem}.mode-completed{display:inline-block;font-size:.75rem;color:#276749;background:#48bb781f;padding:.2rem .6rem;border-radius:12px;font-weight:500;margin-left:.5rem}.quiz-week-list{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.quiz-week-list h3{font-size:1rem;margin-bottom:.75rem}.quiz-week-grid{display:flex;flex-direction:column;gap:.4rem}.quiz-week-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-md);font-size:.85rem;background:var(--color-bg);transition:background .2s}.quiz-week-item.done{background:#48bb780f}.quiz-week-item.locked{opacity:.5}.qw-week{font-weight:700;font-size:.75rem;color:var(--color-primary-dark);min-width:30px}.qw-title{flex:1;color:var(--color-text)}.qw-score{font-weight:600;font-size:.8rem;color:var(--color-primary-dark)}.qw-check{font-size:.85rem}.qw-lock{font-size:.75rem}@media(max-width:600px){.question-card{padding:1.5rem 1rem}.question-text{font-size:1rem}.option-btn{padding:.75rem;font-size:.85rem}}.nutrition{display:flex;flex-direction:column;gap:1.25rem}.nutrition h2{font-size:1.5rem;text-align:center}.nutrition-subtitle{text-align:center;color:var(--color-text-light);font-size:.9rem}.nutrition-tabs{display:flex;gap:.5rem;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.5rem;box-shadow:var(--shadow-sm)}.ntab{flex:1;padding:.6rem .75rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;color:var(--color-text-light);background:none;transition:all .2s}.ntab.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:var(--shadow-sm)}.nutrition-content{display:flex;flex-direction:column;gap:1.25rem}.trimester-header{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);text-align:center}.trimester-header h3{font-size:1.2rem;margin-bottom:.25rem}.focus-text{color:var(--color-primary-dark);font-weight:500;font-size:.9rem}.nutrients-grid{display:flex;flex-direction:column;gap:1rem}.nutrient-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.nutrient-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.nutrient-header h4{font-family:var(--font-body);font-size:1rem;font-weight:600}.nutrient-amount{font-size:.8rem;background:#e8a0bf26;color:var(--color-primary-dark);padding:.2rem .6rem;border-radius:12px;font-weight:600}.nutrient-why{font-size:.85rem;color:var(--color-text-light);margin-bottom:.75rem;line-height:1.5}.nutrient-foods{display:flex;flex-direction:column;gap:.5rem}.foods-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.food-tags{display:flex;flex-wrap:wrap;gap:.35rem}.food-tag{font-size:.75rem;background:var(--color-bg);color:var(--color-text);padding:.25rem .6rem;border-radius:12px;border:1px solid var(--color-border)}.meal-ideas{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.meal-ideas h3{font-size:1.1rem;margin-bottom:1rem}.meal-list{display:flex;flex-direction:column;gap:.75rem}.meal-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:var(--color-text-light)}.meal-number{width:28px;height:28px;border-radius:50%;background:var(--color-accent-warm);color:var(--color-text);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.nausea-tips,.general-tips{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.nausea-tips h3,.general-tips h3{font-size:1.1rem;margin-bottom:.75rem}.nausea-tips ul,.general-tips ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.nausea-tips li,.general-tips li{font-size:.9rem;color:var(--color-text-light);padding-left:1.25rem;position:relative;line-height:1.5}.nausea-tips li:before,.general-tips li:before{content:"•";position:absolute;left:0;color:var(--color-primary);font-weight:700}.pescetarian-box{background:linear-gradient(135deg,#c0dbea33,#ba90c61a);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--color-accent)}.pescetarian-box h3{font-size:1.1rem;margin-bottom:.75rem}.pescetarian-box ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.pescetarian-box li{font-size:.85rem;color:var(--color-text-light);padding-left:1.25rem;position:relative;line-height:1.5}.pescetarian-box li:before{content:"🐟";position:absolute;left:0;font-size:.75rem}.avoid-list{display:flex;flex-direction:column;gap:.75rem}.avoid-item{display:flex;gap:.75rem;background:var(--color-bg-card);border-radius:var(--radius-md);padding:1rem;box-shadow:var(--shadow-sm)}.avoid-icon{font-size:1.5rem;flex-shrink:0}.avoid-item h4{font-family:var(--font-body);font-size:.9rem;font-weight:600;margin-bottom:.25rem}.avoid-item p{font-size:.8rem;color:var(--color-text-light);line-height:1.5}.research-intro{color:var(--color-text-light);font-size:.9rem}.research-list{display:flex;flex-direction:column;gap:1rem}.research-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border-left:3px solid var(--color-secondary)}.research-card h4{font-family:var(--font-body);font-size:1rem;font-weight:600;margin-bottom:.5rem}.research-summary{font-size:.85rem;color:var(--color-text-light);line-height:1.6;margin-bottom:.5rem}.research-source{font-size:.75rem;color:var(--color-text-muted);font-style:italic;display:block;margin-bottom:.75rem}.research-takeaway{font-size:.85rem;background:#e8a0bf14;padding:.75rem;border-radius:var(--radius-sm);line-height:1.5}.research-takeaway strong{color:var(--color-primary-dark)}.journal{display:flex;flex-direction:column;gap:1.25rem}.journal-header{display:flex;justify-content:space-between;align-items:flex-start}.journal-header h2{font-size:1.5rem}.journal-subtitle{color:var(--color-text-light);font-size:.9rem;margin-top:.25rem}.journal-form{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem}.form-author{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-light)}.author-btn{padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;background:var(--color-bg);color:var(--color-text-light);border:1px solid var(--color-border);transition:all .2s}.author-btn.active.dad{background:#c0dbea4d;color:#5b8fa8;border-color:#5b8fa8}.author-btn.active.mom{background:#e8a0bf4d;color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.journal-textarea{width:100%;min-height:120px;padding:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;resize:vertical;background:var(--color-bg);transition:border-color .2s;line-height:1.6}.journal-textarea:focus{border-color:var(--color-primary)}.mood-selector{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--color-text-light)}.mood-options{display:flex;gap:.35rem}.mood-btn{width:36px;height:36px;border-radius:50%;background:var(--color-bg);border:2px solid transparent;font-size:1.1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.mood-btn:hover{transform:scale(1.15)}.mood-btn.active{border-color:var(--color-primary);background:#e8a0bf1a;transform:scale(1.15)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem}.journal-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.empty-icon{font-size:3rem;display:block;margin-bottom:1rem}.journal-empty h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--color-text-light)}.journal-empty p{font-size:.9rem;max-width:400px;margin:0 auto}.journal-entries{display:flex;flex-direction:column;gap:1.5rem}.week-group-label{font-size:.85rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding-bottom:.5rem;border-bottom:1px solid var(--color-border);margin-bottom:.5rem}.journal-entry{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);position:relative;border-left:3px solid var(--color-accent)}.journal-entry.dad{border-left-color:#5b8fa8}.journal-entry.mom{border-left-color:var(--color-primary)}.entry-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.entry-author{font-weight:600;font-size:.85rem;color:var(--color-text)}.entry-date{font-size:.75rem;color:var(--color-text-muted)}.entry-mood{font-size:1.1rem}.entry-text{font-size:.9rem;color:var(--color-text-light);line-height:1.7;white-space:pre-wrap}.entry-delete{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;border-radius:50%;background:none;color:var(--color-text-muted);font-size:1.2rem;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s}.journal-entry:hover .entry-delete{opacity:1}.entry-delete:hover{background:#e573731a;color:var(--color-danger)}.photo-upload{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-photo{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;background:var(--color-bg);color:var(--color-text-light);border:1px dashed var(--color-border);cursor:pointer;transition:all .2s}.btn-photo:hover{border-color:var(--color-primary);color:var(--color-primary-dark)}.photo-preview{position:relative;display:inline-block}.photo-preview img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-md);border:2px solid var(--color-border)}.photo-remove{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--color-danger);color:#fff;font-size:.85rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px solid white;line-height:1}.entry-photo{margin-top:.5rem;cursor:pointer}.entry-photo img{max-width:100%;max-height:300px;border-radius:var(--radius-md);object-fit:cover;transition:transform .2s}.entry-photo img:hover{transform:scale(1.01)}.trimester-group{border-radius:var(--radius-lg);overflow:hidden}.trimester-header{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 1.25rem;background:var(--color-bg-card);border:none;cursor:pointer;text-align:left;box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);transition:background .2s}.trimester-header:hover{background:#e8a0bf0d}.trimester-icon{font-size:1.5rem}.trimester-info{flex:1}.trimester-info h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.trimester-sub{font-size:.75rem;color:var(--color-text-muted)}.trimester-arrow{font-size:.7rem;color:var(--color-text-muted);transition:transform .3s}.trimester-arrow.open{transform:rotate(90deg)}.trimester-entries{padding:.5rem 0 0;display:flex;flex-direction:column;gap:1rem}.lightbox{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;cursor:pointer;animation:fadeIn .2s ease}.lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:var(--radius-md)}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:#fff3;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none}@media(max-width:600px){.journal-header{flex-direction:column;gap:.75rem}.journal-header .btn-primary{align-self:stretch;text-align:center}}.care{display:flex;flex-direction:column;gap:1.25rem}.care h2{font-size:1.5rem;text-align:center}.care-subtitle{text-align:center;color:var(--color-text-muted);font-size:.9rem;margin-bottom:.25rem}.note-form{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem}.note-textarea{width:100%;min-height:100px;padding:1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;resize:vertical;background:var(--color-bg);transition:border-color .2s;line-height:1.6;font-family:inherit}.note-textarea:focus{border-color:var(--color-primary);outline:none}.note-colors{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-light)}.color-btn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .2s}.color-btn:hover{transform:scale(1.15)}.color-btn.active{transform:scale(1.2);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-primary)}.notes-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.notes-empty span{font-size:3rem;display:block;margin-bottom:.75rem}.notes-empty h3{font-size:1.1rem;color:var(--color-text-light);margin-bottom:.5rem}.notes-empty p{font-size:.9rem}.notes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.love-note-card{border-radius:var(--radius-lg);padding:1.25rem 1.25rem 1rem;border:1px solid;position:relative;min-height:120px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s,box-shadow .2s;box-shadow:2px 3px 8px #0000000f}.love-note-card:hover{transform:translateY(-2px) rotate(-.5deg);box-shadow:3px 5px 15px #0000001a}.note-text{font-size:.95rem;line-height:1.7;color:var(--color-text);white-space:pre-wrap;flex:1;margin-bottom:.75rem}.note-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--color-text-muted);border-top:1px solid rgba(0,0,0,.06);padding-top:.5rem}.note-author{font-style:italic;font-weight:500}.note-date{opacity:.7}.note-delete{position:absolute;top:.4rem;right:.6rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .2s;padding:.25rem;line-height:1}.love-note-card:hover .note-delete{opacity:.6}.note-delete:hover{opacity:1;color:var(--color-danger)}.love-tabs{display:flex;gap:0;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.35rem;box-shadow:var(--shadow-sm)}.love-tab{flex:1;padding:.65rem 1rem;border:none;background:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .2s;text-align:center}.love-tab.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-weight:600}.love-tab:not(.active):hover{background:#e8a0bf14}.letter-form{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem}.letter-textarea{width:100%;min-height:160px;padding:1.25rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;resize:vertical;background:var(--color-bg);transition:border-color .2s;line-height:1.8;font-family:inherit}.letter-textarea:focus{border-color:var(--color-primary);outline:none}.letters-list{display:flex;flex-direction:column;gap:1.25rem}.baby-letter{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);position:relative;border-left:3px solid var(--color-accent)}.baby-letter.from-dad{border-left-color:#5b8fa8}.baby-letter.from-mom{border-left-color:var(--color-primary)}.letter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.letter-from{font-weight:600;font-size:.85rem;color:var(--color-text)}.letter-date{font-size:.75rem;color:var(--color-text-muted)}.letter-body{font-size:.9rem;color:var(--color-text-light);line-height:1.8;white-space:pre-wrap}.letter-body p:first-child{font-style:italic;color:var(--color-primary-dark);margin-bottom:.5rem}.letter-delete{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .2s;padding:.25rem;line-height:1}.baby-letter:hover .letter-delete{opacity:.6}.letter-delete:hover{opacity:1;color:var(--color-danger)}@media(max-width:600px){.notes-grid{grid-template-columns:1fr}}.appointments{display:flex;flex-direction:column;gap:1.25rem}.appointments-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.appointments-header h2{font-size:1.5rem}.appointments-subtitle{color:var(--color-text-muted);font-size:.9rem}.apt-form{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.apt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.apt-field{display:flex;flex-direction:column;gap:.3rem}.apt-field.full{grid-column:1 / -1}.apt-field label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.apt-field input,.apt-field select,.apt-field textarea{padding:.65rem .85rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.9rem;background:var(--color-bg);transition:border-color .2s}.apt-field input:focus,.apt-field select:focus,.apt-field textarea:focus{border-color:var(--color-primary);outline:none}.apt-view-tabs{display:flex;gap:.5rem;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.4rem;box-shadow:var(--shadow-sm)}.apt-list{display:flex;flex-direction:column;gap:.75rem}.apt-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.apt-empty span{font-size:2.5rem;display:block;margin-bottom:.5rem}.apt-empty p{font-size:.9rem}.apt-card{display:flex;gap:.75rem;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm);position:relative;transition:transform .2s}.apt-card:hover{transform:translateY(-1px)}.apt-card.past{opacity:.6}.apt-card.suggested{border-left:3px solid var(--color-border)}.apt-card.suggested.current{border-left-color:var(--color-primary);background:#e8a0bf0d}.apt-card-left{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}.apt-type-icon{font-size:1.5rem}.apt-card-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.apt-card-body{flex:1;min-width:0}.apt-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem}.apt-card-body h4{font-size:.95rem;font-weight:600;color:var(--color-text)}.apt-countdown{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-full);background:#e8a0bf26;color:var(--color-primary-dark);white-space:nowrap}.apt-week-badge{font-size:.75rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-full);background:#ba90c626;color:var(--color-secondary);white-space:nowrap}.apt-card-details{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.8rem;color:var(--color-text-light)}.apt-notes{font-size:.8rem;color:var(--color-text-muted);margin-top:.35rem;font-style:italic;line-height:1.5}.apt-delete{position:absolute;top:.5rem;right:.5rem;background:none;border:none;font-size:1.2rem;color:var(--color-text-muted);cursor:pointer;opacity:0;transition:opacity .2s;padding:.25rem;line-height:1}.apt-card:hover .apt-delete{opacity:1}.apt-delete:hover{color:var(--color-danger)}.btn-add-suggested{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;align-self:center;transition:transform .2s}.btn-add-suggested:hover{transform:scale(1.1)}.suggested-intro{font-size:.85rem;color:var(--color-text-muted);text-align:center;margin-bottom:.5rem}@media(max-width:600px){.apt-form-row{grid-template-columns:1fr}.apt-card-details{flex-direction:column;gap:.25rem}.apt-view-tabs{gap:.25rem;padding:.3rem}}.support{display:flex;flex-direction:column;gap:1.25rem}.support h2{font-size:1.5rem;text-align:center}.support-tabs{display:flex;gap:.5rem;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.5rem;box-shadow:var(--shadow-sm);overflow-x:auto}.stab{flex:1;padding:.6rem .75rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:500;color:var(--color-text-light);background:none;transition:all .2s;white-space:nowrap}.stab.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:var(--shadow-sm)}.support-content{display:flex;flex-direction:column;gap:1.25rem}.quote-card{display:flex;gap:1rem;background:linear-gradient(135deg,#e8a0bf14,#ba90c614);border-radius:var(--radius-lg);padding:1.5rem;border-left:4px solid var(--color-primary)}.quote-icon{font-size:1.5rem;flex-shrink:0}.quote-card p{font-size:.95rem;color:var(--color-text);line-height:1.7;font-style:italic}.tips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.tip-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:transform .2s}.tip-card:hover{transform:translateY(-2px)}.tip-card h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary-dark)}.tip-card p{font-size:.85rem;color:var(--color-text-light);line-height:1.6}.mental-load-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border-left:4px solid var(--color-secondary)}.mental-load-card h3{font-size:1.1rem;margin-bottom:.5rem}.mental-load-card p{font-size:.9rem;color:var(--color-text-light);line-height:1.7}.rule-one{background:linear-gradient(135deg,#fff8e1,#fff3e0);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid #FFE0B2;text-align:center}.rule-one h3{font-size:1.3rem;color:#e65100;margin-bottom:.5rem}.rule-one p{font-size:.95rem;color:var(--color-text);line-height:1.6}.rule-one em{color:var(--color-primary-dark);font-weight:500}.timeline{display:flex;flex-direction:column;gap:0;position:relative;padding-left:1.5rem}.timeline:before{content:"";position:absolute;left:6px;top:0;bottom:0;width:2px;background:var(--color-border)}.timeline-item{position:relative;padding-bottom:1.5rem}.timeline-item:before{content:"";position:absolute;left:-1.5rem;top:4px;width:14px;height:14px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-bg);z-index:1}.timeline-item.active:before{background:var(--color-primary)}.timeline-week{font-size:.85rem;font-weight:700;color:var(--color-primary-dark);display:block;margin-bottom:.5rem}.timeline-content ul{list-style:none;display:flex;flex-direction:column;gap:.35rem}.timeline-content li{font-size:.85rem;color:var(--color-text-light);padding-left:1rem;position:relative}.timeline-content li:before{content:"→";position:absolute;left:0;color:var(--color-primary)}.malta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.malta-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.malta-card h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.malta-card p{font-size:.85rem;color:var(--color-text-light);line-height:1.6}.checklist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.checklist-category{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.checklist-category h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:.75rem;color:var(--color-primary-dark)}.checklist-category ul{list-style:none;display:flex;flex-direction:column;gap:.5rem}.checklist-category li{font-size:.85rem}.checklist-item{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--color-text-light)}.checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.checklist-item .checked{text-decoration:line-through;color:var(--color-text-muted)}.work-section{display:flex;flex-direction:column;gap:1rem}.work-section h3{font-size:1.15rem;margin-top:.5rem}@media(max-width:600px){.tips-grid,.malta-grid,.checklist-grid{grid-template-columns:1fr}.support-tabs{gap:.25rem;padding:.35rem}.stab{font-size:.7rem;padding:.5rem}}.insights{display:flex;flex-direction:column;gap:1.25rem}.insights h2{font-size:1.5rem;text-align:center}.insights-subtitle{text-align:center;color:var(--color-text-muted);font-size:.9rem}.insights-loading{text-align:center;color:var(--color-text-muted);padding:2rem}.insights-tabs{display:flex;gap:0;background:var(--color-bg-card);border-radius:var(--radius-lg);padding:.35rem;box-shadow:var(--shadow-sm)}.insights-tab{flex:1;padding:.65rem 1rem;border:none;background:none;border-radius:var(--radius-md);font-size:.85rem;font-weight:500;color:var(--color-text-light);cursor:pointer;transition:all .2s;text-align:center}.insights-tab.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-weight:600}.insights-tab:not(.active):hover{background:#e8a0bf14}.insights-section{display:flex;flex-direction:column;gap:1.25rem}.insights-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.insights-empty span{font-size:3rem;display:block;margin-bottom:.75rem}.insights-empty h3{font-size:1.1rem;color:var(--color-text-light);margin-bottom:.5rem}.insights-empty p{font-size:.9rem;max-width:400px;margin:0 auto;line-height:1.6}.insight-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.insight-card h3{font-size:1.1rem;margin-bottom:.25rem}.insight-desc{font-size:.8rem;color:var(--color-text-muted);margin-bottom:1rem}.chart-scroll{overflow-x:auto;margin-bottom:1.25rem;padding-bottom:.5rem}.line-chart{display:block;min-width:100%}.insight-history{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--color-border);padding-top:1rem}.insight-row{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;border-bottom:1px solid rgba(0,0,0,.04)}.insight-row:last-child{border-bottom:none}.insight-date{font-size:.75rem;color:var(--color-text-muted);min-width:55px;white-space:nowrap}.insight-week{font-size:.7rem;font-weight:600;color:var(--color-primary-dark);min-width:50px;white-space:nowrap}.insight-ratings{display:flex;gap:.75rem;flex:1;flex-wrap:wrap}.insight-tag{font-size:.75rem;color:var(--color-text-light);display:flex;align-items:center;gap:.35rem;min-width:120px}.insight-bar{width:60px;height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.insight-bar-fill{height:100%;border-radius:3px;transition:width .3s ease}.quiz-results-list{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid var(--color-border);padding-top:1rem}.quiz-result-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 0;border-bottom:1px solid rgba(0,0,0,.04)}.quiz-result-row:last-child{border-bottom:none}.quiz-result-info{display:flex;flex-direction:column;gap:.15rem}.quiz-result-title{font-size:.85rem;font-weight:600;color:var(--color-text)}.quiz-result-meta{font-size:.7rem;color:var(--color-text-muted)}.quiz-result-score{display:flex;align-items:center;gap:.5rem}.score-badge{padding:.25rem .6rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:700}.score-badge.great{background:#48bb781f;color:#276749}.score-badge.good{background:#ed89361f;color:#9c4221}.score-badge.study{background:#e53e3e1a;color:#9b2c2c}.score-pct{font-size:.7rem;color:var(--color-text-muted);min-width:30px;text-align:right}@media(max-width:600px){.insight-row{flex-wrap:wrap}.insight-ratings{width:100%}.insight-tag{min-width:100%}}.guest-wall{display:flex;flex-direction:column;gap:1.5rem}.guest-wall-header{text-align:center}.guest-wall-header h2{font-family:var(--font-display);font-size:1.6rem;color:var(--color-text);margin-bottom:.25rem}.guest-wall-subtitle{color:var(--color-text-muted);font-size:.9rem}.guest-write-btn{align-self:center;font-size:1rem}.guest-form{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem}.guest-input{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;background:var(--color-bg);transition:border-color .2s}.guest-input:focus{border-color:var(--color-primary);outline:none}.guest-textarea{width:100%;padding:.75rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-body);background:var(--color-bg);resize:vertical;min-height:80px;transition:border-color .2s}.guest-textarea:focus{border-color:var(--color-primary);outline:none}.guest-emoji-picker{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.guest-emoji-label{font-size:.85rem;color:var(--color-text-muted)}.guest-emoji-options{display:flex;gap:.4rem;flex-wrap:wrap}.guest-emoji-btn{width:36px;height:36px;border-radius:50%;border:2px solid transparent;background:var(--color-bg);font-size:1.1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.guest-emoji-btn:hover{background:#fff0e0}.guest-emoji-btn.active{border-color:var(--color-primary);background:#fff0e0;transform:scale(1.15)}.guest-form-actions{display:flex;gap:.75rem;justify-content:flex-end}.guest-messages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.guest-message-card{background:var(--color-bg-card);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);position:relative;border-left:4px solid #E8A0BF;transition:transform .2s,box-shadow .2s}.guest-message-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.guest-message-card:nth-child(3n+2){border-left-color:#ba90c6}.guest-message-card:nth-child(3n+3){border-left-color:#c0dbea}.guest-msg-emoji{font-size:1.5rem;display:block;margin-bottom:.5rem}.guest-msg-text{font-size:.95rem;color:var(--color-text);line-height:1.5;margin-bottom:.75rem;word-wrap:break-word}.guest-msg-footer{display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.guest-msg-name{font-weight:600;color:var(--color-text)}.guest-msg-date{color:var(--color-text-muted)}.guest-msg-delete{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;border:none;background:transparent;color:var(--color-text-muted);font-size:1.1rem;cursor:pointer;opacity:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.guest-message-card:hover .guest-msg-delete{opacity:1}.guest-msg-delete:hover{background:#fee;color:var(--color-danger)}.guest-loading{text-align:center;color:var(--color-text-muted);padding:2rem}.guest-empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.guest-empty-emoji{font-size:3rem;display:block;margin-bottom:.75rem}.guest-empty h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:.25rem}.guest-empty p{font-size:.9rem}.guest-banner{background:linear-gradient(135deg,#fff8f0,#f9e4c8);border-radius:var(--radius-lg);padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.guest-banner-text strong{display:block;font-size:.9rem;margin-bottom:.15rem}@media(max-width:600px){.guest-messages-grid{grid-template-columns:1fr}.guest-banner{flex-direction:column;text-align:center}}.baby-checklist{display:flex;flex-direction:column;gap:1.5rem}.checklist-loading{text-align:center;padding:3rem;color:var(--color-text-muted)}.checklist-header{text-align:center}.checklist-header h2{font-family:var(--font-display);font-size:1.6rem;color:var(--color-text);margin-bottom:.25rem}.checklist-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1rem}.checklist-progress{max-width:400px;margin:0 auto;display:flex;flex-direction:column;gap:.4rem;align-items:center}.checklist-progress-bar{width:100%;height:10px;background:var(--color-border);border-radius:99px;overflow:hidden}.checklist-progress-fill{height:100%;background:linear-gradient(135deg,#e8a0bf,#ba90c6);border-radius:99px;transition:width .4s ease}.checklist-progress-text{font-size:.8rem;color:var(--color-text-muted);font-weight:500}.checklist-trimester{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.trimester-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;background:none;border:none;cursor:pointer;text-align:left;gap:1rem;transition:background .2s}.trimester-header:hover{background:#00000005}.trimester-header-left{display:flex;align-items:center;gap:1rem}.trimester-number{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.trimester-title{font-family:var(--font-display);font-size:1.15rem;color:var(--color-text);margin-bottom:.1rem}.trimester-subtitle{font-size:.8rem;color:var(--color-text-muted)}.trimester-header-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.trimester-count{font-size:.85rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);padding:.25rem .6rem;border-radius:var(--radius-md)}.trimester-arrow{font-size:1.2rem;color:var(--color-text-muted);transition:transform .2s}.trimester-arrow.open{transform:rotate(180deg)}.trimester-body{padding:0 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.5rem}.category-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:#c0392b;margin-bottom:.75rem}.category-items{display:flex;flex-direction:column;gap:.5rem}.checklist-item{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid transparent}.checklist-item:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.checklist-item.done{opacity:.6}.checklist-item.done .checklist-item-text{text-decoration:line-through;color:var(--color-text-muted)}.checklist-checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--color-border);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s;margin-top:1px}.checklist-checkbox.checked{background:linear-gradient(135deg,#e8a0bf,#ba90c6);border-color:#ba90c6;color:#fff;font-size:.75rem;font-weight:700}.checklist-item-content{flex:1;min-width:0}.checklist-item-text{font-size:.9rem;color:var(--color-text);display:block;line-height:1.4}.checklist-item-hint{font-size:.8rem;color:var(--color-text-muted);font-style:italic;display:block;margin-top:.2rem}.checklist-tag{font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:var(--radius-md);white-space:nowrap;flex-shrink:0;margin-top:2px}@media(max-width:600px){.trimester-header{padding:1rem;flex-wrap:wrap}.trimester-subtitle{font-size:.7rem}.trimester-title{font-size:1rem}.trimester-body{padding:0 1rem 1rem}.checklist-item{padding:.75rem;flex-wrap:wrap}.checklist-tag{margin-left:auto}.trimester-number{width:30px;height:30px;font-size:.8rem}}.milestone-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.milestone-popup{background:#fff;border-radius:var(--radius-xl);padding:2.5rem 2rem;max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px #0003;animation:popIn .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.milestone-icon{font-size:4rem;display:block;margin-bottom:1rem}.milestone-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.milestone-message{font-size:.9rem;color:var(--color-text-light);line-height:1.8;margin-bottom:1.25rem;white-space:pre-line}.milestone-action{background:linear-gradient(135deg,#e8a0bf1a,#ba90c61a);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:.85rem;color:var(--color-text);margin-bottom:1.5rem;border-left:3px solid var(--color-primary);text-align:left}.milestone-action strong{color:var(--color-primary-dark)}.milestone-btn{min-width:160px}@media(max-width:600px){.milestone-popup{padding:2rem 1.5rem}.milestone-title{font-size:1.3rem}}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,#e8a0bf,#ba90c6,#c0dbea);padding:2rem 1.5rem 1.5rem;text-align:center;color:#fff;position:relative;display:flex;align-items:center;justify-content:center}.header-content{max-width:800px;margin:0 auto}.header-logout{position:absolute;right:1rem;top:50%;transform:translateY(-50%);background:#fff3;border:none;border-radius:50%;width:38px;height:38px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.header-logout:hover{background:#ffffff59;transform:translateY(-50%) scale(1.1)}.guest-badge{display:inline-block;background:#ffffff40;padding:.15rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600;margin-left:.5rem;vertical-align:middle;letter-spacing:.5px;text-transform:uppercase}.guest-banner{background:linear-gradient(135deg,#fff8f0,#f9e4c8);padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:100%}.guest-banner-text{font-size:.85rem;color:var(--color-text)}.guest-banner-text strong{display:block;font-size:.9rem;margin-bottom:.1rem}.guest-banner-login{background:linear-gradient(135deg,#e8a0bf,#ba90c6);color:#fff;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:600;font-size:.8rem;white-space:nowrap;cursor:pointer;border:none;transition:all .2s}.guest-banner-login:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.app-title{font-family:var(--font-display);font-size:2rem;font-weight:700;margin-bottom:.25rem;text-shadow:0 1px 3px rgba(0,0,0,.1)}.app-subtitle{font-size:.95rem;opacity:.9;font-weight:300}.tab-nav{display:flex;background:var(--color-bg-card);box-shadow:var(--shadow-sm);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:sticky;top:0;z-index:100}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{flex:1;min-width:70px;padding:.75rem .5rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;background:none;color:var(--color-text-muted);font-size:.7rem;font-weight:500;transition:all .2s ease;border-bottom:2px solid transparent}.tab-btn.active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary);background:#e8a0bf0d}.tab-icon{font-size:1.25rem}.tab-label{white-space:nowrap}.app-main{flex:1;max-width:800px;width:100%;margin:0 auto;padding:1.5rem 1rem}.app-footer{text-align:center;padding:2rem 1rem;color:var(--color-text-muted);font-size:.8rem;border-top:1px solid var(--color-border);margin-top:2rem}.app-footer .disclaimer{font-size:.7rem;margin-top:.5rem;font-style:italic}.btn-primary{background:linear-gradient(135deg,#e8a0bf,#ba90c6);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--color-bg);color:var(--color-text);padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;font-size:.9rem;border:1px solid var(--color-border);transition:all .2s ease}.btn-secondary:hover{background:var(--color-border)}.btn-back{background:none;color:var(--color-primary-dark);font-weight:500;font-size:.9rem;padding:.5rem}@media(max-width:600px){.app-title{font-size:1.5rem}.app-main{padding:1rem .75rem}.tab-btn{min-width:60px;padding:.6rem .3rem}.tab-icon{font-size:1.1rem}.tab-label{font-size:.65rem}.guest-banner{flex-direction:column;text-align:center;padding:.75rem 1rem}.header-logout{right:.5rem;width:32px;height:32px;font-size:.95rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #FFF8F0;--color-bg-card: #FFFFFF;--color-primary: #E8A0BF;--color-primary-dark: #C77DA0;--color-secondary: #BA90C6;--color-accent: #C0DBEA;--color-accent-warm: #F9E4C8;--color-text: #2D2D2D;--color-text-light: #6B6B6B;--color-text-muted: #9B9B9B;--color-border: #F0E6E0;--color-success: #7BC67E;--color-warning: #F5C842;--color-danger: #E57373;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow-md: 0 4px 12px rgba(0,0,0,.08);--shadow-lg: 0 8px 30px rgba(0,0,0,.12)}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.3}button{cursor:pointer;font-family:var(--font-body);border:none;outline:none}input,textarea,select{font-family:var(--font-body);border:none;outline:none}a{text-decoration:none;color:inherit}
