:root{font-family:Inter,Be Vietnam Pro,system-ui,-apple-system,Segoe UI,sans-serif;color:#142238;background:#f5f8fd}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:#2563eb;text-decoration:none}.auth,.landing{min-height:100vh;display:grid;place-items:center;padding:22px}.landing{background:radial-gradient(circle at 20% 30%,#dceaff,transparent 50%),#f7faff}.hero{max-width:760px;text-align:center}.hero h1{font-size:clamp(40px,6vw,78px);letter-spacing:-3px;margin:16px 0}.hero p{font-size:20px;color:#65738c;line-height:1.7}.logo{display:inline-flex;background:#2563eb;color:#fff;border-radius:12px;padding:12px 17px;font-weight:800}.pill{margin:28px auto 0;background:white;padding:9px 18px;border:1px solid #dbe5f5;border-radius:30px;width:-moz-fit-content;width:fit-content;color:#35548d}.actions{display:flex;justify-content:center;gap:12px;margin:32px 0}.outline,.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:11px;padding:11px 18px;font-weight:700;min-height:42px}.primary{background:#2563eb;color:white}.outline,.secondary{background:white;color:#31518b;border-color:#dbe5f5}.card,.panel{background:#fff;border:1px solid #e1e8f4;border-radius:17px;padding:23px;box-shadow:0 8px 28px #243d650a}.panel{width:min(460px,100%)}.panel h1{margin:17px 0}.form-grid label,.panel label{display:block;font-size:13px;font-weight:700;color:#47536b;margin:12px 0}.form-grid button,.form-grid input,.form-grid select,.form-grid textarea,.panel input,.panel select{width:100%}input,select,textarea{border:1px solid #ced8e8;border-radius:9px;padding:10px;background:white;color:#13233a;outline-color:#2563eb;margin-top:5px}textarea{min-height:70px}.panel .primary{width:100%;margin-top:16px}.seg{display:flex;background:#eef3fd;padding:4px;border-radius:11px;gap:5px}.seg button{border:none;flex:1 1;padding:10px;background:transparent;border-radius:8px}.seg button.chosen{background:white;box-shadow:0 1px 5px #93a5ca55}.error{color:#b91c1c;margin-top:12px;background:#fef2f2}.error,.notice{padding:10px;border-radius:9px}.notice{background:#eff6ff;color:#1d4ed8}.link{border:0;background:none;color:#2563eb;padding:5px}.layout{display:flex;min-height:100vh}.side{width:260px;background:#fff;border-right:1px solid #e1e8f4;padding:24px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:auto;flex-shrink:0}.side h2{font-size:18px;padding:0 12px}.side button.nav{display:block;width:100%;background:none;border:0;text-align:left;padding:12px;border-radius:10px;color:#58667f;margin:3px 0}.side button.nav.active{background:#edf4ff;color:#1d4ed8;font-weight:800}.workspace{flex:1 1;min-width:0}.top{background:white;border-bottom:1px solid #e1e8f4;min-height:72px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 30px}.top h1{margin:0;font-size:22px}.content{max-width:1280px;margin:0 auto;padding:28px}.muted{color:#64748b}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:14px;gap:14px}.kpi{background:#fff;border:1px solid #e1e8f4;padding:21px;border-radius:15px}.kpi strong{font-size:29px;display:block;margin-top:7px}.stack{display:grid;grid-gap:15px;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:11px;gap:11px}.form-grid textarea{min-height:80px}.flex{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;border-bottom:1px solid #e9eef6;padding:11px 9px;font-size:13px}th{color:#62758e}h2{font-size:21px;margin:0 0 15px}h3{margin:0 0 10px}.badge{border-radius:16px;background:#edf5ff;color:#255ab1;padding:5px 9px;font-size:12px;font-weight:700}.danger{color:#ba2424}.student-question{font-size:21px;font-weight:750}.preview{background:white;padding:24px;max-width:210mm;margin:auto;color:#111;min-height:200px}.preview .prompt{white-space:pre-wrap}.small{font-size:12px}.empty{color:#7b879e;padding:25px;text-align:center}.progress{height:9px;background:#e5edf8;border-radius:8px;overflow:hidden}.progress i{display:block;height:100%;background:#2563eb}@media(max-width:790px){.layout{display:block}.side{height:auto;position:relative;width:auto;display:flex;gap:5px;flex-wrap:wrap;padding:10px}.side h2{width:100%;margin:5px}.side button.nav{width:auto;padding:8px 10px;font-size:12px}.top{padding:13px 16px}.content{padding:14px}.grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.grid{grid-template-columns:1fr}.hero p{font-size:17px}.top h1{font-size:18px}}@media print{.actions,.no-print,.side,.top{display:none!important}.layout{display:block}.content{padding:0}.card{box-shadow:none;border:0}.preview{padding:0;max-width:none}.print-page{page-break-after:always;break-after:page}}