*{box-sizing:border-box}html{background:#f2ede4;color:#20201d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,#fffdf8 0,#f2ede4 48%,#e8dfd0 100%)}button,input{font:inherit}.account-shell{width:min(980px,100%);margin:0 auto;padding:24px 18px 48px}.brand{display:inline-flex;flex-direction:column;gap:2px;color:inherit;text-decoration:none;margin:4px 0 28px}.brand span{font-size:11px;letter-spacing:.15em;color:#857d70}.brand strong{font-size:18px}.account-card{border:1px solid rgba(40,36,30,.1);border-radius:30px;background:rgba(255,253,248,.92);box-shadow:0 28px 80px rgba(44,35,23,.12);padding:clamp(22px,5vw,48px)}.account-intro{max-width:680px}.account-intro small,.dashboard small{font-size:11px;letter-spacing:.14em;color:#82796d;font-weight:800}.account-intro h1,.dashboard h1{font-size:clamp(34px,7vw,64px);line-height:.98;letter-spacing:-.045em;margin:12px 0}.account-intro p,.dashboard p{color:#70685e;line-height:1.6}.account-tabs{display:flex;gap:6px;margin:28px 0 22px;padding:5px;background:#ece6db;border-radius:16px;width:max-content;max-width:100%}.account-tabs button{border:0;background:transparent;padding:11px 15px;border-radius:12px;font-weight:800;color:#70685e}.account-tabs button.active{background:#fff;color:#20201d;box-shadow:0 4px 14px rgba(45,38,28,.08)}form{display:grid;gap:14px}label{display:grid;gap:7px;font-size:13px;font-weight:800}input{width:100%;border:1px solid rgba(45,40,32,.14);background:#fff;border-radius:14px;padding:14px 15px;outline:none}input:focus{border-color:#8f7045;box-shadow:0 0 0 4px rgba(143,112,69,.1)}.role-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-picker button{border:1px solid rgba(45,40,32,.12);background:#faf7f1;border-radius:16px;padding:16px;text-align:left}.role-picker button strong,.role-picker button span{display:block}.role-picker button span{margin-top:4px;color:#7a7267;font-size:12px}.role-picker button.active{border-color:#8f7045;background:#fffaf0;box-shadow:0 0 0 3px rgba(143,112,69,.1)}button.primary,.open-board,.link-student button,.student-row button{border:0;border-radius:14px;background:#20201d;color:#fff;padding:14px 18px;font-weight:850;text-decoration:none;text-align:center}.account-status{min-height:22px;margin:0;color:#6f675c}.account-status.error,.error{color:#a14242}.dashboard header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.dashboard header button{border:1px solid rgba(40,36,30,.12);background:#fff;border-radius:12px;padding:10px 13px}.points-card{margin:24px 0;padding:22px;border-radius:20px;background:#1f211f;color:#fff}.points-card small,.points-card strong,.points-card span{display:block}.points-card strong{font-size:52px;line-height:1;margin:6px 0}.points-card span{opacity:.68}.teacher-head{margin-top:28px}.teacher-head h2{margin:5px 0 14px}.link-student{grid-template-columns:1fr auto;margin-bottom:14px}.student-list{display:grid;gap:10px}.student-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(260px,1fr);gap:14px;align-items:center;padding:14px;border:1px solid rgba(40,36,30,.1);border-radius:18px;background:#fff}.student-row strong,.student-row span{display:block}.student-row span{font-size:12px;color:#7a7267;margin-top:3px}.student-points{text-align:center}.student-points small,.student-points b{display:block}.student-points b{font-size:24px}.student-row form{display:grid;grid-template-columns:90px 1fr auto;gap:8px}.student-row input{padding:10px 11px}.student-row button{padding:10px 12px}.empty{padding:18px;border:1px dashed rgba(40,36,30,.16);border-radius:16px;color:#746d63}.open-board{display:inline-flex;margin-top:24px}@media(max-width:760px){.account-shell{padding:16px 12px 32px}.account-card{border-radius:24px;padding:22px}.role-picker{grid-template-columns:1fr}.dashboard header{display:grid}.link-student{grid-template-columns:1fr}.student-row{grid-template-columns:1fr auto}.student-row form{grid-column:1/-1;grid-template-columns:80px 1fr auto}}@media(max-width:520px){.student-row form{grid-template-columns:1fr}.account-tabs{width:100%}.account-tabs button{flex:1}.account-intro h1,.dashboard h1{font-size:38px}}
