*{box-sizing:border-box}body{color:#1f2937;background-color:#fbfbfa;background-image:radial-gradient(circle at 100% 0,#6fa8e01a,#0000 45%),radial-gradient(circle at 0 20%,#f08db81a,#0000 40%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif}h1,h2,h3{margin:0 0 8px;font-weight:700}p{margin:0 0 8px;line-height:1.5}.muted{color:#6b7280}.small{font-size:13px}.btn{cursor:pointer;border:none;border-radius:999px;padding:12px 20px;font-size:15px;font-weight:600;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:linear-gradient(135deg,#40916c,#2d6a4f);box-shadow:0 6px 16px #2d6a4f47}.btn-primary:hover{box-shadow:0 10px 22px #2d6a4f59}.btn-ghost{color:#2d6a4f;background:#f7f5ee}.btn-text{color:#6b7280;background:0 0}.btn-small{padding:6px 14px;font-size:13px}.btn-block{width:100%;margin-top:10px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-header{z-index:20;background:#fff;border-bottom:1px solid #eae7dc;align-items:center;gap:24px;padding:14px 32px;display:flex;position:sticky;top:0}.brand{background:linear-gradient(135deg,#2d6a4f,#40916c 60%,#6fa8e0);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:800;text-decoration:none}.top-nav{gap:18px;display:flex}.top-nav a{color:#1f2937;border-bottom:2px solid #0000;padding:6px 2px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s}.top-nav a:hover{color:#2d6a4f;border-bottom-color:#6fa8e0}.search-wrap{width:320px;margin-left:auto;position:relative}.search-input{background:#f7f5ee;border:1px solid #eae7dc;border-radius:999px;outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.search-input:focus{background:#fff;border-color:#6fa8e0;box-shadow:0 0 0 4px #6fa8e02e}.search-results{z-index:30;background:#fff;border-radius:16px;position:absolute;top:44px;left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #0000001f}.search-result-row{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 14px;font-size:14px;display:block}.search-result-row:hover{background:#f7f5ee}.app-main{flex:1}.app-footer{border-top:1px solid #eae7dc;justify-content:space-between;align-items:center;padding:14px 32px;display:flex}.home-hero{align-items:center;gap:48px;max-width:1200px;margin:0 auto;padding:64px 48px;display:flex}.hero-text{flex:1}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#40916c;font-size:12px;font-weight:700}.home-hero h1{color:#2d6a4f;margin-top:6px;font-size:48px}.hero-sub{color:#374151;max-width:520px;font-size:18px}.hero-points{flex-direction:column;gap:8px;margin:18px 0;padding:0;font-size:15px;list-style:none;display:flex}.signin-card{background:#fff;border-radius:22px;max-width:460px;margin-top:16px;padding:24px;box-shadow:0 14px 34px #2d6a4f24,0 4px 14px #6fa8e01f}.signin-row{gap:10px;display:flex}.signin-row .text-input{flex:1}.magic-sent{text-align:center}.hero-art{flex:0 0 300px;justify-content:center;display:flex}.hero-sprout-circle{background:radial-gradient(circle at 30% 30%,#d8f3dc,#95d5b2);border-radius:50%;justify-content:center;align-items:center;width:260px;height:260px;font-size:100px;display:flex;box-shadow:0 20px 50px #2d6a4f33,0 0 0 14px #6fa8e01f,0 0 0 28px #f08db814}.home-trust{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:1200px;margin:0 auto;padding:0 48px 64px;display:grid}.trust-card{background:linear-gradient(145deg,#fbe4ed,#fff3d6);border-radius:22px;padding:28px;box-shadow:0 10px 26px #f08db82e}.trust-card.trust-blue{background:linear-gradient(145deg,#e6f0fa,#d8f3dc);box-shadow:0 10px 26px #6fa8e02e}.dashboard-page,.detail-page{max-width:1100px;margin:0 auto;padding:32px 48px}.dash-header{margin-bottom:18px}.tab-row{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.tab-btn{cursor:pointer;color:#374151;background:#f7f5ee;border:none;border-radius:999px;padding:10px 18px;font-weight:600;transition:transform .15s,box-shadow .15s}.tab-btn:hover{transform:translateY(-1px)}.tab-btn.tab-active{color:#fff;background:linear-gradient(135deg,#40916c,#2d6a4f);box-shadow:0 6px 14px #2d6a4f40}.tab-btn.tab-cta{color:#fff;background:linear-gradient(135deg,#ffc53d,#f08db8);margin-left:auto;box-shadow:0 6px 14px #f08db84d}.panel{background:#fff;border-radius:22px;margin-bottom:20px;padding:24px;box-shadow:0 4px 18px #0000000d}.panel-head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px;display:flex}.card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.info-card{cursor:pointer;background:#f7f5ee;border-radius:18px;padding:18px;transition:transform .15s,box-shadow .15s}.info-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #2d6a4f24}.new-card{color:#2d6a4f;background:0 0;border:2px dashed #95d5b2;justify-content:center;align-items:center;font-weight:700;display:flex}.tag-row{gap:8px;margin-bottom:8px;display:flex}.tag{color:#2d6a4f;background:#d8f3dc;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.tag-gold{color:#b45309;background:#fff3d6}.tag-blue{color:#205581;background:#e6f0fa}.tag-small{margin-right:6px;font-size:10px}.booking-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.booking-row{background:#f7f5ee;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.booking-row strong{color:#2d6a4f}.pricing-card{background:linear-gradient(135deg,#d8f3dc,#e6f0fa);border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:22px;display:flex;box-shadow:0 10px 24px #2d6a4f1f}.pricing-title{margin:6px 0 2px}.pricing-amount{align-items:baseline;gap:4px;display:flex}.pricing-price{color:#2d6a4f;font-size:32px;font-weight:800}.notice-box{background:#fff3d6;border:1px solid #ffe199;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.roster-table{border-collapse:collapse;width:100%}.roster-table th,.roster-table td{text-align:left;border-bottom:1px solid #eae7dc;padding:10px 8px}.level-tag{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.level-approaching{color:#be185d;background:#fbe4ed}.level-meeting{color:#2d6a4f;background:#d8f3dc}.level-exceeding{color:#b45309;background:#fff3d6}.empty-state{text-align:center;padding:48px 16px}.empty-illustration{margin-bottom:12px;font-size:56px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#1f293773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card,.onboarding-card{background:#fff;border-radius:24px;width:100%;max-width:520px;max-height:90vh;padding:32px;overflow-y:auto;box-shadow:0 30px 60px #0003}.sprout-illustration{text-align:center;margin-bottom:8px;font-size:56px}.subhead{color:#6b7280;margin-bottom:18px}.value-bullets{flex-direction:column;gap:14px;margin:0 0 20px;padding:0;list-style:none;display:flex}.value-bullets li{align-items:flex-start;gap:12px;display:flex}.bullet-icon{font-size:22px}.value-bullets p{color:#6b7280;margin:0;font-size:13px}.field-label{color:#374151;margin:14px 0 6px;font-size:13px;font-weight:700;display:block}.text-input{border:1px solid #e5e7eb;border-radius:14px;width:100%;padding:11px 14px;font-size:14px}.pill-row{flex-wrap:wrap;gap:8px;display:flex}.pill{cursor:pointer;background:#f7f5ee;border:1px solid #d8f3dc;border-radius:999px;padding:7px 14px;font-size:13px}.pill-active{color:#fff;background:#2d6a4f;border-color:#2d6a4f}.activity-pick-grid{flex-direction:column;gap:14px;display:flex}.activity-pick-card{background:#f7f5ee;border-radius:18px;padding:18px}.activity-pick-card .desc{color:#6b7280;font-size:13px}.checklist-widget{z-index:60;background:#fff;border-radius:20px;width:320px;padding:18px;position:fixed;bottom:24px;right:24px;box-shadow:0 20px 40px #00000026}.checklist-header{align-items:center;gap:12px;margin-bottom:10px;display:flex}.checklist-actions{gap:4px;margin-left:auto;display:flex}.icon-btn{cursor:pointer;background:#f7f5ee;border:none;border-radius:8px;width:26px;height:26px;font-weight:700}.progress-ring{color:#2d6a4f;background:conic-gradient(#40916c var(--pct), #e5e7eb var(--pct));border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:11px;font-weight:800;display:flex}.progress-ring span{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.checklist-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.checklist-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;gap:10px;width:100%;padding:8px;display:flex}.checklist-item:hover{background:#f7f5ee}.checklist-list li.done p,.checklist-list li.done strong{color:#9ca3af;text-decoration:line-through}.checklist-item .checkbox{color:#2d6a4f;border:2px solid #95d5b2;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;display:flex}.checklist-item p{color:#6b7280;margin:2px 0 0;font-size:12px}.checklist-badge{color:#fff;cursor:pointer;z-index:60;background:linear-gradient(135deg,#40916c,#2d6a4f);border:none;border-radius:999px;padding:12px 20px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 24px #2d6a4f4d}.student-chip-list{flex-direction:column;gap:12px;margin:16px 0;display:flex}.student-chip{background:#f7f5ee;border-radius:16px;padding:12px 14px}.chip-name{margin-bottom:8px;font-weight:700}.level-row{flex-wrap:wrap;gap:8px;display:flex}.level-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:6px 12px;font-size:12px}.level-active{color:#fff;background:#2d6a4f;border-color:#2d6a4f}.celebration-card{text-align:center;background:linear-gradient(160deg,#d8f3dc,#fff);border-radius:24px;max-width:420px;padding:40px;position:relative;overflow:hidden}.high-five{font-size:56px}.confetti-field{pointer-events:none;position:absolute;inset:0}.confetti-piece{border-radius:2px;width:8px;height:14px;animation:2.2s ease-in infinite fall;position:absolute;top:-10px}.piece-0{background:#f08db8;animation-delay:0s;left:10%}.piece-1{background:#ffc53d;animation-delay:.2s;left:25%}.piece-2{background:#6fa8e0;animation-delay:.4s;left:40%}.piece-3{background:#40916c;animation-delay:.1s;left:60%}.piece-4{background:#f08db8;animation-delay:.3s;left:75%}.piece-5{background:#ffc53d;animation-delay:.5s;left:90%}@keyframes fall{to{opacity:0;transform:translateY(420px)rotate(240deg)}}.tour-layer{z-index:90;pointer-events:none;position:fixed;inset:0}.tour-backdrop{background:#1f293780;position:absolute;inset:0}.tour-spotlight{pointer-events:none;border-radius:16px;transition:top .3s,left .3s,width .3s,height .3s;position:fixed;box-shadow:0 0 0 9999px #1f293780}.tour-tooltip{pointer-events:auto;background:#fff;border-radius:16px;width:300px;padding:18px;transition:top .3s,left .3s;position:fixed;box-shadow:0 20px 40px #00000040}.tour-step-count{color:#40916c;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.tour-controls{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.tour-nav-buttons{gap:8px;display:flex}.settings-checklist{flex-direction:column;gap:6px;margin-bottom:14px;padding:0;list-style:none;display:flex}.report-drawer{background:#f7f5ee;border-radius:22px;margin-top:16px;padding:24px}.stat-row{flex-wrap:wrap;gap:16px;margin:16px 0;display:flex}.stat-box{text-align:center;background:#fff;border-radius:16px;flex:1;min-width:140px;padding:16px;box-shadow:0 6px 16px #0000000d}.stat-box strong{color:#2d6a4f;font-size:28px;display:block}.stat-box:nth-child(2) strong{color:#b45309}.stat-box:nth-child(3) strong{color:#205581}@media (width<=860px){.home-hero{flex-direction:column;padding:32px 20px}.top-header{flex-wrap:wrap}.search-wrap{order:3;width:100%}}
