:root{--bg:#f5faf6;--card:#fff;--ink:#20332e;--muted:#60706b;--line:#dfe9e4;--green:#246655;--soft:#e8f3ee;--gold:#fff5dc;--red:#ffe8e5}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f7fbf8,#f3faf5);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:999px;padding:12px 20px;font-weight:800;color:var(--ink);background:#eef5f1}a{color:var(--green);font-weight:800;cursor:pointer;text-decoration:none}.topbar{height:98px;display:flex;align-items:center;justify-content:space-between;padding:20px 48px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.78);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:14px;cursor:pointer}.brand-mark{width:56px;height:56px;border-radius:18px;background:var(--green);color:white;display:grid;place-items:center;font-weight:900;font-size:22px}.brand-name{font-size:24px;font-weight:950}.brand-tag{font-size:14px;color:var(--muted)}.nav{display:flex;align-items:center;gap:10px}.nav button{background:transparent}.nav .active,.primary-nav{background:var(--soft)!important;color:var(--green)}main{max-width:1180px;margin:0 auto;padding:34px 28px 90px}.view{display:none}.view.active{display:block}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) 360px;gap:28px;align-items:center;padding:42px;border:1px solid var(--line);border-radius:28px;background:white;box-shadow:0 18px 48px rgba(23,61,49,.08)}.hero.compact h1{font-size:42px;line-height:1.05;margin:8px 0 16px}.lead{font-size:18px;line-height:1.6;color:var(--muted);max-width:720px}.eyebrow{font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--green);font-weight:950}.hero-actions{display:flex;gap:12px;margin-top:24px}.primary{background:var(--green);color:#fff}.secondary{background:white;border:1px solid var(--line)}.soft{background:var(--soft);color:var(--green)}.full{width:100%}.mini-dashboard{border:1px solid var(--line);border-radius:22px;padding:22px;background:#fbfefd}.mini-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.mini-row:last-child{border-bottom:0}.progress{height:8px;background:#e6efea;border-radius:99px;overflow:hidden;margin-top:18px}.progress span{display:block;height:100%;background:var(--green)}.cards{display:grid;gap:18px;margin-top:22px}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 44px rgba(23,61,49,.06)}.card h3{margin:0 0 12px;font-size:20px}.card p,.muted{color:var(--muted);line-height:1.55}.auth-view{display:none;place-items:center;min-height:68vh}.auth-view.active{display:grid}.auth-card{width:min(620px,100%);background:white;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 18px 50px rgba(23,61,49,.08)}.auth-card h2{font-size:34px;margin:8px 0 16px}label{display:block;margin:16px 0 7px;font-weight:850}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:15px;padding:14px 16px;background:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:#93c7b7;box-shadow:0 0 0 4px #e8f4ef}.center{text-align:center}.hidden{display:none!important}.small-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.small-tabs button.active{background:var(--green);color:white}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.section-head h2{font-size:38px;margin:4px 0 0}.compact-head h2{font-size:34px}.family-code{display:inline-block;background:var(--gold);padding:12px 16px;border-radius:14px;font-weight:850;color:#795408}.children-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.child-card .badge{display:inline-block;background:var(--soft);color:var(--green);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:850}.split-card{display:grid;grid-template-columns:1fr 1fr;gap:32px}.setup-card{margin-bottom:22px}.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.setup-step{border:1px solid var(--line);border-radius:20px;padding:18px;background:#fbfefd}.setup-step b{width:34px;height:34px;display:grid;place-items:center;background:var(--soft);color:var(--green);border-radius:12px}.student-shell{margin-top:20px}.student-nav{display:flex;gap:8px;overflow:auto;white-space:nowrap;padding:4px 0 16px}.student-nav button{background:white;border:1px solid var(--line)}.student-nav button.active{background:var(--green);color:white}.student-panel{display:none}.student-panel.active{display:block}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.task-row{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);padding:14px;border-radius:16px;margin-bottom:10px;background:white}.task-row.done{opacity:.65;text-decoration:line-through}.big-stat{font-size:42px;font-weight:950;color:var(--green);margin-top:12px}.stack{display:grid;gap:12px}.empty-box{padding:24px;background:white;border:1px solid var(--line);border-radius:20px;color:var(--muted)}.inline-form{display:grid;grid-template-columns:1fr 160px 180px;gap:10px;margin:14px 0}.buddy,.progress-row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;margin-top:10px}.pill{display:inline-block;padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--green);font-size:12px;font-weight:850}.modal{position:fixed;inset:0;background:rgba(10,25,20,.35);display:grid;place-items:center;z-index:50;padding:20px}.modal-card{width:min(640px,100%);max-height:90vh;overflow:auto;background:white;border-radius:26px;padding:28px;position:relative}.close{position:absolute;right:16px;top:16px;width:36px;height:36px;padding:0}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#20332e;color:white;padding:12px 18px;border-radius:999px;z-index:60;font-weight:800}@media(max-width:900px){.topbar{padding:16px 20px;height:auto;align-items:flex-start;gap:14px}.nav{max-width:100%;overflow:auto}.brand-tag{display:none}.hero,.dashboard-grid,.cards.three,.cards.two,.setup-grid,.split-card{grid-template-columns:1fr}.hero.compact h1{font-size:32px}.inline-form{grid-template-columns:1fr}.section-head{flex-direction:column}.section-head h2{font-size:32px}}
