:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#223142;background:#f5f7fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex}.sidebar{width:252px;background:#173f5f;color:#e8f0f5;padding:24px 16px;display:flex;flex-direction:column;flex-shrink:0}.brand{display:flex;align-items:center;gap:11px;color:#fff}.brand-mark{background:#f2c14e;color:#173f5f;font-weight:800;font-size:20px;border-radius:9px;width:38px;height:38px;display:grid;place-items:center}.brand strong{display:block;font-size:18px;letter-spacing:.2px}.brand span{display:block;color:#b7cbd8;font-size:11px;margin-top:2px}.teacher-card{margin:35px 0 20px;padding:12px 10px;border-top:1px solid #315b76;border-bottom:1px solid #315b76;display:flex;gap:10px;align-items:center}.avatar,.topbar-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#d8e9ef;color:#173f5f;font-size:11px;font-weight:700}.teacher-card strong{display:block;font-size:13px}.teacher-card span{display:block;color:#b7cbd8;font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:4px}.sidebar nav button{border:0;background:transparent;color:#c7d9e4;text-align:left;padding:12px 13px;border-radius:6px;display:flex;gap:12px;align-items:center;font-size:13px}.sidebar nav button:hover,.sidebar nav button.selected{background:#285879;color:#fff}.sidebar nav i{font-style:normal;width:17px;text-align:center;font-size:18px}.sidebar nav .subnav{font-size:12px;padding:8px 13px 8px 42px;color:#a9c2d1}.sidebar nav .subnav.selected-subnav{color:#f2c14e;background:transparent}.sidebar-footer{margin-top:auto;border-top:1px solid #315b76;padding:18px 8px 0;color:#b7cbd8;font-size:12px}.sidebar-footer span{display:block;color:#f2c14e;font-weight:700;margin-bottom:7px}.sidebar-footer small{display:block;line-height:1.5}.sidebar-footer button{border:0;background:transparent;color:#fff;padding:15px 0 0;font-size:12px}.workspace{flex:1;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid #e1e7ed;padding:0 38px;display:flex;align-items:center;justify-content:space-between}.topbar h2{font-size:16px;margin:0;font-weight:700}.topbar-meta{display:flex;align-items:center;gap:9px;color:#6c7b89;font-size:12px}.status-dot{width:7px;height:7px;background:#4caf7d;border-radius:50%}.topbar-avatar{margin-left:10px}.mobile-brand{display:none}.page{padding:34px 38px 60px;max-width:1440px;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:26px}.page-heading h1,.profile-title h1{margin:6px 0 7px;font-size:29px;letter-spacing:-.5px;color:#1c2d3d}.page-heading p:not(.eyebrow),.profile-title p:not(.eyebrow){margin:0;color:#748392;font-size:14px}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:1.4px;color:#738b9c;font-weight:700;font-size:10px}.data-label{color:#738b9c;font-size:11px;border:1px solid #d6e0e7;background:#fff;border-radius:4px;padding:7px 9px}.metrics{display:grid;gap:14px;margin-bottom:22px}.metrics.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:#fff;border:1px solid #e1e7ed;border-radius:7px;padding:17px 18px;min-height:105px}.metric-card span,.metric-card small{display:block;color:#72808d;font-size:12px}.metric-card strong{display:block;font-size:26px;color:#203547;margin:9px 0 4px}.metric-card small{font-size:11px}.metric-card.warning{border-left:4px solid #e8b843}.metric-card.danger{border-left:4px solid #d96b5f}.dashboard-grid,.profile-grid,.intervention-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:18px}.profile-grid{margin-top:18px}.panel{background:#fff;border:1px solid #e1e7ed;border-radius:7px;padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.panel h2{font-size:17px;margin:5px 0 0;color:#25394b}.panel-heading .eyebrow{margin-top:1px}.text-button{border:0;background:none;color:#2b7190;font-weight:700;font-size:12px;padding:0}.student-table{width:100%;border-collapse:collapse;font-size:12px}.table-scroll{overflow-x:auto}.student-table th{text-align:left;color:#82909c;font-size:10px;text-transform:uppercase;letter-spacing:.7px;font-weight:700;padding:10px 12px;border-bottom:1px solid #e5ebef;white-space:nowrap}.student-table td{padding:13px 12px;border-bottom:1px solid #edf1f3;white-space:nowrap}.student-table tbody tr{transition:background .12s}.student-table tbody tr:hover{background:#f6fafc}.student-table td:first-child{color:#1e526e}.student-table td strong{display:block}.student-table td small{display:block;color:#84919b;font-size:10px;margin-top:3px}.risk-badge{display:inline-block;border-radius:4px;padding:4px 7px;font-size:10px;font-weight:800;letter-spacing:.2px}.risk-badge.high{background:#fce5e2;color:#b23e35}.risk-badge.medium{background:#fff2cf;color:#946c0a}.risk-badge.low{background:#e0f2e9;color:#28734d}.risk-badge.unknown{background:#eef1f3;color:#66747f}.table-note,.muted{color:#86939d;font-size:11px;margin:15px 0 0}.summary-panel .eyebrow{margin-bottom:6px}.summary-panel h2{margin-bottom:18px}.signal{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f3;padding:14px 0}.signal span{display:flex;align-items:center;gap:8px;font-size:13px}.signal strong{font-size:18px}.toolbar{background:#fff;border:1px solid #e1e7ed;border-radius:7px;padding:13px;display:flex;gap:10px;margin-bottom:16px}.toolbar input{flex:1;min-width:180px}.toolbar input,.toolbar select,.form-panel select,.form-panel textarea,.form-panel input{border:1px solid #d6e0e7;border-radius:5px;padding:10px 11px;color:#364958;background:#fff;font-size:12px}.profile-title{display:flex;justify-content:space-between;align-items:center;margin:10px 0 27px}.profile-risks{display:flex;gap:12px}.profile-risks>span{display:flex;gap:7px;align-items:center;color:#748392;font-size:12px}.back-link{border:0;background:transparent;padding:0;color:#2b7190;font-size:12px;font-weight:700}.assignment-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.assignment-row div{background:#f7f9fb;padding:13px;border-radius:5px}.assignment-row span{display:block;color:#778591;font-size:11px}.assignment-row strong{display:block;font-size:20px;margin-top:7px}.progress{height:8px;background:#e8eef1;border-radius:5px;margin-top:18px;overflow:hidden}.progress span{display:block;height:100%;background:#3b88a1;border-radius:5px}.details{margin:0}.details div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid #edf1f3}.details dt{color:#788691;font-size:12px}.details dd{font-size:12px;font-weight:700;margin:0}.factor{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f3;padding:12px 0}.factor strong{display:block;font-size:12px;text-transform:capitalize}.factor small{display:block;color:#88949d;font-size:10px;margin-top:4px}.factor b{color:#2d7592;font-size:13px}.intervention-grid{grid-template-columns:360px minmax(0,1fr)}.form-panel label{display:block;color:#697984;font-size:11px;font-weight:700;margin:16px 0}.form-panel select,.form-panel textarea{display:block;width:100%;margin-top:7px}.primary{border:0;border-radius:5px;background:#2b7190;color:#fff;padding:11px 16px;font-weight:700;font-size:12px}.primary:hover{background:#225e79}.full{width:100%;margin-top:12px}.intervention{border-bottom:1px solid #edf1f3;padding:13px 0}.intervention>div{display:flex;justify-content:space-between}.intervention strong{font-size:13px}.intervention small{color:#81909b;font-size:10px}.intervention p{font-size:12px;line-height:1.5;color:#536572;margin:9px 0}.loading,.error-state{padding:100px 40px;text-align:center;color:#748392}.spinner{width:28px;height:28px;border:3px solid #d7e2e7;border-top-color:#2b7190;border-radius:50%;margin:0 auto 18px;animation:spin 1s linear infinite}.error-state{margin:34px;background:#fff1ef;border:1px solid #f0c9c3;border-radius:7px;text-align:left}.error-state strong{color:#a44137}.login-page{min-height:100vh;display:grid;place-items:center;background:#edf3f6;padding:20px}.login-card{width:min(100%,420px);background:#fff;border:1px solid #dce5ea;border-radius:8px;padding:38px;box-shadow:0 8px 25px #173f5f12}.login-brand{margin-bottom:45px}.login-card h1{font-size:28px;margin:7px 0}.login-copy{font-size:13px;line-height:1.6;color:#748392;margin-bottom:26px}.login-card label{display:block;color:#617381;font-size:11px;font-weight:700;margin:16px 0}.login-card input{display:block;width:100%;border:1px solid #d6e0e7;border-radius:5px;padding:11px;margin-top:7px}.login-note{display:block;color:#89959e;font-size:10px;line-height:1.5;margin-top:22px}@keyframes spin{to{transform:rotate(360deg)}}.school-list{display:grid;gap:10px}.school-folder,.grade-folder{background:#fff;border:1px solid #e1e7ed;border-radius:7px;overflow:hidden}.folder-header{width:100%;border:0;background:#fff;color:#25394b;display:flex;align-items:center;gap:10px;padding:15px 18px;text-align:left}.folder-header:hover{background:#f7fafb}.folder-icon{color:#2b7190;font-size:15px}.folder-count{color:#81909b;font-size:11px;margin-left:auto}.folder-header b{width:20px;text-align:right;color:#2b7190;font-size:17px}.grade-folders{border-top:1px solid #edf1f3;background:#f8fafb;padding:9px 12px 12px 28px;display:grid;gap:8px}.grade-header{padding:11px 14px;font-size:13px}.grade-table{border-top:1px solid #edf1f3;padding:0 10px 10px;background:#fff}@media(max-width:900px){.sidebar{width:210px}.page{padding:28px 20px}.topbar{padding:0 20px}.metrics.four{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.profile-grid,.intervention-grid{grid-template-columns:1fr}}@media(max-width:650px){.app{display:block}.sidebar{width:100%;height:auto;padding:14px 16px}.teacher-card,.sidebar-footer{display:none}.sidebar nav{display:flex;overflow-x:auto;margin-top:14px}.sidebar nav button{white-space:nowrap;padding:9px 11px}.topbar{height:62px}.topbar h2{font-size:14px}.topbar-meta{font-size:0}.topbar-avatar{margin-left:0}.mobile-brand{display:inline;color:#2b7190;font-size:11px;margin-right:10px}.page{padding:24px 14px}.page-heading,.profile-title{display:block}.data-label{display:inline-block;margin-top:15px}.metrics.four{grid-template-columns:1fr 1fr;gap:9px}.metric-card{padding:13px;min-height:94px}.metric-card strong{font-size:21px}.toolbar{display:block}.toolbar input,.toolbar select{width:100%;margin-bottom:8px}.profile-risks{margin-top:16px}.assignment-row{grid-template-columns:1fr}.table-scroll{margin:0 -20px;padding:0 20px}.student-table th,.student-table td{padding:11px 8px}.student-table th:nth-child(3),.student-table td:nth-child(3){display:none}}.profile-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.profile-trigger>span:last-child{min-width:0}.profile-trigger strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-trigger small{display:block;color:#b7cbd8;font-size:11px;margin-top:3px}.profile-photo,.profile-menu-photo{object-fit:cover}.teacher-card{position:relative}.profile-menu{position:absolute;z-index:3;top:58px;left:8px;right:8px;padding:15px;background:#fff;color:#223142;border-radius:7px;box-shadow:0 8px 24px #0003;display:flex;flex-direction:column;align-items:center;text-align:center}.profile-menu-photo{width:48px;height:48px;border-radius:50%;margin-bottom:9px}.profile-menu>strong{font-size:13px}.profile-menu>span,.profile-menu>small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71808c;font-size:11px;margin-top:4px}.profile-menu>small{color:#2b7190}.profile-menu>button{width:100%;border:0;border-top:1px solid #e5ebef;background:transparent;color:#a44137;font-size:12px;font-weight:700;padding:11px 0 0;margin-top:12px}
