.password-gate{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 0% 0%,rgba(163,136,238,.2) 0%,transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(78,205,196,.15) 0%,transparent 50%),var(--bg-primary);padding:var(--space-lg)}.password-loading{display:flex;align-items:center;justify-content:center}.password-form{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-2xl);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:400px;animation:scaleIn .4s ease}.password-icon{font-size:4rem;margin-bottom:var(--space-md);animation:pulse 2s ease infinite}.password-form h1{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.password-form p{color:var(--text-secondary);font-size:1rem;margin-bottom:var(--space-xl)}.password-input-wrapper{margin-bottom:var(--space-lg)}.password-form input{width:100%;padding:var(--space-lg);border:3px solid rgba(45,42,62,.1);border-radius:var(--radius-lg);font-size:1.25rem;text-align:center;letter-spacing:4px;transition:all .2s ease}.password-form input:focus{outline:none;border-color:var(--accent-lavender);box-shadow:0 0 0 4px #a388ee33}.password-form input.error{border-color:var(--danger);animation:shake .4s ease}.error-message{display:block;color:var(--danger);font-size:.9rem;font-weight:600;margin-top:var(--space-sm)}.password-submit{width:100%;padding:var(--space-lg);background:var(--accent-lavender);color:#fff;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:700;transition:all .2s ease;min-height:60px}.password-submit:hover{background:#8b6ed9;transform:translateY(-2px);box-shadow:var(--shadow-md)}.password-submit:active{transform:translateY(0)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(10px)}}@media (pointer: coarse){.password-form input{font-size:1.5rem;padding:var(--space-xl)}.password-submit{font-size:1.25rem;min-height:70px}}@media (max-width: 768px){.password-gate{padding:var(--space-md)}.password-form{padding:var(--space-xl);border-radius:var(--radius-lg)}.password-icon{font-size:3rem}.password-form h1{font-size:1.5rem}.password-form p{font-size:.9rem;margin-bottom:var(--space-lg)}.password-form input{font-size:1.25rem;padding:var(--space-md)}.password-submit{font-size:1rem;min-height:52px;padding:var(--space-md)}}.chore-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#ffffffe6,#ffffffb3);border:2px solid rgba(45,42,62,.06);border-radius:var(--radius-lg);transition:all .2s ease;cursor:pointer;min-height:64px;touch-action:manipulation}.chore-item:hover{border-color:var(--item-color, var(--accent-lavender));box-shadow:var(--shadow-sm)}.chore-item:active{transform:scale(.98)}.chore-item.completed{background:var(--success-light);border-color:transparent;opacity:.8}.chore-checkbox{flex-shrink:0;width:44px;height:44px;border-radius:50%;background:#fff;border:3px solid var(--item-color, var(--accent-lavender));display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.chore-checkbox:hover{transform:scale(1.1);box-shadow:0 0 0 4px #a388ee33}.chore-checkbox:active{transform:scale(.95)}.chore-checkbox .checkmark{width:24px;height:24px;stroke:var(--item-color, var(--accent-lavender));stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;opacity:0;transition:opacity .2s ease}.chore-checkbox:hover .checkmark{opacity:.4}.chore-checkbox.checked{background:var(--success);border-color:var(--success)}.chore-checkbox.checked .checkmark{stroke:#fff;opacity:1;stroke-dasharray:24;animation:checkmark .3s ease forwards}.chore-name{flex:1;font-size:1.125rem;font-weight:600;color:var(--text-primary);line-height:1.3}.chore-item.completed .chore-name{text-decoration:line-through;color:var(--text-secondary)}@media (pointer: coarse){.chore-item{min-height:72px;padding:var(--space-lg)}.chore-checkbox{width:52px;height:52px}.chore-checkbox .checkmark{width:28px;height:28px}.chore-name{font-size:1.25rem}}@media (max-width: 768px){.chore-item{min-height:56px;padding:var(--space-sm) var(--space-md);gap:var(--space-sm);border-radius:var(--radius-md)}.chore-checkbox{width:40px;height:40px;border-width:2px}.chore-checkbox .checkmark{width:20px;height:20px}.chore-name{font-size:1rem}}@media (max-width: 400px){.chore-item{min-height:48px;padding:var(--space-xs) var(--space-sm)}.chore-checkbox{width:36px;height:36px}.chore-name{font-size:.9rem}}.child-column{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;border-top:5px solid var(--child-color, var(--accent-lavender));animation:slideUp .4s ease backwards}.child-column:nth-child(1){animation-delay:0s}.child-column:nth-child(2){animation-delay:.1s}.child-column:nth-child(3){animation-delay:.2s}.child-column:nth-child(4){animation-delay:.3s}.child-column:nth-child(5){animation-delay:.4s}.child-column.all-done{background:linear-gradient(180deg,var(--success-light) 0%,var(--bg-secondary) 100%)}.child-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border-bottom:1px solid rgba(45,42,62,.06)}.child-avatar{font-size:2.5rem;line-height:1;display:flex;align-items:center;justify-content:center;width:56px;height:56px;background:#2d2a3e0a;border-radius:var(--radius-lg)}.child-name{flex:1;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.progress-badge{display:flex;align-items:center}.count-badge{padding:var(--space-xs) var(--space-md);background:#2d2a3e0f;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;color:var(--text-secondary)}.done-badge{padding:var(--space-xs) var(--space-md);background:var(--success);color:#fff;border-radius:var(--radius-lg);font-size:.875rem;font-weight:700;animation:celebrate .5s ease}.child-tasks{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.all-done-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl)}.celebration-emoji{font-size:4rem;margin-bottom:var(--space-md);animation:celebrate 1s ease infinite}.all-done-state p{font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--success)}.all-done-state .sub-text{font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--text-secondary);margin-top:var(--space-xs)}.no-tasks-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl)}.relax-emoji{font-size:3rem;margin-bottom:var(--space-md)}.no-tasks-state p{font-size:1.1rem;color:var(--text-secondary)}.section-group{display:flex;flex-direction:column;gap:var(--space-sm)}.section-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0}.section-icon{font-size:1.25rem}.section-name{font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.section-tasks{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width: 768px){.child-column{border-radius:var(--radius-lg);border-top-width:4px}.child-header{padding:var(--space-md);gap:var(--space-sm)}.child-avatar{font-size:2rem;width:44px;height:44px}.child-name{font-size:1.25rem}.child-tasks{padding:var(--space-sm);gap:var(--space-sm)}.section-group{gap:var(--space-xs)}.section-header{padding:var(--space-xs) var(--space-xs);background:#2d2a3e05;border-radius:var(--radius-sm);margin-bottom:var(--space-xs)}.section-icon{font-size:1rem}.section-name{font-size:.75rem}.all-done-state,.no-tasks-state{padding:var(--space-xl)}.celebration-emoji{font-size:3rem}.all-done-state p{font-size:1.25rem}.relax-emoji{font-size:2.5rem}}.mobile-child-tabs{display:none}.chore-board{flex:1;display:grid;grid-template-columns:repeat(var(--child-count, 3),1fr);gap:var(--space-md);padding:var(--space-md) var(--space-lg);overflow:hidden}.mobile-board{display:none}.chore-board.loading,.chore-board.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md)}.loading-spinner{width:48px;height:48px;border:4px solid var(--accent-lavender);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.chore-board.loading p{font-size:1.1rem;color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--space-2xl);background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);max-width:400px}.empty-icon{font-size:4rem;display:block;margin-bottom:var(--space-md)}.empty-state h2{font-family:var(--font-display);font-size:1.5rem;margin-bottom:var(--space-sm);color:var(--text-primary)}.empty-state p{color:var(--text-secondary);font-size:1rem}@media (max-width: 1200px){.chore-board{padding:var(--space-sm) var(--space-md)}}@media (max-width: 768px){.mobile-child-tabs{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);overflow-x:auto;background:#fff9;border-bottom:1px solid rgba(45,42,62,.06);-webkit-overflow-scrolling:touch;scrollbar-width:none}.mobile-child-tabs::-webkit-scrollbar{display:none}.mobile-child-tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-lg);border:2px solid transparent;font-weight:600;font-size:.95rem;color:var(--text-secondary);transition:all .2s ease;white-space:nowrap;flex-shrink:0;min-height:48px}.mobile-child-tab:hover{border-color:var(--tab-color)}.mobile-child-tab.active{background:var(--tab-color);color:#fff;border-color:var(--tab-color);box-shadow:var(--shadow-md)}.mobile-child-tab.all-done:not(.active){background:var(--success-light);color:var(--success)}.tab-avatar{font-size:1.25rem}.tab-name{display:inline}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;background:#2d2a3e1a;border-radius:12px;font-size:.8rem;font-weight:700}.mobile-child-tab.active .tab-badge{background:#ffffff4d;color:#fff}.tab-badge.done{background:var(--success);color:#fff}.mobile-child-tab.active .tab-badge.done{background:#ffffffe6;color:var(--success)}.desktop-board{display:none!important}.mobile-board{display:flex!important;flex:1;padding:var(--space-sm) var(--space-md);overflow:hidden}.mobile-board .child-column{flex:1;animation:none}}@media (max-width: 400px){.mobile-child-tabs{padding:var(--space-xs) var(--space-sm)}.mobile-child-tab{padding:var(--space-xs) var(--space-sm);font-size:.85rem}.tab-name{display:none}.tab-avatar{font-size:1.5rem}}.admin-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin-tabs{display:flex;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:#ffffff80;border-bottom:1px solid rgba(45,42,62,.06)}.admin-tab{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:1rem;font-weight:600;color:var(--text-secondary);transition:all .2s ease;min-height:52px}.admin-tab:hover{color:var(--text-primary);box-shadow:var(--shadow-sm)}.admin-tab.active{background:var(--accent-lavender);color:#fff;box-shadow:var(--shadow-md)}.tab-icon{font-size:1.25rem}.admin-content{flex:1;overflow:hidden;padding:var(--space-lg)}.manager{display:grid;grid-template-columns:1fr 2fr;gap:var(--space-xl);height:100%;overflow:hidden}.tasks-manager{grid-template-columns:400px 1fr}.manager-form{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-lg)}.form-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.manager-form h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.btn-cancel{padding:var(--space-sm) var(--space-md);background:#2d2a3e0f;color:var(--text-secondary);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;transition:all .2s ease}.btn-cancel:hover{background:#2d2a3e1a;color:var(--text-primary)}.manager-list{background:var(--bg-secondary);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-md);overflow-y:auto}.manager-list h3{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-lg)}.empty-text{color:var(--text-muted);font-style:italic}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group select{padding:var(--space-md);border:2px solid rgba(45,42,62,.1);border-radius:var(--radius-md);font-size:1rem;transition:border-color .2s ease;min-height:52px}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-lavender)}.btn-primary{padding:var(--space-md) var(--space-xl);background:var(--accent-lavender);color:#fff;border-radius:var(--radius-md);font-size:1rem;font-weight:600;transition:all .2s ease;min-height:52px;margin-top:auto}.btn-primary:hover{background:#8b6ed9;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.emoji-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.emoji-btn{width:48px;height:48px;font-size:1.5rem;background:var(--bg-primary);border-radius:var(--radius-md);transition:all .2s ease}.emoji-btn:hover{transform:scale(1.1)}.emoji-btn.selected{background:var(--accent-lavender);box-shadow:var(--shadow-md)}.color-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.color-btn{width:40px;height:40px;border-radius:50%;border:3px solid transparent;transition:all .2s ease}.color-btn:hover{transform:scale(1.1)}.color-btn.selected{border-color:var(--text-primary);box-shadow:var(--shadow-md)}.child-select-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.child-select-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:#fff;border:3px solid;border-radius:var(--radius-lg);font-size:.95rem;font-weight:600;transition:all .2s ease;min-height:48px}.child-select-btn:hover{transform:translateY(-2px)}.child-select-btn.selected{color:#fff}.child-select-btn .child-avatar{font-size:1.25rem}.days-grid{display:flex;gap:var(--space-sm)}.day-btn{flex:1;padding:var(--space-sm);background:var(--bg-primary);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--text-secondary);transition:all .2s ease;min-height:44px}.day-btn:hover{background:#a388ee33}.day-btn.selected{background:var(--accent-lavender);color:#fff}.item-list{display:flex;flex-direction:column;gap:var(--space-sm)}.list-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:#2d2a3e05;border-radius:var(--radius-md);border-left:4px solid var(--accent-lavender);transition:all .2s ease}.list-item:hover{background:#2d2a3e0a}.list-item.orderable{border-left-color:var(--accent-mint)}.item-order{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--accent-mint);color:#fff;border-radius:50%;font-size:.875rem;font-weight:700}.item-avatar{font-size:1.5rem}.item-name{flex:1;font-weight:600;color:var(--text-primary)}.order-buttons{display:flex;gap:var(--space-xs)}.btn-order{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:1.1rem;color:var(--text-secondary);transition:all .2s ease}.btn-order:hover:not(:disabled){background:var(--accent-lavender);color:#fff}.btn-order:disabled{opacity:.3;cursor:not-allowed}.btn-edit{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--radius-sm);font-size:1rem;color:var(--text-muted);transition:all .2s ease}.btn-edit:hover{background:#a388ee26;color:var(--accent-lavender)}.btn-delete{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--radius-sm);font-size:1rem;color:var(--text-muted);transition:all .2s ease}.btn-delete:hover{background:var(--danger-light);color:var(--danger)}.list-item.editing{background:#a388ee1a;border-left-color:var(--accent-lavender)!important}.tasks-by-section{display:flex;flex-direction:column;gap:var(--space-lg)}.section-task-group{display:flex;flex-direction:column;gap:var(--space-md)}.section-task-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(45,42,62,.08)}.section-task-header .section-icon{font-size:1.25rem}.section-task-header .section-name{font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.875rem}.task-item{flex-wrap:wrap}.task-main{flex:1;display:flex;flex-direction:column;gap:2px;min-width:150px}.task-name{font-weight:600;color:var(--text-primary)}.task-recurrence{font-size:.8rem;color:var(--text-muted)}.task-assignees{display:flex;gap:var(--space-xs)}.assignee-badge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1rem}@media (max-width: 900px){.manager{grid-template-columns:1fr;grid-template-rows:auto 1fr}.tasks-manager{grid-template-columns:1fr}.manager-form{max-height:400px}}@media (max-width: 768px){.admin-panel{overflow-y:auto}.admin-tabs{padding:var(--space-sm);gap:var(--space-xs)}.admin-tab{flex:1;padding:var(--space-sm);justify-content:center;min-height:44px;font-size:.85rem}.tab-icon{font-size:1.1rem}.admin-content{padding:var(--space-sm);overflow:visible}.manager{display:flex;flex-direction:column;gap:var(--space-md);height:auto;overflow:visible}.manager-form{max-height:none;padding:var(--space-md);gap:var(--space-md);border-radius:var(--radius-lg)}.manager-list{padding:var(--space-md);border-radius:var(--radius-lg)}.form-group input,.form-group select{padding:var(--space-sm) var(--space-md);min-height:44px}.emoji-grid{gap:var(--space-xs)}.emoji-btn{width:40px;height:40px;font-size:1.25rem}.color-btn{width:32px;height:32px}.btn-primary{padding:var(--space-md);min-height:48px}.days-grid{flex-wrap:wrap}.day-btn{flex:0 0 calc(25% - 6px);min-height:40px;font-size:.75rem}.child-select-btn{padding:var(--space-xs) var(--space-sm);min-height:40px;font-size:.85rem}.list-item{padding:var(--space-sm);gap:var(--space-sm)}.item-avatar{font-size:1.25rem}.item-name{font-size:.9rem}.btn-order,.btn-edit,.btn-delete{width:32px;height:32px;font-size:.9rem}.task-item{flex-wrap:nowrap;align-items:center}.task-main{min-width:0;flex:1}.task-name{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-recurrence{font-size:.7rem}.task-assignees{flex-shrink:0}.assignee-badge{width:24px;height:24px;font-size:.8rem}}.date-nav{display:flex;align-items:center;gap:var(--space-md)}.date-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm);transition:all .2s ease}.date-nav-btn:hover{background:var(--accent-lavender);color:#fff;transform:scale(1.05)}.date-nav-btn:active{transform:scale(.98)}.date-display{position:relative;display:flex;flex-direction:column;align-items:center;padding:var(--space-sm) var(--space-lg);background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:200px;cursor:pointer}.date-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.date-display-text{display:flex;flex-direction:column;align-items:center;pointer-events:none}.date-day{font-family:var(--font-display);font-size:1.25rem;font-weight:600;color:var(--text-primary)}.date-full{font-size:.875rem;color:var(--text-secondary)}.today-badge{position:absolute;top:-8px;right:-8px;padding:2px 10px;background:var(--accent-gold);color:var(--text-primary);font-size:.75rem;font-weight:700;border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.5px}.today-btn{padding:var(--space-sm) var(--space-md);background:var(--accent-lavender);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;box-shadow:var(--shadow-sm);transition:all .2s ease;min-height:44px}.today-btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.today-btn:active{transform:translateY(0)}@media (max-width: 768px){.date-nav{order:3;width:100%;justify-content:center;gap:var(--space-sm);padding-top:var(--space-sm)}.date-nav-btn{width:40px;height:40px}.date-nav-btn svg{width:20px;height:20px}.date-display{flex:1;max-width:none;min-width:auto;padding:var(--space-sm) var(--space-md)}.date-day{font-size:1rem}.date-full{font-size:.75rem}.today-badge{font-size:.65rem;padding:2px 6px;top:-6px;right:-6px}.today-btn{padding:var(--space-sm);font-size:.8rem;min-height:40px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2d2a3e80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn .2s ease}.modal{background:var(--bg-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:scaleIn .3s ease}.completed-modal{max-width:900px}.modal-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-bottom:1px solid rgba(45,42,62,.08)}.modal-header h2{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--text-primary)}.modal-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--success);color:#fff;border-radius:50%;font-size:1rem}.modal-date{color:var(--text-secondary);font-size:1rem}.modal-close{margin-left:auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border-radius:var(--radius-md);color:var(--text-secondary);transition:all .2s ease}.modal-close:hover{background:#2d2a3e0f;color:var(--text-primary)}.modal-content{flex:1;overflow-y:auto;padding:var(--space-lg) var(--space-xl)}.empty-completed{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.empty-completed .empty-icon{font-size:3rem;margin-bottom:var(--space-md)}.empty-completed p{color:var(--text-secondary);font-size:1.1rem}.completed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg)}.completed-child-section{background:#2d2a3e05;border-radius:var(--radius-lg);padding:var(--space-md);border-left:4px solid var(--child-color, var(--accent-lavender))}.completed-child-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid rgba(45,42,62,.06)}.completed-child-header .child-avatar{font-size:1.5rem}.completed-child-header .child-name{font-family:var(--font-display);font-weight:600;font-size:1.1rem;flex:1}.completed-count{padding:var(--space-xs) var(--space-sm);background:var(--success-light);color:var(--success);font-size:.8rem;font-weight:700;border-radius:var(--radius-md)}.completed-tasks{display:flex;flex-direction:column;gap:var(--space-sm)}@media (max-width: 768px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-height:85vh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation:slideUp .3s ease}.modal-header{flex-wrap:wrap;padding:var(--space-md);gap:var(--space-sm)}.modal-header h2{font-size:1.25rem}.modal-date{width:100%;font-size:.9rem}.modal-content{padding:var(--space-md)}.completed-grid{grid-template-columns:1fr;gap:var(--space-md)}.completed-child-section{padding:var(--space-sm)}.completed-child-header .child-avatar{font-size:1.25rem}.completed-child-header .child-name{font-size:1rem}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.app-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(45,42,62,.08);z-index:100;gap:var(--space-lg)}.header-left,.header-right{display:flex;align-items:center;gap:var(--space-md);min-width:200px}.header-right{justify-content:flex-end}.app-title{font-family:var(--font-display);font-size:1.75rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm);white-space:nowrap}.title-icon{font-size:1.5rem}.btn{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;transition:all .2s ease;background:var(--bg-secondary);color:var(--text-primary);box-shadow:var(--shadow-sm);min-height:44px;white-space:nowrap}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-icon{font-size:1.1rem}.btn-view.active{background:var(--accent-lavender);color:#fff}.btn-completed{background:var(--success-light);color:var(--success)}.btn-completed .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--success);color:#fff;border-radius:50%;font-size:.8rem}.btn-lock{padding:var(--space-sm);background:#2d2a3e0d;color:var(--text-muted)}.btn-lock:hover{background:#2d2a3e1a;color:var(--text-primary)}.app-main{flex:1;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.app-header{flex-wrap:wrap;padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.header-left{order:1;min-width:auto;flex:1}.header-right{order:2;min-width:auto;gap:var(--space-sm)}.app-title{font-size:1.25rem}.title-icon{font-size:1.1rem}.btn{padding:var(--space-sm);font-size:0;min-height:40px}.btn .btn-icon{font-size:1.25rem}.btn-completed .btn-icon{width:28px;height:28px;font-size:1rem}.btn-view span:not(.btn-icon),.btn-completed span:not(.btn-icon){display:none}}:root{--bg-primary: #faf7f5;--bg-secondary: #fff;--bg-dark: #2d2a3e;--text-primary: #2d2a3e;--text-secondary: #6b6580;--text-muted: #9e96b0;--accent-coral: #ff6b6b;--accent-mint: #4ecdc4;--accent-lavender: #a388ee;--accent-gold: #feca57;--accent-sky: #54a0ff;--accent-rose: #ff9ff3;--child-color: var(--accent-lavender);--success: #26de81;--success-light: #e8fbf0;--danger: #fc5c65;--danger-light: #fee;--shadow-sm: 0 1px 3px rgba(45, 42, 62, .08);--shadow-md: 0 4px 12px rgba(45, 42, 62, .12);--shadow-lg: 0 8px 30px rgba(45, 42, 62, .16);--shadow-glow: 0 0 20px rgba(163, 136, 238, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--font-display: "Fredoka", sans-serif;--font-body: "Nunito", sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;min-height:100dvh;overflow:hidden;user-select:none;-webkit-user-select:none}body{background:radial-gradient(ellipse at 0% 0%,rgba(163,136,238,.15) 0%,transparent 50%),radial-gradient(ellipse at 100% 0%,rgba(78,205,196,.12) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(255,159,243,.1) 0%,transparent 50%),var(--bg-primary)}#root{min-height:100vh;min-height:100dvh}button{font-family:var(--font-body);border:none;cursor:pointer;touch-action:manipulation}input,select,textarea{font-family:var(--font-body);font-size:16px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2d2a3e26;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2d2a3e40}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes checkmark{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes celebrate{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-3deg)}75%{transform:scale(1.1) rotate(3deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}:focus-visible{outline:3px solid var(--accent-lavender);outline-offset:2px}
