*{box-sizing:border-box;margin:0;padding:0}body{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));min-height:100vh;color:var(--text-primary);padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;transition:background .6s;overflow-x:hidden}p,h1,h2,h3,h4,h5,h6,li,td,th,span,label,button{overflow-wrap:break-word;word-break:break-word}#root{flex-direction:column;max-width:1200px;min-height:calc(100vh - 40px);margin:0 auto;display:flex}.app-main{flex:1}.app-footer{border-radius:var(--radius-sm,8px);color:#ffffffa6;background:#0000002e;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;margin-top:2rem;padding:.5rem 1.25rem;font-size:.72em;display:flex}.app-footer-sep{opacity:.4}.app-footer-link{color:#ffffffbf;text-underline-offset:2px;text-decoration:underline}.app-footer-link:hover{color:#fff}.app-loading{color:#ffffffe6;letter-spacing:.05em;justify-content:center;align-items:center;min-height:100vh;font-size:1.4em;font-weight:500;display:flex}@media (width<=768px){body{padding:10px}}@media (width<=520px){body{padding:8px;padding-left:max(8px, env(safe-area-inset-left));padding-right:max(8px, env(safe-area-inset-right));padding-bottom:max(8px, env(safe-area-inset-bottom))}}body.user-kieryn{--primary-color:#9f7aea;--palette-gradient-end:#c084fc;--palette-complement:#7aea9f;--palette-light-tint:#f5f0ff;--palette-dark-accent:#6b21a8}body.user-connor{--primary-color:#c04a14;--palette-gradient-end:#00bcd4;--palette-complement:#e1a342;--palette-light-tint:#ebf8ff;--palette-dark-accent:#2c5282}:root{--primary-color:#c04a14;--primary-gradient:linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%);--palette-gradient-end:#f5a828;--palette-complement:#40a0c0;--palette-light-tint:#fff4e8;--palette-dark-accent:#3d1040;--shadow-sm:0 2px 8px #00000012;--shadow-md:0 5px 20px #0000001a;--shadow-lg:0 10px 40px #0003;--radius-lg:20px;--radius-md:12px;--radius-sm:8px;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--text-faint:#a0aec0;--color-border:#e2e8f0;--color-bg-soft:#f7fafc;--color-success:#48bb78;--color-success-dark:#38a169;--color-danger:#f56565;--color-danger-dark:#e53e3e;--transition-fast:all .15s;--transition-base:all .2s;--transition-slow:all .3s}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-shimmer{background:linear-gradient(90deg,#0000000f 25%,#0000001f 50%,#0000000f 75%) 0 0/200% 100%;animation:1.5s linear infinite skeleton-shimmer;display:block}.skeleton-card{background:#ffffff8c;border-radius:12px;flex-direction:column;gap:.55rem;padding:1rem 1.2rem;display:flex}.skeleton-list{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.async-block-error,.async-block-empty{text-align:center;color:var(--text-secondary,#718096);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2.5rem 1rem;display:flex}.async-block-error-icon,.async-block-empty-icon{font-size:2.2rem;line-height:1}.async-block-error-msg{max-width:320px;font-size:.95rem}.async-block-retry{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1.4rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.async-block-retry:hover{opacity:.88}.pin-brand-logo{object-fit:contain;width:90%;max-height:220px;margin-bottom:8px;margin-left:auto;margin-right:auto;display:block}.pin-screen{border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);background:#fff;max-width:500px;margin:100px auto;padding:40px;position:relative}.pin-menu-wrap{position:absolute;bottom:14px;right:16px}.pin-menu-trigger{color:#cbd5e0;cursor:pointer;letter-spacing:2px;border:none;border-radius:6px;padding:4px 8px;font-size:1.4em;line-height:1;background:0 0!important;margin:0!important;transition:color .2s,background .2s!important;transform:none!important}.pin-menu-trigger:hover{color:#718096;filter:none!important;background:#f7fafc!important;transform:none!important}.pin-menu-flyout{text-align:left;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:6px;min-width:180px;padding:10px;display:flex;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000001f}.pin-menu-confirm-text{color:#4a5568;text-align:center;margin:0 0 4px;font-size:.875em;font-weight:600}.pin-menu-btn{cursor:pointer;text-align:center;letter-spacing:normal;border-radius:7px;color:#4a5568!important;background:#f7fafc!important;border:1px solid #e2e8f0!important;margin:0!important;padding:8px 12px!important;font-size:.875em!important;font-weight:500!important;transition:background .15s!important;transform:none!important}.pin-menu-btn:hover{filter:none!important;background:#edf2f7!important;transform:none!important}.pin-menu-btn--danger{color:#e53e3e!important;border-color:#fed7d7!important}.pin-menu-btn--danger:hover{background:#fff5f5!important}.pin-menu-btn--masquerade{color:#c04a14!important;border-color:#c3dafe!important;font-weight:600!important}.pin-menu-btn--masquerade:hover{background:#ebf4ff!important}.pin-screen h1{color:var(--primary-color,#c04a14);margin-bottom:10px}.pin-screen p{color:#666;margin-bottom:30px}.identity-buttons{flex-direction:column;justify-content:center;gap:15px;margin-bottom:20px;display:flex}.identity-buttons .kid-btn{color:#fff;cursor:pointer;letter-spacing:.02em;border:none;border-radius:25px;padding:14px 24px;font-size:1.05em;font-weight:600;transition:filter .2s,transform .15s}.identity-buttons .kid-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.identity-buttons button.parent-btn{color:#fff;cursor:pointer;background:#718096;border:none;border-radius:25px;margin-top:6px;padding:12px 24px;font-size:1em;transition:background .2s,transform .15s}.identity-buttons button.parent-btn:hover{background:#4a5568;transform:translateY(-2px)}.identity-buttons button.parent-btn--alt{background:#6b7280;margin-top:4px}.identity-buttons button.parent-btn--alt:hover{background:#4b5563}.pin-input{text-align:center;border:3px solid var(--primary-color,#c04a14);border-radius:var(--radius-sm);letter-spacing:10px;width:300px;max-width:100%;margin:0 auto 20px;padding:15px;font-size:2em;transition:border-color .2s}.pin-error{color:#e53e3e;margin-top:10px;font-weight:600}.pin-forgot-wrap{margin-top:14px}.pin-forgot-btn{cursor:pointer;text-underline-offset:3px;letter-spacing:normal;border-radius:6px;text-decoration:underline;color:#a0aec0!important;box-shadow:none!important;filter:none!important;background:0 0!important;border:none!important;margin:0!important;padding:4px 8px!important;font-size:.85em!important;font-weight:400!important;transition:color .2s!important;transform:none!important}.pin-forgot-btn:hover:not(:disabled){color:#718096!important;filter:none!important;transform:none!important}.pin-forgot-btn:disabled{opacity:.6;cursor:default}.pin-forgot-sent{color:#38a169;margin:0;font-size:.82em}.pin-forgot-err{color:#e53e3e!important}.teen-logout-area{flex-direction:column;align-items:center;gap:8px;margin-top:24px;display:flex}.teen-logout-btn{cursor:pointer;letter-spacing:normal;color:#a0aec0!important;background:0 0!important;border:1px solid #e2e8f0!important;border-radius:8px!important;margin:0!important;padding:7px 18px!important;font-size:.85em!important;font-weight:400!important;transition:background .15s,color .15s,border-color .15s!important;transform:none!important}.teen-logout-btn:hover{color:#e53e3e!important;filter:none!important;background:#fff5f5!important;border-color:#fed7d7!important;transform:none!important}.teen-masquerade-btn{margin-bottom:4px}.teen-logout-confirm-btns{justify-content:center;gap:8px;display:flex}@media (width<=520px){.pin-screen{border-radius:var(--radius-md);margin:24px auto;padding:28px 20px}}.pin-screen button{background:var(--primary-color,#c04a14);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;margin:0 5px;padding:12px 24px;font-size:1em;font-weight:600;transition:filter .2s,transform .15s}.pin-screen button:hover{filter:brightness(1.1);transform:translateY(-2px)}.pin-screen button.back-btn{background:#718096}.pin-screen button.back-btn:hover{filter:none;background:#4a5568}.signin-card{text-align:center;background:#fff;border-radius:20px;max-width:420px;margin:100px auto;padding:40px 36px 36px;box-shadow:0 10px 40px #0003}.signin-logo{margin-bottom:10px;font-size:2.6em;line-height:1}.signin-logo-img{object-fit:contain;width:90%;max-height:220px;margin-bottom:10px;margin-left:auto;margin-right:auto;display:block}.signin-title{color:#2d3748;margin-bottom:6px;font-size:1.6em;font-weight:700}.signin-subtitle{color:#718096;margin-bottom:28px;font-size:.95em}.signin-options{flex-direction:column;gap:12px;display:flex}.signin-google-btn{color:#3c4043;cursor:pointer;background:#fff;border:2px solid #dadce0;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.97em;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.signin-google-btn:hover{background:#f8f9fa;border-color:#c6c6c6;box-shadow:0 2px 8px #0000001a}.signin-yahoo-btn{color:#fff;cursor:pointer;background:#6001d2;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.95em;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.signin-yahoo-btn:hover{background:#4e00ad;box-shadow:0 2px 8px #6001d259}.signin-yahoo-logo{border-radius:3px;flex-shrink:0;width:20px;height:20px}.signin-google-logo{flex-shrink:0;width:20px;height:20px}.signin-divider{color:#a0aec0;align-items:center;gap:10px;font-size:.85em;display:flex}.signin-divider:before,.signin-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.signin-email-btn{color:#fff;cursor:pointer;background:#718096;border:none;border-radius:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.97em;font-weight:600;transition:background .15s,transform .1s}.signin-email-btn:hover{background:#4a5568;transform:translateY(-1px)}.signin-form{text-align:left;flex-direction:column;gap:4px;display:flex}.signin-field{margin-bottom:14px}.signin-field label{color:#4a5568;margin-bottom:5px;font-size:.875em;font-weight:600;display:block}.signin-field input{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:1em;transition:border-color .2s}.signin-field input:focus{border-color:var(--primary-color,#c04a14);outline:none}.signin-error{color:#e53e3e;text-align:center;margin:0 0 10px;font-size:.875em}.signin-submit-btn{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-family:inherit;font-size:1em;font-weight:600;transition:opacity .2s,transform .1s}.signin-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.signin-submit-btn:disabled{opacity:.6;cursor:not-allowed}.signin-back-link{color:#a0aec0;cursor:pointer;background:0 0;border:none;margin-top:18px;padding:4px 8px;font-family:inherit;font-size:.875em;transition:color .15s}.signin-back-link:hover{color:#718096}@media (width<=480px){.signin-card{border-radius:16px;margin:40px auto;padding:32px 24px 28px}}.feedback-fab{cursor:pointer;z-index:900;opacity:.45;background:#0000004d;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.15em;line-height:1;transition:opacity .2s,transform .15s,background .2s;display:flex;position:fixed;bottom:20px;right:20px}.feedback-fab:hover{opacity:1;background:#0000008c;transform:scale(1.12)}.feedback-overlay{z-index:1000;background:#00000059;justify-content:flex-end;align-items:flex-end;padding:20px;display:flex;position:fixed;inset:0}.feedback-modal{background:#fff;border-radius:16px;flex-direction:column;gap:12px;width:320px;max-width:calc(100vw - 40px);padding:20px;animation:.15s ease-out feedback-slide-in;display:flex;box-shadow:0 8px 32px #00000040}@keyframes feedback-slide-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.feedback-header{justify-content:space-between;align-items:center;display:flex}.feedback-header h3{color:#2d3748;margin:0;font-size:1.05em}.feedback-close{cursor:pointer;color:#a0aec0;background:0 0;border:none;align-items:center;padding:0;font-size:1.5em;line-height:1;display:flex}.feedback-close:hover{color:#2d3748}.feedback-meta{flex-wrap:wrap;gap:6px;display:flex}.feedback-pill{color:#4a5568;background:#edf2f7;border-radius:20px;padding:3px 10px;font-size:.78em}.feedback-textarea{color:#2d3748;resize:vertical;box-sizing:border-box;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px;font-family:inherit;font-size:.9em;transition:border-color .2s}.feedback-textarea:focus{border-color:var(--primary-color,#c04a14);background:#fff;outline:none}.feedback-textarea:disabled{opacity:.6}.feedback-sent{text-align:center;color:#276749;padding:16px 0;font-size:1em}.feedback-error{color:#e53e3e;margin:0;font-size:.85em}.feedback-actions{justify-content:flex-end;gap:8px;display:flex}.feedback-cancel-btn{cursor:pointer;color:#718096;background:0 0;border:1px solid #e2e8f0;border-radius:8px;padding:8px 16px;font-size:.9em;transition:background .15s}.feedback-cancel-btn:hover{background:#f7fafc}.feedback-submit-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 18px;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{align-items:center;margin-bottom:20px;padding:14px 20px;display:flex;box-shadow:0 2px 12px #00000040,inset 0 1px #ffffff8c,inset 0 -1px #0000001f}.header .mh-left{flex:1;align-items:center;display:flex}.header-brand-logo{object-fit:contain;filter:drop-shadow(0 0 2px #fff9)drop-shadow(0 0 10px #ffffff40)drop-shadow(0 2px 6px #00000080);max-width:220px;max-height:81px}.header .mh-center{text-align:center;flex:0 auto;padding:0 16px}.header h1{color:#fff;text-shadow:1px 1px 3px #0003;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1.7em;font-weight:700;overflow:hidden}.header-back-row{justify-content:center;margin-top:4px;display:flex}.header-subtitle{color:#fffc;margin:4px 0 0;font-size:.82em;font-style:italic}.header .mh-right{flex:1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.header-action-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1.5px solid #ffffff59;border-radius:8px;padding:7px 16px;font-size:.88em;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.header-action-btn:hover{background:#ffffff47;border-color:#fff9}.header-changelog-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1rem;transition:background .15s,border-color .15s;display:flex}.header-changelog-btn:hover{background:#ffffff47;border-color:#fff9}.header-back-btn{color:#ffffffd9;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;border-radius:12px;padding:2px 8px;font-size:.85em;font-weight:600;text-decoration:underline;transition:background .15s}.header-back-btn:hover{background:#fff3}@media (width<=768px){.header h1{font-size:1.2em}.header-brand-logo{max-width:140px;max-height:52px}}@media (width<=600px){.header{flex-direction:column;align-items:center;gap:3px;margin-bottom:10px;padding:7px 12px 8px}.header .mh-left:empty{display:none}.header .mh-left{flex:none;justify-content:center;width:100%}.header-brand-logo{max-width:100px;max-height:34px}.header .mh-center{text-align:center;flex:none;width:100%;min-width:0;padding:0}.header h1{white-space:normal;text-overflow:unset;font-size:.92em;line-height:1.25}.header .mh-right{flex:none;justify-content:center;gap:6px;width:100%}.header-action-btn{padding:4px 14px;font-size:.8em}.header-changelog-btn{width:26px;height:26px;font-size:.8rem}}.module-header{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));align-items:center;margin-bottom:20px;padding:18px 24px;display:flex;box-shadow:0 2px 12px #0003}.mh-left{flex:1;align-items:center;display:flex}.module-header-logo{object-fit:contain;filter:drop-shadow(0 1px 3px #00000040);max-width:220px;max-height:81px}.mh-center{text-align:center;flex:0 auto;padding:0 16px}.module-header h1{color:#fff;text-shadow:1px 1px 3px #0003;white-space:nowrap;margin:0;font-size:1.55em;font-weight:700}.module-header h2{color:#ffffffd9;white-space:nowrap;margin:2px 0 0;font-size:1em;font-weight:400}.mh-right{flex:1;justify-content:flex-end;align-items:center;gap:10px;display:flex}.module-header .back-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1.5px solid #ffffff59;border-radius:8px;padding:7px 16px;font-size:.88em;font-weight:600;transition:all .2s}.module-header .back-btn:hover{background:#ffffff47;border-color:#fff9}.module-header .saving-indicator{color:gold;white-space:nowrap;font-size:.85em}.module-header-hint{display:none}.changelog-edit-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #ffffff4d;border-radius:6px;padding:5px 10px;font-size:.85em;transition:all .2s}.changelog-edit-btn:hover{background:#ffffff40}@media (width<=600px){.module-header{padding:10px 12px}.module-header h1{font-size:1.05em}.module-header h2{font-size:.78em}.module-header .back-btn{padding:5px 10px;font-size:.78em}}.changelog{padding:0 1rem 4rem}.changelog-loading{text-align:center;color:#718096;padding:3rem}.changelog-body{margin-top:1.5rem}.changelog-intro{color:#2d3748;background:#e2e8f0;border-radius:6px;margin-bottom:.5rem;padding:4px 14px;font-size:1.05em;font-weight:700;display:inline-block}.changelog-greeting{color:#4a5568;border-left:4px solid var(--primary-color,#c04a14);white-space:pre-wrap;background:#f7fafc;border-radius:0 8px 8px 0;margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.95em;line-height:1.7}.changelog-greeting--placeholder{color:#a0aec0;font-style:italic}.cl-section-toggle{color:#2d3748;cursor:pointer;text-align:left;background:#edf2f7;border:none;border-radius:8px;align-items:center;gap:8px;width:100%;margin:1.5rem 0 .75rem;padding:8px 14px;font-size:.95em;font-weight:700;transition:background .15s;display:flex}.cl-section-toggle:hover{background:#e2e8f0}.cl-section-chevron{color:#718096;font-size:1.1em}.cl-version-list{border-left:3px solid #e2e8f0;margin-bottom:1.5rem;padding-left:1rem}.cl-version-group{margin-bottom:.5rem}.cl-version-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:6px 4px;display:flex}.cl-version-header:hover .cl-version-label{text-decoration:underline}.cl-version-chevron{color:#718096;width:14px;font-size:1em}.cl-version-label{color:#4a5568;background:#edf2f7;border-radius:5px;padding:2px 10px;font-size:.88em;font-weight:700}.cl-version-count{color:#a0aec0;font-size:.78em}.cl-version-items{margin:4px 0 8px 24px}.changelog-section-title{display:none}.changelog-empty{color:#a0aec0;padding:1rem 0;font-style:italic}.changelog-date-group{margin-bottom:1.75rem}.changelog-date{color:#e2e8f0;text-transform:uppercase;letter-spacing:.06em;background:#2d3748;border-radius:6px;margin:0 0 .6rem;padding:3px 10px;font-size:.8em;font-weight:700;display:inline-block}.changelog-items{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.changelog-item{background:#fff;border:1px solid #f0f0f0;border-radius:6px;align-items:baseline;gap:.75rem;padding:.45rem .75rem;display:flex}.changelog-tag{text-transform:uppercase;letter-spacing:.04em;text-align:center;border-radius:8px;flex-shrink:0;min-width:84px;padding:2px 8px;font-size:.7em;font-weight:700}.tag-fix{color:#c53030;background:#f565651f;border:1px solid #f565654d}.tag-enhancement{color:#c05621;background:#ed89361f;border:1px solid #ed89364d}.tag-new{color:#276749;background:#48bb781f;border:1px solid #48bb784d}.changelog-text{color:#4a5568;font-size:.9em;line-height:1.5}.changelog-edit-btn{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #fff6;border-radius:8px;padding:6px 12px;font-size:1rem;transition:background .15s,border-color .15s;position:absolute;top:16px;right:16px}.changelog-edit-btn:hover{background:#ffffff40;border-color:#ffffffb3}.changelog-admin{flex-direction:column;gap:2rem;margin-top:1.5rem;display:flex}.admin-section h3{color:#2d3748;margin:0 0 .25rem;font-size:1em;font-weight:700}.admin-hint{color:#718096;margin:0 0 .75rem;font-size:.83em}.changelog-greeting-input{resize:vertical;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:.9em;line-height:1.6}.changelog-greeting-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.admin-date-group{margin-bottom:1.25rem}.admin-date-label{color:#718096;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.8em;font-weight:700}.admin-commit-row{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:6px;margin-bottom:6px;padding:10px 12px;transition:opacity .15s;display:flex}.admin-commit--hidden{opacity:.45;background:#f7fafc}.admin-commit-controls{align-items:center;gap:10px;display:flex}.admin-hide-toggle{color:#718096;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;font-size:.82em;display:flex}.admin-hide-toggle input{cursor:pointer}.admin-type-select{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-family:inherit;font-size:.8em}.admin-type-select:focus{border-color:var(--primary-color,#c04a14);outline:none}.admin-commit-hash{color:#a0aec0;margin-left:auto;font-family:monospace;font-size:.75em}.admin-commit-message{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:6px 10px;font-family:inherit;font-size:.88em}.admin-commit-message:focus{border-color:var(--primary-color,#c04a14);outline:none}.admin-commit-message:disabled{color:#a0aec0;background:#f7fafc}.admin-save-bar{z-index:10;background:#fff;border-top:2px solid #e2e8f0;gap:10px;padding:12px 0;display:flex;position:sticky;bottom:0}.changelog-save-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 22px;font-size:.9em;font-weight:600;transition:opacity .15s}.changelog-save-btn:hover{opacity:.88}.changelog-save-btn:disabled{opacity:.5;cursor:not-allowed}.changelog-tabs{justify-content:center;gap:10px;padding:16px 0 4px;display:flex}.changelog-tab{color:#2d3748;cursor:pointer;background:#edf2f7;border:2px solid #cbd5e0;border-radius:999px;padding:8px 22px;font-size:.9em;font-weight:600;transition:background .15s,border-color .15s,color .15s}.changelog-tab:hover{background:#e2e8f0;border-color:#a0aec0}.changelog-tab--active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.roadmap-item{align-items:center;gap:.75rem}.roadmap-vote-col{flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.roadmap-vote-btn{color:#a0aec0;cursor:pointer;background:0 0;border:1.5px solid #e2e8f0;border-radius:4px;padding:2px 5px;font-size:.65rem;line-height:1;transition:background .12s,border-color .12s,color .12s}.roadmap-vote-btn:hover{color:#4a5568;border-color:#a0aec0}.roadmap-vote-up.active{color:#276749;background:#ebf8f0;border-color:#48bb78}.roadmap-vote-down.active{color:#c53030;background:#fff5f5;border-color:#fc8181}.roadmap-vote-count{color:#4a5568;text-align:center;min-width:16px;font-size:.8em;font-weight:700}.roadmap-item-body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.roadmap-item-main{align-items:baseline;gap:.6rem;width:100%;display:flex}.roadmap-issue-link{color:#c04a14;background:#ebf4ff;border:1px solid #c3dafe;border-radius:4px;flex-shrink:0;padding:1px 5px;font-family:monospace;font-size:.78em;text-decoration:none}.roadmap-issue-link:hover{background:#c3dafe}.roadmap-issue-links{flex-wrap:wrap;flex-shrink:0;gap:4px;display:flex}.roadmap-item-meta{flex-wrap:wrap;gap:.3rem;padding-left:.1rem;display:flex}.roadmap-module-tag{color:#3d1040;background:#faf5ff;border:1px solid #d6bcfa;border-radius:6px;padding:1px 7px;font-size:.72em;font-weight:600}.roadmap-gh-label{border:1px solid;border-radius:6px;padding:1px 7px;font-size:.72em;font-weight:600}.roadmap-gh-done{color:#276749;background:#f0fff4;border-color:#9ae6b4}.roadmap-admin-row{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:8px;padding:12px;display:flex}.roadmap-admin-row-controls{align-items:center;gap:10px;display:flex}.roadmap-remove-btn{color:#e53e3e;cursor:pointer;background:0 0;border:1px solid #fed7d7;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:.8em}.roadmap-remove-btn:hover{background:#fff5f5}.roadmap-admin-fields{flex-direction:column;gap:8px;display:flex}.roadmap-field-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roadmap-field-label{color:#718096;white-space:nowrap;font-size:.78em;font-weight:600}.roadmap-issues-editor{background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;flex-wrap:wrap;flex:1;align-items:center;gap:4px;min-width:0;padding:4px 8px;display:flex}.roadmap-issues-editor:focus-within{border-color:var(--primary-color,#c04a14)}.roadmap-issue-chip{color:#2b6cb0;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-family:monospace;font-size:.8em;font-weight:600;display:inline-flex}.roadmap-issue-chip-remove{color:#90cdf4;cursor:pointer;background:0 0;border:none;margin-left:1px;padding:0;font-size:1em;line-height:1}.roadmap-issue-chip-remove:hover{color:#2b6cb0}.roadmap-issue-input{border:1.5px solid #e2e8f0;border-radius:6px;width:80px;padding:4px 8px;font-family:inherit;font-size:.88em}.roadmap-issue-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.roadmap-issue-add-input{border:none;flex-shrink:0;width:100px;padding:2px 4px;font-size:.85em}.roadmap-issue-add-input:focus{outline:none}.roadmap-date-input{border:1.5px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.88em}.roadmap-date-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.roadmap-module-select{flex:1;min-width:140px}.roadmap-desc-row{align-items:flex-start}.roadmap-desc-input{resize:vertical;box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:6px;flex:1;padding:6px 10px;font-family:inherit;font-size:.88em}.roadmap-desc-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.roadmap-add-btn{color:#718096;cursor:pointer;background:0 0;border:2px dashed #cbd5e0;border-radius:8px;width:100%;margin-top:4px;padding:8px 20px;font-size:.88em;font-weight:600;transition:border-color .15s,color .15s}.roadmap-add-btn:hover{color:#c04a14;border-color:#c04a14}.home-container{background:#fff;border-radius:20px;padding:30px;box-shadow:0 5px 20px #0000001a}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.feature-card{text-align:center;color:inherit;cursor:pointer;background:linear-gradient(135deg,#f7fafc 0%,#edf2f7 100%);border:2px solid #0000;border-radius:15px;padding:30px;text-decoration:none;transition:all .3s}.feature-card:hover{border-color:var(--primary-color,#c04a14);transform:translateY(-5px);box-shadow:0 10px 30px #00000026}.feature-card.disabled{opacity:.5;cursor:not-allowed;background:linear-gradient(135deg,#e2e8f0 0%,#cbd5e0 100%)}.feature-card.disabled:hover{box-shadow:none;border-color:#0000;transform:none}.feature-icon{margin-bottom:15px;font-size:4em}.feature-card h2{color:var(--primary-color,#c04a14);margin-bottom:10px;font-size:1.5em}.feature-card p{color:#4a5568;font-size:.95em}.feature-card.disabled h2{color:#718096}@media (width<=768px){.feature-grid{grid-template-columns:1fr}}.review-form{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.review-form-title{color:#2d3748;font-size:1rem;line-height:1.4}.review-form-author{color:var(--text-muted);font-size:.9rem}.review-form-section{flex-direction:column;gap:.4rem;display:flex}.review-form-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.star-selector{align-items:center;gap:.2rem;display:flex}.star-btn{cursor:pointer;color:#cbd5e0;background:0 0;border:none;padding:0;font-size:1.6rem;line-height:1;transition:color .1s,transform .1s}.star-btn:hover,.star-btn.star-on{color:#d97706;transform:scale(1.15)}.star-clear{cursor:pointer;color:#a0aec0;background:0 0;border:none;padding:0 .3rem;font-size:.8rem}.star-clear:hover{color:#c53030}.yesno-group{gap:.5rem;display:flex}.yesno-btn{cursor:pointer;color:#4a5568;transition:var(--transition-fast);background:#fff;border:2px solid #cbd5e0;border-radius:20px;padding:.4rem 1.25rem;font-size:.9rem}.yesno-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.yesno-selected{border-color:var(--primary-color,#c04a14);background:var(--primary-color,#c04a14);color:#fff}.review-textarea-wrap{position:relative}.no-spoilers-hint{color:#a0aec0;pointer-events:none;font-size:.72em;font-style:italic;position:absolute;bottom:6px;right:10px}.review-textarea{resize:vertical;box-sizing:border-box;color:#2d3748;border:1px solid #cbd5e0;border-radius:8px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.9rem}.review-textarea:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 2px #c04a1433}.review-form-actions{gap:.75rem;padding-top:.25rem;display:flex}.review-submit-btn{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.55rem 1.5rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.review-submit-btn:disabled{opacity:.6;cursor:not-allowed}.review-cancel-btn{color:#718096;cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:8px;padding:.55rem 1.25rem;font-size:.9rem}.review-cancel-btn:hover{background:#f7fafc}.review-required-badge{color:#c53030;font-weight:700}.review-optional-badge{color:#a0aec0;font-size:.8rem;font-weight:400}.review-parent-badge{color:#744210;vertical-align:middle;background:#fefcbf;border-radius:8px;margin-left:.35rem;padding:.1rem .4rem;font-size:.72rem;font-weight:500}.why-followup{border-left:3px solid #e2e8f0;flex-direction:column;gap:.3rem;margin-top:.5rem;padding-left:.75rem;display:flex}.why-followup-label{font-style:italic;color:#718096!important;font-size:.82rem!important}.scale-group{gap:.5rem;display:flex}.scale-option{cursor:pointer;color:var(--text-secondary);transition:var(--transition-fast);-webkit-user-select:none;user-select:none;border:2px solid #cbd5e0;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .75rem;font-size:.95rem;font-weight:600;display:flex}.scale-option input[type=radio]{display:none}.scale-option:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.scale-selected{border-color:var(--primary-color,#c04a14);background:var(--primary-color,#c04a14);color:#fff}.meter-slider-wrap{flex-direction:column;gap:.3rem;padding:.25rem .25rem 0;display:flex}.meter-slider-track{position:relative}.meter-input{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:2.5rem}.meter-input::-webkit-slider-runnable-track{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));border-radius:3px;height:6px}.meter-input::-moz-range-track{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));border-radius:3px;height:6px}.meter-input::-webkit-slider-thumb{appearance:none;cursor:pointer;background:0 0;border-radius:50%;width:2rem;height:2rem}.meter-input::-moz-range-thumb{cursor:pointer;background:0 0;border:none;border-radius:50%;width:2rem;height:2rem}.meter-emoji-knob{pointer-events:none;font-size:1.5rem;line-height:1;transition:left 50ms;position:absolute;top:50%}.meter-labels{color:#a0aec0;justify-content:space-between;padding:0 2px;font-size:.75rem;display:flex}.select-group{flex-wrap:wrap;gap:.45rem;display:flex}.select-option-btn{cursor:pointer;color:#4a5568;transition:var(--transition-fast);background:#fff;border:2px solid #cbd5e0;border-radius:20px;padding:.4rem 1rem;font-size:.88rem}.select-option-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.select-option-selected{border-color:var(--primary-color,#c04a14);background:var(--primary-color,#c04a14);color:#fff}.review-age-badge{color:#744210;background:#fefcbf;border-radius:10px;margin-left:.5rem;padding:1px 7px;font-size:.72rem;font-weight:500}.review-age-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.review-age-row-label{color:#718096;min-width:6rem;font-size:.82rem}.review-themes-tags{flex-wrap:wrap;gap:5px;min-height:1.6rem;display:flex}.review-theme-tag{color:#2b6cb0;background:#ebf4ff;border-radius:10px;align-items:center;gap:4px;padding:2px 8px 2px 10px;font-size:.75rem;display:inline-flex}.review-theme-remove{cursor:pointer;color:#90cdf4;background:0 0;border:none;padding:0;font-size:.65rem;line-height:1;transition:color .1s}.review-theme-remove:hover{color:#2b6cb0}.review-themes-empty{color:#a0aec0;font-size:.78rem;font-style:italic}.review-theme-input-row{align-items:center;gap:6px;display:flex}.review-theme-input{border:2px solid #e2e8f0;border-radius:20px;outline:none;flex:1;padding:5px 10px;font-size:.83rem;transition:border-color .15s}.review-theme-input:focus{border-color:var(--primary-color,#c04a14)}.review-theme-add-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:20px;padding:5px 12px;font-size:.85rem;transition:background .15s}.review-theme-add-btn:hover:not(:disabled){background:#5568d3}.review-theme-add-btn:disabled{color:#a0aec0;cursor:default;background:#e2e8f0}.review-cover-upload-btn{color:#4a5568;cursor:pointer;transition:var(--transition-fast);background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;align-items:center;gap:.4rem;padding:6px 14px;font-size:.85rem;display:inline-flex}.review-cover-upload-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14);background:#ebf4ff}.review-cover-preview-wrap{align-items:flex-start;gap:.75rem;display:flex}.review-cover-preview{object-fit:cover;border-radius:4px;width:60px;height:88px;box-shadow:0 2px 6px #00000026}.review-cover-remove{color:#718096;cursor:pointer;transition:var(--transition-fast);background:0 0;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:.78rem}.review-cover-remove:hover{color:#c53030;border-color:#fc8181}.review-ar-context{color:#4a5568;background:#fffaf0;border:1px solid #fbd38d;border-radius:6px;margin:0 0 .5rem;padding:6px 10px;font-size:.84rem}.review-ar-agree-label{color:#4a5568;margin-right:.4rem;font-size:.84rem}.review-ar-suggest-wrap{flex-direction:column;gap:.3rem;margin-top:.5rem;display:flex}.stats-header{background:#fff;border-radius:20px;margin-bottom:20px;padding:30px;box-shadow:0 5px 20px #0000001a}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;display:grid}.stat-card{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;text-align:center;border-radius:15px;padding:20px}.stat-value{margin-bottom:5px;font-size:2.5em;font-weight:700}@media (width<=768px){.stat-card{padding:15px}.stat-value{font-size:2em}}.section-subtitle{color:var(--text-muted);margin:-8px 0 14px;font-size:.875em;font-style:italic}.book-card{border-left:4px solid var(--primary-color,#c04a14);border-radius:var(--radius-sm);background:#f7fafc;margin-bottom:15px;padding:15px}.book-author{color:var(--text-muted);margin-bottom:10px;font-size:.9em}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;margin:10px 0;overflow:hidden}.progress-fill{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));height:100%;transition:width .3s}.book-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.page-info{color:var(--text-secondary);font-size:.9em}.empty-state{text-align:center;color:#718096;padding:40px}.empty-state-icon{margin-bottom:15px;font-size:4em}.button-group button.small{background:var(--primary-color,#c04a14);color:#fff}.button-group button.small.success{background:var(--color-success,#48bb78)}.button-group button.small.danger{background:var(--color-danger,#f56565)}@media (width<=480px){.button-group{width:100%}.button-group button.small{flex:calc(50% - 6px);min-width:0;padding:6px 4px;font-size:.8em}}.filter-buttons{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}button.filter-btn{border:2px solid var(--primary-color,#c04a14);color:var(--primary-color,#c04a14);cursor:pointer;background:#fff;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}button.filter-btn.active,button.filter-btn:hover{background:var(--primary-color,#c04a14);color:#fff;border-color:var(--primary-color,#c04a14)}.series-group{margin-bottom:30px}.series-group h3{color:var(--primary-color,#c04a14);border-bottom:1px solid #eee;margin-bottom:10px;padding-bottom:5px}.duration-tag{color:#4f46e5;background:#eef2ff;border-radius:10px;margin-left:.5rem;padding:1px 7px;font-size:.78rem;font-weight:500;display:inline-block}.modal{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal.active{display:flex}.modal-content{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:500px;max-height:90vh;padding:30px;overflow-y:auto}.modal-content.wide{max-width:720px}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.modal-header h3{color:var(--primary-color,#c04a14);margin:0}.modal-minimize-btn{color:#718096;cursor:pointer;background:0 0;border:2px solid #cbd5e0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.2em;line-height:1;transition:all .15s;display:flex}.modal-minimize-btn:hover{color:#4a5568;background:#f7fafc;border-color:#a0aec0}.task-modal-restore-pill{z-index:1100;background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-family:inherit;font-size:.95em;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 18px #00000038}.task-modal-restore-pill:hover{transform:translate(-50%)translateY(-2px);box-shadow:0 6px 24px #00000047}@media (width<=520px){.task-modal-restore-pill{bottom:max(16px, env(safe-area-inset-bottom));padding:11px 20px;font-size:.9em}}.form-group label,.form-group .form-label{color:var(--text-secondary);margin-bottom:8px;font-weight:600;display:block}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group textarea{border:2px solid var(--color-border);border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:1em}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color,#c04a14);outline:none}.form-group label:has(input[type=checkbox]){cursor:pointer;align-items:center;margin-bottom:0;font-weight:400;display:flex}.form-group input[type=checkbox]{flex-shrink:0;margin-right:8px}.form-group select{border:2px solid var(--color-border);background:#fff;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:1em}.form-group select:focus{border-color:var(--primary-color,#c04a14);outline:none}.radio-group{flex-wrap:wrap;gap:20px;display:flex}.radio-option{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;display:flex}.radio-option input[type=radio]{cursor:pointer;width:18px;height:18px;accent-color:var(--primary-color,#c04a14);margin:0}.radio-option span{font-weight:500}.checkbox-group{flex-wrap:wrap;gap:12px;display:flex}.checkbox-option{cursor:pointer;color:#4a5568;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;transition:all .2s;display:flex}.checkbox-option:hover{border-color:var(--primary-color,#c04a14)}.checkbox-option:has(input:checked){border-color:var(--primary-color,#c04a14);background:#ed64a61a}.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 input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:var(--primary-color,#c04a14);margin:0}.checkbox-option span{font-weight:500}.checkbox-option--day{align-items:center}.day-label-stack{flex-direction:column;align-items:center;gap:4px;font-weight:500;display:flex}.day-holiday-pill{color:#92400e;white-space:nowrap;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;padding:1px 7px;font-size:.68em;font-weight:600;line-height:1.4;display:block}.day-skip-pill{color:#2b6cb0;white-space:nowrap;background:#ebf4ff;border:1px solid #bee3f8;border-radius:10px;padding:1px 7px;font-size:.68em;font-weight:600;line-height:1.4;display:block}.form-hint{color:var(--text-muted);margin-top:6px;font-size:.85em}.task-form-no-kids{color:#c0392b;margin:4px 0 0;font-size:.9em}.checkbox-stack{flex-direction:column;gap:10px;display:flex}.checkbox-row{cursor:pointer;align-items:flex-start;gap:10px;font-weight:400;display:flex}.checkbox-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color,#c04a14);cursor:pointer;flex-shrink:0;margin-top:3px}.checkbox-row-content{flex-direction:column;gap:2px;display:flex}.checkbox-row-label{color:var(--text-secondary);font-size:.95em;font-weight:500}.checkbox-row-hint{color:var(--text-muted);font-size:.8em;font-style:italic}.week-selector{align-items:center;gap:8px;display:flex}.week-nav-btn{color:var(--primary-color,#c04a14);cursor:pointer;background:#c04a1426;border:2px solid #c04a144d;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1em;font-weight:600;transition:all .2s;display:flex}.week-nav-btn:hover:not(:disabled){background:#c04a1440;border-color:#c04a1480}.week-nav-btn:disabled{opacity:.4;cursor:not-allowed}.week-display{text-align:center;color:var(--text-secondary);background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:8px;flex:1;padding:10px 16px;font-weight:600}.curriculum-quick-pick{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.quick-pick-btn{background:var(--color-bg-soft);border:2px solid var(--color-border);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:.8em;transition:all .2s}.quick-pick-btn:hover{border-color:var(--primary-color,#c04a14);background:#ed64a60d}.quick-pick-btn.active{border-color:var(--primary-color,#c04a14);color:#2d3748;background:#ed64a61a;font-weight:600}.book-lookup{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:10px;margin-bottom:20px;padding:12px 14px}.isbn-row{align-items:center;gap:8px;display:flex}.isbn-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1;min-width:0;padding:10px 12px;font-family:inherit;font-size:.95em}.isbn-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.isbn-search-btn{white-space:nowrap;background:var(--primary-color,#c04a14);border-radius:8px;flex-shrink:0;padding:10px 16px;font-size:.9em}.isbn-search-btn:hover:not(:disabled){background:#5568d3}.isbn-search-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.isbn-camera-btn{background:var(--primary-color,#c04a14);border-radius:8px;flex-shrink:0;padding:10px 12px;font-size:1.1em;line-height:1}.isbn-camera-btn:hover:not(:disabled){background:#5568d3}.isbn-camera-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.isbn-error{color:#e53e3e;margin-top:8px;font-size:.85em}.format-selector{flex-wrap:wrap;gap:6px;display:flex}.format-btn{color:#4a5568;cursor:pointer;background:#fff;border:2px solid #cbd5e0;border-radius:20px;padding:6px 14px;font-size:.88em;transition:all .15s}.format-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.format-btn-selected{border-color:var(--primary-color,#c04a14);background:var(--primary-color,#c04a14);color:#fff}.task-info{color:#2d3748;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:12px 16px}.reschedule-preview{color:#4a5568;text-align:center;background:#c04a141a;border-radius:8px;margin-bottom:20px;padding:12px 16px}.reschedule-preview strong{color:var(--primary-color,#c04a14)}.reschedule-day-off-warning{text-align:center;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.875em;font-weight:600}.reschedule-day-off-warning.vacation{color:#63b3ed;background:#63b3ed26;border:1px solid #63b3ed66}.reschedule-day-off-warning.holiday{color:#f6ad55;background:#fbbf2426;border:1px solid #fbbf2466}@media (width<=520px){.modal{padding:8px;padding-bottom:max(8px, env(safe-area-inset-bottom));align-items:flex-end}.modal-content{border-radius:18px 18px 10px 10px;max-height:92vh;padding:20px 16px}.isbn-row{flex-wrap:wrap;gap:8px}.isbn-input{flex-basis:100%;width:100%}.isbn-search-btn{flex:1}.format-btn{padding:8px 16px;font-size:.92em}.modal-content .button-group{flex-direction:column}.modal-content .button-group button{width:100%}}.book-library{padding:0}.library-search{border:2px solid var(--primary-color,#c04a14);box-sizing:border-box;border-radius:20px;outline:none;width:100%;margin-bottom:20px;padding:10px 14px;font-size:.95em}.library-search:focus{border-color:#5568d3}.library-status{color:#718096;text-align:center;background:#fff;border-radius:20px;padding:40px;box-shadow:0 5px 20px #0000001a}.library-tree{overflow:hidden;padding:0!important}.lib-author-block{border-bottom:1px solid #f0f0f0}.lib-author-block:last-child{border-bottom:none}.lib-author-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:14px 20px;transition:background .15s;display:flex}.lib-author-row:hover{background:#f7fafc}.lib-author-name{color:var(--primary-color,#c04a14);font-size:1.05em;font-weight:700}.lib-series-block{border-top:1px solid #f7fafc}.lib-series-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 20px 10px 40px;transition:background .15s;display:flex}.lib-series-row:hover{background:#eef2ff}.lib-series-name{color:var(--primary-color,#c04a14);flex:1;font-size:.95em;font-weight:600}.lib-series-count{color:#a0aec0;font-size:.8em}.lib-books-group,.lib-standalone-group{background:#f7fafc;border-top:1px solid #edf2f7}.lib-book-row{border-bottom:1px solid #edf2f7;flex-direction:column;padding:9px 20px 9px 60px;display:flex}.lib-book-row-main{justify-content:space-between;align-items:flex-start;gap:.65rem;display:flex}.lib-standalone-group .lib-book-row{padding-left:44px}.lib-book-row:last-child{border-bottom:none}.lib-book-title{color:#2d3748;font-size:.9em}.lib-chevron{color:#a0aec0;flex-shrink:0;width:12px;font-size:.75em}.library-pages-field{flex-direction:column;gap:2px;display:flex}.library-pages-label{color:#718096;white-space:nowrap;font-size:.75em}.library-pages-field input{width:100px}.add-to-list-btn{border:2px solid var(--primary-color,#c04a14);color:var(--primary-color,#c04a14);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;flex-shrink:0;padding:4px 12px;font-size:.82em;font-weight:600;transition:all .2s}.add-to-list-btn:hover{background:var(--primary-color,#c04a14);color:#fff}.library-add-form{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.library-add-form select,.library-add-form input{border:2px solid var(--primary-color,#c04a14);background:#fff;border-radius:8px;padding:5px 8px;font-size:.82em}.library-add-form input{width:130px}.library-add-error{color:#c53030;width:100%;font-size:.78rem}.library-add-actions{gap:6px;display:flex}.confirm-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:5px 14px;font-size:.82em;font-weight:600;transition:background .2s}.confirm-btn:hover{background:#5568d3}.cancel-small-btn{color:#718096;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:5px 10px;font-size:.82em;transition:all .2s}.cancel-small-btn:hover{border-color:#718096}.lib-book-title-row{align-items:center;gap:.5rem;min-width:0;display:flex;overflow:hidden}.lib-reviews-toggle{color:#3d1040;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #e9d8fd;border-radius:10px;flex-shrink:0;padding:.1rem .45rem;font-size:.72rem}.lib-reviews-toggle:hover{background:#faf5ff}.lib-reviews-panel{flex-direction:column;gap:.4rem;margin:.4rem 0 .5rem 1rem;display:flex}.lib-reviews-loading,.lib-reviews-empty{color:#a0aec0;margin:0;font-size:.8rem;font-style:italic}.lib-review-item{background:#f7fafc;border-radius:8px;padding:.45rem .65rem}.lib-review-header{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.25rem;display:flex}.lib-reviewer{color:#3d1040;font-size:.83rem;font-weight:600}.lib-stars{color:#d97706;letter-spacing:-1px;font-size:.82rem}.lib-review-role{color:#718096;margin-left:auto;font-size:.72rem}.lib-review-responses{flex-direction:column;gap:.3rem;display:flex}.lib-review-response{flex-direction:column;gap:.1rem;display:flex}.lib-review-question{color:#718096;font-size:.72rem;font-style:italic}.lib-review-answer{color:#2d3748;font-size:.83rem}.lib-review-why{border-left:2px solid #e2e8f0;margin-top:.2rem;padding-left:.5rem}.lib-meter-bar{align-items:center;gap:.35rem;font-size:.9rem;display:flex}.lib-meter-track{background:#e2e8f0;border-radius:3px;flex:1;max-width:120px;height:6px;overflow:hidden}.lib-meter-fill{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));border-radius:3px;height:100%}.lib-meter-pct{color:#3d1040;font-size:.78rem;font-weight:600}.lib-cover-thumb{object-fit:cover;border-radius:3px;align-self:flex-start;width:36px;min-width:36px;height:54px;box-shadow:0 1px 4px #00000026}.lib-book-title-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.lib-pub-year{color:#a0aec0;flex-shrink:0;font-size:.75em}.lib-meta-row{flex-wrap:wrap;align-items:center;gap:4px;margin-top:3px;display:flex}.lib-age-badge{color:#276749;white-space:nowrap;background:#f0fff4;border:1px solid #9ae6b4;border-radius:10px;padding:1px 7px;font-size:.7em;font-weight:600}.lib-ar-badge{color:#7b341e;white-space:nowrap;background:#fffaf0;border:1px solid #fbd38d;border-radius:10px;padding:1px 7px;font-size:.7em;font-weight:600}.lib-genre-tag{color:#2b6cb0;white-space:nowrap;background:#ebf4ff;border-radius:10px;padding:1px 7px;font-size:.7em}.lib-about-panel{flex-direction:column;gap:.4rem;margin:.4rem 0 .3rem 1rem;display:flex}.lib-about-description{color:#4a5568;margin:0;font-size:.82rem;line-height:1.5}.lib-subject-tags{flex-wrap:wrap;gap:4px;display:flex}.lib-subject-tag{color:#276749;white-space:nowrap;background:#f0fff4;border:1px solid #c6f6d5;border-radius:10px;padding:1px 7px;font-size:.68em}.lib-il-badge{color:#3d1040;white-space:nowrap;background:#e9d8fd;border:1px solid #d6bcfa;border-radius:10px;padding:1px 7px;font-size:.7em;font-weight:600}.lib-il-badge-full{font-size:.95em;font-weight:400}.lib-ar-section{background:#fffaf0;border:1px solid #fbd38d;border-radius:8px;flex-direction:column;gap:6px;padding:8px 12px;display:flex}.lib-ar-section-header{color:#7b341e;text-transform:uppercase;letter-spacing:.05em;font-size:.72em;font-weight:700}.lib-ar-fields{flex-wrap:wrap;gap:8px 20px;display:flex}.lib-ar-field{align-items:center;gap:5px;display:flex}.lib-ar-field-label{color:#a16207;font-size:.7em;font-weight:600}.lib-ar-value{color:#4a3000;font-size:.78em}.lib-ar-topics{flex-wrap:wrap;gap:4px;display:flex}.lib-topic-tag{color:#713f12;white-space:nowrap;background:#fef9c3;border:1px solid #fde68a;border-radius:10px;padding:1px 7px;font-size:.68em}.lib-filter-bar{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-bottom:16px;padding:10px 14px;display:flex}.lib-filter-group{flex-direction:column;gap:3px;display:flex}.lib-filter-label{color:#718096;text-transform:uppercase;letter-spacing:.04em;font-size:.7em;font-weight:600}.lib-filter-atos{border:1.5px solid #cbd5e0;border-radius:8px;outline:none;width:70px;padding:4px 8px;font-size:.85em}.lib-filter-atos:focus{border-color:var(--primary-color,#c04a14)}.lib-filter-pills{gap:4px;display:flex}.lib-filter-pill{color:#4a5568;cursor:pointer;background:#fff;border:1.5px solid #cbd5e0;border-radius:12px;padding:3px 9px;font-size:.78em;font-weight:600;transition:all .15s}.lib-filter-pill:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.lib-filter-pill-active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.lib-filter-pill-active:hover{color:#fff}.lib-filter-select{background:#fff;border:1.5px solid #cbd5e0;border-radius:8px;outline:none;padding:4px 8px;font-size:.85em}.lib-filter-select:focus{border-color:var(--primary-color,#c04a14)}.lib-filter-clear{color:#c53030;cursor:pointer;background:#fff;border:1.5px solid #fc8181;border-radius:12px;align-self:flex-end;padding:4px 12px;font-size:.78em;font-weight:600;transition:all .15s}.lib-filter-clear:hover{background:#fff5f5}.lib-review-tab-row{gap:.4rem;margin-bottom:.4rem;display:flex}.lib-review-tab-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:12px;padding:.2rem .65rem;font-size:.78rem;transition:all .15s}.lib-review-tab-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.lib-review-tab-active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.lib-review-tab-active:hover{color:#fff}.lib-librarian-edit-panel{background:#f8fafc;border-top:1px solid #e2e8f0;flex-direction:column;gap:.6rem;max-width:700px;padding:.75rem .5rem .75rem .75rem;display:flex}.lib-edit-cover-empty{color:#999;text-align:center;background:#eee;border-radius:3px;justify-content:center;align-items:center;width:60px;height:80px;font-size:.7rem;display:flex}.lib-admin-genre-tag{color:#2b6cb0;white-space:nowrap;background:#ebf4ff;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:.78rem;display:inline-flex}.lib-themes-label{color:#718096;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.book-reviews{flex-direction:column;gap:.75rem;padding:0 1rem 1rem;display:flex}.br-status{text-align:center;color:var(--text-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:2rem 1rem}.br-review-form-wrap{margin-bottom:0}.br-book-card{overflow:hidden;padding:0!important}.br-book-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.br-book-header:hover{background:#f7fafc}.br-chevron{color:var(--text-muted);flex-shrink:0;width:14px;font-size:.8rem}.br-book-info{flex:1;min-width:0}.br-book-title{color:var(--text-primary);font-size:.95rem;font-weight:700}.br-book-author{color:var(--text-muted);font-size:.85rem}.br-review-count{color:var(--text-faint);white-space:nowrap;font-size:.75rem}.br-book-body{border-top:1px solid #edf2f7}.br-tab-row{background:#f7fafc;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.br-tab-btn{cursor:pointer;color:#4a5568;background:#fff;border:1px solid #cbd5e0;border-radius:16px;padding:.3rem .85rem;font-size:.82rem;transition:all .15s}.br-tab-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.br-tab-active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.br-tab-active:hover{color:#fff}.br-write-btn{cursor:pointer;color:#276749;background:#fff;border:1px solid #48bb78;border-radius:16px;margin-left:auto;padding:.3rem .85rem;font-size:.82rem;transition:all .15s}.br-write-btn:hover{color:#fff;background:#48bb78}.br-reviews-panel{flex-direction:column;gap:.5rem;padding:.5rem 1rem .75rem;display:flex}.br-no-reviews{color:var(--text-faint);margin:.25rem 0;font-size:.85rem;font-style:italic}.br-review-item{background:#f7fafc;border-radius:8px;padding:.6rem .75rem}.br-review-item-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.br-reviewer{color:#3d1040;font-size:.88rem;font-weight:600}.br-stars{color:#d97706;letter-spacing:-1px;font-size:.9rem}.br-date{color:var(--text-faint);margin-left:auto;font-size:.75rem}.br-actions{gap:.35rem;display:flex}.br-btn{cursor:pointer;color:#2d3748;background:#fff;border:1px solid #cbd5e0;border-radius:5px;padding:.15rem .45rem;font-size:.72rem}.br-btn:hover{background:#f7fafc}.br-btn--danger{color:#c53030;border-color:#fc8181}.br-btn--danger:hover{background:#fff5f5}.br-responses{flex-direction:column;gap:.4rem;margin-top:.5rem;padding-left:.25rem;display:flex}.br-response{flex-direction:column;gap:.1rem;display:flex}.br-question{color:#718096;font-size:.75rem;font-style:italic}.br-answer{color:#2d3748;font-size:.875rem}.br-edited{color:#a0aec0;font-size:.72rem;font-style:italic}.br-why-followup{border-left:2px solid #e2e8f0;margin-top:.25rem;padding-left:.6rem}.br-why-question{font-style:italic}.br-why-answer-row{margin-top:.2rem}.br-meter-bar{align-items:center;gap:.4rem;margin-top:.15rem;display:flex}.br-meter-emoji{font-size:1rem;line-height:1}.br-meter-track{background:#e2e8f0;border-radius:4px;flex:1;height:8px;overflow:hidden}.br-meter-fill{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));border-radius:4px;height:100%;transition:width .3s}.br-meter-pct{color:#3d1040;white-space:nowrap;font-size:.8rem;font-weight:600}.br-toolbar{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.br-toolbar-count{color:var(--text-secondary);font-size:.8rem}.br-toggle-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:12px;padding:.25rem .7rem;font-size:.78rem}.br-toggle-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.br-kids-blended{flex-direction:column;gap:.6rem;display:flex}.br-blended-avg-rating{background:#fffbeb;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .5rem;display:flex}.br-blended-stat-note{color:#92400e;font-size:.78rem}.br-agg-item{background:#f7fafc;border-radius:8px;flex-direction:column;gap:.2rem;padding:.5rem .75rem;display:flex}.br-agg-note{color:#a0aec0;font-size:.72rem}.br-yesno-tally{gap:1rem;font-size:.88rem;font-weight:600;display:flex}.br-tally-yes{color:#276749}.br-tally-no{color:#c53030}.br-select-tally{flex-wrap:wrap;gap:.4rem;display:flex}.br-tally-option{color:#2b6cb0;background:#ebf4ff;border-radius:10px;padding:2px 8px;font-size:.8rem}.br-blended-quotes{flex-direction:column;gap:.5rem;display:flex}.br-quote-item{background:#f7fafc;border-radius:8px;flex-direction:column;gap:.15rem;padding:.5rem .75rem;display:flex}.br-quote-why{background:0 0;border-left:3px solid #e2e8f0;margin-left:.75rem;padding-left:.75rem}.br-quote-text{color:#2d3748;margin:0;font-size:.88rem;font-style:italic}.br-quote-attr{color:#a0aec0;text-align:right;font-size:.72rem}.br-blended-manage{border-top:1px solid #edf2f7;flex-direction:column;gap:.35rem;margin-top:.25rem;padding-top:.5rem;display:flex}.br-blended-manage-header{color:#a0aec0;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}.br-blended-manage-row{align-items:center;gap:.5rem;display:flex}.br-blended-manage-label{color:#4a5568;flex:1;font-size:.8rem}.seed-result{color:#2e7d32;margin-top:.5rem;font-size:.85rem}.module-header .back-btn--sm{color:#fff;cursor:pointer;background:#ffffff26;border:1.5px solid #ffffff59;border-radius:8px;padding:6px 14px;font-size:.85em;font-weight:600;transition:all .2s;position:absolute;top:20px;right:20px}.module-header .back-btn--sm:hover{background:#ffffff40;border-color:#fff9;transform:none}.module-header-hint{color:#ffffffbf;margin:10px 0 0;font-size:.82em;font-style:italic}.section{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:#fff;margin-bottom:20px;padding:25px}.section h2{color:var(--primary-color,#c04a14);margin-bottom:20px;font-size:1.5em}.button-group{flex-wrap:wrap;gap:10px;display:flex}button{background:var(--primary-color,#c04a14);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-slow);border:none;padding:12px 24px;font-size:1em;font-weight:600}button:hover{background:#5568d3;transform:translateY(-2px)}button.filter-btn{color:var(--primary-color,#c04a14);border:2px solid var(--primary-color,#c04a14);background:#fff;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:500;transform:none}button.filter-btn:hover,button.filter-btn.active{background:var(--primary-color,#c04a14);color:#fff;border-color:var(--primary-color,#c04a14)}button.small{padding:8px 16px;font-size:.9em}button.success{background:var(--color-success)}button.success:hover{background:var(--color-success-dark)}button.danger{background:var(--color-danger)}button.danger:hover{background:var(--color-danger-dark)}@media (width<=520px){.button-group:not(:has(button.small)){flex-direction:column}.button-group:not(:has(button.small)) button{width:100%}.section{border-radius:var(--radius-md);margin-bottom:12px;padding:16px}.section h2{margin-bottom:14px;font-size:1.2em}.module-header{padding:28px 16px 20px}.module-header h1{font-size:1.5em}.module-header h2{font-size:1.1em}}.kid-hub-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;max-width:1200px;margin:0 auto;padding:1.5rem;display:grid}.kid-hub-card{text-align:center;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:16px;padding:2rem 1.5rem;font-family:inherit;transition:all .2s;box-shadow:0 2px 8px #0000000f}.kid-hub-card:hover{border-color:var(--primary-color,#c04a14);transform:translateY(-2px);box-shadow:0 6px 20px #c04a1426}.kid-hub-card-icon{margin-bottom:.75rem;font-size:2.5rem}.kid-hub-card-name{color:#2d3748;margin:0 0 .4rem;font-size:1.1rem;font-weight:700}.kid-hub-card-desc{color:#718096;margin:0;font-size:.85rem;line-height:1.4}.kid-hub-section-content{padding:.5rem 0}.kmb-page{color:#e2e8f0;background:#0a0a12;flex-direction:column;gap:24px;max-width:600px;min-height:100vh;margin:0 auto;padding:20px;display:flex}.kmb-classified-header{text-align:center;padding:20px 10px 10px;position:relative}.kmb-back-btn{color:#0f89;letter-spacing:.05em;font-size:.8em;font-weight:700;text-decoration:none;position:absolute;top:20px;left:0}.kmb-back-btn:hover{color:#0f8}.kmb-classified-header h1{letter-spacing:.06em;color:#0f8;text-shadow:0 0 20px #0f86;text-transform:uppercase;margin:0 0 8px;font-size:1.6em;font-weight:900}.kmb-classified{letter-spacing:.15em;color:#00ff8880;text-transform:uppercase;font-size:.72em;font-weight:700}.kmb-balance-bar{color:#0f8;background:#00ff8812;border:1px solid #00ff8826;border-radius:10px;justify-content:center;gap:20px;padding:10px 20px;font-size:.95em;font-weight:700;display:flex}.kmb-tabs{background:#ffffff0a;border-radius:10px;gap:4px;padding:4px;display:flex}.kmb-tab{color:#fff6;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:9px 12px;font-size:.85em;font-weight:700;transition:all .2s}.kmb-tab:hover{color:#ffffffb3}.kmb-tab.active{color:#0f8;background:#00ff881f}.kmb-section{flex-direction:column;gap:12px;display:flex}.kmb-section-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;margin-bottom:-4px;font-size:.7em;font-weight:800}.kmb-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:10px;padding:16px 18px;transition:border-color .2s;display:flex}.kmb-card--claimed{background:#63b3ed0d;border-color:#63b3ed59}.kmb-card--completed{background:#f6ad550a;border-color:#f6ad5559}.kmb-card--approved{opacity:.7;background:#48bb780a;border-color:#48bb784d}.kmb-card--rejected{opacity:.7;background:#fc81810a;border-color:#fc81814d}.kmb-card-top{align-items:center;gap:8px;display:flex}.kmb-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kmb-status-label{text-transform:uppercase;letter-spacing:.08em;color:#fff6;font-size:.7em;font-weight:700}.kmb-riddle p{color:#e2e8f0;margin:0;font-size:1em;font-style:italic;line-height:1.65}.kmb-riddle-pending{color:#ffffff4d!important;font-size:.85em!important;font-style:normal!important}.kmb-reward{color:#f6ad55;font-size:.82em;font-weight:600}.kmb-rejection-note{color:#fc8181;background:#fc818114;border-radius:6px;padding:6px 10px;font-size:.8em}.kmb-expiry-warning{color:#f6ad55;background:#f6ad551a;border:1px solid #f6ad554d;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:.8em;font-weight:600}.kmb-hint-btn{color:#ffffff59;cursor:pointer;background:0 0;border:1px dashed #ffffff26;border-radius:6px;align-self:flex-start;padding:4px 12px;font-size:.75em;transition:all .15s}.kmb-hint-btn:hover{color:#fff9;border-color:#ffffff4d}.kmb-hint-text{color:#fff6;background:#ffffff0a;border-radius:6px;padding:6px 10px;font-size:.8em}.kmb-cta{cursor:pointer;letter-spacing:.02em;border:none;border-radius:10px;padding:11px 18px;font-size:.9em;font-weight:700;transition:all .2s}.kmb-cta--claim{color:#63b3ed;background:linear-gradient(135deg,#1a365d,#2c5282);border:1px solid #63b3ed66}.kmb-cta--claim:hover:not(:disabled){background:linear-gradient(135deg,#2c5282,#2b6cb0);box-shadow:0 4px 16px #63b3ed33}.kmb-cta--complete{color:#68d391;background:linear-gradient(135deg,#1c4532,#276749);border:1px solid #48bb7866}.kmb-cta--complete:hover:not(:disabled){background:linear-gradient(135deg,#276749,#2f855a);box-shadow:0 4px 16px #48bb7833}.kmb-cta--abandon{color:#fc818199;background:0 0;border:1px solid #fc818140;padding:8px 14px;font-size:.8em}.kmb-cta--abandon:hover:not(:disabled){color:#fc8181;border-color:#fc818180}.kmb-cta:disabled{opacity:.4;cursor:not-allowed}.kmb-loading,.kmb-empty{text-align:center;color:#fff6;padding:60px 20px}.kmb-retry{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;margin-top:16px;padding:8px 20px}.kmb-footer{text-align:center;color:#fff3;letter-spacing:.04em;padding-bottom:20px;font-size:.72em}.kr-page{flex-direction:column;gap:20px;display:flex}.kr-balance-bar{color:#0f8;background:#00ff8812;border:1px solid #00ff8826;border-radius:10px;justify-content:center;gap:20px;padding:10px 20px;font-size:.95em;font-weight:700;display:flex}.kr-section-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffff4d;margin-bottom:-8px;font-size:.7em;font-weight:800}.kr-catalog{flex-direction:column;gap:12px;display:flex}.kr-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;flex-direction:column;gap:8px;padding:14px 18px;display:flex}.kr-card--locked{opacity:.55}.kr-card-name{color:#e2e8f0;font-size:1em;font-weight:700}.kr-card-desc{color:#ffffff73;font-size:.85em}.kr-card-bottom{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.kr-card-cost{color:#f6ad55;font-size:.85em;font-weight:700}.kr-redeem-btn{color:#68d391;cursor:pointer;background:linear-gradient(135deg,#1c4532,#276749);border:1px solid #48bb7866;border-radius:8px;padding:8px 16px;font-size:.85em;font-weight:700;transition:all .2s}.kr-redeem-btn:hover:not(:disabled){background:linear-gradient(135deg,#276749,#2f855a);box-shadow:0 4px 16px #48bb7833}.kr-redeem-btn:disabled{opacity:.4;cursor:not-allowed}.kr-history{flex-direction:column;gap:6px;display:flex}.kr-history-row{background:#ffffff08;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.82em;display:flex}.kr-history-note{color:#fff9;flex:1}.kr-history-amount{white-space:nowrap;font-weight:700}.kr-history-amount.pos{color:#68d391}.kr-history-amount.neg{color:#fc8181}.kr-history-date{color:#ffffff40;white-space:nowrap;font-size:.9em}.countdowns{max-width:1200px;margin:0 auto;padding:20px}.section h2{color:#2d3748;margin-bottom:20px}.countdowns-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.add-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:1em;font-weight:600;transition:background .3s}.add-btn:hover{background:#2c5282}.event-form{background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;margin-bottom:30px;padding:24px}.event-form h3{color:#2d3748;margin:0 0 20px}.form-group{margin-bottom:16px}.form-group label{color:#4a5568;margin-bottom:8px;font-weight:500;display:block}.form-group input{border:2px solid #e2e8f0;border-radius:8px;width:100%;padding:12px;font-size:1em;transition:border-color .3s}.form-group input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #3182ce1a}.form-actions{gap:12px;margin-top:20px;display:flex}.save-btn{color:#fff;cursor:pointer;background:#38a169;border:none;border-radius:8px;padding:12px 24px;font-size:1em;font-weight:600;transition:background .3s}.save-btn:hover{background:#2f855a}.cancel-btn{color:#fff;cursor:pointer;background:#718096;border:none;border-radius:8px;padding:12px 24px;font-size:1em;font-weight:600;transition:background .3s}.cancel-btn:hover{background:#4a5568}.countdowns-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.countdown-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 6px #0000001a}.countdown-card.birthday-card{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border:2px solid #fbbf24}.countdown-card.birthday-card h3{color:#92400e}.countdown-card.school-end-card{background:linear-gradient(135deg,#f0fff4 0%,#c6f6d5 100%);border:2px solid #68d391}.countdown-card.school-end-card h3{color:#276749}.countdown-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.countdown-header h3{color:#2d3748;flex:1;margin:0;font-size:1.2em}.card-actions{gap:8px;display:flex}.edit-btn,.delete-btn,.renew-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:1.2em;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;margin-bottom:12px;font-size:.9em}.countdown{color:var(--primary-color,#c04a14);font-size:2em;font-weight:700}.no-events{text-align:center;color:#718096;grid-column:1/-1;padding:60px 20px}.no-events p{margin:10px 0;font-size:1.1em}@media (width<=768px){.countdowns-header{flex-direction:column;align-items:stretch;gap:15px}.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;color:#718096;padding:60px 20px}.loading p{font-size:1.1em}.task-card{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;color:#2d3748;background:#f7fafc;border-radius:12px;align-items:flex-start;gap:16px;min-height:60px;margin-bottom:8px;padding:16px;transition:all .2s;display:flex}.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{color:#718096;text-decoration:line-through}.task-checkbox{flex-shrink:0;position:relative}.task-checkbox input{opacity:0;width:0;height:0;position:absolute}.checkbox-display{background:#fff;border:3px solid #cbd5e0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.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{margin-bottom:6px;font-size:1.1em;font-weight:500;line-height:1.3;color:#2d3748!important}.task-card .task-description-text{color:#4a5568;margin-bottom:6px;font-size:.9em;line-height:1.4}.task-card.completed .task-description-text{color:#a0aec0}.task-badges{flex-wrap:wrap;gap:6px;display:flex}.task-card .badge{border-radius:6px;padding:3px 8px;font-size:.75em;font-weight:600}.task-card .badge.day{background:#e2e8f0;color:#4a5568!important}.task-card .badge.type{background:#ffe8d0;color:#3d1040!important}.task-card .badge.type.with_mom,.task-card .badge.type.with_parent{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{color:#ed8936;cursor:pointer;background:#ed893633;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.4em;font-weight:700;transition:all .2s;display:flex}.task-card .push-button:hover{color:#dd6b20;background:#ed89364d}.task-card .push-button:active{transform:scale(.95)}.task-card .push-button.disabled,.task-card .push-button:disabled{color:#a0aec0;cursor:not-allowed;background:#a0aec033}.task-card .push-button.disabled:hover,.task-card .push-button:disabled:hover{color:#a0aec0;background:#a0aec033}.task-card .push-button.disabled:active,.task-card .push-button:disabled:active{transform:none}.task-subject-indicator{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2em;display:flex}@media (width<=600px){.task-card{gap:12px;padding:14px}.checkbox-display{width:28px;height:28px}.task-title{font-size:1em}.task-subject-indicator{width:32px;height:32px;font-size:1em}}.task-grade-btn{color:#c04a14;cursor:pointer;background:#c84b111a;border:1.5px solid #c84b114d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1em;transition:background .15s,border-color .15s;display:flex}.task-grade-btn:hover{background:#c84b1133;border-color:#c04a14}.badge.due-date-badge{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.72em;font-weight:700}.badge.due-date-badge.due-safe{color:#9ae6b4;background:#48bb7833}.badge.due-date-badge.due-warning{color:#f6e05e;background:#edd34033}.badge.due-date-badge.due-urgent{color:#fc8181;background:#fc818133}.badge.due-date-badge.due-overdue{color:#feb2b2;background:#e53e3e40}.badge.priority-high{color:#fc8181;background:#fc81812e;border-radius:999px;padding:2px 6px;font-size:.72em;font-weight:800}.badge.subtask-count{color:#a0aec0;background:#a0aec02e;border-radius:999px;padding:2px 7px;font-size:.72em;font-weight:700}.badge.subtask-count.all-done{color:#9ae6b4;background:#48bb782e}.badge.coop-class{color:#b794f4;background:#805ad52e;border-radius:999px;padding:2px 7px;font-size:.72em;font-weight:700}.badge.span-progress{color:#9ae6b4;background:#38a1692e;border-radius:999px;padding:2px 7px;font-size:.72em;font-weight:700}.task-detail{padding:0}.detail-subject{color:#fff;border-radius:8px 8px 0 0;align-items:center;gap:12px;margin:-20px -20px 20px;padding:16px 20px;display:flex}.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;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:.95em;font-weight:500}.detail-description{color:#2d3748;text-align:center;background:#f7fafc;border-radius:12px;margin-bottom:20px;padding:16px;font-size:1.3em;font-weight:600;line-height:1.4}.detail-section{background:#edf2f7;border-radius:8px;margin-bottom:16px;padding:12px 16px}.detail-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.8em}.detail-value{color:#2d3748;font-size:1.1em;font-weight:500}.detail-badges{flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0;display:flex}.detail-badge{border-radius:20px;padding:6px 14px;font-size:.9em;font-weight:600}.detail-badge.type{color:#c04a14;background:#e9d8fd}.detail-badge.type.with_mom,.detail-badge.type.with_parent{color:#97266d;background:#fed7e2}.detail-badge.together{color:#2f855a;background:#48bb7833}.detail-badge.moved{color:#c05621;background:#feebc8}.detail-actions{flex-direction:column;gap:10px;margin-top:24px;display:flex}.student-link-btn{text-align:center;color:#fff;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border-radius:12px;padding:14px 24px;font-size:1.05em;font-weight:600;text-decoration:none;transition:all .2s;display:block}.student-link-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c04a1466}.app-launch-btn{text-align:center;color:#fff;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:12px;padding:14px 24px;font-size:1.05em;font-weight:600;display:block}.complete-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#48bb78,#38a169);border:none;border-radius:12px;padding:16px 24px;font-size:1.1em;font-weight:600;transition:all .2s}.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{cursor:pointer;color:#718096;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:12px 24px;font-size:1em;font-weight:500;transition:all .2s}.close-btn:hover{background:#f7fafc;border-color:#cbd5e0}.detail-due-row{flex-wrap:wrap;gap:8px;margin:8px 0 4px;display:flex}.detail-due-badge{border-radius:999px;padding:4px 12px;font-size:.83em;font-weight:700;display:inline-block}.detail-due-badge.due-safe{color:#276749;background:#48bb7826}.detail-due-badge.due-warning{color:#975a16;background:#d69e2e2e}.detail-due-badge.due-urgent{color:#c53030;background:#fc818133}.detail-due-badge.due-overdue{color:#9b2c2c;background:#e53e3e33}.detail-priority-high{color:#c53030;background:#fc818126;border-radius:999px;padding:4px 12px;font-size:.83em;font-weight:700;display:inline-block}.subtask-section{border-top:1px solid #e2e8f0;margin:14px 0 6px;padding-top:12px}.subtask-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.subtask-header-label{color:#4a5568;text-transform:uppercase;letter-spacing:.04em;font-size:.85em;font-weight:700}.subtask-add-btn{color:#c04a14;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:6px;padding:3px 10px;font-size:.8em;font-weight:600;transition:background .15s}.subtask-add-btn:hover{background:#ebf4ff;border-color:#c04a14}.subtask-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.subtask-row{background:#f7fafc;border:1px solid #e2e8f0;border-radius:7px;align-items:center;gap:8px;padding:6px 8px;display:flex}.subtask-row.done{opacity:.55}.subtask-row input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px}.subtask-desc{color:#2d3748;flex:1;font-size:.88em}.subtask-row.done .subtask-desc{text-decoration:line-through}.subtask-day-chip{color:#c04a14;background:#ebf4ff;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.72em;font-weight:700}.subtask-add-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.subtask-add-form input[type=text],.subtask-add-form input:not([type]){color:#2d3748;background:#fff;border:1px solid #cbd5e0;border-radius:6px;outline:none;padding:8px 10px;font-size:.88em}.subtask-add-form input:focus{border-color:#c04a14;box-shadow:0 0 0 2px #c04a1433}.subtask-day-row{align-items:center;gap:8px;display:flex}.subtask-day-label{color:#718096;white-space:nowrap;font-size:.78em;font-weight:600}.subtask-day-pills{gap:4px;display:flex}.subtask-day-pill{color:#718096;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-size:.78em;font-weight:600;transition:all .12s}.subtask-day-pill.active{color:#fff;background:#c04a14;border-color:#c04a14}.subtask-form-actions{justify-content:flex-end;gap:8px;display:flex}.subtask-form-actions button{cursor:pointer;color:#4a5568;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .12s}.subtask-form-actions button:hover{background:#f7fafc}.subtask-save-btn{color:#fff!important;background:#c04a14!important;border-color:#c04a14!important}.subtask-save-btn:hover:not(:disabled){background:#5a67d8!important}.subtask-save-btn:disabled{opacity:.45;cursor:not-allowed}.subtask-week-nav{align-items:center;gap:6px;margin-bottom:6px;display:flex}.subtask-week-btn{color:#4a5568;cursor:pointer;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.9em;transition:background .12s;display:flex}.subtask-week-btn:hover:not(:disabled){background:#edf2f7}.subtask-week-btn:disabled{opacity:.3;cursor:not-allowed}.subtask-week-label{text-align:center;color:#4a5568;flex:1;font-size:.78em;font-weight:600}.subtask-day-pill.disabled{opacity:.3;cursor:not-allowed}.subtask-due-hint{color:#e8762c;text-align:center;font-size:.75em;font-weight:500}.subtask-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 2px;font-size:.8em;transition:opacity .15s}.subtask-row:hover .subtask-edit-btn{opacity:1}.subtask-edit-row{margin:4px 0}.bucket-panel{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #c04a14;border-radius:14px;margin:0 0 20px;padding:16px 18px;position:relative;box-shadow:0 4px 12px #00000012}.bucket-panel-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.bucket-panel-icon{font-size:1.2em}.bucket-panel-title{color:#3d1040;margin:0;font-size:1.05em;font-weight:700}.bucket-panel-count{color:#c04a14;background:#6b46c11a;border:1px solid #6b46c140;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:.8em;font-weight:600}.bucket-panel-hint{color:#718096;margin:0 0 14px;font-size:.82em}.bucket-tasks{flex-direction:column;gap:8px;display:flex}.bucket-task{background:#f7fafc;border:1px solid #e2e8f0;border-left:3px solid #b794f4;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.bucket-task:hover{background:#edf2f7}.bucket-task.priority-high{border-left-color:#fc8181}.bucket-task.priority-low{opacity:.85;border-left-color:#cbd5e0}.bucket-task-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.bucket-task-subject-dot{opacity:.85;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1em;display:flex}.bucket-task-body{flex-direction:column;min-width:0;display:flex}.bucket-task-desc{white-space:nowrap;text-overflow:ellipsis;color:#2d3748;font-size:.9em;font-weight:600;overflow:hidden}.bucket-task-subject-name{color:#718096;font-size:.75em}.bucket-task-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.bucket-priority-badge{border-radius:999px;padding:2px 8px;font-size:.72em;font-weight:700}.bucket-priority-badge.high{color:#c53030;background:#fed7d7;border:1px solid #fc8181}.bucket-due-badge{white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:.75em;font-weight:600}.bucket-due-badge.due-safe{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.bucket-due-badge.due-warning{color:#744210;background:ivory;border:1px solid #f6e05e}.bucket-due-badge.due-urgent{color:#c53030;background:#fff5f5;border:1px solid #fc8181}.bucket-due-badge.due-overdue{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.bucket-schedule-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c04a14;border:none;border-radius:7px;padding:6px 12px;font-size:.82em;font-weight:600;transition:background .15s,transform .1s}.bucket-schedule-btn:hover{background:#3d1040;transform:translateY(-1px)}.bucket-schedule-picker{flex-direction:column;gap:14px;display:flex}.bucket-modal-desc{color:#718096;margin:0;font-size:.88em;font-style:italic}.bucket-modal-suggestion-hint{color:#2b6cb0;background:#ebf8ff;border:1px solid #90cdf4;border-radius:7px;padding:6px 10px;font-size:.82em;font-weight:600}.bucket-modal-due-hint{color:#c04a14;background:#faf5ff;border:1px solid #d6bcfa;border-radius:7px;padding:6px 10px;font-size:.82em;font-weight:600}.bucket-modal-week{align-items:center;gap:10px;display:flex}.bucket-week-nav{color:#4a5568;cursor:pointer;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1em;transition:background .15s;display:flex}.bucket-week-nav:hover{background:#edf2f7}.bucket-week-label{text-align:center;color:#2d3748;flex:1;font-size:.9em;font-weight:600}.bucket-day-pills{flex-wrap:wrap;gap:6px;display:flex}.bucket-day-pill{color:#4a5568;cursor:pointer;text-align:center;background:#f7fafc;border:1.5px solid #e2e8f0;border-radius:8px;flex:1;min-width:52px;padding:10px 4px;font-size:.88em;font-weight:600;transition:all .15s}.bucket-day-pill.active{color:#fff;background:#c04a14;border-color:#c04a14}.bucket-day-pill:not(.active):not(.disabled):hover{background:#edf2f7;border-color:#cbd5e0}.bucket-day-pill.disabled{opacity:.35;cursor:not-allowed}.bucket-week-nav:disabled{opacity:.3;cursor:not-allowed}.bucket-modal-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.bucket-modal-cancel{color:#718096;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 16px;font-size:.88em;transition:background .15s}.bucket-modal-cancel:hover{background:#f7fafc}.bucket-modal-confirm{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:8px;padding:8px 20px;font-size:.88em;font-weight:600;transition:background .15s}.bucket-modal-confirm:hover{background:#3d1040}@media (width<=480px){.bucket-task{flex-direction:column;align-items:flex-start;gap:8px}.bucket-task-right{flex-wrap:wrap;width:100%}.bucket-schedule-btn{text-align:center;width:100%}}.bucket-plan-picker{flex-direction:column;gap:12px;display:flex}.bucket-plan-confirmed{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.bucket-plan-check{color:#38a169;flex-shrink:0;margin-top:1px;font-size:1.2em;font-weight:700}.bucket-plan-desc{color:#22543d;font-size:.9em;font-weight:600}.bucket-plan-scheduled{color:#276749;margin-top:2px;font-size:.8em}.bucket-plan-due{border-radius:999px;align-self:flex-start;padding:5px 10px;font-size:.82em;font-weight:600}.bucket-plan-due.due-safe{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.bucket-plan-due.due-warning{color:#744210;background:ivory;border:1px solid #f6e05e}.bucket-plan-due.due-urgent{color:#c53030;background:#fff5f5;border:1px solid #fc8181}.bucket-plan-due.due-overdue{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.bucket-plan-section-label{color:#4a5568;font-size:.85em;font-weight:700}.bucket-plan-section-hint{color:#a0aec0;font-weight:400}.bucket-plan-subtask-list{border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;flex-direction:column;gap:5px;padding:6px 0;display:flex}.bucket-plan-subtask-row{align-items:center;gap:6px;font-size:.85em;display:flex}.bucket-plan-st-dot{color:#e8762c;flex-shrink:0;font-size:1.1em}.bucket-plan-st-desc{color:#4a5568;flex:1;font-weight:500}.bucket-plan-st-day{color:#c04a14;background:#f0e6ff;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.78em;font-weight:600}.bucket-plan-st-form{background:#faf5ff;border:1px solid #e9d8fd;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.bucket-plan-st-input{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:.88em}.bucket-plan-st-input:focus{border-color:#e8762c;outline:none}.bucket-plan-week-nav{align-items:center;gap:8px;display:flex}.bucket-plan-range-hint{color:#e8762c;text-align:center;font-size:.75em}.bucket-plan-st-actions{justify-content:flex-end;gap:8px;display:flex}.bucket-plan-add-btn{color:#c04a14;cursor:pointer;text-align:center;background:#fff;border:1.5px dashed #b794f4;border-radius:7px;width:100%;padding:8px 14px;font-size:.85em;font-weight:600;transition:background .15s}.bucket-plan-add-btn:hover{background:#faf5ff}.tpd-root{flex-direction:column;gap:16px;max-height:70vh;display:flex;overflow-y:auto}.tpd-empty{text-align:center;color:#a0aec0;padding:24px 0;font-size:.9em}.tpd-section{flex-direction:column;gap:8px;display:flex}.tpd-section-title{text-transform:uppercase;letter-spacing:.06em;color:#718096;border-bottom:1px solid #e2e8f0;padding-bottom:4px;font-size:.78em;font-weight:700}.tpd-task{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.tpd-task.clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}.tpd-task.clickable:hover{border-color:#b794f4;box-shadow:0 2px 8px #6b46c11f}.tpd-task.scheduled{border-left:4px solid #c04a14}.tpd-task.unscheduled{opacity:.85;border-left:4px solid #e2e8f0}.tpd-task-header{background:#fafafa;align-items:center;gap:10px;padding:10px 12px;display:flex}.tpd-subject-dot{opacity:.85;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.95em;display:flex}.tpd-subject-dot.large{border-radius:10px;width:40px;height:40px;font-size:1.2em}.tpd-task-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tpd-task-desc{color:#2d3748;font-size:.9em;font-weight:600}.tpd-task-desc.done{color:#a0aec0;text-decoration:line-through}.tpd-task-scheduled-on{color:#c04a14;font-size:.75em;font-weight:500}.tpd-task-not-scheduled{color:#a0aec0;font-size:.75em;font-style:italic}.tpd-task-st-summary{color:#a0aec0;font-size:.72em}.tpd-task-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.tpd-task-badges{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.tpd-due-badge{white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:.72em;font-weight:600}.tpd-due-badge.due-safe{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.tpd-due-badge.due-warning{color:#744210;background:ivory;border:1px solid #f6e05e}.tpd-due-badge.due-urgent{color:#c53030;background:#fff5f5;border:1px solid #fc8181}.tpd-due-badge.due-overdue{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.tpd-priority-high{color:#c53030;background:#fed7d7;border:1px solid #fc8181;border-radius:999px;padding:2px 6px;font-size:.7em;font-weight:700}.tpd-chevron{color:#cbd5e0;margin-left:2px;font-size:1.4em;line-height:1}.tpd-task.clickable:hover .tpd-chevron{color:#e8762c}.tpd-detail{flex-direction:column;gap:14px;max-height:70vh;display:flex;overflow-y:auto}.tpd-back-btn{color:#c04a14;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.85em;font-weight:600;transition:color .12s}.tpd-back-btn:hover{color:#3d1040}.tpd-detail-header{background:#faf5ff;border:1px solid #e9d8fd;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;display:flex}.tpd-detail-meta{flex-direction:column;gap:4px;display:flex}.tpd-detail-scheduled{color:#c04a14;font-size:.82em;font-weight:600}.tpd-detail-not-scheduled{color:#a0aec0;font-size:.82em;font-style:italic}.tpd-detail-st-section{flex-direction:column;gap:8px;display:flex}.tpd-detail-st-heading{color:#4a5568;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding-bottom:6px;font-size:.85em;font-weight:700;display:flex}.tpd-detail-st-count{color:#a0aec0;font-size:.85em;font-weight:400}.tpd-detail-st-empty{color:#a0aec0;text-align:center;padding:8px 0;font-size:.82em;font-style:italic}.tpd-detail-st-list{flex-direction:column;gap:5px;display:flex}.tpd-detail-st-row{align-items:center;gap:6px;font-size:.85em;display:flex}.tpd-detail-st-row.done{opacity:.5}.tpd-detail-st-row.done .tpd-st-desc{color:#a0aec0;text-decoration:line-through}.tpd-tree-connector{color:#cbd5e0;flex-shrink:0;width:14px;font-family:monospace}.tpd-st-checkbox{cursor:pointer;accent-color:#c04a14;flex-shrink:0;width:15px;height:15px}.tpd-st-desc{color:#4a5568;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:500;overflow:hidden}.tpd-st-when{color:#c04a14;background:#f0e6ff;border-radius:999px;flex-shrink:0;padding:1px 6px;font-size:.78em;font-weight:600}.tpd-st-when.unanchored{color:#718096;background:#edf2f7}.tpd-st-unscheduled{color:#cbd5e0;flex-shrink:0;font-size:.75em;font-style:italic}.tpd-detail-st-form{background:#faf5ff;border:1px solid #e9d8fd;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.tpd-st-input{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:.88em}.tpd-st-input:focus{border-color:#e8762c;outline:none}.tpd-st-week-nav{align-items:center;gap:6px;display:flex}.tpd-week-btn{color:#4a5568;cursor:pointer;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:.9em;transition:background .12s;display:flex}.tpd-week-btn:hover:not(:disabled){background:#edf2f7}.tpd-week-btn:disabled{opacity:.3;cursor:not-allowed}.tpd-week-label{text-align:center;color:#4a5568;flex:1;font-size:.78em;font-weight:600}.tpd-st-day-pills{gap:5px;display:flex}.tpd-day-pill{color:#4a5568;cursor:pointer;text-align:center;background:#f7fafc;border:1.5px solid #e2e8f0;border-radius:7px;flex:1;padding:8px 2px;font-size:.82em;font-weight:600;transition:all .12s}.tpd-day-pill.active{color:#fff;background:#c04a14;border-color:#c04a14}.tpd-day-pill:not(.active):not(.disabled):hover{background:#edf2f7;border-color:#cbd5e0}.tpd-day-pill.disabled{opacity:.3;cursor:not-allowed}.tpd-st-range-hint{color:#e8762c;text-align:center;font-size:.75em}.tpd-st-form-actions{justify-content:flex-end;gap:8px;display:flex}.tpd-btn-cancel{color:#718096;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:7px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .12s}.tpd-btn-cancel:hover{background:#f7fafc}.tpd-btn-save{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:7px;padding:6px 14px;font-size:.85em;font-weight:600;transition:background .12s}.tpd-btn-save:hover:not(:disabled){background:#3d1040}.tpd-btn-save:disabled{opacity:.45;cursor:not-allowed}.tpd-add-st-btn{color:#c04a14;cursor:pointer;text-align:center;background:#fff;border:1.5px dashed #b794f4;border-radius:7px;width:100%;padding:8px 14px;font-size:.85em;font-weight:600;transition:background .15s}.tpd-add-st-btn:hover{background:#faf5ff}.tpd-detail-st-disabled{color:#a0aec0;padding:8px 0;font-size:.85em;font-style:italic}.tpd-st-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:.8em;transition:opacity .15s}.tpd-detail-st-row:hover .tpd-st-edit-btn{opacity:1}.tpd-detail-st-edit-row{margin:4px 0}.celebration-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.confetti-container{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti{border-radius:2px;animation:linear forwards confettiFall;position:absolute;top:-20px}@keyframes confettiFall{0%{opacity:1;top:-20px;transform:rotate(0)translate(0)}25%{transform:rotate(90deg)translate(20px)}50%{transform:rotate(180deg)translate(-20px)}75%{transform:rotate(270deg)translate(20px)}to{opacity:0;top:100vh;transform:rotate(360deg)translate(0)}}.celebration-message{text-align:center;background:#fff;border-radius:24px;padding:40px 60px;animation:.5s bounceIn;box-shadow:0 20px 60px #0000004d}@keyframes bounceIn{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.celebration-emoji{margin-bottom:20px;font-size:5em;animation:.6s infinite alternate bounce}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.celebration-message h2{color:#48bb78;margin:0 0 10px;font-size:2em}.celebration-message p{color:#4a5568;margin:0;font-size:1.2em}@media (width<=600px){.celebration-message{margin:20px;padding:30px 40px}.celebration-emoji{font-size:4em}.celebration-message h2{font-size:1.5em}.celebration-message p{font-size:1em}}.kid-ge-backdrop{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.kid-ge-modal{background:#fff;border-radius:18px;width:100%;max-width:420px;animation:.18s kid-ge-pop;overflow:hidden;box-shadow:0 20px 60px #00000040}@keyframes kid-ge-pop{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.kid-ge-header{color:#fff;align-items:center;gap:12px;padding:14px 16px;display:flex}.kid-ge-header-icon{flex-shrink:0;font-size:1.8em}.kid-ge-header-info{flex:1;min-width:0}.kid-ge-header-subject{font-size:1em;font-weight:700}.kid-ge-header-task{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:.82em;overflow:hidden}.kid-ge-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85em;display:flex}.kid-ge-close:hover{background:#ffffff59}.kid-ge-body{flex-direction:column;gap:16px;padding:20px 20px 8px;display:flex}.kid-ge-field{flex-direction:column;gap:7px;display:flex}.kid-ge-label{color:#4a5568;font-size:.85em;font-weight:600}.kid-ge-scale-hint,.kid-ge-optional{color:#a0aec0;font-weight:400}.kid-ge-type-pills{flex-wrap:wrap;gap:7px;display:flex}.kid-ge-type-pill{color:#4a5568;cursor:pointer;background:#edf2f7;border:2px solid #0000;border-radius:20px;padding:5px 12px;font-size:.85em;font-weight:500;transition:all .15s}.kid-ge-type-pill:hover{color:#c04a14;border-color:#c04a14}.kid-ge-type-pill.selected{color:#c04a14;background:#c04a141f;border-color:#c04a14;font-weight:700}.kid-ge-score-input{text-align:center;box-sizing:border-box;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:10px 14px;font-family:inherit;font-size:1.1em;transition:border-color .2s}.kid-ge-score-input:focus{border-color:#c04a14;outline:none}.kid-ge-passfail-row{gap:10px;display:flex}.kid-ge-passfail-btn{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;flex:1;padding:12px;font-size:1em;font-weight:700;transition:all .15s}.kid-ge-passfail-btn.pass.selected{color:#276749;background:#c6f6d5;border-color:#48bb78}.kid-ge-passfail-btn.fail.selected{color:#9b2c2c;background:#fed7d7;border-color:#fc8181}.kid-ge-passfail-btn:not(.selected):hover{border-color:#a0aec0}.kid-ge-notes-input{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:9px 12px;font-family:inherit;font-size:.95em;transition:border-color .2s}.kid-ge-notes-input:focus{border-color:#c04a14;outline:none}.kid-ge-error{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;padding:8px 12px;font-size:.875em}.kid-ge-footer{justify-content:flex-end;gap:10px;padding:12px 20px 20px;display:flex}.kid-ge-cancel-btn{color:#718096;cursor:pointer;background:0 0;border:2px solid #e2e8f0;border-radius:10px;padding:9px 18px;font-size:.95em;font-weight:500}.kid-ge-cancel-btn:hover{color:#4a5568;border-color:#a0aec0}.kid-ge-save-btn{color:#fff;cursor:pointer;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:10px;padding:10px 22px;font-size:.95em;font-weight:700;transition:opacity .2s}.kid-ge-save-btn:hover:not(:disabled){opacity:.88}.kid-ge-save-btn:disabled{opacity:.5;cursor:not-allowed}.kid-gradebook-page{background:#f7fafc;min-height:100vh}.kid-gradebook-container{max-width:700px;margin:0 auto;padding:20px 16px 40px}.kid-gradebook-loading{color:#718096;justify-content:center;align-items:center;gap:10px;padding:60px 20px;font-size:1em;display:flex}.kid-gradebook-error{text-align:center;color:#e53e3e;padding:40px 20px}.kid-gradebook-empty-state{text-align:center;padding:60px 20px}.kid-gb-empty-icon{margin-bottom:12px;font-size:3em}.kid-gradebook-empty-state h2{color:#2d3748;margin:0 0 8px;font-size:1.3em}.kid-gradebook-empty-state p{color:#718096;margin:0}.kid-gb-period-bar{background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex;box-shadow:0 1px 4px #0000000f}.kid-gb-period-label{color:#718096;white-space:nowrap;font-size:.85em;font-weight:600}.kid-gb-period-select{color:#2d3748;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:6px 10px;font-family:inherit;font-size:.95em}.kid-gb-period-select:focus{border-color:#c04a14;outline:none}.kid-gb-period-dates{color:#a0aec0;margin-left:auto;font-size:.82em}.kid-gb-gpa-banner{color:#fff;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border-radius:14px;justify-content:center;align-items:baseline;gap:8px;margin-bottom:20px;padding:16px 24px;display:flex;box-shadow:0 4px 14px #c04a1459}.kid-gb-gpa-label{opacity:.85;letter-spacing:.06em;text-transform:uppercase;font-size:.9em;font-weight:600}.kid-gb-gpa-value{font-size:2.4em;font-weight:800;line-height:1}.kid-gb-gpa-scale{opacity:.7;font-size:1em}.kid-gb-subject-list{flex-direction:column;gap:12px;display:flex}.kid-gb-subject-card{border-left:5px solid var(--subject-color,#c04a14);background:#fff;border-radius:14px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}.kid-gb-subject-card:hover{box-shadow:0 3px 10px #0000001a}.kid-gb-subject-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.kid-gb-subject-left{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.kid-gb-subject-icon{flex-shrink:0;font-size:1.4em}.kid-gb-subject-name{color:#2d3748;white-space:nowrap;text-overflow:ellipsis;font-size:1em;font-weight:700;overflow:hidden}.kid-gb-entry-count{color:#a0aec0;flex-shrink:0;font-size:.78em}.kid-gb-subject-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.kid-gb-grade-badge{text-align:center;border-radius:20px;flex-direction:column;align-items:center;min-width:52px;padding:4px 12px;font-size:1em;font-weight:800;line-height:1.2;display:inline-flex}.kid-gb-grade-letter{font-size:1em;font-weight:800}.kid-gb-grade-pct{opacity:.8;font-size:.6em;font-weight:500}.kid-gb-grade-badge.grade-a{color:#276749;background:#c6f6d5}.kid-gb-grade-badge.grade-b{color:#2b6cb0;background:#bee3f8}.kid-gb-grade-badge.grade-c{color:#744210;background:#fefcbf}.kid-gb-grade-badge.grade-d{color:#7b341e;background:#fed7aa}.kid-gb-grade-badge.grade-f{color:#9b2c2c;background:#fed7d7}.kid-gb-grade-badge.grade-na{color:#718096;background:#edf2f7}.kid-gb-chevron{color:#a0aec0;font-size:.75em}.kid-gb-entries{border-top:1px solid #edf2f7;padding:0 0 8px}.kid-gb-no-entries{color:#a0aec0;text-align:center;margin:0;padding:16px;font-size:.9em}.kid-gb-entries-table{border-collapse:collapse;width:100%;font-size:.875em}.kid-gb-entries-table th{text-align:left;color:#718096;text-transform:uppercase;letter-spacing:.04em;background:#f7fafc;border-bottom:1px solid #edf2f7;padding:8px 12px;font-size:.8em;font-weight:600}.kid-gb-entries-table td{color:#2d3748;vertical-align:middle;border-bottom:1px solid #f0f4f8;padding:9px 12px}.kid-gb-entries-table tr:last-child td{border-bottom:none}.kid-gb-entry-date{white-space:nowrap;color:#718096;font-size:.85em}.kid-gb-entry-desc{max-width:220px}.kid-gb-type-pill{color:#4a5568;white-space:nowrap;background:#edf2f7;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.82em;display:inline-flex}.kid-gb-entry-score{text-align:right;white-space:nowrap;font-weight:700}.kid-gb-entry-score.grade-a{color:#276749}.kid-gb-entry-score.grade-b{color:#2b6cb0}.kid-gb-entry-score.grade-c{color:#744210}.kid-gb-entry-score.grade-d{color:#7b341e}.kid-gb-entry-score.grade-f{color:#9b2c2c}.kid-gb-breakdown{border-top:1px solid #edf2f7;padding:10px 16px 6px}.kid-gb-breakdown-title{text-transform:uppercase;letter-spacing:.05em;color:#a0aec0;margin-bottom:8px;font-size:.78em;font-weight:600}.kid-gb-breakdown-pills{flex-wrap:wrap;gap:8px;display:flex}.kid-gb-breakdown-pill{color:#4a5568;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:.82em;display:flex}.kid-gb-breakdown-avg{color:#2d3748;font-weight:700}.kid-gb-breakdown-weight{color:#a0aec0;font-weight:400}.kid-gb-breakdown-count{color:#a0aec0}@media (width<=480px){.kid-gradebook-container{padding:12px 10px 30px}.kid-gb-entries-table th:nth-child(3),.kid-gb-entries-table td:nth-child(3){display:none}.kid-gb-entry-desc{max-width:120px}}.schedule-page{color:#2d3748;min-height:100vh;padding-bottom:40px}.schedule-container{color:#2d3748;max-width:1200px;margin:0 auto;padding:20px}.schedule-tab-bar{gap:4px;max-width:1200px;margin:12px auto 0;padding:0 20px;display:flex}.schedule-tab-btn{color:#4a5568;cursor:pointer;background:#ffffff59;border:none;border-radius:10px 10px 0 0;padding:9px 20px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.schedule-tab-btn:hover{background:#fff9}.schedule-tab-btn.active{color:var(--primary-color,#c04a14);background:#fff}.schedule-loading{color:#4a5568;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.schedule-loading .spinner{border:4px solid #e2e8f0;border-top-color:var(--primary-color,#c04a14);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.progress-section{gap:16px;margin-bottom:24px;display:flex}.progress-card{text-align:center;background:#fff;border-radius:16px;flex:1;padding:20px;position:relative;box-shadow:0 4px 12px #00000014}.progress-card.today{background:linear-gradient(135deg,#f0fff4 0%,#c6f6d5 100%);border:2px solid #48bb78}.progress-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.9em;font-weight:600}.progress-numbers{margin-bottom:12px;font-size:2.5em;font-weight:700}.progress-numbers .completed{color:#48bb78}.progress-numbers .separator{color:#cbd5e0;margin:0 4px}.progress-numbers .total{color:#4a5568}.progress-card .progress-bar{background:#0000001a;border-radius:5px;height:10px;overflow:hidden}.progress-card .progress-fill{background:linear-gradient(90deg,#48bb78,#38a169);border-radius:5px;height:100%;transition:width .5s}.done-badge{color:#fff;background:linear-gradient(135deg,#48bb78,#38a169);border-radius:20px;padding:6px 12px;font-size:.85em;font-weight:600;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 8px #48bb7866}.kids-week-nav{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.kids-nav-btn{color:#4a5568;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.1em;transition:all .2s;display:flex;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{align-items:center;gap:10px;display:flex}.kids-week-label{color:#4a5568;font-size:1em;font-weight:600}.kids-current-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:4px 10px;font-size:.8em;font-weight:600;transition:opacity .2s}.kids-current-btn:hover{opacity:.85}.view-toggle-row{align-items:center;gap:12px;margin-bottom:24px;display:flex}.view-toggle{background:#e2e8f0;border-radius:12px;flex:1;padding:4px;display:flex}.kids-plan-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:10px 16px;font-size:.95em;font-weight:600;transition:background .15s}.kids-plan-btn:hover{opacity:.88}.kids-print-btn{color:#4a5568;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 16px;font-size:.95em;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000000f}.kids-print-btn:hover{background:#f7fafc;border-color:#cbd5e0}.kids-show-completed-btn{color:#718096;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 16px;font-size:.95em;font-weight:600;transition:all .2s;box-shadow:0 2px 4px #0000000f}.kids-show-completed-btn.showing{color:#2b6cb0;background:#ebf8ff;border-color:#bee3f8}.kids-show-completed-btn:hover{background:#f7fafc;border-color:#cbd5e0}.schedule-page .view-toggle button{color:#718096;cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:14px 20px;font-size:1.1em;font-weight:600;transition:all .2s}.schedule-page .view-toggle button.active{color:var(--primary-color,#c04a14);background:#fff;box-shadow:0 2px 8px #0000001a}.schedule-page .view-toggle button:hover:not(.active){color:#4a5568;background:0 0}.empty-state{text-align:center;background:#fff;border-radius:20px;padding:60px 40px;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,#c04a14)}.day-section.all-complete{opacity:.7}.day-header{background:#f7fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:12px;padding:16px 20px;display:flex}.day-section.today .day-header{background:linear-gradient(135deg,#ed64a61a,#ed64a60d)}.day-header h3{color:#2d3748;margin:0;font-size:1.2em}.today-badge{background:var(--primary-color,#c04a14);color:#fff;border-radius:12px;padding:4px 10px;font-size:.8em;font-weight:600}.day-count{color:#718096;margin-left:auto;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{background:#f7fafc;border-bottom:1px solid #e2e8f0;border-left:4px solid;align-items:center;gap:12px;padding:16px 20px;display:flex}.subject-icon{font-size:1.5em}.subject-header h3{color:#2d3748;margin:0;font-size:1.2em}.subject-count{color:#718096;margin-left:auto;font-weight:600}@media (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}}.progress-card.bucket-nudge{background:linear-gradient(135deg,#fff5ee 0%,#ffe0c0 100%);border:2px solid #f5a623;animation:2.5s ease-in-out infinite bucket-pulse}@keyframes bucket-pulse{0%,to{box-shadow:0 4px 12px #f5a62333}50%{box-shadow:0 4px 18px #f5a62373}}.bucket-nudge-hint{color:#c04a14;margin-top:6px;font-size:.78em;font-weight:600}.subtask-schedule-card{cursor:pointer;background:#fff5ee;border:1px dashed #f5a623;border-left:3px solid #c04a14;border-radius:10px;align-items:center;gap:8px;margin-top:4px;padding:8px 12px;transition:background .15s;display:flex}.subtask-schedule-card:hover{background:#ffe8d0}.subtask-schedule-card.done{opacity:.55}.subtask-schedule-card.done .subtask-schedule-desc{color:#a0aec0;text-decoration:line-through}.subtask-schedule-check{cursor:pointer;accent-color:#c04a14;flex-shrink:0;width:15px;height:15px}.subtask-schedule-dot{opacity:.8;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.8em;display:flex}.subtask-schedule-body{flex-direction:column;min-width:0;display:flex}.subtask-schedule-desc{color:#5c1a08;text-overflow:ellipsis;white-space:nowrap;font-size:.85em;font-weight:600;overflow:hidden}.subtask-schedule-parent{color:#c04a14;text-overflow:ellipsis;white-space:nowrap;font-size:.72em;overflow:hidden}.push-undo-bar{z-index:1000;white-space:nowrap;background:#fff5ee;border:1px solid #f5a623;border-radius:10px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 16px;animation:.2s push-undo-slide-in;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000026}@keyframes push-undo-slide-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.push-undo-msg{color:#3d1040;font-size:.88em;font-weight:500}.push-undo-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c04a14;border:none;border-radius:7px;padding:6px 14px;font-size:.85em;font-weight:700;transition:opacity .15s}.push-undo-btn:hover{opacity:.88}@media (width<=520px){.view-toggle-row{flex-wrap:wrap;gap:8px}.view-toggle{flex:100%;order:-1}.kids-plan-btn,.kids-print-btn,.kids-show-completed-btn{white-space:normal;text-align:center;flex:calc(50% - 4px);min-width:0;padding:9px 10px;font-size:.85em}.kids-week-label{font-size:.88em}.schedule-container{padding:10px}.subtask-schedule-desc,.subtask-schedule-parent{white-space:normal;text-overflow:unset}}.mission-center{color:#fff;background:#0d0d1a;min-height:100vh}.mc-tagline{color:#fff6;margin:16px 20px 0;font-size:.85em}.mc-tabs{background:#0003;border-radius:10px;gap:4px;width:fit-content;margin:12px 20px 0;padding:4px;display:flex}.mc-tab{color:#ffffff8c;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:8px 18px;font-size:.9em;transition:all .2s}.mc-tab:hover{color:#fff}.mc-tab.active{color:#fff;background:#c04a1466;font-weight:600}.mc-body{padding:20px}.mc-loading,.mc-empty{color:#ffffff8c;text-align:center;padding:40px;font-size:.95em}.mc-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:8px 16px;font-size:.9em;transition:transform .15s,box-shadow .15s}.mc-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c04a144d}.mc-hint{color:#ffffff73;margin-bottom:12px;font-size:.8em}.mc-modal-overlay{z-index:999;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.mc-modal{background:#1a1a2e;border:1px solid #ffffff1f;border-radius:16px;width:100%;max-width:540px;max-height:90vh;padding:24px;overflow-y:auto}.mc-modal--sm{max-width:420px}.mc-modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.mc-modal-header h3{color:#fff;margin:0;font-size:1.1em}.mc-modal-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.6em;line-height:1}.mc-modal-close:hover{color:#fff}.cm-form{flex-direction:column;gap:16px;display:flex}.cm-label{color:#ffffffb3;flex-direction:column;gap:6px;font-size:.85em;font-weight:500;display:flex}.cm-input{color:#fff;background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;outline:none;padding:9px 12px;font-size:.95em;transition:border-color .2s}.cm-input:focus{border-color:#c04a1499}.cm-input::placeholder{color:#ffffff4d}.cm-input--sm{max-width:160px}.cm-inline-row{align-items:center;gap:8px;margin-top:6px;display:flex}.cm-input-suffix{color:#ffffff80;white-space:nowrap;font-size:.88em}.cm-optional{color:#ffffff4d;font-weight:400}.cm-pill-group{flex-wrap:wrap;gap:8px;display:flex}.cm-pill{color:#fff9;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:20px;padding:6px 14px;font-size:.85em;transition:all .15s}.cm-pill:hover{color:#fff;border-color:#ffffff59}.cm-pill.active{color:#fff;background:#c04a144d;border-color:#c04a1499;font-weight:600}.cm-day-grid{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.cm-day-btn{color:#ffffff80;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;width:44px;height:36px;font-size:.8em;transition:all .15s}.cm-day-btn.active{color:#fff;background:#c04a144d;border-color:#c04a1499;font-weight:600}.cm-assign-grid{flex-wrap:wrap;gap:8px;display:flex}.cm-assign-btn{color:#fff9;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:10px;padding:8px 16px;font-size:.85em;transition:all .15s}.cm-assign-btn.active{color:#fff;background:#c04a1433;border-color:#c04a1480}.cm-hint{color:#ffffff59;margin-top:-8px;font-size:.78em}.cm-link-btn{color:#f5a828;cursor:pointer;background:0 0;border:none;padding:0;font-size:.78em;text-decoration:underline}.cm-link-btn:hover{color:#c04a14}.cm-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.cm-btn{cursor:pointer;border:none;border-radius:8px;padding:9px 20px;font-size:.9em;font-weight:500;transition:all .15s}.cm-btn--cancel{color:#fff9;background:#ffffff14}.cm-btn--save{color:#fff;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%)}.cm-btn--danger{color:#fc8181;background:#fc818126;border:1px solid #fc81814d}.cm-btn:disabled{opacity:.5;cursor:not-allowed}.chore-manager{flex-direction:column;gap:16px;display:flex}.cm-toolbar{justify-content:space-between;align-items:center;display:flex}.cm-toolbar h2{color:#fff;margin:0;font-size:1.1em}.cm-list{flex-direction:column;gap:10px;display:flex}.cm-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.cm-card:hover{background:#ffffff1a}.cm-card.inactive{opacity:.5}.cm-card-main{flex:1;min-width:0}.cm-card-name{color:#fff;margin-bottom:4px;font-size:.98em;font-weight:600}.cm-card-desc{color:#ffffff73;margin-bottom:8px;font-size:.8em}.cm-card-meta{flex-wrap:wrap;gap:6px;display:flex}.cm-badge{border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:.73em;font-weight:500}.cm-badge--freq{color:#f5a828;background:#c04a1426}.cm-badge--assign{color:#ffffff80;background:#ffffff12}.cm-badge--reward{color:#f6ad55;background:#f6ad5526}.cm-badge--inactive{color:#ffffff4d;background:#ffffff0d}.cm-card-actions{flex-shrink:0;gap:4px;display:flex}.cm-action-btn{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:1em;transition:background .15s}.cm-action-btn:hover{opacity:1;background:#ffffff1a}.cm-action-btn--del:hover{background:#fc818126}.rm-list{flex-direction:column;gap:10px;display:flex}.rm-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;transition:background .15s;display:flex}.rm-card:hover{background:#ffffff1a}.rm-card.inactive{opacity:.5}.rm-card-main{flex:1;min-width:0}.rm-card-name{color:#fff;margin-bottom:4px;font-size:.98em;font-weight:600}.rm-card-meta{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.rm-badge{color:#f5a828;background:#c04a1426;border:1px solid #0000;border-radius:4px;padding:2px 8px;font-size:.73em;font-weight:500}.rm-badge--days{color:#ffffff80;background:#ffffff12}.rm-badge--inactive{color:#ffffff4d;background:#ffffff0d}.rm-card-settings{background:#00000026;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.rm-setting-row{justify-content:space-between;gap:12px;font-size:.78em;display:flex}.rm-setting-label{color:#fff6}.rm-setting-value{color:#ffffffbf;text-align:right;font-weight:500}.rm-card-actions{flex-shrink:0;gap:4px;display:flex}.weekly-preview{flex-direction:column;gap:20px;display:flex}.wp-nav{align-items:center;gap:16px;display:flex}.wp-nav-btn{color:#fff;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;padding:6px 14px;font-size:.9em;transition:background .15s}.wp-nav-btn:hover{background:#ffffff1f}.wp-week-label{color:#fff9;font-size:.9em}.wp-days{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.wp-day-header{color:#ffffff73;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:.8em;font-weight:700}.wp-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;margin-bottom:10px;padding:12px 14px}.wp-card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.wp-chore-name{color:#fff;font-size:.9em;font-weight:600}.wp-status{flex-shrink:0;font-size:.73em;font-weight:600}.wp-card-meta{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.wp-type-badge{font-size:.72em;font-weight:700}.wp-kid-badge{color:#ffffff80;background:#ffffff12;border-radius:4px;padding:1px 7px;font-size:.72em}.wp-kid-badge--claimed{color:#63b3ed}.wp-riddle-status{margin-bottom:6px;font-size:.75em}.wp-riddle-approved{color:#68d391}.wp-riddle-pending-approval{color:#fff6}.wp-mission-deadline{margin-bottom:6px;font-size:.75em}.wp-mission-expiring{color:#f6ad55}.wp-mission-expired{color:#718096}.wp-riddle{margin-bottom:8px}.wp-riddle-text{color:#fff9;margin:0;font-size:.8em;font-style:italic;line-height:1.5}.wp-riddle-pending{color:#ffffff4d;margin:0;font-size:.78em}.wp-card-actions{flex-wrap:wrap;gap:6px;display:flex}.wp-regen-btn{color:#f5a828;cursor:pointer;background:#c04a141f;border:1px solid #c04a1440;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .15s}.wp-regen-btn:hover{background:#c04a1440}.wp-regen-btn:disabled{opacity:.4;cursor:not-allowed}.wp-approve-btn{color:#68d391;cursor:pointer;background:#48bb7826;border:1px solid #48bb784d;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .15s}.wp-approve-btn:hover{background:#48bb7840}.wp-approve-btn:disabled{opacity:.4;cursor:not-allowed}.wp-reopen-btn{color:#a0aec0;cursor:pointer;background:#71809626;border:1px solid #71809659;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .15s}.wp-reopen-btn:hover{background:#71809647}.wp-reopen-btn:disabled{opacity:.4;cursor:not-allowed}.wp-release-btn{color:#fc8181b3;cursor:pointer;background:#fc818114;border:1px solid #fc818133;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .15s}.wp-release-btn:hover{color:#fc8181;background:#fc81812e}.wp-release-btn:disabled{opacity:.4;cursor:not-allowed}.approvals-queue{flex-direction:column;gap:16px;display:flex}.aq-heading{color:#fff;margin:0 0 4px;font-size:1.1em}.aq-list{flex-direction:column;gap:12px;display:flex}.aq-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.aq-card-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.aq-chore-name{color:#fff;margin-right:8px;font-size:1em;font-weight:600}.aq-type-badge{font-size:.75em;font-weight:700}.aq-kid-name{color:#ffffff80;flex-shrink:0;font-size:.85em}.aq-desc{color:#ffffff73;margin:0;font-size:.82em}.aq-reward-row{align-items:center;gap:10px;display:flex}.aq-reward-label{color:#f6ad55;font-size:.85em;font-weight:600}.aq-partial-note{color:#ffffff59;font-size:.78em}.aq-actions{flex-wrap:wrap;gap:8px;display:flex}.aq-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;padding:6px 14px;font-size:.82em;font-weight:600;transition:all .15s}.aq-btn--approve{color:#68d391;background:#48bb7826;border-color:#48bb784d}.aq-btn--approve:hover{background:#48bb7840}.aq-btn--partial{color:#f6ad55;background:#f6ad551f;border-color:#f6ad554d}.aq-btn--partial:hover{background:#f6ad5540}.aq-btn--reject{color:#fc8181;background:#fc81811f;border-color:#fc818140}.aq-btn--reject:hover{background:#fc818138}.aq-btn--decline{color:#a0aec0;background:#7180961f;border-color:#7180964d}.aq-btn--decline:hover{background:#71809638}.aq-btn:disabled{opacity:.4;cursor:not-allowed}.aq-panel-body{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.aq-partial-warning{color:#fff6;margin:0;font-size:.8em;line-height:1.5}.rewards-builder{flex-direction:column;gap:28px;display:flex}.rb-section{flex-direction:column;gap:12px;display:flex}.rb-section-header{justify-content:space-between;align-items:center;display:flex}.rb-heading{color:#fff;margin:0;font-size:1.05em}.rb-balance-grid{flex-wrap:wrap;gap:12px;display:flex}.rb-balance-card{background:#ffffff12;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:8px;min-width:150px;padding:14px 18px;display:flex}.rb-kid-name{font-size:1em;font-weight:700}.rb-balance-row{gap:14px;display:flex}.rb-balance-pts{color:#f5a828;font-size:.9em;font-weight:600}.rb-balance-money{color:#68d391;font-size:.9em;font-weight:600}.rb-adj-btn{color:#fff9;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:6px;align-self:flex-start;padding:4px 10px;font-size:.75em;transition:all .15s}.rb-adj-btn:hover{color:#fff;background:#ffffff1f}.rb-add-form{background:#ffffff0d;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.rb-catalog-list{flex-direction:column;gap:8px;display:flex}.rb-catalog-item{background:#ffffff0f;border:1px solid #ffffff17;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.rb-catalog-name{color:#fff;flex:1;font-size:.9em;font-weight:600}.rb-catalog-cost{color:#f5a828;white-space:nowrap;font-size:.82em;font-weight:700}.rb-catalog-desc{color:#fff6;width:100%;font-size:.78em}.rb-catalog-actions{gap:4px;margin-left:auto;display:flex}.rb-txn-list{flex-direction:column;gap:6px;display:flex}.rb-txn-row{background:#ffffff0a;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.82em;display:flex}.rb-txn-kid{flex-shrink:0;width:36px;font-weight:700}.rb-txn-note{color:#fff9;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.rb-txn-amount{white-space:nowrap;font-weight:700}.rb-txn-amount.pos{color:#68d391}.rb-txn-amount.neg{color:#fc8181}.rb-txn-date{color:#ffffff4d;white-space:nowrap;flex-shrink:0}@media (width<=600px){.wp-days{grid-template-columns:1fr}.mc-tabs{flex-wrap:wrap;width:auto}}.portal-settings{background:#f5f7fa;min-height:100vh;padding:0}.settings-tabs{background:0 0;justify-content:center;gap:10px;padding:16px 24px;display:flex}.settings-tab{color:#718096;cursor:pointer;white-space:nowrap;background:0 0;border:2px solid #cbd5e0;border-radius:999px;padding:9px 22px;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.settings-tab:hover{color:#2d3748;border-color:#a0aec0}.settings-tab--active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff;font-weight:600}.saving-indicator{color:#fff;background:#22c55ee6;border-radius:20px;width:fit-content;padding:8px 16px;font-size:.9em;font-weight:600;animation:1.5s infinite pulse;position:absolute;top:20px;right:20px;box-shadow:0 2px 8px #0003}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.loading{text-align:center;color:#4a5568;background:#fff;border-radius:20px;padding:40px;font-size:1.2em;box-shadow:0 5px 20px #0000001a}.settings-content{max-width:800px;margin:0 auto;padding:0 20px 40px}.setting-section{color:#2d3748;background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 4px 12px #0000001a}.setting-section h3{color:#2d3748;margin:0 0 20px;font-size:1.4em;font-weight:600}.setting-item{color:#4a5568;margin-bottom:16px}.setting-item label{color:#4a5568;margin-bottom:8px;font-weight:500;display:block}.timeout-input{border:2px solid #e2e8f0;border-radius:6px;width:100px;margin-left:8px;padding:8px 12px;font-size:1em}.timeout-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #c04a1426}.timezone-select{border:2px solid #e2e8f0;border-radius:6px;min-width:200px;margin-left:8px;padding:8px 12px;font-size:1em}.timezone-select:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #c04a1426}.setting-description{color:#718096;margin:8px 0 0;font-size:.9em}.pins-edit{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:12px 0;display:grid}.pin-edit-group label{color:#4a5568;text-transform:capitalize;margin-bottom:4px;font-weight:500;display:block}.pin-edit-input{border:2px solid #e2e8f0;border-radius:6px;width:100%;padding:8px 12px;font-family:monospace;font-size:1em;transition:border-color .3s}.pin-edit-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #c04a1426}.pin-actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.save-btn{color:#fff;cursor:pointer;background:#38a169;border:none;border-radius:6px;margin-bottom:6px;padding:10px 20px;font-weight:500;transition:background .3s}.save-btn:hover:not(:disabled){background:#2f855a}.save-btn:disabled{cursor:not-allowed;background:#a0aec0}.reset-default-btn{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:6px;padding:10px 20px;font-weight:500;transition:background .3s}.reset-default-btn:hover{background:#c53030}.calendar-url-input{border:2px solid #e2e8f0;border-radius:6px;width:100%;margin-top:8px;padding:10px 12px;font-family:monospace;font-size:.95em;transition:border-color .3s;display:block}.calendar-url-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #c04a1426}.calendar-url-input::placeholder{color:#a0aec0;font-size:.85em}.setting-hint{color:#a0aec0;margin:8px 0;font-size:.8em}.setting-hint code{word-break:break-all;background:#f7fafc;border-radius:4px;padding:2px 6px;font-size:.9em}.reset-btn{color:#fff;cursor:pointer;background:#718096;border:none;border-radius:6px;margin-top:8px;margin-bottom:6px;padding:7px 14px;font-size:.9em;font-weight:500;transition:background .3s}.reset-btn:hover{background:#4a5568}.child-colors-display{flex-direction:column;gap:12px;margin-top:12px;display:flex}.child-color-row{background:#f7fafc;border-radius:8px;align-items:center;gap:14px;padding:12px 16px;display:flex}.child-color-swatch{border-radius:50%;flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 6px #00000026}.child-color-label{color:#2d3748;flex:1;font-size:1.05em;font-weight:600}.child-color-hex{color:#718096;font-size:.85em;font-weight:500}.my-name-row{align-items:center;gap:.75rem;display:flex}.my-name-input{border:2px solid var(--color-border);border-radius:8px;width:240px;max-width:100%;padding:8px 12px;font-family:inherit;font-size:1em}.my-name-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.my-name-status{color:var(--text-muted);font-size:.85em}.my-name-status.saved{color:#38a169}.parents-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.parents-section-header h3{margin:0}.parent-pin-inline{color:#4a5568;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.parent-pin-input{letter-spacing:.12em;border:1px solid #e2e8f0;border-radius:6px;width:110px;padding:.4rem .65rem;font-family:monospace;font-size:.95rem;transition:border-color .2s}.parent-pin-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.parents-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.parent-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 12px;font-size:.9em;display:flex}.parent-extended-row{flex-basis:100%;align-items:center;gap:8px;padding-top:2px;display:flex}.parent-name{color:#2d3748;min-width:80px;font-weight:600}.parent-email{color:#718096;flex:1;font-size:.85em}.parent-role-select{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;min-width:110px;padding:3px 8px;font-size:.85em}.parent-nickname-input{background:#fff;border:1px solid #e2e8f0;border-radius:6px;min-width:130px;padding:3px 8px;font-size:.85em}.parent-nickname-input:focus{outline-offset:-1px;border-color:#63b3ed;outline:2px solid #bee3f8}.parent-status{color:#4a5568;background:#e2e8f0;border-radius:10px;padding:2px 8px;font-size:.8em}.parent-status.status-confirmed{color:#276749;background:#c6f6d5}.parent-item--superuser{background:#fffbeb;border-color:#f6e05e}.parent-superuser-badge{color:#744210;white-space:nowrap;background:#fefcbf;border:1px solid #f6e05e;border-radius:10px;padding:2px 10px;font-size:.8em;font-weight:600}.parent-remove-btn{color:#e53e3e;cursor:pointer;opacity:.6;background:0 0;border:1px solid #fed7d7;border-radius:6px;margin-left:auto;padding:2px 7px;font-size:.78em;line-height:1.4;transition:opacity .15s,background .15s}.parent-remove-btn:hover{opacity:1;background:#fff5f5}.parent-remove-confirm{color:#e53e3e;white-space:nowrap;align-items:center;gap:5px;margin-left:auto;font-size:.82em;font-weight:600;display:flex}.parent-remove-yes{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:5px;padding:2px 10px;font-size:.9em;font-weight:600}.parent-remove-yes:hover{background:#c53030}.parent-remove-cancel{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:5px;padding:2px 10px;font-size:.9em}.parent-remove-cancel:hover{background:#e2e8f0}.invite-parent-form{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.invite-parent-form input{border:2px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95em}.invite-parent-form input:focus{border-color:var(--primary-color,#c04a14);outline:none}.invite-parent-actions{gap:8px;display:flex}.invite-success{color:#276749;background:#c6f6d5;border-radius:8px;margin-bottom:8px;padding:8px 12px;font-size:.9em}.resend-invite-btn{color:#718096;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #cbd5e0;border-radius:6px;margin-bottom:4px;padding:5px 12px;font-family:inherit;font-size:.78em;transition:background .15s,color .15s}.invite-error{color:#e53e3e;margin:0;font-size:.875em}.kids-table-header{justify-content:space-between;align-items:center;margin:1.25rem 0 .75rem;display:flex}.kids-table-header h4{color:#2d3748;margin:0;font-size:1rem}.kids-table-header-right{align-items:center;gap:.75rem;display:flex}.kids-saving-indicator{color:#718096;font-size:.82rem}.kids-saved-indicator{color:#38a169;font-size:.82rem;font-weight:600}.add-kid-btn{color:#fff;cursor:pointer;background:#48bb78;border:none;border-radius:6px;margin-bottom:6px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s}.add-kid-btn:hover{background:#38a169}.kids-cards{flex-direction:column;gap:1rem;display:flex}.kid-card{background:#fff;border:1px solid #e2e8f0;border-left:5px solid #e8762c;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.kid-card-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.kid-card-header-left{align-items:center;gap:.6rem;display:flex}.kid-card-dot{border-radius:50%;flex-shrink:0;width:28px;height:28px;display:inline-block;box-shadow:0 1px 4px #0003}.kid-card-name{color:#2d3748;font-size:1rem;font-weight:700}.kid-card-header-right{align-items:center;gap:.6rem;display:flex}.kid-card-toggle-label{color:#718096;font-size:.8rem;font-weight:600}.kid-card-row{flex-wrap:wrap;gap:1rem;padding:.85rem 1rem .5rem;display:flex}.kid-card-row--bottom{border-top:1px solid #f0f4f8;align-items:flex-end;padding-top:.5rem;padding-bottom:.85rem}.kid-card-field{flex-direction:column;gap:.25rem;min-width:120px;display:flex}.kid-card-field--sm{min-width:80px;max-width:100px}.kid-card-field--grow{flex:1}.kid-card-field label{color:#718096;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.kid-name-input,.kid-birthday-input{border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:.4rem .6rem;font-size:.9rem}.kid-name-input:focus,.kid-birthday-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.kid-nickname-input{text-align:center;border:1px solid #e2e8f0;border-radius:5px;width:3.5rem;padding:.4rem .5rem;font-size:.9rem;font-weight:600}.kid-nickname-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.kid-pin-input{letter-spacing:.1em;border:1px solid #e2e8f0;border-radius:5px;width:5.5rem;padding:.4rem .6rem;font-family:monospace;font-size:.9rem}.kid-pin-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.kid-birthday-input.input-error{border-color:#e53e3e}.kid-grade-select{cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:.4rem .5rem;font-family:inherit;font-size:.9em}.kid-grade-select:focus{border-color:var(--primary-color,#c04a14);outline:none}.kid-gender-select{background:#fff;border:1px solid #e2e8f0;border-radius:5px;width:100%;padding:.4rem .5rem;font-size:.9rem}.birthday-error{color:#e53e3e;margin-top:.25rem;font-size:.75rem}.birthday-age{color:#718096;margin-top:.25rem;font-size:.75rem;font-style:italic}.palette-swatches{border:2px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:3px;transition:border-color .15s;display:flex}.palette-swatches:hover,.palette-swatches--active{border-color:var(--primary-color,#c04a14)}.palette-swatch{border:1.5px solid #ffffffb3;border-radius:50%;width:22px;height:22px;transition:transform .15s;display:inline-block;box-shadow:0 1px 4px #0000002e}.palette-swatches:hover .palette-swatch{transform:scale(1.12)}.palette-gradient-preview{border-radius:3px;width:100%;height:6px;margin-top:.25rem}.color-picker-panel{z-index:200;background:#fff;border-radius:14px;width:220px;padding:16px;position:fixed;top:50%;right:24px;transform:translateY(-50%);box-shadow:0 8px 32px #00000038}.color-picker-panel-header{color:#2d3748;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:600;display:flex}.color-picker-close{cursor:pointer;color:#718096;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1rem;line-height:1}.color-picker-close:hover{color:#2d3748;background:#f7fafc}.color-picker-panel .react-colorful{border-radius:8px;width:100%;height:160px;overflow:hidden}.color-picker-palette-preview{justify-content:center;gap:6px;margin-top:12px;display:flex}.color-picker-swatch{width:28px;height:28px}.color-picker-gradient-bar{border-radius:4px;height:8px;margin-top:10px}.kid-row-delete{cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:4px;padding:.3rem;font-size:1.1rem;transition:opacity .15s,background .15s}.kid-row-delete:hover{opacity:1;background:#fff5f5}@media (width<=768px){.settings-content{padding:0 15px 40px}.setting-section{padding:20px}.pin-actions{flex-direction:column}.pin-actions button{width:100%}}.lib-setting-row{flex-direction:column;gap:.4rem;display:flex}.lib-toggle-label{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lib-toggle-text{flex-direction:column;flex:1;gap:.2rem;display:flex}.lib-toggle-btn{color:#718096;cursor:pointer;transition:var(--transition-fast);background:#fff;border:2px solid #cbd5e0;border-radius:20px;flex-shrink:0;min-width:60px;padding:.4rem 1.25rem;font-size:.9rem;font-weight:600}.lib-toggle-btn.lib-toggle-on{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.kid-modules-section{border-top:1px solid #e2e8f0}.kid-modules-toggle{cursor:pointer;color:#4a5568;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.7rem 1rem;font-size:.85rem;font-weight:600;transition:background .15s;display:flex}.kid-modules-toggle:hover{background:#f7fafc}.kid-modules-toggle-arrow{color:#a0aec0;font-size:.7rem}.kid-modules-list{flex-direction:column;gap:.15rem;padding:.25rem 1rem .75rem;display:flex}.kid-module-group{flex-direction:column;gap:.15rem;margin-bottom:.35rem;display:flex}.kid-module-row{justify-content:space-between;align-items:center;gap:.5rem;min-height:2rem;display:flex}.kid-module-row--top .kid-module-label{color:#2d3748;font-size:.85rem;font-weight:600}.kid-module-row--sub{padding-left:1rem}.kid-module-row--sub .kid-module-label{color:#4a5568;font-size:.82rem}.kid-module-row--sub-disabled{opacity:.4;pointer-events:none}.kid-module-label{flex:1}.kid-module-row .lib-toggle-btn{min-width:50px;padding:.25rem .85rem;font-size:.78rem}.lib-spicy-header{margin-bottom:.5rem}.lib-spicy-label{color:var(--text-primary);font-size:.95rem;font-weight:500}.lib-spicy-value{color:var(--primary-color,#c04a14)}.lib-spicy-meter-wrap{flex-direction:column;gap:.25rem;display:flex}.lib-spicy-track{position:relative}.lib-spicy-slider{appearance:none;cursor:pointer;background:0 0;outline:none;width:100%;height:2rem}.lib-spicy-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,#48bb78,#ecc94b,#f56565);border-radius:3px;height:6px}.lib-spicy-slider::-moz-range-track{background:linear-gradient(90deg,#48bb78,#ecc94b,#f56565);border-radius:3px;height:6px}.lib-spicy-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;width:1.75rem;height:1.75rem;box-shadow:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text y='28' font-size='28'>🌶️</text></svg>") 50%/contain no-repeat;border:none;border-radius:50%}.lib-spicy-slider::-moz-range-thumb{cursor:pointer;width:1.75rem;height:1.75rem;box-shadow:none;background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text y='28' font-size='28'>🌶️</text></svg>") 50%/contain no-repeat;border:none;border-radius:50%}.lib-spicy-labels{color:var(--text-muted);justify-content:space-between;padding:0 2px;font-size:.75rem;display:flex}.lib-spicy-id-row{flex-direction:column;gap:.25rem;margin-top:.75rem;display:flex}.lib-spicy-id-label{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.lib-spicy-id-input{background:#fff;border:1px solid #cbd5e0;border-radius:4px;width:200px;padding:4px 8px;font-family:monospace;font-size:.875rem}.schedule-header{background:#ffffff0d;border-radius:12px;padding:16px}.controls-row{flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;display:flex}.controls-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.controls-bottom{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.stats-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.schedule-header .week-nav{align-items:center;gap:8px;display:flex}.schedule-header .nav-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1em;transition:background .2s;display:flex}.schedule-header .nav-btn:hover{background:#fff3}.schedule-header .week-display{background:0 0;border:none;align-items:center;gap:8px;padding:0;display:flex}.schedule-header .week-label{color:#f5a828;white-space:nowrap;font-size:.9em;font-weight:500}.schedule-header .week-number-badge{color:#c3d3fd;white-space:nowrap;letter-spacing:.02em;background:#c04a1440;border-radius:10px;padding:3px 10px;font-size:.78em;font-weight:700}.schedule-header .today-btn{color:#f5a828;cursor:pointer;background:#c04a144d;border:none;border-radius:4px;padding:3px 8px;font-size:.75em;transition:background .2s}.schedule-header .today-btn:hover{background:#c04a1480}.view-toggle{background:#0003;border-radius:8px;align-items:center;padding:4px;display:flex}.toggle-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:.9em;transition:all .2s}.toggle-btn:hover{color:#fff}.toggle-btn.active{color:#fff;background:#c04a1466}.date-range-toggle{background:#0003;border-radius:8px;align-items:center;padding:4px;display:flex}.range-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:8px 16px;font-size:.9em;transition:all .2s}.range-btn:hover{color:#fff}.range-btn.active{color:#fff;background:#38b2ac66}.child-filter{background:#0003;border-radius:8px;align-items:center;padding:4px;display:flex}.filter-btn:hover{color:#fff}.filter-btn.active{color:#fff;font-weight:600}.add-buttons{align-items:center;gap:8px;display:flex}.add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:8px 16px;font-size:.9em;transition:transform .2s,box-shadow .2s}.add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c04a144d}.add-btn.recurring{background:linear-gradient(135deg,#38b2ac,#319795)}.add-btn.recurring:hover{box-shadow:0 4px 12px #38b2ac4d}.add-btn.plan-week{background:linear-gradient(135deg,#38a169,#276749)}.add-btn.plan-week:hover{box-shadow:0 4px 12px #38a16959}.add-btn.print{background:linear-gradient(135deg,#718096,#4a5568)}.add-btn.print:hover{box-shadow:0 4px 12px #7180964d}.progress-stats{flex-wrap:wrap;gap:16px;display:flex}.stat{align-items:center;gap:6px;font-size:.9em;display:flex}.stat-label{color:#fff9}.stat-value{color:#fff;font-weight:500}.settings-btn{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:1.2em;transition:all .2s}.settings-btn:hover,.settings-btn.active{background:#ffffff26}.settings-panel{background:#ffffff1a;border-radius:8px;margin-top:12px;padding:12px 16px}.inactive-days-setting{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inactive-days-setting .setting-label{color:#fffc;font-size:.9em}.day-checkboxes{gap:8px;display:flex}.day-checkbox{color:#fff;cursor:pointer;background:#ffffff1a;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.85em;transition:all .2s;display:flex}.day-checkbox:hover{background:#fff3}.day-checkbox input{cursor:pointer}.day-checkbox input:checked+span{color:#ed8936}.day-checkbox:has(input:checked){color:#ed8936}.settings-panel .setting-hint{color:#ffffff80;width:100%;margin:8px 0 0;font-size:.8em}@media (width<=768px){.schedule-header{padding:12px}.stats-row{flex-direction:column;gap:12px}.week-nav,.progress-stats{justify-content:center}}.task-modal-day-off-warning{border-radius:7px;margin-top:8px;padding:7px 12px;font-size:.82em;font-weight:600}.task-modal-day-off-warning.vacation{color:#63b3ed;background:#63b3ed1f;border:1px solid #63b3ed59}.task-modal-day-off-warning.holiday{color:#f6ad55;background:#fbbf241f;border:1px solid #fbbf2459}.task-form .quick-pick-btn{flex-direction:column;align-items:stretch;gap:3px;display:flex}.quick-pick-name{white-space:nowrap;display:block}.quick-pick-progress{align-items:center;gap:5px;display:flex}.quick-pick-bar{background:#0000001a;border-radius:2px;flex:1;min-width:32px;height:4px;overflow:hidden}.quick-pick-fill{background:var(--primary-color,#c04a14);border-radius:2px;height:100%;transition:width .3s;display:block}.quick-pick-pct{color:#718096;white-space:nowrap;flex-shrink:0;font-size:.7em}.quick-pick-btn.active .quick-pick-pct{color:#4a5568}.task-grid-wrapper{margin-bottom:20px}.task-grid{border:2px solid #e2e8f0;border-radius:10px;overflow:hidden}.task-grid-header{color:#718096;text-transform:uppercase;letter-spacing:.03em;background:#f7fafc;border-bottom:2px solid #e2e8f0;grid-template-columns:46px 80px 116px 90px 48px;gap:8px;padding:8px 10px;font-size:.75em;font-weight:600;display:grid}.task-grid-row{border-bottom:1px solid #f0f0f0;flex-direction:column;gap:5px;padding:8px 10px;display:flex}.task-grid-row-top{grid-template-columns:46px 80px 116px 90px 48px;align-items:center;gap:8px;display:grid}.grid-row-desc{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:7px 6px;font-family:inherit;font-size:.82em}.grid-row-desc:focus{border-color:var(--primary-color,#c04a14);outline:none}.task-grid-row--rescheduled .grid-row-desc{background:#fb923c1a;border-color:#fb923c66}.task-grid-row:last-child{border-bottom:none}.grid-day-label{color:var(--primary-color,#c04a14);font-size:.85em;font-weight:700}.task-grid-row select,.task-grid-row input[type=text],.task-grid-row input[type=number]{box-sizing:border-box;background:#fff;border:1.5px solid #e2e8f0;border-radius:6px;width:100%;padding:7px 6px;font-family:inherit;font-size:.82em}.task-grid-row select:focus,.task-grid-row input:focus{border-color:var(--primary-color,#c04a14);outline:none}.task-grid-row--rescheduled select,.task-grid-row--rescheduled input[type=text],.task-grid-row--rescheduled input[type=number]{background:#fb923c1a;border-color:#fb923c66}.grid-col-num{text-align:center}.grid-col-actions{justify-content:center;gap:2px;display:flex}.grid-add-row-btn,.grid-remove-row-btn{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:.85em;font-weight:700;line-height:1;display:flex}.grid-add-row-btn{color:#38a169;background:#48bb7826}.grid-add-row-btn:hover{background:#48bb784d}.grid-remove-row-btn{color:#e53e3e;background:#f5656526}.grid-remove-row-btn:hover{background:#f565654d}.fill-buttons{flex-wrap:wrap;gap:6px;display:flex}.fill-btn{cursor:pointer;color:#4a5568;background:#f7fafc;border:2px solid #e2e8f0;border-radius:6px;padding:6px 12px;font-size:.8em;font-weight:500;transition:all .2s}.fill-btn:hover{border-color:var(--primary-color,#c04a14);background:#ed64a60d}.fill-btn.unit{color:var(--primary-color,#c04a14);background:#c04a141a;border-color:#c04a144d}.fill-btn.unit:hover{border-color:var(--primary-color,#c04a14);background:#c04a1433}.fill-btn.quiz{color:#dd6b20;background:#ed89361a;border-color:#ed89364d}.fill-btn.quiz:hover{background:#ed893633;border-color:#ed8936}.plan-next-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.plan-next-label{color:#718096;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.fill-btn.plan-fill{color:#5a67d8;background:#637aed14;border-color:#637aed4d;padding:4px 10px;font-size:.8rem}.fill-btn.plan-fill:hover{background:#637aed26;border-color:#5a67d8}.plan-next-list{flex-direction:column;gap:3px;display:flex}.plan-next-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;display:flex}.plan-next-item.scheduled{opacity:.45}.plan-next-type{text-transform:uppercase;letter-spacing:.05em;color:#a0aec0;flex-shrink:0;min-width:56px;font-size:.7rem}.plan-next-title{color:#2d3748;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.85rem;overflow:hidden}.plan-next-add-btn{color:#5a67d8;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:.9rem;line-height:1}.plan-next-add-btn:hover{background:#637aed14;border-color:#5a67d8}.plan-next-more{color:#a0aec0;padding:2px 8px;font-size:.75rem}.grid-num-range{align-items:center;gap:3px;width:100%;display:flex}.grid-num-range input{text-align:center;flex:1;min-width:0}.grid-range-sep{color:#718096;flex-shrink:0;font-size:.8em;line-height:1}.unit-quiz-row{align-items:center;gap:10px;display:flex}.unit-quiz-row select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:12px;font-family:inherit;font-size:1em}.unit-quiz-row select:focus{border-color:var(--primary-color,#c04a14);outline:none}.unit-number-input{text-align:center;width:80px!important}.unit-range-inputs{align-items:center;gap:6px;display:flex}.unit-range-sep{color:#718096;flex-shrink:0;font-size:1em}.task-discard-prompt{background:#fffbeb;border:2px solid #f6ad55;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:flex}.task-discard-msg{color:#744210;flex:1;min-width:160px;font-size:.9em;font-weight:600}.task-discard-actions{flex-wrap:wrap;gap:8px;display:flex}.task-discard-actions button{cursor:pointer;border:none;border-radius:7px;padding:7px 14px;font-size:.85em;font-weight:600}.task-discard-actions button.success{color:#fff;background:#48bb78}.task-discard-actions button.success:hover{background:#38a169}.task-discard-actions button.danger{color:#fff;background:#fc8181}.task-discard-actions button.danger:hover{background:#e53e3e}.task-discard-actions button:not(.success):not(.danger){color:#4a5568;background:#fff;border:1.5px solid #e2e8f0}.task-discard-actions button:not(.success):not(.danger):hover{background:#f7fafc}.task-form .button-group{z-index:10;background:#fff;border-top:2px solid #e2e8f0;margin:0 -30px -30px;padding:14px 30px 4px;position:sticky;bottom:-30px}@media (width<=600px){.task-grid-header{display:none}.task-grid-row{border-bottom:2px solid #e2e8f0;gap:6px;padding:12px}.task-grid-row:last-child{border-bottom:none}.task-grid-row-top{grid-template-columns:46px 1fr 1fr 80px 40px;gap:5px}.grid-day-label{font-size:.95em}.task-grid-row select,.task-grid-row input[type=text],.task-grid-row input[type=number],.grid-row-desc{padding:10px;font-size:.9em}.grid-col-actions{flex-direction:row;justify-content:center}.fill-buttons{flex-direction:column}.fill-btn{text-align:center}}.task-meta-row{gap:16px;display:flex}.task-meta-row .form-group{flex:1}.priority-toggle{gap:4px;display:flex}.priority-btn{cursor:pointer;color:#4a5568;background:#f7fafc;border:1.5px solid #e2e8f0;border-radius:6px;flex:1;padding:6px 8px;font-size:.8em;font-weight:600;transition:all .15s}.priority-btn.priority-high.active{color:#c53030;background:#fed7d7;border-color:#fc8181}.priority-btn.priority-normal.active{color:#2b6cb0;background:#ebf4ff;border-color:#90cdf4}.priority-btn.priority-low.active{color:#718096;background:#f7fafc;border-color:#a0aec0;font-weight:500}.priority-btn:not(.active):hover{background:#edf2f7;border-color:#cbd5e0}.self-schedule-toggle-group{margin-bottom:4px}.self-schedule-label{cursor:pointer;color:#4a5568;align-items:center;gap:8px;font-size:.9em;display:flex}.self-schedule-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.allow-subtasks-label{color:#718096;margin-top:6px;margin-left:4px;font-size:.875em}.pfm-overlay{z-index:200;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pfm-panel{background:#1e2336;border-radius:12px;flex-direction:column;width:min(600px,95vw);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000080}.pfm-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.pfm-title{color:#fff;font-size:1rem;font-weight:600}.pfm-close{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.1rem}.pfm-close:hover{color:#fff;background:#ffffff14}.pfm-week-nav{border-bottom:1px solid #ffffff14;flex-shrink:0;align-items:center;gap:12px;padding:12px 20px;display:flex}.pfm-nav-btn{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:6px;padding:4px 10px;font-size:.9rem}.pfm-nav-btn:hover:not(:disabled){background:#ffffff24}.pfm-nav-btn:disabled{opacity:.3;cursor:default}.pfm-week-label{color:#fffc;text-align:center;flex:1;font-size:.9rem;font-weight:500}.pfm-body{flex-direction:column;flex:1;gap:16px;padding:16px 20px;display:flex;overflow-y:auto}.pfm-empty{text-align:center;color:#ffffff80;padding:24px 0;font-size:.9rem}.pfm-empty p{margin:6px 0}.pfm-group{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:8px;overflow:hidden}.pfm-group-header{border-bottom:1px solid #ffffff14;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.pfm-kid-name{font-size:.9rem;font-weight:700}.pfm-plan-name{color:#ffffffb3;font-size:.85rem}.pfm-curriculum-name{color:#fff6;background:#ffffff0f;border-radius:4px;padding:2px 8px;font-size:.78rem}.pfm-progress-wrap{align-items:center;gap:5px;margin-left:auto;display:flex}.pfm-progress-bar{background:#ffffff1a;border-radius:3px;flex-shrink:0;width:72px;height:5px;overflow:hidden}.pfm-progress-fill{background:#48bb78;border-radius:3px;height:100%;transition:width .3s;display:block}.pfm-progress-pct{color:#ffffff80;white-space:nowrap;flex-shrink:0;font-size:.72rem}.pfm-item-row{border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:8px 14px;display:flex}.pfm-item-row:last-child{border-bottom:none}.pfm-item-row.unchecked{opacity:.45}.pfm-checkbox{cursor:pointer;flex-shrink:0;width:16px;height:16px}.pfm-item-type{color:#fff6;flex-shrink:0;min-width:56px;font-size:.75rem;font-style:italic}.pfm-item-title{color:#ffffffe6;flex:1;min-width:0;font-size:.88rem}.pfm-day-select{color:#fffc;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;flex-shrink:0;padding:4px 6px;font-size:.82rem}.pfm-student-led{border-top:1px solid #ffffff14;flex-shrink:0;padding:10px 20px}.pfm-student-led-toggle{cursor:pointer;color:#fffc;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.88rem;display:flex}.pfm-student-led-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;width:15px;height:15px}.pfm-student-led-hint{color:#ffffff73;margin:6px 0 0 23px;font-size:.8rem;font-style:italic}.pfm-footer{border-top:1px solid #ffffff1a;flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.pfm-cancel-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:8px 18px;font-size:.9rem}.pfm-cancel-btn:hover{background:#ffffff1a}.pfm-confirm-btn{color:#fff;cursor:pointer;background:#38a169;border:none;border-radius:6px;padding:8px 20px;font-size:.9rem;font-weight:600}.pfm-confirm-btn:hover{background:#2f855a}.pfm-confirm-btn:disabled{opacity:.5;cursor:default}.ptpv-root{flex-direction:column;gap:16px;max-height:70vh;display:flex;overflow-y:auto}.ptpv-empty{text-align:center;color:#a0aec0;padding:32px 16px;font-style:italic}.ptpv-kid-section{flex-direction:column;gap:12px;display:flex}.ptpv-kid-heading{text-transform:uppercase;letter-spacing:.06em;color:#c04a14;border-left:3px solid #c04a14;padding-left:8px;font-size:.8em;font-weight:700}.ptpv-group{flex-direction:column;gap:6px;display:flex}.ptpv-group-title{text-transform:uppercase;letter-spacing:.05em;color:#718096;padding:2px 0;font-size:.78em;font-weight:600}.ptpv-task{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;transition:background .15s,border-color .15s;display:flex}.ptpv-task:hover{background:#faf5ff;border-color:#b794f4}.ptpv-task.unscheduled{border-left:3px solid #e2e8f0}.ptpv-task.scheduled{border-left:3px solid #e8762c}.ptpv-task-left{flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.ptpv-subject-dot{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.85em;display:inline-flex}.ptpv-subject-dot.large{width:36px;height:36px;font-size:1.1em}.ptpv-task-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ptpv-task-desc{color:#2d3748;white-space:nowrap;text-overflow:ellipsis;font-size:.95em;font-weight:500;overflow:hidden}.ptpv-task-desc.done{color:#a0aec0;text-decoration:line-through}.ptpv-task-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ptpv-scheduled-on{color:#c04a14;font-size:.78em}.ptpv-not-scheduled{color:#a0aec0;font-size:.78em;font-style:italic}.ptpv-st-count{color:#718096;background:#edf2f7;border-radius:10px;padding:1px 7px;font-size:.75em}.ptpv-no-subtasks{color:#a0aec0;background:#edf2f7;border-radius:10px;padding:1px 7px;font-size:.75em;font-style:italic}.ptpv-task-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.ptpv-due-badge{white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:600}.ptpv-due-badge.due-overdue,.ptpv-due-badge.due-urgent{color:#c53030;background:#fff5f5}.ptpv-due-badge.due-warning{color:#b7791f;background:#fffbeb}.ptpv-due-badge.due-safe{color:#276749;background:#f0fff4}.ptpv-priority-high{color:#c05621;background:#fff5eb;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:700}.ptpv-chevron{color:#cbd5e0;font-size:1.2em;line-height:1}.ptpv-detail{flex-direction:column;gap:16px;max-height:70vh;display:flex;overflow-y:auto}.ptpv-back-btn{color:#c04a14;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.875em}.ptpv-back-btn:hover{text-decoration:underline}.ptpv-detail-header{align-items:flex-start;gap:12px;display:flex}.ptpv-detail-meta{flex-direction:column;gap:4px;display:flex}.ptpv-detail-child{color:#c04a14;text-transform:uppercase;letter-spacing:.05em;font-size:.8em;font-weight:700}.ptpv-detail-scheduled{color:#4a5568;font-size:.9em}.ptpv-detail-not-scheduled{color:#a0aec0;font-size:.9em;font-style:italic}.ptpv-st-section{border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.ptpv-st-heading{color:#4a5568;align-items:center;gap:8px;font-size:.85em;font-weight:600;display:flex}.ptpv-st-count-badge{color:#718096;background:#edf2f7;border-radius:10px;padding:1px 7px;font-size:.8em}.ptpv-no-subtasks-badge{color:#a0aec0;background:#edf2f7;border-radius:10px;padding:1px 7px;font-size:.75em;font-style:italic}.ptpv-st-disabled,.ptpv-st-empty{color:#a0aec0;font-size:.85em;font-style:italic}.ptpv-st-list{flex-direction:column;gap:4px;display:flex}.ptpv-st-row{color:#4a5568;align-items:center;gap:6px;font-size:.875em;display:flex}.ptpv-st-row.done .ptpv-st-desc{color:#a0aec0;text-decoration:line-through}.ptpv-tree-connector{color:#cbd5e0;flex-shrink:0;font-family:monospace}.ptpv-st-checkbox{cursor:default;flex-shrink:0}.ptpv-st-desc{flex:1}.ptpv-st-when{color:#e8762c;white-space:nowrap;font-size:.8em}.ptpv-detail-actions{justify-content:space-between;align-items:center;display:flex}.ptpv-edit-btn{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:6px;padding:8px 18px;font-size:.875em;font-weight:600;transition:background .15s}.ptpv-edit-btn:hover{background:#3d1040}.ptpv-delete-btn{color:#c53030;cursor:pointer;background:0 0;border:1px solid #feb2b2;border-radius:6px;padding:8px 14px;font-size:.875em;transition:background .15s,border-color .15s}.ptpv-delete-btn:hover{background:#fff5f5;border-color:#fc8181}.ptpv-st-edit-btn{cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0 2px;font-size:.8em;transition:opacity .15s}.ptpv-st-row:hover .ptpv-st-edit-btn{opacity:1}.ptpv-st-edit-row{margin:4px 0}.ptpv-st-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.ptpv-st-form-input{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:6px 10px;font-size:.9em}.ptpv-st-form-input:focus{border-color:#e8762c;outline:none;box-shadow:0 0 0 2px #9f7aea33}.ptpv-st-week-nav{justify-content:center;align-items:center;gap:8px;display:flex}.ptpv-week-btn{cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:.9em}.ptpv-week-btn:disabled{opacity:.3;cursor:not-allowed}.ptpv-week-label{color:#4a5568;text-align:center;flex:1;font-size:.85em}.ptpv-st-day-pills{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.ptpv-day-pill{color:#44337a;cursor:pointer;background:#faf5ff;border:1px solid #b794f4;border-radius:20px;padding:4px 10px;font-size:.8em;font-weight:500;transition:all .15s}.ptpv-day-pill:hover:not(:disabled){background:#e9d8fd;border-color:#e8762c}.ptpv-day-pill.active{color:#fff;background:#c04a14;border-color:#c04a14}.ptpv-day-pill.disabled{opacity:.4;cursor:not-allowed}.ptpv-st-range-hint{color:#e8762c;text-align:center;font-size:.75em}.ptpv-st-form-actions{justify-content:flex-end;gap:8px;display:flex}.ptpv-st-btn-cancel{color:#44337a;cursor:pointer;background:#fff;border:1px solid #b794f4;border-radius:6px;padding:6px 14px;font-size:.85em}.ptpv-st-btn-save{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:600}.ptpv-st-btn-save:disabled{opacity:.4;cursor:not-allowed}.homeschool-schedule{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);min-height:100vh;padding:0}.homeschool-schedule .module-header{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));text-align:center;color:#fff;padding:40px 20px;position:relative}.homeschool-schedule .module-header .back-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:8px;padding:10px 20px;transition:background .3s;position:absolute;top:20px;left:20px}.homeschool-schedule .module-header .back-btn:hover{background:#ffffff40}.homeschool-schedule .module-header h1{text-shadow:2px 2px 4px #0003;margin:0 0 10px;font-size:2em}.homeschool-schedule .module-header h2{opacity:.95;margin:0;font-size:1.5em;font-weight:400}.homeschool-schedule .module-header .saving-indicator{color:gold;font-size:.9em;position:absolute;top:20px;right:20px}.homeschool-schedule .schedule-content-wrapper{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);min-height:calc(100vh - 180px);padding:20px}.loading-state{color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.spinner{border:3px solid #fff3;border-top-color:var(--primary-color,#c04a14);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.error-banner{color:#742a2a;background:#fc8181;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 20px;display:flex}.error-banner button{color:#742a2a;cursor:pointer;background:0 0;border:1px solid #742a2a;border-radius:4px;padding:4px 12px}.empty-state{text-align:center;color:#fff;background:#ffffff0d;border-radius:16px;padding:60px 40px}.empty-icon{margin-bottom:20px;font-size:4em}.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:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 24px;font-size:1em;transition:transform .2s,box-shadow .2s}.add-task-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #c04a1466}.bump-bar{align-items:center;gap:8px;margin-top:16px;display:flex}.bump-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ed8936,#dd6b20);border:none;border-radius:8px;padding:8px 18px;font-size:.9em;font-weight:500;transition:transform .2s,box-shadow .2s}.bump-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ed89364d}.bump-btn.has-selection{animation:1.5s ease-in-out infinite pulse-bump}@keyframes pulse-bump{0%,to{box-shadow:0 0 #ed893666}50%{box-shadow:0 0 0 6px #ed893600}}.bump-clear-btn{color:#fffc;cursor:pointer;white-space:nowrap;background:#ffffff26;border:none;border-radius:8px;padding:8px 12px;font-size:.8em;transition:background .2s}.bump-clear-btn:hover{background:#ffffff40}.bump-undo-btn{color:#bee3f8;cursor:pointer;white-space:nowrap;background:#9ad7ff40;border:1px solid #9ad7ff80;border-radius:8px;padding:8px 14px;font-size:.85em;transition:background .2s,transform .1s;animation:.3s fade-in-undo}.bump-undo-btn:hover{background:#9ad7ff66;transform:translateY(-1px)}@keyframes fade-in-undo{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.show-done-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.show-done-label{color:#fffc;white-space:nowrap;font-size:.85em}.toggle-track{background:#fff3;border-radius:10px;flex-shrink:0;width:36px;height:20px;transition:background .2s;display:inline-block;position:relative}.toggle-track.on{background:#63b3edb3}.toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-track.on .toggle-thumb{transform:translate(16px)}.bump-bar-print-btn{color:#fffc;cursor:pointer;white-space:nowrap;background:#ffffff26;border:none;border-radius:8px;margin-left:auto;padding:8px 16px;font-size:.85em;transition:background .2s}.bump-bar-print-btn:hover{background:#ffffff40}.bump-bar-plans-btn{color:#fffc;cursor:pointer;white-space:nowrap;background:#ffffff26;border:none;border-radius:8px;padding:8px 16px;font-size:.85em;transition:background .2s}.bump-bar-plans-btn:hover{background:#ffffff40}.schedule-content{margin-top:20px}.schedule-section{background:#ffffff0d;border-radius:12px;margin-bottom:16px;overflow:hidden}.section-header{cursor:pointer;background:#ffffff0d;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.section-header:hover{background:#ffffff14}.section-title{color:#fff;align-items:center;gap:10px;font-size:1.1em;font-weight:600;display:flex}.section-icon{font-size:1.2em}.section-count{color:#fffc;background:#fff3;border-radius:12px;padding:2px 10px;font-size:.85em}.plan-progress-bars{background:#0000001f;border-bottom:1px solid #ffffff0f;flex-direction:column;gap:4px;padding:6px 16px 8px;display:flex}.plan-progress-bar-row{align-items:center;gap:8px;font-size:.78rem;display:flex}.ppb-label{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;min-width:130px;overflow:hidden}.ppb-track{background:#ffffff1a;border-radius:3px;flex:1;height:6px;position:relative;overflow:visible}.ppb-fill-actual{background:linear-gradient(90deg,#c04a14,#f5a828);border-radius:3px;height:100%;transition:width .3s}.ppb-target-marker{border-radius:1px;width:2px;height:12px;position:absolute;top:-3px;transform:translate(-1px)}.ppb-target-marker.on-track{background:#68d391}.ppb-target-marker.behind{background:#fc8181}.ppb-text{color:#ffffff80;text-align:right;white-space:nowrap;min-width:64px}.ppb-status.on-track{color:#68d391}.ppb-status.behind{color:#fc8181}.section-header-right{align-items:center;gap:10px;display:flex}.day-collapse-chevron{color:#ffffff80;-webkit-user-select:none;user-select:none;font-size:1.4em;line-height:1;transition:transform .2s}.day-past-badge{color:#ffffff80;text-transform:uppercase;letter-spacing:.05em;background:#ffffff1f;border-radius:8px;padding:1px 7px;font-size:.7em;font-weight:500}.schedule-section.collapsed .section-header{background:#ffffff08}.section-content{padding:12px 16px}.day-subsection{margin-bottom:12px}.day-subsection:last-child{margin-bottom:0}.day-label{color:#fff9;margin-bottom:8px;padding-left:4px;font-size:.85em;font-weight:500}.subject-subsection{margin-bottom:16px}.subject-subsection:last-child{margin-bottom:0}.subject-label{color:#fffc;align-items:center;gap:8px;margin-bottom:8px;padding-left:4px;font-size:.9em;font-weight:500;display:flex}.task-row{background:#ffffff08;border-radius:8px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px;transition:background .2s;display:flex}.task-row:last-child{margin-bottom:0}.task-row:hover{background:#ffffff0f}.task-row.completed{opacity:.6}.task-column-labels{border-bottom:1px solid #ffffff14;gap:12px;margin-bottom:4px;padding:0 12px 4px;display:flex}.col-label{text-transform:uppercase;letter-spacing:.05em;text-align:center;font-size:.65em;font-weight:600}.col-label.bump-label{color:#ed8936;width:18px;margin-right:6px}.col-label.done-label{color:#48bb78;width:22px}.task-select-checkbox{cursor:pointer;accent-color:#ed8936;flex-shrink:0;width:18px;height:18px;margin-top:3px;margin-right:6px}.task-row.selected{background:#ed89361a;border-left:3px solid #ed8936;padding-left:9px}.task-checkbox{cursor:pointer;accent-color:#48bb78;width:22px;height:22px;margin-top:2px}.task-content{flex:1;min-width:0}.task-main{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.task-description{color:#fff;font-size:1em}.task-row.completed .task-description{color:#ffffff80;text-decoration:line-through}.task-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-book{color:#ffffff80;font-size:.85em}.task-badge{border-radius:4px;padding:2px 8px;font-size:.75em;font-weight:500}.task-badge.type-independent{color:#63b3ed;background:#4299e133}.task-badge.type-with-mom,.task-badge.child{color:#b794f4;background:#9f7aea33}.task-badge.child.together{color:#68d391;background:#48bb7833}.task-badge.recurring{color:#4fd1c5;background:#38b2ac33;font-size:.85em}.task-badge.moved{color:#ed8936;background:#ed893633;font-size:.85em}.task-actions{opacity:0;gap:4px;transition:opacity .2s;display:flex}.task-row:hover .task-actions{opacity:1}.task-actions button{color:#ffffffb3;cursor:pointer;background:#ffffff1a;border:none;border-radius:4px;padding:6px 10px;font-size:.85em;transition:background .2s}.task-actions button:hover{background:#fff3}.task-actions button.delete:hover{color:#fc8181;background:#f565654d}.task-actions button.reschedule{color:#ed8936;background:#ed893633}.task-actions button.reschedule:hover{background:#ed89364d}.task-actions button.rework-btn{color:#b794f4;background:#9f7aea33}.task-actions button.rework-btn:hover{background:#9f7aea4d}.task-badge.rework-badge{color:#b794f4;background:#9f7aea2e}.task-actions button.reset-pushes{color:#c05621;background:#ed893626;border-color:#ed893666}.task-actions button.reset-pushes:hover{background:#ed893647}.task-actions button.grade-entry{color:#f5a828;background:#c04a1433}.task-actions button.grade-entry:hover{background:#c04a1459}.task-actions button.grade-entry.needs-grade{color:#fbd38d;background:#ed893633;animation:2.5s ease-in-out infinite needs-grade-pulse}.task-actions button.grade-entry.needs-grade:hover{background:#ed893659;animation:none}@keyframes needs-grade-pulse{0%,to{opacity:1}50%{opacity:.65}}.grade-entry-wrapper .needs-grade-dot{pointer-events:none;background:#ed8936;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 3px #0000004d}.schedule-grade-subject-banner{background:#c04a1414;border-left:4px solid #c04a14;border-radius:0 8px 8px 0;justify-content:space-between;align-items:center;margin-bottom:18px;padding:8px 12px;display:flex}.schedule-grade-subject-name{color:#2d3748;font-size:1em;font-weight:600}.schedule-grade-scale-badge{text-transform:uppercase;letter-spacing:.05em;color:#c04a14;background:#c04a1426;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:600}.week-group{margin-bottom:24px}.week-group:last-child{margin-bottom:0}.week-header{background:linear-gradient(135deg,#3d104066,#c04a1440);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:12px;padding:12px 16px;display:flex}.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;background:#c04a1426;border-radius:6px;margin-bottom:8px;padding:6px 10px;font-size:.9em;font-weight:500;display:inline-block}.subject-group{margin-bottom:16px}.subject-group-header{cursor:pointer;background:#ffffff14;border-left:4px solid;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:14px 20px;transition:background .2s;display:flex}.subject-group-header:hover{background:#ffffff1f}.subject-group-header .section-title{color:#fff;align-items:center;gap:10px;font-size:1.1em;font-weight:600;display:flex}.subject-group-header .section-count{color:#fffc;background:#fff3;border-radius:12px;padding:2px 10px;font-size:.85em}.group-toggle{color:#ffffff80;margin-left:4px;font-size:.9em}.subject-group-children{border-left:4px solid #ffffff1a;margin-left:8px;padding-left:12px}.subject-group-children .schedule-section{background:#ffffff08;border-radius:8px;margin-bottom:8px}.subject-group-children .section-header{background:#ffffff08;padding:10px 16px}.subject-group-children .section-title{font-size:1em}.schedule-section.has-holiday{background:#fbbf240d;border:1px solid #fbbf244d}.schedule-section.has-holiday .section-header{background:#fbbf241a}.holiday-badge{color:#fbbf24;cursor:pointer;background:#fbbf2433;border:1px solid #fbbf244d;border-radius:12px;margin-left:8px;padding:4px 10px;font-size:.8em;font-weight:500;transition:all .2s}.holiday-badge:hover{background:#fbbf244d;border-color:#fbbf2480}.holiday-badge.not-observed{color:#9ca3af;background:#9ca3af33;border-color:#9ca3af4d}.holiday-badge.not-observed:hover{background:#9ca3af4d;border-color:#9ca3af80}.holiday-badge .school-day-note{opacity:.8;font-weight:400}.holiday-badge.custom-holiday.observed{color:#2b6cb0;background:#ebf8ff;border-color:#bee3f8}.holiday-badge.custom-holiday.not-observed{color:#276749;background:#f0fff4;border-color:#9ae6b4}.holiday-badge-small{color:#fbbf24;cursor:pointer;background:#fbbf2433;border:1px solid #fbbf244d;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.85em;font-weight:500;transition:all .2s}.holiday-badge-small:hover{background:#fbbf244d;border-color:#fbbf2480}.holiday-badge-small.not-observed{color:#9ca3af;background:#9ca3af33;border-color:#9ca3af4d}.holiday-badge-small.not-observed:hover{background:#9ca3af4d;border-color:#9ca3af80}.day-subsection.has-holiday{background:#fbbf240d;border-radius:8px;margin-left:-8px;margin-right:-8px;padding:8px}.day-subsection.has-holiday .day-label{color:#fbbf24}.vacation-week-warning{color:#63b3ed;background:#63b3ed1f;border:1px solid #63b3ed4d;border-radius:8px;margin:0 0 8px;padding:8px 16px;font-size:.85em;font-weight:600}.vacation-week-warning.small{border-radius:6px;margin:0 0 6px;padding:4px 10px;font-size:.8em}.holiday-task-warning{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:8px;margin:0 16px 8px;padding:8px 16px;font-size:.85em}.holiday-task-warning.small{border-radius:6px;margin:0 0 6px;padding:4px 10px;font-size:.8em}@media (width<=768px){.homeschool-schedule .module-header{padding:60px 15px 30px}.homeschool-schedule .module-header .back-btn{padding:8px 12px;font-size:.9em;top:10px;left:10px}.homeschool-schedule .module-header h1{font-size:1.4em}.homeschool-schedule .module-header h2{font-size:1em}.homeschool-schedule .module-header .saving-indicator{top:10px;right: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}}.task-badge.priority-high{color:#e53e3e;background:#fc81812e}.task-badge.priority-low{color:#718096;background:#a0aec026}.task-badge.due-badge.due-safe{color:#276749;background:#48bb7826}.task-badge.due-badge.due-warning{color:#975a16;background:#d69e2e2e}.task-badge.due-badge.due-urgent{color:#c53030;background:#fc818133}.task-badge.due-badge.due-overdue{color:#9b2c2c;background:#e53e3e33}.task-badge.subtasks{color:#4a5568;background:#a0aec026}.task-badge.bucket-badge{color:#c04a14;background:#805ad526}.task-badge.coop-class{color:#6b46c1;background:#805ad526}.task-badge.span-progress{color:#276749;background:#38a16926}.parent-bucket-section{border:1px solid #805ad54d;border-radius:12px;margin:16px 0;overflow:hidden}.parent-bucket-toggle{cursor:pointer;color:#d6bcfa;text-align:left;background:#805ad51f;border:none;align-items:center;gap:8px;width:100%;padding:12px 16px;font-size:.9em;font-weight:600;transition:background .15s;display:flex}.parent-bucket-toggle:hover{background:#805ad533}.parent-bucket-count{background:#805ad54d;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.82em}.parent-bucket-body{padding:4px 0}.no-periods-notice{color:#744210;background:#fefcbf;border:1px solid #f6e05e;border-radius:8px;padding:10px 14px;font-size:.85em;line-height:1.5}.grade-entry-wrapper{display:inline-flex;position:relative}.grade-entry-wrapper .graded-check{color:#fff;pointer-events:none;background:#38a169;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.65em;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 3px #0003}.subject-editor{margin-top:12px}.subject-list{flex-direction:column;gap:6px;display:flex}.subject-row{background:#f7fafc;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .2s;display:flex}.subject-row:hover{background:#edf2f7}.drag-handle{color:#a0aec0;cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:1px;flex-shrink:0;padding:2px 4px;font-size:1.1em;transition:color .2s}.drag-handle:hover{color:#4a5568}.drag-handle:active{cursor:grabbing}.subject-row.dragging{opacity:.4;background:#edf2f7;border:1px dashed #a0aec0}.subject-row.drag-over-above{box-shadow:0 -2px 0 0 var(--primary-color,#c04a14)}.subject-row.drag-over-below{box-shadow:0 2px 0 0 var(--primary-color,#c04a14)}.subject-row[draggable=true]{touch-action:none}.subject-row.minor{background:#fafbfc;border-left:3px solid #cbd5e0;margin-left:24px;padding-left:14px}.subject-row.minor:hover{background:#f0f2f5}.subject-row.minor .subject-name{font-size:.9em}.minor-connector{color:#a0aec0;flex-shrink:0;margin-right:-4px;font-size:.85em}.subject-nest-controls{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.nest-btn{color:#718096;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:4px;padding:1px 4px;font-size:.7em;line-height:1;transition:all .2s}.nest-btn:hover{color:#4a5568;background:#edf2f7;border-color:#a0aec0}.minor-edit-hint{color:#a0aec0;font-size:.8em;font-style:italic}.subject-icon{flex-shrink:0;font-size:1.3em}.subject-name{color:#2d3748;flex:1;font-weight:500}.subject-color-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.subject-actions{flex-shrink:0;gap:6px;display:flex}.subject-actions .edit-btn{color:var(--primary-color,#c04a14);cursor:pointer;background:#3182ce1a;border:none;border-radius:6px;padding:4px 10px;font-size:.8em;transition:all .2s}.subject-actions .edit-btn:hover{background:#3182ce33}.subject-actions .delete-btn{color:#a0aec0;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.2em;transition:color .2s}.subject-actions .delete-btn:hover{color:#e53e3e}.subject-edit-form,.subject-add-form{flex-direction:column;gap:10px;width:100%;display:flex}.subject-add-form{background:#f7fafc;border:1px dashed #cbd5e0;border-radius:8px;margin-top:12px;padding:14px}.subject-edit-top{align-items:center;gap:10px;display:flex}.icon-picker-wrapper{position:relative}.icon-btn{cursor:pointer;background:#edf2f7;border:2px solid #e2e8f0;border-radius:8px;padding:6px 10px;font-size:1.4em;transition:all .2s}.icon-btn:hover{background:#e2e8f0}.emoji-picker{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;grid-template-columns:repeat(6,1fr);gap:4px;max-height:200px;margin-top:6px;padding:10px;display:grid;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.emoji-option{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:6px;padding:6px;font-size:1.3em;transition:all .15s}.emoji-option:hover{background:#edf2f7}.emoji-option.selected{border-color:var(--primary-color,#c04a14);background:#3182ce26}.subject-name-input{color:#2d3748;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:8px 12px;font-size:.95em;font-weight:500}.subject-name-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 3px #3182ce1a}.subject-name-input::placeholder{color:#a0aec0}.color-options{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:all .15s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:#2d3748;transform:scale(1.15);box-shadow:0 0 0 2px #00000026}.subject-edit-actions{gap:8px;display:flex}.subject-edit-actions .save-btn{color:#fff;cursor:pointer;background:#38a169;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;font-weight:500;transition:background .2s}.subject-edit-actions .save-btn:hover{background:#2f855a}.subject-edit-actions .cancel-btn{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:6px;padding:6px 14px;font-size:.85em;transition:background .2s}.subject-edit-actions .cancel-btn:hover{background:#e2e8f0}.add-subject-btn{width:100%;color:var(--primary-color,#c04a14);cursor:pointer;background:#3182ce14;border:1px dashed #3182ce66;border-radius:8px;margin-top:12px;padding:10px;font-size:.9em;transition:all .2s}.add-subject-btn:hover{background:#3182ce26;border-color:#3182ce99}.grade-setup-toggle{margin-top:10px}.grade-setup-toggle-btn{color:#4c51bf;cursor:pointer;text-align:left;background:#c04a1414;border:1px solid #c04a144d;border-radius:6px;width:100%;padding:5px 12px;font-size:.82em;transition:all .2s}.grade-setup-toggle-btn:hover{background:#c04a1426}.grade-setup-panel{background:#f8f9ff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:10px;margin-top:8px;padding:12px;display:flex}.grade-setup-label{color:#4a5568;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:.78em;font-weight:600;display:block}.grade-scale-pills,.grade-type-pills{flex-wrap:wrap;gap:6px;display:flex}.grade-pill{color:#4a5568;cursor:pointer;background:#fff;border:1.5px solid #cbd5e0;border-radius:12px;padding:4px 10px;font-size:.8em;transition:all .15s}.grade-pill:hover{color:#4c51bf;border-color:#c04a14}.grade-pill.active{color:#4c51bf;background:#c04a141f;border-color:#c04a14;font-weight:600}.grade-weight-inputs{flex-direction:column;gap:6px;display:flex}.grade-weight-row{align-items:center;gap:8px;font-size:.85em;display:flex}.grade-weight-icon{font-size:1em}.grade-weight-label{color:#4a5568;flex:1}.grade-weight-input{text-align:right;border:1px solid #e2e8f0;border-radius:5px;width:58px;padding:4px 6px;font-size:.88em}.weight-total.good{color:#38a169}.weight-total.bad{color:#e53e3e}.grade-mode-hint{color:#718096;margin:4px 0 0;font-size:.78em;font-style:italic}.grade-external-row,.grade-external-provider-row,.grade-external-period-row{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.grade-external-input{box-sizing:border-box;border:1.5px solid #e2e8f0;border-radius:7px;width:100%;padding:7px 10px;font-family:inherit;font-size:.9em}.grade-external-input:focus{border-color:#c04a14;outline:none}.subject-grade-status{cursor:default;flex-shrink:0;font-size:.9em;line-height:1}.subject-grade-status--warn{filter:saturate(1.5);opacity:.85}.grade-setup-section-header{color:#4a5568;border-top:1px solid #e2e8f0;margin-top:8px;padding:8px 0 4px;font-size:.88em;font-weight:600}.custom-category-add-row{gap:6px;margin-top:8px;display:flex}.custom-category-input{color:#2d3748;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;flex:1;padding:5px 10px;font-size:.82em}.custom-category-input:focus{border-color:#c04a14;outline:none}.custom-category-input::placeholder{color:#a0aec0}.custom-category-add-btn{color:#4c51bf;cursor:pointer;white-space:nowrap;background:#c04a141a;border:1.5px solid #c04a1466;border-radius:8px;padding:5px 10px;font-size:.82em;transition:all .15s}.custom-category-add-btn:hover:not(:disabled){background:#c04a1433}.custom-category-add-btn:disabled{opacity:.4;cursor:default}.custom-category-chips{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.custom-category-chip{color:#4c51bf;background:#c04a141f;border:1.5px solid #c04a14;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:.8em;font-weight:600;display:inline-flex}.custom-category-remove{color:#c04a14;cursor:pointer;opacity:.7;background:0 0;border:none;padding:0 1px;font-size:1em;line-height:1;transition:opacity .15s}.custom-category-remove:hover{opacity:1;color:#e53e3e}.state-categories-section{margin-top:10px;padding-top:10px}.state-categories-hint{color:#718096;margin:0 0 8px;font-size:.78em;font-style:italic}.state-category-pills{flex-wrap:wrap;gap:5px;display:flex}.state-cat-pill{color:#4a5568;cursor:pointer;background:#fff;border:1.5px solid #cbd5e0;border-radius:12px;padding:4px 10px;font-size:.78em;transition:all .15s}.state-cat-pill:hover{color:#276749;border-color:#48bb78}.state-cat-pill.active{color:#276749;background:#48bb781f;border-color:#48bb78;font-weight:600}.sny-steps{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.sny-step{color:#a0aec0;background:#f7fafc;border:1px solid #e2e8f0;border-radius:20px;padding:6px 12px;font-size:.82em;font-weight:600}.sny-step.active{color:#fff;background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14)}.sny-step.done{color:#2f855a;background:#48bb781f;border-color:#48bb784d}.sny-loading-hint{color:var(--text-muted,#a0aec0);margin-left:6px;font-size:.85em;font-weight:400}.sny-projected-end{text-align:center;color:var(--text-secondary,#4a5568);background:#c04a1414;border-radius:8px;margin:12px 0 4px;padding:10px 14px}.sny-kid-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sny-kid-item{background:var(--color-bg-soft,#f7fafc);border:1px solid var(--color-border,#e2e8f0);color:var(--text-secondary,#2d3748);border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:flex}.sny-kid-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.sny-error{color:#c0392b;margin:12px 0 0;font-size:.9em}.homeschool-settings{max-width:600px;margin:0 auto}.homeschool-settings .loading-state{color:#ffffffb3;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.homeschool-settings .spinner{border:3px solid #fff3;border-top-color:var(--primary-color,#c04a14);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}.hs-settings-tabs{justify-content:center;gap:10px;padding:16px 24px;display:flex}.hs-settings-tab{color:#2d3748;cursor:pointer;white-space:nowrap;background:#edf2f7;border:2px solid #cbd5e0;border-radius:999px;padding:9px 22px;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s,background .15s}.hs-settings-tab:hover{background:#e2e8f0;border-color:#a0aec0}.hs-settings-tab--active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff;font-weight:600}.homeschool-settings .settings-section h3{color:#2d3748;border-bottom:2px solid #2d374826;margin:0 0 20px;padding-bottom:12px;font-size:1.3em}.homeschool-settings .setting-card{color:#2d3748;background:#fff;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 4px 12px #0000001a}.homeschool-settings .setting-header h4{color:#2d3748;margin:0 0 8px;font-size:1.1em}.homeschool-settings .setting-description{color:#718096;margin:0 0 20px;font-size:.9em;line-height:1.5}.school-name-input{color:#2d3748;box-sizing:border-box;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:10px 14px;font-size:1em;transition:border-color .2s}.school-name-input:focus{border-color:var(--primary-color,#c04a14);background:#fff;outline:none}.day-options{flex-direction:column;gap:8px;display:flex}.day-option{cursor:pointer;background:#f7fafc;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.day-option:hover{background:#edf2f7}.day-option input[type=checkbox]{cursor:pointer;width:20px;height:20px}.day-label{color:#2d3748;flex:1}.inactive-badge{color:#c05621;background:#ed893626;border-radius:12px;padding:4px 10px;font-size:.8em;font-weight:600}.homeschool-settings .setting-hint{color:#c05621;background:#ed893614;border-radius:8px;margin:16px 0 0;padding:12px;font-size:.9em}.hs-saving-toast{color:#fff;z-index:200;pointer-events:none;background:#c04a14e6;border-radius:8px;width:fit-content;height:fit-content;padding:10px 18px;font-size:.9em;font-weight:500;position:fixed;bottom:20px;right:20px}.skip-day-row{background:#f7fafc;border-radius:8px;margin-bottom:8px;overflow:hidden}.skip-day-main{cursor:pointer;align-items:center;gap:12px;padding:12px 16px;transition:background .2s;display:flex}.skip-day-main:hover{background:#edf2f7}.skip-day-main input[type=checkbox]{cursor:pointer;flex-shrink:0;width:20px;height:20px}.skip-day-label{color:#2d3748;flex:1;font-weight:500}.skip-day-options{background:#edf2f7;flex-direction:column;gap:10px;padding:10px 16px 14px 48px;display:flex}.skip-day-label-row{margin-bottom:2px}.skip-day-name-input{box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e0;border-radius:6px;width:100%;padding:6px 10px;font-family:inherit;font-size:.85em}.skip-day-name-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.skip-day-freq{color:#4a5568;cursor:pointer;align-items:center;gap:8px;font-size:.9em;display:flex}.skip-day-freq input[type=radio]{cursor:pointer}.skip-day-startdate{color:#4a5568;align-items:center;gap:8px;padding-left:22px;font-size:.9em;display:flex}.skip-day-startdate input[type=date]{color:#2d3748;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:4px 8px;font-size:.9em}.holidays-loading{color:#718096;padding:8px 0;font-size:.9em}.holiday-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.holiday-item{cursor:pointer;background:#f7fafc;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;transition:background .2s;display:flex}.holiday-item:hover{background:#edf2f7}.holiday-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:18px;height:18px}.holiday-name{color:#2d3748;flex:1;font-size:.95em}.holiday-date{color:#718096;font-size:.85em}.holiday-badge-skip{color:#276749;background:#48bb7826;border-radius:10px;padding:2px 8px;font-size:.78em;font-weight:600}.holiday-badge-school{color:#c05621;background:#ed89361f;border-radius:10px;padding:2px 8px;font-size:.78em;font-weight:600}.holiday-badge-vacation{color:#2b6cb0;background:#63b3ed26;border-radius:10px;padding:2px 8px;font-size:.78em;font-weight:600}.year-tracking-toggle{cursor:pointer;background:#f7fafc;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;transition:background .2s;display:flex}.year-tracking-toggle:hover{background:#edf2f7}.year-tracking-toggle input[type=checkbox]{cursor:pointer;flex-shrink:0;width:20px;height:20px}.year-tracking-toggle span{color:#2d3748;font-weight:500}.year-tracking-fields{flex-direction:column;gap:16px;display:flex}.year-tracking-field{flex-direction:column;gap:6px;display:flex}.year-tracking-field label{color:#4a5568;font-size:.9em;font-weight:600}.year-tracking-field input[type=date],.year-tracking-field input[type=number]{color:#2d3748;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;max-width:220px;padding:9px 12px;font-size:.95em;transition:border-color .2s}.year-tracking-field input:focus{border-color:var(--primary-color,#c04a14);background:#fff;outline:none}.year-stats{grid-template-columns:1fr 1fr;gap:12px;margin-top:4px;display:grid}.year-stat-box{background:#f0f4ff;border:1px solid #c3d3fd;border-radius:10px;padding:14px 16px}.year-stat-box .stat-value{color:#4c51bf;font-size:1.4em;font-weight:700;display:block}.year-stat-box .stat-label{color:var(--primary-color,#c04a14);margin-top:2px;font-size:.8em;display:block}.vacation-weeks-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.vacation-weeks-header label{color:#4a5568;font-size:.9em;font-weight:600}.date-range-btn{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;padding:5px 12px;font-size:.82em;transition:background .2s}.date-range-btn:hover{background:#bee3f8}.date-range-picker{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;flex-direction:column;gap:10px;margin-bottom:10px;padding:12px 14px;display:flex}.date-range-picker label{color:#2c5282;font-size:.85em;font-weight:600}.date-range-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.date-range-row span{color:#4a5568;font-size:.85em}.date-range-picker input[type=date]{color:#2d3748;background:#fff;border:1px solid #bee3f8;border-radius:6px;padding:6px 10px;font-size:.9em}.date-range-apply-btn{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:6px;padding:6px 16px;font-size:.85em;font-weight:600}.date-range-apply-btn:hover{background:var(--primary-color,#c04a14)}.vacation-week-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;max-height:260px;overflow-y:auto}.vacation-week-item{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;gap:10px;padding:10px 14px;transition:background .15s;display:flex}.vacation-week-item:last-child{border-bottom:none}.vacation-week-item:hover{background:#f7fafc}.vacation-week-item input[type=checkbox]{cursor:pointer;flex-shrink:0;width:17px;height:17px}.vacation-week-item .week-num{color:#4a5568;min-width:52px;font-size:.85em;font-weight:600}.vacation-week-item .week-dates{color:#718096;flex:1;font-size:.85em}.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 var(--primary-color,#c04a14)}.week-holiday-name{color:#3d1040;font-size:.92em;font-style:italic}.vacation-tag{color:#c05621;background:#ed893626;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:600}.sick-week-btn{color:#c53030;cursor:pointer;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 18px;font-size:.95em;font-weight:500;transition:background .2s,border-color .2s;display:inline-flex}.sick-week-btn:hover{background:#fed7d7;border-color:#fc8181}.sick-week-btn:disabled{opacity:.5;cursor:not-allowed}.custom-holiday-add{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.custom-holiday-date-input{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;padding:7px 10px;font-size:.9em}.custom-holiday-name-input{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;flex:1;min-width:180px;padding:7px 10px;font-size:.9em}.custom-holiday-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c04a14;border:none;border-radius:6px;padding:7px 16px;font-size:.9em;font-weight:600;transition:background .2s}.custom-holiday-add-btn:hover:not(:disabled){background:var(--primary-color,#c04a14)}.custom-holiday-add-btn:disabled{opacity:.45;cursor:not-allowed}.custom-holiday-list-header{text-transform:uppercase;letter-spacing:.05em;color:#718096;border-bottom:1px solid #e2e8f0;grid-template-columns:120px 1fr 90px 36px;gap:10px;margin-bottom:6px;padding:4px 12px 6px;font-size:.78em;font-weight:700;display:grid}.custom-holiday-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.custom-holiday-item{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;grid-template-columns:120px 1fr 90px 36px;align-items:center;gap:10px;padding:8px 12px;font-size:.9em;display:grid}.custom-holiday-item-date{color:#2b6cb0;white-space:nowrap;font-weight:600}.custom-holiday-item-name{color:#2d3748;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-holiday-toggle-btn{cursor:pointer;white-space:nowrap;border:1px solid;border-radius:12px;padding:3px 10px;font-size:.78em;font-weight:600;transition:all .15s}.custom-holiday-toggle-btn.no-school{color:#92400e;background:#fef3c7;border-color:#fde68a}.custom-holiday-toggle-btn.no-school:hover{background:#fde68a}.custom-holiday-toggle-btn.school{color:#276749;background:#f0fff4;border-color:#9ae6b4}.custom-holiday-toggle-btn.school:hover{background:#c6f6d5}.extra-school-badge{color:#276749;white-space:nowrap;background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;padding:2px 8px;font-size:.78em;font-weight:600}.custom-holiday-delete-btn{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:.95em;line-height:1;transition:color .15s,background .15s}.custom-holiday-delete-btn:hover{color:#c53030;background:#fff5f5}.grading-period-selector{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.period-type-btn{color:#4a5568;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;min-width:100px;padding:10px 14px;font-size:.9em;transition:all .2s;display:flex}.period-type-btn:hover{color:#4c51bf;border-color:#c04a14}.period-type-btn.active{color:#4c51bf;background:#c04a141a;border-color:#c04a14;font-weight:600}.period-type-icon{font-size:1.1em;font-weight:700}.term-boundaries{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:6px;padding:10px 14px;display:flex}.term-boundary-row{justify-content:space-between;align-items:center;gap:12px;font-size:.88em;display:flex}.term-label{color:#4c51bf;white-space:nowrap;font-weight:600}.term-dates{color:#4a5568}.grading-period-hint{color:#a0aec0;margin:0;font-size:.83em;font-style:italic}.term-editor{flex-direction:column;gap:10px;margin-top:12px;display:flex}.term-editor-row{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;padding:10px 14px;display:flex}.term-editor-label{color:#4c51bf;font-size:.88em;font-weight:600}.term-editor-dates{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.term-date-field{color:#2d3748;background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:4px 8px;font-size:.85em}.term-date-field:disabled{color:#718096;cursor:not-allowed;background:#edf2f7}.term-date-sep{color:#a0aec0;font-size:.85em}.term-day-count{color:#718096;white-space:nowrap;margin-left:auto;font-size:.83em}.term-days-summary{color:#718096;padding:4px 0 0 2px;font-size:.88em}.term-days-summary--ok{color:#38a169;font-weight:600}.term-days-warning{border-radius:8px;align-items:flex-start;gap:8px;margin-top:4px;padding:10px 14px;font-size:.88em;display:flex}.term-days-warning--short{color:#c53030;background:#fff5f5;border:1px solid #feb2b2}.term-days-warning--over{color:#744210;background:#fffbeb;border:1px solid #fbd38d}.term-editor-actions{gap:10px;margin-top:4px;display:flex}.term-save-btn{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:6px;padding:6px 16px;font-size:.88em;font-weight:600;transition:background .15s}.term-save-btn:hover{background:#5a67d8}.term-save-btn:disabled{cursor:not-allowed;background:#a0aec0}.term-reset-btn{color:#718096;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:6px;padding:6px 14px;font-size:.88em;transition:border-color .15s,color .15s}.term-reset-btn:hover{color:#4a5568;border-color:#a0aec0}.sy-close-out-btn{color:#fff;cursor:pointer;background:#c53030;border:none;border-radius:8px;padding:10px 18px;font-size:.92em;font-weight:600;transition:background .15s}.sy-close-out-btn:hover:not(:disabled){background:#9b2c2c}.sy-close-out-btn:disabled{cursor:not-allowed;background:#a0aec0}.sy-start-new-btn{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:8px;padding:10px 18px;font-size:.92em;font-weight:600;transition:background .15s}.sy-start-new-btn:hover{background:#5a67d8}.sy-archive-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.sy-archive-list li{background:var(--color-bg-soft,#f7fafc);border:1px solid var(--color-border,#e2e8f0);color:var(--text-secondary,#4a5568);border-radius:8px;padding:8px 12px;font-size:.9em}.compliance-state-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.compliance-state-select{color:#2d3748;background:#fff;border:1px solid #cbd5e0;border-radius:7px;flex:1;min-width:180px;padding:7px 10px;font-size:.9em}.compliance-check-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#c04a14;border:none;border-radius:7px;padding:7px 18px;font-size:.9em;font-weight:600;transition:background .15s}.compliance-check-btn:hover{background:#5a67d8}.compliance-check-btn:disabled{cursor:not-allowed;background:#a0aec0}.compliance-results{flex-direction:column;gap:8px;margin-top:14px;display:flex}.compliance-summary{border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:.92em;font-weight:600;display:flex}.compliance-summary--pass{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.compliance-summary--fail{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.compliance-summary--warn{color:#744210;background:#fffbeb;border:1px solid #fbd38d}.compliance-reg-badge{border:1px solid;border-radius:12px;margin-left:auto;padding:2px 8px;font-size:.78em;font-weight:600}.compliance-reg-badge--low{color:#276749;background:#f0fff4;border-color:#9ae6b4}.compliance-reg-badge--moderate{color:#744210;background:#fffbeb;border-color:#fbd38d}.compliance-reg-badge--high{color:#9b2c2c;background:#fff5f5;border-color:#feb2b2}.compliance-issue{border-radius:7px;align-items:flex-start;gap:9px;padding:9px 12px;font-size:.88em;line-height:1.5;display:flex}.compliance-issue--error{background:#fff5f5;border:1px solid #fed7d7}.compliance-issue--warning{background:#fffbeb;border:1px solid #fefcbf}.compliance-issue--info{background:#ebf8ff;border:1px solid #bee3f8}.compliance-issue-icon{flex-shrink:0;margin-top:1px;font-size:.95em}.compliance-issue-category{color:#4a5568;font-weight:600}.compliance-state-notes{color:#718096;margin:4px 0 0;font-size:.83em;font-style:italic}.compliance-statute{color:#a0aec0;margin:0;font-size:.82em}.compliance-disclaimer{color:#a0aec0;border-top:1px solid #e2e8f0;margin:4px 0 0;padding-top:8px;font-size:.78em;font-style:italic}.state-requirements-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:14px;padding:12px 14px}.state-req-summary-header{align-items:center;gap:10px;margin-bottom:10px;font-size:.95em;display:flex}.state-req-summary-grid{grid-template-columns:1fr 1fr;gap:6px 16px;display:grid}.state-req-summary-item{flex-direction:column;gap:2px;font-size:.85em;display:flex}.state-req-summary-item--full{grid-column:1/-1}.state-req-summary-label{color:#718096;text-transform:uppercase;letter-spacing:.03em;font-size:.8em;font-weight:600}.state-req-summary-statute{color:#a0aec0;font-style:italic}.state-req-summary-refs{flex-direction:column;gap:3px;display:flex}.state-req-summary-link{color:var(--primary-color,#c04a14);word-break:break-all;font-size:.85em;text-decoration:none}.state-req-summary-link:hover{text-decoration:underline}.compliance-no-state{color:#a0aec0;margin:6px 0 0;font-size:.88em;font-style:italic}.self-scheduling-kids{flex-direction:column;gap:12px;margin-top:12px;display:flex}.self-scheduling-kid-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.self-scheduling-kid-name{font-size:.95em;font-weight:600}.hs-toggle-label{cursor:pointer;align-items:center;gap:8px;display:flex}.hs-toggle-label input[type=checkbox]{display:none}.hs-toggle-track{background:#ffffff26;border-radius:11px;width:40px;height:22px;transition:background .2s;position:relative}.hs-toggle-label input:checked+.hs-toggle-track{background:#48bb78}.hs-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:3px;left:3px}.hs-toggle-label input:checked~.hs-toggle-track .hs-toggle-thumb,.hs-toggle-label input:checked+.hs-toggle-track .hs-toggle-thumb{transform:translate(18px)}.hs-toggle-text{color:#ffffffb3;min-width:52px;font-size:.85em}.type-toggle{flex-wrap:wrap;gap:8px;display:flex}.type-btn{color:#4a5568;cursor:pointer;background:0 0;border:2px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.9em;font-weight:500;transition:all .2s;display:flex}.type-btn:hover{border-color:var(--primary-color,#c04a14)}.type-btn.active{border-color:var(--primary-color,#c04a14);color:#2d3748;background:#ed64a61a}.type-icon{font-size:1.1em}.curriculum-form .form-row{gap:12px;display:flex}.curriculum-form .form-row .form-group{flex:1}.progress-totals-row,.progress-inputs{align-items:center;gap:10px;display:flex}.progress-field{flex-direction:column;align-items:center;gap:4px;display:flex}.progress-field input{text-align:center;border:2px solid #e2e8f0;border-radius:8px;width:80px;padding:10px 8px;font-size:1.1em;font-weight:600}.progress-field input:focus{border-color:var(--primary-color,#c04a14);outline:none}.progress-field .progress-label{color:#718096;font-size:.75em}.progress-of{color:#a0aec0;margin-top:-16px;font-weight:500}.child-progress-section{flex-direction:column;gap:8px;margin-top:12px;display:flex}.child-progress-row{align-items:center;gap:10px;display:flex}.child-progress-name{color:#4a5568;min-width:60px;font-size:.9em;font-weight:600}.child-progress-row .progress-field input{width:70px;padding:8px 6px;font-size:1em}.child-progress-total{color:#a0aec0;font-size:.9em;font-weight:500}.child-version-section{flex-direction:column;gap:8px;display:flex}.child-version-row{align-items:center;gap:10px;display:flex}.child-version-row input{border:2px solid #e2e8f0;border-radius:8px;flex:1;padding:8px 10px;font-size:.9em}.child-version-row input:focus{border-color:var(--primary-color,#c04a14);outline:none}.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}.curr-lib-submit-section{border-top:1px solid #ffffff14;margin-top:4px;padding-top:14px}.curr-lib-submit-fields{background:#f6ad550f;border:1px solid #f6ad5533;border-radius:8px;margin-top:12px;padding:14px}@media (width<=500px){.curriculum-form .form-row{flex-direction:column;gap:0}.progress-inputs{justify-content:center}}.cpb-overlay{z-index:200;background:#000000a6;justify-content:flex-end;align-items:flex-start;display:flex;position:fixed;inset:0}.cpb-panel{background:#1e2336;flex-direction:column;width:min(680px,100vw);height:100vh;display:flex;overflow:hidden;box-shadow:-4px 0 24px #00000080}.cpb-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.cpb-header-text{align-items:center;gap:10px;min-width:0;display:flex}.cpb-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;overflow:hidden}.cpb-back-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:.9rem}.cpb-back-btn:hover{color:#fff;background:#ffffff14}.cpb-close-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:1.1rem}.cpb-close-btn:hover{color:#fff;background:#ffffff14}.cpb-body{flex:1;padding:20px;overflow-y:auto}.cpb-plan-list{flex-direction:column;gap:12px;display:flex}.cpb-empty{color:#ffffff80;text-align:center;padding:24px 0;font-size:.9rem}.cpb-plan-row{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.cpb-plan-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cpb-plan-name{color:#fff;font-size:.95rem;font-weight:600}.cpb-plan-pub{color:#ffffff80;font-size:.8rem}.cpb-plan-count{color:#fff6;font-size:.8rem}.cpb-plan-shared-label{color:#ffffff73;cursor:pointer;align-items:center;gap:5px;margin-top:2px;font-size:.75rem;display:flex}.cpb-plan-shared-label input{cursor:pointer}.cpb-plan-actions{flex-shrink:0;gap:8px;display:flex}.cpb-btn-edit{color:#63b3ed;cursor:pointer;background:#63b3ed26;border:1px solid #63b3ed4d;border-radius:6px;padding:5px 12px;font-size:.85rem}.cpb-btn-edit:hover{background:#63b3ed40}.cpb-btn-delete{color:#fc8181;cursor:pointer;background:#f565651f;border:1px solid #f5656540;border-radius:6px;padding:5px 12px;font-size:.85rem}.cpb-btn-delete:hover{background:#f5656538}.cpb-btn-delete:disabled{opacity:.5;cursor:default}.cpb-new-btn{color:#ffffffb3;cursor:pointer;text-align:center;background:#ffffff12;border:1px dashed #ffffff40;border-radius:8px;width:100%;margin-top:4px;padding:10px;font-size:.9rem}.cpb-new-btn:hover{color:#fff;background:#ffffff1f}.cpb-new-btn:disabled{opacity:.5;cursor:default}.cpb-plan-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;overflow:hidden}.cpb-plan-card .cpb-plan-row{background:0 0;border:none;border-radius:0}.cpb-btn-progress{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:5px 8px;font-size:.85rem}.cpb-btn-progress:hover{background:#ffffff1f}.cpb-kid-progress{background:#00000026;border-top:1px solid #ffffff14;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.cpb-kid-progress-label{color:#fff6;text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:.78rem;font-weight:600}.cpb-kid-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cpb-kid-assign-label{cursor:pointer;align-items:center;gap:6px;min-width:120px;display:flex}.cpb-kid-assign-label input[type=checkbox]{accent-color:#63b3ed;width:14px;height:14px}.cpb-kid-name{font-size:.85rem;font-weight:600}.cpb-kid-done{color:#fff6;min-width:50px;font-size:.75rem}.cpb-kid-field-label{color:#fff6;white-space:nowrap;font-size:.75rem}.cpb-kid-edit-start-btn{color:#ffffff80;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #fff3;border-radius:4px;padding:2px 8px;font-size:.72rem}.cpb-kid-edit-start-btn:hover{color:#63b3ed;border-color:#63b3ed80}.cpb-kid-reset-warn{color:#f6ad55cc;white-space:nowrap;font-size:.72rem}.cpb-kid-start-select{color:#fff;background:#1e2a3a;border:1px solid #ffffff26;border-radius:5px;max-width:260px;padding:4px 6px;font-size:.82rem}.cpb-kid-start-select:focus{border-color:#63b3ed66;outline:none}.cpb-kid-start-select option{color:#fff;background:#1e2a3a}.cpb-kid-ipw{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;width:52px;padding:4px 6px;font-size:.82rem}.cpb-kid-ipw:focus{border-color:#63b3ed66;outline:none}.cpb-kid-est{color:#63b3edb3;white-space:nowrap;margin-left:auto;font-size:.72rem}.cpb-kid-est--done{color:#48bb78cc}.cpb-kid-progress-footer{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.cpb-editor{flex-direction:column;gap:16px;display:flex}.cpb-meta-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cpb-field{flex-direction:column;gap:4px;display:flex}.cpb-field--wide{grid-column:1/-1}.cpb-label{color:#ffffff80;font-size:.8rem;font-weight:500}.cpb-input{color:#fff;box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;width:100%;padding:8px 10px;font-size:.9rem}.cpb-input:focus{background:#ffffff1a;border-color:#63b3ed80;outline:none}.cpb-input::placeholder{color:#ffffff4d}.cpb-items-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:8px;display:flex}.cpb-items-title{color:#fff9;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.cpb-add-item-btn{color:#63b3ed;cursor:pointer;background:#63b3ed26;border:1px solid #63b3ed4d;border-radius:6px;padding:5px 12px;font-size:.82rem}.cpb-add-item-btn:hover{background:#63b3ed40}.cpb-items-list{flex-direction:column;gap:6px;max-height:420px;display:flex;overflow-y:auto}.cpb-item-row{background:#ffffff0a;border:1px solid #ffffff14;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;display:flex}.cpb-item-order{color:#ffffff4d;text-align:right;flex-shrink:0;min-width:24px;font-size:.75rem}.cpb-item-type{color:#ffffffe6;background:#1e2a3a;border:1px solid #ffffff26;border-radius:5px;flex-shrink:0;padding:4px 6px;font-size:.8rem}.cpb-item-type option{color:#fff;background:#1e2a3a}.cpb-item-title{color:#fff;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;flex:1;min-width:0;padding:5px 8px;font-size:.85rem}.cpb-item-title:focus{border-color:#63b3ed66;outline:none}.cpb-item-title::placeholder{color:#ffffff4d}.cpb-item-days{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;flex-shrink:0;width:44px;padding:5px 6px;font-size:.85rem}.cpb-item-days:focus{border-color:#63b3ed66;outline:none}.cpb-item-days-label{color:#ffffff59;flex-shrink:0;width:28px;font-size:.75rem}.cpb-item-arrows{flex-direction:column;flex-shrink:0;gap:2px;display:flex}.cpb-arrow-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:3px;padding:1px 4px;font-size:.65rem;line-height:1}.cpb-arrow-btn:hover:not(:disabled){color:#fff;background:#ffffff24}.cpb-arrow-btn:disabled{opacity:.25;cursor:default}.cpb-remove-item-btn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:.85rem}.cpb-remove-item-btn:hover{color:#fc8181;background:#f565651a}.cpb-error{color:#fc8181;margin:0;font-size:.85rem}.cpb-items-header-btns{align-items:center;gap:8px;display:flex}.cpb-import-toggle-btn{color:#fff9;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:5px 10px;font-size:.82rem}.cpb-import-toggle-btn:hover{color:#fff;background:#ffffff1f}.cpb-import-toggle-btn.active{color:#63b3ed;background:#63b3ed26;border-color:#63b3ed66}.cpb-csv-import{background:#0003;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:10px;padding:14px;display:flex}.cpb-csv-header{flex-direction:column;gap:2px;display:flex}.cpb-csv-title{color:#fffc;font-size:.85rem;font-weight:600}.cpb-csv-hint{color:#fff6;font-size:.75rem}.cpb-csv-textarea{color:#fff;resize:vertical;box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;width:100%;padding:8px 10px;font-family:monospace;font-size:.82rem}.cpb-csv-textarea:focus{border-color:#63b3ed66;outline:none}.cpb-csv-textarea::placeholder{color:#fff3}.cpb-csv-actions{align-items:center;gap:8px;display:flex}.cpb-csv-file-label{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:6px;padding:5px 12px;font-size:.82rem}.cpb-csv-file-label:hover{background:#ffffff1f}.cpb-csv-parse-btn{color:#63b3ed;cursor:pointer;background:#63b3ed26;border:1px solid #63b3ed4d;border-radius:6px;padding:5px 14px;font-size:.82rem}.cpb-csv-parse-btn:hover{background:#63b3ed40}.cpb-csv-parse-btn:disabled{opacity:.4;cursor:default}.cpb-csv-preview{flex-direction:column;gap:6px;display:flex}.cpb-csv-preview-label{color:#fff9;margin:0;font-size:.8rem}.cpb-csv-preview-list{flex-direction:column;gap:3px;max-height:180px;display:flex;overflow-y:auto}.cpb-csv-preview-row{align-items:center;gap:8px;font-size:.82rem;display:flex}.cpb-csv-preview-type{color:#fff6;min-width:60px;font-style:italic}.cpb-csv-preview-title{color:#ffffffd9;flex:1}.cpb-csv-preview-days{color:#ffffff59;font-size:.75rem}.cpb-csv-preview-more{color:#fff6;padding:2px 0;font-size:.78rem}.cpb-ai-files-list{flex-direction:column;gap:5px;display:flex}.cpb-ai-file-chip{background:#63b3ed1a;border:1px solid #63b3ed40;border-radius:6px;align-items:center;gap:10px;padding:6px 12px;display:flex}.cpb-photo-label{color:#c8b4ffd9;background:#9a75ea1f;border-color:#9a75ea4d}.cpb-photo-label:hover{background:#9a75ea38}.cpb-ai-file-name{color:#63b3ed;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;overflow:hidden}.cpb-ai-file-remove{color:#fff6;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.85rem}.cpb-ai-file-remove:hover{color:#fff}.cpb-editor-footer{border-top:1px solid #ffffff1a;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.cpb-cancel-btn{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff26;border-radius:6px;padding:8px 18px;font-size:.9rem}.cpb-cancel-btn:hover{background:#ffffff1a}.cpb-cancel-btn:disabled{opacity:.5}.cpb-save-btn{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:6px;padding:8px 20px;font-size:.9rem;font-weight:600}.cpb-save-btn:hover{background:var(--primary-color,#c04a14)}.cpb-save-btn:disabled{opacity:.6;cursor:default}.cpb-strategy-panel{background:#63b3ed0f;border:1px solid #63b3ed2e;border-radius:8px;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.cpb-strategy-title{color:#ffffff73;text-transform:uppercase;letter-spacing:.07em;font-size:.78rem;font-weight:700}.cpb-strategy-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cpb-strategy-q{color:#fffc;flex:1;min-width:180px;font-size:.85rem}.cpb-strategy-toggle{border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;display:flex;overflow:hidden}.cpb-strategy-toggle button{color:#ffffff73;cursor:pointer;background:#ffffff0d;border:none;border-right:1px solid #ffffff1a;padding:5px 14px;font-size:.82rem}.cpb-strategy-toggle button:last-child{border-right:none}.cpb-strategy-toggle button:hover{color:#fff;background:#ffffff1a}.cpb-strategy-toggle button.active{color:#63b3ed;background:#63b3ed40;font-weight:600}.cpb-strategy-num{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;flex-shrink:0;width:56px;padding:5px 8px;font-size:.9rem}.cpb-strategy-num:focus{border-color:#63b3ed80;outline:none}.cpb-unit-group{background:#ffffff05;border:1px solid #ffffff12;border-radius:7px;flex-direction:column;gap:3px;margin-bottom:4px;padding:6px;display:flex}.cpb-unit-row{background:#63b3ed14;border:1px solid #63b3ed33;border-radius:5px;align-items:center;gap:6px;padding:6px 8px;display:flex}.cpb-unit-order{color:#63b3ed99;text-align:right;flex-shrink:0;min-width:20px;font-size:.75rem;font-weight:600}.cpb-unit-badge{color:#63b3ed;text-transform:uppercase;letter-spacing:.04em;background:#63b3ed26;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:.7rem;font-weight:700}.cpb-unit-title{font-weight:600}.cpb-computed-days{color:#ffffff59;white-space:nowrap;flex-shrink:0;font-size:.75rem}.cpb-child-row{background:#ffffff08;border-color:#ffffff0f;margin-left:14px}.cpb-unit-add-btns{gap:6px;margin-top:2px;margin-left:14px;padding:4px 0 2px;display:flex}.cpb-unit-add-btn{cursor:pointer;background:0 0;border:1px dashed #fff3;border-radius:5px;padding:3px 10px;font-size:.78rem}.cpb-unit-add-lesson{color:#63b3edcc;border-color:#63b3ed40}.cpb-unit-add-lesson:hover{color:#63b3ed;background:#63b3ed1a}.cpb-unit-add-workbook{color:#9a75eacc;border-color:#9a75ea40}.cpb-unit-add-workbook:hover{color:#9a75ea;background:#9a75ea1a}.cpb-unit-add-textbook{color:#ed8936cc;border-color:#ed893640}.cpb-unit-add-textbook:hover{color:#ed8936;background:#ed89361a}.cpb-unit-add-quiz{color:#48bb78cc;border-color:#48bb7840}.cpb-unit-add-quiz:hover{color:#48bb78;background:#48bb781a}.cpb-bottom-add-btns{gap:10px;display:flex}.cpb-add-unit-btn{color:#63b3ed;cursor:pointer;background:#63b3ed1a;border:1px dashed #63b3ed59;border-radius:7px;flex:1;padding:8px 16px;font-size:.85rem}.cpb-add-unit-btn:hover{background:#63b3ed2e}.cpb-add-standalone-btn{color:#ffffff80;cursor:pointer;background:#ffffff0d;border:1px dashed #fff3;border-radius:7px;padding:8px 16px;font-size:.85rem}.cpb-add-standalone-btn:hover{color:#ffffffbf;background:#ffffff17}.cpb-csv-preview-row.is-unit{color:#63b3ed;border-top:1px solid #63b3ed26;margin-top:3px;padding-top:3px;font-weight:600}.cpb-csv-preview-row.is-unit .cpb-csv-preview-type,.cpb-csv-preview-row.is-unit .cpb-csv-preview-title{color:#63b3ed}.cpb-csv-preview-row.is-child{padding-left:14px}.cpb-csv-preview-row.is-child .cpb-csv-preview-type{color:#ffffff59}.clibcp-overlay{z-index:1100;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.clibcp-panel{background:#fff;border-radius:14px;width:100%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.clibcp-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.clibcp-header h3{color:#2d3748;margin:0;font-size:1.1em}.clibcp-close{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:1.1em}.clibcp-close:hover{color:#4a5568;background:#f7fafc}.clibcp-desc{color:#718096;margin:0 0 20px;font-size:.875em}.clibcp-form{flex-direction:column;gap:14px;display:flex}.clibcp-row{flex-direction:column;flex:1;gap:5px;display:flex}.clibcp-row-trio{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.clibcp-label{color:#4a5568;font-size:.82em;font-weight:600}.clibcp-input,.clibcp-select,.clibcp-textarea{color:#2d3748;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;padding:8px 10px;font-family:inherit;font-size:.875em;transition:border-color .15s}.clibcp-textarea{resize:vertical}.clibcp-input:focus,.clibcp-select:focus,.clibcp-textarea:focus{border-color:#c04a14;outline:none}.clibcp-notice{color:#2c5282;background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;padding:10px 14px;font-size:.875em}.clibcp-check-label{color:#4a5568;cursor:pointer;align-items:center;gap:8px;font-size:.875em;display:flex}.clibcp-error{color:#c53030;background:#fff5f5;border:1px solid #fed7d7;border-radius:7px;padding:10px 12px;font-size:.875em}.clibcp-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.clibcp-cancel{color:#718096;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;padding:8px 16px;font-size:.875em}.clibcp-cancel:hover:not(:disabled){background:#f7fafc}.clibcp-submit{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:8px;padding:8px 18px;font-size:.875em;font-weight:600;transition:background .15s}.clibcp-submit:hover:not(:disabled){background:#5a67d8}.clibcp-submit:disabled,.clibcp-cancel:disabled{opacity:.6;cursor:default}@media (width<=480px){.clibcp-row-trio{grid-template-columns:1fr}}.clibdet-overlay{z-index:1000;background:#000000b3;justify-content:flex-end;animation:.15s clibdet-fade-in;display:flex;position:fixed;inset:0}@keyframes clibdet-fade-in{0%{opacity:0}to{opacity:1}}.clibdet-panel{background:#1e1e2e;border-left:1px solid #ffffff1a;flex-direction:column;width:min(600px,100vw);height:100vh;animation:.2s clibdet-slide-in;display:flex;overflow:hidden}@keyframes clibdet-slide-in{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.clibdet-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;gap:12px;padding:20px 20px 16px;display:flex}.clibdet-header-main{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.clibdet-badges{flex-wrap:wrap;gap:6px;display:flex}.clibdet-type-badge{border-radius:5px;padding:3px 8px;font-size:.72em;font-weight:600}.clibdet-type-book{color:#f5a828;background:#c04a1440}.clibdet-type-online{color:#6ee7b7;background:#34d39933}.clibdet-type-app{color:#fcd34d;background:#fbbf2433}.clibdet-type-workbook{color:#c4b5fd;background:#a78bfa33}.clibdet-type-other{color:#fff9;background:#ffffff1a}.clibdet-subject-badge{color:#ffffffb3;background:#ffffff1a;border-radius:5px;padding:3px 8px;font-size:.72em}.clibdet-attr-badge{border-radius:5px;padding:3px 8px;font-size:.72em;font-weight:600}.clibdet-title{color:#fff;margin:0;font-size:1.25em;font-weight:700;line-height:1.3}.clibdet-publisher{color:#ffffff8c;font-size:.88em}.clibdet-edition{color:#fff6}.clibdet-grade{color:#ffffff80;font-size:.85em}.clibdet-avg-rating{align-items:center;gap:6px;margin-top:2px;display:flex}.clibdet-stars{color:#fcd34d;letter-spacing:1px;font-size:.9em}.star-off{opacity:.25}.star-value{color:#fcd34d;margin-left:4px;font-size:.9em;font-weight:700}.clibdet-review-count{color:#fff6;font-size:.8em}.clibdet-header-actions{flex-shrink:0;align-items:flex-start;gap:8px;display:flex}.clibdet-edit-btn{color:#f5a828;cursor:pointer;background:#c04a1433;border:1px solid #c04a1466;border-radius:8px;padding:6px 14px;font-size:.85em}.clibdet-edit-btn:hover{background:#c04a144d}.clibdet-close-btn{color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9em;display:flex}.clibdet-close-btn:hover{color:#fff;background:#ffffff1f}.clibdet-body{flex:1;padding:0 20px 24px;overflow-y:auto}.clibdet-section{border-top:1px solid #ffffff12;margin-top:4px;padding-top:20px}.clibdet-section:first-child{border-top:none}.clibdet-section h3{text-transform:uppercase;letter-spacing:.08em;color:#fff6;margin:0 0 12px;font-size:.88em;font-weight:700}.clibdet-attr-grid{flex-direction:column;gap:8px;display:flex}.clibdet-attr-row{gap:12px;display:flex}.clibdet-attr-label{color:#ffffff73;flex-shrink:0;width:140px;font-size:.84em}.clibdet-attr-value{color:#ffffffd9;font-size:.88em}.clibdet-cost-row{align-items:baseline;gap:10px;margin-bottom:6px;display:flex}.clibdet-cost-label{color:#ffffff73;flex-shrink:0;width:120px;font-size:.82em}.clibdet-cost-amount{color:#fff;font-size:.95em;font-weight:600}.clibdet-cost-note{color:#ffffff73;font-size:.8em}.clibdet-link-row{margin-top:8px}.clibdet-link{color:#93c5fd;font-size:.88em;text-decoration:none}.clibdet-link:hover{color:#bfdbfe;text-decoration:underline}.clibdet-link--inline{margin-left:4px}.clibdet-buy-list{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.clibdet-buy-label{color:#ffffff73;font-size:.82em}.clibdet-used-note{color:#ffffff73;margin:10px 0 0;font-size:.84em;font-style:italic}.clibdet-extras-label{color:#ffffff73;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8em;font-weight:600}.clibdet-extras-list{flex-direction:column;gap:4px;margin:0 0 12px;padding-left:16px;display:flex}.clibdet-extras-list li{color:#fffc;align-items:center;gap:8px;font-size:.88em;display:flex}.clibdet-extra-cost{color:#ffffff73;font-size:.9em}.clibdet-empty-text{color:#fff6;margin:0;font-size:.88em}.clibdet-plans-list{flex-direction:column;gap:10px;display:flex}.clibdet-plan-row{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.clibdet-plan-info{flex:1;min-width:0}.clibdet-plan-edition{color:#fff;font-size:.92em;font-weight:600}.clibdet-plan-meta{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.clibdet-plan-meta span{color:#ffffff73;font-size:.78em}.clibdet-canonical{font-weight:600;color:#6ee7b7!important}.clibdet-plan-notes{color:#ffffff80;margin:6px 0 0;font-size:.82em;font-style:italic}.clibdet-import-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:.85em;font-weight:600}.clibdet-import-btn:disabled{opacity:.6;cursor:not-allowed}.clibdet-import-btn:not(:disabled):hover{opacity:.9}.clibdet-admin-bar{background:#ffffff0a;border-bottom:1px solid #ffffff12;flex-shrink:0;gap:8px;padding:10px 20px;display:flex}.clibdet-admin-btn{cursor:pointer;border:1px solid;border-radius:7px;padding:6px 14px;font-size:.82em;font-weight:600;transition:opacity .15s}.clibdet-admin-btn:disabled{opacity:.5;cursor:default}.clibdet-admin-btn--approve{color:#6ee7b7;background:#34d39926;border-color:#34d39959}.clibdet-admin-btn--reject{color:#fca5a5;background:#fca5a51a;border-color:#fca5a54d}.clibdet-admin-btn--hide{color:#ffffff8c;background:#ffffff0f;border-color:#ffffff26}.clibdet-admin-btn--unhide{color:#fde68a;background:#fbbf241a;border-color:#fbbf244d}.clibdet-ss-update-banner{background:#c04a141f;border-bottom:1px solid #c04a1440;flex-shrink:0;align-items:center;gap:12px;padding:10px 20px;font-size:.85em;display:flex}.clibdet-ss-update-banner span:first-child{color:#c4b5fd}.clibdet-ss-update-hint{color:#fff6;font-size:.9em}.clibdet-status-badge{border-radius:5px;padding:3px 8px;font-size:.72em;font-weight:600}.clibdet-status--pending{color:#fde68a;background:#fbbf2426}.clibdet-status--hidden{color:#fca5a5;background:#fca5a51a}.clibdet-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.clibdet-section-header h3{margin:0}.clibdet-contribute-btn{color:#f5a828;cursor:pointer;background:#c04a1426;border:1px solid #c04a144d;border-radius:7px;padding:5px 12px;font-size:.8em;transition:background .15s}.clibdet-contribute-btn:hover{background:#c04a1440}.clibdet-inline-link{color:#93c5fd;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.clibdet-plan-row--hidden{opacity:.5}.clibdet-plan-hidden{color:#fca5a5!important}.clibdet-plan-admin-controls{gap:6px;margin-top:6px;display:flex}.clibdet-plan-ctrl-btn{color:#ffffff80;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:6px;padding:3px 10px;font-size:.75em;transition:background .15s}.clibdet-plan-ctrl-btn:hover:not(:disabled){color:#ffffffbf;background:#ffffff1a}.clibdet-plan-ctrl-btn.active{color:#6ee7b7;background:#34d3991f;border-color:#34d3994d}.clibdet-plan-ctrl-btn:disabled{opacity:.4;cursor:default}.clibdet-reviews-list{flex-direction:column;gap:14px;display:flex}.clibdet-review{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;padding:12px 14px}.clibdet-review-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.clibdet-review-headline{color:#fff;font-size:.92em;font-weight:600}.clibdet-review-byline{color:#fff6;margin-left:auto;font-size:.78em}.clibdet-review-body{color:#ffffffbf;margin:0 0 6px;font-size:.88em;line-height:1.5}.clibdet-review-block{color:#ffffffa6;margin-bottom:4px;font-size:.85em;line-height:1.4}.clibdet-review-block-label{color:#ffffff80;font-weight:600}.clibdet-review-tags{flex-wrap:wrap;gap:5px;margin-top:8px;display:flex}.clibdet-review-tag{color:#a5b4fccc;background:#c04a1426;border-radius:4px;padding:2px 7px;font-size:.72em}.clibform-overlay{z-index:1100;background:#000000bf;justify-content:center;align-items:flex-start;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.clibform-panel{background:#1e1e2e;border:1px solid #ffffff1f;border-radius:16px;flex-direction:column;width:min(640px,100%);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.clibform-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.clibform-header h2{color:#fff;margin:0;font-size:1.1em}.clibform-close{color:#fff9;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.85em;display:flex}.clibform-close:hover{color:#fff;background:#ffffff1f}.clibform-body{flex:1;padding:0 20px;overflow-y:auto}.clibform-error{color:#fca5a5;background:#ef444426;border:1px solid #ef444459;border-radius:8px;margin-top:16px;padding:10px 14px;font-size:.88em}.clibform-section{border-bottom:1px solid #ffffff12;padding:16px 0}.clibform-section h3{text-transform:uppercase;letter-spacing:.08em;color:#ffffff59;margin:0 0 12px;font-size:.78em;font-weight:700}.clibform-row{margin-bottom:10px}.clibform-row--split{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.clibform-label{color:#ffffff80;margin-bottom:4px;font-size:.8em;display:block}.req{color:#f87171}.clibform-input{color:#fff;box-sizing:border-box;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:.88em}.clibform-input::placeholder{color:#ffffff4d}.clibform-input:focus{background:#ffffff17;border-color:#c04a1480}.clibform-input--sm{max-width:120px}.clibform-select{color:#fff;cursor:pointer;box-sizing:border-box;background:#ffffff12;border:1px solid #ffffff1f;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:.88em}.clibform-select option{color:#fff;background:#2a2a3a}.clibform-select:focus{border-color:#c04a1480}.clibform-checkboxes{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.clibform-checkbox{color:#ffffffbf;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:.85em;display:flex}.clibform-checkbox:has(input:checked){color:#f5a828;background:#c04a1433;border-color:#c04a1466}.clibform-checkbox input{display:none}.clibform-dynamic-list{flex-direction:column;gap:6px;display:flex}.clibform-dynamic-row{align-items:center;gap:6px;display:flex}.clibform-dynamic-row .clibform-input{flex:1}.clibform-remove-btn{color:#fca5a5;cursor:pointer;background:#ef444426;border:1px solid #ef44444d;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8em;display:flex}.clibform-remove-btn:hover{background:#ef444440}.clibform-add-row-btn{color:#ffffff80;cursor:pointer;text-align:left;background:0 0;border:1px dashed #fff3;border-radius:6px;padding:6px 12px;font-size:.82em}.clibform-add-row-btn:hover{color:#f5a828;border-color:#c04a1466}.clibform-footer{border-top:1px solid #ffffff1a;flex-shrink:0;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.clibform-cancel-btn{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff26;border-radius:8px;padding:9px 18px;font-size:.9em}.clibform-cancel-btn:hover{background:#ffffff1a}.clibform-save-btn{color:#fff;cursor:pointer;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:9px 20px;font-size:.9em;font-weight:600}.clibform-save-btn:disabled{opacity:.6;cursor:not-allowed}.clibform-save-btn:not(:disabled):hover{opacity:.9}.clibsub-overlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.clibsub-panel{background:#fff;border-radius:14px;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.clibsub-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 24px 0;display:flex}.clibsub-header h2{color:#2d3748;margin:0 0 4px;font-size:1.2em}.clibsub-subtitle{color:#718096;margin:0;font-size:.875em}.clibsub-close{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:4px 8px;font-size:1.2em}.clibsub-close:hover{color:#4a5568;background:#f7fafc}.clibsub-form{flex-direction:column;gap:16px;padding:20px 24px 24px;display:flex}.clibsub-row{flex-direction:column;flex:1;gap:5px;display:flex}.clibsub-row-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.clibsub-label{color:#4a5568;font-size:.85em;font-weight:600}.clibsub-input,.clibsub-select{color:#2d3748;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;padding:8px 10px;font-size:.9em;transition:border-color .15s}.clibsub-input:focus,.clibsub-select:focus{border-color:#c04a14;outline:none}.clibsub-checks{flex-wrap:wrap;gap:8px;display:flex}.clibsub-check-label{color:#4a5568;cursor:pointer;align-items:center;gap:5px;font-size:.875em;display:flex}.clibsub-error{color:#c53030;background:#fff5f5;border:1px solid #fed7d7;border-radius:7px;padding:10px 12px;font-size:.875em}.clibsub-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.clibsub-cancel{color:#718096;cursor:pointer;background:0 0;border:1px solid #e2e8f0;border-radius:8px;padding:9px 18px;font-size:.9em}.clibsub-cancel:hover:not(:disabled){background:#f7fafc}.clibsub-submit{color:#fff;cursor:pointer;background:#c04a14;border:none;border-radius:8px;padding:9px 20px;font-size:.9em;font-weight:600;transition:background .15s}.clibsub-submit:hover:not(:disabled){background:#5a67d8}.clibsub-submit:disabled,.clibsub-cancel:disabled{opacity:.6;cursor:default}.clibsub-range-toggle{gap:6px;display:flex}.clibsub-range-btn{color:#718096;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:20px;padding:6px 16px;font-size:.85em;font-weight:500;transition:all .15s}.clibsub-range-btn:hover{color:#c04a14;border-color:#c04a14}.clibsub-range-btn.active{color:#fff;background:#c04a14;border-color:#c04a14;font-weight:600}.clibsub-section{flex-direction:column;gap:12px;padding-top:4px;display:flex}.clibsub-section-title{text-transform:uppercase;letter-spacing:.06em;color:#a0aec0;border-bottom:1px solid #e2e8f0;margin:0;padding-bottom:6px;font-size:.8em;font-weight:700}.clibsub-dynamic-list{flex-direction:column;gap:6px;display:flex}.clibsub-dynamic-row{align-items:center;gap:6px;display:flex}.clibsub-dynamic-row .clibsub-input{flex:1}.clibsub-input--sm{max-width:90px;flex:0 0 90px!important}.clibsub-remove-btn{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px 6px;font-size:.85em}.clibsub-remove-btn:hover{color:#fc8181;background:#fff5f5}.clibsub-add-row-btn{color:#718096;cursor:pointer;text-align:left;background:0 0;border:1.5px dashed #cbd5e0;border-radius:7px;padding:6px 12px;font-size:.85em;transition:border-color .15s,color .15s}.clibsub-add-row-btn:hover{color:#c04a14;border-color:#c04a14}@media (width<=520px){.clibsub-row-pair{grid-template-columns:1fr}}.clib-browse{flex-direction:column;gap:16px;display:flex}.clib-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.clib-search-wrap{flex:1;min-width:200px}.clib-search{color:#fff;box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;outline:none;width:100%;padding:8px 12px;font-size:.9em}.clib-search::placeholder{color:#fff6}.clib-search:focus{background:#ffffff1a;border-color:#c04a1499}.clib-filters{flex-wrap:wrap;gap:8px;display:flex}.clib-filter-select{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:8px;outline:none;padding:7px 10px;font-size:.85em}.clib-filter-select option{color:#fff;background:#2a2a3a}.clib-filter-select:focus{border-color:#c04a1499}.clib-submit-btn{color:#f5a828;cursor:pointer;white-space:nowrap;background:#c04a142e;border:1px solid #c04a1466;border-radius:8px;padding:7px 14px;font-size:.875em;font-weight:600;transition:background .15s}.clib-submit-btn:hover{background:#c04a1447}.clib-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:8px 16px;font-size:.9em;font-weight:600}.clib-add-btn:hover{opacity:.9}.clib-loading,.clib-error{text-align:center;color:#ffffff80;padding:60px 20px}.clib-error{color:#ff7878cc}.clib-error button{color:#ff7878cc;cursor:pointer;background:0 0;border:1px solid #ff787880;border-radius:6px;margin-left:8px;padding:4px 10px}.clib-empty{text-align:center;color:#ffffff80;padding:60px 20px}.clib-empty-icon{margin-bottom:12px;font-size:2.5em}.clib-empty p{margin:0;font-size:.95em}.clib-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.clib-card{cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:6px;padding:14px;transition:all .2s;display:flex}.clib-card:hover{background:#ffffff1a;border-color:#c04a1466;transform:translateY(-1px)}.clib-card--hidden{opacity:.5}.clib-card-top{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.clib-type-badge{border-radius:5px;padding:3px 7px;font-size:.72em;font-weight:600}.clib-type-book{color:#f5a828;background:#c04a1440}.clib-type-online{color:#6ee7b7;background:#34d39933}.clib-type-app{color:#fcd34d;background:#fbbf2433}.clib-type-workbook{color:#c4b5fd;background:#a78bfa33}.clib-type-other{color:#fff9;background:#ffffff1a}.clib-subject-badge{color:#ffffffb3;background:#ffffff1a;border-radius:5px;padding:3px 7px;font-size:.72em}.clib-pending-banner{background:#fbbf241a;border:1px solid #fbbf2440;border-radius:9px;align-items:center;gap:10px;padding:10px 14px;font-size:.875em;display:flex}.clib-pending-icon{font-size:1em}.clib-pending-banner strong{color:#fde68a}.clib-pending-hint{color:#fff6;font-size:.9em}.clib-status-badge{border-radius:4px;padding:2px 6px;font-size:.7em;font-weight:600}.clib-status--pending{color:#fcd34d;background:#fbbf2433}.clib-status--hidden{color:#fca5a5;background:#ef444433}.clib-card-name{color:#fff;font-size:1em;font-weight:700;line-height:1.3}.clib-card-publisher{color:#ffffff80;font-size:.8em}.clib-card-meta{flex-wrap:wrap;gap:5px;margin-top:2px;display:flex}.clib-meta-chip{color:#fff9;background:#ffffff14;border-radius:4px;padding:2px 7px;font-size:.73em}.clib-card-approaches{flex-wrap:wrap;gap:5px;display:flex}.clib-approach-chip{color:#a5b4fce6;background:#c04a1426;border-radius:4px;padding:2px 7px;font-size:.7em}.clib-card-bottom{align-items:center;gap:8px;margin-top:auto;padding-top:6px;display:flex}.clib-rating{color:#fcd34d;font-size:.82em;font-weight:600}.clib-rating-count{color:#fff6;font-weight:400}.clib-cost{color:#ffffff80;margin-left:auto;font-size:.8em}.clib-ss-badge{color:#6ee7b7;background:#34d39933;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:.7em;font-weight:600}.clib-card-bottom .clib-cost+.clib-ss-badge{margin-left:4px}.syllabus-due-item{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:10px;flex-direction:column;gap:10px;margin-bottom:12px;padding:14px;display:flex}.syllabus-due-item-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.85em;font-weight:600;display:flex}.syllabus-due-item input[type=text],.syllabus-due-item input[type=date],.syllabus-due-item input[type=number]{border:2px solid var(--color-border);border-radius:8px;width:100%;padding:10px 12px;font-family:inherit;font-size:1em}.syllabus-due-item-row{flex-wrap:wrap;gap:16px;display:flex}.syllabus-due-item-row label{color:var(--text-secondary);flex-direction:column;flex:1;gap:4px;min-width:140px;font-size:.85em;font-weight:600;display:flex}.syllabus-due-item-row input[type=number]{width:80px}.form-hint-inline{color:var(--text-muted);font-size:.85em;font-weight:400}.syllabus-due-item-header .grid-remove-row-btn{color:#e53e3e;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2em;line-height:1}.syllabus-import{flex-direction:column;gap:12px;display:flex}.syllabus-import-hint{color:var(--text-muted);margin:0;font-size:.88em}.syllabus-import-textarea{border:2px solid var(--color-border);resize:vertical;border-radius:8px;width:100%;padding:12px;font-family:inherit;font-size:.95em}.syllabus-import-files{flex-wrap:wrap;gap:8px;display:flex}.syllabus-import-file-chip{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.85em;display:flex}.syllabus-import-file-chip button{color:#e53e3e;cursor:pointer;background:0 0;border:none;padding:0;font-size:1em}.syllabus-import-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.syllabus-import-file-label{background:var(--color-bg-soft);border:2px solid var(--color-border);color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:9px 14px;font-size:.9em;font-weight:600;transition:all .2s;display:inline-flex}.syllabus-import-file-label:hover{border-color:var(--primary-color,#c04a14)}.syllabus-import-parse-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:10px 18px;font-weight:600}.syllabus-import-parse-btn:disabled{opacity:.5;cursor:not-allowed}.syllabus-import-error{color:#c53030;margin:0;font-size:.88em}.syllabus-import-review{border-top:2px solid var(--color-border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.syllabus-import-preview-label{color:var(--text-secondary);margin:0;font-weight:600}.syllabus-import-empty{color:var(--text-muted);margin:0;font-style:italic}.syllabus-import-entry-list{flex-direction:column;gap:16px;display:flex}.syllabus-import-entry{background:var(--color-bg-soft);border:2px solid var(--color-border);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.syllabus-import-entry-header{justify-content:space-between;align-items:flex-end;gap:10px;display:flex}.syllabus-import-entry-header label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.85em;font-weight:600;display:flex}.syllabus-import-entry-header .grid-remove-row-btn{color:#e53e3e;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2em;line-height:1}.syllabus-import-covered-label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.9em;font-weight:600;display:flex}.syllabus-import-covered-label textarea{border:2px solid var(--color-border);resize:vertical;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95em;font-weight:400}.add-due-item-btn{border:2px dashed var(--color-border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;width:100%;padding:10px 16px;font-size:.9em;font-weight:600;transition:all .2s}.add-due-item-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.coop-log-entry{border-bottom:1px solid var(--color-border);padding:10px 0}.coop-log-entry:last-child{border-bottom:none}.coop-log-entry-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coop-log-entry-summary{color:var(--text-secondary);flex-wrap:wrap;gap:10px;font-size:.85em;display:flex}.coop-log-entry-actions{flex-shrink:0;gap:6px;display:flex}.coop-log-entry-actions button{padding:4px 10px;font-size:.78em}.coop-log-entry-edit{flex-direction:column;gap:8px;display:flex}.coop-log-entry-edit label{color:var(--text-secondary);flex-direction:column;gap:4px;font-size:.85em;font-weight:600;display:flex}.coop-log-entry-edit input[type=date],.coop-log-entry-edit textarea{border:2px solid var(--color-border);resize:vertical;border-radius:8px;padding:8px 10px;font-family:inherit;font-size:.9em;font-weight:400}.coop-log-entry-edit-actions{gap:8px;display:flex}.coop-log-entry-edit-actions button{padding:6px 12px;font-size:.85em}.coop-log-task-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.coop-log-task{background:#fff;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;display:flex}.coop-log-task.completed .coop-log-task-meta{color:var(--text-muted);text-decoration:line-through}.coop-log-task input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary-color,#c04a14);cursor:pointer;flex-shrink:0}.coop-log-task-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.coop-log-task-meta{color:var(--text-muted);font-size:.76em}.coop-log-task-actions{flex-shrink:0;gap:6px;display:flex}.coop-log-task-actions button{padding:3px 8px;font-size:.76em}.coop-due-item-list{flex-direction:column;gap:10px;margin-top:10px;display:flex}.coop-due-item-group{background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px}.coop-due-item-summary{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coop-due-item-summary-text{flex-direction:column;gap:2px;display:flex}.coop-due-item-desc{color:var(--text-secondary);font-size:.9em;font-weight:600}.coop-due-item-meta{color:var(--text-muted);font-size:.78em}.coop-due-item-summary button{flex-shrink:0;padding:4px 10px;font-size:.78em}.coop-due-item-edit-actions{gap:8px;margin-top:10px;display:flex}.coop-due-item-edit-actions button{padding:6px 12px;font-size:.85em}.coop-due-item-edit-hint{color:var(--text-muted);margin:6px 0 0;font-size:.76em;font-style:italic}.coop-classes{flex-direction:column;gap:16px;display:flex}.coop-classes-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.coop-classes-intro{color:var(--text-muted);max-width:560px;margin:0;font-size:.9em}.coop-classes-empty{text-align:center;color:var(--text-muted);background:var(--color-bg-soft);border:2px dashed var(--color-border);border-radius:12px;padding:32px}.coop-classes-list{flex-direction:column;gap:14px;display:flex}.coop-class-card{border:2px solid var(--color-border);background:#fff;border-radius:12px;padding:16px 18px}.coop-class-card.inactive{opacity:.6}.coop-class-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.coop-class-title{color:var(--text-primary,#2d3748);align-items:center;gap:8px;font-size:1.1em;font-weight:700;display:flex}.coop-class-subject-icon{font-size:1.1em}.coop-class-actions{flex-wrap:wrap;gap:8px;display:flex}.coop-log-btn{color:var(--primary-color,#c04a14);background:#c04a141f;border:2px solid #c04a144d;font-weight:600}.coop-import-btn{color:#6b46c1;background:#805ad51f;border:2px solid #805ad54d;font-weight:600}.coop-class-meta{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.coop-class-badge{background:var(--color-bg-soft);border:1px solid var(--color-border);color:var(--text-secondary);border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:.82em;display:inline-flex}.inactive-badge{color:#c53030;background:#fed7d7;border-color:#feb2b2}.coop-unlinked-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding:8px 12px;font-size:.82em;display:flex}.coop-unlinked-warning button{flex-shrink:0;padding:4px 10px;font-size:.85em}.coop-class-log{border-top:1px solid var(--color-border);margin-top:8px;padding-top:8px}.coop-class-log-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85em;font-weight:600}.coop-class-log-list{margin:8px 0 0}.coop-class-log-date{color:var(--primary-color,#c04a14);flex-shrink:0;font-weight:700}.coop-class-log-covered{color:var(--text-muted)}.homeschool-curriculum{max-width:900px;margin:0 auto}.curriculum-tab-bar{background:#0003;border-radius:10px;gap:4px;width:fit-content;margin-bottom:20px;padding:4px;display:flex}.curriculum-tab{color:#ffffff8c;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:8px 18px;font-size:.9em;transition:all .2s}.curriculum-tab:hover{color:#fff}.curriculum-tab.active{color:#fff;background:#c04a1466;font-weight:600}.curriculum-loading{text-align:center;color:#fff9;padding:40px}.curriculum-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.curriculum-filters{flex-wrap:wrap;gap:8px;display:flex}.filter-group{background:#0003;border-radius:8px;padding:4px;display:flex}.curr-filter-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.85em;transition:all .2s}.curr-filter-btn:hover{color:#fff}.curr-filter-btn.active{color:#fff;background:#c04a1466}.curr-add-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:8px 16px;font-size:.9em;transition:transform .2s,box-shadow .2s}.curr-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c04a144d}.curriculum-saving{text-align:center;color:#fff9;margin-bottom:12px;font-size:.85em}.curriculum-empty{text-align:center;background:#ffffff14;border-radius:16px;padding:60px 40px}.curriculum-empty .empty-icon{margin-bottom:20px;font-size:4em}.curriculum-empty h3{color:#fff;margin:0 0 12px;font-size:1.3em}.curriculum-empty p{color:#fff9;margin:0 0 24px}.curriculum-subject-group{margin-bottom:24px}.subject-group-header{border-left:4px solid #ffffff4d;align-items:center;gap:10px;margin-bottom:12px;padding:10px 16px;display:flex}.subject-group-icon{font-size:1.3em}.subject-group-name{color:#fff;font-size:1.1em;font-weight:600}.subject-group-count{color:#fff6;margin-left:auto;font-size:.85em}.curriculum-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.curriculum-card{cursor:pointer;background:#ffffff14;border:1px solid #0000;border-radius:12px;padding:16px;transition:all .2s}.curriculum-card:hover{background:#ffffff1f;border-color:#ffffff26}.curriculum-card.inactive{opacity:.55}.card-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;display:flex}.card-name{color:#fff;font-size:1.05em;font-weight:600;line-height:1.3}.card-versions{gap:6px;margin-top:4px;display:flex}.version-tag{color:#ffffff80;background:#ffffff14;border-radius:4px;padding:2px 6px;font-size:.7em;font-weight:500}.card-delete{color:#ffffff4d;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:1.3em;line-height:1;transition:color .2s}.card-delete:hover{color:#fc8181}.card-badges{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.type-badge,.child-badge,.status-badge,.cost-badge{border-radius:4px;padding:3px 8px;font-size:.75em;font-weight:500}.type-badge{color:#f5a828;background:#c04a1440}.type-badge.online{color:#81e6d9;background:#38b2ac40}.type-badge.workbook{color:#fbd38d;background:#ed893640}.child-badge{color:#ffffffb3;background:#ffffff1a}.status-badge.inactive{color:#fff6;background:#ffffff14}.cost-badge{color:#9ae6b4;background:#48bb7833}.card-progress{margin-bottom:8px}.card-progress-bar{background:#ffffff1a;border-radius:3px;height:6px;margin-bottom:4px;overflow:hidden}.card-progress-fill{background:linear-gradient(90deg,#48bb78,#38a169);border-radius:3px;height:100%;transition:width .3s}.card-progress-text{color:#ffffff80;font-size:.75em}.card-progress-multi{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.card-progress-child{align-items:center;gap:6px;display:flex}.card-progress-child-name{text-align:center;color:#ffffff80;width:14px;font-size:.7em;font-weight:700}.card-progress-child .card-progress-bar{flex:1}.card-progress-child .card-progress-text{text-align:right;min-width:45px}.quiz-bar{background:#ed893626!important}.card-progress-fill.quiz-fill{background:linear-gradient(90deg,#ed8936,#dd6b20)!important}.card-bottom{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.card-library-btn{color:#fbd38d;cursor:pointer;background:#f6ad551f;border:1px solid #f6ad5540;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .2s}.card-library-btn:hover{background:#f6ad5540}.card-scope-btn{color:#9ae6b4;cursor:pointer;background:#48bb781f;border:1px solid #48bb7840;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .2s}.card-scope-btn:hover{background:#48bb7840}.card-update-btn{color:#f5a828;cursor:pointer;background:#c04a1426;border:none;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .2s}.card-update-btn:hover{background:#c04a144d}.card-assign-btn{color:#d6bcfa;cursor:pointer;background:#9f7aea26;border:none;border-radius:6px;padding:4px 10px;font-size:.75em;transition:all .2s}.card-assign-btn:hover{background:#9f7aea4d}.card-link{color:#f5a828;font-size:.8em;text-decoration:none;transition:color .2s;display:inline-block}.card-link:hover{color:#fff}@media (width<=600px){.curriculum-header{flex-direction:column}.curriculum-cards{grid-template-columns:1fr}}.homeschool-gradebook{max-width:960px;margin:0 auto;padding-bottom:40px}.gradebook-loading,.gradebook-error{text-align:center;color:#fff9;padding:60px 20px;font-size:1.1em}.gradebook-error{color:#fc8181}.gradebook-kid-tabs{gap:8px;margin-bottom:16px;display:flex}.kid-tab{color:#ffffffb3;cursor:pointer;background:#ffffff0f;border:2px solid #ffffff26;border-radius:20px;padding:8px 20px;font-size:.95em;transition:all .2s}.kid-tab:hover{color:#fff;border-color:#ffffff4d}.kid-tab.active{background:rgba(var(--kid-color,102, 126, 234), .25);border-color:var(--kid-color,#c04a14);color:#fff;font-weight:600}.gradebook-period-bar{background:#00000040;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;display:flex}.period-selector{align-items:center;gap:10px;display:flex}.period-selector label{color:#fff9;white-space:nowrap;font-size:.85em}.period-selector select{color:#fff;background:#ffffff14;border:1px solid #fff3;border-radius:8px;padding:6px 10px;font-size:.95em}.period-selector select option{background:#1a1a2e}.period-dates{color:#ffffff73;white-space:nowrap;font-size:.82em}.gradebook-setup-prompt{text-align:center;color:#fff9;padding:60px 24px}.gradebook-setup-prompt p{margin:0 0 10px;font-size:1.05em}.gradebook-setup-prompt .hint{color:#fff6;font-size:.9em}.gradebook-tabs{background:#0003;border-radius:10px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.gradebook-tab{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:.9em;transition:all .2s}.gradebook-tab:hover{color:#fff;background:#ffffff0d}.gradebook-tab.active{color:#fff;background:#c04a1459;font-weight:600}.gradebook-empty{text-align:center;color:#ffffff80;padding:50px 20px}.gradebook-empty p{margin:0 0 8px}.gradebook-empty .hint{color:#ffffff59;font-size:.85em}.gpa-banner{text-align:center;background:linear-gradient(135deg,#c04a144d,#3d10404d);border:1px solid #c04a1466;border-radius:12px;justify-content:center;align-items:baseline;gap:8px;margin-bottom:20px;padding:16px;display:flex}.gpa-label{color:#fff9;font-size:.9em}.gpa-value{color:#fff;font-size:2.2em;font-weight:700}.gpa-scale{color:#ffffff80;font-size:1em}.subject-grade-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.subject-grade-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:16px}.subject-grade-card--external{background:#fefcbf0f;border-color:#f6e05e66}.sgc-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.sgc-icon{font-size:1.4em}.sgc-name{color:#fff;flex:1;font-weight:600}.sgc-grade{border-radius:8px;flex-direction:column;align-items:center;padding:4px 10px;font-size:1.3em;font-weight:700;line-height:1.2;display:inline-flex}.sgc-grade-letter{font-size:1em;font-weight:700}.sgc-grade-pct{opacity:.8;font-size:.55em;font-weight:500}.sgc-breakdown{border-top:1px solid #ffffff14;margin-bottom:12px;padding-top:10px}.sgc-breakdown-row{color:#ffffffb3;align-items:center;gap:6px;padding:3px 0;font-size:.82em;display:flex}.bd-icon{font-size:1em}.bd-type{flex:1}.bd-avg{color:#fff;font-weight:600}.bd-count{color:#fff6}.bd-weight{color:#fff6;margin-left:auto}.sgc-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-top:10px;display:flex}.sgc-entry-count{color:#fff6;font-size:.8em}.sgc-add-btn{color:#f5a828;cursor:pointer;background:#c04a1433;border:1px solid #c04a1466;border-radius:6px;padding:4px 10px;font-size:.82em;transition:all .2s}.sgc-add-btn:hover{background:#c04a1459}.grade-a{color:#68d391}.grade-b{color:#76e4f7}.grade-c{color:#fbd38d}.grade-d{color:#fc8181}.grade-f{color:#feb2b2;background:#feb2b21a}.grade-na{color:#fff6}.entries-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.entries-filters{flex-direction:column;gap:8px;display:flex}.filter-group{flex-wrap:wrap;gap:4px;display:flex}.filter-btn{color:#fff9;cursor:pointer;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;padding:5px 12px;font-size:.82em;transition:all .2s}.filter-btn:hover{color:#fff;border-color:#ffffff4d}.filter-btn.active{color:#fff;background:#c04a144d;border-color:#c04a1480}.entries-list{flex-direction:column;gap:8px;display:flex}.entry-row{background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:background .2s;display:flex}.entry-row:hover{background:#ffffff12}.entry-row--course{border-left:3px solid #f6e05e}.entry-type--course{color:#d69e2e;font-weight:600}.entry-icon{flex-shrink:0;font-size:1.3em}.entry-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.entry-desc{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.entry-meta{color:#ffffff80;flex-wrap:wrap;gap:10px;font-size:.8em;display:flex}.entry-subject{color:#ffffffa6}.entry-score{flex-shrink:0;font-size:1.05em;font-weight:700}.entry-actions{flex-shrink:0;gap:6px;display:flex}.entry-edit-btn{color:#ffffffb3;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;padding:4px 10px;font-size:.82em;transition:all .2s}.entry-edit-btn:hover{color:#fff;background:#ffffff26}.entry-delete-btn{color:#ffffff4d;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:.9em;transition:all .2s}.entry-delete-btn:hover{color:#fc8181;background:#fc81811a}.subjects-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.subjects-hint{color:#ffffff80;margin:0;font-size:.9em}.subject-config-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.subject-config-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:14px}.scc-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.scc-icon{font-size:1.3em}.scc-name{color:#fff;flex:1;font-weight:600}.scc-scale{color:#f5a828;background:#c04a1440;border:1px solid #c04a1466;border-radius:10px;padding:2px 8px;font-size:.75em}.scc-types{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.scc-type-tag{color:#ffffffb3;background:#ffffff12;border:1px solid #ffffff1a;border-radius:10px;padding:3px 9px;font-size:.78em}.scc-actions{border-top:1px solid #ffffff14;gap:8px;padding-top:10px;display:flex}.scc-edit-btn{color:#fffc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:6px;font-size:.85em;transition:all .2s}.scc-edit-btn:hover{background:#ffffff26}.scc-delete-btn{color:#fc8181b3;cursor:pointer;background:0 0;border:1px solid #fc81814d;border-radius:6px;padding:6px 12px;font-size:.85em;transition:all .2s}.scc-delete-btn:hover{color:#fc8181;background:#fc81811a}.btn-primary{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:8px;padding:8px 18px;font-size:.9em;font-weight:600;transition:opacity .2s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-danger{color:#fc8181;cursor:pointer;background:#fc818126;border:1px solid #fc818166;border-radius:8px;padding:8px 18px;font-size:.9em;transition:all .2s}.btn-danger:hover{background:#fc818140}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{color:#2d3748;margin:0;font-size:1.2em}.modal-close{color:#718096;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.1em;transition:background .2s}.modal-close:hover{background:#f7fafc}.modal-form .form-row{gap:12px;display:flex}.modal-form .form-row .form-group{flex:1}.modal-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.modal-footer-right{gap:10px;margin-left:auto;display:flex}.grade-entry-form .form-row,.subject-config-form .form-row{gap:12px;display:flex}.grade-entry-form .form-row .form-group,.subject-config-form .form-row .form-group{flex:1}.grade-scale-display{flex-direction:column;justify-content:flex-end;display:flex}.scale-badge{color:#4c51bf;background:#edf2ff;border:1px solid #c3dafe;border-radius:8px;padding:6px 10px;font-size:.85em;font-weight:600}.scale-hint{color:#718096;font-size:.8em;font-weight:400}.optional{color:#a0aec0;font-size:.8em;font-weight:400}.form-error{color:#e53e3e;background:#fff5f5;border:1px solid #fed7d7;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.85em}.external-provider-label{color:#744210;background:#fefcbf;border:1px solid #f6e05e;border-radius:8px;margin-bottom:12px;padding:5px 12px;font-size:.85em;font-weight:600;display:inline-block}.letter-grade-picker{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.letter-grade-btn{cursor:pointer;text-align:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;min-width:44px;padding:6px 12px;font-size:.9em;font-weight:600;transition:background .12s,border-color .12s,color .12s}.letter-grade-btn.active{color:#fff;border-color:#0000}.letter-grade-btn.grade-btn-a.active{background:#276749}.letter-grade-btn.grade-btn-b.active{background:#2b6cb0}.letter-grade-btn.grade-btn-c.active{background:#d69e2e}.letter-grade-btn.grade-btn-d.active{background:#dd6b20}.letter-grade-btn.grade-btn-f.active{background:#c53030}.sgc-external-badge{color:#744210;white-space:nowrap;background:#fefcbf;border:1px solid #f6e05e;border-radius:10px;margin-left:4px;padding:1px 8px;font-size:.72em;font-weight:600}.sgc-external-breakdown{flex-wrap:wrap;gap:6px;padding:6px 0 2px;display:flex}.sgc-ext-period{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:4px;padding:3px 9px;font-size:.8em;display:flex}.sgc-ext-period-label{color:#718096}.sgc-ext-period-grade{font-weight:700}.weight-rows{flex-direction:column;gap:8px;margin-bottom:6px;display:flex}.weight-row{align-items:center;gap:10px;display:flex}.weight-icon{font-size:1.1em}.weight-label{color:#4a5568;flex:1;font-size:.9em}.weight-input{text-align:right;border:1px solid #e2e8f0;border-radius:6px;width:70px;padding:6px 8px;font-size:.9em}.weight-pct{color:#718096;font-size:.9em}.weight-total{font-size:.85em;font-weight:400}.weight-ok{color:#38a169}.weight-error{color:#e53e3e}.weight-hint{color:#a0aec0;margin:0;font-size:.8em}.custom-subject-input{margin-top:8px}.pending-grades-panel{background:#ed893614;border:1px solid #ed893659;border-radius:10px;margin-bottom:16px;overflow:hidden}.pending-grades-header{color:#c05621;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:.95em;font-weight:600;transition:background .15s;display:flex}.pending-grades-header:hover{background:#ed893614}.pending-grades-icon{font-size:1em}.pending-grades-title{flex:1}.pending-grades-count{color:#fff;text-align:center;background:#ed8936;border-radius:10px;min-width:22px;padding:1px 8px;font-size:.8em;font-weight:700}.pending-grades-chevron{color:#c05621;opacity:.7;font-size:1.2em;font-weight:300}.pending-grades-list{border-top:1px solid #ed893633;padding:4px 0}.pending-grade-row{border-bottom:1px solid #ed89361a;align-items:center;gap:10px;padding:9px 16px;font-size:.9em;display:flex}.pending-grade-row:last-child{border-bottom:none}.pgr-icon{flex-shrink:0;font-size:1.1em}.pgr-desc{color:#2d3748;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.pgr-subject{color:#718096;white-space:nowrap;font-size:.85em}.pgr-date{color:#a0aec0;white-space:nowrap;font-size:.82em}.pgr-grade-btn{color:#c05621;cursor:pointer;white-space:nowrap;background:#ed893626;border:1px solid #ed893666;border-radius:6px;flex-shrink:0;padding:5px 12px;font-size:.85em;font-weight:600;transition:background .15s}.pgr-grade-btn:hover{background:#ed893647}@media (width<=500px){.pending-grade-row{flex-wrap:wrap}.pgr-subject,.pgr-date{display:none}}@media (width<=600px){.subject-grade-cards,.subject-config-list{grid-template-columns:1fr}.entries-header{flex-direction:column}.gradebook-period-bar{flex-direction:column;align-items:flex-start}}.student-settings-tab{flex-direction:column;gap:20px;display:flex}.student-settings-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:14px;padding:18px 20px;display:flex}.student-settings-section-header{align-items:flex-start;gap:12px;display:flex}.student-settings-section-icon{flex-shrink:0;font-size:1.4em;line-height:1.2}.student-settings-section-title{color:#2d3748;margin-bottom:2px;font-size:.95em;font-weight:700}.student-settings-section-desc{color:#718096;font-size:.85em;line-height:1.45}.student-settings-empty-hint{color:#718096;margin:0;font-size:.875em;font-style:italic}.self-grading-tab{flex-direction:column;gap:16px;display:flex}.self-grading-intro{color:#4a5568;background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;margin:0;padding:12px 14px;font-size:.9em;line-height:1.5}.self-grading-subject-list{flex-direction:column;gap:10px;display:flex}.self-grading-subject-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:14px 16px}.self-grading-subject-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.self-grading-subject-icon{font-size:1.2em}.self-grading-subject-name{color:#2d3748;flex:1;font-size:.95em;font-weight:600}.self-grading-scale-badge{color:#718096;text-transform:capitalize;background:#edf2f7;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:500}.self-grading-kids-row{flex-wrap:wrap;gap:8px;display:flex}.self-grading-kid-toggle{color:#4a5568;cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.875em;font-weight:500;transition:all .15s;display:flex}.self-grading-kid-toggle input{display:none}.self-grading-kid-toggle:hover{border-color:#a0aec0}.self-grading-kid-toggle.enabled{background:color-mix(in srgb, var(--kid-color,#c04a14) 12%, transparent);border-color:var(--kid-color,#c04a14);color:var(--kid-color,#c04a14);font-weight:700}.self-grading-footer{padding-top:4px}.sy-switcher{background:var(--color-bg-soft,#f7fafc);border:2px solid var(--color-border,#e2e8f0);border-radius:10px;justify-content:center;align-items:center;gap:12px;margin:0 20px 20px;padding:8px 12px;display:flex}.sy-switcher--empty{color:var(--text-muted,#a0aec0);justify-content:center;padding:12px;font-size:.9em}.sy-switcher-nav{color:var(--primary-color,#c04a14);cursor:pointer;background:#c04a141f;border:2px solid #c04a144d;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1em;font-weight:700;transition:all .15s;display:flex}.sy-switcher-nav:hover:not(:disabled){background:#c04a1440}.sy-switcher-nav:disabled{opacity:.35;cursor:not-allowed}.sy-switcher-label{text-align:center;color:var(--text-secondary,#2d3748);flex:1;justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.sy-switcher-current-badge{text-transform:uppercase;letter-spacing:.04em;color:#2f855a;background:#48bb7826;border:1px solid #48bb7859;border-radius:10px;padding:2px 8px;font-size:.68em;font-weight:700}.ay-confirm-body p{color:var(--text-secondary,#4a5568);margin:0 0 20px;line-height:1.6}.ay-confirm-actions{flex-wrap:wrap;gap:10px;display:flex}.ay-confirm-btn{cursor:pointer;border:2px solid #0000;border-radius:8px;flex:1;min-width:140px;padding:12px 16px;font-size:.95em;font-weight:600;transition:all .15s}.ay-confirm-btn--archived{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14);background:#c04a141f}.ay-confirm-btn--archived:hover{background:var(--primary-color,#c04a14);color:#fff}.ay-confirm-btn--current{color:#4a5568;background:#f7fafc;border-color:#cbd5e0}.ay-confirm-btn--current:hover{background:#edf2f7;border-color:#a0aec0}.homeschool-hub{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);min-height:100vh}.hub-nav{flex-direction:column;gap:8px;max-width:300px;margin:0 auto;padding:20px;display:flex}.hub-nav-btn{color:#fffc;cursor:pointer;text-align:left;background:#ffffff14;border:2px solid #0000;border-radius:12px;align-items:center;gap:12px;padding:16px 20px;font-size:1em;transition:all .2s;display:flex;position:relative}.hub-nav-btn:hover{color:#fff;background:#ffffff1f}.hub-nav-btn.active{color:#fff;background:#c04a144d;border-color:#c04a1480}.hub-nav-btn .nav-icon{font-size:1.4em}.hub-nav-btn .nav-label{font-weight:500}.hub-nav-btn .nav-beta-badge,.hub-nav-btn .nav-preview-badge,.hub-nav-btn .nav-soon-badge{border-radius:8px;padding:1px 6px;font-size:.65em;font-weight:700;position:absolute;top:6px;left:8px}.hub-nav-btn .nav-alpha-badge{color:#f9a8d4;background:#ec489933;border:1px solid #ec489966}.hub-nav-btn .nav-beta-badge{color:#c4b5fd;background:#8b5cf633;border:1px solid #8b5cf666}.hub-nav-btn .nav-preview-badge{color:#67e8f9;background:#0891b233;border:1px solid #0891b266}.hub-nav-btn .nav-soon-badge{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2459}.hub-nav-btn .nav-pending-badge{color:#fff;text-align:center;pointer-events:none;background:#ed8936;border-radius:10px;min-width:18px;padding:1px 6px;font-size:.68em;font-weight:700;position:absolute;top:6px;right:8px}.hub-nav-btn.soon{opacity:.7}.hub-nav-btn.soon:hover{opacity:.9}.hub-coming-soon-panel{text-align:center;color:#ffffff80;padding:60px 24px}.hub-coming-soon-panel .hub-coming-soon-icon{margin-bottom:12px;font-size:3em}.hub-coming-soon-panel h3{color:#ffffffb3;margin:0 0 10px;font-size:1.3em}.hub-coming-soon-panel p{margin:0;font-size:.95em}.hub-content{padding:0 20px 20px}@media (width>=768px){.hub-nav{flex-direction:row;justify-content:center;max-width:600px}.hub-nav-btn{text-align:center;flex-direction:column;flex:1;justify-content:center;gap:8px;padding:20px}.hub-nav-btn .nav-icon{font-size:1.8em}}.parent-reading{padding:0}.child-selector{justify-content:center;gap:10px;margin:0 20px 30px;display:flex}.child-selector button{cursor:pointer;color:#2d3748;background:#fff;border:2px solid #cbd5e0;border-radius:25px;padding:12px 30px;font-size:1.1em;font-weight:600;transition:all .3s}.child-selector button.active{color:#fff;background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #2563eb4d}.child-selector button:hover:not(.active){background:#f7fafc;border-color:#a0aec0}.export-bar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:0 20px 30px;display:flex}.export-scope-select{color:#2d3748;cursor:pointer;background:#fff;border:2px solid #cbd5e0;border-radius:8px;padding:10px 14px;font-size:.95em}.export-btn{color:#2563eb;cursor:pointer;background:#fff;border:2px solid #2563eb;border-radius:8px;padding:10px 18px;font-size:.95em;font-weight:600;transition:all .2s}.export-btn:hover{color:#fff;background:#2563eb}.export-btn--all{color:#c04a14;border-color:#c04a14}.export-btn--all:hover{color:#fff;background:#c04a14}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin:0 20px 20px;display:grid}.reading-portal-hint{text-align:center;color:#fffc;text-shadow:0 1px 3px #0000004d;margin:-8px 20px 20px;font-size:.85rem;font-style:italic}.page-stats{flex-wrap:wrap;justify-content:center;gap:15px;margin:0 20px 40px;display:flex}.page-stat{border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fff;min-width:120px;padding:15px 20px;transition:all .3s}.page-stat.trend-up{background:#e8f8f0;border-color:#27ae60}.page-stat.trend-down{background:#fde8e8;border-color:#e74c3c}.page-stat.trend-same{background:#fef5e7;border-color:#f39c12}.page-number{color:var(--text-primary);margin-bottom:5px;font-size:1.5em;font-weight:700}.page-label{color:var(--text-muted);font-size:.85em;font-weight:600}.trend-up .page-label{color:#27ae60}.trend-down .page-label{color:#e74c3c}.trend-same .page-label{color:#f39c12}.stat-card{color:#fff;text-align:center;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border-radius:15px;padding:30px;box-shadow:0 5px 15px #0000001a}.stat-number{margin-bottom:10px;font-size:3em;font-weight:700}.stat-label{opacity:.9;font-size:1.1em}.reading-sections{gap:30px;padding:0 20px 20px;display:grid}.reading-section{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;padding:25px}.book-progress{color:var(--primary-color);margin-top:5px;font-size:.95em;font-weight:600}.reading-section h2{color:var(--text-primary);border-bottom:2px solid #ecf0f1;margin-bottom:20px;padding-bottom:10px}.book-list{flex-direction:column;gap:15px;display:flex}.book-item{border-left:4px solid var(--primary-color);background:#f8f9fa;border-radius:5px;padding:15px;transition:all .3s}.book-item:hover{background:#e8f4f8;transform:translate(5px)}.book-title{color:var(--text-primary);margin-bottom:5px;font-size:1.2em;font-weight:600}.book-meta{color:var(--text-muted);margin-bottom:3px;font-size:.95em}.book-series{color:var(--primary-color);font-weight:500}.book-date,.book-release{color:#95a5a6;margin-top:5px;font-size:.9em}.empty-message{color:#95a5a6;text-align:center;padding:20px;font-style:italic}.loading{border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md);color:#4a5568;background:#fff;padding:40px;font-size:1.2em}@media (width<=768px){.stats-grid{grid-template-columns:1fr}.stat-number{font-size:2.5em}}.admin-content{flex-direction:column;gap:1rem;padding:1.5rem 0;display:flex}.admin-section{border-radius:var(--radius-md,12px);box-shadow:var(--shadow-sm,0 2px 8px #00000012);background:#fff;border:1px solid #e8e8e8;padding:1.25rem 1.5rem}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.admin-section-header h2{margin:0;font-size:1.2rem}.admin-add-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9rem}.admin-add-btn:hover{opacity:.85}.create-family-form{flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;display:flex}.create-family-form input{border:1px solid #ccc;border-radius:8px;flex:1;min-width:160px;padding:.5rem .75rem;font-size:.9rem}.create-family-form button{cursor:pointer;background:var(--primary-color,#c04a14);color:#fff;border:none;border-radius:8px;padding:.5rem 1rem}.families-list{flex-direction:column;gap:1rem;display:flex}.family-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 4px #0000000f}.family-card.family-inactive{opacity:.55}.family-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.family-name{margin-right:.6rem;font-size:1rem;font-weight:600}.family-slug{color:#555;background:#f0f0f0;border-radius:4px;padding:2px 6px;font-size:.8rem}.family-inactive-badge{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.family-menu-wrap{position:relative}.family-menu-trigger{cursor:pointer;color:#a0aec0;letter-spacing:1px;background:0 0;border:none;border-radius:6px;padding:2px 6px;font-size:1.1rem;font-weight:700;line-height:1;transition:color .15s,background .15s}.family-menu-trigger:hover{color:#4a5568;background:#f0f0f0}.family-menu-flyout{z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:.25rem;min-width:200px;padding:.5rem;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 16px #0000001f}.family-menu-confirm-text{color:#4a5568;margin:.25rem .5rem .5rem;font-size:.82rem;line-height:1.4}.family-menu-btn{text-align:left;cursor:pointer;color:#2d3748;background:0 0;border:none;border-radius:7px;width:100%;padding:.45rem .75rem;font-size:.85rem;transition:background .12s}.family-menu-btn:hover{background:#f7fafc}.family-menu-btn--danger{color:#c53030}.family-menu-btn--danger:hover{background:#fff5f5}.feature-toggles{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.feature-module-group{flex-direction:column;gap:.3rem;display:flex}.feature-sub-toggles{flex-wrap:wrap;gap:.25rem;padding-left:1rem;display:flex}.feature-toggle{cursor:pointer;background:#f8f8f8;border:1px solid #d0d0d0;border-radius:20px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.85rem;transition:background .15s,border-color .15s;display:flex}.feature-toggle.enabled{color:#2e7d32;background:#e8f4e8;border-color:#6abf69}.feature-toggle input{cursor:pointer}.feature-sub-toggle{border-radius:14px;padding:.25rem .6rem;font-size:.78rem}.family-saving{color:#888;margin-top:.5rem;font-size:.8rem}.admin-empty{color:#888;text-align:center;padding:2rem}.admin-hint{color:#666;background:#f5f5f5;border-radius:8px;margin-top:2rem;padding:.75rem 1rem;font-size:.85rem}.admin-toggle-row{color:#4a5568;cursor:pointer;align-items:center;gap:8px;margin-bottom:.75rem;font-size:.875em;display:flex}.admin-hint code{background:#e8e8e8;border-radius:3px;padding:1px 5px}.admin-section-divider{border:none;border-top:1px solid #e8e8e8;margin:1.5rem 0}.modules-list{flex-direction:column;gap:.5rem;margin-bottom:.5rem;display:flex}.module-group{flex-direction:column;gap:.2rem;display:flex}.module-sub-list{border-left:2px solid #e2e8f0;flex-direction:column;gap:.2rem;margin-left:.6rem;padding-left:2.75rem;display:flex}.module-sub-row{align-items:center;gap:.75rem;padding:.3rem .5rem;display:flex}.module-sub-name{color:#4a5568;min-width:130px;font-size:.82rem}.module-row{background:#fff;border:1px solid #e8e8e8;border-radius:10px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.module-order-btns{flex-direction:column;gap:1px;display:flex}.module-order-btn{cursor:pointer;color:#555;background:#f0f0f0;border:1px solid #d0d0d0;border-radius:3px;padding:1px 5px;font-size:.65rem;line-height:1.2}.module-order-btn:hover:not(:disabled){background:#e2e8f0}.module-order-btn:disabled{opacity:.3;cursor:default}.module-icon-sm{flex-shrink:0;font-size:1.1rem}.module-name-sm{flex:1;font-size:.9rem;font-weight:500}.module-status-group{gap:.35rem;display:flex}.module-status-pill{cursor:pointer;color:#666;background:#f0f0f0;border:1px solid #0000;border-radius:20px;align-items:center;gap:.25rem;padding:.25rem .65rem;font-size:.78rem;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:flex}.module-status-pill input[type=radio]{display:none}.module-status-pill.selected.status-active{color:#2e7d32;background:#e8f4e8;border-color:#6abf69}.module-status-pill.selected.status-beta{color:#5b21b6;background:#ede9fe;border-color:#8b5cf6}.module-status-pill.selected.status-coming_soon{color:#92400e;background:#fef3c7;border-color:#f59e0b}.module-status-pill:hover:not(.selected){background:#e8e8e8}.modules-saving{color:#888;margin-left:.5rem;font-size:.8rem;font-weight:400}.family-header-controls{align-items:center;gap:.75rem;display:flex}.beta-toggle{cursor:pointer;color:#5b21b6;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.beta-toggle.preview-toggle{color:#0e7490}.feature-toggle.beta-module{border-color:#c4b5fd}.feature-toggle.beta-module.enabled{color:#5b21b6;background:#ede9fe;border-color:#8b5cf6}.beta-badge{color:#8b5cf6;margin-left:2px;font-size:.7rem;font-weight:700}.preview-badge{color:#0891b2;margin-left:2px;font-size:.7rem;font-weight:700}.feature-toggle.preview-module{border-color:#a5f3fc}.feature-toggle.preview-module.enabled{color:#0e7490;background:#ecfeff;border-color:#0891b2}.no-modules-hint{color:#aaa;font-size:.82rem;font-style:italic}.module-system-label{color:#6b7280;padding:3px 10px;font-size:.75rem;font-style:italic}.system-badge{color:#6b7280;margin-left:2px;font-size:.7rem;font-weight:700}.feature-toggle.system-module{opacity:.7;cursor:default}.module-alpha-toggle{cursor:pointer;color:#999;white-space:nowrap;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:12px;align-items:center;gap:.25rem;padding:3px 10px;font-size:.75rem;transition:background .15s,border-color .15s,color .15s;display:flex}.module-alpha-toggle.selected{color:#9d174d;background:#fce7f3;border-color:#ec4899}.module-alpha-toggle input[type=checkbox]{display:none}.module-alpha-toggle:hover:not(.selected){background:#e8e8e8}.alpha-badge{color:#ec4899;margin-left:2px;font-size:.7rem;font-weight:700}.feature-toggle.alpha-module{opacity:.6;border-color:#fbcfe8}.family-members-section{border-top:1px solid #eee;margin-top:.75rem;padding-top:.6rem}.members-toggle-btn{color:var(--primary-color,#c04a14);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.members-toggle-btn:hover{text-decoration:underline}.members-panel{margin-top:.6rem}.members-loading,.members-empty{color:#888;margin:.4rem 0;font-size:.85rem}.members-list{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.member-item{align-items:center;gap:.6rem;font-size:.875rem;display:flex}.member-name{color:#2d3748;min-width:80px;font-weight:600}.member-email{color:#718096;flex:1;font-size:.85em}.member-role{text-transform:capitalize;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.role-parent{color:#1e40af;background:#dbeafe}.role-child{color:#854d0e;background:#fef9c3}.role-admin{color:#9d174d;background:#fce7f3}.member-status{color:#888;font-size:.75rem}.status-confirmed{color:#16a34a}.status-force_change_password{color:#d97706}.resend-invite-btn{color:#718096;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #cbd5e0;border-radius:5px;padding:2px 7px;font-family:inherit;font-size:.72rem;transition:background .15s,color .15s}.resend-invite-btn:hover:not(:disabled){color:#2d3748;background:#edf2f7}.resend-invite-btn:disabled{opacity:.5;cursor:not-allowed}.pin-reset-btn{color:#7e57c2;cursor:pointer;background:0 0;border:1px solid #d1c4e9;border-radius:8px;margin-bottom:8px;padding:6px 12px;font-size:.82rem;display:block}.pin-reset-btn:hover{background:#f3e8ff}.masquerade-btn{color:#c05621;border-color:#f6ad55}.force-delete-btn{color:#c53030;border-color:#feb2b2}.force-delete-btn:hover{background:#fff5f5;border-color:#fc8181}.force-delete-btn:disabled{opacity:.5;cursor:not-allowed}.masquerade-btn:hover{background:#fffaf0}.pin-reset-form{background:#faf5ff;border:1px solid #d1c4e9;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;padding:10px 12px;display:flex}.pin-reset-label{color:#6b7280;white-space:nowrap;font-size:.82rem}.pin-reset-input{letter-spacing:.2em;border:1px solid #c4b5fd;border-radius:6px;width:100px;padding:5px 10px;font-size:.9rem}.pin-reset-error{color:#dc2626;width:100%;font-size:.8rem}.pin-reset-save-btn{color:#fff;cursor:pointer;background:#7e57c2;border:none;border-radius:6px;padding:5px 14px;font-size:.85rem}.pin-reset-save-btn:hover:not(:disabled){background:#6d3fc0}.pin-reset-save-btn:disabled{opacity:.6;cursor:not-allowed}.pin-reset-cancel-btn{color:#718096;cursor:pointer;background:0 0;border:1px solid #cbd5e0;border-radius:6px;padding:5px 10px;font-size:.82rem}.pin-reset-cancel-btn:hover{background:#f1f5f9}.invite-btn{border:1px dashed var(--primary-color,#c04a14);color:var(--primary-color,#c04a14);cursor:pointer;background:0 0;border-radius:8px;padding:.35rem .75rem;font-size:.85rem}.invite-btn:hover{background:#f0f7ff}.invite-form{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.invite-form input,.invite-form select{border:1px solid #ccc;border-radius:8px;padding:.4rem .6rem;font-size:.85rem}.invite-form input[type=email]{flex:1;min-width:180px}.invite-form button{cursor:pointer;border:none;border-radius:8px;padding:.4rem .75rem;font-size:.85rem}.invite-form button[type=submit]{background:var(--primary-color,#c04a14);color:#fff}.invite-form button[type=button]{color:#555;background:#f0f0f0}.users-table-wrap{overflow-x:auto}.users-table{border-collapse:collapse;width:100%;font-size:.85rem}.users-table th{text-align:left;color:#718096;white-space:nowrap;border-bottom:2px solid #e2e8f0;padding:.4rem .6rem;font-weight:600}.users-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:.4rem .6rem}.user-row.user-disabled td{opacity:.5}.users-family-header-row td{color:#2d3748;background:#edf2f7;border-bottom:1px solid #cbd5e0;padding:.35rem .6rem;font-size:.8rem}.users-family-slug-tag{color:#718096;font-weight:400}.user-email{color:#4a5568;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.82rem;overflow:hidden}.user-attr-input{border:1px solid #d0d0d0;border-radius:5px;width:100%;min-width:90px;padding:.25rem .4rem;font-size:.82rem}.user-attr-select{border:1px solid #d0d0d0;border-radius:5px;padding:.25rem .4rem;font-size:.82rem}.user-actions{white-space:nowrap;gap:.35rem;display:flex}.user-btn{cursor:pointer;color:#2d3748;background:#f8f8f8;border:1px solid #d0d0d0;border-radius:5px;padding:.25rem .55rem;font-size:.8rem}.user-btn:hover{background:#edf2f7}.user-btn--save{color:#276749;border-color:#68d391}.user-btn--save:hover{background:#f0fff4}.user-btn--danger{color:#c53030;border-color:#fc8181}.user-btn--danger:hover{background:#fff5f5}.user-autosaving{color:#a0aec0;font-size:.75rem;font-style:italic}.user-last-member-warn{color:#c05621;white-space:nowrap;background:#fffaf0;border:1px solid #f6ad55;border-radius:4px;padding:2px 6px;font-size:.75rem}.lib-seed-result{color:#276749;margin:0 0 .75rem;font-size:.85rem}.lib-management{margin-bottom:1rem}.lib-danger-row{border-bottom:1px solid #f0f0f0;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.5rem 0;display:flex}.lib-clear-confirm{color:#c53030;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.lib-entry-hidden td{opacity:.45;font-style:italic}.lib-content-card{background:#fff;border-radius:12px;margin-bottom:1rem;padding:1rem 1.25rem;box-shadow:0 2px 10px #00000012}.lib-series-cell,.lib-age-cell{color:#718096;white-space:nowrap;font-size:.8rem}.lib-admin-title-cell{align-items:flex-start;gap:.5rem;display:flex}.lib-admin-cover{object-fit:cover;border-radius:2px;width:30px;min-width:30px;height:44px;box-shadow:0 1px 3px #00000026}.lib-admin-title-info{flex-direction:column;gap:2px;min-width:0;display:flex}.lib-admin-year{color:#a0aec0;font-size:.72rem}.lib-admin-isbn{color:#718096;font-family:monospace;font-size:.72rem}.lib-admin-genres-cell{max-width:200px}.lib-admin-genre-tag{color:#2b6cb0;white-space:nowrap;background:#ebf4ff;border-radius:10px;align-items:center;gap:3px;margin:1px 2px 1px 0;padding:1px 5px 1px 8px;font-size:.7rem;display:inline-flex}.lib-admin-theme-remove{cursor:pointer;color:#90cdf4;background:0 0;border:none;padding:0;font-size:.6rem;line-height:1;transition:color .1s}.lib-admin-theme-remove:hover{color:#2b6cb0}.lib-pagination-row{align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.lib-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 0 .75rem;display:flex}.lib-filter-search{border:1px solid #d0d5dd;border-radius:6px;flex:220px;min-width:180px;padding:.4rem .6rem}.lib-filter-row select{border:1px solid #d0d5dd;border-radius:6px;padding:.4rem .6rem}.lib-filter-multiselect{min-width:220px;height:6rem;overflow-y:auto}.lib-filter-multiselect option{padding:.15rem .4rem}.lib-filter-count{color:#555;margin-left:auto;font-size:.85rem}.lib-pagination-label{color:#555;font-size:.85rem}.lib-edit-row td{background:#f7faff;padding:.75rem 1rem}.lib-edit-form{flex-direction:column;gap:.6rem;max-width:700px;display:flex}.lib-edit-fields{flex-wrap:wrap;gap:.6rem;display:flex}.lib-edit-fields label,.lib-edit-desc-label{color:#444;flex-direction:column;gap:.2rem;font-size:.8rem;font-weight:600;display:flex}.lib-edit-fields label input,.lib-edit-desc-label textarea{border:1px solid #ccc;border-radius:4px;width:160px;padding:.3rem .5rem;font-size:.85rem}.lib-edit-desc-label textarea{resize:vertical;width:100%;min-width:400px}.lib-edit-actions{gap:.5rem;display:flex}.lib-edit-cover-row{align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.lib-edit-cover-thumb-wrap{flex-direction:column;align-items:center;gap:.4rem;display:flex}.lib-edit-cover-thumb{object-fit:cover;border:1px solid #ccc;border-radius:3px;width:60px;height:80px}.lib-edit-cover-empty{color:#999;text-align:center;background:#f0f0f0;border:1px dashed #bbb;border-radius:3px;justify-content:center;align-items:center;width:60px;height:80px;font-size:.7rem;display:flex}.lib-edit-cover-btn{white-space:nowrap;font-size:.78rem}.lib-edit-genres-section{flex-direction:column;gap:.35rem;display:flex}.lib-edit-genres-label{color:#444;font-size:.8rem;font-weight:600}.lib-edit-genres-list{flex-wrap:wrap;gap:.3rem;min-height:1.5rem;display:flex}.lib-edit-genres-empty{color:#999;font-size:.8rem;font-style:italic}.lib-edit-genre-add-row{align-items:center;gap:.4rem;display:flex}.lib-edit-genre-add-row input{border:1px solid #ccc;border-radius:4px;padding:.3rem .5rem;font-size:.85rem}.lib-ar-badge{color:#555;margin-top:2px;font-size:.7rem;display:block}.question-row{border-bottom:1px solid #edf2f7;align-items:center;gap:.6rem;padding:.5rem 0;display:flex}.question-row:last-of-type{border-bottom:none}.question-id-badge{color:#3d1040;white-space:nowrap;background:#edf2f7;border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-family:monospace;font-size:.68rem}.question-id-input{flex-basis:100%;color:#3d1040!important;font-family:monospace!important;font-size:.85rem!important}.question-type-badge{color:#3d1040;white-space:nowrap;background:#e9d8fd;border-radius:10px;padding:.15rem .45rem;font-size:.7rem;font-weight:600}.question-text{color:#2d3748;flex:1;font-size:.9rem}.question-edit-btn{color:#4a5568!important;background:#edf2f7!important;border-color:#cbd5e0!important;padding:.2rem .5rem!important;font-size:.85rem!important}.question-edit-btn:hover{background:#e2e8f0!important}.question-del-btn{padding:.2rem .5rem!important;font-size:.8rem!important}.question-edit-form{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin:.25rem 0;padding:.6rem}.question-add-form{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.question-add-form input:not([type=checkbox]){border:1px solid #cbd5e0;border-radius:6px;flex:1;min-width:200px;padding:.4rem .6rem;font-size:.9rem}.question-add-form select{border:1px solid #cbd5e0;border-radius:6px;padding:.4rem .6rem;font-size:.9rem}.question-optional-badge{color:#718096;white-space:nowrap;background:#e2e8f0;border-radius:10px;padding:.1rem .4rem;font-size:.68rem}.question-required-badge{color:#c53030;white-space:nowrap;background:#fed7d7;border-radius:10px;padding:.1rem .4rem;font-size:.68rem}.question-parent-badge{color:#744210;white-space:nowrap;background:#fefcbf;border-radius:10px;padding:.1rem .4rem;font-size:.68rem}.question-options-preview{color:#a0aec0;margin-left:.3rem;font-size:.8rem}.question-optional-toggle{color:#4a5568;cursor:pointer;white-space:nowrap;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.question-optional-toggle input[type=checkbox]{margin:0}.meter-presets{flex-wrap:wrap;align-items:center;gap:.4rem;width:100%;padding:.4rem 0;display:flex}.meter-presets-label{color:#718096;margin-right:.2rem;font-size:.82rem}.meter-preset-btn{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:.1rem .2rem;font-size:1.3rem;line-height:1;transition:border-color .1s}.meter-preset-btn:hover{border-color:#cbd5e0}.meter-preset-selected{background:#ebf4ff;border-color:var(--primary-color,#c04a14)!important}.meter-preset-chosen{color:#3d1040;margin-left:.3rem;font-size:.8rem}.options-builder{flex-direction:column;gap:.4rem;width:100%;display:flex}.options-list{flex-wrap:wrap;gap:.35rem;display:flex}.option-tag{color:#2b6cb0;background:#ebf4ff;border-radius:12px;align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.82rem;display:inline-flex}.option-tag-remove{cursor:pointer;color:#90cdf4;background:0 0;border:none;padding:0;font-size:.7rem;line-height:1}.option-tag-remove:hover{color:#c53030}.option-add-row{gap:.4rem;display:flex}.option-add-row input{border:1px solid #cbd5e0;border-radius:6px;flex:1;padding:.35rem .5rem;font-size:.85rem}.review-admin-row{border-bottom:1px solid #edf2f7}.review-admin-row:last-child{border-bottom:none}.review-admin-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.6rem 0;display:flex}.review-admin-header:hover{background:#f7fafc;border-radius:6px}.review-admin-chevron{color:#718096;width:14px;font-size:.8rem}.review-admin-book{color:#2d3748;flex:1;font-weight:600}.review-admin-rating{color:#d97706;letter-spacing:-1px;font-size:.85rem}.review-admin-meta{color:#718096;white-space:nowrap;font-size:.78rem}.review-admin-responses{flex-direction:column;gap:.5rem;padding:.5rem 1.5rem .75rem;display:flex}.review-admin-question{color:#718096;margin-bottom:.15rem;font-size:.8rem;font-style:italic}.review-admin-answer{color:#2d3748;font-size:.9rem}.brand-section{background:#f9f9ff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.brand-field-group{flex-direction:column;gap:4px;display:flex}.brand-field-row{gap:1rem;display:flex}.brand-field-row .brand-field-group{flex:1}.brand-label{color:#2d3748;font-size:.9rem;font-weight:600}.brand-hint{color:#718096;margin:0 0 4px;font-size:.78rem;font-style:italic}.brand-hint code{color:#4a5568;background:#edf2f7;border-radius:3px;padding:1px 4px;font-size:.75rem;font-style:normal}.brand-input{background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:8px 12px;font-size:.9rem}.brand-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 2px #c04a1426}.brand-textarea{resize:vertical;background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:8px 12px;font-family:Courier New,Courier,monospace;font-size:.875rem;line-height:1.5}.brand-textarea:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 2px #c04a1426}.brand-logo-row{align-items:flex-start;gap:1rem;margin-top:4px;display:flex}.brand-upload-btn{background:var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.875rem}.brand-upload-btn:disabled{opacity:.6;cursor:not-allowed}.brand-logo-preview-wrap{align-items:center;gap:12px;display:flex}.brand-logo-preview{object-fit:contain;background:#fff;border:1px solid #e2e8f0;border-radius:6px;max-width:180px;max-height:70px;padding:4px}.brand-logo-remove-btn{color:#c53030;cursor:pointer;background:#fed7d7;border:1px solid #fc8181;border-radius:6px;padding:6px 12px;font-size:.8rem}@media (width<=600px){.brand-field-row{flex-direction:column}}.lib-spicy-id-row{border-bottom:1px solid #e8eaf6;flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding-bottom:1rem;display:flex}.lib-spicy-id-label{color:#2d3748;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.lib-spicy-id-input{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;width:14rem;padding:.3rem .5rem;font-family:monospace;font-size:.875rem}.lib-spicy-id-input:focus{border-color:var(--primary-color,#c04a14);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary-color,#c04a14) 20%, transparent);outline:none}.setting-description{color:#718096;font-size:.8rem;line-height:1.4}.lib-librarian-warning{color:#7b4e00;background:#fffbeb;border:1px solid #f6ad55;border-radius:5px;padding:.5rem .75rem;font-size:.82rem;line-height:1.4}.lib-edit-fiction-row{margin-bottom:.5rem}.lib-edit-fiction-row label{color:#4a5568;flex-direction:column;gap:.25rem;font-size:.82rem;font-weight:600;display:flex}.lib-edit-fiction-row select{border:1px solid #cbd5e0;border-radius:5px;width:auto;min-width:140px;padding:4px 8px;font-size:.85rem}.lib-fiction-badge{letter-spacing:.02em;border-radius:10px;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.lib-fiction-badge--fiction{color:#2b6cb0;background:#ebf4ff}.lib-fiction-badge--nonfiction{color:#276749;background:#f0fff4}.lib-admin-themes-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.lib-admin-theme-tag{color:#718096;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;padding:2px 7px;font-size:.68rem;display:inline-block}.state-req-section{flex-direction:column;gap:16px;display:flex}.state-req-intro{color:#718096;margin:0;font-size:.88em}.state-req-table td,.state-req-table th{vertical-align:middle}.state-req-fullname{color:#718096;margin-left:4px;font-size:.82em}.state-req-badge{border:1px solid;border-radius:12px;padding:2px 8px;font-size:.78em;font-weight:600;display:inline-block}.state-req-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.state-req-row--selected td{background:#f7fafc}.state-req-detail{background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;padding:16px 20px}.state-req-detail-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.state-req-detail-header h3{align-items:center;gap:10px;margin:0;font-size:1em;display:flex}.state-req-dl{grid-template-columns:180px 1fr;gap:6px 16px;margin:0;font-size:.88em;display:grid}.state-req-dl dt{color:#4a5568;border-bottom:1px solid #e2e8f0;padding:4px 0;font-weight:600}.state-req-dl dd{color:#2d3748;border-bottom:1px solid #e2e8f0;margin:0;padding:4px 0}.state-req-notes{font-style:italic;color:#718096!important}.state-req-detail-row td{border-bottom:2px solid: var(--primary-color,#c04a14);background:#f7fafc;padding:0}.state-req-detail-row .state-req-dl{padding:12px 16px}.admin-section-group{flex-direction:column;gap:1rem;display:flex}.admin-section-group-label{text-transform:uppercase;letter-spacing:.1em;color:#a0aec0;border-bottom:2px solid #e2e8f0;margin-bottom:-4px;padding:4px 0 2px;font-size:.7em;font-weight:700}.roles-content{padding:4px 0 8px}.app-roles-section{border-bottom:1px solid #e8e8e8;margin-bottom:1.25rem;padding-bottom:1.25rem}.app-roles-heading{color:#718096;text-transform:uppercase;letter-spacing:.07em;margin:0 0 .5rem;font-size:.8rem;font-weight:700}.app-roles-table-wrap{overflow-x:auto}.app-roles-table{border-collapse:collapse;width:100%;font-size:.85rem}.app-roles-table th{text-align:left;color:#718096;white-space:nowrap;border-bottom:2px solid #e2e8f0;padding:.4rem .6rem;font-size:.8rem;font-weight:600}.app-roles-role-col{width:90px;text-align:center!important}.app-roles-table td{vertical-align:middle;border-bottom:1px solid #f0f0f0;padding:.4rem .6rem}.app-roles-family-header td{color:#2d3748;background:#edf2f7;border-bottom:1px solid #cbd5e0;padding:.35rem .6rem;font-size:.8rem;font-weight:700}.app-roles-user-row:hover td{background:#f7fafc}.app-roles-saving td{opacity:.5}.app-roles-user-cell{flex-direction:column;gap:1px;display:flex}.app-roles-email{color:#2d3748;font-size:.85rem}.app-roles-name{color:#718096;font-size:.78rem}.app-roles-check-cell{text-align:center}.app-roles-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--primary-color,#c04a14)}.role-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.role-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.role-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.role-card-level{color:#a0aec0;font-size:.75em;font-weight:500}.role-card-desc{color:#4a5568;margin:0;font-size:.85em;line-height:1.5}.role-desc-edit-btn{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 4px;font-size:.85em;transition:opacity .15s}.role-desc-edit-btn:hover{opacity:1}.role-desc-edit{flex-direction:column;gap:6px;display:flex}.role-desc-textarea{color:#4a5568;resize:vertical;box-sizing:border-box;border:1px solid #bee3f8;border-radius:6px;width:100%;padding:8px;font-family:inherit;font-size:.85em;line-height:1.5}.role-desc-textarea:focus{outline-offset:-1px;outline:2px solid #63b3ed}.role-desc-edit-actions{gap:6px;display:flex}.role-card-access{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.role-access-item{border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:600}.role-access--yes{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.role-access--no{color:#a0aec0;background:#f7fafc;border:1px solid #e2e8f0}.role-access--partial{color:#744210;background:#fffbeb;border:1px solid #fbd38d}.role-badge{letter-spacing:.02em;border-radius:12px;padding:3px 10px;font-size:.8em;font-weight:700;display:inline-block}.role-badge--admin{color:#2b6cb0;background:#ebf4ff;border:1px solid #bee3f8}.role-badge--superuser{color:#3d1040;background:#f5f0ff;border:1px solid #d6bcfa}.role-badge--parent{color:#276749;background:#f0fff4;border:1px solid #9ae6b4}.role-badge--librarian{color:#744210;background:#fffbeb;border:1px solid #fbd38d}.role-badge--kid{color:#9b2c2c;background:#fff5f5;border:1px solid #feb2b2}.state-req-row--overridden td{background:#f5f0ff}.state-req-override-badge{cursor:default;margin-left:4px;font-size:.8em}.state-req-family-count{text-align:center}.state-req-family-badge{color:#2b6cb0;background:#ebf4ff;border:1px solid #bee3f8;border-radius:10px;padding:1px 7px;font-size:.75em;font-weight:700;display:inline-block}.state-req-family-none{color:#cbd5e0;font-size:.85em}.state-req-actions-cell{white-space:nowrap}.state-req-edit-row td{border-bottom:2px solid: var(--primary-color,#c04a14);background:#f5f0ff;padding:0}.state-req-edit-form{flex-direction:column;gap:14px;padding:16px 20px;display:flex}.state-req-edit-title{color:#2d3748;flex-wrap:wrap;align-items:center;gap:8px;font-size:1em;font-weight:600;display:flex}.state-req-affected{color:#718096;font-size:.8em;font-weight:400}.state-req-edit-grid{grid-template-columns:200px 1fr;align-items:center;gap:8px 16px;display:grid}.state-req-edit-label{color:#4a5568;font-size:.82em;font-weight:600;line-height:1.3}.state-req-edit-hint{color:#a0aec0;font-size:.9em;font-style:italic;font-weight:400}.state-req-edit-input{color:#2d3748;box-sizing:border-box;border:1px solid #cbd5e0;border-radius:6px;width:100%;padding:6px 10px;font-size:.88em}.state-req-edit-input:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 2px #c04a1426}.state-req-edit-short{width:90px}.state-req-edit-check-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.state-req-edit-check-label{color:#4a5568;cursor:pointer;align-items:center;gap:5px;font-size:.85em;display:flex}.state-req-edit-select{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;padding:5px 8px;font-size:.85em}.state-req-edit-textarea{color:#2d3748;resize:vertical;box-sizing:border-box;border:1px solid #cbd5e0;border-radius:6px;width:100%;min-height:72px;padding:8px 10px;font-size:.85em}.state-req-edit-textarea:focus{border-color:var(--primary-color,#c04a14);outline:none;box-shadow:0 0 0 2px #c04a1426}.state-req-urls-section{flex-direction:column;gap:8px;display:flex}.state-req-urls-header{color:#4a5568;text-transform:uppercase;letter-spacing:.05em;font-size:.82em;font-weight:600}.state-req-url-row{align-items:center;gap:6px;display:flex}.state-req-url-label-input{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;flex-shrink:0;width:140px;padding:5px 8px;font-size:.82em}.state-req-url-input{color:#2d3748;border:1px solid #cbd5e0;border-radius:6px;flex:1;padding:5px 8px;font-size:.82em}.state-req-url-remove{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:1.1em;transition:color .15s}.state-req-url-remove:hover{color:#e53e3e}.state-req-edit-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-primary{background:: var(--primary-color,#c04a14);color:#fff;cursor:pointer;border:none;border-radius:7px;padding:7px 16px;font-size:.88em;font-weight:500;transition:background .15s}.btn-primary:hover:not(:disabled){background:#5a6fd6}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#4a5568;cursor:pointer;background:#edf2f7;border:none;border-radius:7px;padding:7px 14px;font-size:.88em;transition:background .15s}.btn-secondary:hover{background:#e2e8f0}.btn-danger-sm{color:#c53030;cursor:pointer;background:0 0;border:1px solid #fc8181;border-radius:7px;margin-left:auto;padding:6px 12px;font-size:.82em;transition:background .15s}.btn-danger-sm:hover{background:#fff5f5}.state-req-ref-links{flex-direction:column;gap:3px;margin:0;display:flex}.state-req-ref-link{color:var(--primary-color,#c04a14);word-break:break-all;font-size:.85em;text-decoration:none}.state-req-ref-link:hover{text-decoration:underline}.curr-lib-admin-content{flex-direction:column;gap:24px;padding:16px 0 4px;display:flex}.curr-lib-loading{color:#718096;font-size:.875em}.curr-lib-admin-sub{flex-direction:column;gap:10px;display:flex}.curr-lib-sub-title{color:#2d3748;align-items:center;gap:8px;margin:0;font-size:.9em;font-weight:700;display:flex}.curr-lib-pending-count,.curr-lib-count{border-radius:20px;justify-content:center;align-items:center;padding:1px 8px;font-size:.8em;font-weight:700;display:inline-flex}.curr-lib-pending-count{color:#744210;background:#fefcbf}.curr-lib-count{color:#4a5568;background:#edf2f7}.curr-lib-empty{color:#a0aec0;margin:0;font-size:.875em}.curr-lib-table{border-collapse:collapse;width:100%;font-size:.875em}.curr-lib-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:#718096;border-bottom:2px solid #edf2f7;padding:7px 12px;font-size:.8em;font-weight:700}.curr-lib-table td{color:#4a5568;vertical-align:middle;border-bottom:1px solid #f7fafc;padding:8px 12px}.curr-lib-row--hidden td{opacity:.5}.curr-lib-entry-name{font-weight:600;color:#2d3748!important}.curr-lib-family{font-family:monospace;font-size:.9em}.curr-lib-status{border-radius:5px;padding:2px 8px;font-size:.78em;font-weight:700}.curr-lib-status--live{color:#276749;background:#f0fff4}.curr-lib-status--pending{color:#744210;background:#fefcbf}.curr-lib-status--hidden{color:#9b2c2c;background:#fff5f5}.curr-lib-actions{gap:6px;display:flex}.curr-lib-btn{cursor:pointer;border:1px solid;border-radius:6px;padding:4px 12px;font-size:.8em;font-weight:600;transition:opacity .15s}.curr-lib-btn:disabled{opacity:.5;cursor:default}.curr-lib-btn--approve{color:#276749;background:#f0fff4;border-color:#9ae6b4}.curr-lib-btn--unapprove,.curr-lib-btn--hide{color:#9b2c2c;background:#fff5f5;border-color:#feb2b2}.curr-lib-btn--unhide{color:#744210;background:#fffbeb;border-color:#fbd38d}.curr-lib-btn--add{color:#2c5282;background:#ebf8ff;border-color:#bee3f8}.curr-lib-tag-desc{color:#718096;margin:0;font-size:.82em}.curr-lib-tags{flex-wrap:wrap;gap:7px;display:flex}.curr-lib-tag{color:#4a5568;background:#edf2f7;border-radius:20px;align-items:center;gap:4px;padding:4px 8px 4px 10px;font-size:.82em;font-weight:500;display:flex}.curr-lib-tag-remove{color:#a0aec0;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;padding:0;font-size:1em;line-height:1;display:flex}.curr-lib-tag-remove:hover:not(:disabled){color:#e53e3e;background:#fed7d7}.curr-lib-tag-add{align-items:center;gap:8px;display:flex}.curr-lib-tag-input{color:#2d3748;border:1.5px solid #e2e8f0;border-radius:7px;width:200px;padding:6px 10px;font-size:.875em;transition:border-color .15s}.curr-lib-tag-input:focus{border-color:var(--primary-color,#c04a14);outline:none}.parent-dashboard{max-width:1200px;margin:0 auto;padding:20px}.masquerade-banner{z-index:200;color:#fefcbf;background:#744210;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:10px 20px;font-size:.95em;display:flex;position:sticky;top:0}.masquerade-banner button{color:#fefcbf;cursor:pointer;white-space:nowrap;background:#fff3;border:1px solid #fff6;border-radius:6px;padding:5px 14px;font-size:.9em;transition:background .2s}.masquerade-banner button:hover{background:#ffffff59}.parent-header{text-align:center;margin-bottom:40px}.parent-header.main-header{align-items:center;margin:-20px -20px 40px;padding:12px 20px;display:flex;box-shadow:0 2px 12px #0003}.parent-header.main-header .mh-left{flex:1;align-items:center;display:flex}.parent-header-logo{object-fit:contain;filter:drop-shadow(0 0 2px #fff9)drop-shadow(0 0 10px #ffffff40)drop-shadow(0 2px 6px #00000080);max-width:220px;max-height:81px}.parent-header.main-header .mh-center{text-align:center;flex:0 auto;padding:0 16px}.parent-header.main-header .mh-right{flex:1;justify-content:flex-end;align-items:center;display:flex}.parent-header.main-header h1{color:#fff;text-shadow:1px 1px 3px #0003;white-space:nowrap;margin:0;font-size:1.5em;font-weight:700}.parent-header.main-header p{color:#ffffffe6;margin:3px 0 0;font-size:.9em}.parent-header.main-header .logout-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1.5px solid #ffffff59;border-radius:8px;padding:7px 16px;font-size:.88em;font-weight:600;transition:all .2s}.parent-header.main-header .logout-btn:hover{background:#ffffff47;border-color:#fff9}.module-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:30px;display:grid}.module-card{border-radius:var(--radius-md);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:2px solid #e0e0e0;padding:40px 20px;transition:all .3s;position:relative}.module-card:not(.coming-soon):hover{box-shadow:var(--shadow-md);border-color:var(--primary-color,#c04a14);transform:translateY(-5px)}.module-card.coming-soon{opacity:.6;cursor:not-allowed;background:#f8f9fa}.module-icon{margin-bottom:15px;font-size:4em}.module-name{color:#2c3e50;font-size:1.3em;font-weight:600}.module-card .badge{color:#fff;background:#f39c12;border-radius:12px;padding:5px 10px;font-size:.75em;font-weight:700;position:absolute;top:10px;right:10px}.module-card .badge--alpha{background:#ec4899;left:10px;right:auto}.module-card .badge--beta{background:#8b5cf6;left:10px;right:auto}.module-notification-badge{color:#fff;background:#e53e3e;border-radius:50%;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 5px;font-size:.8em;font-weight:700;display:flex;position:absolute;top:-8px;right:-8px;box-shadow:0 2px 6px #00000040}.module-card .settings-gear{cursor:pointer;z-index:10;background:0 0;border:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5em;transition:all .3s;display:flex;position:absolute;top:10px;right:10px}.module-card .settings-gear:hover{filter:brightness(1.2);transform:rotate(90deg)scale(1.15)}.module-content{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;min-height:500px;padding:30px}@media (width<=768px){.parent-header h1{font-size:2em}.module-grid{grid-template-columns:1fr}.parent-header .back-btn{float:none;margin-bottom:20px}}@media (width<=520px){.parent-header.main-header h1{white-space:normal;font-size:1em;line-height:1.25}.parent-header.main-header{flex-wrap:wrap;gap:8px}.parent-header.main-header .mh-right{gap:6px}.parent-header.main-header .logout-btn{padding:6px 10px;font-size:.82em}.parent-header-logo{max-width:100px;max-height:40px}.parent-dashboard{padding:10px}}.privacy-page{max-width:800px;color:var(--text-primary,#1a1a1a);margin:0 auto;padding:40px 20px;font-family:inherit;line-height:1.7}.privacy-content{box-shadow:var(--shadow-md);background:#fff;border-radius:12px;padding:32px}.privacy-content section{margin-bottom:36px}.privacy-content h2{border-bottom:1px solid var(--palette-light-tint,#e5e7eb);margin:0 0 12px;padding-bottom:6px;font-size:1.25rem;font-weight:700}.privacy-content h3{margin:20px 0 8px;font-size:1rem;font-weight:600}.privacy-content p{margin:0 0 12px}.privacy-content ul{margin:0 0 12px;padding-left:24px}.privacy-content li{margin-bottom:6px}.privacy-content a{color:var(--primary-color,#6366f1);text-decoration:none}.privacy-content a:hover{text-decoration:underline}.privacy-content code{background:var(--palette-light-tint,#f3f4f6);border-radius:4px;padding:2px 6px;font-size:.875rem}@media (width<=768px){.privacy-page{padding:24px 16px}.privacy-header h1{font-size:1.5rem}.privacy-content{padding:20px 16px}}.terms-page{max-width:800px;color:var(--text-primary,#1a1a1a);margin:0 auto;padding:40px 20px;font-family:inherit;line-height:1.7}.terms-content{box-shadow:var(--shadow-md);background:#fff;border-radius:12px;padding:32px}.terms-content section{margin-bottom:36px}.terms-content h2{border-bottom:1px solid var(--palette-light-tint,#e5e7eb);margin:0 0 12px;padding-bottom:6px;font-size:1.25rem;font-weight:700}.terms-content p{margin:0 0 12px}.terms-content ul{margin:0 0 12px;padding-left:24px}.terms-content li{margin-bottom:6px}.terms-content a{color:var(--primary-color,#6366f1);text-decoration:none}.terms-content a:hover{text-decoration:underline}@media (width<=768px){.terms-page{padding:24px 16px}.terms-content{padding:20px 16px}}.pin-reset-wrap{background:#f0f4ff;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.pin-reset-card{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:420px;padding:48px 40px;box-shadow:0 4px 24px #0000001a}.pin-reset-logo{object-fit:contain;max-width:220px;max-height:80px;margin:0 auto 20px;display:block}.pin-reset-site-name{color:#c04a14;margin-bottom:20px;font-size:1.5rem;font-weight:700}.pin-reset-card h2{color:#2d3748;margin:0 0 10px;font-size:1.35rem}.pin-reset-body{color:#718096;margin:0 0 28px;font-size:.95rem;line-height:1.6}.pin-reset-success-icon{color:#fff;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 18px;font-size:1.6rem;font-weight:700;display:flex}.pin-reset-form{text-align:left;flex-direction:column;gap:18px;display:flex}.pin-reset-label{color:#4a5568;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;display:flex}.pin-reset-input{text-align:center;letter-spacing:10px;box-sizing:border-box;border:2px solid #c04a14;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-size:1.6rem;transition:border-color .2s}.pin-reset-input:focus{border-color:#5568d3}.pin-reset-input:disabled{opacity:.6}.pin-reset-error{color:#e53e3e;margin:0;font-size:.875rem;font-weight:600}.pin-reset-btn{color:#fff;cursor:pointer;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border:none;border-radius:10px;margin-top:4px;padding:14px;font-size:1rem;font-weight:700;transition:opacity .2s}.pin-reset-btn:hover:not(:disabled){opacity:.9}.pin-reset-btn:disabled{opacity:.6;cursor:not-allowed}.pin-reset-cta{color:#fff;background:linear-gradient(150deg,#3d1040 0%,#c04a14 55%,#f5a828 100%);border-radius:10px;margin-top:8px;padding:14px 32px;font-size:1rem;font-weight:700;text-decoration:none;display:inline-block}.pin-reset-cta:hover{opacity:.9}.pin-reset-home-link{color:#c04a14;margin-top:8px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.pin-reset-home-link:hover{text-decoration:underline}@media (width<=480px){.pin-reset-card{padding:32px 24px}}.welcome-card{text-align:center;background:#fff;border-radius:20px;max-width:420px;margin:100px auto;padding:40px 36px 36px;box-shadow:0 10px 40px #0003}.welcome-logo{margin-bottom:10px;font-size:2.6em;line-height:1}.welcome-logo-img{object-fit:contain;width:90%;max-height:220px;margin-bottom:10px;margin-left:auto;margin-right:auto;display:block}.welcome-title{color:#2d3748;margin-bottom:6px;font-size:1.6em;font-weight:700}.welcome-subtitle{color:#718096;margin-bottom:28px;font-size:.95em}.welcome-status{color:#718096;margin-top:16px;font-size:.95em}.welcome-options{flex-direction:column;gap:12px;display:flex}.welcome-google-btn{color:#3c4043;cursor:pointer;background:#fff;border:2px solid #dadce0;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.97em;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.welcome-google-btn:hover{background:#f8f9fa;border-color:#c6c6c6;box-shadow:0 2px 8px #0000001a}.welcome-google-logo{flex-shrink:0;width:20px;height:20px}.welcome-yahoo-btn{color:#fff;cursor:pointer;background:#6001d2;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.95em;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.welcome-yahoo-btn:hover{background:#4e00ad;box-shadow:0 2px 8px #6001d259}.welcome-yahoo-logo{border-radius:3px;flex-shrink:0;width:20px;height:20px}.welcome-divider{color:#a0aec0;align-items:center;gap:10px;font-size:.85em;display:flex}.welcome-divider:before,.welcome-divider:after{content:"";background:#e2e8f0;flex:1;height:1px}.welcome-password-btn{color:#fff;cursor:pointer;background:#718096;border:none;border-radius:10px;width:100%;padding:13px 20px;font-family:inherit;font-size:.97em;font-weight:600;transition:background .15s,transform .1s}.welcome-password-btn:hover{background:#4a5568;transform:translateY(-1px)}.welcome-hint{color:#a0aec0;margin-top:20px;margin-bottom:0;font-size:.8em;line-height:1.4}.welcome-form{text-align:left;flex-direction:column;gap:4px;display:flex}.welcome-field{margin-bottom:14px}.welcome-field label{color:#4a5568;margin-bottom:5px;font-size:.875em;font-weight:600;display:block}.welcome-field input{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:1em;transition:border-color .2s}.welcome-field input:focus{border-color:var(--primary-color,#c04a14);outline:none}.welcome-form-error{color:#e53e3e;text-align:center;margin:0 0 10px;font-size:.875em}.welcome-submit-btn{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;cursor:pointer;border:none;border-radius:10px;width:100%;margin-top:4px;padding:13px;font-family:inherit;font-size:1em;font-weight:600;transition:opacity .2s,transform .1s}.welcome-submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.welcome-submit-btn:disabled{opacity:.6;cursor:not-allowed}.welcome-back-link{color:#a0aec0;cursor:pointer;background:0 0;border:none;margin-top:18px;padding:4px 8px;font-family:inherit;font-size:.875em;transition:color .15s}.welcome-back-link:hover{color:#718096}.welcome-error-msg{color:#e53e3e;margin-bottom:24px;font-size:.95em;line-height:1.5}.welcome-home-link{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;border-radius:10px;padding:11px 28px;font-size:.97em;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.welcome-home-link:hover{opacity:.88}@media (width<=480px){.welcome-card{border-radius:16px;margin:40px auto;padding:32px 24px 28px}}.onboarding-overlay{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));z-index:500;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.onboarding-card{background:#fff;border-radius:24px;width:100%;max-width:600px;overflow:hidden;box-shadow:0 20px 60px #00000040}.onboarding-progress{background:#f7fafc;border-bottom:1px solid #e2e8f0;padding:20px 28px 0}.onboarding-progress-bar{background:#e2e8f0;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.onboarding-progress-fill{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));border-radius:3px;height:100%;transition:width .35s}.onboarding-step-labels{scrollbar-width:none;gap:4px;padding-bottom:12px;display:flex;overflow-x:auto}.onboarding-step-labels::-webkit-scrollbar{display:none}.onboarding-step-label{color:#a0aec0;white-space:nowrap;border-radius:10px;padding:2px 8px;font-size:.75em;font-weight:500;transition:all .2s}.onboarding-step-label.active{color:var(--primary-color,#c04a14);background:#c04a141f;font-weight:700}.onboarding-step-label.done{color:#48bb78}.onboarding-body{min-height:320px;padding:32px 28px 8px}.onboarding-step-title{color:#2d3748;margin:0 0 6px;font-size:1.5em;font-weight:700}.onboarding-pin-note{color:#a0aec0;margin:12px 0 0;font-size:.82em}.onboarding-step-subtitle{color:#718096;margin:0 0 28px;font-size:.95em;line-height:1.5}.onboarding-field{margin-bottom:18px}.onboarding-field label{color:#4a5568;margin-bottom:6px;font-size:.9em;font-weight:600;display:block}.onboarding-field input[type=text],.onboarding-field input[type=email],.onboarding-field input[type=number],.onboarding-field input[type=date],.onboarding-field input[type=password],.onboarding-field select{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:10px;width:100%;padding:11px 14px;font-family:inherit;font-size:1em;transition:border-color .2s}.onboarding-field input:focus,.onboarding-field select:focus{border-color:var(--primary-color,#c04a14);outline:none}.onboarding-hint{color:#a0aec0;margin-top:5px;font-size:.82em}.onboarding-footer{padding:16px 28px 24px}.onboarding-nav{justify-content:flex-end;align-items:center;gap:10px;display:flex}.onboarding-next-btn{background:var(--primary-gradient,linear-gradient(150deg, #3d1040 0%, #c04a14 55%, #f5a828 100%));color:#fff;cursor:pointer;border:none;border-radius:10px;padding:12px 28px;font-size:1em;font-weight:600;transition:opacity .2s,transform .15s}.onboarding-next-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.onboarding-next-btn:disabled{opacity:.55;cursor:not-allowed}.onboarding-back-btn{color:#718096;cursor:pointer;background:0 0;border:2px solid #e2e8f0;border-radius:10px;padding:11px 20px;font-size:.95em;font-weight:500;transition:border-color .2s,color .2s}.onboarding-back-btn:hover{color:#4a5568;border-color:#cbd5e0}.onboarding-skip-btn{color:#a0aec0;cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-right:auto;padding:8px 12px;font-size:.9em;text-decoration:underline}.onboarding-skip-btn:hover{color:#718096}.onboarding-error{color:#e53e3e;text-align:center;margin-bottom:10px;font-size:.875em}.kids-wizard-list{flex-direction:column;gap:16px;margin-bottom:12px;display:flex}.kid-wizard-card{border:2px solid #e2e8f0;border-radius:12px;padding:16px}.kid-wizard-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.kid-wizard-number{color:#4a5568;text-transform:uppercase;letter-spacing:.05em;font-size:.9em;font-weight:700}.kid-wizard-remove{color:#fc8181;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1em}.kid-wizard-row{gap:12px;display:flex}.kid-color-preview{cursor:pointer;color:#fffc;letter-spacing:.03em;-webkit-user-select:none;user-select:none;border-radius:10px;justify-content:center;align-items:center;height:42px;font-size:.78em;font-weight:600;transition:opacity .2s;display:flex}.kid-color-preview:hover{opacity:.85}.add-kid-wizard-btn{color:#718096;cursor:pointer;background:0 0;border:2px dashed #cbd5e0;border-radius:10px;width:100%;padding:10px;font-size:.9em;font-weight:600;transition:border-color .2s,color .2s}.add-kid-wizard-btn:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.input-error{border-color:#fc8181!important}.color-picker-backdrop{z-index:600;position:fixed;inset:0}.color-picker-panel{z-index:700;background:#fff;border-radius:16px;padding:20px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000040}.color-picker-panel-header{color:#2d3748;justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:600;display:flex}.color-picker-close{cursor:pointer;color:#718096;background:0 0;border:none;padding:2px 6px;font-size:1em}.module-select-list{flex-direction:column;gap:10px;display:flex}.module-select-card{cursor:pointer;text-align:left;background:#fff;border:2px solid #e2e8f0;border-radius:12px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.module-select-card:hover{border-color:var(--primary-color,#c04a14);background:#fafbff}.module-select-card.selected{border-color:var(--primary-color,#c04a14);background:#c04a140f}.module-select-icon{flex-shrink:0;font-size:1.5em}.module-select-info{flex-direction:column;flex:1;gap:2px;display:flex}.module-select-label{color:#2d3748;font-size:.95em;font-weight:600}.module-select-desc{color:#718096;font-size:.82em;line-height:1.4}.module-select-check{color:var(--primary-color,#c04a14);text-align:center;flex-shrink:0;width:20px;font-size:1.1em;font-weight:700}.school-days-row{flex-wrap:wrap;gap:8px;display:flex}.day-toggle{color:#718096;cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-size:.9em;font-weight:600;transition:all .15s}.day-toggle:hover{border-color:var(--primary-color,#c04a14);color:var(--primary-color,#c04a14)}.day-toggle.active{background:var(--primary-color,#c04a14);border-color:var(--primary-color,#c04a14);color:#fff}.coparent-sent{color:#276749;background:#c6f6d5;border-radius:10px;padding:14px 16px;font-size:.95em;line-height:1.5}@media (width<=480px){.onboarding-overlay{align-items:flex-start;padding:0}.onboarding-card{border-radius:0;min-height:100dvh}.onboarding-body{padding:24px 20px 8px}.onboarding-footer{padding:12px 20px 20px}.onboarding-progress{padding:16px 20px 0}}.wizard-state-summary{background:#ebf8ff;border:1px solid #bee3f8;border-radius:8px;margin-bottom:12px;padding:12px 14px;font-size:.88em}.wizard-state-summary-title{color:#2b6cb0;margin-bottom:6px;font-weight:600}.wizard-state-summary-list{color:#2d3748;flex-direction:column;gap:3px;margin:0;padding-left:18px;display:flex}.wizard-state-req--warn{color:#c05621;font-weight:500}.req-mapping-block{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:12px;padding:12px 14px}.req-mapping-name{color:#2d3748;margin-bottom:4px;font-size:.95em;font-weight:600}.req-mapping-hint{color:#718096;margin:0 0 10px;font-size:.82em;line-height:1.4}.req-mapping-fields{flex-direction:column;gap:0;display:flex}.gradebook-wizard-list{flex-direction:column;gap:10px;margin-top:4px;display:flex}.gradebook-wizard-card{background:#fff;border:1px solid #e2e8f0;border-left:4px solid #cbd5e0;border-radius:8px;padding:12px 14px;transition:border-color .15s}.gradebook-wizard-card.tracking{background:#f7faff;border-color:#bee3f8}.gradebook-wizard-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gradebook-wizard-subject{color:#2d3748;align-items:center;gap:7px;font-size:.95em;font-weight:600;display:flex}.gradebook-wizard-toggle{color:#718096;cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:.85em;font-weight:500;display:flex}.gradebook-wizard-toggle input[type=checkbox]{accent-color:#c04a14;cursor:pointer;width:16px;height:16px}.gradebook-wizard-config{border-top:1px solid #e2e8f0;flex-direction:column;gap:10px;margin-top:12px;padding-top:10px;display:flex}.gradebook-wizard-scale-row,.gradebook-wizard-types-row{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.gradebook-wizard-config-label{color:#718096;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;min-width:70px;padding-top:5px;font-size:.8em;font-weight:600}.tos-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:16px 18px}.tos-summary ul{flex-direction:column;gap:8px;margin:0 0 12px;padding-left:20px;display:flex}.tos-summary li{color:#4a5568;font-size:.9em;line-height:1.5}.tos-links{color:#718096;margin:0;font-size:.85em}.tos-links a{color:var(--primary-color,#c04a14);text-underline-offset:2px;text-decoration:underline}.tos-agree-label{cursor:pointer;color:#2d3748;align-items:flex-start;gap:10px;font-size:.9em;font-weight:600;line-height:1.4;display:flex}.tos-agree-label input[type=checkbox]{accent-color:var(--primary-color,#c04a14);cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:1px}
