:root{--bg-primary:#f0e6ff;--bg-card:white;--bg-input:#f0e6ff;--bg-section:#f9f5ff;--text-primary:#4a3470;--text-secondary:#9b8bb4;--text-muted:#c9b1ff;--border-light:#f0e6ff;--border-card:#f0e6ff;--border-accent:#ffe0ec;--shadow-card:#c9b1ff26;--header-gradient:linear-gradient(135deg, #ff8fab 0%, #c9b1ff 100%);--accent-pink:#ff8fab;--accent-purple:#c9b1ff;--accent-green:#2ecc71;--accent-gold:gold;--accent-red:#ff4757;--bg-accent-light:#f0e6ff;--bg-pink-light:#fff0f5;--bg-warning:#fff8e1;--bg-error:#fff0f0;--border-warning:#ffe0a0;--border-error:#fcc;--tab-bg:white;--tab-border:#f0e6ff;--modal-bg:white;--overlay-bg:#00000080}body.dark-mode{--bg-primary:#1a1025;--bg-card:#2a1f3d;--bg-input:#352a4d;--bg-section:#221835;--text-primary:#e8e0f0;--text-secondary:#9b8bb4;--text-muted:#6b5b8a;--border-light:#3d2e5c;--border-card:#3d2e5c;--border-accent:#5a3050;--shadow-card:#0000004d;--header-gradient:linear-gradient(135deg, #8a3050 0%, #5a3d8a 100%);--accent-pink:#ff6b8a;--accent-purple:#9b7fd4;--accent-green:#27ae60;--accent-gold:#e6c200;--accent-red:#e63946;--bg-accent-light:#352a4d;--bg-pink-light:#3a2040;--bg-warning:#3a3520;--bg-error:#3a2020;--border-warning:#6b5a20;--border-error:#6b3030;--tab-bg:#2a1f3d;--tab-border:#3d2e5c;--modal-bg:#2a1f3d;--overlay-bg:#000000b3}body.theme-blue{--bg-primary:#e6f0ff;--bg-card:white;--bg-input:#e6f0ff;--bg-section:#f0f6ff;--text-primary:#1a3a5c;--text-secondary:#6b8bb4;--text-muted:#87b1e0;--border-light:#d0e2ff;--border-card:#d0e2ff;--border-accent:#b8d4ff;--shadow-card:#64a0ff26;--header-gradient:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--accent-pink:#4facfe;--accent-purple:#87ceeb;--accent-green:#2ecc71;--accent-gold:gold;--accent-red:#ff4757;--bg-accent-light:#e6f0ff;--bg-pink-light:#e6f0ff;--bg-warning:#fff8e1;--bg-error:#fff0f0;--border-warning:#ffe0a0;--border-error:#fcc;--tab-bg:white;--tab-border:#d0e2ff;--modal-bg:white;--overlay-bg:#00000080}body.theme-blue.dark-mode{--bg-primary:#0d1a2d;--bg-card:#162640;--bg-input:#1e3350;--bg-section:#112035;--text-primary:#d8e8f8;--text-secondary:#7a9ec4;--text-muted:#4a6a8a;--border-light:#2a4060;--border-card:#2a4060;--border-accent:#2a4a6a;--shadow-card:#0000004d;--header-gradient:linear-gradient(135deg, #1a5090 0%, #0a7070 100%);--accent-pink:#4facfe;--accent-purple:#60a0d0;--accent-green:#27ae60;--accent-gold:#e6c200;--accent-red:#e63946;--bg-accent-light:#1e3350;--bg-pink-light:#1e2a40;--bg-warning:#2a2a15;--bg-error:#2a1515;--border-warning:#5a5020;--border-error:#5a2020;--tab-bg:#162640;--tab-border:#2a4060;--modal-bg:#162640;--overlay-bg:#000000b3}body.theme-blue .approval-btn.approve{background:linear-gradient(135deg,#2ecc71,#27ae60)}body.theme-blue .widget-chore-check.checked{background:linear-gradient(135deg,#2ecc71,#27ae60);border-color:#27ae60}body.theme-blue .subtask-check.checked,body.theme-blue .widget-subtask-mini-check.checked{background:#4facfe;border-color:#3a8fd4}body.theme-blue .home-avatar-btn.active{background:#e6f0ff;border-color:#4facfe}body.theme-blue .widget-countdown{background:linear-gradient(135deg,#e6f0ff 0%,#f0f8ff 100%)}body.theme-blue .home-voice-btn.playing{background:linear-gradient(135deg,#ff4757 0%,#ff6b81 100%)}body.theme-blue .progress-ring-fill{stroke:#4facfe}body.theme-blue .dark-mode-switch.active{background:linear-gradient(135deg,#4facfe,#00f2fe)}body.theme-blue.dark-mode .home-avatar-btn.active{background:var(--bg-input);border-color:#4facfe}body.theme-blue.dark-mode .subtask-check.checked{background:#3a8fd4;border-color:#2a6fa4}body.theme-blue .section-header{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}body.theme-blue .calendar-event-dot{background:#4facfe}body.theme-blue .calendar-event-dot.chaperon{background:#00f2fe}body.theme-blue .home-section{border-color:var(--border-card,#d0e2ff)}*{box-sizing:border-box;margin:0;padding:0}button,.tab-btn,.tab-label,.assignee-btn,.home-avatar-btn,.day-btn,label{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@font-face{font-family:EmojiFont;src:local(Apple Color Emoji),local(Segoe UI Emoji),local(Noto Color Emoji),local(Android Emoji);unicode-range:U+200D,U+2030-2BFF,U+FE0E-FE0F,U+1F???,U+E000-F8FF}html,body{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:Nunito,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif,EmojiFont;overflow:hidden}#app{width:100%;height:100%}#app-content{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.app-container{-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:calc(70px + env(safe-area-inset-bottom,0px));background:var(--bg-primary);overscroll-behavior-y:contain;flex:1;overflow:hidden auto}.header{background:var(--header-gradient);padding:16px;padding-top:calc(env(safe-area-inset-top,20px) + 16px);text-align:center;z-index:100;position:sticky;top:0;box-shadow:0 4px 12px #ff8bab33}.header h1{color:#fff;justify-content:center;align-items:center;gap:8px;font-size:30px;font-weight:800;display:flex}.header-emoji{align-items:center;font-size:34px;display:inline-flex}.cinnamoroll-logo,.casahub-logo{vertical-align:middle;display:inline-block}.week-header{justify-content:space-between;align-items:center;gap:8px;margin-top:12px;display:flex}.week-nav-btn{color:#fff;cursor:pointer;background:#ffffff4d;border:none;border-radius:8px;padding:8px 12px;font-size:20px;transition:background .3s}.week-nav-btn:active{background:#ffffff80}.week-label{text-align:center;color:#fff;flex:1;font-size:16px;font-weight:600}.day-selector{background:var(--bg-card);-webkit-overflow-scrolling:touch;border-radius:16px;gap:8px;margin:16px;padding:12px;display:flex;overflow-x:auto}.day-btn{background:var(--bg-pink-light);border:2px solid var(--border-accent);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:12px;flex:none;padding:12px 16px;font-size:15px;font-weight:600;transition:all .3s}.day-btn.active{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;border-color:var(--accent-pink)}.day-btn:active{transform:scale(.95)}.day-btn.today:before{content:"💗";margin-right:4px}.day-btn.other-week{opacity:.4;background:var(--bg-section);border-color:var(--border-light)}.day-selector::-webkit-scrollbar{display:none}.day-selector{scrollbar-width:none}.tab-bar{background:var(--bg-card);padding:6px 0 0;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 10px var(--shadow-card);z-index:99;border-top:none;justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-width:0;padding:6px 2px;font-size:22px;transition:all .2s;display:flex;position:relative}.tab-btn.active{color:var(--accent-pink);background:color-mix(in srgb, var(--accent-pink) 10%, transparent);border-left:2px solid color-mix(in srgb, var(--accent-pink) 30%, transparent);border-right:2px solid color-mix(in srgb, var(--accent-pink) 30%, transparent);border-bottom:2.5px solid var(--accent-pink)}.tab-label{color:inherit;white-space:nowrap;font-size:12px;font-weight:600}.tab-btn.active .tab-label{color:var(--accent-pink)}.pull-refresh-indicator{z-index:1000;pointer-events:none;opacity:0;justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:flex;position:fixed;top:0;left:0;right:0;transform:translateY(-60px)}.pull-refresh-indicator.visible{opacity:1}.pull-refresh-indicator.refreshing{opacity:1;transform:translateY(0)}.pull-refresh-spinner{background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin:12px;font-size:18px;display:flex;box-shadow:0 2px 12px #00000026}.pull-refresh-spinner.spinning{animation:.8s linear infinite ptr-spin}@keyframes ptr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-banner{top:calc(env(safe-area-inset-top,20px) + 4px);color:#fff;z-index:1001;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;animation:.4s ease-out update-slide-in;display:flex;position:fixed;left:16px;right:16px;box-shadow:0 4px 16px #667eea66}.update-banner-text{flex:1;font-size:14px;font-weight:700}.update-banner-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff40;border:none;border-radius:8px;padding:6px 14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:13px;font-weight:700}.update-banner-btn:active{background:#fff6}.update-banner-dismiss{color:#ffffffb3;cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}@keyframes update-slide-in{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.content{padding:16px}.meal-card{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-card);border:2px solid var(--border-card);border-radius:16px;margin-bottom:12px;padding:16px}.meal-type-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:8px;font-size:15px;font-weight:700;display:flex}.meal-name{color:var(--text-primary);min-height:20px;margin-bottom:10px;font-size:18px;font-weight:600}.meal-name.empty{color:var(--text-muted);font-style:italic}.meal-controls{align-items:center;gap:8px;display:flex}.preparer-badge{cursor:pointer;border:none;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600;transition:all .3s}.preparer-mom{color:#fff;background:#ffb3c6}.preparer-dad{color:#fff;background:#a8d8ea}.preparer-avi{color:#fff;background:#b5ead7}.preparer-aarchi{color:#fff;background:#ffd6a5}.preparer-restaurant{background:var(--accent-purple);color:#fff}.preparer-outside-meal{color:#888;background:#e0e0e0}.random-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#c9b1ff 0%,#a78bfa 100%);border:none;border-radius:8px;margin-left:auto;padding:8px 12px;font-size:18px;transition:all .3s}.random-btn:active{transform:scale(.9)rotate(180deg)}.edit-btn{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;transition:all .3s}.edit-btn:active{transform:scale(.95)}.chore-card{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-card);border:2px solid var(--border-card);border-radius:16px;margin-bottom:12px;padding:16px;transition:border-color .2s}.chore-card.chore-pending{background:var(--bg-warning);border-color:#fc0}.chore-card.chore-rejected{border-color:var(--accent-pink);background:var(--bg-error)}.chore-name{color:var(--text-primary);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;font-size:18px;font-weight:600;display:flex}.approval-badge{white-space:nowrap;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700}.approval-badge.pending{color:#856404;background:#fff3cd}.approval-badge.approved{color:#155724;background:#d4edda}.approval-badge.rejected{color:#721c24;background:#f8d7da}.approval-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.approval-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s}.approval-btn:active{opacity:.7}.approval-btn.approve{color:#fff;background:linear-gradient(135deg,#2ecc71,#27ae60)}.approval-btn.reject{color:#fff;background:linear-gradient(135deg,#ff6b81,#ff4757)}.approval-btn.reject-confirm{color:#fff;background:#ff4757;padding:6px 12px}.approval-btn.reject-confirm:disabled{opacity:.4;cursor:not-allowed}.approval-btn.cancel{background:var(--bg-input);color:var(--text-secondary);padding:6px 10px}.rejection-note-form{flex:1;align-items:center;gap:6px;display:flex}.rejection-note-input{border:2px solid var(--accent-pink);border-radius:8px;outline:none;flex:1;min-width:100px;padding:6px 10px;font-family:inherit;font-size:14px}.rejection-note-input:focus{border-color:#ff4757}.rejection-note-display{color:#721c24;background:#fff0f3;border-left:3px solid #ff4757;border-radius:0 8px 8px 0;margin-bottom:10px;padding:6px 10px;font-size:13px}.widget-chore-check.pending{color:#fff;background:linear-gradient(135deg,#fc0,#fa0);border-color:#fa0;font-size:12px}.subtask-list{border-top:1px dashed var(--border-light,#f0e6ff);margin-top:4px;padding:6px 0 6px 30px}.subtask-item{align-items:center;gap:8px;padding:4px 0;font-size:15px;display:flex}.subtask-check{border:2px solid var(--border-light);background:var(--bg-card);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;transition:all .2s;display:flex}.subtask-check.checked{background:var(--accent-purple);color:#fff;border-color:#9b7fd4}.subtask-check:active{transform:scale(.9)}.subtask-label{color:var(--text-primary,#4a3470);font-weight:500}.subtask-label.done{opacity:.45;text-decoration:line-through}.subtask-progress{background:var(--bg-input);color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:2px 6px;font-size:12px;font-weight:700}.subtask-progress.all-done{color:#155724;background:#d4edda}.subtask-progress.blocked{color:#856404;background:#fff3cd}.subtask-editor{border-top:1px dashed var(--border-light);margin-top:8px;padding:8px 0 0 20px}.subtask-editor-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:700}.subtask-input-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.subtask-input{border:1px solid var(--border-light);border-radius:8px;outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:14px}.subtask-input:focus{border-color:var(--text-muted)}.subtask-remove-btn{color:#ff4757;cursor:pointer;background:#ffe0e6;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-family:inherit;font-size:16px;display:flex}.subtask-add-btn{color:var(--text-muted);border:1px dashed var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:4px 10px;font-family:inherit;font-size:13px;font-weight:600}.widget-subtask-expand{cursor:pointer;-webkit-tap-highlight-color:transparent;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.widget-subtask-mini{padding:2px 0 4px 30px}.widget-subtask-mini-item{align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.widget-subtask-mini-check{border:1.5px solid var(--border-light);background:var(--bg-card);cursor:pointer;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;display:flex}.widget-subtask-mini-check.checked{background:var(--accent-purple);color:#fff;border-color:#9b7fd4}body.dark-mode .subtask-list{border-top-color:var(--border-card)}body.dark-mode .subtask-check{background:var(--bg-input);border-color:var(--border-card)}body.dark-mode .subtask-label{color:var(--text-primary)}body.dark-mode .subtask-progress{background:var(--bg-input);color:var(--text-secondary)}body.dark-mode .subtask-input{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-card)}body.dark-mode .widget-subtask-mini-check{background:var(--bg-input);border-color:var(--border-card)}.chore-assignees{flex-wrap:wrap;gap:8px;display:flex}.assignee-btn{border:2px solid var(--text-muted);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;transition:all .3s}.assignee-btn.assigned-mom{color:#fff;border-color:var(--accent-pink);background:#ffb3c6}.assignee-btn.assigned-dad{color:#fff;background:#a8d8ea;border-color:#5a9fb5}.assignee-btn.assigned-avi{color:#fff;background:#b5ead7;border-color:#5fa896}.assignee-btn.assigned-aarchi{color:#fff;background:#ffd6a5;border-color:#ffb347}.chore-checkbox{cursor:pointer;width:24px;height:24px;accent-color:var(--accent-pink);margin-right:8px}.chore-photo-section{align-items:center;gap:8px;margin-top:8px;display:flex}.chore-photo-btn{border:2px solid var(--border-accent);background:var(--bg-pink-light);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex}.chore-photo-btn:active{transform:scale(.95)}.chore-photo-thumb{object-fit:cover;border:2px solid var(--border-accent);cursor:pointer;border-radius:10px;width:60px;height:60px}.chore-photo-thumb.pending{border-color:#ff9800;box-shadow:0 0 8px #ff98004d}.chore-photo-thumb.approved{border-color:#4caf50;box-shadow:0 0 8px #4caf504d}.chore-photo-thumb.rejected{opacity:.5;border-color:#ff5722}.chore-photo-status{border-radius:8px;padding:2px 8px;font-size:13px;font-weight:600}.chore-photo-status.pending{color:#e65100;background:#fff3e0}.chore-photo-status.approved{color:#2e7d32;background:#e8f5e9}.chore-photo-status.rejected{color:#bf360c;background:#fbe9e7}.chore-review-btns{gap:6px;display:flex}.chore-review-btn{cursor:pointer;border:none;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:14px;font-weight:700;transition:all .2s}.chore-review-btn:active{transform:scale(.95)}.chore-review-btn.approve{color:#fff;background:#4caf50}.chore-review-btn.reject{color:#fff;background:#ff5722}.chore-photo-overlay{z-index:200;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.chore-photo-overlay img{border-radius:16px;max-width:90%;max-height:70vh;box-shadow:0 8px 32px #0000004d}.chore-photo-overlay-info{color:#fff;text-align:center;margin-top:12px;font-size:16px}.chore-photo-overlay-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:26px;display:flex;position:absolute;top:20px;right:20px}.earnings-card{background:linear-gradient(135deg, #fff0f5 0%, var(--bg-input) 100%);text-align:center;border:2px solid var(--border-accent);box-shadow:0 2px 8px var(--shadow-card);border-radius:16px;margin-top:20px;padding:20px}.earnings-emoji{margin-bottom:8px;font-size:44px}.earnings-text{color:var(--text-primary);margin-bottom:8px;font-size:16px}.earnings-amount{background:var(--header-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:800}.sticker-summary-card{background:linear-gradient(135deg, #fff8e1 0%, #fff0f5 50%, var(--bg-input) 100%);border:2px solid var(--border-accent);border-radius:20px;margin:16px 0;padding:20px;box-shadow:0 4px 12px #ff8bab26}.sticker-summary-title{text-align:center;color:var(--text-primary);margin-bottom:16px;font-size:20px;font-weight:800}.sticker-kid-row{background:var(--bg-card);border:2px solid var(--border-accent);border-radius:14px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:12px 16px;display:flex}.sticker-kid-row:last-child{margin-bottom:0}.sticker-kid-info{color:var(--text-primary);align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.sticker-counts{align-items:center;gap:6px;font-size:16px;display:flex}.sticker-good-count{color:#4caf50;font-weight:800}.sticker-bad-count{color:#ff5722;font-weight:800}.sticker-net{text-align:center;min-width:30px;font-size:20px;font-weight:800}.sticker-gift{font-size:26px;animation:.6s infinite alternate giftBounce;display:inline-block}@keyframes giftBounce{0%{transform:scale(1)rotate(-5deg)}to{transform:scale(1.15)rotate(5deg)}}.sticker-no-gift{color:#999;font-size:15px;font-style:italic}.sticker-daily-section{background:var(--bg-card);border:2px solid var(--border-accent);border-radius:16px;margin-top:12px;padding:16px}.sticker-daily-title{color:var(--text-primary);text-align:center;margin-bottom:12px;font-size:17px;font-weight:700}.sticker-daily-kid{border-bottom:1px solid #f5f0ff;justify-content:space-between;align-items:center;padding:10px 0;display:flex}.sticker-daily-kid:last-child{border-bottom:none}.sticker-daily-display{flex-wrap:wrap;flex:1;align-items:center;gap:3px;min-height:28px;margin:0 12px;display:flex}.sticker-emoji{font-size:24px;animation:.3s stickerPop;display:inline-block}@keyframes stickerPop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}.sticker-controls{gap:6px;display:flex}.sticker-btn{border:2px solid var(--border-accent);cursor:pointer;background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;transition:all .2s;display:flex}.sticker-btn:active{transform:scale(.9)}.sticker-btn-good{background:#e8f5e9;border-color:#a5d6a7}.sticker-btn-bad{background:#fbe9e7;border-color:#ffab91}.sticker-btn-undo{background:#f5f5f5;border-color:#e0e0e0;font-size:16px}.sticker-lock-msg{text-align:center;color:#999;padding:12px;font-size:15px;font-style:italic}.sticker-progress{justify-content:center;gap:6px;margin-top:4px;display:flex}.sticker-progress-dot{background:#e0e0e0;border-radius:50%;width:12px;height:12px;transition:background .3s}.sticker-progress-dot.filled{background:var(--header-gradient)}.activity-card{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-card);border:2px solid var(--border-light);border-radius:16px;margin-bottom:12px;padding:16px}.activity-name-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.activity-name{color:var(--text-primary);font-size:18px;font-weight:600}.activity-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.assignee-toggle-btn{border:2px solid var(--text-muted);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;transition:all .3s}.assignee-toggle-btn.assigned-mom{color:#fff;border-color:var(--accent-pink);background:#ffb3c6}.assignee-toggle-btn.assigned-dad{color:#fff;background:#a8d8ea;border-color:#5a9fb5}.activity-checkbox{cursor:pointer;width:24px;min-width:24px;height:24px;accent-color:var(--accent-pink)}.modal-overlay{z-index:200;background:#0000004d;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.modal-sheet{background:var(--bg-card);-webkit-overflow-scrolling:touch;border-radius:20px 20px 0 0;max-height:85vh;padding:20px 20px 100px;overflow-y:auto}.modal-close-btn{background:var(--border-accent);color:var(--text-primary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:22px;display:flex;position:absolute;top:16px;right:16px}.modal-title{color:var(--text-primary);margin-bottom:16px;font-size:22px;font-weight:700}.favorites-picker-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.favorite-picker-item{border:2px solid var(--border-accent);background:var(--bg-pink-light);cursor:pointer;color:var(--text-primary);border-radius:8px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.favorite-picker-item:active{background:var(--border-accent);transform:scale(.98)}.favorite-picker-item.picker-selected{background:#e8ffe8;border-color:#8c8}.favorite-picker-item.picker-outside{border-color:var(--border-light);background:var(--bg-section)}.favorite-picker-item.picker-outside.picker-selected{background:#e8ffe8;border-color:#8c8}.favorite-picker-item.picker-restaurant{border-color:var(--border-light);background:var(--bg-section)}.favorite-picker-item.picker-restaurant.picker-selected{background:#e8ffe8;border-color:#8c8}.picker-check{color:#4a9a7e;width:20px;font-weight:800;display:inline-block}.meal-items-list{flex-direction:column;gap:4px;display:flex}.meal-item-chip{color:var(--text-primary);font-size:15px;line-height:1.3}.ingredient-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;min-width:16px;padding:0 4px;font-size:14px}.ingredient-section{border-left:2px solid var(--border-light);margin-bottom:4px;margin-left:20px;padding:8px 0 8px 12px}.ingredient-item{color:#666;justify-content:space-between;align-items:center;padding:3px 0;font-size:14px;display:flex}.grocery-list-btn{border:2px dashed var(--text-muted);background:var(--bg-section);width:100%;color:var(--text-primary);cursor:pointer;border-radius:12px;margin-top:12px;padding:14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:16px;font-weight:700;transition:all .3s}.grocery-list-btn:active{background:var(--bg-input);transform:scale(.98)}.grocery-modal{max-height:80vh;overflow-y:auto}.grocery-items{flex-direction:column;gap:6px;display:flex}.grocery-item{border:2px solid var(--border-light);background:var(--bg-card);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px;transition:all .2s;display:flex}.grocery-item.grocery-checked{opacity:.6;background:#f8f8f8;border-color:#e8e8e8}.grocery-checkbox{width:20px;min-width:20px;height:20px;accent-color:var(--accent-pink);pointer-events:none;margin-top:2px}.grocery-item-info{flex:1}.grocery-item-name{color:var(--text-primary);font-size:16px;font-weight:600}.grocery-strikethrough{color:#999;text-decoration:line-through}.grocery-item-meals{color:var(--text-muted);margin-top:2px;font-size:13px}.preparer-selector{border-top:2px solid var(--border-light);margin-top:16px;padding-top:16px}.preparer-selector-title{color:var(--text-muted);text-transform:uppercase;margin-bottom:12px;font-size:15px;font-weight:700}.preparer-selector-buttons{flex-wrap:wrap;gap:8px;display:flex}.preparer-selector-btn{border:2px solid var(--text-muted);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:14px;font-weight:600;transition:all .3s}.preparer-selector-btn.selected{color:#fff}.preparer-selector-btn.selected.mom{border-color:var(--accent-pink);background:#ffb3c6}.preparer-selector-btn.selected.dad{background:#a8d8ea;border-color:#5a9fb5}.preparer-selector-btn.selected.avi{background:#b5ead7;border-color:#5fa896}.preparer-selector-btn.selected.aarchi{background:#ffd6a5;border-color:#ffb347}.preparer-selector-btn.selected.restaurant{background:var(--accent-purple);border-color:#a78bfa}.preparer-selector-btn.selected.outside\ meal{background:#e0e0e0;border-color:#bbb}.clear-meal-btn{background:var(--border-accent);width:100%;color:var(--text-primary);cursor:pointer;border:none;border-radius:8px;margin-top:12px;padding:12px;font-size:15px;font-weight:600;transition:all .3s}.clear-meal-btn:active{transform:scale(.98)}.settings-section{margin-bottom:12px}.settings-group-label{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-secondary,#9b8bb4);margin-top:4px;padding:16px 4px 6px;font-size:11px;font-weight:800}.settings-group-label:first-child{margin-top:0;padding-top:0}.section-header{background:linear-gradient(135deg, var(--accent-pink,#ff8fab) 0%, var(--accent-pink-light,#ffb3c6) 100%);color:#fff;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:12px;align-items:center;gap:8px;margin-bottom:8px;padding:12px;font-size:16px;font-weight:700;transition:all .3s;display:flex}.section-header:active{transform:scale(.98)}.section-header.expanded{border-radius:12px 12px 0 0}.section-header.locked-section{opacity:.6;cursor:default}.section-header.locked-section:active{transform:none}.section-content{background:var(--bg-card);border:2px solid var(--border-accent);border-top:none;border-radius:0 0 12px 12px;margin-bottom:8px;padding:12px}.tracking-period-selector{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.tracking-period-btn{border:2px solid var(--border-accent);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:20px;padding:6px 14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:14px;font-weight:600;transition:all .3s}.tracking-period-btn.active{background:var(--header-gradient);color:#fff;border-color:#0000}.tracking-table{border-collapse:separate;border-spacing:0 6px;width:100%;font-size:15px}.tracking-table th{text-align:center;color:#999;padding:4px 6px;font-size:13px;font-weight:600}.tracking-table th:first-child{text-align:left}.tracking-table td{text-align:center;padding:8px 6px;font-weight:600}.tracking-table td:first-child{text-align:left;border-radius:8px 0 0 8px}.tracking-table td:last-child{border-radius:0 8px 8px 0}.tracking-row-mom td{color:#d4668a;background:#ffb3c620}.tracking-row-dad td{color:#5a9fb5;background:#a8d8ea20}.tracking-row-avi td{color:#4a9a7e;background:#b5ead720}.tracking-row-aarchi td{color:#d4923a;background:#ffd6a520}.tracking-total{font-weight:800!important}.favorites-list{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.favorite-item{background:var(--bg-pink-light);border:2px solid var(--border-accent);color:var(--text-primary);border-radius:8px;justify-content:space-between;align-items:center;padding:12px;font-size:16px;display:flex}.favorite-item-name{word-wrap:break-word;flex:1}.favorite-delete-btn{background:var(--accent-pink);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:8px;font-size:20px;transition:all .3s;display:flex}.favorite-delete-btn:active{transform:scale(.9)}.add-favorite-btn{background:linear-gradient(135deg, var(--accent-purple) 0%, color-mix(in srgb, var(--accent-purple) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:10px 12px;font-size:14px;font-weight:600;transition:all .3s}.add-favorite-btn:active{transform:scale(.95)}.add-favorite-input-container{gap:6px;margin-top:8px;display:flex}.add-favorite-input{border:2px solid var(--border-accent);color:var(--text-primary);border-radius:8px;flex:1;padding:8px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:15px}.add-favorite-input::placeholder{color:var(--text-muted)}.add-favorite-submit{background:var(--accent-pink);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600;transition:all .3s}.add-favorite-submit:active{transform:scale(.95)}.settings-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-size:18px;font-weight:700;display:flex}.settings-subtitle{color:var(--text-primary);margin-bottom:8px;font-size:16px;font-weight:700}.settings-input{border:2px solid var(--border-accent);width:100%;color:var(--text-primary);border-radius:8px;margin-bottom:8px;padding:12px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:16px}.settings-button{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.settings-button:active{transform:scale(.98)}.pin-input{text-align:center;letter-spacing:8px;font-size:18px;font-weight:700}.lock-unlock-btn{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .3s}.lock-unlock-btn:active{transform:scale(.95)}.locked-date-warning{background:var(--border-accent);border:2px solid var(--accent-pink);color:var(--text-primary);border-radius:8px;margin-bottom:12px;padding:12px;font-size:15px;font-weight:600}.unlock-btn{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .3s}.unlock-btn:active{transform:scale(.95)}.error-message{background:var(--accent-pink);color:#fff;border-radius:8px;margin-bottom:10px;padding:10px;font-size:15px;font-weight:600}.loading{text-align:center;color:var(--text-muted);padding:40px 20px;font-weight:600}.chore-input-group{gap:6px;margin-bottom:8px;display:flex}.chore-input{border:2px solid var(--border-accent);color:var(--text-primary);border-radius:8px;flex:1;padding:10px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:15px}.chore-input::placeholder{color:var(--text-muted)}.chore-remove-btn{background:var(--accent-pink);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:all .3s;display:flex}.chore-remove-btn:active{transform:scale(.95)}.chore-add-btn{background:linear-gradient(135deg, var(--accent-purple) 0%, color-mix(in srgb, var(--accent-purple) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .3s}.chore-add-btn:active{transform:scale(.95)}.save-chores-btn{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.save-chores-btn:active{transform:scale(.98)}.activity-input-group{gap:6px;margin-bottom:8px;display:flex}.activity-input{border:2px solid var(--border-accent);color:var(--text-primary);border-radius:8px;flex:1;padding:10px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:15px}.activity-input::placeholder{color:var(--text-muted)}.activity-remove-btn{background:var(--accent-pink);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:all .3s;display:flex}.activity-remove-btn:active{transform:scale(.95)}.activity-add-btn{background:linear-gradient(135deg, var(--accent-purple) 0%, color-mix(in srgb, var(--accent-purple) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .3s}.activity-add-btn:active{transform:scale(.95)}.save-activities-btn{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-top:16px;padding:12px;font-size:16px;font-weight:600;transition:all .3s}.save-activities-btn:active{transform:scale(.98)}.avatar{background:var(--bg-input);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:inline-flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-small{width:30px;height:30px;font-size:18px}.avatar-large{cursor:pointer;border:3px solid #ffe0ec;width:72px;height:72px;font-size:40px;transition:all .3s}.avatar-large:active{transform:scale(.95)}.avatar-tiny{border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:16px;display:inline-flex}.avatar-profile-row{background:var(--bg-pink-light);border:2px solid var(--border-accent);border-radius:12px;align-items:center;gap:14px;margin-bottom:10px;padding:12px;display:flex}.avatar-profile-name{color:var(--text-primary);flex:1;font-size:18px;font-weight:700}.avatar-profile-actions{gap:8px;display:flex}.avatar-action-btn{border:2px solid var(--text-muted);background:var(--bg-card);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:6px 12px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:13px;font-weight:600;transition:all .3s}.avatar-action-btn:active{background:var(--bg-input);transform:scale(.95)}.emoji-picker-grid{grid-template-columns:repeat(6,1fr);gap:8px;padding:12px 0;display:grid}.emoji-picker-item{border:2px solid var(--border-light);background:var(--bg-card);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;font-size:30px;transition:all .2s;display:flex}.emoji-picker-item:active{background:var(--border-accent);transform:scale(.9)}.emoji-picker-item.selected{border-color:var(--accent-pink);background:var(--bg-pink-light)}.avatar-with-name{align-items:center;gap:4px;display:flex}.auth-screen{background:linear-gradient(180deg, var(--bg-input) 0%, var(--bg-pink-light) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-logo{margin-bottom:8px;font-size:64px}.auth-title{color:var(--text-primary);text-align:center;margin-bottom:4px;font-size:26px;font-weight:800}.auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:28px;font-size:15px}.auth-card{background:var(--bg-card);width:100%;max-width:360px;box-shadow:0 4px 20px var(--shadow-card);border:2px solid var(--border-light);border-radius:20px;padding:24px}.auth-input{border:2px solid var(--border-accent);width:100%;color:var(--text-primary);box-sizing:border-box;border-radius:12px;outline:none;margin-bottom:12px;padding:14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:16px;transition:border-color .2s}.auth-input:focus{border-color:var(--accent-pink)}.auth-input::placeholder{color:var(--text-muted)}.auth-btn{cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:10px;padding:14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:17px;font-weight:700;transition:all .3s}.auth-btn:active{transform:scale(.98)}.auth-btn-primary{background:var(--header-gradient);color:#fff}.auth-btn-secondary{background:var(--bg-card);color:var(--text-primary);border:2px solid var(--border-accent)}.auth-error{color:#d44;text-align:center;background:#fff0f0;border:2px solid #fcc;border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:15px;font-weight:600}.auth-switch{text-align:center;color:#999;margin-top:16px;font-size:15px}.auth-switch-link{color:var(--accent-pink);cursor:pointer;background:0 0;border:none;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:15px;font-weight:700}.auth-user-info{background:var(--bg-section);border-radius:10px;align-items:center;gap:10px;margin-bottom:10px;padding:10px 14px;display:flex}.auth-user-email{color:var(--text-primary);word-break:break-all;flex:1;font-size:15px;font-weight:600}.offline-banner{color:#fff;text-align:center;z-index:101;background:#ff9800;padding:6px;font-size:14px;font-weight:600;display:none;position:sticky;top:0}.offline-banner.show{display:block}.online-toast{color:#fff;text-align:center;z-index:102;background:#4caf50;padding:6px;font-size:14px;font-weight:600;transition:transform .3s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.online-toast.show{transform:translateY(0)}.sync-indicator{color:var(--text-secondary);align-items:center;gap:4px;margin-top:4px;font-size:12px;display:inline-flex}.sync-dot{border-radius:50%;width:8px;height:8px;transition:background .3s;display:inline-block}.sync-dot.connected{background:#4caf50}.sync-dot.disconnected{background:#ff9800}.sync-dot.syncing{background:#ff9800;animation:1s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.header-actions{justify-content:center;align-items:center;gap:12px;margin-top:4px;display:flex}.notification-bell{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;padding:4px;font-size:22px;display:flex;position:relative}.notification-badge{color:#fff;background:#ff4757;border:2px solid #ff8babcc;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-2px;right:-4px}.notification-panel{background:var(--bg-card);z-index:1000;flex-direction:column;width:320px;max-width:90vw;transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #00000026}.notification-panel.open{transform:translate(0)}.notification-panel-backdrop{z-index:999;opacity:0;pointer-events:none;background:#0000004d;transition:opacity .3s;position:fixed;inset:0}.notification-panel-backdrop.open{opacity:1;pointer-events:auto}.notification-panel-header{padding:16px;padding-top:calc(env(safe-area-inset-top,20px) + 16px);background:var(--header-gradient);color:#fff;justify-content:space-between;align-items:center;display:flex}.notification-panel-header h2{font-size:20px;font-weight:700}.notification-panel-close{color:#fff;cursor:pointer;background:#ffffff4d;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:20px;display:flex}.notification-panel-actions{border-bottom:1px solid var(--border-light);gap:8px;padding:8px 16px;display:flex}.notification-panel-actions button{border:1px solid var(--border-light);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:12px;padding:4px 12px;font-family:inherit;font-size:13px;font-weight:600}.notification-panel-actions button:active{background:var(--bg-input)}.notification-list{-webkit-overflow-scrolling:touch;flex:1;padding:8px;overflow-y:auto}.notification-item{cursor:pointer;border-radius:12px;gap:10px;margin-bottom:4px;padding:12px;transition:background .2s;display:flex}.notification-item.unread{background:#f8f0ff}.notification-item:active{background:var(--bg-input)}.notification-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:26px;display:flex}.notification-item-content{flex:1;min-width:0}.notification-item-title{color:var(--text-primary);font-size:15px;font-weight:700;line-height:1.3}.notification-item-body{color:var(--text-secondary);margin-top:2px;font-size:14px;line-height:1.3}.notification-item-time{color:var(--text-muted);margin-top:4px;font-size:12px}.notification-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.notification-empty-icon{margin-bottom:12px;font-size:48px}.notification-empty-text{font-size:16px;font-weight:600}.notif-pref-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.notif-pref-row:last-child{border-bottom:none}.notif-pref-label{color:var(--text-primary);font-size:15px;font-weight:600}.notif-pref-sub{color:var(--text-secondary);font-size:13px}.notif-toggle{background:var(--border-light);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;width:44px;height:24px;padding:0;transition:background .3s;position:relative}.notif-toggle.active{background:var(--text-muted)}.notif-toggle:after{content:"";background:var(--bg-card);border-radius:50%;width:20px;height:20px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.notif-toggle.active:after{transform:translate(20px)}.notif-time-input{border:2px solid var(--border-light);width:90px;color:var(--text-primary);text-align:center;border-radius:8px;padding:6px 8px;font-family:inherit;font-size:15px}.notif-time-input:focus{border-color:var(--text-muted);outline:none}.notif-permission-btn{background:var(--header-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:12px;padding:12px;font-family:inherit;font-size:16px;font-weight:700}.notif-permission-btn:active{opacity:.8}.notif-permission-status{text-align:center;color:var(--text-secondary);background:#f8f0ff;border-radius:8px;margin-bottom:12px;padding:8px;font-size:14px}.notif-permission-status.granted{color:#4caf50;background:#e8f5e9}.notif-permission-status.denied{color:#ff4757;background:#ffeef0}.home-avatar-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;margin-bottom:8px;padding:8px 4px;display:flex;overflow-x:auto}.home-avatar-row::-webkit-scrollbar{display:none}.home-avatar-btn{background:var(--bg-card);color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;border:2px solid #0000;border-radius:14px;flex-direction:column;flex:1 1 0;align-items:center;gap:3px;min-width:56px;max-width:120px;padding:6px 10px;font-family:inherit;font-size:12px;font-weight:600;transition:all .2s;display:flex}.home-avatar-btn.active{border-color:var(--text-muted);background:var(--bg-accent-light);color:var(--text-primary);box-shadow:0 2px 8px var(--shadow-card)}.home-avatar-btn .avatar-circle{width:48px;height:48px;font-size:24px}.home-greeting{background:var(--header-gradient);color:#fff;border-radius:14px;align-items:center;margin-bottom:8px;padding:14px 16px;display:flex}.greeting-text{margin-bottom:2px;font-size:20px;font-weight:800}.greeting-date{opacity:.9;font-size:13px}.home-section{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-card);border:1.5px solid var(--border-card);border-radius:16px;margin-bottom:10px;padding:12px 14px}.home-section.tappable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s}.home-section.tappable:active{transform:scale(.98);box-shadow:0 1px 2px #c9b1ff26}.home-section-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.home-section-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:5px;font-size:14px;font-weight:800;display:flex}.home-section-badge{background:var(--bg-input);color:var(--text-secondary);border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700}.home-section-badge.done{background:color-mix(in srgb, var(--accent-green) 15%, var(--bg-card));color:var(--accent-green)}.home-section-arrow{color:var(--text-muted);font-size:16px}.progress-ring-container{align-items:center;gap:10px;display:flex}.progress-ring{flex-shrink:0;transform:rotate(-90deg)}.progress-ring-bg{fill:none;stroke:var(--border-light)}.progress-ring-fill{fill:none;stroke-linecap:round;transition:stroke-dashoffset .5s}.progress-ring-text{fill:var(--text-primary);text-anchor:middle;dominant-baseline:central;transform-origin:50%;font-size:13px;font-weight:800;transform:rotate(90deg)}.widget-chore-item{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.widget-chore-item:last-child{border-bottom:none}.widget-chore-check{border:2px solid var(--border-light);background:var(--bg-card);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;transition:all .2s;display:flex}.widget-chore-check.checked{color:#fff;background:linear-gradient(135deg,#2ecc71,#27ae60);border-color:#27ae60}.widget-chore-check:active{transform:scale(.9)}@keyframes checkPop{0%{transform:scale(.8)}50%{transform:scale(1.2)}to{transform:scale(1)}}.widget-chore-check.just-checked{animation:.3s checkPop}.widget-chore-label{color:var(--text-primary);flex:1;font-weight:500}.widget-chore-label.done{opacity:.45;color:var(--text-secondary);text-decoration:line-through}.widget-chore-assignee{color:var(--text-muted);font-size:12px;font-weight:600}.widget-countdown{background:linear-gradient(135deg, var(--bg-accent-light) 0%, var(--bg-pink-light) 100%);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.widget-countdown-icon{font-size:20px}.widget-countdown-info{flex:1}.widget-countdown-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.widget-countdown-title{color:var(--text-primary);font-size:15px;font-weight:700}.widget-countdown-time{color:var(--text-muted);white-space:nowrap;font-size:16px;font-weight:800}.widget-countdown-time.soon{color:var(--accent-pink)}.widget-countdown-time.imminent{color:#ff4757}.home-meal-item{border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.home-meal-item:last-child{border-bottom:none}.home-meal-type{color:var(--text-muted);text-transform:uppercase;min-width:60px;font-size:12px;font-weight:700}.home-meal-name{color:var(--text-primary);flex:1;font-weight:500}.home-sticker-bar{align-items:center;gap:8px;padding:4px 0;display:flex}.home-sticker-progress{background:var(--bg-input);border-radius:4px;flex:1;height:8px;overflow:hidden}.home-sticker-fill{background:linear-gradient(90deg,gold,#fa0);border-radius:4px;height:100%;transition:width .3s}.home-voice-btn{background:var(--header-gradient);color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;margin-bottom:12px;padding:12px;font-family:inherit;font-size:16px;font-weight:700;display:flex}.home-voice-btn:active{opacity:.8}.home-voice-btn.playing{background:linear-gradient(135deg,#ff4757 0%,#ff8fab 100%)}.home-voice-btn-inline{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ffffff40;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;display:flex}.home-voice-btn-inline:active{opacity:.7}.home-voice-btn-inline.playing{background:#ff475780;animation:1s infinite pulse}.week-overview{background:var(--bg-section);border-radius:10px;margin-bottom:8px;padding:10px}.week-overview-title{color:var(--text-primary);text-align:center;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:14px;font-weight:800}.week-overview-member{border-bottom:1px solid var(--border-light);padding:6px 0}.week-overview-member:last-child{border-bottom:none}.week-overview-member-name{color:var(--text-primary);margin-bottom:2px;font-size:14px;font-weight:700}.week-overview-stats{color:var(--text-secondary);gap:10px;font-size:12px;display:flex}.home-empty-msg{text-align:center;color:var(--text-muted);padding:8px;font-size:13px}.home-review-item{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.home-review-item:last-child{border-bottom:none}.earnings-pills{flex-wrap:wrap;gap:4px;display:flex}.earnings-pill{background:var(--bg-card);color:var(--text-primary);border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:600;display:flex;box-shadow:0 1px 2px #0000000a}.earnings-pill .avatar-circle{width:24px;height:24px;font-size:11px}.earnings-total{color:var(--text-secondary);text-align:right;margin-top:4px;font-size:12px}.savings-goal-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.savings-goal-emoji{font-size:26px}.savings-goal-emoji-upload{cursor:pointer;position:relative}.savings-add-photo-hint{background:var(--bg-card,white);border-radius:50%;padding:1px;font-size:12px;line-height:1;position:absolute;bottom:-4px;right:-6px}.savings-goal-image-wrap{cursor:pointer;display:inline-block;position:relative}.savings-change-photo-hint{background:var(--bg-card,white);border-radius:50%;padding:1px;font-size:13px;line-height:1;position:absolute;bottom:-2px;right:-4px;box-shadow:0 1px 3px #00000026}.savings-goal-image{object-fit:cover;border:2px solid var(--border-light,#e0d6f0);border-radius:12px;width:48px;height:48px}.savings-goal-thumb{object-fit:cover;border-radius:4px;width:20px;height:20px}.goal-image-upload-area{justify-content:center;margin-bottom:4px;display:flex}.goal-image-upload-btn{border:2px dashed var(--border-card,#e0d6f0);background:var(--bg-input,#f0e6ff);width:100%;color:var(--text-secondary,#9b8bb4);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.goal-image-upload-btn:active{transform:scale(.98)}.goal-image-preview-wrap{display:inline-block;position:relative}.goal-image-preview{object-fit:cover;border:3px solid var(--accent-pink,#ff8fab);border-radius:16px;width:100px;height:100px}.goal-image-remove{color:#fff;cursor:pointer;background:#ff4757;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:14px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.savings-goal-info{flex:1}.savings-goal-title{color:var(--text-primary,#4a3470);font-size:15px;font-weight:700}.savings-goal-amount{color:var(--text-secondary,#9b8bb4);font-size:13px}.savings-goal-bar{background:var(--border-light,#e0d6f0);border-radius:6px;width:100%;height:12px;margin-bottom:4px;overflow:hidden}.savings-goal-fill{background:linear-gradient(90deg, var(--accent-purple,#c9b1ff), var(--accent-pink,#ff8fab));border-radius:6px;height:100%;transition:width .5s}.savings-goal-fill.complete{background:linear-gradient(90deg,#2ecc71,#27ae60)}.savings-goal-stats{color:var(--text-secondary,#9b8bb4);justify-content:space-between;font-size:12px;display:flex}.savings-goal-stats strong{color:var(--text-primary,#4a3470)}.savings-set-goal-btn{border:2px dashed var(--accent-purple,#c9b1ff);width:100%;color:var(--accent-purple,#c9b1ff);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:10px;padding:10px;font-family:inherit;font-size:15px;font-weight:700}.savings-set-goal-btn:active{opacity:.7}.savings-complete-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ecc71,#27ae60);border:none;border-radius:8px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:700}.savings-complete-btn:active{opacity:.7}.savings-completed-list{border-top:1px dashed var(--border-light,#f0e6ff);margin-top:6px;padding-top:6px}.savings-completed-item{color:var(--text-secondary,#9b8bb4);align-items:center;gap:6px;padding:3px 0;font-size:13px;display:flex}.goal-emoji-grid{grid-template-columns:repeat(8,1fr);gap:4px;margin-bottom:12px;display:grid}.goal-emoji-btn{background:var(--bg-input,#f0e6ff);cursor:pointer;border:2px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;display:flex}.goal-emoji-btn.selected{border-color:var(--accent-purple,#c9b1ff);background:var(--bg-section,#f9f5ff)}.vacay-add-btn{border:2px dashed var(--border-card,#e0d6f0);background:var(--bg-card,white);width:100%;color:var(--accent-pink,#ff8fab);cursor:pointer;border-radius:14px;margin-bottom:16px;padding:14px;font-family:inherit;font-size:17px;font-weight:700}.vacay-empty{text-align:center;padding:40px 20px}.vacay-trip-card{background:var(--bg-card,white);box-shadow:var(--shadow-card,0 2px 8px #c8aae626);border:1.5px solid var(--border-card,#f0e6ff);border-radius:16px;margin-bottom:16px;padding:16px}.vacay-trip-card.past{opacity:.6}.vacay-trip-header{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.vacay-trip-emoji{font-size:30px;line-height:1}.vacay-trip-info{flex:1}.vacay-trip-title{color:var(--text-primary,#4a3470);font-size:18px;font-weight:800}.vacay-trip-dest{color:var(--text-secondary,#9b8bb4);margin-top:1px;font-size:14px}.vacay-trip-dates{color:var(--text-muted,#c4b5d4);margin-top:2px;font-size:13px}.vacay-trip-actions{gap:4px;display:flex}.vacay-trip-actions button{cursor:pointer;background:0 0;border:none;padding:4px;font-size:16px}.vacay-countdown{text-align:center;background:linear-gradient(135deg, color-mix(in srgb, var(--accent-pink) 10%, transparent), color-mix(in srgb, var(--accent-purple) 10%, transparent));color:var(--text-primary,#4a3470);border-radius:12px;margin-bottom:12px;padding:10px;font-size:16px;font-weight:700}.vacay-countdown strong{background:linear-gradient(135deg, var(--accent-pink,#ff8fab), var(--accent-purple,#c9b1ff));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px}.vacay-countdown.ongoing{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-green) 12%, transparent), color-mix(in srgb, var(--accent-green) 8%, transparent));color:var(--accent-green,#27ae60)}.vacay-countdown.past{background:var(--bg-input,#f0e6ff);color:var(--text-muted,#c4b5d4)}.vacay-section{margin-top:12px}.vacay-section-title{color:var(--text-primary,#4a3470);margin-bottom:8px;font-size:15px;font-weight:800}.vacay-progress{color:var(--text-muted,#c4b5d4);margin-left:4px;font-size:13px;font-weight:600}.vacay-checklist-item{color:var(--text-primary,#4a3470);align-items:center;gap:8px;padding:6px 0;font-size:15px;display:flex}.vacay-checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-pink);flex-shrink:0}.vacay-checklist-item span.done{color:var(--text-muted,#c4b5d4);text-decoration:line-through}.vacay-remove-btn{color:var(--text-muted,#c4b5d4);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:2px 4px;font-size:14px}.vacay-add-item{margin-top:4px}.vacay-add-input{border:1.5px solid var(--border-light,#e0d6f0);background:var(--bg-input,#f0e6ff);width:100%;color:var(--text-primary,#4a3470);border-radius:8px;outline:none;padding:8px 10px;font-family:inherit;font-size:14px}.vacay-add-input:focus{border-color:var(--accent-pink,#ff8fab)}.vacay-packing-member{background:var(--bg-input,#f0e6ff);border-radius:10px;margin-bottom:8px;overflow:hidden}.vacay-packing-header{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:8px;padding:8px 10px;display:flex}.vacay-packing-name{color:var(--text-primary,#4a3470);flex:1;font-size:15px;font-weight:700}.vacay-expand-arrow{color:var(--text-muted,#c4b5d4);font-size:14px;transition:transform .2s}.vacay-packing-items{padding:0 10px 8px}.vacay-modal-input{border:2px solid var(--border-card,#e0d6f0);background:var(--bg-input,#f0e6ff);width:100%;color:var(--text-primary,#4a3470);box-sizing:border-box;-webkit-appearance:none;border-radius:10px;outline:none;padding:10px 12px;font-family:inherit;font-size:16px}.vacay-modal-input:focus{border-color:var(--accent-pink,#ff8fab)}.streak-widget{background:var(--bg-card,white)}.streak-display{justify-content:center;align-items:center;gap:16px;padding:8px 0;display:flex}.streak-current,.streak-best{text-align:center;flex:1}.streak-number{background:linear-gradient(135deg,#ff6b35,#ff8fab);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:30px;font-weight:900;line-height:1.1}.streak-number.best{background:linear-gradient(135deg,#c9b1ff,#4facfe);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.streak-label{color:var(--text-muted,#c4b5d4);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:700}.streak-badge{margin-left:2px;font-size:16px}.streak-divider{background:var(--border-light,#e0d6f0);width:1px;height:36px}.streak-warning{text-align:center;color:var(--text-muted,#c4b5d4);padding:4px 0 0;font-size:13px}.streak-encouragement{text-align:center;color:var(--accent-pink,#ff8fab);padding:4px 0 0;font-size:13px;font-weight:600}.streak-encouragement.record{color:#ff6b35}.weekly-summary-content{padding:4px 0}.summary-stat-row{border-bottom:1px solid var(--border-light,#e0d6f0);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.summary-stat-row:last-child{border-bottom:none}.summary-stat-label{color:var(--text-secondary,#9b8bb4);font-size:15px}.summary-stat-value{color:var(--text-primary,#4a3470);font-size:16px;font-weight:800}.summary-member-card{background:var(--bg-input,#f0e6ff);border-radius:12px;margin:6px 0;padding:10px}.summary-member-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.summary-member-name{color:var(--text-primary,#4a3470);font-size:15px;font-weight:700}.summary-member-stats{flex-wrap:wrap;gap:8px;display:flex}.summary-mini-stat{color:var(--text-secondary,#9b8bb4);font-size:13px}.summary-mini-stat strong{color:var(--text-primary,#4a3470)}.summary-top-performer{text-align:center;background:linear-gradient(135deg,#ffd70026,#ff8fab26);border-radius:12px;margin:8px 0;padding:10px}.summary-top-emoji{font-size:26px}.summary-top-name{color:var(--text-primary,#4a3470);font-size:16px;font-weight:800}.summary-top-label{color:var(--text-muted,#c4b5d4);text-transform:uppercase;font-size:12px;font-weight:700}.summary-view-btn{background:var(--header-gradient);color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:8px;padding:10px;font-family:inherit;font-size:15px;font-weight:700;display:block}.activity-feed-timeline{padding-left:4px}.activity-feed-day{margin-bottom:8px}.activity-feed-day-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted,#c4b5d4);margin-bottom:4px;padding-left:28px;font-size:12px;font-weight:800}.activity-feed-item{align-items:flex-start;gap:8px;padding:5px 0;display:flex;position:relative}.activity-feed-item:before{content:"";background:var(--border-light,#e0d6f0);width:2px;position:absolute;top:22px;bottom:-7px;left:10px}.activity-feed-day>.activity-feed-item:last-child:before{display:none}.activity-feed-dot{background:var(--bg-input,#f0e6ff);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.activity-feed-icon{font-size:13px;line-height:1}.activity-feed-content{color:var(--text-secondary,#9b8bb4);flex:1;font-size:14px;line-height:1.4}.activity-feed-member{color:var(--text-primary,#4a3470);font-weight:700}.activity-feed-time{color:var(--text-muted,#c4b5d4);margin-left:6px;font-size:12px;display:inline-block}.activity-feed-item.milestone{background:linear-gradient(135deg,#ffd70014,#ff8fab14);border-radius:10px;margin:2px -4px;padding:6px 8px}.activity-feed-item.milestone .activity-feed-content{color:var(--text-primary,#4a3470);font-weight:600}.activity-feed-item.milestone .activity-feed-dot{background:linear-gradient(135deg,gold,#ff8fab)}.activity-feed-item.milestone .activity-feed-icon{filter:brightness(1.2)}.confetti-overlay{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-piece{border-radius:2px;width:10px;height:10px;animation:3s ease-out forwards confettiFall;position:absolute}@keyframes confettiFall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}body.theme-blue .savings-goal-fill{background:linear-gradient(90deg,#4facfe,#00f2fe)}.calendar-container{background:var(--bg-card,white);box-shadow:0 2px 8px var(--shadow-card);border:1.5px solid var(--border-card,#f0e6ff);border-radius:16px;margin-bottom:16px;padding:16px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month-year{color:var(--text-primary);font-size:18px;font-weight:700}.calendar-nav-btn{background:var(--bg-input);cursor:pointer;color:var(--text-primary);-webkit-tap-highlight-color:transparent;border:none;border-radius:8px;padding:8px 14px;font-size:16px;font-weight:700}.calendar-nav-btn:active{background:var(--bg-input)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-weekday-header{text-align:center;color:var(--text-muted);padding:6px 0;font-size:13px;font-weight:700}.calendar-day{aspect-ratio:1;cursor:pointer;color:var(--text-primary);-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:15px;transition:background .2s;display:flex;position:relative}.calendar-day:active{background:var(--bg-input)}.calendar-day.today{background:var(--border-accent);font-weight:800}.calendar-day.selected{background:var(--accent-purple);color:#fff;font-weight:700}.calendar-day.selected.today{background:var(--accent-pink);color:#fff}.calendar-day.empty{cursor:default}.calendar-day.other-month{color:var(--text-muted)}.calendar-event-dots{justify-content:center;gap:3px;margin-top:3px;display:flex}.calendar-event-dot{background:var(--accent-pink,#ff8fab);border-radius:50%;width:6px;height:6px}.calendar-event-dot.chaperon{background:var(--accent-purple,#c9b1ff)}.calendar-selected-day{background:var(--bg-card,white);box-shadow:0 2px 8px var(--shadow-card);border:1.5px solid var(--border-card,#f0e6ff);border-radius:16px;margin-bottom:16px;padding:16px}.calendar-selected-header{color:var(--text-primary);margin-bottom:12px;font-size:18px;font-weight:700}.calendar-events-list{margin-bottom:12px}.calendar-event-swipe-container{border-radius:10px;margin-bottom:6px;position:relative;overflow:hidden}.calendar-event-swipe-bg{color:#fff;pointer-events:none;justify-content:space-between;align-items:center;padding:0 18px;font-size:14px;font-weight:700;display:flex;position:absolute;inset:0}.calendar-event-swipe-bg .swipe-edit{background:#6c4ab6;border-radius:10px 0 0 10px;align-items:center;gap:6px;padding:0 18px;display:flex;position:absolute;top:0;bottom:0;left:0}.calendar-event-swipe-bg .swipe-delete{background:var(--accent-red);border-radius:0 10px 10px 0;align-items:center;gap:6px;padding:0 18px;display:flex;position:absolute;top:0;bottom:0;right:0}.calendar-event-item{background:var(--bg-card,#f9f5ff);border-left:4px solid var(--accent-pink);z-index:1;touch-action:pan-y;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;transition:transform .15s ease-out;display:flex;position:relative}.calendar-event-item .event-info{flex:1;min-width:0}.calendar-event-item .event-time{color:var(--text-muted);font-size:13px;font-weight:600}.calendar-event-item .event-title{color:var(--text-primary,#4a3470);font-size:16px;font-weight:700}.calendar-event-item .event-desc{color:var(--text-muted,#9b8bb4);margin-top:2px;font-size:14px}.calendar-add-event-btn{background:var(--bg-input);width:100%;color:var(--text-primary);border:2px dashed var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;margin-bottom:16px;padding:12px;font-family:inherit;font-size:16px;font-weight:600}.calendar-add-event-btn:active{background:var(--bg-section)}.calendar-chaperon-section{border-top:2px solid var(--border-light);margin-top:8px;padding-top:16px}.calendar-chaperon-title{color:var(--text-primary);align-items:center;gap:6px;margin-bottom:10px;font-size:17px;font-weight:700;display:flex}.event-form-group{margin-bottom:12px}.event-form-group label{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:700;display:block}.event-form-group input,.event-form-group select,.event-form-group textarea{border:2px solid var(--border-light);width:100%;color:var(--text-primary);border-radius:8px;padding:10px;font-family:inherit;font-size:16px}.event-form-group input:focus,.event-form-group select:focus,.event-form-group textarea:focus{border-color:var(--text-muted);outline:none}.event-form-row{gap:8px;display:flex}.event-form-row .event-form-group{flex:1}.event-color-picker{flex-wrap:wrap;gap:8px;display:flex}.event-color-option{cursor:pointer;-webkit-tap-highlight-color:transparent;border:3px solid #0000;border-radius:50%;width:28px;height:28px}.event-color-option.selected{border-color:var(--text-primary)}.veg-day-toggle{background:var(--bg-card);border:2px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 16px;transition:all .2s;display:flex}.veg-day-toggle.veg-active{background:#e8f5e9;border-color:#81c784}.veg-day-toggle:active{transform:scale(.98)}.veg-day-label{color:var(--text-primary);font-size:15px;font-weight:600}.veg-warning{color:#e67e22;margin-left:4px;font-size:13px;font-weight:600}.veg-warning-banner{color:#e67e22;background:#fff3e0;border:2px solid #ffcc80;border-radius:8px;align-items:center;gap:6px;margin-bottom:8px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.history-week-card{background:var(--bg-card);box-shadow:0 2px 8px var(--shadow-card);border:2px solid var(--border-light);border-radius:16px;margin-bottom:12px;overflow:hidden}.history-week-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:14px 16px;transition:background .2s;display:flex}.history-week-header:active{background:var(--bg-section)}.history-week-dates{color:var(--text-primary);font-size:17px;font-weight:700}.history-week-badge{background:var(--bg-input);color:var(--text-muted);border-radius:12px;padding:3px 8px;font-size:13px;font-weight:600}.history-current-badge{background:linear-gradient(135deg, var(--accent-pink) 0%, color-mix(in srgb, var(--accent-pink) 70%, white) 100%);color:#fff}.history-week-summary{color:#999;margin-top:2px;font-size:13px}.history-week-body{border-top:2px solid var(--border-light);padding:0}.history-section-header{color:var(--text-primary);background:var(--bg-section);cursor:pointer;border-top:1px solid var(--border-light);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 16px;font-size:15px;font-weight:700;display:flex}.history-section-header:first-child{border-top:none}.history-section-header:active{background:var(--bg-input)}.history-section-content{padding:8px 16px 14px}.history-day-row{margin-bottom:10px}.history-day-label{color:var(--text-muted);margin-bottom:4px;font-size:14px;font-weight:700}.history-meal-row{color:var(--text-primary);align-items:center;gap:6px;padding:3px 0;font-size:14px;display:flex}.history-meal-type{min-width:62px;color:var(--text-muted);text-transform:uppercase;font-size:13px;font-weight:700}.history-meal-items{color:var(--text-primary);flex:1;font-size:14px}.history-meal-empty{color:#ddd;font-style:italic}.history-chore-grid{border-collapse:separate;border-spacing:0 4px;width:100%;font-size:13px}.history-chore-grid th{text-align:center;color:var(--text-muted);padding:4px 2px;font-size:12px;font-weight:700}.history-chore-grid th:first-child{text-align:left}.history-chore-grid td{text-align:center;padding:4px 2px;font-size:13px}.history-chore-grid td:first-child{text-align:left;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:13px;font-weight:600;overflow:hidden}.history-chore-done{color:#8c8}.history-chore-skip{color:#e0e0e0}.history-chaperon-item{color:var(--text-primary);align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.history-chaperon-status{font-size:16px}.history-chaperon-name{flex:1;font-size:14px}.history-empty{text-align:center;color:#ddd;padding:8px;font-size:14px;font-style:italic}.history-load-more{border:2px dashed var(--text-muted);background:var(--bg-section);width:100%;color:var(--text-primary);cursor:pointer;border-radius:12px;margin-top:8px;padding:14px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:16px;font-weight:700;transition:all .3s}.history-load-more:active{background:var(--bg-input);transform:scale(.98)}@media (width<=600px){.header h1{font-size:26px}.meal-card,.chore-card,.activity-card{padding:12px}}.family-picker{justify-content:center;gap:8px;margin-bottom:12px;display:flex}.family-picker-btn{border:2px solid var(--border-accent);background:var(--bg-pink-light);color:var(--text-primary);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;font-family:Nunito,sans-serif,Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji;font-size:14px;font-weight:600;transition:all .2s;display:flex}.family-picker-btn.selected{border-color:var(--accent-pink);background:linear-gradient(135deg,#ffe0ec 0%,#f0e6ff 100%)}.family-picker-btn .picker-emoji{font-size:30px}.edit-tracker-info{color:#b8a9d4;align-items:center;gap:4px;margin-top:4px;padding:4px 8px 0;font-size:12px;display:flex}body.dark-mode .content{background:var(--bg-primary)}body.dark-mode .tab-bar{background:var(--tab-bg)}body.dark-mode .tab-btn{color:var(--text-secondary)}body.dark-mode .tab-btn.active{color:var(--accent-pink);background:color-mix(in srgb, var(--accent-pink) 8%, transparent);border-bottom-color:var(--accent-pink)}body.dark-mode .day-btn.active{background:var(--accent-purple);color:#fff}body.dark-mode .day-btn.today{border-color:var(--accent-pink)}body.dark-mode .assignee-btn,body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background:var(--bg-input);color:var(--text-primary);border-color:var(--border-card)}body.dark-mode .modal-overlay{background:var(--overlay-bg)}body.dark-mode .modal,body.dark-mode .modal-content{background:var(--modal-bg);color:var(--text-primary)}body.dark-mode .member-switcher button{background:var(--bg-input);color:var(--text-primary)}body.dark-mode .member-switcher button.active{background:var(--accent-purple);color:#fff}body.dark-mode .home-avatar-btn.active{background:var(--bg-input);border-color:var(--accent-purple);color:var(--text-primary)}body.dark-mode .widget-countdown{background:linear-gradient(135deg, var(--bg-input) 0%, var(--bg-section) 100%)}body.dark-mode .widget-countdown-label{color:var(--text-secondary)}body.dark-mode .widget-chore-check{background:var(--bg-input);border-color:var(--border-card)}body.dark-mode .widget-chore-item,body.dark-mode .home-meal-item{border-bottom-color:var(--border-card)}body.dark-mode .progress-ring-bg{stroke:var(--border-card)}body.dark-mode .week-overview{background:var(--bg-section)}body.dark-mode .week-overview-title,body.dark-mode .week-overview-member-name{color:var(--text-primary)}body.dark-mode .week-overview-stats{color:var(--text-secondary)}body.dark-mode .week-overview-member{border-bottom-color:var(--border-card)}body.dark-mode .earnings-pill{background:var(--bg-input);color:var(--text-primary)}body.dark-mode .notification-panel{background:var(--modal-bg)}body.dark-mode .notification-item{border-bottom-color:var(--border-card);color:var(--text-primary)}body.dark-mode .calendar-container{background:var(--bg-card)}body.dark-mode .calendar-day{color:var(--text-primary)}body.dark-mode .calendar-day.selected{background:var(--accent-purple);color:#fff}body.dark-mode .chore-photo-section{border-top-color:var(--border-card)}body.dark-mode .rejection-note-display{color:var(--accent-pink);background:#2a1520}body.dark-mode .rejection-note-input{background:var(--bg-input);color:var(--text-primary);border-color:#663040}body.dark-mode .home-review-item{border-bottom-color:var(--border-card)}body.dark-mode .home-review-item div{color:var(--text-primary)}.dark-mode-toggle{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.dark-mode-switch{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#dcd0f0;border:none;border-radius:13px;width:48px;height:26px;transition:background .3s;position:relative}.dark-mode-switch.active{background:linear-gradient(135deg, var(--accent-purple), var(--accent-pink))}.dark-mode-switch:after{content:"";background:var(--bg-card);border-radius:50%;width:22px;height:22px;transition:transform .3s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.dark-mode-switch.active:after{transform:translate(22px)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
