:root{font-family:Arial,sans-serif;color:#172033;background:#eef3f8}*{box-sizing:border-box}body{margin:0}.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(135deg,#173a59,#2f6f9f)}.login-card,.card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 8px 24px #0000001f}.login-card{width:min(440px,94vw)}.brand-mark{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#1f5a85;color:#fff;font-weight:800;font-size:24px;margin-bottom:18px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:#64748b}label{display:grid;gap:6px;margin-top:14px;font-weight:700}input{padding:11px;border:1px solid #ccd7e2;border-radius:9px;font:inherit}.primary{width:100%;margin-top:18px;background:#21557f;color:#fff;border:0;border-radius:9px;padding:12px;font-weight:700}.error{color:#b91c1c}header{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;background:#173a59;color:#fff}header .eyebrow{color:#dcecf8}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-help{margin:6px 0 0;color:#64748b;font-size:13px}.text-button{width:100%;margin-top:12px;background:transparent;color:#21557f;font-weight:700}.text-button:hover{text-decoration:underline}@media(max-width:520px){.name-fields{grid-template-columns:1fr}}.dashboard{max-width:1200px;margin:auto;padding:24px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:16px}.metrics .card{text-align:center}.metrics strong{display:block;font-size:34px}.metrics span{color:#64748b}button{cursor:pointer;border:0;border-radius:8px;padding:9px 12px}@media(max-width:760px){.metrics{grid-template-columns:1fr 1fr}}.page{max-width:1250px;margin:auto;padding:24px}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.page-heading h2,.page-heading h3{margin:4px 0}.count-pill{background:#dbeafe;color:#1e3a8a;border-radius:999px;padding:8px 12px;font-weight:700}.student-layout{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:18px}.student-form textarea{min-height:86px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.button-row,.header-actions,.row-actions{display:flex;gap:8px}.student-form .primary{width:auto}.roster-toolbar{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-bottom:12px}.checkbox-label{display:flex;align-items:center;gap:7px;margin:0;text-transform:none;font-weight:600}.checkbox-label input{width:auto}.student-row{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #e2e8f0;padding:12px 0}.student-row.archived{opacity:.62}.student-name{background:transparent;text-align:left;padding:0;display:grid;gap:4px}.student-name span{color:#64748b}.profile-card{margin-top:18px}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile-grid div{background:#f8fafc;border-radius:10px;padding:12px}.profile-grid span{display:block;color:#64748b;font-size:12px;margin-bottom:5px}.dashboard-action{width:auto}@media(max-width:900px){.student-layout{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.form-grid,.profile-grid{grid-template-columns:1fr}.page-heading,.student-row{display:block}.row-actions{margin-top:10px}.roster-toolbar{grid-template-columns:1fr}}.lesson-layout{display:grid;grid-template-columns:minmax(390px,1fr) minmax(420px,1fr);gap:18px}.lesson-form textarea{min-height:92px}.notice{padding:11px 14px;border-radius:9px;font-weight:700}.notice.success{background:#dcfce7;color:#166534}.assignment-card{margin-top:18px}.assignment-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.assign-button{width:auto;margin:0 0 1px}.status-filter{width:190px}.assignment-row{display:grid;grid-template-columns:1fr 200px;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #e2e8f0}.assignment-row div{display:grid;gap:4px}.assignment-row span{color:#64748b}.lesson-form .button-row{margin-top:12px}@media(max-width:960px){.lesson-layout{grid-template-columns:1fr}.assignment-controls{grid-template-columns:1fr 1fr}.assign-button{grid-column:1/-1}}@media(max-width:620px){.assignment-controls,.assignment-row{grid-template-columns:1fr}.status-filter{width:100%}}.assessment-layout{display:grid;grid-template-columns:minmax(380px,.95fr) minmax(440px,1.05fr);gap:18px}.assessment-form textarea{min-height:86px}.assessment-filters{display:grid;grid-template-columns:1fr 230px;gap:12px;margin-bottom:12px}.selection-summary{background:#f8fafc;border-radius:9px;padding:12px;line-height:1.6}.mastery-badge{min-width:160px;border-radius:14px;padding:14px;text-align:center;background:#e2e8f0}.mastery-badge strong{display:block;font-size:34px}.mastery-badge span{display:block;margin-top:4px}.level-advanced{background:#dcfce7;color:#166534}.level-proficient{background:#dbeafe;color:#1e40af}.level-developing{background:#fef3c7;color:#92400e}.level-needs-intervention{background:#fee2e2;color:#991b1b}@media(max-width:960px){.assessment-layout{grid-template-columns:1fr}}@media(max-width:620px){.assessment-filters{grid-template-columns:1fr}}.report-controls{display:grid;grid-template-columns:260px 1fr auto auto;gap:12px;align-items:end}.report-controls .primary{margin:0}.printable-report{margin-top:18px}.report-header{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid #173a59;padding-bottom:14px;margin-bottom:20px}.report-header h1{margin:4px 0}.report-meta{display:grid;text-align:right;align-content:start;gap:5px}.report-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.report-metrics div{background:#f8fafc;border-radius:12px;padding:14px}.report-metrics span{display:block;color:#64748b;font-size:12px}.report-metrics strong{display:block;font-size:26px;margin-top:4px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.printable-report table{width:100%;border-collapse:collapse}.printable-report th,.printable-report td{border-bottom:1px solid #dbe3ec;padding:9px;text-align:left}@media(max-width:900px){.report-controls{grid-template-columns:1fr 1fr}.report-metrics,.report-columns{grid-template-columns:1fr}}@media print{body{background:#fff}.no-print{display:none!important}.page{max-width:none;padding:0}.printable-report{box-shadow:none;border-radius:0;padding:0}.printable-report table{font-size:11px}.report-header{page-break-after:avoid}}
