.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#faf6eee6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(45,90,74,.08)}.navbar-container{display:flex;align-items:center;justify-content:space-between;height:80px}.logo{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.5rem;font-weight:600;color:var(--forest-dark)}.logo:hover{color:var(--forest)}.logo-icon{width:32px;height:32px;color:var(--terracotta)}.logo-home{color:var(--terracotta)}.nav-links{display:flex;align-items:center;gap:40px}.nav-links a{font-weight:500;color:var(--text-muted);transition:color .2s ease;position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--terracotta);transition:width .3s ease}.nav-links a:hover:after{width:100%}.nav-links a:hover{color:var(--forest)}.nav-link-btn{font-weight:500;color:var(--text-muted);transition:color .2s ease;position:relative;background:none;border:none;cursor:pointer;font-size:inherit}.nav-link-btn:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--terracotta);transition:width .3s ease}.nav-link-btn:hover:after{width:100%}.nav-link-btn:hover{color:var(--forest)}.nav-link-btn.user-btn{display:flex;align-items:center;gap:6px;color:var(--forest);font-weight:600}.nav-link-btn svg{width:18px;height:18px}.nav-cta{padding:12px 28px!important;background:var(--forest);color:#fff!important;border-radius:var(--radius-lg);font-weight:600!important;transition:all .3s ease!important}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--forest-dark);color:#fff!important;transform:translateY(-2px);box-shadow:var(--shadow-md)}.mobile-toggle{display:none;padding:8px;color:var(--forest)}@media (max-width: 768px){.navbar-container{height:70px}.logo{font-size:1.25rem}.logo-icon{width:28px;height:28px}.mobile-toggle{display:flex;align-items:center;justify-content:center}.nav-links{position:fixed;top:70px;left:0;right:0;bottom:0;flex-direction:column;justify-content:flex-start;padding-top:40px;gap:0;background:var(--cream-light);transform:translate(100%);transition:transform .3s ease}.nav-links.nav-open{transform:translate(0)}.nav-links a,.nav-link-btn{padding:20px 24px;font-size:1.25rem;width:100%;text-align:center}.nav-links a:after,.nav-link-btn:after{display:none}.nav-cta{margin-top:20px;width:calc(100% - 48px)!important;text-align:center}}.hero{position:relative;min-height:100vh;padding:140px 0 80px;overflow:hidden;display:flex;align-items:center}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5}.hero-blob-1{width:600px;height:600px;background:var(--sage-light);top:-200px;right:-100px;animation:float 8s ease-in-out infinite}.hero-blob-2{width:400px;height:400px;background:var(--terracotta);opacity:.2;bottom:-100px;left:-100px;animation:float 10s ease-in-out infinite reverse}.hero-blob-3{width:300px;height:300px;background:var(--cream);top:50%;left:30%;animation:float 6s ease-in-out infinite}.hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(var(--forest) 1px,transparent 1px);background-size:40px 40px;opacity:.03}.hero-container{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.hero-content{max-width:600px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;color:var(--forest);box-shadow:var(--shadow-sm);margin-bottom:24px;opacity:0}.badge-icon{width:18px;height:18px;color:var(--terracotta)}.hero-title{margin-bottom:24px;opacity:0}.hero-title .highlight{color:var(--terracotta);position:relative;display:inline-block}.hero-title .highlight:after{content:"";position:absolute;bottom:8px;left:0;right:0;height:12px;background:var(--sage-light);opacity:.5;z-index:-1;border-radius:4px}.hero-subtitle{font-size:1.25rem;color:var(--text-muted);margin-bottom:40px;opacity:0}.hero-actions{display:flex;gap:16px;margin-bottom:60px;opacity:0}.btn{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-weight:600;border-radius:var(--radius-lg);transition:all .3s ease}.btn-icon{width:20px;height:20px;transition:transform .3s ease}.btn-primary{background:var(--forest);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--forest-dark);color:#fff;transform:translateY(-3px);box-shadow:var(--shadow-lg)}.btn-primary:hover .btn-icon{transform:translate(4px)}.btn-secondary{background:#fff;color:var(--forest);border:2px solid var(--sage-light)}.btn-secondary:hover{background:var(--sage-light);color:var(--forest-dark);border-color:var(--sage)}.hero-stats{display:flex;align-items:center;gap:32px;opacity:0}.stat{display:flex;flex-direction:column}.stat-number{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--forest)}.stat-label{font-size:.875rem;color:var(--text-muted)}.stat-divider{width:1px;height:40px;background:var(--sage-light)}.hero-visual{position:relative;height:500px;opacity:0}.visual-card{position:absolute;padding:20px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;font-weight:600;color:var(--forest-dark);transition:transform .3s ease,box-shadow .3s ease}.visual-card:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.card-emoji{font-size:2rem}.visual-card-1{top:0;left:20%;animation:float 5s ease-in-out infinite}.visual-card-2{top:30%;right:0;animation:float 6s ease-in-out infinite;animation-delay:1s}.visual-card-3{bottom:20%;left:0;animation:float 5.5s ease-in-out infinite;animation-delay:.5s}.visual-card-4{bottom:0;right:10%;animation:float 7s ease-in-out infinite;animation-delay:1.5s}.visual-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:180px;height:180px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-weight:600;box-shadow:var(--shadow-lg)}.center-icon{font-size:3rem;margin-bottom:8px}.visual-center span:first-of-type{font-size:.875rem;opacity:.8}.visual-center span:last-child{font-size:1.125rem}@media (max-width: 1024px){.hero-container{grid-template-columns:1fr;gap:60px;text-align:center}.hero-content{max-width:100%}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center;flex-wrap:wrap}.hero-stats{justify-content:center}.hero-visual{height:400px;max-width:500px;margin:0 auto}}@media (max-width: 640px){.hero{padding:120px 0 60px}.hero-actions{flex-direction:column}.btn{width:100%;justify-content:center}.hero-stats{flex-direction:column;gap:20px}.stat-divider{width:60px;height:1px}.hero-visual{height:350px}.visual-card{padding:12px 16px;font-size:.875rem}.card-emoji{font-size:1.5rem}.visual-center{width:140px;height:140px}.center-icon{font-size:2rem}}.features{padding:120px 0;background:#fff;position:relative}.features:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,var(--cream-light),white)}.features-header{text-align:center;margin-bottom:80px;position:relative}.section-tag{display:inline-block;padding:8px 20px;background:var(--sage-light);color:var(--forest);font-weight:600;font-size:.875rem;border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:1px;margin-bottom:20px}.features-header h2{margin-bottom:20px}.features-header .highlight{color:var(--terracotta)}.section-subtitle{font-size:1.25rem;color:var(--text-muted);max-width:600px;margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.feature-card{padding:40px 32px;background:var(--cream-light);border-radius:var(--radius-xl);transition:all .4s ease;position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:0;transition:height .4s ease}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.feature-card:hover:before{height:100%}.feature-terracotta:before{background:var(--terracotta)}.feature-forest:before{background:var(--forest)}.feature-sage:before{background:var(--sage)}.feature-icon-wrapper{width:64px;height:64px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:transform .3s ease}.feature-card:hover .feature-icon-wrapper{transform:scale(1.1)}.feature-terracotta .feature-icon-wrapper{background:#e8a87c26}.feature-forest .feature-icon-wrapper{background:#2d5a4a1a}.feature-sage .feature-icon-wrapper{background:#8fb39a33}.feature-icon{width:28px;height:28px}.feature-terracotta .feature-icon{color:var(--terracotta)}.feature-forest .feature-icon{color:var(--forest)}.feature-sage .feature-icon{color:var(--sage)}.feature-card h3{margin-bottom:12px}.feature-card p{color:var(--text-muted);line-height:1.6}@media (max-width: 1024px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.features{padding:80px 0}.features-header{margin-bottom:48px}.features-grid{grid-template-columns:1fr;gap:24px}.feature-card{padding:32px 24px}}.resources{padding:120px 0;background:var(--forest);position:relative;overflow:hidden}.resources-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(ellipse at 20% 80%,rgba(143,179,154,.2) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(232,168,124,.15) 0%,transparent 50%)}.resources-content{position:relative}.resources-header{text-align:center;margin-bottom:60px}.resources .section-tag{background:#ffffff26;color:#fff}.resources h2{color:#fff;margin-bottom:20px}.resources .highlight{color:var(--terracotta)}.resources .section-subtitle{color:#fffc;margin-bottom:40px}.resources .btn-primary{background:var(--terracotta);color:#fff}.resources .btn-primary:hover{background:var(--terracotta-dark)}.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.resource-card{padding:32px;background:#fffffff2;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:all .4s ease;box-shadow:0 4px 16px #0000001a}.resource-card:hover{background:#fff;transform:translateY(-4px);border-color:#ffffff80;box-shadow:0 8px 24px #00000026}.resource-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.resource-icon-wrapper{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.resource-terracotta .resource-icon-wrapper{background:#e8a87c33}.resource-forest .resource-icon-wrapper{background:#b5d4be33}.resource-sage .resource-icon-wrapper{background:#8fb39a4d}.resource-icon{width:24px;height:24px}.resource-terracotta .resource-icon{color:var(--terracotta-dark)}.resource-forest .resource-icon{color:var(--forest)}.resource-sage .resource-icon{color:var(--forest-dark)}.resource-count{font-size:.875rem;color:var(--text-muted);font-weight:500}.resource-card h3{color:var(--forest-dark);margin-bottom:16px;font-size:1.25rem}.resource-items{list-style:none;margin-bottom:24px}.resource-items li{color:var(--text-dark);padding:8px 0;border-bottom:1px solid rgba(45,90,74,.1);font-size:.9375rem}.resource-items li:last-child{border-bottom:none}.resource-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9375rem;transition:all .3s ease;color:var(--forest)}.resource-terracotta .resource-link{color:var(--terracotta-dark)}.resource-forest .resource-link{color:var(--forest-dark)}.resource-sage .resource-link{color:var(--forest)}.resource-link:hover{gap:10px}@media (max-width: 1024px){.resources-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.resources{padding:80px 0}.resources-header{margin-bottom:40px}.resources-grid{grid-template-columns:1fr;gap:16px}.resource-card{padding:24px}}.testimonials{padding:120px 0;background:var(--cream-light)}.testimonials-header{text-align:center;margin-bottom:60px}.testimonials .highlight{color:var(--terracotta)}.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-bottom:80px}.testimonial-card{padding:40px 32px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);position:relative;transition:all .4s ease}.testimonial-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.testimonial-quote{position:absolute;top:-16px;right:32px;width:48px;height:48px;background:var(--sage-light);border-radius:50%;display:flex;align-items:center;justify-content:center}.quote-icon{width:24px;height:24px;color:var(--forest)}.testimonial-rating{display:flex;gap:4px;margin-bottom:20px}.star-icon{width:18px;height:18px;color:var(--terracotta);fill:var(--terracotta)}.testimonial-content{font-size:1.0625rem;color:var(--text-dark);line-height:1.7;margin-bottom:28px;font-style:italic}.testimonial-author{display:flex;align-items:center;gap:16px;padding-top:20px;border-top:1px solid var(--sage-light)}.author-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1rem}.author-info{display:flex;flex-direction:column}.author-name{font-weight:600;color:var(--forest-dark)}.author-role{font-size:.875rem;color:var(--text-muted)}.testimonials-stats{display:flex;justify-content:center;gap:80px}.stat-box{text-align:center}.stat-box .stat-number{display:block;font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--forest);line-height:1;margin-bottom:8px}.stat-box .stat-label{color:var(--text-muted);font-weight:500}@media (max-width: 1024px){.testimonials-grid{grid-template-columns:repeat(2,1fr)}.testimonials-stats{gap:40px}}@media (max-width: 640px){.testimonials{padding:80px 0}.testimonials-grid{grid-template-columns:1fr;gap:48px;margin-bottom:60px}.testimonial-card{padding:32px 24px}.testimonials-stats{flex-direction:column;gap:32px}.stat-box .stat-number{font-size:2.5rem}}.cta{padding:120px 0;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);position:relative;overflow:hidden}.cta-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 10% 20%,rgba(232,168,124,.1) 0%,transparent 30%),radial-gradient(circle at 90% 80%,rgba(143,179,154,.15) 0%,transparent 30%)}.cta-content{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.cta-text h2{color:#fff;font-size:clamp(2rem,3vw + .5rem,2.75rem);margin-bottom:20px}.cta-text p{color:#fffc;font-size:1.125rem;margin-bottom:32px}.cta-benefits{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cta-benefits li{display:flex;align-items:center;gap:10px;color:#ffffffe6;font-weight:500}.check-icon{width:20px;height:20px;color:var(--sage-light);flex-shrink:0}.cta-form-wrapper{display:flex;justify-content:flex-end}.cta-card{width:100%;max-width:400px;padding:40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);text-align:center}.cta-card h3{margin-bottom:12px;font-size:1.5rem}.cta-card>p{color:var(--text-muted);margin-bottom:28px;font-size:.9375rem}.cta-features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:28px}.cta-feature{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;background:var(--cream-light);border-radius:var(--radius-md)}.feature-icon{font-size:1.5rem}.cta-feature span:last-child{font-size:.8125rem;font-weight:600;color:var(--forest-dark)}.cta-submit{width:100%;padding:18px 32px;background:var(--terracotta);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.125rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;cursor:pointer;font-family:var(--font-body)}.cta-submit:hover{background:var(--terracotta-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.cta-submit .btn-icon{width:20px;height:20px;transition:transform .3s ease}.cta-submit:hover .btn-icon{transform:translate(4px)}.form-disclaimer{text-align:center;font-size:.8125rem;color:var(--text-muted);margin-top:16px;line-height:1.5}@media (max-width: 1024px){.cta-content{grid-template-columns:1fr;gap:60px;text-align:center}.cta-benefits,.cta-form-wrapper{justify-content:center}}@media (max-width: 640px){.cta{padding:80px 0}.cta-benefits{grid-template-columns:1fr;text-align:left;max-width:280px;margin:0 auto}.cta-card{padding:32px 24px}.cta-features{grid-template-columns:1fr}}.footer{padding:80px 0 40px;background:var(--forest-dark)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px}.footer-brand{max-width:320px}.footer-logo{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.375rem;font-weight:600;color:#fff;margin-bottom:20px}.footer-logo:hover{color:#fff}.footer-logo .logo-icon{width:28px;height:28px;color:var(--terracotta)}.footer-logo .logo-home{color:var(--terracotta)}.footer-brand p{color:#ffffffb3;line-height:1.7;margin-bottom:24px}.footer-contact{display:flex;flex-direction:column;gap:12px}.footer-contact a,.footer-contact span{display:flex;align-items:center;gap:10px;color:#ffffffb3;font-size:.9375rem;transition:color .3s ease}.footer-contact a:hover{color:var(--terracotta)}.footer-links h4{color:#fff;font-size:1rem;font-weight:600;margin-bottom:24px;font-family:var(--font-body)}.footer-links ul{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a,.footer-link-btn{color:#ffffffb3;font-size:.9375rem;transition:all .3s ease;background:none;border:none;padding:0;cursor:pointer;text-align:left}.footer-links a:hover,.footer-link-btn:hover{color:var(--terracotta);padding-left:4px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding-top:40px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:#ffffff80;font-size:.875rem}.footer-legal{display:flex;gap:32px}.footer-legal a{color:#ffffff80;font-size:.875rem;transition:color .3s ease}.footer-legal a:hover{color:var(--terracotta)}.footer-social{display:flex;gap:16px}.social-link{width:40px;height:40px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fffc;transition:all .3s ease}.social-link:hover{background:var(--terracotta);color:#fff;transform:translateY(-3px)}.social-link svg{width:18px;height:18px}@media (max-width: 1024px){.footer-grid{grid-template-columns:1fr 1fr;gap:48px}.footer-brand{grid-column:1 / -1;max-width:100%}}@media (max-width: 640px){.footer{padding:60px 0 32px}.footer-grid{grid-template-columns:1fr;gap:40px}.footer-bottom{flex-direction:column;text-align:center;gap:20px}.footer-legal{flex-wrap:wrap;justify-content:center;gap:16px}.footer-social{justify-content:center}}.ad-banner{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--sage-light)}.ad-content{padding:20px 24px;background:linear-gradient(135deg,rgba(var(--ad-color-rgb, 232, 168, 124),.08),#fff);border-left:4px solid var(--ad-color, var(--terracotta))}.ad-label{display:inline-block;font-size:.6875rem;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:12px;font-weight:600}.ad-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.ad-text h4{font-size:1.125rem;color:var(--forest-dark);margin-bottom:4px;font-family:var(--font-body)}.ad-text p{color:var(--text-muted);font-size:.9375rem;margin-bottom:6px}.ad-sponsor{font-size:.75rem;color:var(--text-muted);opacity:.8}.ad-cta{padding:10px 20px;background:var(--ad-color, var(--terracotta));color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;white-space:nowrap;transition:all .3s ease}.ad-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.ad-remove{display:block;width:100%;padding:10px;background:var(--cream-light);color:var(--forest);font-size:.8125rem;font-weight:600;text-align:center;transition:all .3s ease;border-top:1px solid var(--sage-light)}.ad-remove:hover{background:var(--sage-light);color:var(--forest-dark)}.ad-vertical .ad-main{flex-direction:column;align-items:flex-start}.ad-vertical .ad-cta{width:100%;text-align:center;margin-top:8px}.ad-sidebar{margin-bottom:24px}.ad-sidebar .ad-content{padding:16px 20px}.ad-sidebar .ad-text h4{font-size:1rem}.ad-sidebar .ad-text p{font-size:.875rem}.ad-inline{margin:24px 0}@media (max-width: 640px){.ad-main{flex-direction:column;align-items:flex-start}.ad-cta{width:100%;text-align:center;margin-top:12px}}.badges-page{max-width:1000px}.badges-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.badges-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.badges-header p{color:var(--text-muted)}.total-badges{display:flex;align-items:center;gap:10px;padding:16px 24px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);color:#fff;border-radius:var(--radius-lg);font-weight:700;font-size:1.125rem}.total-badges svg{color:gold}.badges-ad{margin-bottom:32px}.badge-legend{background:#fff;border-radius:var(--radius-xl);padding:28px;margin-bottom:32px;box-shadow:var(--shadow-sm)}.badge-legend h3{color:var(--forest-dark);margin-bottom:20px;font-size:1.125rem}.legend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legend-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--cream-light);border-radius:var(--radius-md)}.legend-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.legend-info{display:flex;flex-direction:column}.legend-name{font-weight:600;color:var(--forest-dark);font-size:.875rem}.legend-desc{font-size:.75rem;color:var(--text-muted)}.children-badges{display:flex;flex-direction:column;gap:24px}.child-badges-card{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm)}.child-badges-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--sage-light)}.child-badges-header .child-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem}.child-badges-header .child-info h3{font-size:1.25rem;color:var(--forest-dark);margin-bottom:4px}.child-badges-header .child-info p{color:var(--text-muted);font-size:.9375rem}.special-badges-section{margin-bottom:28px}.special-badges-section h4,.subject-badges-section h4,.upcoming-badges h4{font-size:.9375rem;color:var(--text-muted);margin-bottom:16px;font-weight:600}.badges-row{display:flex;flex-wrap:wrap;gap:16px}.badge-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;background:linear-gradient(135deg,rgba(var(--badge-color-rgb, 45, 90, 74),.08),#fff);border:2px solid var(--badge-color, var(--forest));border-radius:var(--radius-lg);min-width:140px;transition:all .3s ease}.badge-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.badge-item.special{background:linear-gradient(135deg,#fefce8,#fff)}.badge-icon{width:56px;height:56px;background:var(--badge-color, var(--forest));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px;box-shadow:0 4px 12px #00000026}.badge-name{font-weight:700;color:var(--forest-dark);font-size:.9375rem;margin-bottom:4px}.badge-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.subject-badges-section{margin-bottom:28px}.subject-badge-row{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--cream-light);border-radius:var(--radius-md);margin-bottom:10px}.subject-badge-row:last-child{margin-bottom:0}.subject-badge-row .subject-info{display:flex;align-items:center;gap:12px}.subject-badge-row .subject-color{width:10px;height:10px;border-radius:50%}.subject-badge-row .subject-name{font-weight:600;color:var(--forest-dark);min-width:150px}.subject-badge-row .subject-progress{font-size:.8125rem;color:var(--text-muted)}.earned-badges{display:flex;gap:6px}.mini-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;cursor:help;transition:transform .2s ease}.mini-badge:hover{transform:scale(1.2)}.no-badges-yet{text-align:center;padding:32px;color:var(--text-muted);background:var(--cream-light);border-radius:var(--radius-md)}.upcoming-badges{padding-top:20px;border-top:1px solid var(--sage-light)}.upcoming-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upcoming-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--cream-light);border-radius:var(--radius-md)}.upcoming-badge{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.upcoming-badge.locked{background:#0000001a;color:var(--text-muted);border:2px dashed var(--badge-color, var(--sage))}.upcoming-info{display:flex;flex-direction:column;min-width:0}.upcoming-subject{font-weight:600;font-size:.8125rem;color:var(--forest-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upcoming-goal{font-size:.75rem;color:var(--text-muted)}.badges-empty{display:flex;align-items:center;justify-content:center;min-height:60vh}@media (max-width: 1024px){.legend-grid{grid-template-columns:repeat(2,1fr)}.upcoming-grid{grid-template-columns:1fr}}@media (max-width: 768px){.badges-header{flex-direction:column;gap:16px}.total-badges{width:100%;justify-content:center}.legend-grid{grid-template-columns:1fr}.badges-row{flex-direction:column}.badge-item{width:100%}.subject-badge-row{flex-direction:column;align-items:flex-start;gap:12px}.earned-badges{width:100%;justify-content:flex-start}}.dashboard-empty{display:flex;align-items:center;justify-content:center;min-height:60vh}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.dashboard-header p{color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:32px}.stat-card{background:#fff;border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card-clickable{cursor:pointer}.stat-card-clickable:hover{border:2px solid var(--terracotta)}.stat-icon{width:56px;height:56px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--forest-dark);line-height:1}.stat-label{font-size:.875rem;color:var(--text-muted);margin-top:4px}.children-progress{display:grid;gap:24px}.child-card{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm)}.child-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.child-avatar{width:56px;height:56px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.5rem}.child-info h3{font-size:1.25rem;color:var(--forest-dark);margin-bottom:4px}.child-info p{color:var(--text-muted);font-size:.9375rem}.child-badges-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border-radius:var(--radius-lg);font-weight:700;font-size:.875rem;margin-left:auto;transition:all .3s ease}.child-badges-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #d9a7004d}.child-overall-progress{margin-bottom:24px}.child-overall-progress .progress-bar{height:10px}.subjects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px}.subject-item{padding:12px 16px;background:var(--cream-light);border-radius:var(--radius-md)}.subject-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.subject-color{width:10px;height:10px;border-radius:50%}.subject-name{flex:1;font-weight:500;font-size:.875rem;color:var(--text-dark)}.subject-badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;cursor:help;transition:transform .2s ease}.subject-badge:hover{transform:scale(1.2)}.subject-hours{font-size:.8125rem;color:var(--text-muted);font-weight:500}.child-log-btn{width:100%}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stats-grid,.subjects-grid{grid-template-columns:1fr}.child-card{padding:20px}}.add-child-form{display:flex;flex-direction:column;gap:16px}.add-child-form .form-row{display:flex;gap:16px}.add-child-form .form-group label{display:flex;align-items:center;font-weight:600;color:var(--forest-dark);margin-bottom:8px;font-size:.875rem}.state-hours-option{padding:16px 20px;background:var(--cream-light);border-radius:var(--radius-md);border:2px solid var(--sage-light)}.state-hours-option.locked{border-style:dashed}.checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.checkbox-label input{display:none}.checkbox-custom{width:22px;height:22px;border:2px solid var(--sage);border-radius:6px;flex-shrink:0;margin-top:2px;position:relative;transition:all .2s ease}.checkbox-label input:checked+.checkbox-custom{background:var(--forest);border-color:var(--forest)}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:12px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label span:not(.checkbox-custom){flex:1}.checkbox-label strong{display:block;color:var(--forest-dark);margin-bottom:2px}.checkbox-label small{color:var(--text-muted);font-size:.8125rem}.checkbox-label .premium-icon{color:var(--terracotta)}.premium-upsell{display:flex;align-items:center;justify-content:space-between;gap:16px}.upsell-content{display:flex;align-items:flex-start;gap:12px}.upsell-content svg{color:var(--terracotta);flex-shrink:0;margin-top:2px}.upsell-content strong{display:block;color:var(--forest-dark);margin-bottom:2px}.upsell-content p{color:var(--text-muted);font-size:.8125rem;margin:0}.preview-hours{padding:16px 20px;background:#dcfce7;border-radius:var(--radius-md)}.preview-hours h4{color:#166534;font-size:.875rem;margin-bottom:12px}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.preview-item{display:flex;justify-content:space-between;padding:8px 12px;background:#fff;border-radius:var(--radius-sm);font-size:.8125rem}.preview-item span:first-child{color:var(--text-dark)}.preview-item span:last-child{font-weight:600;color:var(--forest)}.children-list{display:flex;flex-direction:column;gap:16px}.child-section{padding:24px}.child-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.child-name-row{display:flex;align-items:center;gap:12px}.child-avatar-sm{width:44px;height:44px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.125rem}.child-name-info{display:flex;flex-direction:column;gap:4px;flex:1}.child-name-row h3{font-size:1.125rem;color:var(--forest-dark);margin-bottom:4px}.child-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.child-meta-item{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-muted)}.child-meta-item svg{color:var(--sage)}.child-state-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--sage-light);color:var(--forest);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600}.subject-count{padding:4px 12px;background:var(--sage-light);border-radius:var(--radius-lg);font-size:.8125rem;color:var(--forest);font-weight:500}.child-actions{display:flex;gap:8px}.child-actions .btn-icon-only{display:flex;align-items:center;gap:2px}.edit-child-form{display:flex;flex-direction:column;gap:12px;flex:1;padding:16px;background:var(--cream-light);border-radius:var(--radius-md)}.edit-child-form .form-row{display:flex;gap:12px}.edit-child-form .form-input,.edit-child-form .form-select{flex:1;padding:10px 14px;font-size:.9375rem}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.subjects-manager{margin-top:24px;padding-top:24px;border-top:1px solid var(--sage-light)}.subjects-manager h4{color:var(--forest-dark);margin-bottom:16px}.no-subjects-notice{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--cream-light);border-left:4px solid var(--sage);border-radius:var(--radius-md);margin-bottom:20px}.no-subjects-notice svg{color:var(--sage);flex-shrink:0;margin-top:2px}.no-subjects-notice p{margin:0;color:var(--text-dark);font-size:.875rem;line-height:1.5}.subjects-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.subject-row{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--cream-light);border-radius:var(--radius-md)}.subject-info{display:flex;align-items:center;gap:12px;flex:1}.subject-info .subject-color{width:12px;height:12px;border-radius:50%;flex-shrink:0}.subject-info .subject-name{font-weight:600;color:var(--text-dark);min-width:150px}.subject-info .subject-required{color:var(--text-muted);font-size:.875rem}.subject-info .subject-logged{color:var(--forest);font-size:.875rem;font-weight:500;margin-left:auto;padding-right:16px}.subject-reminder-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--cream-dark);color:var(--forest);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;margin-left:8px}.reminder-select{min-width:150px;font-size:.875rem}.subject-actions{display:flex;gap:8px}.edit-subject-form{display:flex;align-items:center;gap:12px;flex:1;flex-wrap:wrap}.edit-subject-form .form-input{flex:1;min-width:150px}.edit-subject-form .hours-input{max-width:100px;flex:0}.color-picker-inline{display:flex;gap:6px}.add-subject-form{padding:20px;background:var(--cream-light);border-radius:var(--radius-lg)}.add-subject-form h5{color:var(--forest-dark);margin-bottom:16px;font-size:.9375rem}.color-picker{display:flex;align-items:center;gap:8px;margin-bottom:16px}.color-picker span{font-size:.875rem;color:var(--text-muted);margin-right:4px}.color-option{width:28px;height:28px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.15)}.color-option.active{border-color:var(--forest-dark);transform:scale(1.15)}.tracking-prompt-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.tracking-prompt-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:500px;box-shadow:0 10px 40px #0003;overflow:hidden}.tracking-prompt-header{display:flex;align-items:center;gap:12px;padding:24px;background:var(--cream-light);border-bottom:1px solid var(--sage-light)}.tracking-prompt-header .prompt-icon{color:var(--terracotta)}.tracking-prompt-header h3{margin:0;color:var(--forest-dark);font-size:1.25rem}.tracking-prompt-body{padding:24px}.tracking-prompt-body p{margin:0 0 16px;color:var(--text-dark);line-height:1.6}.tracking-prompt-body p:last-of-type{margin-bottom:24px}.tracking-options{display:flex;flex-direction:column;gap:12px}.tracking-option{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid var(--sage-light);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.tracking-option:hover{border-color:var(--forest);background:var(--cream-light)}.tracking-option input[type=radio]{display:none}.radio-custom{width:20px;height:20px;border:2px solid var(--sage);border-radius:50%;position:relative;flex-shrink:0;margin-top:2px;transition:all .2s ease}.tracking-option input[type=radio]:checked+.radio-custom{border-color:var(--forest);background:var(--forest)}.tracking-option input[type=radio]:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:50%}.tracking-option div{flex:1}.tracking-option strong{display:block;color:var(--forest-dark);margin-bottom:4px;font-size:.9375rem}.tracking-option small{display:block;color:var(--text-muted);font-size:.8125rem}.tracking-prompt-actions{display:flex;gap:12px;padding:20px 24px;background:var(--cream-light);border-top:1px solid var(--sage-light)}.tracking-prompt-actions .btn-tracker{flex:1}@media (max-width: 768px){.add-child-form{flex-direction:column}.child-row{flex-direction:column;align-items:flex-start;gap:12px}.child-actions{width:100%;justify-content:flex-end}.subject-row{flex-direction:column;align-items:flex-start;gap:12px}.subject-info{flex-wrap:wrap}.subject-info .subject-logged{margin-left:22px;padding-right:0}.subject-actions{width:100%;justify-content:flex-end}.edit-subject-form{flex-direction:column}.edit-subject-form .form-input,.edit-subject-form .hours-input{max-width:100%;width:100%}}.log-form{max-width:700px}.children-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.select-actions{display:flex;gap:8px}.select-all-btn,.deselect-all-btn{padding:6px 12px;font-size:.8125rem;font-weight:500;border:1px solid var(--sage);background:#fff;color:var(--forest);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.select-all-btn:hover:not(:disabled),.deselect-all-btn:hover:not(:disabled){background:var(--sage-light);border-color:var(--forest)}.select-all-btn:disabled,.deselect-all-btn:disabled{opacity:.5;cursor:not-allowed}.children-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;padding:16px;background:var(--cream-light);border-radius:var(--radius-md);border:2px solid var(--sage-light)}.child-checkbox-label{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.child-checkbox-label:hover{background:var(--sage-light);transform:translate(2px)}.child-checkbox-label input[type=checkbox]{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid var(--sage);border-radius:var(--radius-sm);background:#fff;position:relative;flex-shrink:0;transition:all .2s ease}.child-checkbox-label input[type=checkbox]:checked+.checkbox-custom{background:var(--forest);border-color:var(--forest)}.child-checkbox-label input[type=checkbox]:checked+.checkbox-custom:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:14px;font-weight:700}.child-name{flex:1;font-weight:500;color:var(--text-dark)}.child-grade{font-size:.75rem;color:var(--text-muted);padding:2px 8px;background:var(--cream-dark);border-radius:var(--radius-sm)}.form-hint{margin-top:8px;font-size:.8125rem;color:var(--text-muted);font-style:italic}.success-message{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#dcfce7;color:#166534;border-radius:var(--radius-md);margin-bottom:24px;font-weight:600}.subject-preview{max-width:700px}.preview-header h3{color:var(--forest-dark);margin-bottom:8px}.preview-subtitle{color:var(--text-muted);font-size:.875rem;margin-bottom:20px}.preview-content{text-align:center}.preview-subject{display:inline-flex;align-items:center;gap:10px;padding:8px 20px;background:var(--cream-light);border-radius:var(--radius-lg);margin-bottom:24px}.preview-subject .subject-color{width:12px;height:12px;border-radius:50%}.preview-subject .subject-name{font-weight:600;color:var(--forest-dark)}.preview-stats{display:flex;justify-content:center;gap:48px;margin-bottom:24px}.preview-stat{text-align:center}.preview-stat .stat-value{display:block;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--forest);line-height:1}.preview-stat .stat-label{font-size:.8125rem;color:var(--text-muted);margin-top:4px}.progress-text{margin-top:12px;font-weight:600;color:var(--forest)}.multi-child-preview{display:flex;flex-direction:column;gap:20px}.child-progress-item{padding:16px;background:var(--cream-light);border-radius:var(--radius-md);border:1px solid var(--sage-light)}.child-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.child-progress-name{font-weight:600;color:var(--forest-dark);font-size:.9375rem}.child-progress-percent{font-weight:700;color:var(--forest);font-size:1rem}.child-progress-stats{margin-top:8px;font-size:.8125rem;color:var(--text-muted)}.quick-log{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm)}.quick-log>h3{color:var(--forest-dark);margin-bottom:8px}.quick-log>p{color:var(--text-muted);margin-bottom:24px}.quick-log-grid{display:grid;gap:24px}.quick-log-child h4{color:var(--forest-dark);font-size:1rem;margin-bottom:12px;padding-left:4px}.quick-log-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.quick-log-btn{display:flex;align-items:center;gap:10px;padding:14px 16px;background:var(--cream-light);border-radius:var(--radius-md);transition:all .3s ease;text-align:left}.quick-log-btn:hover{background:var(--sage-light);transform:translate(4px)}.quick-log-btn .subject-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.quick-log-btn .subject-name{flex:1;font-weight:500;color:var(--text-dark);font-size:.9375rem}.quick-log-btn .subject-progress{font-size:.8125rem;color:var(--text-muted);font-weight:600}@media (max-width: 768px){.preview-stats{flex-direction:column;gap:20px}.quick-log-subjects{grid-template-columns:1fr}}.log-count{padding:6px 14px;background:var(--sage-light);border-radius:var(--radius-lg);font-size:.8125rem;color:var(--forest);font-weight:600}.filters{display:flex;align-items:center;gap:12px;color:var(--text-muted)}.filter-select{max-width:200px}.history-timeline{display:flex;flex-direction:column;gap:24px}.history-day{background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.day-header{display:flex;align-items:center;gap:10px;padding:16px 24px;background:var(--cream-light);font-weight:600;color:var(--forest-dark)}.day-total{margin-left:auto;color:var(--forest);font-size:.875rem}.day-logs{padding:8px}.log-entry{display:flex;align-items:flex-start;gap:16px;padding:16px;border-radius:var(--radius-md);transition:background .2s ease}.log-entry:hover{background:var(--cream-light)}.log-color{width:8px;height:8px;border-radius:50%;margin-top:8px;flex-shrink:0}.log-details{flex:1;min-width:0}.log-main{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.log-child{font-weight:600;color:var(--forest-dark)}.log-separator{color:var(--sage)}.log-subject{color:var(--text-muted)}.log-notes{margin-top:6px;font-size:.875rem;color:var(--text-muted);line-height:1.5}.log-hours{font-weight:700;color:var(--forest);font-size:1rem;white-space:nowrap}.btn-delete{opacity:0;transition:opacity .2s ease}.log-entry:hover .btn-delete{opacity:1}.history-summary{display:flex;gap:20px;margin-top:24px}.summary-card{flex:1;padding:24px;background:#fff;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm)}.summary-value{display:block;font-family:var(--font-display);font-size:1.75rem;font-weight:700;color:var(--forest);line-height:1}.summary-label{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:6px}@media (max-width: 768px){.filters{flex-direction:column;align-items:stretch}.filter-select{max-width:100%}.log-entry{flex-wrap:wrap}.log-hours{margin-left:24px}.btn-delete{opacity:1}.history-summary{flex-direction:column}}.grades-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.grades-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.grades-header p{color:var(--text-muted)}.premium-gate{max-width:500px;margin:80px auto;text-align:center;padding:48px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.gate-icon{width:100px;height:100px;background:var(--cream-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--terracotta)}.premium-gate h2{color:var(--forest-dark);margin-bottom:12px}.premium-gate>p{color:var(--text-muted);margin-bottom:24px}.premium-gate ul{list-style:none;text-align:left;margin-bottom:32px}.premium-gate li{display:flex;align-items:center;gap:12px;padding:12px 0;color:var(--text-dark);border-bottom:1px solid var(--sage-light)}.premium-gate li svg{color:var(--forest)}.settings-panel{background:#fff;border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.settings-panel h3{font-size:1.125rem;color:var(--forest-dark);margin-bottom:20px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.selector-section{background:#fff;border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;box-shadow:var(--shadow-sm)}.selector-row{display:flex;align-items:flex-end;gap:20px}.selector-row .form-group{flex:1;max-width:250px}.selector-row .btn-primary{margin-left:auto}.grades .empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.grades .empty-state svg{color:var(--sage-light);margin-bottom:20px}.grades .empty-state h3{color:var(--forest-dark);margin-bottom:8px}.grades .empty-state p{color:var(--text-muted)}.grades-summary{display:flex;gap:32px;padding:20px 24px;background:#fff;border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:var(--shadow-sm)}.summary-item{display:flex;flex-direction:column}.summary-label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.summary-value{font-weight:700;color:var(--forest-dark);font-size:1.125rem}.summary-item.gpa{margin-left:auto;padding:12px 24px;background:var(--forest);border-radius:var(--radius-md)}.summary-item.gpa .summary-label{color:#fffc}.summary-item.gpa .summary-value{color:#fff;font-size:1.5rem}.subjects-grades{display:flex;flex-direction:column;gap:12px}.subject-grade-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.subject-grade-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;cursor:pointer;transition:background .2s ease}.subject-grade-header:hover{background:var(--cream-light)}.subject-grade-header .subject-info{display:flex;align-items:center;gap:12px}.subject-grade-header .subject-color{width:12px;height:12px;border-radius:50%}.subject-grade-header .subject-name{font-weight:600;color:var(--forest-dark)}.subject-grade-header .subject-hours{font-size:.8125rem;color:var(--text-muted);margin-left:8px}.grade-input-wrapper{display:flex;align-items:center;gap:12px}.grade-select,.grade-input{width:100px;padding:10px 14px;border:2px solid var(--sage-light);border-radius:var(--radius-md);font-size:1rem;font-weight:700;text-align:center;color:var(--forest-dark);background:#fff;transition:all .2s ease}.grade-select:focus,.grade-input:focus{outline:none;border-color:var(--forest)}.expand-btn{padding:8px;color:var(--text-muted);transition:color .2s ease}.expand-btn:hover{color:var(--forest)}.subject-grade-details{padding:20px;background:var(--cream-light);border-top:1px solid var(--sage-light)}.subject-grade-details .form-group{margin-bottom:20px}.subject-grade-details .form-group:last-child{margin-bottom:0}.work-samples-section{padding:16px;background:#fff;border-radius:var(--radius-md)}.samples-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.samples-header h4{display:flex;align-items:center;gap:8px;font-size:.9375rem;color:var(--forest-dark)}.upload-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--forest);color:#fff;border-radius:var(--radius-md);font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .3s ease}.upload-btn:hover{background:var(--forest-dark)}.samples-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.sample-item{background:var(--cream-light);border-radius:var(--radius-md);overflow:hidden}.sample-item img{width:100%;height:120px;object-fit:cover}.sample-info{display:flex;align-items:center;justify-content:space-between;padding:8px 12px}.sample-name{font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.delete-sample{padding:4px;color:var(--text-muted);transition:color .2s ease}.delete-sample:hover{color:#dc2626}.no-samples{color:var(--text-muted);font-size:.875rem;font-style:italic;text-align:center;padding:20px}.report-card-modal{width:100%;max-width:850px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.modal-actions{display:flex;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--sage-light);position:sticky;top:0;background:#fff;z-index:10}.report-card{padding:40px}.report-header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:24px;border-bottom:3px solid var(--forest);margin-bottom:24px}.school-info h1{font-size:1.75rem;color:var(--forest);margin-bottom:4px}.school-info p{color:var(--text-muted);font-size:1rem}.report-meta{text-align:right}.report-meta p{margin:4px 0;font-size:.9375rem;color:var(--text-dark)}.student-info-section{margin-bottom:32px}.student-info-section h2{font-size:1.5rem;color:var(--forest-dark);margin-bottom:4px}.student-info-section p{color:var(--text-muted)}.grades-table{width:100%;border-collapse:collapse;margin-bottom:24px}.grades-table th,.grades-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--sage-light)}.grades-table th{background:var(--forest);color:#fff;font-weight:600;font-size:.875rem}.grades-table th:first-child{border-radius:var(--radius-md) 0 0 0}.grades-table th:last-child{border-radius:0 var(--radius-md) 0 0}.grades-table td{font-size:.9375rem}.grades-table .grade-cell{font-weight:700;color:var(--forest);text-align:center;width:80px}.grades-table .notes-cell{font-size:.8125rem;color:var(--text-muted);max-width:250px}.grades-table tr:hover{background:var(--cream-light)}.gpa-section{padding:16px 20px;background:var(--cream-light);border-radius:var(--radius-md);text-align:right;font-size:1.125rem;margin-bottom:32px}.gpa-section strong{color:var(--forest)}.report-footer{display:flex;gap:40px;margin-top:48px;padding-top:24px}.signature-line{flex:1}.signature-line span{font-size:.8125rem;color:var(--text-muted)}.signature-line .line{border-bottom:1px solid var(--text-dark);margin-top:40px}.signature-line .line.short{max-width:150px}.report-disclaimer{margin-top:32px;font-size:.75rem;color:var(--text-muted);text-align:center}@media print{.no-print{display:none!important}.report-card-modal{max-height:none;box-shadow:none;border-radius:0}.report-card{padding:20px}.grades-table th{background:var(--forest)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}@media (max-width: 1024px){.settings-grid{grid-template-columns:1fr}.selector-row{flex-wrap:wrap}.selector-row .form-group{max-width:100%}.selector-row .btn-primary{width:100%;margin-left:0;margin-top:12px}.grades-summary{flex-wrap:wrap;gap:20px}.summary-item.gpa{margin-left:0;width:100%;text-align:center}}@media (max-width: 768px){.grades-header{flex-direction:column;gap:16px}.grades-summary{flex-direction:column}.subject-grade-header{flex-direction:column;align-items:flex-start;gap:12px}.grade-input-wrapper{width:100%;justify-content:space-between}.report-card{padding:20px}.report-header{flex-direction:column;gap:16px}.report-meta{text-align:left}.report-footer{flex-direction:column;gap:24px}}.read-alouds{max-width:1100px}.read-alouds-header{margin-bottom:32px}.read-alouds-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.read-alouds-header p{color:var(--text-muted)}.read-alouds-ad{margin-bottom:32px}.tracking-section{background:#fff;border-radius:var(--radius-xl);padding:24px;margin-bottom:32px;box-shadow:var(--shadow-sm)}.tracking-section.locked{border:2px dashed var(--sage-light)}.tracking-header{margin-bottom:20px}.tracking-header h3{display:flex;align-items:center;gap:10px;font-size:1.125rem;color:var(--forest-dark)}.tracking-header .premium-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--terracotta);color:#fff;border-radius:var(--radius-lg);font-size:.6875rem;font-weight:600;margin-left:8px}.child-selector{display:flex;align-items:center;gap:12px;margin-bottom:20px}.no-children{color:var(--text-muted);font-style:italic}.reading-stats{display:flex;gap:24px;padding:20px;background:var(--cream-light);border-radius:var(--radius-lg);margin-bottom:20px}.stat-item{display:flex;align-items:center;gap:10px}.stat-item .stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--forest-dark)}.stat-item .stat-label{font-size:.8125rem;color:var(--text-muted)}.add-book-btn{width:auto}.premium-upsell-box{display:flex;align-items:center;gap:20px;padding:24px;background:linear-gradient(135deg,var(--cream-light) 0%,rgba(232,168,124,.1) 100%);border-radius:var(--radius-lg)}.premium-upsell-box svg{color:var(--terracotta);flex-shrink:0}.premium-upsell-box h4{color:var(--forest-dark);margin-bottom:4px}.premium-upsell-box p{color:var(--text-muted);font-size:.9375rem;margin:0}.premium-upsell-box .btn-primary{margin-left:auto;white-space:nowrap}.filters-section{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:32px;color:var(--text-muted)}.filters-section .form-select{max-width:180px}.age-groups-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.age-group-card{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm);transition:all .3s ease}.age-group-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.age-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.age-group-header h3{font-size:1.125rem;color:var(--forest-dark)}.age-range{padding:4px 10px;background:var(--sage-light);color:var(--forest);border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.age-group-desc{color:var(--text-muted);font-size:.875rem;margin-bottom:16px}.book-preview-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.book-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--cream-light);border-radius:var(--radius-md);font-size:.8125rem;color:var(--text-dark)}.book-preview svg{color:var(--sage);flex-shrink:0}.book-preview span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.view-all-btn{width:100%;padding:12px;background:var(--forest);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;transition:all .3s ease}.view-all-btn:hover{background:var(--forest-dark)}.books-list{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--sage-light);color:var(--text-muted);font-size:.9375rem}.clear-filter{color:var(--terracotta);font-weight:600;font-size:.875rem}.clear-filter:hover{text-decoration:underline}.no-books{text-align:center;padding:60px 20px;color:var(--text-muted)}.no-books svg{color:var(--sage-light);margin-bottom:16px}.no-books h3{color:var(--forest-dark);margin-bottom:8px}.books-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.book-card{position:relative;display:flex;gap:16px;padding:20px;background:var(--cream-light);border-radius:var(--radius-lg);border:2px solid transparent;transition:all .3s ease}.book-card:hover{border-color:var(--sage-light)}.book-card.has-status{border-color:var(--sage)}.book-card.status-want{border-left:4px solid #E8A87C}.book-card.status-reading{border-left:4px solid #2D5A4A}.book-card.status-completed{border-left:4px solid #8FB39A;background:#8fb39a1a}.custom-badge{position:absolute;top:8px;right:8px;padding:2px 8px;background:var(--terracotta);color:#fff;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;text-transform:uppercase}.book-icon{width:56px;height:56px;background:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--forest);flex-shrink:0}.book-content{flex:1;min-width:0}.book-content h4{font-size:1rem;color:var(--forest-dark);margin-bottom:4px;line-height:1.3}.book-author{font-size:.8125rem;color:var(--sage);margin-bottom:8px}.book-desc{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.book-meta{display:flex;gap:8px}.book-age,.book-genre{padding:4px 10px;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600}.book-age{background:var(--sage-light);color:var(--forest)}.book-genre{background:#e8a87c26;color:var(--terracotta)}.book-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;justify-content:center;min-width:100px}.add-to-list-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--forest);color:#fff;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;transition:all .3s ease;white-space:nowrap}.add-to-list-btn:hover{background:var(--forest-dark)}.status-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.current-status{font-size:.75rem;font-weight:600}.status-buttons{display:flex;gap:4px}.status-btn{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--text-muted);border:2px solid var(--sage-light);transition:all .2s ease}.status-btn:hover{border-color:var(--status-color, var(--forest));color:var(--status-color, var(--forest))}.status-btn.active{background:var(--status-color, var(--forest));border-color:var(--status-color, var(--forest));color:#fff}.status-btn.remove{background:#fee2e2;border-color:#fecaca;color:#dc2626}.status-btn.remove:hover{background:#fecaca}.delete-custom-btn{padding:6px;color:var(--text-muted);transition:color .2s ease}.delete-custom-btn:hover{color:#dc2626}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.add-book-modal{width:100%;max-width:480px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--sage-light)}.modal-header h3{font-size:1.25rem;color:var(--forest-dark)}.close-btn{padding:8px;color:var(--text-muted);transition:color .2s ease}.close-btn:hover{color:var(--forest-dark)}.modal-body{padding:24px}.modal-body .form-row{display:flex;gap:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid var(--sage-light)}@media (max-width: 1024px){.age-groups-grid{grid-template-columns:repeat(2,1fr)}.books-grid{grid-template-columns:1fr}}@media (max-width: 768px){.age-groups-grid{grid-template-columns:1fr}.filters-section{flex-wrap:wrap}.search-input{max-width:100%;order:2;flex-basis:100%}.filters-section .form-select{flex:1;max-width:none}.reading-stats{flex-wrap:wrap;gap:16px}.premium-upsell-box{flex-direction:column;text-align:center}.premium-upsell-box .btn-primary{margin-left:0;width:100%}.book-card{flex-direction:column}.book-icon{width:48px;height:48px}.book-actions{flex-direction:row;align-items:center;width:100%;padding-top:12px;border-top:1px solid var(--sage-light);margin-top:4px}}.outdoor-hours{max-width:1000px}.outdoor-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.outdoor-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.outdoor-header p{color:var(--text-muted)}.outdoor-ad{margin-bottom:32px}.outdoor-stats{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.stat-card.total{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);color:#fff}.stat-card.total svg{color:#fbbf24}.stat-card svg{color:var(--sage)}.stat-info{display:flex;flex-direction:column}.stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1}.stat-card:not(.total) .stat-value{color:var(--forest-dark)}.stat-label{font-size:.8125rem;margin-top:4px}.stat-card:not(.total) .stat-label{color:var(--text-muted)}.stat-card.total .stat-label{opacity:.9}.activity-breakdown{background:#fff;border-radius:var(--radius-xl);padding:24px;margin-bottom:32px;box-shadow:var(--shadow-sm)}.activity-breakdown h3{font-size:1.125rem;color:var(--forest-dark);margin-bottom:20px}.breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.breakdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--cream-light);border-radius:var(--radius-md)}.breakdown-item .activity-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.breakdown-item .activity-info{display:flex;flex-direction:column;min-width:0}.breakdown-item .activity-name{font-weight:600;font-size:.875rem;color:var(--forest-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breakdown-item .activity-hours{font-size:.8125rem;color:var(--text-muted)}.filter-section{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fff;border-radius:var(--radius-lg);margin-bottom:24px;box-shadow:var(--shadow-sm);color:var(--text-muted)}.filter-section .form-select{max-width:250px}.outdoor-hours .empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.empty-icon{width:100px;height:100px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#d97706}.outdoor-hours .empty-state h3{color:var(--forest-dark);margin-bottom:8px}.outdoor-hours .empty-state p{color:var(--text-muted);max-width:400px;margin:0 auto}.logs-list{display:flex;flex-direction:column;gap:16px}.log-card{display:flex;gap:20px;padding:20px 24px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all .3s ease}.log-card:hover{box-shadow:var(--shadow-md)}.log-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.log-content{flex:1;min-width:0}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.log-header h4{font-size:1.125rem;color:var(--forest-dark)}.log-hours{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--forest)}.log-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.log-meta span{display:flex;align-items:center;gap:6px;font-size:.875rem;color:var(--text-muted)}.log-child{font-weight:600;color:var(--forest)!important}.log-notes{font-size:.9375rem;color:var(--text-dark);line-height:1.5;padding:12px 16px;background:var(--cream-light);border-radius:var(--radius-md);margin-top:12px}.delete-btn{padding:8px;color:var(--text-muted);opacity:0;transition:all .2s ease}.log-card:hover .delete-btn{opacity:1}.delete-btn:hover{color:#dc2626}.add-form-modal{width:100%;max-width:600px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.add-form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--sage-light);position:sticky;top:0;background:#fff;z-index:10}.add-form-modal .modal-header h3{display:flex;align-items:center;gap:10px;font-size:1.25rem;color:var(--forest-dark)}.add-form-modal .modal-header h3 svg{color:#d97706}.close-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--text-muted);border-radius:50%;transition:all .2s ease}.close-btn:hover{background:var(--cream-light);color:var(--forest-dark)}.outdoor-form{padding:24px}.activity-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.activity-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;background:var(--cream-light);border:2px solid transparent;border-radius:var(--radius-md);transition:all .2s ease;text-align:center}.activity-option:hover{background:#fff;border-color:var(--sage-light)}.activity-option.selected{background:#fff;border-color:var(--activity-color, var(--forest));box-shadow:var(--shadow-sm)}.activity-option.selected svg{color:var(--activity-color, var(--forest))}.activity-option svg{color:var(--text-muted);transition:color .2s ease}.activity-option span{font-size:.75rem;font-weight:600;color:var(--text-dark);line-height:1.3}@media (max-width: 1024px){.outdoor-stats{grid-template-columns:1fr}.breakdown-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.outdoor-header{flex-direction:column;gap:16px}.outdoor-header .btn-primary{width:100%}.log-card{flex-direction:column}.log-icon{width:48px;height:48px}.delete-btn{opacity:1;position:absolute;top:16px;right:16px}.log-card{position:relative}.activity-selector{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.breakdown-grid{grid-template-columns:1fr}}.alternative-activities{max-width:1100px}.activities-header{margin-bottom:32px}.activities-header h1{display:flex;align-items:center;gap:12px;font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.header-icon{color:#f59e0b}.activities-header p{color:var(--text-muted);font-size:1.0625rem}.activities-ad{margin-bottom:32px}.info-banner{display:flex;gap:16px;padding:20px 24px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--radius-xl);margin-bottom:32px}.info-banner svg{color:#d97706;flex-shrink:0;margin-top:2px}.info-banner strong{color:var(--forest-dark);display:block;margin-bottom:4px}.info-banner p{color:var(--text-dark);font-size:.9375rem;margin:0;line-height:1.5}.filters-section{margin-bottom:32px}.search-box{display:flex;align-items:center;gap:12px;padding:14px 20px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{flex:1;border:none;background:none;font-size:1rem;color:var(--text-dark);outline:none}.search-box input::placeholder{color:var(--text-muted)}.subject-filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:16px 20px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.subject-filters>svg{color:var(--text-muted)}.subject-filter{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--cream-light);border-radius:var(--radius-full);font-size:.8125rem;font-weight:600;color:var(--text-dark);transition:all .2s ease}.subject-filter:hover{background:var(--sage-light)}.subject-filter.active{background:var(--subject-color, var(--forest));color:#fff}.subject-filter svg{opacity:.8}.activities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-bottom:48px}.activity-card{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column}.activity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.activity-card.expanded{box-shadow:var(--shadow-lg)}.activity-header{display:flex;gap:16px;margin-bottom:16px}.activity-icon{width:60px;height:60px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.activity-title{flex:1;min-width:0}.activity-title h3{font-size:1.25rem;color:var(--forest-dark);margin-bottom:6px}.activity-meta{display:flex;gap:16px;font-size:.8125rem;color:var(--text-muted)}.activity-meta span{display:flex;align-items:center;gap:4px}.activity-description{color:var(--text-dark);font-size:.9375rem;line-height:1.6;margin-bottom:16px}.activity-subjects{margin-bottom:16px}.subjects-label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:10px}.subject-tags{display:flex;flex-wrap:wrap;gap:8px}.subject-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:color-mix(in srgb,var(--tag-color) 15%,white);color:var(--tag-color);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.activity-examples{margin-top:8px;padding-top:20px;border-top:1px solid var(--sage-light);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.activity-examples h4{font-size:.9375rem;color:var(--forest-dark);margin-bottom:12px}.activity-examples ul{list-style:none;display:flex;flex-direction:column;gap:10px}.activity-examples li{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;color:var(--text-dark);line-height:1.5}.activity-examples li svg{color:var(--sage);flex-shrink:0;margin-top:2px}.expand-btn{margin-top:auto;padding:10px 16px;background:var(--cream-light);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--forest);transition:all .2s ease;align-self:flex-start}.expand-btn:hover{background:var(--sage-light)}.alternative-activities .empty-state{text-align:center;padding:80px 20px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.alternative-activities .empty-state svg{color:var(--sage);margin-bottom:16px}.alternative-activities .empty-state h3{color:var(--forest-dark);margin-bottom:8px}.alternative-activities .empty-state p{color:var(--text-muted)}.tips-section{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);border-radius:var(--radius-xl);padding:40px;color:#fff}.tips-section h2{text-align:center;font-size:1.5rem;margin-bottom:32px}.tips-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.tip-card{text-align:center}.tip-number{width:40px;height:40px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 auto 16px}.tip-card h4{font-size:1rem;margin-bottom:8px}.tip-card p{font-size:.875rem;opacity:.9;line-height:1.5}@media (max-width: 1024px){.tips-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.activities-grid{grid-template-columns:1fr}.subject-filters{gap:8px}.subject-filter{padding:6px 10px;font-size:.75rem}.tips-section{padding:32px 24px}.tips-grid{grid-template-columns:1fr;gap:32px}.activity-header{flex-direction:column}.activity-icon{width:50px;height:50px}}.volunteer-extracurricular{max-width:1000px}.ve-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.ve-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.ve-header p{color:var(--text-muted)}.ve-ad{margin-bottom:32px}.premium-gate{text-align:center;padding:80px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.premium-icon{width:100px;height:100px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff}.premium-gate h2{font-size:1.75rem;color:var(--forest-dark);margin-bottom:12px}.premium-gate>p{color:var(--text-muted);font-size:1.0625rem;max-width:500px;margin:0 auto 32px}.premium-features{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:32px}.premium-feature{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--cream-light);border-radius:var(--radius-lg);font-size:.9375rem;color:var(--text-dark)}.premium-feature svg{color:var(--forest)}.premium-gate .btn-primary{font-size:1.0625rem;padding:14px 32px}.child-selector{display:flex;align-items:center;gap:16px;padding:16px 20px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:24px}.child-selector label{font-weight:600;color:var(--forest-dark);white-space:nowrap}.child-selector .form-select{max-width:250px}.ve-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.ve-stats .stat-card{display:flex;align-items:center;gap:16px;padding:24px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.ve-stats .stat-card svg{color:var(--sage)}.ve-stats .stat-card.volunteer{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff}.ve-stats .stat-card.volunteer svg{color:#fff;opacity:.9}.ve-stats .stat-card.extracurricular{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);color:#fff}.ve-stats .stat-card.extracurricular svg{color:#fbbf24}.ve-stats .stat-info{display:flex;flex-direction:column}.ve-stats .stat-value{font-family:var(--font-display);font-size:1.75rem;font-weight:700;line-height:1}.ve-stats .stat-card:not(.volunteer):not(.extracurricular) .stat-value{color:var(--forest-dark)}.ve-stats .stat-label{font-size:.8125rem;margin-top:4px}.ve-stats .stat-card:not(.volunteer):not(.extracurricular) .stat-label{color:var(--text-muted)}.ve-tabs{display:flex;gap:8px;margin-bottom:24px}.ve-tabs .tab{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#fff;border-radius:var(--radius-lg);font-weight:600;color:var(--text-muted);transition:all .2s ease;box-shadow:var(--shadow-sm)}.ve-tabs .tab:hover{color:var(--forest)}.ve-tabs .tab.active{background:var(--forest);color:#fff}.ve-tabs .tab.active svg{color:#fff}.ve-content .empty-state{text-align:center;padding:80px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.ve-content .empty-state svg{color:var(--sage);margin-bottom:16px}.ve-content .empty-state h3{color:var(--forest-dark);margin-bottom:8px}.ve-content .empty-state p{color:var(--text-muted);margin-bottom:24px}.entries-list{display:flex;flex-direction:column;gap:16px}.entry-card{display:flex;gap:20px;padding:24px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all .3s ease}.entry-card:hover{box-shadow:var(--shadow-md)}.entry-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.entry-icon.volunteer{background:linear-gradient(135deg,#ec4899,#db2777)}.entry-icon.extracurricular{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%)}.entry-content{flex:1;min-width:0}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.entry-header h4{font-size:1.125rem;color:var(--forest-dark)}.entry-hours,.entry-time{font-family:var(--font-display);font-weight:700;color:var(--forest)}.entry-role{font-weight:600;color:var(--sage-dark);margin-bottom:8px}.entry-description{color:var(--text-dark);font-size:.9375rem;line-height:1.5;margin-bottom:12px}.entry-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.entry-meta span{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-muted)}.entry-achievements{display:flex;align-items:flex-start;gap:8px;padding:12px 16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-dark);margin-top:12px}.entry-achievements svg{color:#d97706;flex-shrink:0;margin-top:2px}.entry-actions{display:flex;flex-direction:column;gap:8px}.entry-actions button{padding:8px;color:var(--text-muted);border-radius:var(--radius-md);transition:all .2s ease}.entry-actions button:hover{background:var(--cream-light);color:var(--forest)}.entry-actions button:last-child:hover{color:#dc2626}.form-modal{width:100%;max-width:650px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.form-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--sage-light);position:sticky;top:0;background:#fff;z-index:10}.form-modal .modal-header h3{display:flex;align-items:center;gap:10px;font-size:1.25rem;color:var(--forest-dark)}.ve-form{padding:24px}.checkbox-group{margin:-8px 0 8px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest)}.checkbox-label span{font-size:.9375rem;color:var(--text-dark)}.grade-selector{display:flex;flex-wrap:wrap;gap:10px}.grade-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--cream-light);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--text-dark);transition:all .2s ease}.grade-btn:hover{background:var(--sage-light)}.grade-btn.selected{background:var(--forest);color:#fff}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--sage-light)}.report-overlay{padding:20px}.report-modal{width:100%;max-width:800px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.report-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:var(--forest);color:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:sticky;top:0;z-index:10}.report-toolbar h3{display:flex;align-items:center;gap:10px;font-size:1.125rem}.toolbar-actions{display:flex;gap:12px;align-items:center}.toolbar-actions .btn-secondary{background:#fff3;color:#fff;border:none}.toolbar-actions .btn-secondary:hover{background:#ffffff4d}.toolbar-actions .close-btn{color:#fff;font-size:1.5rem;padding:0 8px}.report-content{padding:40px}.report-header{text-align:center;padding-bottom:32px;border-bottom:2px solid var(--forest);margin-bottom:32px}.school-info{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--sage-light)}.school-name{font-family:var(--font-display);font-size:1.75rem;color:var(--forest-dark);margin-bottom:4px}.school-admin{font-size:1rem;color:var(--forest);margin-bottom:12px}.school-address{font-size:.9375rem;color:var(--text-dark);line-height:1.5;margin-bottom:8px}.school-contact{font-size:.875rem;color:var(--text-muted)}.report-title{font-size:1.5rem;color:var(--forest-dark);margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.student-info h3{font-size:1.375rem;color:var(--forest)}.student-info p{color:var(--text-muted)}.report-section{margin-bottom:40px}.report-section h3{font-size:1.25rem;color:var(--forest-dark);padding-bottom:12px;border-bottom:1px solid var(--sage-light);margin-bottom:20px}.total-hours-badge{display:inline-block;padding:8px 16px;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border-radius:var(--radius-md);font-size:.9375rem;margin-bottom:20px}.total-hours-badge strong{font-size:1.125rem}.no-entries{color:var(--text-muted);font-style:italic}.report-entries{display:flex;flex-direction:column;gap:20px}.report-entry{display:flex;gap:16px;padding:20px;background:var(--cream-light);border-radius:var(--radius-lg)}.entry-number{width:32px;height:32px;background:var(--forest);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.entry-details{flex:1}.entry-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.entry-title strong{font-size:1.0625rem;color:var(--forest-dark)}.entry-category{font-size:.75rem;padding:4px 10px;background:var(--sage-light);border-radius:var(--radius-full);color:var(--forest-dark)}.entry-hours-badge{font-size:.875rem;padding:4px 12px;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border-radius:var(--radius-full);font-weight:600}.entry-role-line{display:flex;align-items:center;gap:12px;margin-bottom:8px}.entry-role-line em{color:var(--sage-dark)}.grade-badges{font-size:.75rem;padding:3px 8px;background:var(--forest);color:#fff;border-radius:var(--radius-full)}.entry-desc{color:var(--text-dark);font-size:.9375rem;line-height:1.6;margin-bottom:12px}.entry-stats{display:flex;flex-wrap:wrap;gap:20px;font-size:.875rem;color:var(--text-muted);margin-bottom:8px}.entry-awards{font-size:.875rem;color:var(--text-dark);padding:10px 14px;background:#fff;border-radius:var(--radius-md);margin-top:8px}.entry-contact{font-size:.8125rem;color:var(--text-muted);margin-top:8px}.report-footer{text-align:center;padding-top:32px;border-top:1px solid var(--sage-light);color:var(--text-muted);font-size:.875rem}@media print{.no-print{display:none!important}.report-modal{max-height:none;box-shadow:none;border-radius:0}.report-content{padding:20px}.report-entry{break-inside:avoid}}@media (max-width: 768px){.ve-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-direction:column}.ve-stats{grid-template-columns:1fr}.ve-tabs,.entry-card{flex-direction:column}.entry-icon{width:48px;height:48px}.entry-actions{flex-direction:row;justify-content:flex-end}.form-row{flex-direction:column}.child-selector{flex-direction:column;align-items:stretch}.child-selector .form-select{max-width:100%}.report-content{padding:24px}.entry-title{flex-direction:column;align-items:flex-start;gap:8px}}.id-cards-page{max-width:1100px}.id-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.id-header h1{display:flex;align-items:center;gap:12px;font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.id-header .header-icon{color:var(--sage)}.id-header p{color:var(--text-muted)}.header-actions{display:flex;gap:12px}.id-cards-page .premium-gate{text-align:center;padding:80px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.id-cards-page .premium-icon{width:100px;height:100px;background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff}.id-cards-page .premium-gate h2{font-size:1.75rem;color:var(--forest-dark);margin-bottom:12px}.id-cards-page .premium-gate>p{color:var(--text-muted);font-size:1.0625rem;max-width:500px;margin:0 auto 32px}.id-cards-page .premium-features{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:32px}.id-cards-page .premium-feature{display:flex;align-items:center;gap:10px;padding:12px 20px;background:var(--cream-light);border-radius:var(--radius-lg);font-size:.9375rem;color:var(--text-dark)}.id-cards-page .premium-feature svg{color:var(--forest)}.id-settings{display:flex;gap:20px;padding:20px 24px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:24px}.setting-group{flex:1}.setting-group label{display:block;font-size:.8125rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.setting-group .form-input{width:100%}.warning-banner{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#fef3c7;border-radius:var(--radius-lg);margin-bottom:24px;color:#92400e;font-size:.9375rem}.warning-banner svg{flex-shrink:0}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;margin-bottom:32px}.id-card-wrapper{background:#fff;border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-sm);transition:all .3s ease;border:2px solid transparent}.id-card-wrapper.selected{border-color:var(--forest);box-shadow:var(--shadow-md)}.card-checkbox{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--sage-light)}.card-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--forest)}.card-checkbox label{font-size:.875rem;color:var(--text-muted);cursor:pointer}.id-card{aspect-ratio:3.375 / 2.125;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 12px #00000026}.id-card.teacher{background:linear-gradient(135deg,#1e3a5f,#2d5a4a)}.id-card.student{background:linear-gradient(135deg,#2d5a4a,#5a8f7b)}.card-header{padding:12px 16px;text-align:center;background:#ffffff1a}.school-badge{width:28px;height:28px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;color:#fff}.card-header .school-name{font-family:var(--font-display);font-size:.875rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:1px}.card-type{font-size:.625rem;color:#fffc;text-transform:uppercase;letter-spacing:1.5px;margin-top:2px}.card-body{flex:1;display:flex;gap:12px;padding:12px 16px;background:#fff}.photo-area{width:70px;height:85px;border-radius:6px;overflow:hidden;background:#f0f0f0;cursor:pointer;position:relative;flex-shrink:0}.photo-area img{width:100%;height:100%;object-fit:cover}.photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;gap:4px}.photo-placeholder span{font-size:.625rem;text-transform:uppercase}.remove-photo{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#0009;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-area:hover .remove-photo{opacity:1}.card-info{flex:1;display:flex;flex-direction:column;justify-content:center}.card-name{font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--forest-dark);margin-bottom:2px}.card-title{font-size:.75rem;color:var(--text-muted);margin-bottom:8px}.card-details{display:flex;flex-direction:column;gap:2px}.detail-row{display:flex;gap:8px;font-size:.6875rem}.detail-label{color:var(--text-muted);font-weight:600}.detail-value{color:var(--text-dark);font-family:monospace}.card-footer{padding:8px 16px;background:#0000000d;text-align:center}.footer-text{font-size:.5625rem;color:#666;text-transform:uppercase;letter-spacing:.5px}.no-students{grid-column:1 / -1;text-align:center;padding:60px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text-muted)}.no-students svg{margin-bottom:12px;opacity:.5}.print-tips{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}.print-tips h3{font-size:1rem;color:var(--forest-dark);margin-bottom:16px}.print-tips ul{list-style:disc;padding-left:24px;display:flex;flex-direction:column;gap:8px}.print-tips li{color:var(--text-dark);font-size:.9375rem}.print-view{display:none}.close-print-view{position:fixed;bottom:20px;right:20px;padding:12px 24px;background:var(--forest);color:#fff;border-radius:var(--radius-lg);font-weight:600;z-index:1000}@media print{body *{visibility:hidden}.print-view,.print-view *{visibility:visible}.print-view{display:block;position:fixed;left:0;top:0;width:100%;height:100%;background:#fff;z-index:9999;padding:.25in}.print-cards{display:flex;flex-wrap:wrap;gap:.25in}.print-card{width:3.375in;height:2.125in;border-radius:.125in;overflow:hidden;display:flex;flex-direction:column;box-shadow:none;border:1px solid #ccc;page-break-inside:avoid}.print-card.teacher{background:linear-gradient(135deg,#1e3a5f,#2d5a4a);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-card.student{background:linear-gradient(135deg,#2d5a4a,#5a8f7b);-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-card .card-header{padding:8px 12px;background:#ffffff1a;-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-card .school-badge{width:20px;height:20px;margin-bottom:4px}.print-card .school-badge svg{width:12px;height:12px}.print-card .school-name{font-size:10pt}.print-card .card-type{font-size:6pt}.print-card .card-body{flex:1;padding:8px 12px;gap:10px}.print-card .photo-area{width:.8in;height:1in}.print-card .photo-placeholder.print{background:#eee}.print-card .card-name{font-size:11pt}.print-card .card-title{font-size:8pt}.print-card .detail-row{font-size:7pt}.print-card .card-footer{padding:6px 12px}.print-card .footer-text{font-size:6pt}.no-print{display:none!important}}@media (max-width: 768px){.id-header{flex-direction:column;gap:16px}.header-actions{width:100%;flex-direction:column}.id-settings{flex-direction:column}.cards-grid{grid-template-columns:1fr}.id-card{aspect-ratio:auto;min-height:200px}}.state-requirements{max-width:1100px}.state-header{margin-bottom:32px}.state-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.state-header p{color:var(--text-muted)}.state-ad{margin-bottom:32px}.state-layout{display:grid;grid-template-columns:320px 1fr;gap:32px;align-items:start}.state-selector-section{display:flex;flex-direction:column;gap:24px;position:sticky;top:32px}.selector-card{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}.selector-card h3{display:flex;align-items:center;gap:10px;font-size:1.125rem;color:var(--forest-dark);margin-bottom:16px}.search-input{margin-bottom:16px}.states-list{max-height:400px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.state-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--cream-light);border-radius:var(--radius-md);text-align:left;transition:all .2s ease}.state-item:hover{background:var(--sage-light)}.state-item.selected{background:var(--forest);color:#fff}.state-name{font-weight:500}.compliance-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.compliance-legend{background:#fff;border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-sm)}.compliance-legend h4{font-size:.9375rem;color:var(--forest-dark);margin-bottom:16px}.legend-item{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--sage-light)}.legend-item:last-child{border-bottom:none}.legend-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;margin-top:2px}.legend-text{display:flex;flex-direction:column}.legend-label{font-weight:600;font-size:.8125rem;color:var(--forest-dark)}.legend-desc{font-size:.75rem;color:var(--text-muted);line-height:1.4}.state-details-section{min-height:600px}.state-details-card{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm)}.state-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--sage-light)}.state-title{display:flex;align-items:center;gap:16px}.state-title h2{font-size:1.75rem;color:var(--forest-dark)}.compliance-badge{padding:6px 14px;border-radius:var(--radius-lg);color:#fff;font-size:.8125rem;font-weight:600}.state-link{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--cream-light);border-radius:var(--radius-md);color:var(--forest);font-weight:600;font-size:.875rem;transition:all .3s ease}.state-link:hover{background:var(--sage-light);color:var(--forest-dark)}.requirements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:28px}.requirement-box{display:flex;align-items:center;gap:16px;padding:20px;background:var(--cream-light);border-radius:var(--radius-lg)}.req-icon{width:52px;height:52px;background:#fff;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--forest)}.req-content{display:flex;flex-direction:column}.req-label{font-size:.8125rem;color:var(--text-muted);margin-bottom:4px}.req-value{font-family:var(--font-display);font-size:1.25rem;font-weight:700;color:var(--forest-dark)}.state-notes{display:flex;gap:12px;padding:16px 20px;background:#e8a87c1a;border-left:4px solid var(--terracotta);border-radius:var(--radius-md);margin-bottom:28px}.state-notes svg{color:var(--terracotta);flex-shrink:0;margin-top:2px}.state-notes p{color:var(--text-dark);font-size:.9375rem;line-height:1.6}.required-subjects{margin-bottom:28px}.required-subjects h4{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--forest-dark);margin-bottom:16px}.subjects-tags{display:flex;flex-wrap:wrap;gap:10px}.subject-tag{padding:8px 16px;background:var(--sage-light);color:var(--forest-dark);border-radius:var(--radius-lg);font-size:.8125rem;font-weight:500;text-transform:capitalize}.recommended-hours{padding:24px;background:var(--cream-light);border-radius:var(--radius-lg);margin-bottom:28px}.recommended-hours.locked{position:relative}.recommended-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.recommended-header h4{display:flex;align-items:center;gap:8px;font-size:1rem;color:var(--forest-dark)}.premium-tag{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--terracotta);color:#fff;border-radius:var(--radius-lg);font-size:.75rem;font-weight:600}.hours-breakdown{display:flex;flex-direction:column;gap:10px}.hours-item{display:flex;justify-content:space-between;padding:12px 16px;background:#fff;border-radius:var(--radius-md)}.hours-subject{font-weight:500;color:var(--text-dark)}.hours-value{font-weight:700;color:var(--forest)}.hours-total{display:flex;justify-content:space-between;padding:16px;background:var(--forest);color:#fff;border-radius:var(--radius-md);margin-top:8px;font-weight:700}.upgrade-prompt{text-align:center;padding:20px}.upgrade-prompt p{color:var(--text-muted);margin-bottom:16px;font-size:.9375rem}.no-data{color:var(--text-muted);font-size:.9375rem;font-style:italic}.auto-setup-feature{display:flex;gap:12px;padding:16px 20px;background:#dcfce7;border-radius:var(--radius-md);margin-bottom:28px}.auto-setup-feature svg{color:#166534;flex-shrink:0}.auto-setup-feature strong{color:#166534;display:block;margin-bottom:4px}.auto-setup-feature p{color:#166534;font-size:.875rem;opacity:.9}.disclaimer{display:flex;gap:12px;padding:16px;background:#8fb39a26;border-radius:var(--radius-md)}.disclaimer svg{color:var(--sage);flex-shrink:0}.disclaimer p{font-size:.8125rem;color:var(--text-muted);line-height:1.5}.no-state-selected{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 40px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);color:var(--text-muted)}.no-state-selected svg{color:var(--sage-light);margin-bottom:20px}.no-state-selected h3{color:var(--forest-dark);margin-bottom:8px}.resources-section{margin-top:48px}.resources-section h3{font-size:1.25rem;color:var(--forest-dark);margin-bottom:20px}.resources-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.resource-card{padding:24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative}.resource-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.resource-card h4{font-size:1rem;color:var(--forest-dark);margin-bottom:8px}.resource-card p{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin-bottom:0}.resource-card svg{position:absolute;top:20px;right:20px;color:var(--sage)}@media (max-width: 1024px){.state-layout{grid-template-columns:1fr}.state-selector-section{position:static;flex-direction:row}.selector-card,.compliance-legend{flex:1}.states-list{max-height:250px}}@media (max-width: 768px){.state-selector-section{flex-direction:column}.requirements-grid{grid-template-columns:1fr}.state-details-header{flex-direction:column;gap:16px}.state-title{flex-direction:column;align-items:flex-start;gap:8px}.resources-grid{grid-template-columns:1fr}}.curriculum-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px}.header-content h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.header-content p{color:var(--text-muted)}.curriculum-ad{margin-bottom:32px}.curriculum-filters{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:32px;color:var(--text-muted)}.search-input{flex:1;max-width:300px}.curriculum-filters .form-select{max-width:180px}.curriculum-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.curriculum-card{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:column}.curriculum-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.card-icon{width:48px;height:48px;background:var(--sage-light);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--forest)}.card-meta{display:flex;flex-direction:column;gap:4px}.card-subject{font-weight:600;color:var(--terracotta);font-size:.875rem}.card-grades{font-size:.8125rem;color:var(--text-muted)}.curriculum-card h3{font-size:1.25rem;color:var(--forest-dark);margin-bottom:4px}.card-style{font-size:.875rem;color:var(--sage);font-weight:600;margin-bottom:12px}.card-description{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin-bottom:16px;flex:1}.card-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tag{padding:4px 12px;background:var(--cream-light);border-radius:var(--radius-lg);font-size:.75rem;color:var(--forest);font-weight:500}.card-footer{display:flex;align-items:center;gap:16px;padding-top:16px;border-top:1px solid var(--sage-light)}.card-rating{display:flex;align-items:center;gap:4px;font-weight:600;color:var(--forest-dark)}.star-icon{color:var(--terracotta);fill:var(--terracotta)}.card-price{color:var(--text-muted);font-size:.875rem}.card-link{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--forest);font-weight:600;font-size:.875rem;transition:all .3s ease}.card-link:hover{color:var(--terracotta);gap:8px}.inline-ad-wrapper{grid-column:1 / -1}.no-results{text-align:center;padding:80px 20px;color:var(--text-muted)}.no-results svg{color:var(--sage-light);margin-bottom:20px}.no-results h3{color:var(--forest-dark);margin-bottom:8px}.curriculum-cta{margin-top:48px;padding:48px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);border-radius:var(--radius-xl);text-align:center}.curriculum-cta h2{color:#fff;margin-bottom:12px}.curriculum-cta>.cta-content>p{color:#fffc;max-width:600px;margin:0 auto 28px}.curriculum-cta .btn-primary{background:var(--terracotta)}.curriculum-cta .btn-primary:hover{background:var(--terracotta-dark)}.premium-note{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;background:#ffffff26;border-radius:var(--radius-lg);color:var(--sage-light);font-weight:600;font-size:.9375rem}.btn-lg{padding:18px 32px;font-size:1.125rem}@media (max-width: 1024px){.curriculum-header{flex-direction:column}.curriculum-filters{flex-wrap:wrap}.search-input{max-width:100%;order:2;flex-basis:100%}.curriculum-filters .form-select{flex:1;max-width:none}}@media (max-width: 768px){.curriculum-grid{grid-template-columns:1fr}.curriculum-cta{padding:32px 24px}}.consult-header{margin-bottom:32px}.consult-header h1{font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.consult-header p{color:var(--text-muted)}.consult-ad{margin-bottom:32px}.consult-layout{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}.consult-form-section{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm)}.form-section{margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid var(--sage-light)}.form-section:last-of-type{border-bottom:none;margin-bottom:24px;padding-bottom:0}.form-section h3{font-size:1.125rem;color:var(--forest-dark);margin-bottom:20px}.consult-types{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.consult-type-card{position:relative;padding:20px;background:var(--cream-light);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease}.consult-type-card:hover{background:#fff;border-color:var(--sage-light)}.consult-type-card.selected{background:#fff;border-color:var(--forest);box-shadow:var(--shadow-sm)}.consult-type-card input{position:absolute;opacity:0}.consult-type-card .card-content{display:flex;flex-direction:column;gap:8px}.consult-type-card .card-top{display:flex;justify-content:space-between;align-items:flex-start}.consult-type-card h4{font-size:1rem;color:var(--forest-dark)}.card-pricing{display:flex;align-items:center;gap:8px}.price,.price-discounted{font-weight:700;color:var(--forest);font-size:1.125rem}.price-original{text-decoration:line-through;color:var(--text-muted);font-size:.875rem}.price-free{font-weight:700;color:var(--terracotta);font-size:1.125rem}.consult-type-card p{font-size:.875rem;color:var(--text-muted);line-height:1.5}.consult-type-card .card-meta{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--sage);margin-top:4px}.premium-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--terracotta);color:#fff;border-radius:var(--radius-sm);font-size:.6875rem;font-weight:600;margin-left:auto}.meeting-methods{display:flex;gap:12px;margin-bottom:24px}.method-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:var(--cream-light);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .3s ease;color:var(--text-muted)}.method-option:hover{background:#fff;border-color:var(--sage-light)}.method-option.selected{background:#fff;border-color:var(--forest);color:var(--forest)}.method-option input{position:absolute;opacity:0}.method-option span{font-weight:600;font-size:.875rem}.submit-btn{width:100%}.consult-sidebar{display:flex;flex-direction:column;gap:24px;position:sticky;top:32px}.price-summary{background:#fff;border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}.price-summary h3{font-size:1rem;color:var(--forest-dark);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--sage-light)}.summary-item{display:flex;justify-content:space-between;padding:10px 0;font-size:.9375rem;color:var(--text-dark)}.summary-item.discount{color:var(--terracotta)}.summary-item.discount span{display:flex;align-items:center;gap:6px}.summary-total{display:flex;justify-content:space-between;padding-top:16px;margin-top:8px;border-top:2px solid var(--forest-dark);font-weight:700;font-size:1.125rem;color:var(--forest-dark)}.upgrade-promo,.premium-benefits{background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);border-radius:var(--radius-xl);padding:24px;color:#fff;text-align:center}.upgrade-promo svg,.premium-benefits svg{color:var(--terracotta);margin-bottom:12px}.upgrade-promo h4,.premium-benefits h4{color:#fff;margin-bottom:8px;font-size:1.125rem}.upgrade-promo p{font-size:.9375rem;opacity:.9;margin-bottom:20px}.upgrade-promo ul,.premium-benefits ul{list-style:none;text-align:left;margin-bottom:20px}.upgrade-promo li,.premium-benefits li{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:.9375rem;opacity:.9}.upgrade-promo li svg,.premium-benefits li svg{color:var(--sage-light);margin-bottom:0}.upgrade-promo .btn-primary{width:100%;background:var(--terracotta)}.upgrade-promo .btn-primary:hover{background:var(--terracotta-dark)}.premium-benefits ul{margin-bottom:0}.sidebar-ad{margin-top:0}.consult-success{max-width:500px;margin:80px auto;text-align:center;padding:48px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.success-icon{width:80px;height:80px;background:#dcfce7;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#166534}.consult-success h2{color:var(--forest-dark);margin-bottom:12px}.consult-success>p{color:var(--text-muted);margin-bottom:32px}.success-details{text-align:left;padding:20px;background:var(--cream-light);border-radius:var(--radius-lg);margin-bottom:24px}.success-details p{padding:8px 0;font-size:.9375rem}.free-consult-badge{display:flex;align-items:center;gap:8px;margin-top:12px;padding:12px;background:var(--terracotta);color:#fff;border-radius:var(--radius-md);font-weight:600}@media (max-width: 1024px){.consult-layout{grid-template-columns:1fr}.consult-sidebar{position:static}.consult-types{grid-template-columns:1fr}}@media (max-width: 640px){.consult-form-section{padding:20px}.meeting-methods{flex-direction:column}}.settings-page{max-width:800px}.settings-header{margin-bottom:32px}.settings-header h1{display:flex;align-items:center;gap:12px;font-size:2rem;color:var(--forest-dark);margin-bottom:8px}.header-icon{color:var(--sage)}.settings-header p{color:var(--text-muted);font-size:1.0625rem}.settings-ad{margin-bottom:32px}.settings-form{display:flex;flex-direction:column;gap:32px}.settings-section{background:#fff;border-radius:var(--radius-xl);padding:28px;box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.section-header h2{font-size:1.25rem;color:var(--forest-dark)}.section-description{color:var(--text-muted);font-size:.9375rem;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--sage-light)}.settings-form .form-group{margin-bottom:20px}.settings-form .form-group:last-child{margin-bottom:0}.settings-form .form-group.featured{background:linear-gradient(135deg,var(--cream-light) 0%,#fef3c7 100%);padding:24px;border-radius:var(--radius-lg);margin:-4px -4px 20px}.settings-form label{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--forest-dark);margin-bottom:8px;font-size:.9375rem}.settings-form label svg{color:var(--sage)}.form-input.large{font-size:1.125rem;padding:14px 18px}.form-hint{display:block;font-size:.8125rem;color:var(--text-muted);margin-top:8px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.form-row.three-col .form-group:first-child{flex:2}.settings-actions{display:flex;justify-content:flex-end;padding-top:8px}.settings-actions .btn-primary{min-width:160px;font-size:1rem;padding:14px 28px}.settings-actions .btn-primary.saved{background:linear-gradient(135deg,#10b981,#059669)}.profile-preview{margin-top:40px;padding-top:32px;border-top:2px dashed var(--sage-light)}.profile-preview h3{font-size:1rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.preview-card{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-md);text-align:center;border:2px solid var(--sage-light)}.preview-header h4{font-family:var(--font-display);font-size:1.5rem;color:var(--forest-dark);margin-bottom:4px}.preview-parent{color:var(--sage-dark);font-size:1rem;margin-bottom:16px}.preview-address{color:var(--text-dark);font-size:.9375rem;line-height:1.6}.preview-address span{display:block}.preview-contact{color:var(--text-muted);font-size:.875rem;margin-top:12px}@media (max-width: 768px){.settings-section{padding:20px}.form-row{flex-direction:column}.form-row.three-col .form-group:first-child{flex:1}.settings-form .form-group.featured{padding:16px}}.upgrade-header{text-align:center;margin-bottom:48px}.upgrade-header h1{font-size:2.5rem;color:var(--forest-dark);margin-bottom:12px}.upgrade-header p{font-size:1.125rem;color:var(--text-muted)}.plans-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;max-width:900px;margin:0 auto 80px}.plan-card{position:relative;background:#fff;border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-sm);border:2px solid transparent;transition:all .3s ease}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.plan-card.current{border-color:var(--forest)}.plan-card.premium{background:linear-gradient(135deg,#fefce8,#fff 50%);border-color:var(--terracotta)}.plan-card.premium:hover{box-shadow:0 16px 48px #e8a87c33}.current-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);padding:6px 16px;background:var(--forest);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-lg);text-transform:uppercase;letter-spacing:.5px}.recommended-badge{position:absolute;top:16px;right:16px;display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--terracotta);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-lg)}.plan-header{margin-bottom:16px}.plan-header h2{font-size:1.5rem;color:var(--forest-dark);margin-bottom:8px}.plan-price{display:flex;align-items:baseline;gap:4px}.plan-price .price{font-family:var(--font-display);font-size:3rem;font-weight:700;color:var(--forest);line-height:1}.plan-price .period{color:var(--text-muted);font-size:1rem}.plan-description{color:var(--text-muted);margin-bottom:28px;font-size:.9375rem}.plan-features{list-style:none;margin-bottom:32px}.plan-features li{display:flex;align-items:center;gap:12px;padding:10px 0;color:var(--text-dark);font-size:.9375rem}.plan-features li.highlight{color:var(--forest-dark);font-weight:500}.plan-features .check{color:var(--forest)}.plan-features .x{color:var(--text-muted);opacity:.5}.plan-features .sparkle,.plan-features .gift{color:var(--terracotta)}.plan-btn{width:100%;padding:16px 24px;border-radius:var(--radius-md);font-size:1rem;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.plan-btn.btn-primary{background:var(--terracotta);color:#fff}.plan-btn.btn-primary:hover{background:var(--terracotta-dark);transform:translateY(-2px)}.plan-btn.btn-secondary{background:var(--sage-light);color:var(--forest-dark)}.plan-btn.btn-secondary:hover{background:var(--sage)}.plan-btn.btn-current{background:var(--cream-light);color:var(--text-muted);cursor:default}.comparison-section{max-width:800px;margin:0 auto 80px}.comparison-section h2{text-align:center;margin-bottom:32px;color:var(--forest-dark)}.comparison-table{background:#fff;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.comparison-header{display:grid;grid-template-columns:1fr 120px 120px;background:var(--forest-dark);color:#fff;font-weight:600}.comparison-header .feature-name{padding:16px 24px}.comparison-header .plan-col{padding:16px;text-align:center}.comparison-header .premium-col{background:var(--terracotta)}.comparison-row{display:grid;grid-template-columns:1fr 120px 120px;border-bottom:1px solid var(--sage-light)}.comparison-row:last-child{border-bottom:none}.comparison-row .feature-name{padding:16px 24px;font-size:.9375rem}.comparison-row .plan-col{padding:16px;display:flex;align-items:center;justify-content:center;color:var(--forest)}.comparison-row .plan-col .x{color:var(--text-muted);opacity:.4}.comparison-row .premium-col{background:#e8a87c14}.comparison-row.highlight-row{background:var(--cream-light)}.comparison-row.highlight-row .feature-name{font-weight:600}.faq-section{max-width:900px;margin:0 auto}.faq-section h2{text-align:center;margin-bottom:32px;color:var(--forest-dark)}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.faq-item{padding:24px;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.faq-item h4{color:var(--forest-dark);margin-bottom:8px;font-size:1rem}.faq-item p{color:var(--text-muted);font-size:.9375rem;line-height:1.6}@media (max-width: 768px){.plans-grid{grid-template-columns:1fr;gap:24px}.plan-card{padding:28px}.comparison-header,.comparison-row{grid-template-columns:1fr 80px 80px}.comparison-header .feature-name,.comparison-row .feature-name{padding:12px 16px;font-size:.875rem}.faq-grid{grid-template-columns:1fr}}.schoolwork-reminders{position:fixed;bottom:24px;right:24px;z-index:1000;display:flex;flex-direction:column;gap:16px;max-width:400px}.reminder-card{background:#fff;border-radius:var(--radius-lg);padding:20px;box-shadow:0 4px 20px #00000026;border-left:4px solid var(--terracotta);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.reminder-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.reminder-subject{display:flex;align-items:flex-start;gap:12px;flex:1}.reminder-color{width:4px;height:40px;border-radius:2px;flex-shrink:0}.reminder-subject h4{margin:0 0 4px;color:var(--forest-dark);font-size:1rem}.reminder-subject p{margin:0;color:var(--text-muted);font-size:.8125rem}.reminder-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius-sm);transition:all .2s ease}.reminder-close:hover{background:var(--cream-light);color:var(--text-dark)}.reminder-actions{display:flex;gap:8px}.reminder-actions .btn-tracker{flex:1}.schoolwork-upload-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.upload-modal-content{background:#fff;border-radius:var(--radius-xl);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003}.upload-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--sage-light)}.upload-modal-header h3{margin:0;color:var(--forest-dark);display:flex;align-items:center;gap:8px}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--cream-light);color:var(--text-dark)}.upload-subject-info{display:flex;align-items:center;gap:8px;padding:16px 24px;background:var(--cream-light);border-bottom:1px solid var(--sage-light);font-weight:500;color:var(--forest-dark)}.upload-subject-info .subject-color{width:12px;height:12px;border-radius:50%}.upload-form{padding:24px}.upload-area{margin-bottom:20px}.upload-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:2px dashed var(--sage);border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;background:var(--cream-light)}.upload-dropzone:hover{border-color:var(--forest);background:var(--sage-light)}.upload-dropzone p{margin:12px 0 4px;color:var(--forest-dark);font-weight:500}.upload-dropzone span{color:var(--text-muted);font-size:.8125rem}.preview-container{position:relative;border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--sage-light)}.preview-container img{width:100%;height:auto;display:block;max-height:400px;object-fit:contain}.remove-preview{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.remove-preview:hover{background:#000000e6}.upload-actions{display:flex;gap:12px;margin-top:20px}.upload-actions .btn-tracker{flex:1}@media (max-width: 768px){.schoolwork-reminders{right:16px;bottom:16px;left:16px;max-width:none}.upload-modal-content{margin:0;border-radius:var(--radius-lg)}}.tracker{display:flex;min-height:100vh;background:var(--cream-light)}.tracker-sidebar{width:280px;background:var(--forest-dark);padding:24px;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;overflow-y:auto;overflow-x:hidden}.back-button{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffffff1a;color:#fffc;border-radius:var(--radius-md);font-weight:500;transition:all .3s ease;margin-bottom:32px}.back-button:hover{background:#ffffff26;color:#fff}.sidebar-header{margin-bottom:32px}.sidebar-header h2{color:#fff;font-size:1.5rem;margin-bottom:4px}.sidebar-header p{color:#fff9;font-size:.875rem}.sidebar-nav{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:12px;padding:14px 16px;color:#ffffffb3;border-radius:var(--radius-md);font-weight:500;transition:all .3s ease;text-align:left}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:var(--terracotta);color:#fff}.sidebar-tier{padding:16px 0;margin-bottom:16px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.tier-badge{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:var(--radius-md);font-weight:600;font-size:.875rem}.tier-badge.premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#78350f}.tier-upgrade{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;background:linear-gradient(135deg,var(--terracotta) 0%,var(--terracotta-dark) 100%);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:.875rem;transition:all .3s ease}.tier-upgrade:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e8a87c66}.manage-plan-link{display:block;width:100%;margin-top:8px;padding:8px;color:#fff9;font-size:.8125rem;text-align:center;transition:color .3s ease}.manage-plan-link:hover{color:#fff}.sidebar-help{padding:16px;background:#ffffff0d;border-radius:var(--radius-md)}.sidebar-help p{color:#ffffffb3;font-size:.8125rem;line-height:1.5}.tracker-main{flex:1;margin-left:280px;padding:32px 40px;min-height:100vh}.tracker-section{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm);margin-bottom:24px}.tracker-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.tracker-section-header h2{font-size:1.5rem;color:var(--forest-dark)}.tracker-section-header h3{font-size:1.25rem;color:var(--forest-dark)}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state-icon{width:80px;height:80px;background:var(--sage-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--forest)}.empty-state h3{margin-bottom:8px;color:var(--forest-dark)}.empty-state p{margin-bottom:24px;max-width:400px;margin-left:auto;margin-right:auto}.form-row{display:flex;gap:16px;margin-bottom:16px}.form-group{flex:1}.form-group label{display:block;font-weight:600;color:var(--forest-dark);margin-bottom:8px;font-size:.875rem}.form-input,.form-select,.form-textarea{width:100%;padding:14px 16px;border:2px solid var(--sage-light);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-body);color:var(--text-dark);transition:all .3s ease;background:#fff}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px #2d5a4a1a}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%232D5A4A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}.form-textarea{min-height:100px;resize:vertical}.btn-tracker{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;font-weight:600;border-radius:var(--radius-md);transition:all .3s ease;cursor:pointer;border:none;font-family:var(--font-body);font-size:1rem}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-dark);transform:translateY(-2px)}.btn-secondary{background:var(--sage-light);color:var(--forest-dark)}.btn-secondary:hover{background:var(--sage)}.btn-danger{background:#fee2e2;color:#dc2626}.btn-danger:hover{background:#fecaca}.btn-sm{padding:8px 16px;font-size:.875rem}.btn-icon-only{width:40px;height:40px;padding:0;border-radius:var(--radius-sm)}.progress-bar{height:12px;background:var(--sage-light);border-radius:6px;overflow:hidden}.progress-fill{height:100%;border-radius:6px;transition:width .5s ease}.dashboard-ad{margin-bottom:24px}.child-ad{margin:24px 0}@media (max-width: 1024px){.tracker-sidebar{width:240px}.tracker-main{margin-left:240px;padding:24px}}@media (max-width: 768px){.tracker{flex-direction:column}.tracker-sidebar{position:relative;width:100%;padding:16px}.tracker-main{margin-left:0;padding:16px}.sidebar-nav{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:8px}.nav-item{flex-shrink:0;padding:12px 16px}.nav-item span,.sidebar-tier,.sidebar-help{display:none}.form-row{flex-direction:column}.tracker-section{padding:20px}}.about-page{min-height:100vh;background:var(--cream-light)}.about-nav{padding:20px 40px;background:#fff;border-bottom:1px solid var(--sage-light)}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--cream-light);border-radius:var(--radius-lg);color:var(--forest);font-weight:600;transition:all .2s ease}.back-btn:hover{background:var(--sage-light)}.about-header{position:relative;padding:80px 40px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);color:#fff;text-align:center;overflow:hidden}.about-header .header-content{position:relative;z-index:2}.about-header h1{font-family:var(--font-display);font-size:3rem;margin-bottom:16px}.about-header p{font-size:1.25rem;opacity:.9;max-width:500px;margin:0 auto}.header-decoration{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none}.deco-circle{position:absolute;border-radius:50%;background:#ffffff0d}.deco-circle:nth-child(1){width:400px;height:400px;top:-150px;right:-100px}.deco-circle:nth-child(2){width:300px;height:300px;bottom:-100px;left:-50px}.deco-circle:nth-child(3){width:200px;height:200px;top:50%;left:60%}.about-content{max-width:1000px;margin:0 auto;padding:60px 40px 80px}.mission-section{text-align:center;padding:48px;background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin-bottom:60px}.mission-icon{width:70px;height:70px;background:linear-gradient(135deg,#fce7f3,#fbcfe8);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#ec4899}.mission-section h2{font-family:var(--font-display);font-size:1.75rem;color:var(--forest-dark);margin-bottom:16px}.mission-section p{font-size:1.125rem;color:var(--text-dark);line-height:1.7;max-width:700px;margin:0 auto}.team-section{margin-bottom:60px}.section-header{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:32px}.section-header svg{color:var(--forest)}.section-header h2{font-family:var(--font-display);font-size:1.75rem;color:var(--forest-dark)}.team-grid{display:flex;flex-direction:column;gap:24px}.founders-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.team-card{background:#fff;border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease}.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.team-card.consultant-card{flex-direction:row;text-align:left;align-items:flex-start;gap:32px}.card-avatar{flex-shrink:0}.avatar-placeholder{width:100px;height:100px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:1.75rem;font-weight:700}.avatar-placeholder.consultant{background:linear-gradient(135deg,#8b5cf6,#a78bfa);width:120px;height:120px;font-size:2rem}.card-content{flex:1}.card-content h3{font-family:var(--font-display);font-size:1.375rem;color:var(--forest-dark);margin:16px 0 4px}.consultant-card .card-content h3{margin-top:0}.card-content .role{font-size:.9375rem;color:var(--sage-dark);font-weight:600;margin-bottom:16px}.card-content .bio{font-size:.9375rem;color:var(--text-dark);line-height:1.7;margin-bottom:16px}.card-content .bio:last-of-type{margin-bottom:0}.expertise-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.expertise-tags .tag{padding:6px 14px;background:linear-gradient(135deg,#f3e8ff,#e9d5ff);color:#7c3aed;border-radius:var(--radius-full);font-size:.8125rem;font-weight:600}.values-section{margin-bottom:60px}.values-section h2{font-family:var(--font-display);font-size:1.75rem;color:var(--forest-dark);text-align:center;margin-bottom:32px}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.value-card{background:#fff;border-radius:var(--radius-xl);padding:28px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s ease}.value-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.value-icon{width:56px;height:56px;background:var(--cream-light);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--forest)}.value-card h4{font-size:1rem;color:var(--forest-dark);margin-bottom:8px}.value-card p{font-size:.875rem;color:var(--text-muted);line-height:1.5}.contact-cta{text-align:center;padding:48px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);border-radius:var(--radius-xl);color:#fff}.contact-cta h2{font-family:var(--font-display);font-size:1.75rem;margin-bottom:12px}.contact-cta p{font-size:1.0625rem;opacity:.9;margin-bottom:24px}.contact-btn{display:inline-flex;align-items:center;padding:14px 32px;background:#fff;color:var(--forest);border-radius:var(--radius-lg);font-weight:600;font-size:1rem;transition:all .2s ease}.contact-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0003}@media (max-width: 900px){.founders-grid{grid-template-columns:1fr}.values-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.about-header{padding:60px 24px}.about-header h1{font-size:2.25rem}.about-content{padding:40px 20px 60px}.mission-section{padding:32px 24px}.team-card{padding:24px}.team-card.consultant-card{flex-direction:column;text-align:center;align-items:center}.consultant-card .card-content h3{margin-top:16px}.expertise-tags{justify-content:center}.values-grid{grid-template-columns:1fr}.contact-cta{padding:32px 24px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,var(--cream-light) 0%,#f5f0e6 100%)}.auth-container{width:100%;max-width:440px;background:#fff;border-radius:var(--radius-xl);padding:40px;box-shadow:var(--shadow-lg)}.auth-container .back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;margin-bottom:32px;background:var(--cream-light);border-radius:var(--radius-md);color:var(--forest);font-weight:500;font-size:.875rem;transition:all .2s ease}.auth-container .back-btn:hover{background:var(--sage-light)}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--forest) 0%,var(--sage) 100%);border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#fff}.auth-header h1{font-family:var(--font-display);font-size:1.75rem;color:var(--forest-dark);margin-bottom:8px}.auth-header p{color:var(--text-muted)}.auth-alert{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:var(--radius-md);margin-bottom:24px;font-size:.9375rem}.auth-alert.error{background:#fef2f2;color:#dc2626}.auth-alert.success{background:#f0fdf4;color:#16a34a}.auth-alert svg{flex-shrink:0;margin-top:2px}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-form .form-group{display:flex;flex-direction:column;gap:8px}.auth-form label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.875rem;color:var(--forest-dark)}.auth-form label svg{color:var(--sage)}.auth-form input{width:100%;padding:14px 16px;border:2px solid var(--sage-light);border-radius:var(--radius-md);font-size:1rem;transition:all .2s ease}.auth-form input:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 3px #2d5a4a1a}.auth-form input::placeholder{color:var(--text-muted)}.password-input{position:relative}.password-input input{padding-right:48px}.toggle-password{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);padding:4px}.toggle-password:hover{color:var(--forest)}.forgot-link{align-self:flex-end;color:var(--forest);font-size:.875rem;font-weight:500;margin-top:-8px}.forgot-link:hover{text-decoration:underline}.submit-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,var(--forest) 0%,var(--forest-dark) 100%);color:#fff;border-radius:var(--radius-md);font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-top:8px}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:16px;margin:28px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--sage-light)}.auth-divider span{color:var(--text-muted);font-size:.8125rem}.oauth-buttons{display:flex;flex-direction:column;gap:12px}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:14px 20px;border:2px solid var(--sage-light);border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;color:var(--text-dark);background:#fff;transition:all .2s ease}.oauth-btn:hover:not(:disabled){background:var(--cream-light);border-color:var(--sage)}.oauth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:28px;padding-top:24px;border-top:1px solid var(--sage-light)}.auth-footer p{color:var(--text-muted);font-size:.9375rem}.auth-footer button{color:var(--forest);font-weight:600}.auth-footer button:hover{text-decoration:underline}.demo-notice{display:flex;gap:16px;padding:20px;background:#fef3c7;border-radius:var(--radius-lg);margin-bottom:24px}.demo-notice svg{color:#d97706;flex-shrink:0;margin-top:2px}.demo-notice h3{font-size:1rem;color:#92400e;margin-bottom:8px}.demo-notice p{font-size:.875rem;color:#92400e;line-height:1.6;margin-bottom:12px}.demo-notice ol{font-size:.875rem;color:#92400e;padding-left:20px;margin-bottom:12px}.demo-notice li{margin-bottom:6px}.demo-notice code{background:#0000001a;padding:2px 6px;border-radius:4px;font-family:monospace}.demo-notice a{color:#92400e;font-weight:600;text-decoration:underline}.demo-btn{width:100%}@media (max-width: 480px){.auth-container{padding:28px 24px}.auth-header h1{font-size:1.5rem}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--cream-light);gap:20px}.loading-spinner{width:48px;height:48px;border:4px solid var(--sage-light);border-top-color:var(--forest);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-loading p{color:var(--text-muted);font-size:1rem}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px;background:var(--cream-light)}.error-content{max-width:600px;text-align:center;background:#fff;padding:48px;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.error-content svg{color:#dc2626;margin-bottom:24px}.error-content h2{font-family:var(--font-display);font-size:1.5rem;color:var(--forest-dark);margin-bottom:12px}.error-content p{color:var(--text-muted);margin-bottom:24px}.btn-retry{padding:12px 24px;background:var(--forest);color:#fff;border-radius:var(--radius-lg);font-weight:600;border:none;cursor:pointer;transition:all .2s ease}.btn-retry:hover{background:var(--forest-dark);transform:translateY(-2px)}.error-details{margin-top:24px;text-align:left}.error-details summary{cursor:pointer;color:var(--forest);font-weight:600;margin-bottom:12px}.error-details pre{background:#f5f5f5;padding:16px;border-radius:var(--radius-md);overflow-x:auto;font-size:.8125rem;color:var(--text-dark)}:root{--forest: #2D5A4A;--forest-dark: #1E3D32;--cream: #F4E8D1;--cream-light: #FAF6EE;--terracotta: #E8A87C;--terracotta-dark: #D4896A;--sage: #8FB39A;--sage-light: #B5D4BE;--charcoal: #2C3E3A;--text-dark: #1A2A25;--text-muted: #5A6B66;--font-display: "Fraunces", serif;--font-body: "Source Sans 3", sans-serif;--shadow-sm: 0 2px 8px rgba(45, 90, 74, .08);--shadow-md: 0 8px 24px rgba(45, 90, 74, .12);--shadow-lg: 0 16px 48px rgba(45, 90, 74, .16);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:18px;line-height:1.7;color:var(--text-dark);background:var(--cream-light);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--forest-dark)}h1{font-size:clamp(2.5rem,5vw + 1rem,4.5rem);font-weight:700}h2{font-size:clamp(2rem,3vw + 1rem,3rem)}h3{font-size:clamp(1.25rem,2vw + .5rem,1.75rem)}p{max-width:65ch}a{color:var(--forest);text-decoration:none;transition:color .2s ease}a:hover{color:var(--terracotta)}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-body);font-size:1rem;cursor:pointer;border:none;background:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width: 768px){body{font-size:16px}.container{padding:0 16px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeInUp .8s ease forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}
