:root{--primary:#8b5cf6;--primary-dark:#7c3aed;--primary-light:#a78bfa;--primary-bg:#faf5ff;--accent:#f97066;--accent-dark:#e8544a;--accent-light:#fecaca;--accent-warm:#fb923c;--bg:#fffbf5;--bg-white:#fff;--bg-cream:#fffbf5;--bg-lavender:#faf5ff;--text:#1f1235;--text-secondary:#5b4a6f;--text-muted:#9b8db5;--border:#e9e0f5;--border-light:#f3eef9;--shadow-sm:0 2px 8px #8b5cf60f;--shadow:0 2px 12px #8b5cf614,0 1px 4px #0000000a;--shadow-md:0 8px 24px #8b5cf61a,0 2px 8px #0000000a;--shadow-lg:0 16px 40px #8b5cf61f,0 4px 12px #0000000d;--radius:16px;--radius-sm:12px;--radius-lg:20px;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--transition:.2s ease;--danger:#dc2626;--danger-bg:#fef2f2;--warning:#f59e0b;--warning-bg:#fffbeb;--success:#16a34a;--success-bg:#f0fdf4;--info:#2563eb;--info-bg:#eff6ff;--mint:#6ee7b7;--mint-bg:#ecfdf5;--sage:#a7f3d0}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.7}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.fade-in{animation:fadeIn .4s ease forwards}.fade-in-up{animation:fadeInUp .5s ease forwards}.fade-in-delay-1{animation-delay:.1s;opacity:0}.fade-in-delay-2{animation-delay:.2s;opacity:0}.fade-in-delay-3{animation-delay:.3s;opacity:0}.fade-in-delay-4{animation-delay:.4s;opacity:0}.loading-screen{display:flex;color:var(--text-secondary);background:var(--bg);flex-direction:column;justify-content:center;align-items: center;gap:16px;min-height:100vh}.spinner{border:3px solid var(--border);border-top-color:var(--primary);animation:spin .7s linear infinite;border-radius:50%;width:36px;height:36px}.spinner-sm{display:inline-block;animation:spin .7s linear infinite;vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:6px}.page-loading{display:flex;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items: center;gap:16px;min-height:300px}.landing{background:linear-gradient(180deg,var(--bg-cream)0%,var(--bg-lavender)50%,var(--bg-cream)100%);min-height:100vh}.landing-nav{display:flex;justify-content:space-between;align-items: center;max-width:1200px;margin:0 auto;padding:20px 48px}.landing-logo{color:var(--primary);display:flex;letter-spacing:-.3px;align-items: center;gap:10px;font-size:22px;font-weight:800}.landing-logo-icon{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;display:flex;border-radius:12px;justify-content:center;align-items: center;width:40px;height:40px;font-size:16px;font-weight:800;box-shadow:0 4px 12px #8b5cf64d}.landing-nav-demo-link{color:var(--primary);text-decoration:none;border:2px solid var(--primary);border-radius:100px;padding:10px 24px;transition:all .25s;font-size:15px;font-weight:600}.landing-nav-demo-link:hover{background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf64d}.landing-tagline{text-align:center;color:var(--text-muted);letter-spacing:2.5px;text-transform:uppercase;margin-top:8px;font-size:13px;font-weight:500}.hero{text-align:center;max-width:800px;margin:0 auto;padding:60px 24px 80px}.hero-badge{display:inline-block;background:linear-gradient(135deg,var(--primary-bg)0%,#f3e8ff 100%);color:var(--primary);letter-spacing:.2px;border:1px solid #8b5cf626;border-radius:100px;margin-bottom:28px;padding:10px 24px;font-size:14px;font-weight:600}.hero h1{color:var(--text);letter-spacing:-.5px;margin-bottom:24px;font-size:52px;font-weight:800;line-height:1.12}.hero h1 span{background:linear-gradient(135deg,var(--primary)0%,var(--accent)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto 36px;font-size:19px;font-weight:400;line-height:1.7}.hero-buttons{display:flex;flex-direction:column;align-items: center;gap:16px}.hero-email-form{display:flex;box-shadow:var(--shadow-md);border:1px solid var(--border-light);background:#fff;border-radius:100px;gap:8px;width:100%;max-width:480px;padding:6px}.hero-email-input{font-size:16px;font-family:var(--font);outline:none;transition:var(--transition);color:var(--text);background:0 0;border:none;border-radius:100px;flex:1;padding:14px 22px}.hero-email-input::placeholder{color:var(--text-muted)}.hero-email-input:focus{border-color:#0000}.hero-cta{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;cursor:pointer;white-space:nowrap;font-size:16px;font-weight:600;font-family:var(--font);border:none;border-radius:100px;padding:14px 32px;transition:all .25s;box-shadow:0 4px 16px #8b5cf64d}.hero-cta:hover{background:linear-gradient(135deg,var(--primary-dark)0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 6px 24px #8b5cf666}.hero-demo-btn{color:var(--primary);cursor:pointer;font-size:16px;font-weight:600;font-family:var(--font);background:0 0;border:none;padding:8px;transition:all .25s}.hero-demo-btn:hover{color:var(--primary-dark);transform:translateY(-1px)}.hero-submitted{color:var(--primary);background:var(--primary-bg);border-radius:100px;padding:14px 28px;font-size:16px;font-weight:600}.tools-section{max-width:1200px;margin:0 auto;padding:80px 24px}.tools-section-header{text-align:center;margin-bottom:56px}.tools-section-header h2{letter-spacing:-.3px;color:var(--text);margin-bottom:14px;font-size:38px;font-weight:800}.tools-section-header p{color:var(--text-secondary);font-size:18px;font-weight:400}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.tool-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid var(--border-light);position:relative;overflow:hidden;background:#fff;padding:28px;transition:all .3s}.tool-card:before{content:"";position:absolute;background:linear-gradient(90deg,var(--primary)0%,var(--accent)100%);opacity:0;height:3px;transition:opacity .3s;top:0;left:0;right:0}.tool-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tool-card:hover:before{opacity:1}.tool-card-icon{display:flex;border-radius:14px;justify-content:center;align-items: center;width:52px;height:52px;margin-bottom:18px;font-size:24px}.tool-card-icon-compliance{color:#8b5cf6;background:#f3e8ff}.tool-card-icon-milestones{color:#fb923c;background:#fff7ed}.tool-card-icon-activities{color:#10b981;background:#ecfdf5}.tool-card-icon-planner{color:#f97066;background:#fff1f2}.tool-card-icon-logger{color:#3b82f6;background:#eff6ff}.tool-card-icon-resources{color:#14b8a6;background:#f0fdfa}.tool-card-icon-reports{color:#f59e0b;background:#fffbeb}.tool-card-icon-assistant{color:#8b5cf6;background:linear-gradient(135deg,#f3e8ff 0%,#fff1f2 100%)}.tool-card h3{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}.tool-card p{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.6}.tool-card-features{list-style:none;padding:0}.tool-card-features li{color:var(--text-secondary);position:relative;padding:4px 0 4px 22px;font-size:13px}.tool-card-features li:before{content:"✓";position:absolute;color:var(--primary);font-weight:700;left:0}.credibility-section{max-width:800px;margin:0 auto;padding:60px 24px}.credibility-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-light);position:relative;overflow:hidden;background:linear-gradient(135deg,#fffbf5 0%,#faf5ff 100%);padding:44px}.credibility-card:before{content:"";position:absolute;background:linear-gradient(180deg,var(--primary)0%,var(--accent)100%);width:4px;top:0;bottom:0;left:0}.credibility-card blockquote{color:var(--text);margin-bottom:24px;padding-left:16px;font-size:18px;font-style:italic;line-height:1.8}.credibility-author{display:flex;align-items: center;gap:14px;padding-left:16px}.credibility-avatar{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;display:flex;border-radius:50%;justify-content:center;align-items: center;width:48px;height:48px;font-size:16px;font-weight:700;box-shadow:0 4px 12px #8b5cf64d}.credibility-author strong{display:block;color:var(--text);font-size:16px}.credibility-author span{color:var(--text-muted);font-size:14px}.pricing-section{max-width:1100px;margin:0 auto;padding:80px 24px}.pricing-header{text-align:center;margin-bottom:52px}.pricing-header h2{letter-spacing:-.3px;margin-bottom:14px;font-size:38px;font-weight:800}.pricing-header p{color:var(--text-secondary);font-size:18px;font-weight:300}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items: start;gap:24px}.pricing-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);border:2px solid var(--border-light);position:relative;background:#fff;padding:36px;transition:all .3s}.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pricing-card-featured{background:linear-gradient(white,white)padding-box,linear-gradient(135deg,var(--primary)0%,var(--accent)100%)border-box;box-shadow:var(--shadow-lg);border:2px solid #0000;transform:scale(1.03)}.pricing-card-featured:hover{transform:scale(1.03)translateY(-4px)}.pricing-badge{position:absolute;background:linear-gradient(135deg,var(--primary)0%,var(--accent)100%);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:100px;padding:5px 20px;font-size:12px;font-weight:700;top:-12px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #8b5cf64d}.pricing-tier{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}.pricing-price{color:var(--text);letter-spacing:-1px;margin-bottom:28px;font-size:48px;font-weight:800}.pricing-price span{color:var(--text-muted);letter-spacing:0;font-size:16px;font-weight:400}.pricing-features{list-style:none;margin-bottom:28px;padding:0}.pricing-features li{position:relative;color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding:10px 0 10px 28px;font-size:15px}.pricing-features li:last-child{border-bottom:none}.pricing-features li:before{content:"✓";position:absolute;color:var(--primary);font-weight:700;left:0}.pricing-btn{cursor:pointer;font-size:16px;font-weight:600;font-family:var(--font);border:none;border-radius:100px;width:100%;padding:14px;transition:all .25s}.pricing-btn-primary{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:0 4px 16px #8b5cf64d}.pricing-btn-primary:hover{background:linear-gradient(135deg,var(--primary-dark)0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 6px 24px #8b5cf666}.pricing-btn-secondary{color:var(--primary);border:2px solid var(--primary);background:#fff}.pricing-btn-secondary:hover{background:var(--primary-bg);box-shadow:var(--shadow);transform:translateY(-1px)}.pricing-form{display:flex;flex-direction:column;gap:8px}.pricing-email-input{border:2px solid var(--border);font-size:15px;font-family:var(--font);outline:none;transition:var(--transition);border-radius:100px;width:100%;padding:12px 18px}.pricing-email-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.pricing-submitted{color:var(--primary);text-align:center;background:var(--primary-bg);border-radius:100px;padding:14px;font-weight:600}.landing-footer{color:#c4b5d9;background:#1f1235;padding:60px 24px 0}.landing-footer-content{display:flex;justify-content:space-between;gap:48px;max-width:1200px;margin:0 auto;padding-bottom:40px}.landing-footer-brand{max-width:300px}.landing-footer-brand .landing-logo{color:#fff;margin-bottom:12px}.landing-footer-brand .landing-logo-icon{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%)}.landing-footer-brand p{font-size:14px;line-height:1.7}.landing-footer-links{display:flex;gap:64px}.landing-footer-links h4{color:#fff;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:16px;font-size:14px;font-weight:700}.landing-footer-links a{display:block;color:#c4b5d9;text-decoration:none;padding:5px 0;transition:all .2s;font-size:14px}.landing-footer-links a:hover{color:#fff;transform:translate(2px)}.landing-footer-bottom{text-align:center;border-top:1px solid #ffffff14;max-width:1200px;margin:0 auto;padding:20px;font-size:13px}.app-layout{display:flex;min-height:100vh}.sidebar{border-right:1px solid var(--border);display:flex;position:fixed;z-index:100;background:linear-gradient(#fdfbff 0%,#faf5ff 100%);flex-direction:column;width:260px;transition:transform .3s;top:0;bottom:0;left:0}.sidebar-overlay,.sidebar-close{display:none}.sidebar-header{border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items: center;padding:22px 20px 18px}.sidebar-logo{display:flex;color:var(--primary);letter-spacing:-.3px;align-items: center;gap:10px;font-size:19px;font-weight:800}.sidebar-logo-icon{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;display:flex;border-radius:10px;justify-content:center;align-items: center;width:36px;height:36px;font-size:14px;font-weight:800;box-shadow:0 2px 8px #8b5cf640}.sidebar-nav{overflow-y:auto;flex:1;padding:12px 10px}.sidebar-link{display:flex;color:var(--text-secondary);font-size:14px;font-family:var(--font);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:100px;align-items: center;gap:10px;width:100%;padding:11px 16px;transition:all .2s;font-weight:500}.sidebar-link:hover{color:var(--primary);background:#8b5cf60f}.sidebar-link-active{color:var(--primary);background:#8b5cf61a;font-weight:600}.sidebar-link-icon{text-align:center;width:20px;font-size:16px}.sidebar-exit{border-top:1px solid var(--border-light);padding:8px 12px}.sidebar-exit-btn{display:flex;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:100px;align-items: center;gap:8px;width:100%;padding:10px 12px;transition:all .2s;font-size:14px}.sidebar-exit-btn:hover{background:var(--danger-bg,#fef2f2);color:var(--danger,#dc2626)}.sidebar-family{border-top:1px solid var(--border-light);background:#8b5cf608;padding:16px 20px}.sidebar-family-name{color:var(--text);font-size:14px;font-weight:600}.sidebar-family-detail{color:var(--text-muted);margin-bottom:6px;font-size:12px}.sidebar-child-badge{display:inline-block;background:var(--primary-bg);color:var(--primary);border-radius:100px;margin-top:4px;padding:2px 12px;font-size:12px;font-weight:500}.main-content{flex:1;min-height:100vh;margin-left:260px}.topbar{backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;position:sticky;z-index:50;background:#ffffffd9;align-items: center;gap:16px;padding:16px 32px;top:0}.topbar-title{color:var(--text);font-size:18px;font-weight:700}.hamburger{display:none;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px}.hamburger span{display:block;background:var(--text);border-radius:2px;width:22px;height:2px}.page-content{max-width:1200px;padding:32px}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: flex-start;gap:16px;margin-bottom:32px}.page-header h1{color:var(--text);letter-spacing:-.3px;margin-bottom:6px;font-size:28px;font-weight:800}.page-header p{color:var(--text-secondary);font-size:15px;font-weight:400}.section-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:20px}.btn{cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);display:inline-flex;border:none;border-radius:100px;align-items: center;gap:6px;padding:11px 22px;transition:all .25s}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:0 2px 8px #8b5cf640}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-dark)0%,#6d28d9 100%);transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf659}.btn-secondary{color:var(--text);border:1.5px solid var(--border);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#b91c1c;transform:translateY(-1px)}.btn-sm{padding:7px 14px;font-size:13px}.btn-lg{padding:14px 30px;font-size:16px}.btn-link{color:var(--primary);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);transition:var(--transition);background:0 0;border:none;padding:0}.btn-link:hover{color:var(--primary-dark)}.form-group{margin-bottom:18px}.form-group label{display:block;color:var(--text);margin-bottom:7px;font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:15px;font-family:var(--font);color:var(--text);outline:none;background:#fff;width:100%;padding:13px 18px;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.form-group textarea{resize:vertical;min-height:80px}.input-lg{padding:16px 20px!important;font-size:18px!important}.input-sm{display:inline-block;width:80px!important}.form-row{display:flex;flex-wrap:wrap;gap:16px}.form-row>.form-group{flex:1;min-width:150px}.form-group-inline{display:inline-flex;flex-direction:column;margin-bottom:0}.form-group-grow{flex:2!important}.checkbox-label{cursor:pointer;align-items: center;gap:8px;padding-top:20px;display:flex!important}.checkbox-label input[type=checkbox]{accent-color:var(--primary);width:auto;margin:0}.subject-tag{display:inline-block;background:var(--primary-bg);color:var(--primary);border-radius:100px;margin:2px;padding:3px 12px;font-size:12px;font-weight:500}.subject-tag-sm{display:inline-block;background:var(--primary-bg);color:var(--primary);border-radius:100px;margin:1px;padding:2px 9px;font-size:11px;font-weight:500}.type-badge{display:inline-block;text-transform:capitalize;border-radius:100px;padding:3px 10px;font-size:11px;font-weight:600}.type-lesson{color:#7c3aed;background:#ede9fe}.type-field_trip{color:#10b981;background:#ecfdf5}.type-reading{color:#ea580c;background:#fff7ed}.type-project{color:#e11d48;background:#fff1f2}.type-free_play{color:#0d9488;background:#f0fdfa}.hours-badge{display:inline-block;background:var(--bg-lavender);color:var(--text-secondary);border:1px solid var(--border);border-radius:100px;padding:2px 9px;font-size:11px;font-weight:600}.location-badge{display:inline-block;color:var(--text-muted);font-size:12px}.age-badge{display:inline-block;background:var(--bg-lavender);color:var(--text-secondary);border-radius:100px;padding:2px 8px;font-size:11px}.category-badge{display:inline-block;background:var(--primary-bg);color:var(--primary);border-radius:100px;padding:2px 10px;font-size:12px;font-weight:500}.status-badge{display:inline-block;text-transform:capitalize;border-radius:100px;padding:4px 14px;font-size:12px;font-weight:600}.status-green{color:#10b981;background:#ecfdf5}.status-yellow{color:#ea580c;background:#fff7ed}.status-red{color:#dc2626;background:#fef2f2}.status-gray{background:var(--bg-lavender);color:var(--text-secondary)}.status-dot{display:inline-block;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:8px}.status-dot.status-green{background:#10b981}.status-dot.status-yellow{background:#f59e0b}.status-dot.status-red{background:#dc2626}.status-dot.status-gray{background:#9ca3af}.empty-state{color:var(--text-muted);text-align:center;padding:28px;font-size:14px}.empty-state-card{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--border);background:#fff;padding:52px 32px}.empty-state-card h3{margin-bottom:8px}.empty-state-card p{color:var(--text-secondary);font-size:14px}.empty-icon{margin-bottom:16px;font-size:48px}.tab-bar{display:flex;border:1px solid var(--border);background:#8b5cf60a;border-radius:100px;gap:4px;margin-bottom:24px;padding:4px}.tab{color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:14px;font-weight:500;font-family:var(--font);background:0 0;border:none;border-radius:100px;padding:10px 22px}.tab-active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff;font-weight:600}.tab:hover:not(.tab-active){color:var(--text)}.modal-overlay{position:fixed;backdrop-filter:blur(4px);display:flex;z-index:200;background:#1f123566;justify-content:center;align-items: center;padding:24px;inset:0}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:500px;padding:36px}.modal h2{margin-bottom:20px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dashboard-welcome{margin-bottom:32px}.dashboard-welcome h1{color:var(--text);letter-spacing:-.3px;margin-bottom:6px;font-size:30px;font-weight:800}.dashboard-welcome p{color:var(--text-secondary);font-size:16px;font-weight:400}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}.stat-card{border-radius:var(--radius);text-align:center;box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:22px;transition:all .25s}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card:first-child .stat-number{color:var(--primary)}.stat-card:nth-child(2) .stat-number{color:var(--accent)}.stat-card:nth-child(3) .stat-number{color:#10b981}.stat-card:nth-child(4) .stat-number{color:var(--accent-warm)}.stat-number{color:var(--primary);margin-bottom:4px;font-size:30px;font-weight:800}.stat-label{color:var(--text-muted);font-size:13px;font-weight:500}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}.dashboard-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:26px;transition:all .25s}.dashboard-card:hover{box-shadow:var(--shadow)}.dashboard-card-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:18px}.dashboard-card-header h3{color:var(--text);font-size:16px;font-weight:700}.plan-preview{display:flex;flex-direction:column;gap:10px}.plan-item{display:flex;background:var(--bg-lavender);border-radius:var(--radius-sm);transition:var(--transition);align-items: center;gap:12px;padding:12px 14px}.plan-item:hover{background:#8b5cf614}.plan-time{color:var(--text-muted);min-width:70px;font-size:12px;font-weight:600}.plan-title{color:var(--text);flex:1;font-size:14px;font-weight:500}.plan-subject{color:var(--primary);background:var(--primary-bg);border-radius:100px;padding:2px 10px;font-size:12px;font-weight:600}.activity-list-compact{display:flex;flex-direction:column;gap:8px}.activity-item-compact{display:flex;background:var(--bg);border-radius:var(--radius-sm);transition:var(--transition);gap:12px;padding:12px 14px}.activity-item-compact:hover{background:var(--bg-lavender)}.activity-item-date{color:var(--text-muted);min-width:80px;font-size:12px;font-weight:500}.activity-item-info{flex:1}.activity-item-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:500}.activity-item-meta{display:flex;flex-wrap:wrap;align-items: center;gap:4px}.events-list-compact{display:flex;flex-direction:column;gap:10px}.event-item-compact{display:flex;border-radius:var(--radius-sm);transition:var(--transition);align-items: center;gap:12px;padding:4px}.event-item-compact:hover{background:var(--bg-lavender)}.event-date-badge{text-align:center;background:var(--primary-bg);border-radius:var(--radius-sm);min-width:52px;padding:8px 12px}.event-month{display:block;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.event-day{display:block;color:var(--primary-dark);font-size:20px;font-weight:800}.event-info{flex:1}.event-title{color:var(--text);font-size:14px;font-weight:500}.event-location{color:var(--text-muted);font-size:12px}.milestone-summary{display:flex;flex-direction:column;gap:14px}.milestone-bar-row{display:flex;align-items: center;gap:12px}.milestone-bar-label{color:var(--text-secondary);min-width:80px;font-size:13px;font-weight:500}.milestone-bar{background:var(--bg-lavender);overflow:hidden;border-radius:100px;flex:1;height:10px}.milestone-bar-fill{border-radius:100px;height:100%;transition:width .5s}.milestone-bar-mastered{background:linear-gradient(90deg,var(--primary)0%,var(--primary-light)100%)}.milestone-bar-progress{background:linear-gradient(90deg,var(--accent-warm)0%,#fbbf24 100%)}.milestone-bar-notstarted{background:var(--border)}.milestone-bar-count{text-align:right;color:var(--text);min-width:20px;font-size:14px;font-weight:700}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}.quick-action-btn{display:flex;border:2px solid var(--border);color:var(--text);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);background:#fff;border-radius:100px;align-items: center;gap:8px;padding:13px 22px;transition:all .25s}.quick-action-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg);box-shadow:var(--shadow);transform:translateY(-2px)}.quick-action-icon{font-size:18px}.compliance-controls{display:flex;flex-wrap:wrap;align-items: flex-end;gap:16px;margin-bottom:28px}.compliance-info h3{margin-bottom:16px;font-size:20px}.compliance-requirements{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:28px}.requirement-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:22px;transition:all .25s}.requirement-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.requirement-icon{margin-bottom:10px;font-size:28px}.requirement-card h4{margin-bottom:6px;font-size:16px}.requirement-card p{color:var(--text-secondary);font-size:14px}.compliance-status-banner{display:flex;border-radius:var(--radius);justify-content:space-between;align-items: center;margin-bottom:24px;padding:22px 26px}.compliance-status-banner.status-green{background:var(--success-bg)}.compliance-status-banner.status-yellow{background:var(--warning-bg)}.compliance-status-banner.status-red{background:var(--danger-bg)}.compliance-section{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;margin-bottom:20px;padding:26px}.compliance-section h3{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:700}.requirements-list{display:flex;flex-direction:column;gap:12px}.requirement-row{display:flex;background:var(--bg);border-radius:var(--radius-sm);transition:var(--transition);align-items: flex-start;gap:12px;padding:14px}.requirement-row:hover{background:var(--bg-lavender)}.requirement-content{flex:1}.requirement-content strong{display:block;color:var(--text);margin-bottom:4px;font-size:14px}.requirement-content p{color:var(--text-secondary);margin-bottom:2px;font-size:13px}.action-needed{font-size:13px;font-weight:500;color:var(--warning)!important}.subject-coverage-grid{display:flex;flex-direction:column;gap:10px}.subject-coverage-item{display:flex;align-items: center;gap:12px}.subject-name{color:var(--text);min-width:100px;font-size:13px;font-weight:500}.subject-bar{background:var(--bg-lavender);overflow:hidden;border-radius:100px;flex:1;height:8px}.subject-bar-fill{background:linear-gradient(90deg,var(--primary)0%,var(--primary-light)100%);border-radius:100px;height:100%}.subject-hours{text-align:right;color:var(--text);min-width:40px;font-size:13px;font-weight:600}.deadlines-list{display:flex;flex-direction:column;gap:10px}.deadline-row{display:flex;background:var(--bg);border-radius:var(--radius-sm);justify-content:space-between;align-items: center;padding:12px 14px}.deadline-filing{color:var(--text);font-size:14px;font-weight:500}.deadline-date{color:var(--text-secondary);font-size:13px}.recommendations-list{list-style:none;padding:0}.recommendations-list li{position:relative;color:var(--text-secondary);border-bottom:1px solid var(--border-light);padding:10px 0 10px 24px;font-size:14px}.recommendations-list li:before{content:"→";position:absolute;color:var(--primary);left:0}.compliance-disclaimer{color:var(--text-muted);background:var(--bg-lavender);border-radius:var(--radius-sm);margin-top:20px;padding:14px;font-size:12px;font-style:italic}.compliance-history{margin-top:32px}.compliance-history h3{margin-bottom:12px;font-size:16px;font-weight:700}.history-list{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;border-radius:var(--radius-sm);border:1px solid var(--border-light);transition:var(--transition);background:#fff;justify-content:space-between;align-items: center;padding:14px 18px}.history-item:hover{border-color:var(--primary)}.history-date{color:var(--text-muted);font-size:13px}.history-type{font-size:13px;font-weight:500}.child-selector{display:flex;gap:8px;margin-bottom:20px}.child-btn{border:2px solid var(--border);cursor:pointer;font-size:14px;font-weight:600;font-family:var(--font);color:var(--text-secondary);background:#fff;border-radius:100px;padding:9px 22px;transition:all .25s}.child-btn-active{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.progress-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}.progress-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:18px;transition:all .25s}.progress-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.progress-card-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:8px}.progress-subject{color:var(--text);font-size:13px;font-weight:600}.progress-pct{color:var(--primary);font-size:16px;font-weight:800}.progress-bar-lg{background:var(--bg-lavender);overflow:hidden;border-radius:100px;height:8px;margin-bottom:6px}.progress-bar-fill{background:linear-gradient(90deg,var(--primary)0%,var(--primary-light)100%);border-radius:100px;height:100%;transition:width .5s}.progress-detail{color:var(--text-muted);font-size:11px}.subject-tabs{display:flex;overflow-x:auto;gap:4px;margin-bottom:20px;padding-bottom:4px}.subject-tab{color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);white-space:nowrap;display:flex;background:0 0;border:none;border-radius:100px;align-items: center;gap:6px;padding:9px 18px;transition:all .2s}.subject-tab-active{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:0 2px 8px #8b5cf640}.tab-count{background:#fff3;border-radius:100px;padding:1px 6px;font-size:11px}.subject-tab-active .tab-count{background:#ffffff4d}.milestones-list{display:flex;flex-direction:column;gap:10px}.milestone-card{display:flex;border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;border-left:4px solid #0000;justify-content:space-between;align-items: flex-start;gap:16px;padding:18px 22px;transition:all .25s}.milestone-card:hover{box-shadow:var(--shadow)}.milestone-mastered{border-left-color:var(--primary)}.milestone-in_progress{border-left-color:var(--accent-warm)}.milestone-not_started{border-left-color:var(--border)}.milestone-info{flex:1}.milestone-header-row{display:flex;align-items: center;gap:8px;margin-bottom:6px}.standard-code{color:var(--primary);background:var(--primary-bg);border-radius:100px;padding:2px 10px;font-size:11px;font-weight:600}.milestone-subject-label{color:var(--text-muted);font-size:11px;font-weight:500}.milestone-description{color:var(--text);margin-bottom:4px;font-size:14px}.milestone-evidence{color:var(--text-muted);font-size:12px;font-style:italic}.milestone-actions{flex-shrink:0}.status-select{border:1.5px solid var(--border);font-size:13px;font-family:var(--font);cursor:pointer;outline:none;transition:var(--transition);background:#fff;border-radius:100px;padding:7px 14px}.status-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.status-select-mastered{border-color:var(--primary);color:var(--primary)}.status-select-in_progress{border-color:var(--accent-warm);color:var(--accent-warm)}.assessment-result{border-radius:var(--radius);box-shadow:var(--shadow-md);border:2px solid var(--primary-bg);background:#fff;margin-top:24px;padding:26px}.assessment-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:20px}.assessment-section{margin-bottom:20px}.assessment-section h4{color:var(--primary);margin-bottom:8px;font-size:15px}.assessment-text{color:var(--text-secondary);font-size:14px;line-height:1.7}.celebration-list{list-style:none;padding:0}.celebration-list li{position:relative;padding:6px 0 6px 24px;font-size:14px}.celebration-list li:before{content:"⭐";position:absolute;left:0}.filter-bar{display:flex;border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items: flex-end;gap:16px;margin-bottom:24px;padding:18px 22px}.filter-bar .form-group{margin-bottom:0}.hours-summary{border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:24px;padding:22px}.hours-summary h3{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:700}.hours-bars{display:flex;flex-direction:column;gap:8px}.hours-bar-row{display:flex;align-items: center;gap:12px}.hours-bar-label{color:var(--text);min-width:100px;font-size:13px;font-weight:500}.hours-bar{background:var(--bg-lavender);overflow:hidden;border-radius:100px;flex:1;height:8px}.hours-bar-fill{background:linear-gradient(90deg,var(--primary)0%,var(--primary-light)100%);border-radius:100px;height:100%;transition:width .3s}.hours-bar-value{text-align:right;color:var(--text);min-width:40px;font-size:13px;font-weight:600}.activities-timeline{display:flex;flex-direction:column;gap:12px}.activity-card{display:flex;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;gap:16px;padding:22px;transition:all .25s}.activity-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.activity-date-side{text-align:center;min-width:50px;padding-top:2px}.activity-date-month{display:block;color:var(--primary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.activity-date-day{display:block;color:var(--text);font-size:24px;font-weight:800;line-height:1.2}.activity-date-weekday{display:block;color:var(--text-muted);font-size:11px}.activity-card-body{flex:1}.activity-card-header{display:flex;justify-content:space-between;align-items: flex-start;gap:8px;margin-bottom:6px}.activity-card-header h3{color:var(--text);font-size:16px;font-weight:600}.activity-description{color:var(--text-secondary);margin-bottom:10px;font-size:14px;line-height:1.6}.activity-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:8px}.activity-tags{display:flex;flex-wrap:wrap;gap:4px}.activity-details{display:flex;align-items: center;gap:8px}.activity-notes{color:var(--text-muted);border-top:1px solid var(--border-light);margin-top:8px;padding-top:8px;font-size:13px;font-style:italic}.logger-form{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;max-width:700px;padding:30px}.type-buttons,.subject-buttons{display:flex;flex-wrap:wrap;gap:8px}.type-btn,.subject-btn{border:2px solid var(--border);cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);color:var(--text-secondary);background:#fff;border-radius:100px;padding:9px 18px;transition:all .2s}.type-btn:hover,.subject-btn:hover{border-color:var(--primary-light);color:var(--primary)}.type-btn-active{border-color:var(--primary);background:var(--primary-bg);color:var(--primary);font-weight:600}.subject-btn-active{border-color:var(--primary);background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;font-weight:600;box-shadow:0 2px 8px #8b5cf640}.hours-input{display:flex;align-items: center;gap:12px}.hours-btn{border:2px solid var(--border);cursor:pointer;font-size:18px;font-weight:600;font-family:var(--font);display:flex;background:#fff;border-radius:50%;justify-content:center;align-items: center;width:40px;height:40px;transition:all .2s}.hours-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-bg)}.hours-value{text-align:center;color:var(--text);min-width:40px;font-size:22px;font-weight:700}.logger-actions{margin-top:24px}.saved-confirmation{text-align:center;padding:80px 32px}.saved-icon{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;display:flex;border-radius:50%;justify-content:center;align-items: center;width:80px;height:80px;margin:0 auto 20px;font-size:36px;box-shadow:0 8px 24px #8b5cf64d}.saved-confirmation h2{color:var(--text);margin-bottom:8px}.saved-confirmation p{color:var(--text-secondary);margin-bottom:24px}.saved-actions{display:flex;justify-content:center;gap:12px}.generating-overlay{text-align:center;padding:60px 32px}.generating-card{max-width:400px;margin:0 auto}.generating-card h3{color:var(--text);margin:20px 0 8px}.generating-card p{color:var(--text-secondary);font-size:14px}.plan-theme{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);border-left:4px solid var(--primary);background:#fff;margin-bottom:24px;padding:26px}.plan-theme h2{color:var(--text);margin-bottom:12px;font-size:22px}.plan-goals{font-size:14px}.plan-goals strong{display:block;margin-bottom:6px}.plan-goals ul{padding-left:20px}.plan-goals li{color:var(--text-secondary);padding:3px 0}.plan-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px}.plan-day-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);overflow:hidden;background:#fff;transition:all .25s}.plan-day-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.plan-day-header{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;padding:14px 16px}.plan-day-header h3{font-size:15px;font-weight:700}.plan-day-theme{opacity:.85;font-size:11px}.plan-day-body{display:flex;flex-direction:column;gap:14px;padding:16px}.plan-activity{border-bottom:1px solid var(--border-light);padding-bottom:12px}.plan-activity:last-child{border-bottom:none}.plan-activity-time{text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px;font-size:10px;font-weight:700}.plan-activity h4{color:var(--text);margin:4px 0;font-size:14px}.plan-activity-subject{color:var(--primary);font-size:12px;font-weight:600}.plan-activity p{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.5}.plan-duration{color:var(--text-muted);font-size:11px;font-weight:600}.plan-materials{color:var(--text-muted);font-size:11px;font-style:italic}.plan-event-suggestion{border-radius:var(--radius-sm);background:#fff7ed;border:1px solid #fed7aa;padding:12px}.plan-event-label{text-transform:uppercase;color:var(--accent-warm);font-size:10px;font-weight:700}.plan-event-suggestion p{margin-top:4px;font-size:12px}.plan-reading{background:var(--bg-lavender);border-radius:var(--radius-sm);padding:12px}.plan-reading-label{text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.plan-reading p{margin-top:4px;font-size:12px;font-style:italic}.plan-notes{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:22px}.plan-notes h3{color:var(--text);margin-bottom:8px;font-size:15px}.plan-notes p{color:var(--text-secondary);font-size:14px;line-height:1.7}.empty-plan{display:flex;justify-content:center}.empty-plan-card{text-align:center;border-radius:var(--radius-lg);border:2px dashed var(--border);background:#fff;max-width:500px;padding:60px 40px}.empty-plan-icon{margin-bottom:16px;font-size:48px}.empty-plan-card h3{margin-bottom:8px}.empty-plan-card p{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.finder-controls{display:flex;border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items: flex-end;gap:16px;margin-bottom:24px;padding:22px}.finder-controls .form-group{flex:1;min-width:150px;margin-bottom:0}.resource-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.resource-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);display:flex;background:#fff;align-items: flex-start;gap:14px;padding:20px;transition:all .25s}.resource-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.resource-type-icon{flex-shrink:0;font-size:28px}.resource-info{flex:1}.resource-info h4{color:var(--text);margin-bottom:4px;font-size:15px}.resource-info p{color:var(--text-secondary);margin-bottom:8px;font-size:13px;line-height:1.5}.resource-meta{display:flex;flex-wrap:wrap;gap:6px}.resource-type-badge{display:inline-block;text-transform:capitalize;background:var(--bg-lavender);color:var(--text-secondary);border-radius:100px;padding:2px 10px;font-size:11px;font-weight:600}.free-badge{display:inline-block;border-radius:100px;padding:2px 10px;font-size:11px;font-weight:600}.free-yes{color:#10b981;background:#ecfdf5}.free-no{color:#ea580c;background:#fff7ed}.quality-note{font-style:italic;color:var(--primary)!important;font-size:12px!important}.resource-actions{display:flex;flex-direction:column;flex-shrink:0;gap:6px}.worksheet-content{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;max-width:700px;padding:32px}.worksheet-header{border-bottom:2px solid var(--primary);margin-bottom:24px;padding-bottom:16px}.worksheet-header h2{margin-bottom:8px;font-size:24px}.worksheet-instructions{color:var(--text-secondary);font-size:14px}.worksheet-section{margin-bottom:24px}.worksheet-section h3{color:var(--primary);margin-bottom:12px;font-size:16px}.worksheet-question{border-bottom:1px solid var(--border-light);margin-bottom:16px;padding-bottom:12px}.worksheet-question p{margin-bottom:8px;font-size:15px}.worksheet-options{display:flex;flex-direction:column;gap:6px;padding-left:24px}.worksheet-option{display:flex;cursor:pointer;align-items: center;gap:8px;font-size:14px}.worksheet-blank{border-bottom:2px solid var(--text);width:200px;margin:8px 0}.worksheet-lines{display:flex;flex-direction:column;gap:16px;margin:8px 0}.worksheet-line{border-bottom:1px solid var(--border);height:1px}.worksheet-bonus{border-radius:var(--radius-sm);background:linear-gradient(135deg,#fff7ed 0%,#fffbeb 100%);border:1px solid #fed7aa;margin-top:20px;padding:18px}.worksheet-bonus h3{color:var(--accent-warm);margin-bottom:6px}.generator-controls{display:flex;border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;align-items: flex-end;gap:16px;margin-bottom:24px;padding:22px}.generator-controls .form-group{min-width:150px;margin-bottom:0}.report-viewer{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:32px}.report-content{font-family:var(--font);white-space:pre-wrap;color:var(--text-secondary);font-size:14px;line-height:1.8}.report-structured h2{color:var(--text);margin-bottom:8px;font-size:22px}.report-period{color:var(--text-muted);margin-bottom:20px}.report-section{margin-bottom:24px}.report-section h3{color:var(--primary);margin-bottom:8px;font-size:16px}.report-section p{color:var(--text-secondary);font-size:14px;line-height:1.8}.report-subject-header{display:flex;align-items: center;gap:12px;margin-bottom:8px}.progress-level{border-radius:100px;padding:3px 12px;font-size:11px;font-weight:600}.progress-beginning{color:#dc2626;background:#fef2f2}.progress-developing{color:#ea580c;background:#fff7ed}.progress-proficient{color:#10b981;background:#ecfdf5}.progress-advanced{color:#7c3aed;background:#ede9fe}.report-footer{border-top:2px solid var(--primary);margin-top:24px;padding-top:16px}.report-footer p{font-size:14px;font-weight:600}.report-actions{display:flex;gap:12px;margin-top:20px}.history-card{display:flex;border-radius:var(--radius-sm);border:1px solid var(--border-light);cursor:pointer;background:#fff;justify-content:space-between;align-items: center;margin-bottom:8px;padding:16px 22px;transition:all .25s}.history-card:hover{border-color:var(--primary);background:var(--primary-bg);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.history-card-info{display:flex;align-items: center;gap:12px}.history-type-badge{background:var(--primary-bg);color:var(--primary);text-transform:capitalize;border-radius:100px;padding:3px 12px;font-size:12px;font-weight:600}.history-period{font-size:14px;font-weight:500}.expense-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.expense-form{border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;margin-bottom:24px;padding:22px}.expense-form h3,.expense-list h3{margin-bottom:12px}.expense-table{border-collapse:collapse;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border-light);background:#fff;width:100%}.expense-table th{background:var(--bg-lavender);text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:12px;font-weight:600}.expense-table td{border-top:1px solid var(--border-light);padding:14px 16px;font-size:14px}.expense-table .amount{font-weight:600}.assistant-nav{display:flex;overflow-x:auto;gap:4px;margin-bottom:24px;padding-bottom:4px}.assistant-nav-btn{color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font);white-space:nowrap;background:0 0;border:none;border-radius:100px;padding:10px 20px;transition:all .2s}.assistant-nav-btn:hover{background:var(--bg-lavender)}.assistant-nav-btn.active{background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;font-weight:600;box-shadow:0 2px 8px #8b5cf640}.reminders-list{display:flex;flex-direction:column;gap:10px}.reminder-card{display:flex;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;border-left:4px solid #0000;gap:14px;padding:18px 22px;transition:all .25s}.reminder-card:hover{box-shadow:var(--shadow)}.reminder-high{border-left-color:var(--danger)}.reminder-medium{border-left-color:var(--accent-warm)}.reminder-low{border-left-color:var(--info)}.reminder-icon{flex-shrink:0;font-size:20px}.reminder-content{flex:1}.reminder-content p{margin-bottom:6px;font-size:14px;line-height:1.6}.reminder-meta{display:flex;gap:8px}.reminder-category{color:var(--text-muted);text-transform:capitalize;font-size:12px}.reminder-priority{text-transform:capitalize;border-radius:100px;padding:1px 10px;font-size:11px;font-weight:600}.priority-high{color:#dc2626;background:#fef2f2}.priority-medium{color:#ea580c;background:#fff7ed}.priority-low{color:#7c3aed;background:#ede9fe}.summary-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:26px}.summary-content{font-family:var(--font);white-space:pre-wrap;color:var(--text-secondary);font-size:14px;line-height:1.8}.briefing-list{display:flex;flex-direction:column;gap:16px}.briefing-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:22px;transition:all .25s}.briefing-card:hover{box-shadow:var(--shadow)}.briefing-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:12px}.briefing-type-badge{text-transform:capitalize;border-radius:100px;padding:3px 14px;font-size:12px;font-weight:600}.briefing-daily{color:#7c3aed;background:#ede9fe}.briefing-weekly{color:#e11d48;background:#fff1f2}.briefing-date{color:var(--text-muted);font-size:12px}.briefing-content{font-family:var(--font);white-space:pre-wrap;color:var(--text-secondary);font-size:13px;line-height:1.8}.prefs-form{border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:#fff;max-width:500px;padding:26px}.pref-toggle{display:flex;border-bottom:1px solid var(--border-light);cursor:pointer;align-items: flex-start;gap:14px;padding:16px 0}.pref-toggle:last-of-type{border-bottom:none}.pref-toggle input[type=checkbox]{accent-color:var(--primary);width:20px;height:20px;margin-top:2px}.pref-label{display:flex;flex-direction:column}.pref-label strong{color:var(--text);font-size:14px}.pref-label span{color:var(--text-muted);font-size:13px}.settings-section{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;margin-bottom:24px;padding:26px}.settings-section h2{color:var(--text);margin-bottom:16px;font-size:18px}.settings-form{max-width:600px}.children-list{display:flex;flex-direction:column;gap:12px}.child-card{display:flex;background:var(--bg-lavender);border-radius:var(--radius-sm);transition:var(--transition);justify-content:space-between;align-items: flex-start;padding:18px}.child-card:hover{background:#8b5cf60f}.child-card-info h3{color:var(--text);margin-bottom:4px;font-size:16px}.child-card-info p{color:var(--text-secondary);font-size:13px}.child-interests,.child-style{color:var(--text-muted)!important;font-size:12px!important}.child-card-actions{display:flex;gap:8px}.setup-overlay{background:linear-gradient(180deg,var(--bg-cream)0%,var(--bg-lavender)100%);display:flex;justify-content:center;align-items: center;min-height:100vh;padding:24px}.setup-modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;max-width:560px;padding:44px}.setup-header{display:flex;justify-content:space-between;align-items: center;margin-bottom:32px}.setup-steps{display:flex;align-items: center;gap:8px}.setup-step{border:2px solid var(--border);display:flex;color:var(--text-muted);border-radius:50%;justify-content:center;align-items: center;width:30px;height:30px;transition:all .3s;font-size:12px;font-weight:600}.setup-step-active{border-color:var(--primary);background:linear-gradient(135deg,var(--primary)0%,var(--primary-dark)100%);color:#fff;box-shadow:0 2px 8px #8b5cf640}.setup-step-line{background:var(--border);width:20px;height:2px}.setup-content h2{color:var(--text);margin-bottom:8px;font-size:22px}.setup-content>p{color:var(--text-secondary);margin-bottom:24px}.setup-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.setup-summary{background:var(--bg-lavender);border-radius:var(--radius-sm);padding:22px}.setup-summary-item{border-bottom:1px solid var(--border-light);padding:10px 0;font-size:14px}.setup-summary-item:last-child{border-bottom:none}@media (max-width:1024px){.tools-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.pricing-card-featured{transform:none}.pricing-card-featured:hover{transform:translateY(-4px)}.plan-grid{grid-template-columns:repeat(3,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.compliance-requirements{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;backdrop-filter:blur(4px);z-index:90;background:#1f123566;inset:0}.sidebar-close{display:block;cursor:pointer;color:var(--text-muted);background:0 0;border:none;font-size:28px}.main-content{margin-left:0}.hamburger{display:flex}.page-content{padding:20px 16px}.topbar{padding:14px 16px}.hero h1{font-size:34px}.hero-subtitle{font-size:16px}.hero-email-form{border-radius:var(--radius);flex-direction:column;padding:8px}.hero-cta{width:100%}.tools-grid{grid-template-columns:1fr}.landing-nav{padding:16px 20px}.landing-footer-content{flex-direction:column;gap:32px}.landing-footer-links{gap:32px}.plan-grid{grid-template-columns:1fr}.filter-bar{flex-direction:column;align-items:stretch}.form-row{flex-direction:column}.stats-grid{grid-template-columns:repeat(2,1fr)}.expense-stats,.resource-grid{grid-template-columns:1fr}.compliance-controls,.finder-controls,.generator-controls{flex-direction:column;align-items:stretch}.assistant-nav{flex-wrap:nowrap}.page-header{flex-direction:column}.progress-overview{grid-template-columns:repeat(2,1fr)}.subject-tabs{flex-wrap:nowrap}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:28px}.progress-overview{grid-template-columns:1fr 1fr}}.journal-page .page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items: flex-start;gap:16px}.page-header-actions{display:flex;gap:10px}.journal-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.journal-filters select,.journal-filters input{border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font);color:var(--text);outline:none;transition:var(--transition);background:#fff;padding:10px 14px}.journal-filters select:focus,.journal-filters input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8b5cf61a}.journal-empty{text-align:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);background:#fff;padding:60px 24px}.journal-empty-icon{margin-bottom:16px;font-size:48px}.journal-empty h3{color:var(--text);margin-bottom:8px;font-size:20px}.journal-empty p{color:var(--text-secondary);margin-bottom:20px;font-size:15px}.journal-entries-list{display:flex;flex-direction:column;gap:12px}.journal-entry-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;background:#fffdf7;border:1px solid #f0e8d8;transition:all .2s}.journal-entry-card:hover{box-shadow:var(--shadow)}.journal-entry-expanded{box-shadow:var(--shadow-md);border-color:var(--primary-light)}.journal-entry-header{display:flex;cursor:pointer;user-select:none;align-items: flex-start;gap:16px;padding:18px 20px}.journal-entry-date-badge{display:flex;background:var(--primary-bg);border-radius:10px;flex-direction:column;align-items: center;min-width:48px;padding:6px 10px}.journal-date-month{text-transform:uppercase;color:var(--primary);letter-spacing:.5px;font-size:11px;font-weight:700}.journal-date-day{color:var(--text);font-size:20px;font-weight:800;line-height:1.1}.journal-entry-summary{flex:1;min-width:0}.journal-entry-summary h3{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:700}.journal-entry-meta{display:flex;flex-wrap:wrap;align-items: center;gap:6px;margin-bottom:4px}.journal-child-name{color:var(--primary);background:var(--primary-bg);border-radius:100px;padding:2px 10px;font-size:12px;font-weight:600}.journal-entry-snippet{color:var(--text-muted);margin-top:4px;font-size:13px;line-height:1.5}.journal-entry-expand{color:var(--text-muted);flex-shrink:0;padding:4px;font-size:12px}.journal-entry-body{border-top:1px solid #f0e8d8;margin-top:0;padding:16px 20px 20px}.journal-section{margin-bottom:18px}.journal-section:last-child{margin-bottom:0}.journal-section h4{color:var(--primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:700}.journal-section p{color:var(--text-secondary);font-size:14px;line-height:1.7}.journal-form-container{max-width:720px}.journal-form-card{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fffdf7;border:1px solid #f0e8d8;padding:32px}.journal-form-card h2{color:var(--text);margin-bottom:20px;font-size:20px}.journal-form-actions{display:flex;border-top:1px solid var(--border-light);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:20px}.label-optional{color:var(--text-muted);font-size:12px;font-weight:400}.work-samples-section{display:flex;flex-direction:column;gap:12px}.work-sample-buttons,.work-samples-grid{display:flex;flex-wrap:wrap;gap:10px}.work-sample-card{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);position:relative;background:#fff;align-items: center;gap:8px;padding:8px 12px;font-size:13px}.work-sample-thumb{flex-shrink:0;font-size:20px}.work-sample-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:12px}.work-sample-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px;line-height:1}.work-sample-remove:hover{color:var(--danger)}.milestone-tags{display:flex;flex-wrap:wrap;gap:6px}.milestone-tag{color:var(--accent-warm);background:#fff7ed;border:1px solid #fed7aa;border-radius:100px;padding:4px 12px;font-size:12px;font-weight:600}.btn-google-drive{display:inline-flex;border-radius:var(--radius-sm);color:#3c4043;cursor:pointer;font-size:13px;font-weight:500;font-family:var(--font);background:#fff;border:1px solid #dadce0;align-items: center;gap:8px;padding:10px 18px;transition:all .2s;box-shadow:0 1px 3px #00000014}.btn-google-drive:hover{background:#f8f9fa;box-shadow:0 2px 6px #0000001f}.google-drive-icon{background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:800}.mock-file-picker{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;flex-direction:column;gap:2px;margin:16px 0}.mock-file-item{display:flex;cursor:pointer;color:var(--text);align-items: center;gap:10px;padding:12px 16px;transition:background .15s;font-size:14px}.mock-file-item:hover{background:var(--primary-bg)}.mock-file-icon{font-size:20px}.compiled-report{overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);background:#fff;max-height:60vh;margin:16px 0;padding:24px;font-size:14px;line-height:1.8}.compiled-report-content h1,.compiled-report-content h2,.compiled-report-content h3{color:var(--text);margin-top:16px;margin-bottom:8px}.modal-wide{width:90vw;max-width:800px!important}.modal-description{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.6}.tool-card-icon-journal{color:#d97706;background:#fffbeb}.settings-section-desc{color:var(--text-secondary);margin-top:-8px;margin-bottom:18px;font-size:14px}.connected-service-card{display:flex;background:var(--bg-lavender);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items: center;gap:16px;margin-bottom:12px;padding:20px}.connected-service-info{display:flex;flex:1;align-items: flex-start;gap:14px;min-width:0}.connected-service-icon{display:flex;border-radius:10px;flex-shrink:0;justify-content:center;align-items: center;width:42px;height:42px;font-size:18px}.connected-service-icon-drive{background:#e8f0fe}.connected-service-icon-calendar{background:#e8f5e9}.google-g{background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800}.connected-service-info h3{color:var(--text);margin-bottom:4px;font-size:15px;font-weight:700}.connected-service-info p{color:var(--text-secondary);font-size:13px;line-height:1.5}.connected-service-action{flex-shrink:0}.connected-status{display:flex;color:var(--text-secondary);align-items: center;gap:8px;font-size:13px}.connected-check{color:var(--success);font-size:16px;font-weight:800}.btn-link-sm{color:var(--text-muted);cursor:pointer;text-decoration:underline;font-size:12px;font-family:var(--font);background:0 0;border:none;padding:0}.btn-link-sm:hover{color:var(--danger)}.btn-google{display:inline-flex;color:#3c4043;cursor:pointer;font-size:14px;font-weight:500;font-family:var(--font);white-space:nowrap;background:#fff;border:1px solid #dadce0;border-radius:100px;align-items: center;gap:10px;padding:10px 20px;transition:all .2s;box-shadow:0 1px 3px #00000014}.btn-google:hover{background:#f8f9fa;box-shadow:0 2px 8px #00000026}.google-g-btn{background:linear-gradient(135deg,#4285f4,#34a853,#fbbc05,#ea4335);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:800}
