:root{--ink: #26352b;--muted: #667a6d;--card: #ffffff;--radius: 22px;--shadow: 0 10px 30px rgba(31, 70, 40, .12);--accent: #2e9e4f;--accent-dark: #207a3a;--accent-soft: #e4f5e8;--bg-a: #d8f1ff;--bg-b: #f4fbe6;--danger: #d64545}.teachers-theme{--accent: #3b5bdb;--accent-dark: #2c45b0;--accent-soft: #e7ecff;--bg-a: #e8ecff;--bg-b: #f6f8ff}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Cairo,Segoe UI,Tahoma,Arial,sans-serif;color:var(--ink);background:#eef7ef;line-height:1.6}.page{min-height:100vh;padding:20px clamp(14px,4vw,40px) 48px;background:linear-gradient(180deg,var(--bg-a) 0%,var(--bg-b) 70%)}.page.center{display:grid;place-items:center}.center-text{text-align:center}h1,h2,h3{margin:0 0 8px;line-height:1.3}h2{font-size:1.3rem}h3{font-size:1.05rem;margin-top:18px}.muted{color:var(--muted);margin:0}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:700;font-size:.95rem}input,select{font:inherit;font-weight:600;padding:12px 14px;border:2px solid #d5e3d8;border-radius:14px;background:#fbfefb;color:var(--ink);width:100%}input:focus,select:focus,button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.pw{display:flex;gap:8px;align-items:center}.alert{background:#fdecec;color:#9b2c2c;border:1px solid #f5c2c2;padding:10px 14px;border-radius:14px;font-weight:600}.btn{font:inherit;font-weight:700;border:2px solid var(--accent);background:#fff;color:var(--accent-dark);padding:10px 18px;border-radius:999px;cursor:pointer;transition:transform .12s ease,background .12s ease}.btn:hover{transform:translateY(-1px);background:var(--accent-soft)}.btn:disabled{opacity:.6;cursor:wait}.btn.primary{background:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.big{padding:13px 22px;font-size:1.05rem}.btn.ghost{border-color:transparent;background:#ffffffb3}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:#fdecec}button.ghost.small{font:inherit;font-weight:700;font-size:.85rem;border:none;background:var(--accent-soft);color:var(--accent-dark);padding:10px 12px;border-radius:12px;cursor:pointer;white-space:nowrap}.auth-card{width:min(440px,100%);text-align:center}.auth-card .form{text-align:start;margin-top:16px}.auth-art{font-size:3.4rem;line-height:1;margin-bottom:6px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--accent-soft);padding:5px;border-radius:999px;margin-top:16px}.tab{font:inherit;font-weight:700;border:none;background:transparent;padding:9px;border-radius:999px;cursor:pointer;color:var(--accent-dark)}.tab.active{background:var(--accent);color:#fff}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1180px;margin:0 auto 18px;flex-wrap:wrap}.topbar-title{font-size:clamp(1.3rem,3.5vw,1.9rem);margin:0}.pill{display:inline-block;background:var(--accent-soft);color:var(--accent-dark);padding:2px 14px;border-radius:999px;font-weight:700;font-size:.9rem}.pill.green{background:#e4f5e8;color:#207a3a}.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.row.grow{flex:1;min-width:240px}.top-gap{margin-top:18px}.kids-layout{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;align-items:start}.tree-card{padding:12px 12px 18px;text-align:center;background:linear-gradient(180deg,#f1fbff,#fff 55%)}.tree-caption{margin:4px 0 0;font-weight:700;color:var(--accent-dark)}.side-card{position:sticky;top:16px}.tree{width:100%;height:auto;max-height:82vh;display:block;margin:0 auto}.leaf-text{font-family:Cairo,Segoe UI,Tahoma,sans-serif;paint-order:stroke;stroke:#0000002e;stroke-width:1.5px}.leaf{transform-box:fill-box;transform-origin:center;animation:pop .5s cubic-bezier(.2,1.4,.4,1) both}@keyframes pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.leaf{animation:none}}.chips{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;background:#e4f5e8;color:#1f6b34;border-radius:999px;padding:4px 6px 4px 14px;font-weight:700}.chip:not(:has(button)){padding:4px 14px}.chip button{border:none;background:#fff;color:#b33;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1.1rem;line-height:1;padding:0}.stats,.toolbar,.grid{max-width:1180px;margin-inline:auto}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-bottom:16px}.stat{background:#fff;border-radius:18px;padding:14px 16px;box-shadow:var(--shadow);display:grid;text-align:center}.stat-num{font-size:1.8rem;font-weight:800;color:var(--accent-dark);line-height:1.1}.stat-label{color:var(--muted);font-weight:700;font-size:.9rem}.small-stat .stat-num{font-size:1.4rem}.toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;padding:14px 16px;margin-bottom:18px}.filters{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{font:inherit;font-weight:700;border:2px solid transparent;background:var(--accent-soft);color:var(--accent-dark);padding:6px 14px;border-radius:999px;cursor:pointer}.chip-btn.active{background:var(--accent);color:#fff}.search{flex:1;min-width:160px}.toolbar select{width:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.tree-tile{font:inherit;color:inherit;border:none;cursor:pointer;text-align:center;display:grid;gap:2px;justify-items:center;padding:14px 12px 16px;transition:transform .15s ease}.tree-tile:hover{transform:translateY(-4px)}.tree-compact{max-height:190px}.empty{max-width:460px;margin:30px auto;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e198c;display:grid;place-items:center;padding:16px;z-index:20}.modal{width:min(980px,100%);max-height:92vh;overflow:auto}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.modal-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;align-items:start}@media(max-width:860px){.kids-layout,.modal-body{grid-template-columns:1fr}.side-card{position:static}}
