:root{--bg:#f6f7fb;--card:#fff;--text:#171923;--muted:#6b7280;--line:#e7e9ee;--accent:#5b5cf0;--accent2:#ececff;--ok:#0f8a55;--shadow:0 12px 35px #181e3c0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:#11131a;flex-direction:column;padding:28px 18px;display:flex}.brand{align-items:center;gap:10px;padding:0 10px 34px;font-size:19px;font-weight:800;display:flex}.logo{color:#111;background:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}nav{gap:6px;display:grid}nav a{color:#adb0bb;border-radius:10px;padding:11px 12px;text-decoration:none}nav a.active,nav a:hover{color:#fff;background:#232632}.plan{color:#aeb2bf;border:1px solid #2d303b;border-radius:14px;gap:6px;margin-top:auto;padding:14px;font-size:12px;display:grid}.plan strong{color:#fff}.plan button{color:#111;background:#fff;border:0;border-radius:8px;margin-top:8px;padding:9px;font-weight:700}.content{width:100%;max-width:1320px;margin:auto;padding:38px}.topbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px;display:flex}.eyebrow{letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:800}.topbar h1{margin:5px 0 0;font-size:30px}.primary,.ghost{cursor:pointer;border:0;border-radius:10px;padding:11px 15px;font-weight:750}.primary{background:var(--accent);color:#fff}.wide{width:100%;margin-top:6px}.ghost{background:var(--accent2);color:#4547c7}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px;display:grid}.stat,.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.stat{padding:18px}.stat span{color:var(--muted);font-size:13px;display:block}.stat strong{margin-top:8px;font-size:26px;display:block}.grid{grid-template-columns:.9fr 1.1fr;gap:18px;display:grid}.card{padding:22px}.card-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.card h2{margin:0 0 4px;font-size:20px}.card p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.student-list{gap:8px;display:grid}.student-row{text-align:left;cursor:pointer;background:#fff;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.student-row:hover,.student-row.selected{background:#f6f6ff;border-color:#dfe0ff}.avatar{color:#4749c9;background:#ececff;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.student-main{flex:1;gap:2px;display:grid}.student-main span,.last{color:var(--muted);font-size:12px}.badge,.success{border-radius:999px;padding:6px 8px;font-size:11px;font-weight:800}.badge{color:#6b4ee9;background:#f2efff}.success{color:var(--ok);background:#e8f7ef}label{gap:7px;margin-bottom:14px;font-size:12px;font-weight:750;display:grid}input,select,textarea{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:10px;outline:none;padding:11px 12px}textarea{resize:vertical;line-height:1.5}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.report{margin-top:18px}.report-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.report article{border:1px solid var(--line);background:#fcfcfe;border-radius:12px;padding:14px}.report article:last-child{grid-column:1/-1}.report h3{margin:0 0 8px;font-size:13px}.report article p{font-size:13px}.lesson-card{scroll-margin-top:20px}footer{text-align:center;color:#9aa0ad;padding:28px 0 8px;font-size:12px}@media (max-width:950px){.shell{grid-template-columns:1fr}.sidebar{display:none}.content{padding:22px}.stats{grid-template-columns:1fr 1fr}.grid,.report-grid{grid-template-columns:1fr}.report article:last-child{grid-column:auto}}@media (max-width:560px){.stats{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.form-grid{grid-template-columns:1fr}.content{padding:16px}}
