*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--primary-gradient, linear-gradient(135deg, #667eea 0%, #764ba2 100%));min-height:100vh;padding:20px;color:#2d3748;transition:background .6s ease}#root{max-width:1200px;margin:0 auto}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.4em;color:#ffffffe6;font-weight:500;letter-spacing:.05em}@media(max-width:768px){body{padding:10px}}body.user-kieryn{--primary-color: #9f7aea;--primary-gradient: linear-gradient(135deg, #9f7aea, #c084fc);--palette-gradient-end: #c084fc;--palette-complement: #7aea9f;--palette-light-tint: #f5f0ff;--palette-dark-accent: #6b21a8}body.user-connor{--primary-color: #4299e1;--primary-gradient: linear-gradient(135deg, #4299e1, #00bcd4);--palette-gradient-end: #00bcd4;--palette-complement: #e1a342;--palette-light-tint: #ebf8ff;--palette-dark-accent: #2c5282}:root{--primary-color: #667eea;--primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--palette-gradient-end: #764ba2;--palette-complement: #eea466;--palette-light-tint: #eef0ff;--palette-dark-accent: #3730a3}.pin-screen{background:#fff;border-radius:20px;padding:40px;text-align:center;box-shadow:0 10px 40px #0003;max-width:500px;margin:100px auto}.pin-screen h1{color:var(--primary-color, #667eea);margin-bottom:10px}.pin-screen p{color:#666;margin-bottom:30px}.identity-buttons{display:flex;flex-direction:column;gap:15px;justify-content:center;margin-bottom:20px}.identity-buttons .kid-btn{color:#fff;border:none;padding:14px 24px;border-radius:25px;cursor:pointer;font-size:1.05em;font-weight:600;letter-spacing:.02em;transition:filter .2s,transform .15s}.identity-buttons .kid-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.identity-buttons button.parent-btn{background:#718096;color:#fff;border:none;padding:12px 24px;border-radius:25px;cursor:pointer;font-size:1em;margin-top:6px;transition:background .2s,transform .15s}.identity-buttons button.parent-btn:hover{background:#4a5568;transform:translateY(-2px)}.pin-input{font-size:2em;text-align:center;padding:15px;border:3px solid var(--primary-color, #667eea);border-radius:10px;width:300px;max-width:100%;margin:0 auto 20px;letter-spacing:10px;transition:border-color .2s}.pin-error{color:#e53e3e;margin-top:10px;font-weight:600}.pin-screen button{background:var(--primary-color, #667eea);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:filter .2s,transform .15s;margin:0 5px}.pin-screen button:hover{filter:brightness(1.1);transform:translateY(-2px)}.pin-screen button.back-btn{background:#718096}.pin-screen button.back-btn:hover{background:#4a5568;filter:none}.feedback-fab{position:fixed;bottom:20px;right:20px;width:44px;height:44px;border-radius:50%;border:none;background:#0000004d;font-size:1.15em;cursor:pointer;z-index:900;opacity:.45;transition:opacity .2s,transform .15s,background .2s;display:flex;align-items:center;justify-content:center;line-height:1}.feedback-fab:hover{opacity:1;background:#0000008c;transform:scale(1.12)}.feedback-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:flex-end;justify-content:flex-end;padding:20px;z-index:1000}.feedback-modal{background:#fff;border-radius:16px;padding:20px;width:320px;max-width:calc(100vw - 40px);box-shadow:0 8px 32px #00000040;display:flex;flex-direction:column;gap:12px;animation:feedback-slide-in .15s ease-out}@keyframes feedback-slide-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-header{display:flex;align-items:center;justify-content:space-between}.feedback-header h3{margin:0;font-size:1.05em;color:#2d3748}.feedback-close{background:none;border:none;font-size:1.5em;cursor:pointer;color:#a0aec0;line-height:1;padding:0;display:flex;align-items:center}.feedback-close:hover{color:#2d3748}.feedback-meta{display:flex;flex-wrap:wrap;gap:6px}.feedback-pill{background:#edf2f7;color:#4a5568;font-size:.78em;padding:3px 10px;border-radius:20px}.feedback-textarea{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:10px;font-size:.9em;color:#2d3748;resize:vertical;font-family:inherit;box-sizing:border-box;transition:border-color .2s;background:#f7fafc}.feedback-textarea:focus{outline:none;border-color:#667eea;background:#fff}.feedback-textarea:disabled{opacity:.6}.feedback-sent{text-align:center;color:#276749;font-size:1em;padding:16px 0}.feedback-error{margin:0;color:#e53e3e;font-size:.85em}.feedback-actions{display:flex;justify-content:flex-end;gap:8px}.feedback-cancel-btn{background:none;border:1px solid #e2e8f0;border-radius:8px;padding:8px 16px;cursor:pointer;color:#718096;font-size:.9em;transition:background .15s}.feedback-cancel-btn:hover{background:#f7fafc}.feedback-submit-btn{background:#667eea;color:#fff;border:none;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:.9em;font-weight:600;transition:background .15s}.feedback-submit-btn:hover{background:#5a67d8}.feedback-submit-btn:disabled{opacity:.6;cursor:not-allowed}.header{background:#fff;border-radius:20px;padding:30px;margin-bottom:20px;box-shadow:0 5px 20px #0000001a;text-align:center}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.header h1{color:var(--primary-color, #ed64a6);font-size:2.5em;margin:0}.hub-button,.logout-button{background:#667eea;color:#fff;border:none;padding:8px 16px;border-radius:20px;cursor:pointer;font-size:.9em;transition:background .3s;text-decoration:none;display:inline-block}.hub-button:hover,.logout-button:hover{background:#5a67d8}.logout-button{background:#718096}.logout-button:hover{background:#4a5568}@media(max-width:768px){.header h1{font-size:1.8em}.header-top{flex-direction:column;gap:10px}}.home-container{background:#fff;border-radius:20px;padding:30px;box-shadow:0 5px 20px #0000001a}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.feature-card{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:15px;padding:30px;text-align:center;text-decoration:none;color:inherit;transition:all .3s;cursor:pointer;border:2px solid transparent}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000026;border-color:var(--primary-color, #ed64a6)}.feature-card.disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#e2e8f0,#cbd5e0)}.feature-card.disabled:hover{transform:none;box-shadow:none;border-color:transparent}.feature-icon{font-size:4em;margin-bottom:15px}.feature-card h2{color:var(--primary-color, #ed64a6);margin-bottom:10px;font-size:1.5em}.feature-card p{color:#4a5568;font-size:.95em}.feature-card.disabled h2{color:#718096}@media(max-width:768px){.feature-grid{grid-template-columns:1fr}}.stats-header{background:#fff;border-radius:20px;padding:30px;margin-bottom:20px;box-shadow:0 5px 20px #0000001a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px}.stat-card{background:var(--primary-gradient, linear-gradient(135deg, #ed64a6, #f093fb));color:#fff;padding:20px;border-radius:15px;text-align:center}.stat-value{font-size:2.5em;font-weight:700;margin-bottom:5px}.stat-label{font-size:.9em;opacity:.9}@media(max-width:768px){.stat-card{padding:15px}.stat-value{font-size:2em}}.book-card{background:#f7fafc;border-left:4px solid var(--primary-color, #ed64a6);padding:15px;margin-bottom:15px;border-radius:8px}.book-title{font-weight:600;color:#2d3748;font-size:1.1em;margin-bottom:5px}.book-author{color:#718096;font-size:.9em;margin-bottom:10px}.progress-bar{background:#e2e8f0;height:8px;border-radius:4px;overflow:hidden;margin:10px 0}.progress-fill{background:var(--primary-gradient, linear-gradient(90deg, #ed64a6, #f093fb));height:100%;transition:width .3s}.book-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}.page-info{color:#4a5568;font-size:.9em}.empty-state{text-align:center;padding:40px;color:#718096}.empty-state-icon{font-size:4em;margin-bottom:15px}.filter-buttons{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:20px;cursor:pointer;font-size:14px;transition:all .2s}.filter-btn.active,.filter-btn:hover{background:#667eea;color:#fff}.sort-controls{display:flex;gap:10px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.sort-controls label{font-weight:700}.sort-controls select{padding:8px 12px;border:2px solid #667eea;border-radius:20px;background:#fff;cursor:pointer}.sort-controls button{padding:8px 16px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:20px;cursor:pointer;transition:all .2s}.sort-controls button:hover{background:#667eea;color:#fff}.series-group{margin-bottom:30px}.series-group h3{color:#667eea;margin-bottom:10px;border-bottom:1px solid #eee;padding-bottom:5px}.modal{display:none;position:fixed;inset:0;background:#000000b3;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal.active{display:flex}.modal-content{background:#fff;border-radius:20px;padding:30px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.wide{max-width:720px}.modal-content h3{color:var(--primary-color, #ed64a6);margin-bottom:20px}.form-group{margin-bottom:20px}.form-group label{display:block;color:#4a5568;font-weight:600;margin-bottom:8px}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1em;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.form-group input[type=checkbox]{margin-right:8px}.form-group select{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1em;font-family:inherit;background:#fff}.form-group select:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.radio-group{display:flex;gap:20px;flex-wrap:wrap}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer;color:#4a5568}.radio-option input[type=radio]{width:18px;height:18px;margin:0;cursor:pointer;accent-color:var(--primary-color, #ed64a6)}.radio-option span{font-weight:500}.checkbox-group{display:flex;gap:12px;flex-wrap:wrap}.checkbox-option{display:flex;align-items:center;gap:6px;cursor:pointer;color:#4a5568;padding:8px 12px;border:2px solid #e2e8f0;border-radius:8px;transition:all .2s}.checkbox-option:hover{border-color:var(--primary-color, #ed64a6)}.checkbox-option:has(input:checked){background:#ed64a61a;border-color:var(--primary-color, #ed64a6)}.checkbox-option.together{border-color:#48bb78}.checkbox-option.together:has(input:checked){background:#48bb7826;border-color:#48bb78}.checkbox-option.together input[type=checkbox]{accent-color:#48bb78}.checkbox-option.kieryn:has(input:checked){background:#9f7aea26;border-color:#9f7aea}.checkbox-option.kieryn input[type=checkbox]{accent-color:#9f7aea}.checkbox-option.connor:has(input:checked){background:#4299e126;border-color:#4299e1}.checkbox-option.connor input[type=checkbox]{accent-color:#4299e1}.checkbox-option input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary-color, #ed64a6)}.checkbox-option span{font-weight:500}.form-hint{font-size:.85em;color:#718096;margin-top:6px}.week-selector{display:flex;align-items:center;gap:8px}.week-nav-btn{background:#667eea26;border:2px solid rgba(102,126,234,.3);color:#667eea;width:36px;height:36px;border-radius:8px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.week-nav-btn:hover:not(:disabled){background:#667eea40;border-color:#667eea80}.week-nav-btn:disabled{opacity:.4;cursor:not-allowed}.week-display{flex:1;text-align:center;font-weight:600;color:#4a5568;padding:10px 16px;background:#f7fafc;border-radius:8px;border:2px solid #e2e8f0}.curriculum-quick-pick{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.quick-pick-btn{background:#f7fafc;border:2px solid #e2e8f0;color:#4a5568;padding:5px 10px;border-radius:6px;font-size:.8em;cursor:pointer;transition:all .2s}.quick-pick-btn:hover{border-color:var(--primary-color, #ed64a6);background:#ed64a60d}.quick-pick-btn.active{background:#ed64a61a;border-color:var(--primary-color, #ed64a6);color:#2d3748;font-weight:600}.task-info{background:#f7fafc;padding:12px 16px;border-radius:8px;border:2px solid #e2e8f0;margin-bottom:20px;color:#2d3748}.reschedule-preview{background:#667eea1a;padding:12px 16px;border-radius:8px;margin-bottom:20px;color:#4a5568;text-align:center}.reschedule-preview strong{color:#667eea}.reschedule-day-off-warning{padding:10px 14px;border-radius:8px;font-size:.875em;font-weight:600;margin-bottom:16px;text-align:center}.reschedule-day-off-warning.vacation{background:#63b3ed26;border:1px solid rgba(99,179,237,.4);color:#63b3ed}.reschedule-day-off-warning.holiday{background:#fbbf2426;border:1px solid rgba(251,191,36,.4);color:#f6ad55}.loading{background:#fff;border-radius:20px;padding:40px;text-align:center;box-shadow:0 5px 20px #0000001a;font-size:1.2em;color:#4a5568}.section{background:#fff;border-radius:20px;padding:25px;margin-bottom:20px;box-shadow:0 5px 20px #0000001a}.section h2{color:var(--primary-color, #ed64a6);margin-bottom:20px;font-size:1.5em}.button-group{display:flex;gap:10px;flex-wrap:wrap}button{background:#667eea;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:all .3s}button:hover{background:#5568d3;transform:translateY(-2px)}button.small{padding:8px 16px;font-size:.9em}button.success{background:#48bb78}button.success:hover{background:#38a169}button.danger{background:#f56565}button.danger:hover{background:#e53e3e}@media(max-width:768px){.button-group{flex-direction:column}.button-group button{width:100%}}.missions-page{font-family:Courier New,monospace;background:linear-gradient(135deg,#1e3c72,#2a5298);color:#fff;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:20px;position:fixed;inset:0;z-index:2000;overflow-y:auto}.mission-briefing{background:#000000b3;border:3px solid #00ff00;border-radius:10px;padding:30px;box-shadow:0 0 30px #00ff004d;max-width:600px;width:100%;margin:20px auto}.classified-header h1{color:#0f0;text-align:center;font-size:2em;margin-bottom:10px;text-shadow:0 0 10px rgba(0,255,0,.5)}.classified{text-align:center;color:red;font-weight:700;font-size:.9em;margin-bottom:20px;letter-spacing:3px}.loading{text-align:center;color:#0f0;font-size:1.1em;padding:40px 20px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error{text-align:center;color:#f33;padding:20px}.error p{margin:10px 0}.no-mission{text-align:center;padding:30px;color:#fa0;font-size:1.2em}.no-mission p{margin:10px 0}.mission-display{margin-top:30px;animation:fadeIn .5s}.mission-header{background:#00ff001a;border-left:4px solid #00ff00;padding:15px;margin-bottom:20px}.mission-header h2{color:#0f0;font-size:1.3em;margin-bottom:5px}.mission-date{color:#aaa;font-size:.9em}.mission-text{line-height:1.8;font-size:1.1em;padding:20px;background:#ffffff0d;border-radius:5px;white-space:pre-wrap}.riddle-answer-section{margin-top:20px;text-align:center}.reveal-answer-btn{background:#0ff3!important;color:#0ff!important;border:2px solid #00ffff!important;padding:15px 30px!important;font-size:1.1em!important;font-weight:700!important;cursor:pointer;border-radius:5px!important;font-family:Courier New,monospace!important;transition:all .3s;animation:pulse-glow 2s ease-in-out infinite;text-transform:none!important}.reveal-answer-btn:hover{background:#00ffff4d!important;box-shadow:0 0 25px #00ffffb3;transform:scale(1.05)}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #00ffff80}50%{box-shadow:0 0 20px #0ffc}}.riddle-answer{background:#00ffff26;border:2px solid #00ffff;border-radius:5px;padding:15px;text-align:center;color:#0ff;font-size:.95em;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.reminder{background:#fa03;border:2px solid #ffaa00;border-radius:5px;padding:15px;margin-top:20px;text-align:center;color:#fa0;font-size:.9em}.footer{text-align:center;margin-top:30px;color:#888;font-size:.8em}.mission-actions{margin-top:20px;text-align:center}.back-button{background:#555!important;color:#fff!important;padding:10px 20px;font-size:.9em;font-family:Courier New,monospace;text-transform:uppercase}.back-button:hover{background:#777!important;box-shadow:0 0 15px #ffffff4d}.missions-page button{background:#0f0;color:#000;border:none;padding:15px 30px;font-size:1.1em;font-weight:700;cursor:pointer;border-radius:5px;font-family:Courier New,monospace;transition:all .3s;text-transform:uppercase}.missions-page button:hover{background:#0c0;box-shadow:0 0 20px #0f09;transform:scale(1.05)}@media(max-width:768px){.missions-page{padding:10px}.mission-briefing{padding:20px}.classified-header h1{font-size:1.5em}.mission-text{font-size:1em;padding:15px}}.countdowns{padding:20px;max-width:1200px;margin:0 auto}.section h2{color:#2d3748;margin-bottom:20px}.countdowns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.add-btn{background:#3182ce;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background .3s}.add-btn:hover{background:#2c5282}.event-form{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:30px}.event-form h3{margin:0 0 20px;color:#2d3748}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#4a5568}.form-group input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1em;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.form-actions{display:flex;gap:12px;margin-top:20px}.save-btn{background:#38a169;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background .3s}.save-btn:hover{background:#2f855a}.cancel-btn{background:#718096;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;font-weight:600;cursor:pointer;transition:background .3s}.cancel-btn:hover{background:#4a5568}.countdowns-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.countdown-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a;transition:transform .2s,box-shadow .2s}.countdown-card.birthday-card{border:2px solid #fbbf24;background:linear-gradient(135deg,#fef3c7,#fde68a)}.countdown-card.birthday-card h3{color:#92400e}.countdown-card.school-end-card{border:2px solid #68d391;background:linear-gradient(135deg,#f0fff4,#c6f6d5)}.countdown-card.school-end-card h3{color:#276749}.countdown-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.countdown-header h3{margin:0;color:#2d3748;font-size:1.2em;flex:1}.card-actions{display:flex;gap:8px}.edit-btn,.delete-btn,.renew-btn{background:none;border:none;font-size:1.2em;cursor:pointer;padding:4px;border-radius:4px;transition:background .3s}.edit-btn:hover{background:#edf2f7}.delete-btn:hover{background:#fed7d7}.renew-btn:hover{background:#c6f6d5}.countdown-body{text-align:center}.date{color:#718096;font-size:.9em;margin-bottom:12px}.countdown{font-size:2em;font-weight:700;color:#3182ce}.no-events{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#718096}.no-events p{margin:10px 0;font-size:1.1em}@media(max-width:768px){.countdowns-header{flex-direction:column;gap:15px;align-items:stretch}.add-btn{align-self:flex-start}.countdowns-grid{grid-template-columns:1fr}.countdown-header{flex-direction:column;gap:10px}.form-actions{flex-direction:column}}.loading{text-align:center;padding:60px 20px;color:#718096}.loading p{font-size:1.1em}.task-card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f7fafc;border-radius:12px;margin-bottom:8px;cursor:pointer;transition:all .2s;min-height:60px;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#2d3748}.task-card:last-child{margin-bottom:0}.task-card:hover{background:#edf2f7}.task-card:active{transform:scale(.98)}.task-card.completed{background:#f0fff4}.task-card.completed .task-title{text-decoration:line-through;color:#718096}.task-checkbox{position:relative;flex-shrink:0}.task-checkbox input{position:absolute;opacity:0;width:0;height:0}.checkbox-display{width:32px;height:32px;border:3px solid #cbd5e0;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;transition:all .2s}.task-card.completed .checkbox-display{background:linear-gradient(135deg,#48bb78,#38a169);border-color:#48bb78}.checkmark{color:#fff;font-size:1.2em;font-weight:700}.task-info{flex:1;min-width:0}.task-card .task-title{font-size:1.1em;font-weight:500;color:#2d3748!important;margin-bottom:6px;line-height:1.3}.task-card .task-description-text{color:#4a5568;font-size:.9em;margin-bottom:6px;line-height:1.4}.task-card.completed .task-description-text{color:#a0aec0}.task-badges{display:flex;flex-wrap:wrap;gap:6px}.task-card .badge{padding:3px 8px;border-radius:6px;font-size:.75em;font-weight:600}.task-card .badge.day{background:#e2e8f0;color:#4a5568!important}.task-card .badge.type{background:#e9d8fd;color:#6b46c1!important}.task-card .badge.type.with_mom{background:#fed7e2;color:#97266d!important}.task-card .badge.together{background:#48bb7833;color:#2f855a!important}.task-card .badge.moved{background:#ed893633;color:#ed8936!important}.task-card .push-button{flex-shrink:0;width:40px;height:40px;border-radius:10px;border:none;background:#ed893633;color:#ed8936;font-size:1.4em;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.task-card .push-button:hover{background:#ed89364d;color:#dd6b20}.task-card .push-button:active{transform:scale(.95)}.task-card .push-button.disabled,.task-card .push-button:disabled{background:#a0aec033;color:#a0aec0;cursor:not-allowed}.task-card .push-button.disabled:hover,.task-card .push-button:disabled:hover{background:#a0aec033;color:#a0aec0}.task-card .push-button.disabled:active,.task-card .push-button:disabled:active{transform:none}.task-subject-indicator{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2em}@media(max-width:600px){.task-card{padding:14px;gap:12px}.checkbox-display{width:28px;height:28px}.task-title{font-size:1em}.task-subject-indicator{width:32px;height:32px;font-size:1em}}.task-detail{padding:0}.detail-subject{display:flex;align-items:center;gap:12px;padding:16px 20px;margin:-20px -20px 20px;border-radius:8px 8px 0 0;color:#fff}.detail-subject .subject-icon{font-size:2em}.detail-subject .subject-name{font-size:1.4em;font-weight:600}.detail-day{text-align:center;color:#718096;font-size:.95em;font-weight:500;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.detail-description{font-size:1.3em;font-weight:600;color:#2d3748;text-align:center;padding:16px;background:#f7fafc;border-radius:12px;margin-bottom:20px;line-height:1.4}.detail-section{margin-bottom:16px;padding:12px 16px;background:#edf2f7;border-radius:8px}.detail-label{font-size:.8em;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.detail-value{font-size:1.1em;color:#2d3748;font-weight:500}.detail-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:20px 0}.detail-badge{padding:6px 14px;border-radius:20px;font-size:.9em;font-weight:600}.detail-badge.type{background:#e9d8fd;color:#6b46c1}.detail-badge.type.with_mom{background:#fed7e2;color:#97266d}.detail-badge.together{background:#48bb7833;color:#2f855a}.detail-badge.moved{background:#feebc8;color:#c05621}.detail-actions{display:flex;flex-direction:column;gap:10px;margin-top:24px}.complete-btn{padding:16px 24px;border:none;border-radius:12px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .2s;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff}.complete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #48bb7866}.complete-btn:active{transform:translateY(0)}.complete-btn.completed{background:linear-gradient(135deg,#a0aec0,#718096)}.complete-btn.completed:hover{box-shadow:0 4px 12px #71809666}.close-btn{padding:12px 24px;border:2px solid #e2e8f0;border-radius:12px;font-size:1em;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;color:#718096}.close-btn:hover{background:#f7fafc;border-color:#cbd5e0}.celebration-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confetti-container{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti{position:absolute;top:-20px;border-radius:2px;animation:confettiFall linear forwards}@keyframes confettiFall{0%{top:-20px;opacity:1;transform:rotate(0) translate(0)}25%{transform:rotate(90deg) translate(20px)}50%{transform:rotate(180deg) translate(-20px)}75%{transform:rotate(270deg) translate(20px)}to{top:100vh;opacity:0;transform:rotate(360deg) translate(0)}}.celebration-message{background:#fff;border-radius:24px;padding:40px 60px;text-align:center;animation:bounceIn .5s ease;box-shadow:0 20px 60px #0000004d}@keyframes bounceIn{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.celebration-emoji{font-size:5em;margin-bottom:20px;animation:bounce .6s ease infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.celebration-message h2{color:#48bb78;font-size:2em;margin:0 0 10px}.celebration-message p{color:#4a5568;font-size:1.2em;margin:0}@media(max-width:600px){.celebration-message{padding:30px 40px;margin:20px}.celebration-emoji{font-size:4em}.celebration-message h2{font-size:1.5em}.celebration-message p{font-size:1em}}.schedule-page{min-height:100vh;padding-bottom:40px;color:#2d3748}.schedule-container{max-width:800px;margin:0 auto;padding:20px;color:#2d3748}.schedule-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#4a5568}.schedule-loading .spinner{width:50px;height:50px;border:4px solid #e2e8f0;border-top-color:var(--primary-color, #ed64a6);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}.progress-section{display:flex;gap:16px;margin-bottom:24px}.progress-card{flex:1;background:#fff;border-radius:16px;padding:20px;box-shadow:0 4px 12px #00000014;text-align:center;position:relative}.progress-card.today{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border:2px solid #48bb78}.progress-label{font-size:.9em;color:#718096;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.progress-numbers{font-size:2.5em;font-weight:700;margin-bottom:12px}.progress-numbers .completed{color:#48bb78}.progress-numbers .separator{color:#cbd5e0;margin:0 4px}.progress-numbers .total{color:#4a5568}.progress-card .progress-bar{height:10px;background:#0000001a;border-radius:5px;overflow:hidden}.progress-card .progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:5px;transition:width .5s ease}.done-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#48bb78,#38a169);color:#fff;padding:6px 12px;border-radius:20px;font-size:.85em;font-weight:600;box-shadow:0 2px 8px #48bb7866}.kids-week-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:16px}.kids-nav-btn{background:#fff;border:1px solid #e2e8f0;color:#4a5568;width:36px;height:36px;border-radius:10px;font-size:1.1em;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000000f}.kids-nav-btn:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.kids-nav-btn:disabled{opacity:.3;cursor:not-allowed}.kids-week-display{display:flex;align-items:center;gap:10px}.kids-week-label{font-size:1em;font-weight:600;color:#4a5568}.kids-current-btn{background:var(--primary-color, #ed64a6);border:none;color:#fff;padding:4px 10px;border-radius:8px;font-size:.8em;font-weight:600;cursor:pointer;transition:opacity .2s}.kids-current-btn:hover{opacity:.85}.view-toggle-row{display:flex;align-items:center;gap:12px;margin-bottom:24px}.view-toggle{display:flex;flex:1;background:#e2e8f0;border-radius:12px;padding:4px}.kids-print-btn{background:#fff;border:1px solid #e2e8f0;color:#4a5568;padding:10px 16px;border-radius:10px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000000f;white-space:nowrap}.kids-print-btn:hover{background:#f7fafc;border-color:#cbd5e0}.kids-show-completed-btn{background:#fff;border:1px solid #e2e8f0;color:#718096;padding:10px 16px;border-radius:10px;font-size:.95em;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 4px #0000000f;white-space:nowrap}.kids-show-completed-btn.showing{background:#ebf8ff;border-color:#bee3f8;color:#2b6cb0}.kids-show-completed-btn:hover{background:#f7fafc;border-color:#cbd5e0}.schedule-page .view-toggle button{flex:1;padding:14px 20px;border:none;background:transparent;border-radius:10px;font-size:1.1em;font-weight:600;color:#718096;cursor:pointer;transition:all .2s}.schedule-page .view-toggle button.active{background:#fff;color:var(--primary-color, #ed64a6);box-shadow:0 2px 8px #0000001a}.schedule-page .view-toggle button:hover:not(.active){color:#4a5568;background:transparent}.empty-state{background:#fff;border-radius:20px;padding:60px 40px;text-align:center;box-shadow:0 4px 12px #00000014}.empty-state h2{color:#4a5568;margin-bottom:10px}.empty-state p{color:#718096}.day-section{background:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 12px #00000014}.day-section.today{border:2px solid var(--primary-color, #ed64a6)}.day-section.all-complete{opacity:.7}.day-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f7fafc;border-bottom:1px solid #e2e8f0}.day-section.today .day-header{background:linear-gradient(135deg,#ed64a61a,#ed64a60d)}.day-header h3{margin:0;font-size:1.2em;color:#2d3748}.today-badge{background:var(--primary-color, #ed64a6);color:#fff;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:600}.day-count{margin-left:auto;color:#718096;font-weight:600}.task-list{padding:12px}.subject-section{background:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden;box-shadow:0 4px 12px #00000014}.subject-section.all-complete{opacity:.7}.subject-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f7fafc;border-bottom:1px solid #e2e8f0;border-left:4px solid}.subject-icon{font-size:1.5em}.subject-header h3{margin:0;font-size:1.2em;color:#2d3748}.subject-count{margin-left:auto;color:#718096;font-weight:600}@media(max-width:600px){.schedule-container{padding:15px}.progress-section{flex-direction:column;gap:12px}.progress-card{padding:16px}.progress-numbers{font-size:2em}.view-toggle button{padding:12px 16px;font-size:1em}.day-header,.subject-header{padding:14px 16px}.task-list{padding:8px}}.parent-reading{padding:0}.child-selector{display:flex;gap:10px;justify-content:center;margin:0 20px 30px}.child-selector button{background:#fff;border:2px solid #cbd5e0;padding:12px 30px;border-radius:25px;font-size:1.1em;font-weight:600;cursor:pointer;transition:all .3s;color:#2d3748}.child-selector button.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb4d}.child-selector button:hover:not(.active){background:#f7fafc;border-color:#a0aec0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin:0 20px 20px}.page-stats{display:flex;gap:15px;margin:0 20px 40px;flex-wrap:wrap;justify-content:center}.page-stat{background:#fff;border:2px solid #ecf0f1;border-radius:10px;padding:15px 20px;min-width:120px;text-align:center;transition:all .3s}.page-stat.trend-up{border-color:#27ae60;background:#e8f8f0}.page-stat.trend-down{border-color:#e74c3c;background:#fde8e8}.page-stat.trend-same{border-color:#f39c12;background:#fef5e7}.page-number{font-size:1.5em;font-weight:700;color:#2c3e50;margin-bottom:5px}.page-label{font-size:.85em;color:#7f8c8d;font-weight:600}.trend-up .page-label{color:#27ae60}.trend-down .page-label{color:#e74c3c}.trend-same .page-label{color:#f39c12}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:30px;border-radius:15px;text-align:center;box-shadow:0 5px 15px #0000001a}.stat-number{font-size:3em;font-weight:700;margin-bottom:10px}.stat-label{font-size:1.1em;opacity:.9}.reading-sections{display:grid;gap:30px;padding:0 20px 20px}.reading-section{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a}.book-progress{color:#3498db;font-size:.95em;font-weight:600;margin-top:5px}.reading-section h2{color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.book-list{display:flex;flex-direction:column;gap:15px}.book-item{padding:15px;background:#f8f9fa;border-left:4px solid #3498db;border-radius:5px;transition:all .3s}.book-item:hover{background:#e8f4f8;transform:translate(5px)}.book-title{font-size:1.2em;font-weight:600;color:#2c3e50;margin-bottom:5px}.book-meta{color:#7f8c8d;font-size:.95em;margin-bottom:3px}.book-series{color:#3498db;font-weight:500}.book-date,.book-release{color:#95a5a6;font-size:.9em;margin-top:5px}.empty-message{color:#95a5a6;font-style:italic;text-align:center;padding:20px}@media(max-width:768px){.stats-grid{grid-template-columns:1fr}.stat-number{font-size:2.5em}}.parent-missions{padding:0}.scoreboard{background:#fb4f14;padding:20px;margin:0 20px 30px;border-radius:10px;box-shadow:0 4px 15px #fb4f144d;text-align:center}.scoreboard h3{color:#024;margin:0 0 20px;font-size:1.4em;text-shadow:none}.scoreboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.scoreboard-item{background:#fff6;padding:15px;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #00000026}.scoreboard-item h4{color:#024;margin:0 0 10px;font-size:1.2em}.stats{display:flex;flex-direction:column;gap:5px}.stat{color:#fff;font-size:1em;font-weight:500}.stat.solved{color:#10b981;font-weight:600}.stat.not-completed{color:#024;font-weight:600}.mission-section{margin-bottom:40px}.section-header{padding:20px;margin:0 20px 20px;border-radius:10px;text-align:center}.section-header h3{margin:0;font-size:1.5em;font-weight:600}.section-header p{margin:0;font-size:1.2em}.upcoming-header{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 4px 15px #8b5cf64d}.upcoming-header h3{text-shadow:2px 2px 4px rgba(0,0,0,.2)}.tomorrow-preview{display:flex;flex-direction:column;gap:12px;max-width:800px;margin:0 auto;padding:0 20px 20px}.preview-item{background:#fff;border-radius:8px;padding:15px 20px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;gap:15px}.preview-child{font-weight:700;font-size:1.1em;color:#2c3e50;min-width:80px}.preview-type{background:#8b5cf6;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:uppercase}.preview-empty{text-align:center;color:#95a5a6;font-style:italic;padding:20px;margin:0}.past-header{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;box-shadow:0 4px 15px #95a5a64d}.past-header h3{text-shadow:2px 2px 4px rgba(0,0,0,.2)}.no-missions-header{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;box-shadow:0 4px 15px #95a5a64d}.no-missions-header p{text-shadow:1px 1px 2px rgba(0,0,0,.2)}.missions-list{display:flex;flex-direction:column;gap:20px;max-width:800px;margin:0 auto;padding:0 20px 20px}.mission-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 10px #0000001a;position:relative;transition:all .3s}.mission-card:hover{box-shadow:0 5px 20px #00000026}.mission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.mission-info{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.mission-child{font-weight:700;font-size:1.2em;color:#2c3e50}.mission-date{color:#7f8c8d;font-size:.95em}.mission-type{background:#3498db;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:uppercase}.mission-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.reveal-btn{background:#e74c3c;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:1em}.reveal-btn:hover{background:#c0392b;transform:scale(1.05)}.solve-btn{background:#27ae60;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:1em}.solve-btn:hover{background:#229954;transform:scale(1.05)}.reschedule-btn{background:#f39c12;color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:1em}.reschedule-btn:hover{background:#e67e22;transform:scale(1.05)}.mission-content{font-size:1.05em;line-height:1.6;color:#2c3e50;white-space:pre-wrap;position:relative}.mission-content.blurred{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}.blur-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#3498dbe6;color:#fff;padding:15px 30px;border-radius:25px;font-weight:600;font-size:1.1em;pointer-events:none;box-shadow:0 4px 15px #0003}.no-missions{text-align:center;padding:60px;color:#95a5a6;font-size:1.3em}.loading{text-align:center;padding:60px;font-size:1.3em;color:#7f8c8d}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:15px;padding:30px;max-width:500px;width:90%;box-shadow:0 10px 40px #0000004d}.modal-content h3{margin:0 0 20px;color:#2c3e50;font-size:1.8em;text-align:center}.reschedule-info{background:#f8f9fa;border-radius:10px;padding:20px;margin-bottom:20px}.reschedule-info p{margin:10px 0;font-size:1.05em;color:#2c3e50}.reschedule-form{margin-bottom:25px}.reschedule-form label{display:flex;flex-direction:column;gap:10px;font-size:1.1em;color:#2c3e50}.reschedule-form input[type=date]{padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:1em;transition:border-color .3s}.reschedule-form input[type=date]:focus{outline:none;border-color:#3498db}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.confirm-btn{background:#27ae60;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:1em}.confirm-btn:hover:not(:disabled){background:#229954;transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}.confirm-btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.cancel-btn{background:#95a5a6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s;font-size:1em}.cancel-btn:hover{background:#7f8c8d;transform:translateY(-2px);box-shadow:0 4px 12px #95a5a64d}@media(max-width:768px){.mission-header{flex-direction:column;align-items:flex-start;gap:15px}.reveal-btn,.solve-btn,.reschedule-btn,.mission-actions{width:100%}.modal-actions{flex-direction:column}.confirm-btn,.cancel-btn{width:100%}}.today-header{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b9814d}.today-header h3{text-shadow:2px 2px 4px rgba(0,0,0,.2)}.upcoming-missions-list{display:flex;flex-direction:column;gap:12px;max-width:800px;margin:0 auto;padding:0 20px 20px}.upcoming-mission-line{background:#fff;border-radius:8px;padding:15px 20px;box-shadow:0 2px 8px #00000014;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.upcoming-mission-line .mission-child{font-weight:700;font-size:1.1em;color:#2c3e50;min-width:80px}.upcoming-mission-line .mission-date{color:#7f8c8d;font-size:.95em;min-width:100px}.upcoming-mission-line .mission-type{background:#8b5cf6;color:#fff;padding:4px 12px;border-radius:12px;font-size:.85em;font-weight:600;text-transform:uppercase}.upcoming-mission-line .mission-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.upcoming-mission-line .reveal-btn.small,.upcoming-mission-line .solve-btn.small,.upcoming-mission-line .reschedule-btn.small{padding:6px 12px;font-size:.85em;border-radius:6px}.upcoming-mission-line .status{font-size:.9em;font-weight:600;padding:4px 8px;border-radius:6px}.upcoming-mission-line .status.solved{background:#d1fae5;color:#065f46}.upcoming-mission-line .status.revealed{background:#fef3c7;color:#92400e}.past-mission-card{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px #0000001a;position:relative;transition:all .3s}.past-mission-card:hover{box-shadow:0 5px 20px #00000026}.past-mission-card .mission-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:2px solid #ecf0f1}.past-mission-card .mission-info{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.past-mission-card .mission-child{font-weight:700;font-size:1.1em;color:#2c3e50}.past-mission-card .mission-date{color:#7f8c8d;font-size:.9em}.past-mission-card .mission-type{background:#95a5a6;color:#fff;padding:4px 12px;border-radius:12px;font-size:.8em;font-weight:600;text-transform:uppercase}.past-mission-card .mission-status{display:flex;align-items:center;gap:10px}.past-mission-card .status.solved{background:#d1fae5;color:#065f46;padding:6px 12px;border-radius:8px;font-weight:600;font-size:.9em}.past-mission-card .checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#2c3e50}.past-mission-card .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.past-mission-card .mission-content.revealed{font-size:1em;line-height:1.6;color:#2c3e50;white-space:pre-wrap;margin-top:15px;padding-top:15px;border-top:1px solid #ecf0f1}.past-mission-card .riddle-answer{background:#f8f9fa;padding:15px;border-radius:8px;margin-top:15px;border-left:4px solid #3498db}.past-mission-card .riddle-answer strong{color:#3498db}.mission-settings{padding:0;min-height:100vh;background:#f5f7fa}.settings-header-new{background:linear-gradient(135deg,#667eea,#764ba2);padding:30px 40px;box-shadow:0 4px 20px #00000026;position:relative}.settings-header-new .back-btn-new{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s}.settings-header-new .back-btn-new:hover{background:#ffffff4d;border-color:#fff}.settings-header-new h1{font-size:2.5em;color:#fff;margin:0;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.settings-header{text-align:center;margin:40px 0}.settings-header h1{font-size:2.5em;color:#2c3e50}.loading,.error{text-align:center;padding:40px;font-size:1.2em;color:#7f8c8d}.error{color:#e74c3c}.alert{padding:15px 20px;border-radius:8px;margin:20px;font-weight:500}.alert-error{background:#fee;border:2px solid #e74c3c;color:#c0392b}.alert-success{background:#efe;border:2px solid #27ae60;color:#1e8449}.settings-layout{display:flex;max-width:1400px;margin:0 auto;padding:20px;gap:20px}.settings-nav{width:250px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #00000014;position:sticky;top:20px;height:fit-content;max-height:calc(100vh - 40px);overflow-y:auto}.settings-nav .nav-title{font-size:.9em;font-weight:700;color:#95a5a6;text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px}.settings-nav .nav-item{display:block;width:100%;text-align:left;padding:12px 15px;margin-bottom:5px;background:none;border:none;border-radius:8px;color:#2c3e50;font-size:.95em;cursor:pointer;transition:all .2s}.settings-nav .nav-item:hover{background:#f8f9fa;color:#667eea}.settings-nav .nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.settings-content{flex:1;display:flex;flex-direction:column;gap:25px}.settings-section{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 8px #00000014;scroll-margin-top:20px}.settings-section h2{font-size:1.5em;color:#2c3e50;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #ecf0f1}.child-section{border-left:4px solid #3498db}.child-section:nth-child(2n){border-left-color:#9b59b6}.setting-row{margin-bottom:20px}.setting-row:last-child{margin-bottom:0}.setting-row label{display:block;font-weight:600;color:#34495e;margin-bottom:8px;font-size:.95em}.label-hint{font-weight:400;color:#95a5a6;font-size:.9em;margin-left:5px}.field-note{display:block;font-size:.85em;color:#95a5a6;margin-top:5px;font-style:italic}.setting-row input[type=text],.setting-row input[type=number],.setting-row input[type=time],.setting-row select,.setting-row textarea{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:1em;font-family:inherit;transition:border-color .3s}.setting-row input:focus,.setting-row select:focus,.setting-row textarea:focus{outline:none;border-color:#3498db}.setting-row input:disabled,.setting-row select:disabled,.setting-row textarea:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.setting-row input[type=checkbox]{width:auto;margin-right:10px;cursor:pointer;transform:scale(1.2)}.setting-row input[type=range]{width:100%}.mission-count-display{background:#ecf0f1;padding:15px;border-radius:8px;margin-bottom:15px;display:flex;justify-content:space-between;align-items:center;font-size:1.1em}.count-valid{color:#27ae60;font-weight:600}.count-invalid{color:#e74c3c;font-weight:600}.day-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.day-checkbox{display:flex;align-items:center;background:#f8f9fa;padding:10px 15px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:500}.day-checkbox:hover{border-color:#3498db;background:#e3f2fd}.day-checkbox input:checked+span{color:#3498db}.mission-type-checkboxes{display:flex;flex-wrap:wrap;gap:10px}.mission-type-checkbox{display:flex;align-items:center;background:#f8f9fa;padding:8px 12px;border:2px solid #ddd;border-radius:6px;cursor:pointer;transition:all .3s;font-size:.9em}.mission-type-checkbox:hover{border-color:#9b59b6;background:#f3e5f5}.mission-type-checkbox input:checked+span{color:#9b59b6;font-weight:600}.mobile-app-checkboxes{display:flex;flex-direction:column;gap:10px}.mobile-app-checkbox{display:flex;align-items:center;background:#f8f9fa;padding:10px 15px;border:2px solid #ddd;border-radius:8px;cursor:pointer;transition:all .3s;font-weight:500}.mobile-app-checkbox:hover{border-color:#667eea;background:#e3f2fd}.mobile-app-checkbox input:checked+span{color:#667eea;font-weight:600}.personality-input-group{display:flex;gap:10px}.personality-input-group input{flex:1}.suggest-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s;white-space:nowrap}.suggest-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.suggest-btn:disabled{opacity:.6;cursor:not-allowed}.personality-suggestions{margin-top:10px;padding:12px;background:#f8f9fa;border-radius:6px}.personality-suggestions strong{display:block;margin-bottom:8px;color:#34495e}.suggestion-chip{display:inline-block;background:#fff;border:2px solid #3498db;color:#3498db;padding:6px 12px;border-radius:20px;margin:4px;cursor:pointer;font-size:.9em;transition:all .3s}.suggestion-chip:hover{background:#3498db;color:#fff}.range-inputs{display:flex;align-items:center;gap:10px}.range-inputs input[type=number]{width:80px}.range-inputs input[type=range]{flex:1}.range-inputs span{font-weight:500;color:#7f8c8d}.dual-range-slider{padding:10px 0}.range-track{position:relative;height:8px;background:#e0e0e0;border-radius:4px;margin-bottom:25px}.range-fill{position:absolute;height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;pointer-events:none}.dual-range-slider input[type=range]{position:absolute;width:100%;height:8px;background:transparent;pointer-events:none;top:0;left:0;-webkit-appearance:none;appearance:none}.dual-range-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;height:8px}.dual-range-slider input[type=range]::-moz-range-track{background:transparent;height:8px}.dual-range-slider input[type=range]::-webkit-slider-thumb{pointer-events:all;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:3px solid white;box-shadow:0 2px 6px #0003;-webkit-appearance:none}.dual-range-slider input[type=range]::-moz-range-thumb{pointer-events:all;width:20px;height:20px;border-radius:50%;background:#667eea;cursor:pointer;border:3px solid white;box-shadow:0 2px 6px #0003}.range-values{display:flex;justify-content:space-between;font-weight:600;color:#667eea;font-size:1.1em}.custom-types-list{display:flex;flex-wrap:wrap;gap:8px}.type-chip{display:inline-flex;align-items:center;background:#e3f2fd;border:2px solid #3498db;color:#2980b9;padding:6px 12px;border-radius:20px;font-size:.9em;font-weight:500}.type-chip .remove-type{background:none;border:none;color:#e74c3c;font-size:1.3em;margin-left:6px;cursor:pointer;line-height:1;padding:0}.type-chip .remove-type:hover{color:#c0392b}.add-type-btn{background:#fff;border:2px dashed #3498db;color:#3498db;padding:6px 12px;border-radius:20px;cursor:pointer;font-size:.9em;font-weight:500;transition:all .3s}.add-type-btn:hover{background:#e3f2fd}.test-section{background:linear-gradient(135deg,#fff5e6,#ffe0b2);border-color:#ff9800}.test-buttons{display:flex;gap:10px;margin-bottom:15px;flex-wrap:wrap}.test-btn{background:#ff9800;color:#fff;border:none;padding:12px 20px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .3s}.test-btn:hover:not(:disabled){background:#f57c00;transform:translateY(-2px)}.test-btn:disabled{opacity:.6;cursor:not-allowed}.test-result{background:#fff;border:2px solid #ff9800;border-radius:8px;padding:20px;margin-top:15px}.test-result h3{color:#e65100;margin-bottom:15px}.test-result p{margin:10px 0;line-height:1.6}.test-result strong{color:#34495e}.close-test-btn{background:#95a5a6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;margin-top:15px;font-weight:500}.close-test-btn:hover{background:#7f8c8d}.settings-footer{display:flex;justify-content:center;gap:15px;padding:20px;background:#fff;border-top:2px solid #ecf0f1;box-shadow:0 -2px 10px #0000000d;position:sticky;bottom:0}.save-btn{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;padding:15px 40px;border-radius:8px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .3s}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #27ae6066}.save-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#95a5a6;color:#fff;border:none;padding:15px 40px;border-radius:8px;cursor:pointer;font-size:1.1em;font-weight:600;transition:all .3s}.cancel-btn:hover{background:#7f8c8d}@media(max-width:1024px){.settings-nav{display:none}.settings-layout{padding:10px}}@media(max-width:768px){.mission-settings{padding:0}.settings-header-new{padding:20px 15px}.settings-header-new h1{font-size:1.8em;margin-top:10px}.settings-header-new .back-btn-new{position:static;transform:none;margin-bottom:15px;display:block;width:fit-content}.settings-section{padding:15px}.day-checkboxes,.personality-input-group{flex-direction:column}.range-inputs{flex-wrap:wrap}.test-buttons,.settings-footer{flex-direction:column}.save-btn,.cancel-btn{width:100%}}.portal-settings{padding:0}.module-header{background:linear-gradient(135deg,#1e3a8a,#3730a3);padding:40px 20px;text-align:center;margin-bottom:30px;box-shadow:0 4px 20px #00000040;position:relative}.module-header .back-btn{position:absolute;left:20px;top:20px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.4);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.module-header .back-btn:hover{background:#ffffff4d;border-color:#fff9;transform:translate(-3px)}.module-header h1{color:#fff;font-size:2em;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.module-header h2{color:#fffffff2;font-size:1.5em;margin:0;font-weight:400}.saving-indicator{position:absolute;top:20px;right:20px;background:#22c55ee6;color:#fff;padding:8px 16px;border-radius:20px;font-size:.9em;font-weight:600;box-shadow:0 2px 8px #0003;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.loading{text-align:center;padding:60px 20px;font-size:1.2em;color:#7f8c8d}.settings-content{max-width:800px;margin:0 auto;padding:0 20px 40px}.setting-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 4px 12px #0000001a;color:#2d3748}.setting-section h3{color:#2d3748;margin:0 0 20px;font-size:1.4em;font-weight:600}.setting-item{margin-bottom:16px;color:#4a5568}.setting-item label{display:block;margin-bottom:8px;font-weight:500;color:#4a5568}.timeout-input{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:1em;width:100px;margin-left:8px}.timeout-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.timezone-select{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:1em;min-width:200px;margin-left:8px}.timezone-select:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.setting-description{color:#718096;font-size:.9em;margin:8px 0 0}.pins-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:12px 0}.pin-edit-group label{display:block;margin-bottom:4px;font-weight:500;color:#4a5568;text-transform:capitalize}.pin-edit-input{padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:1em;font-family:monospace;width:100%;transition:border-color .3s}.pin-edit-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.pin-actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}.save-btn{background:#38a169;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}.save-btn:hover:not(:disabled){background:#2f855a}.save-btn:disabled{background:#a0aec0;cursor:not-allowed}.reset-default-btn{background:#e53e3e;color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-weight:500;transition:background .3s}.reset-default-btn:hover{background:#c53030}.calendar-url-input{display:block;width:100%;padding:10px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:.95em;font-family:monospace;margin-top:8px;transition:border-color .3s}.calendar-url-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.calendar-url-input::placeholder{color:#a0aec0;font-size:.85em}.setting-hint{color:#a0aec0;font-size:.8em;margin:8px 0}.setting-hint code{background:#f7fafc;padding:2px 6px;border-radius:4px;font-size:.9em;word-break:break-all}.reset-btn{background:#718096;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:500;font-size:.9em;margin-top:8px;transition:background .3s}.reset-btn:hover{background:#4a5568}.child-colors-display{display:flex;flex-direction:column;gap:12px;margin-top:12px}.child-color-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#f7fafc;border-radius:8px}.child-color-swatch{width:28px;height:28px;border-radius:50%;flex-shrink:0;box-shadow:0 2px 6px #00000026}.child-color-label{font-weight:600;font-size:1.05em;color:#2d3748;flex:1}.child-color-hex{font-size:.85em;color:#718096;font-weight:500}.family-names-row{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:.5rem}.family-name-field{display:flex;flex-direction:column;gap:.35rem;flex:1;min-width:160px}.family-name-field span{font-size:.85rem;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.04em}.family-name-input{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:border-color .2s}.family-name-input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.family-pin-input{font-family:monospace;letter-spacing:.12em}.kids-table-header{display:flex;align-items:center;justify-content:space-between;margin:1.25rem 0 .75rem}.kids-table-header h4{margin:0;font-size:1rem;color:#2d3748}.add-kid-btn{padding:.35rem .85rem;background:#48bb78;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s}.add-kid-btn:hover{background:#38a169}.kids-table-wrap{overflow-x:auto;border-radius:8px;border:1px solid #e2e8f0}.kids-table{width:100%;border-collapse:collapse;font-size:.9rem}.kids-table th{background:#f7fafc;padding:.6rem .75rem;text-align:left;font-size:.8rem;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e2e8f0}.kids-table td{padding:.6rem .75rem;border-bottom:1px solid #f0f4f8;vertical-align:top}.kid-row:last-child td{border-bottom:none}.kid-name-input,.kid-birthday-input{width:100%;padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:5px;font-size:.9rem}.kid-name-input:focus,.kid-birthday-input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.kid-nickname-input{width:3.5rem;padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:5px;font-size:.9rem;text-align:center;font-weight:600}.kid-nickname-input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.kid-pin-input{width:5.5rem;padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:5px;font-size:.9rem;font-family:monospace;letter-spacing:.1em}.kid-pin-input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.kid-birthday-input.input-error{border-color:#e53e3e}.kid-gender-select{width:100%;padding:.4rem .5rem;border:1px solid #e2e8f0;border-radius:5px;font-size:.9rem;background:#fff}.birthday-error{font-size:.75rem;color:#e53e3e;margin-top:.25rem}.birthday-age{font-size:.75rem;color:#718096;margin-top:.25rem;font-style:italic}.palette-swatches{display:flex;gap:5px;align-items:center;padding:3px;border-radius:6px;border:2px solid transparent;transition:border-color .15s}.palette-swatches:hover,.palette-swatches--active{border-color:var(--primary-color, #ed64a6)}.palette-swatch{width:22px;height:22px;border-radius:50%;display:inline-block;box-shadow:0 1px 4px #0000002e;border:1.5px solid rgba(255,255,255,.7);transition:transform .15s}.palette-swatches:hover .palette-swatch{transform:scale(1.12)}.palette-gradient-preview{height:6px;border-radius:3px;width:100%;margin-top:.25rem}.color-picker-backdrop{position:fixed;inset:0;z-index:199}.color-picker-panel{position:fixed;top:50%;right:24px;transform:translateY(-50%);z-index:200;background:#fff;border-radius:14px;box-shadow:0 8px 32px #00000038;padding:16px;width:220px}.color-picker-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;font-size:.95rem;color:#2d3748}.color-picker-close{background:none;border:none;cursor:pointer;font-size:1rem;color:#718096;padding:2px 6px;border-radius:4px;line-height:1}.color-picker-close:hover{background:#f7fafc;color:#2d3748}.color-picker-panel .react-colorful{width:100%;height:160px;border-radius:8px;overflow:hidden}.color-picker-palette-preview{display:flex;gap:6px;margin-top:12px;justify-content:center}.color-picker-swatch{width:28px;height:28px}.color-picker-gradient-bar{height:8px;border-radius:4px;margin-top:10px}.kid-row-delete{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.3rem;border-radius:4px;opacity:.6;transition:opacity .15s,background .15s}.kid-row-delete:hover{opacity:1;background:#fff5f5}.family-save-row{display:flex;align-items:center;gap:1rem;margin-top:1rem;flex-wrap:wrap}.family-save-row .setting-description{margin:0;font-size:.82rem}@media(max-width:768px){.settings-content{padding:0 15px 40px}.setting-section{padding:20px}.pin-actions{flex-direction:column}.pin-actions button{width:100%}.family-names-row{flex-direction:column}}.schedule-header{background:#ffffff0d;border-radius:12px;padding:16px}.controls-row{display:flex;gap:8px;align-items:flex-start;justify-content:center;margin-bottom:16px}.stats-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.schedule-header .week-nav{display:flex;align-items:center;gap:8px}.schedule-header .nav-btn{background:#ffffff1a;border:none;color:#fff;width:32px;height:32px;border-radius:6px;font-size:1em;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.schedule-header .nav-btn:hover{background:#fff3}.schedule-header .week-display{display:flex;align-items:center;gap:8px;background:transparent;border:none;padding:0}.schedule-header .week-label{color:#a3bffa;font-size:.9em;font-weight:500;white-space:nowrap}.schedule-header .week-number-badge{background:#667eea40;color:#c3d3fd;font-size:.78em;font-weight:700;padding:3px 10px;border-radius:10px;white-space:nowrap;letter-spacing:.02em}.schedule-header .today-btn{background:#667eea4d;border:none;color:#a3bffa;padding:3px 8px;border-radius:4px;font-size:.75em;cursor:pointer;transition:background .2s}.schedule-header .today-btn:hover{background:#667eea80}.view-toggle{display:flex;align-items:center;background:#0003;border-radius:8px;padding:4px}.toggle-btn{background:transparent;border:none;color:#fff9;padding:8px 16px;border-radius:6px;font-size:.9em;cursor:pointer;transition:all .2s;white-space:nowrap}.toggle-btn:hover{color:#fff}.toggle-btn.active{background:#667eea66;color:#fff}.date-range-toggle{display:flex;align-items:center;background:#0003;border-radius:8px;padding:4px}.range-btn{background:transparent;border:none;color:#fff9;padding:8px 16px;border-radius:6px;font-size:.9em;cursor:pointer;transition:all .2s;white-space:nowrap}.range-btn:hover{color:#fff}.range-btn.active{background:#38b2ac66;color:#fff}.child-filter{display:flex;align-items:center;background:#0003;border-radius:8px;padding:4px}.filter-btn{background:transparent;border:none;color:#fff9;padding:8px 16px;border-radius:6px;font-size:.9em;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn:hover{color:#fff}.filter-btn.active{color:#fff;font-weight:600}.filter-btn.active:not(.kieryn):not(.connor){background:#667eea66}.filter-btn.kieryn.active{background:#9f7aea66}.filter-btn.connor.active{background:#4299e166}.add-buttons{display:flex;align-items:flex-start;gap:8px;margin-left:12px;padding-left:16px;border-left:1px solid rgba(255,255,255,.15)}.add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:8px 16px;border-radius:8px;font-size:.9em;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.add-btn.recurring{background:linear-gradient(135deg,#38b2ac,#319795)}.add-btn.recurring:hover{box-shadow:0 4px 12px #38b2ac4d}.add-btn.print{background:linear-gradient(135deg,#718096,#4a5568)}.add-btn.print:hover{box-shadow:0 4px 12px #7180964d}.progress-stats{display:flex;gap:16px;flex-wrap:wrap}.stat{display:flex;gap:6px;align-items:center;font-size:.9em}.stat-label{color:#fff9}.stat-value{color:#fff;font-weight:500}.stat.kieryn .stat-value{color:#b794f4}.stat.connor .stat-value{color:#63b3ed}.settings-btn{background:transparent;border:none;font-size:1.2em;padding:6px 10px;cursor:pointer;border-radius:6px;transition:all .2s}.settings-btn:hover,.settings-btn.active{background:#ffffff26}.settings-panel{margin-top:12px;padding:12px 16px;background:#ffffff1a;border-radius:8px}.inactive-days-setting{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.inactive-days-setting .setting-label{color:#fffc;font-size:.9em}.day-checkboxes{display:flex;gap:8px}.day-checkbox{display:flex;align-items:center;gap:4px;background:#ffffff1a;padding:4px 10px;border-radius:6px;font-size:.85em;color:#fff;cursor:pointer;transition:all .2s}.day-checkbox:hover{background:#fff3}.day-checkbox input{cursor:pointer}.day-checkbox input:checked+span,.day-checkbox:has(input:checked){color:#ed8936}.settings-panel .setting-hint{width:100%;margin:8px 0 0;font-size:.8em;color:#ffffff80}@media(max-width:768px){.schedule-header{padding:12px}.controls-row{flex-wrap:wrap;align-items:center}.add-buttons{margin-left:0;padding-left:0;border-left:none;width:100%;justify-content:center}.stats-row{flex-direction:column;gap:12px}.week-nav,.progress-stats{justify-content:center}}.task-modal-day-off-warning{margin-top:8px;padding:7px 12px;border-radius:7px;font-size:.82em;font-weight:600}.task-modal-day-off-warning.vacation{background:#63b3ed1f;border:1px solid rgba(99,179,237,.35);color:#63b3ed}.task-modal-day-off-warning.holiday{background:#fbbf241f;border:1px solid rgba(251,191,36,.35);color:#f6ad55}.task-grid-wrapper{margin-bottom:20px}.task-grid{border:2px solid #e2e8f0;border-radius:10px;overflow:hidden}.task-grid-header{display:grid;grid-template-columns:46px 76px 52px 1fr 90px 48px;gap:8px;padding:8px 10px;background:#f7fafc;border-bottom:2px solid #e2e8f0;font-size:.75em;font-weight:600;color:#718096;text-transform:uppercase;letter-spacing:.03em}.task-grid-row{display:grid;grid-template-columns:46px 76px 52px 1fr 90px 48px;gap:8px;padding:8px 10px;border-bottom:1px solid #f0f0f0;align-items:center}.task-grid-row:last-child{border-bottom:none}.grid-day-label{font-weight:700;color:#667eea;font-size:.85em}.task-grid-row select,.task-grid-row input[type=text]{padding:7px 6px;border:1.5px solid #e2e8f0;border-radius:6px;font-size:.82em;font-family:inherit;width:100%;box-sizing:border-box;background:#fff}.task-grid-row select:focus,.task-grid-row input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.grid-col-num{text-align:center}.grid-col-actions{display:flex;gap:2px;justify-content:center}.grid-add-row-btn,.grid-remove-row-btn{width:22px;height:22px;border:none;border-radius:4px;font-size:.85em;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.grid-add-row-btn{background:#48bb7826;color:#38a169}.grid-add-row-btn:hover{background:#48bb784d}.grid-remove-row-btn{background:#f5656526;color:#e53e3e}.grid-remove-row-btn:hover{background:#f565654d}.fill-buttons{display:flex;gap:6px;flex-wrap:wrap}.fill-btn{padding:6px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:.8em;font-weight:500;cursor:pointer;background:#f7fafc;color:#4a5568;transition:all .2s}.fill-btn:hover{border-color:var(--primary-color, #ed64a6);background:#ed64a60d}.fill-btn.unit{background:#667eea1a;border-color:#667eea4d;color:#667eea}.fill-btn.unit:hover{background:#667eea33;border-color:#667eea}.fill-btn.quiz{background:#ed89361a;border-color:#ed89364d;color:#dd6b20}.fill-btn.quiz:hover{background:#ed893633;border-color:#ed8936}.unit-quiz-row{display:flex;gap:10px;align-items:center}.unit-quiz-row select{flex:1;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:1em;font-family:inherit;background:#fff}.unit-quiz-row select:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.unit-number-input{width:80px!important;text-align:center}.task-form .button-group{position:sticky;bottom:-30px;background:#fff;margin:0 -30px -30px;padding:14px 30px 4px;border-top:2px solid #e2e8f0;z-index:10}@media(max-width:600px){.task-grid-header{display:none}.task-grid-row{display:flex;flex-direction:column;gap:6px;padding:12px;border-bottom:2px solid #e2e8f0}.task-grid-row:last-child{border-bottom:none}.grid-day-label{font-size:.95em;padding-bottom:4px;border-bottom:1px solid #f0f0f0;margin-bottom:2px}.task-grid-row select,.task-grid-row input[type=text]{font-size:.9em;padding:10px}.grid-col-actions{flex-direction:row;justify-content:flex-start}.fill-buttons{flex-direction:column}.fill-btn{text-align:center}}.homeschool-schedule{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);padding:0}.homeschool-schedule .module-header{background:linear-gradient(135deg,#1e3a8a,#3730a3);padding:40px 20px;text-align:center;color:#fff;position:relative}.homeschool-schedule .module-header .back-btn{position:absolute;left:20px;top:20px;background:#ffffff26;border:none;color:#fff;padding:10px 20px;border-radius:8px;cursor:pointer;transition:background .3s}.homeschool-schedule .module-header .back-btn:hover{background:#ffffff40}.homeschool-schedule .module-header h1{margin:0 0 10px;font-size:2em;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.homeschool-schedule .module-header h2{margin:0;font-size:1.5em;font-weight:400;opacity:.95}.homeschool-schedule .module-header .saving-indicator{position:absolute;right:20px;top:20px;color:gold;font-size:.9em}.homeschool-schedule .schedule-content-wrapper{background:linear-gradient(135deg,#1a1a2e,#16213e);padding:20px;min-height:calc(100vh - 180px)}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;color:#fff}.spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.error-banner{background:#fc8181;color:#742a2a;padding:12px 20px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.error-banner button{background:transparent;border:1px solid #742a2a;color:#742a2a;padding:4px 12px;border-radius:4px;cursor:pointer}.empty-state{background:#ffffff0d;border-radius:16px;padding:60px 40px;text-align:center;color:#fff}.empty-icon{font-size:4em;margin-bottom:20px}.empty-state h2{margin:0 0 10px;font-size:1.5em}.empty-state p{color:#ffffffb3;margin:0 0 30px}.add-task-btn.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1em;cursor:pointer;transition:transform .2s,box-shadow .2s}.add-task-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.bump-bar{display:flex;align-items:center;gap:8px;margin-top:16px}.bump-btn{background:linear-gradient(135deg,#ed8936,#dd6b20);border:none;color:#fff;padding:8px 18px;border-radius:8px;font-size:.9em;font-weight:500;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.bump-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ed89364d}.bump-btn.has-selection{animation:pulse-bump 1.5s ease-in-out infinite}@keyframes pulse-bump{0%,to{box-shadow:0 0 #ed893666}50%{box-shadow:0 0 0 6px #ed893600}}.bump-clear-btn{background:#ffffff26;border:none;color:#fffc;padding:8px 12px;border-radius:8px;font-size:.8em;cursor:pointer;transition:background .2s;white-space:nowrap}.bump-clear-btn:hover{background:#ffffff40}.bump-bar-toggle-btn{background:#ffffff26;border:none;color:#fffc;padding:8px 14px;border-radius:8px;font-size:.85em;cursor:pointer;transition:background .2s;white-space:nowrap}.bump-bar-toggle-btn.showing{background:#ffffff4d;color:#fff}.bump-bar-toggle-btn:hover{background:#ffffff40}.bump-bar-print-btn{margin-left:auto;background:#ffffff26;border:none;color:#fffc;padding:8px 16px;border-radius:8px;font-size:.85em;cursor:pointer;transition:background .2s;white-space:nowrap}.bump-bar-print-btn:hover{background:#ffffff40}.schedule-content{margin-top:20px}.schedule-section{background:#ffffff0d;border-radius:12px;margin-bottom:16px;overflow:hidden}.section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#ffffff0d;cursor:pointer}.section-header:hover{background:#ffffff14}.section-title{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:1.1em}.section-icon{font-size:1.2em}.section-count{background:#fff3;padding:2px 10px;border-radius:12px;font-size:.85em;color:#fffc}.section-content{padding:12px 16px}.day-subsection{margin-bottom:12px}.day-subsection:last-child{margin-bottom:0}.day-label{color:#fff9;font-size:.85em;font-weight:500;margin-bottom:8px;padding-left:4px}.subject-subsection{margin-bottom:16px}.subject-subsection:last-child{margin-bottom:0}.subject-label{display:flex;align-items:center;gap:8px;color:#fffc;font-size:.9em;font-weight:500;margin-bottom:8px;padding-left:4px}.task-row{display:flex;align-items:flex-start;gap:12px;padding:12px;background:#ffffff08;border-radius:8px;margin-bottom:8px;transition:background .2s}.task-row:last-child{margin-bottom:0}.task-row:hover{background:#ffffff0f}.task-row.completed{opacity:.6}.task-column-labels{display:flex;gap:12px;padding:0 12px 4px;margin-bottom:4px;border-bottom:1px solid rgba(255,255,255,.08)}.col-label{font-size:.65em;text-transform:uppercase;letter-spacing:.05em;font-weight:600;text-align:center}.col-label.bump-label{width:18px;color:#ed8936;margin-right:6px}.col-label.done-label{width:22px;color:#48bb78}.task-select-checkbox{width:18px;height:18px;margin-top:3px;margin-right:6px;cursor:pointer;accent-color:#ed8936;flex-shrink:0}.task-row.selected{background:#ed89361a;border-left:3px solid #ed8936;padding-left:9px}.task-checkbox{width:22px;height:22px;margin-top:2px;cursor:pointer;accent-color:#48bb78}.task-content{flex:1;min-width:0}.task-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px}.task-description{color:#fff;font-size:1em}.task-row.completed .task-description{text-decoration:line-through;color:#ffffff80}.task-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.task-book{color:#ffffff80;font-size:.85em}.task-badge{padding:2px 8px;border-radius:4px;font-size:.75em;font-weight:500}.task-badge.type-independent{background:#4299e133;color:#63b3ed}.task-badge.type-with-mom,.task-badge.child{background:#9f7aea33;color:#b794f4}.task-badge.child.connor{background:#4299e133;color:#63b3ed}.task-badge.child.together{background:#48bb7833;color:#68d391}.task-badge.recurring{background:#38b2ac33;color:#4fd1c5;font-size:.85em}.task-badge.moved{background:#ed893633;color:#ed8936;font-size:.85em}.task-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.task-row:hover .task-actions{opacity:1}.task-actions button{background:#ffffff1a;border:none;color:#ffffffb3;padding:6px 10px;border-radius:4px;cursor:pointer;font-size:.85em;transition:background .2s}.task-actions button:hover{background:#fff3}.task-actions button.delete:hover{background:#f565654d;color:#fc8181}.task-actions button.reschedule{background:#ed893633;color:#ed8936}.task-actions button.reschedule:hover{background:#ed89364d}.week-group{margin-bottom:24px}.week-group:last-child{margin-bottom:0}.week-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#667eea33,#764ba233);border-radius:10px;margin-bottom:12px}.week-title{color:#fff;font-size:1.1em;font-weight:600}.week-progress{color:#ffffffb3;font-size:.9em}.week-subsection{margin-bottom:16px}.week-subsection:last-child{margin-bottom:0}.week-subsection .week-label{color:#ffffffb3;font-size:.9em;font-weight:500;margin-bottom:8px;padding:6px 10px;background:#667eea26;border-radius:6px;display:inline-block}.subject-group{margin-bottom:16px}.subject-group-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#ffffff14;border-radius:12px 12px 0 0;cursor:pointer;border-left:4px solid;transition:background .2s}.subject-group-header:hover{background:#ffffff1f}.subject-group-header .section-title{display:flex;align-items:center;gap:10px;color:#fff;font-weight:600;font-size:1.1em}.subject-group-header .section-count{background:#fff3;padding:2px 10px;border-radius:12px;font-size:.85em;color:#fffc}.group-toggle{color:#ffffff80;font-size:.9em;margin-left:4px}.subject-group-children{border-left:4px solid rgba(255,255,255,.1);margin-left:8px;padding-left:12px}.subject-group-children .schedule-section{background:#ffffff08;border-radius:8px;margin-bottom:8px}.subject-group-children .section-header{padding:10px 16px;background:#ffffff08}.subject-group-children .section-title{font-size:1em}.schedule-section.has-holiday{border:1px solid rgba(251,191,36,.3);background:#fbbf240d}.schedule-section.has-holiday .section-header{background:#fbbf241a}.holiday-badge{background:#fbbf2433;color:#fbbf24;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:500;margin-left:8px;border:1px solid rgba(251,191,36,.3);cursor:pointer;transition:all .2s}.holiday-badge:hover{background:#fbbf244d;border-color:#fbbf2480}.holiday-badge.not-observed{background:#9ca3af33;color:#9ca3af;border-color:#9ca3af4d}.holiday-badge.not-observed:hover{background:#9ca3af4d;border-color:#9ca3af80}.holiday-badge .school-day-note{font-weight:400;opacity:.8}.holiday-badge-small{background:#fbbf2433;color:#fbbf24;padding:2px 8px;border-radius:10px;font-size:.85em;font-weight:500;margin-left:8px;border:1px solid rgba(251,191,36,.3);cursor:pointer;transition:all .2s}.holiday-badge-small:hover{background:#fbbf244d;border-color:#fbbf2480}.holiday-badge-small.not-observed{background:#9ca3af33;color:#9ca3af;border-color:#9ca3af4d}.holiday-badge-small.not-observed:hover{background:#9ca3af4d;border-color:#9ca3af80}.day-subsection.has-holiday{background:#fbbf240d;border-radius:8px;padding:8px;margin-left:-8px;margin-right:-8px}.day-subsection.has-holiday .day-label{color:#fbbf24}.vacation-week-warning{background:#63b3ed1f;border:1px solid rgba(99,179,237,.3);color:#63b3ed;padding:8px 16px;border-radius:8px;font-size:.85em;font-weight:600;margin:0 0 8px}.vacation-week-warning.small{padding:4px 10px;font-size:.8em;margin:0 0 6px;border-radius:6px}.holiday-task-warning{background:#fbbf2426;border:1px solid rgba(251,191,36,.3);color:#fbbf24;padding:8px 16px;border-radius:8px;font-size:.85em;margin:0 16px 8px}.holiday-task-warning.small{padding:4px 10px;font-size:.8em;margin:0 0 6px;border-radius:6px}@media(max-width:768px){.homeschool-schedule .module-header{padding:60px 15px 30px}.homeschool-schedule .module-header .back-btn{left:10px;top:10px;padding:8px 12px;font-size:.9em}.homeschool-schedule .module-header h1{font-size:1.4em}.homeschool-schedule .module-header h2{font-size:1em}.homeschool-schedule .module-header .saving-indicator{right:10px;top:10px}.homeschool-schedule .schedule-content-wrapper{padding:15px}.task-actions{opacity:1}.task-row{flex-wrap:wrap}.task-content{width:calc(100% - 34px)}.task-actions{width:100%;margin-top:8px;padding-left:34px}}.subject-editor{margin-top:12px}.subject-list{display:flex;flex-direction:column;gap:6px}.subject-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f7fafc;border-radius:8px;transition:background .2s}.subject-row:hover{background:#edf2f7}.drag-handle{color:#a0aec0;font-size:1.1em;cursor:grab;padding:2px 4px;flex-shrink:0;-webkit-user-select:none;user-select:none;transition:color .2s;letter-spacing:1px}.drag-handle:hover{color:#4a5568}.drag-handle:active{cursor:grabbing}.subject-row.dragging{opacity:.4;border:1px dashed #a0aec0;background:#edf2f7}.subject-row.drag-over-above{box-shadow:0 -2px #3182ce}.subject-row.drag-over-below{box-shadow:0 2px #3182ce}.subject-row[draggable=true]{touch-action:none}.subject-row.minor{margin-left:24px;padding-left:14px;border-left:3px solid #cbd5e0;background:#fafbfc}.subject-row.minor:hover{background:#f0f2f5}.subject-row.minor .subject-name{font-size:.9em}.minor-connector{color:#a0aec0;font-size:.85em;flex-shrink:0;margin-right:-4px}.subject-nest-controls{width:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.nest-btn{background:transparent;border:1px solid #cbd5e0;color:#718096;font-size:.7em;cursor:pointer;padding:1px 4px;border-radius:4px;line-height:1;transition:all .2s}.nest-btn:hover{background:#edf2f7;color:#4a5568;border-color:#a0aec0}.minor-edit-hint{font-size:.8em;color:#a0aec0;font-style:italic}.subject-icon{font-size:1.3em;flex-shrink:0}.subject-name{color:#2d3748;flex:1;font-weight:500}.subject-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.subject-actions{display:flex;gap:6px;flex-shrink:0}.subject-actions .edit-btn{background:#3182ce1a;border:none;color:#3182ce;padding:4px 10px;border-radius:6px;font-size:.8em;cursor:pointer;transition:all .2s}.subject-actions .edit-btn:hover{background:#3182ce33}.subject-actions .delete-btn{background:transparent;border:none;color:#a0aec0;font-size:1.2em;cursor:pointer;padding:0 6px;transition:color .2s}.subject-actions .delete-btn:hover{color:#e53e3e}.subject-edit-form,.subject-add-form{display:flex;flex-direction:column;gap:10px;width:100%}.subject-add-form{margin-top:12px;padding:14px;background:#f7fafc;border-radius:8px;border:1px dashed #cbd5e0}.subject-edit-top{display:flex;align-items:center;gap:10px}.icon-picker-wrapper{position:relative}.icon-btn{background:#edf2f7;border:2px solid #e2e8f0;border-radius:8px;font-size:1.4em;padding:6px 10px;cursor:pointer;transition:all .2s}.icon-btn:hover{background:#e2e8f0}.emoji-picker{position:absolute;top:100%;left:0;z-index:100;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:10px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #00000026;margin-top:6px;max-height:200px;overflow-y:auto}.emoji-option{background:transparent;border:2px solid transparent;border-radius:6px;font-size:1.3em;padding:6px;cursor:pointer;transition:all .15s}.emoji-option:hover{background:#edf2f7}.emoji-option.selected{background:#3182ce26;border-color:#3182ce}.subject-name-input{flex:1;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:8px 12px;color:#2d3748;font-size:.95em;font-weight:500}.subject-name-input:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #3182ce1a}.subject-name-input::placeholder{color:#a0aec0}.color-options{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#2d3748;box-shadow:0 0 0 2px #00000026;transform:scale(1.15)}.subject-edit-actions{display:flex;gap:8px}.subject-edit-actions .save-btn{background:#38a169;border:none;color:#fff;padding:6px 14px;border-radius:6px;font-size:.85em;font-weight:500;cursor:pointer;transition:background .2s}.subject-edit-actions .save-btn:hover{background:#2f855a}.subject-edit-actions .cancel-btn{background:#edf2f7;border:none;color:#4a5568;padding:6px 14px;border-radius:6px;font-size:.85em;cursor:pointer;transition:background .2s}.subject-edit-actions .cancel-btn:hover{background:#e2e8f0}.add-subject-btn{margin-top:12px;width:100%;background:#3182ce14;border:1px dashed rgba(49,130,206,.4);color:#3182ce;padding:10px;border-radius:8px;font-size:.9em;cursor:pointer;transition:all .2s}.add-subject-btn:hover{background:#3182ce26;border-color:#3182ce99}.homeschool-settings{max-width:600px;margin:0 auto}.homeschool-settings .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#ffffffb3}.homeschool-settings .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.homeschool-settings .settings-section h3{color:#2d3748;font-size:1.3em;margin:0 0 20px;padding-bottom:12px;border-bottom:2px solid rgba(45,55,72,.15)}.homeschool-settings .setting-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 4px 12px #0000001a;color:#2d3748}.homeschool-settings .setting-header h4{margin:0 0 8px;color:#2d3748;font-size:1.1em}.homeschool-settings .setting-description{margin:0 0 20px;color:#718096;font-size:.9em;line-height:1.5}.school-name-input{width:100%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;font-size:1em;color:#2d3748;background:#f7fafc;box-sizing:border-box;transition:border-color .2s}.school-name-input:focus{outline:none;border-color:#667eea;background:#fff}.day-options{display:flex;flex-direction:column;gap:8px}.day-option{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f7fafc;border-radius:8px;cursor:pointer;transition:background .2s}.day-option:hover{background:#edf2f7}.day-option input[type=checkbox]{width:20px;height:20px;cursor:pointer}.day-label{color:#2d3748;flex:1}.inactive-badge{background:#ed893626;color:#c05621;padding:4px 10px;border-radius:12px;font-size:.8em;font-weight:600}.homeschool-settings .setting-hint{margin:16px 0 0;padding:12px;background:#ed893614;border-radius:8px;color:#c05621;font-size:.9em}.homeschool-settings .saving-indicator{position:fixed;bottom:20px;right:20px;background:#667eeae6;color:#fff;padding:12px 20px;border-radius:8px;font-weight:500}.skip-day-row{background:#f7fafc;border-radius:8px;margin-bottom:8px;overflow:hidden}.skip-day-main{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .2s}.skip-day-main:hover{background:#edf2f7}.skip-day-main input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.skip-day-label{color:#2d3748;flex:1;font-weight:500}.skip-day-options{padding:10px 16px 14px 48px;background:#edf2f7;display:flex;flex-direction:column;gap:10px}.skip-day-freq{display:flex;align-items:center;gap:8px;font-size:.9em;color:#4a5568;cursor:pointer}.skip-day-freq input[type=radio]{cursor:pointer}.skip-day-startdate{display:flex;align-items:center;gap:8px;font-size:.9em;color:#4a5568;padding-left:22px}.skip-day-startdate input[type=date]{padding:4px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:.9em;color:#2d3748;background:#fff}.holidays-loading{color:#718096;font-size:.9em;padding:8px 0}.holiday-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.holiday-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f7fafc;border-radius:8px;cursor:pointer;transition:background .2s}.holiday-item:hover{background:#edf2f7}.holiday-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;flex-shrink:0}.holiday-name{color:#2d3748;flex:1;font-size:.95em}.holiday-date{color:#718096;font-size:.85em}.holiday-badge-skip{background:#48bb7826;color:#276749;padding:2px 8px;border-radius:10px;font-size:.78em;font-weight:600}.holiday-badge-school{background:#ed89361f;color:#c05621;padding:2px 8px;border-radius:10px;font-size:.78em;font-weight:600}.holiday-badge-vacation{background:#63b3ed26;color:#2b6cb0;padding:2px 8px;border-radius:10px;font-size:.78em;font-weight:600}.year-tracking-toggle{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f7fafc;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:16px}.year-tracking-toggle:hover{background:#edf2f7}.year-tracking-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;flex-shrink:0}.year-tracking-toggle span{color:#2d3748;font-weight:500}.year-tracking-fields{display:flex;flex-direction:column;gap:16px}.year-tracking-field{display:flex;flex-direction:column;gap:6px}.year-tracking-field label{font-size:.9em;font-weight:600;color:#4a5568}.year-tracking-field input[type=date],.year-tracking-field input[type=number]{padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.95em;color:#2d3748;background:#f7fafc;max-width:220px;transition:border-color .2s}.year-tracking-field input:focus{outline:none;border-color:#667eea;background:#fff}.year-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}.year-stat-box{background:#f0f4ff;border:1px solid #c3d3fd;border-radius:10px;padding:14px 16px}.year-stat-box .stat-value{font-size:1.4em;font-weight:700;color:#4c51bf;display:block}.year-stat-box .stat-label{font-size:.8em;color:#667eea;margin-top:2px;display:block}.vacation-weeks-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.vacation-weeks-header label{font-size:.9em;font-weight:600;color:#4a5568}.date-range-btn{font-size:.82em;padding:5px 12px;background:#ebf8ff;color:#2b6cb0;border:1px solid #bee3f8;border-radius:6px;cursor:pointer;transition:background .2s}.date-range-btn:hover{background:#bee3f8}.date-range-picker{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;padding:12px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px}.date-range-picker label{font-size:.85em;color:#2c5282;font-weight:600}.date-range-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.date-range-row span{font-size:.85em;color:#4a5568}.date-range-picker input[type=date]{padding:6px 10px;border:1px solid #bee3f8;border-radius:6px;font-size:.9em;color:#2d3748;background:#fff}.date-range-apply-btn{padding:6px 16px;background:#4299e1;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85em;font-weight:600}.date-range-apply-btn:hover{background:#3182ce}.vacation-week-list{max-height:260px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.vacation-week-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background .15s}.vacation-week-item:last-child{border-bottom:none}.vacation-week-item:hover{background:#f7fafc}.vacation-week-item input[type=checkbox]{width:17px;height:17px;cursor:pointer;flex-shrink:0}.vacation-week-item .week-num{font-weight:600;color:#4a5568;font-size:.85em;min-width:52px}.vacation-week-item .week-dates{color:#718096;font-size:.85em;flex:1}.vacation-week-item.is-vacation{background:#fffbeb}.vacation-week-item.is-vacation .week-dates{color:#c05621}.vacation-week-item.has-holiday{border-left:3px solid #667eea}.week-holiday-name{color:#553c9a;font-style:italic;font-size:.92em}.vacation-tag{font-size:.75em;background:#ed893626;color:#c05621;padding:2px 8px;border-radius:10px;font-weight:600}.sick-week-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:#fff5f5;color:#c53030;border:1px solid #feb2b2;border-radius:8px;cursor:pointer;font-size:.95em;font-weight:500;margin-bottom:16px;transition:background .2s,border-color .2s}.sick-week-btn:hover{background:#fed7d7;border-color:#fc8181}.sick-week-btn:disabled{opacity:.5;cursor:not-allowed}.type-toggle{display:flex;gap:8px;flex-wrap:wrap}.type-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid #e2e8f0;border-radius:8px;background:transparent;color:#4a5568;font-size:.9em;font-weight:500;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:var(--primary-color, #ed64a6)}.type-btn.active{background:#ed64a61a;border-color:var(--primary-color, #ed64a6);color:#2d3748}.type-icon{font-size:1.1em}.curriculum-form .form-row{display:flex;gap:12px}.curriculum-form .form-row .form-group{flex:1}.progress-totals-row,.progress-inputs{display:flex;align-items:center;gap:10px}.progress-field{display:flex;flex-direction:column;align-items:center;gap:4px}.progress-field input{width:80px;text-align:center;padding:10px 8px;border:2px solid #e2e8f0;border-radius:8px;font-size:1.1em;font-weight:600}.progress-field input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.progress-field .progress-label{font-size:.75em;color:#718096}.progress-of{color:#a0aec0;font-weight:500;margin-top:-16px}.child-progress-section{margin-top:12px;display:flex;flex-direction:column;gap:8px}.child-progress-row{display:flex;align-items:center;gap:10px}.child-progress-name{font-size:.9em;font-weight:600;color:#4a5568;min-width:60px}.child-progress-name.kieryn{color:#9f7aea}.child-progress-name.connor{color:#4299e1}.child-progress-row .progress-field input{width:70px;padding:8px 6px;font-size:1em}.child-progress-total{font-size:.9em;color:#a0aec0;font-weight:500}.child-version-section{display:flex;flex-direction:column;gap:8px}.child-version-row{display:flex;align-items:center;gap:10px}.child-version-row input{flex:1;padding:8px 10px;border:2px solid #e2e8f0;border-radius:8px;font-size:.9em}.child-version-row input:focus{outline:none;border-color:var(--primary-color, #ed64a6)}.active-toggle{border-color:#48bb78!important}.active-toggle:has(input:checked){background:#48bb781a!important;border-color:#48bb78!important}.active-toggle input[type=checkbox]{accent-color:#48bb78!important}@media(max-width:500px){.curriculum-form .form-row{flex-direction:column;gap:0}.progress-inputs{justify-content:center}}.homeschool-curriculum{max-width:900px;margin:0 auto}.curriculum-loading{text-align:center;color:#fff9;padding:40px}.curriculum-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.curriculum-filters{display:flex;gap:8px;flex-wrap:wrap}.filter-group{display:flex;background:#0003;border-radius:8px;padding:4px}.curr-filter-btn{background:transparent;border:none;color:#fff9;padding:6px 12px;border-radius:6px;font-size:.85em;cursor:pointer;transition:all .2s;white-space:nowrap}.curr-filter-btn:hover{color:#fff}.curr-filter-btn.active{background:#667eea66;color:#fff}.curr-filter-btn.kieryn.active{background:#9f7aea66}.curr-filter-btn.connor.active{background:#4299e166}.curr-add-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:8px 16px;border-radius:8px;font-size:.9em;cursor:pointer;transition:transform .2s,box-shadow .2s;white-space:nowrap}.curr-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.curriculum-saving{text-align:center;color:#fff9;font-size:.85em;margin-bottom:12px}.curriculum-empty{background:#ffffff14;border-radius:16px;padding:60px 40px;text-align:center}.curriculum-empty .empty-icon{font-size:4em;margin-bottom:20px}.curriculum-empty h3{color:#fff;font-size:1.3em;margin:0 0 12px}.curriculum-empty p{color:#fff9;margin:0 0 24px}.curriculum-subject-group{margin-bottom:24px}.subject-group-header{display:flex;align-items:center;gap:10px;padding:10px 16px;border-left:4px solid rgba(255,255,255,.3);margin-bottom:12px}.subject-group-icon{font-size:1.3em}.subject-group-name{color:#fff;font-size:1.1em;font-weight:600}.subject-group-count{color:#fff6;font-size:.85em;margin-left:auto}.curriculum-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.curriculum-card{background:#ffffff14;border-radius:12px;padding:16px;cursor:pointer;transition:all .2s;border:1px solid transparent}.curriculum-card:hover{background:#ffffff1f;border-color:#ffffff26}.curriculum-card.inactive{opacity:.55}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.card-name{color:#fff;font-size:1.05em;font-weight:600;line-height:1.3}.card-versions{display:flex;gap:6px;margin-top:4px}.version-tag{font-size:.7em;font-weight:500;padding:2px 6px;border-radius:4px;background:#ffffff14;color:#ffffff80}.version-tag.kieryn{background:#9f7aea26;color:#b794f4}.version-tag.connor{background:#4299e126;color:#90cdf4}.card-delete{background:transparent;border:none;color:#ffffff4d;font-size:1.3em;cursor:pointer;padding:0 4px;line-height:1;transition:color .2s;flex-shrink:0}.card-delete:hover{color:#fc8181}.card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.type-badge,.child-badge,.status-badge,.cost-badge{padding:3px 8px;border-radius:4px;font-size:.75em;font-weight:500}.type-badge{background:#667eea40;color:#a3bffa}.type-badge.online{background:#38b2ac40;color:#81e6d9}.type-badge.workbook{background:#ed893640;color:#fbd38d}.child-badge{background:#ffffff1a;color:#ffffffb3}.child-badge.kieryn{background:#9f7aea40;color:#b794f4}.child-badge.connor{background:#4299e140;color:#90cdf4}.status-badge.inactive{background:#ffffff14;color:#fff6}.cost-badge{background:#48bb7833;color:#9ae6b4}.card-progress{margin-bottom:8px}.card-progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:4px}.card-progress-fill{height:100%;background:linear-gradient(90deg,#48bb78,#38a169);border-radius:3px;transition:width .3s ease}.card-progress-text{font-size:.75em;color:#ffffff80}.card-progress-multi{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.card-progress-child{display:flex;align-items:center;gap:6px}.card-progress-child-name{font-size:.7em;font-weight:700;width:14px;text-align:center;color:#ffffff80}.card-progress-child.kieryn .card-progress-child-name{color:#b794f4}.card-progress-child.connor .card-progress-child-name{color:#90cdf4}.card-progress-child .card-progress-bar{flex:1}.card-progress-fill.kieryn{background:linear-gradient(90deg,#9f7aea,#805ad5)}.card-progress-fill.connor{background:linear-gradient(90deg,#4299e1,#3182ce)}.card-progress-child .card-progress-text{min-width:45px;text-align:right}.quiz-bar{background:#ed893626!important}.card-progress-fill.quiz-fill{background:linear-gradient(90deg,#ed8936,#dd6b20)!important}.card-progress-fill.quiz-fill.kieryn{background:linear-gradient(90deg,#9f7aea,#805ad5)!important}.card-progress-fill.quiz-fill.connor{background:linear-gradient(90deg,#4299e1,#3182ce)!important}.card-bottom{display:flex;align-items:center;gap:12px;margin-top:4px}.card-update-btn{background:#667eea26;border:none;color:#a3bffa;padding:4px 10px;border-radius:6px;font-size:.75em;cursor:pointer;transition:all .2s}.card-update-btn:hover{background:#667eea4d}.card-link{display:inline-block;font-size:.8em;color:#a3bffa;text-decoration:none;transition:color .2s}.card-link:hover{color:#fff}@media(max-width:600px){.curriculum-header{flex-direction:column}.curriculum-cards{grid-template-columns:1fr}}.homeschool-hub{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.hub-header{background:#0000004d;padding:20px;text-align:center;position:relative}.hub-header .back-btn{position:absolute;left:20px;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:.9em;transition:background .2s}.hub-header .back-btn:hover{background:#fff3}.hub-header h1{margin:0 0 8px;font-size:1.8em}.hub-header h2{margin:0;font-size:1.3em;color:#a3bffa;font-weight:500}.hub-nav{display:flex;flex-direction:column;gap:8px;padding:20px;max-width:300px;margin:0 auto}.hub-nav-btn{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffffff14;border:2px solid transparent;border-radius:12px;color:#fffc;font-size:1em;cursor:pointer;transition:all .2s;text-align:left}.hub-nav-btn:hover{background:#ffffff1f;color:#fff}.hub-nav-btn.active{background:#667eea4d;border-color:#667eea80;color:#fff}.hub-nav-btn .nav-icon{font-size:1.4em}.hub-nav-btn .nav-label{font-weight:500}.hub-content{padding:0 20px 20px}@media(min-width:768px){.hub-nav{flex-direction:row;max-width:600px;justify-content:center}.hub-nav-btn{flex:1;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:20px}.hub-nav-btn .nav-icon{font-size:1.8em}}.parent-dashboard{padding:20px;max-width:1200px;margin:0 auto}.parent-header{text-align:center;margin-bottom:40px}.parent-header.main-header{background:linear-gradient(135deg,#667eea,#764ba2);margin:-20px -20px 40px;padding:50px 20px;border-radius:0;box-shadow:0 4px 20px #00000026;position:relative}.parent-header.main-header .header-content{max-width:1200px;margin:0 auto}.parent-header.main-header .logout-btn{position:absolute;top:20px;right:20px;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5);padding:10px 20px;border-radius:8px;cursor:pointer;font-size:1em;font-weight:600;transition:all .3s}.parent-header.main-header .logout-btn:hover{background:#ffffff4d;border-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.parent-header.main-header h1{font-size:3em;margin-bottom:10px;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.parent-header.main-header p{font-size:1.3em;color:#fffffff2}.parent-header h1{font-size:2.5em;margin-bottom:10px;color:#2c3e50}.parent-header p{font-size:1.2em;color:#7f8c8d}.parent-header .back-btn{float:left;background:#95a5a6;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:1em;transition:background .3s}.parent-header .back-btn:hover{background:#7f8c8d}.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:30px}.module-card{background:#fff;border:2px solid #e0e0e0;border-radius:15px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .3s;position:relative;box-shadow:0 2px 5px #0000001a}.module-card:not(.coming-soon):hover{transform:translateY(-5px);box-shadow:0 5px 15px #0003;border-color:#3498db}.module-card.coming-soon{opacity:.6;cursor:not-allowed;background:#f8f9fa}.module-icon{font-size:4em;margin-bottom:15px}.module-name{font-size:1.3em;font-weight:600;color:#2c3e50}.module-card .badge{position:absolute;top:10px;right:10px;background:#f39c12;color:#fff;padding:5px 10px;border-radius:12px;font-size:.75em;font-weight:700}.module-card .settings-gear{position:absolute;top:10px;right:10px;background:none;border:none;width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5em;cursor:pointer;transition:all .3s;z-index:10}.module-card .settings-gear:hover{transform:rotate(90deg) scale(1.15);filter:brightness(1.2)}.module-content{background:#fff;border-radius:10px;padding:30px;box-shadow:0 2px 10px #0000001a;min-height:500px}@media(max-width:768px){.parent-header h1{font-size:2em}.module-grid{grid-template-columns:1fr}.parent-header .back-btn{float:none;margin-bottom:20px}}
