:root{color:#172033;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;padding:0 10px;border:1px solid #cdd5e1;border-radius:6px;color:#172033;background:#fff}input,select{height:38px}textarea{min-height:72px;padding-top:9px;resize:vertical}label{display:grid;gap:6px;color:#344054;font-size:13px;font-weight:600}.login-shell{display:grid;min-height:100vh;place-items:center;padding:24px}.login-panel,.tool-panel,.main-panel,.list-panel,.detail-panel,.card,.settings-panel{border:1px solid #d7deea;border-radius:8px;background:#fff}.login-panel{display:grid;width:min(100%,380px);gap:18px;padding:24px}.app-page{display:flex;min-height:100vh;background:#eef3f7}.sidebar{position:fixed;inset:0 auto 0 0;display:flex;width:246px;flex-direction:column;padding:20px 14px;color:#e7eef6;background:#182333}.sidebar-brand{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 8px 18px;border-bottom:1px solid rgb(255 255 255 / 10%)}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:#182333;background:#f3c969;font-weight:900}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:18px;line-height:1.1}.sidebar-brand span{margin-top:3px;color:#9fb0c3;font-size:12px;font-weight:700}.sidebar-nav{display:grid;gap:6px;margin-top:18px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;border:0;border-radius:8px;color:#bfccda;background:transparent;font-size:14px;font-weight:800;text-align:left}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.sidebar-footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:auto;padding:12px 8px 0;border-top:1px solid rgb(255 255 255 / 10%);color:#d9e2ec;font-size:13px;font-weight:800}.sidebar-footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-wrapper{display:grid;width:calc(100% - 246px);min-width:0;gap:18px;margin-left:246px;padding:28px 30px 42px}.page{display:grid;gap:16px;align-content:start}.page-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.page-header p:not(.eyebrow){margin-top:4px;color:#667085;font-size:13px;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{display:grid;min-height:118px;align-content:center;gap:8px;padding:18px;border:1px solid #d7deea;border-radius:8px;color:#172033;text-align:left;background:#fff}.stat-card span{color:#667085;font-size:13px;font-weight:800}.stat-card strong{font-size:36px;line-height:1}.card,.settings-panel{display:grid;gap:14px;padding:16px}.table-wrap{width:100%;overflow-x:auto}.data-table{width:100%;min-width:680px;border-collapse:collapse;color:#172033;font-size:13px}.data-table th,.data-table td{padding:11px 10px;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle}.data-table th{color:#667085;font-size:12px;font-weight:900}.data-table tr.active-row{background:#f0f6f8}.link-button{padding:0;border:0;color:#205b7a;background:transparent;font-weight:900;text-align:left}.table-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.search-bar{display:grid;max-width:360px}.danger-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid #fecdca;border-radius:6px;color:#b42318;background:#fff5f4;font-size:13px;font-weight:800}.empty-state{display:grid;justify-items:center;gap:12px;padding:32px 16px;color:#667085;text-align:center}.student-select-list{display:grid;gap:10px}.student-select-item{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:68px;padding:14px;border:1px solid #e2e8f0;border-radius:8px;color:#172033;background:#fff;text-align:left}.student-select-item:hover{border-color:#2f5f8f;background:#f0f6f8}.student-select-item>span{color:#205b7a;font-size:14px;font-weight:900;white-space:nowrap}.student-select-name{color:#172033;font-size:15px;font-weight:900}.student-select-info{margin-top:3px;color:#667085;font-size:12px;font-weight:700}.wizard-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid #d7deea;border-radius:8px;background:#fff}.wizard-header p{margin-top:4px;color:#667085;font-size:13px;font-weight:700}.modal-overlay{position:fixed;z-index:30;inset:0;display:grid;place-items:center;padding:20px;background:#0f172a6b}.modal{display:grid;width:min(720px,100%);max-height:calc(100vh - 40px);gap:14px;overflow-y:auto;padding:18px;border:1px solid #d7deea;border-radius:8px;background:#fff}.modal-footer{display:flex;justify-content:flex-end;gap:10px}.reports-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:14px;align-items:start}.side-panel{min-width:0}.workspace-shell{width:min(1320px,calc(100% - 32px));margin:0 auto;padding:24px 0 40px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{margin:0 0 4px;color:#2f5f8f;font-size:12px;font-weight:800;letter-spacing:0}h1,h2,h3,p{margin:0}h1{color:#101828;font-size:28px;line-height:1.2}h2{color:#172033;font-size:18px;line-height:1.3}h3{color:#172033;font-size:15px}.workspace-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:16px;align-items:start}.side-panel{padding:0}.tool-panel{display:grid;gap:14px;padding:16px}.main-panel{display:grid;gap:16px;padding:16px}.panel-header,.panel-title,.user-chip,.primary-button,.secondary-button{display:flex;align-items:center;gap:8px}.panel-header{justify-content:space-between}.panel-header p{margin-top:4px;color:#667085;font-size:13px}.compact{align-items:flex-start}.user-chip{min-height:36px;padding:0 6px 0 12px;border:1px solid #d7deea;border-radius:999px;background:#fff;color:#344054;font-size:13px;font-weight:700}.icon-button{display:inline-grid;width:30px;height:30px;place-items:center;border:1px solid #cdd5e1;border-radius:6px;color:#344054;background:#fff}.primary-button,.secondary-button{justify-content:center;min-height:38px;padding:0 12px;border-radius:6px;font-size:13px;font-weight:800}.primary-button{border:1px solid #205b7a;color:#fff;background:#205b7a}.secondary-button{border:1px solid #cdd5e1;color:#25364d;background:#fff}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{display:grid;gap:10px}.step7-grid{gap:14px}.step-section{display:grid;gap:10px}.step-section+.step-section{padding-top:14px;border-top:1px solid #e2e8f0}.goal-field{display:grid;gap:6px}.choice-fieldset{display:grid;gap:8px;margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:2px;color:#344054;font-size:13px;font-weight:800}.choice-options{display:flex;flex-wrap:wrap;gap:8px}.choice-option{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px;border:1px solid #cdd5e1;border-radius:6px;background:#fff;color:#344054;font-size:13px;font-weight:800}.choice-option input{width:auto;height:auto;margin:0}.checkbox-fieldset{display:grid;gap:8px;margin:0;padding:10px;border:1px solid #e2e8f0;border-radius:6px}.checkbox-fieldset legend{padding:0 4px;color:#344054;font-size:13px;font-weight:800}.checkbox-options{display:flex;flex-wrap:wrap;gap:8px}.checkbox-option{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid #cdd5e1;border-radius:6px;background:#fff}.checkbox-option input{width:auto;height:auto;margin:0}.scan-status-buttons{display:flex;flex-wrap:wrap;gap:6px}.unit-scan-table{min-width:980px}.unit-examples-cell{min-width:320px;max-width:520px}.unit-example-list{display:grid;gap:8px;margin:0;padding-left:18px}.unit-example-list li{padding-left:2px}.unit-example-list strong{display:block;margin-bottom:2px;color:#344054;font-size:12px}.unit-example-list span{display:-webkit-box;overflow:hidden;color:#475467;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.scan-status-button{min-width:36px;height:30px;padding:0 8px;border:1px solid #cdd5e1;border-radius:6px;color:#344054;background:#fff;font-size:12px;font-weight:800}.scan-status-button.active.green{border-color:#12b76a;color:#027a48;background:#ecfdf3}.scan-status-button.active.yellow{border-color:#fdb022;color:#93370d;background:#fffaeb}.scan-status-button.active.red{border-color:#f04438;color:#b42318;background:#fef3f2}.scan-status-button.active.black{border-color:#344054;color:#fff;background:#344054}.scan-status-button.clear{min-width:44px}.compact-table select,.six-unit-table input{min-width:160px}.score-table input{min-width:120px}.score-rate{font-weight:800;color:#205b7a}.diagnosis-overview-table,.goals-overview-table{min-width:640px}.diagnosis-overview-table tfoot td{border-bottom:0}.signal-cell{min-width:70px;color:#344054;font-size:20px;font-weight:900}.signal-cell.signal-green{color:#027a48}.signal-cell.signal-yellow{color:#93370d}.signal-cell.signal-red{color:#b42318}.final-section{justify-items:center}.btn-group-center{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.score-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;color:#344054;background:#fbfcfe;font-size:13px}.score-summary strong{color:#172033}.quadrant-panel{display:grid;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.quadrant-result-card{display:grid;gap:6px;padding:12px;border:1px solid #d7deea;border-radius:6px;color:#344054;background:#fbfcfe}.quadrant-result-card.resolved{border-color:#205b7a;background:#f0f6f8}.quadrant-result-card span,.quadrant-result-card small{color:#667085;font-size:12px;font-weight:800}.quadrant-result-card strong{color:#172033;font-size:18px}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.list-panel{min-height:280px;padding:14px}.item-stack{display:grid;gap:8px;margin-top:12px}.list-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.list-item.active,.assessment-item.active{border-color:#2f5f8f;background:#f0f6f8}.list-item>button:first-child,.assessment-item{display:grid;width:100%;gap:4px;padding:10px;border:0;color:#172033;text-align:left;background:transparent}.list-item span,.assessment-item small,.muted{color:#667085;font-size:13px}.assessment-item{border:1px solid #e2e8f0;border-radius:6px;background:#fff}.assessment-item strong{color:#205b7a;font-size:12px}.detail-panel{display:grid;gap:14px;padding:16px}.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wizard-panel{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfcfe}.step-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.step-tab{display:grid;min-height:70px;gap:3px;padding:8px;border:1px solid #d7deea;border-radius:6px;color:#344054;text-align:left;background:#fff}.step-tab.active{border-color:#205b7a;background:#e8f2f5}.step-tab.completed{border-color:#98d7b5;background:#f0fbf4}.step-tab span,.step-tab small{color:#667085;font-size:11px;font-weight:700}.step-tab strong{overflow:hidden;color:#172033;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.step-form{display:grid;gap:12px}.step-controls{display:flex;gap:6px}.wizard-actions{display:flex;justify-content:flex-end;gap:8px}.diagnosis-panel{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfcfe}.diagnosis-warning{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #fedf89;border-radius:6px;color:#93370d;background:#fffaeb;font-size:13px;font-weight:700}.diagnosis-confirmation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.diagnosis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagnosis-item{min-width:0;border:1px solid #d7deea;border-radius:6px;background:#fff}.diagnosis-item summary{display:grid;gap:4px;padding:10px;cursor:pointer}.diagnosis-item summary span{color:#667085;font-size:12px;font-weight:800}.diagnosis-item summary strong{color:#172033;font-size:14px}.diagnosis-item.signal-green{border-left:4px solid #12b76a}.diagnosis-item.signal-yellow,.diagnosis-item.signal-unknown{border-left:4px solid #f79009}.diagnosis-item.signal-red{border-left:4px solid #f04438}.evidence-list{display:grid;gap:4px;margin:0;padding:0 12px 10px 26px;color:#344054;font-size:13px}.item-warning{padding:0 12px 10px;color:#b54708;font-size:13px;font-weight:700}.audit-panel{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfcfe}.audit-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.audit-list li{display:grid;gap:4px;padding:10px;border:1px solid #d7deea;border-radius:6px;background:#fff}.audit-list strong{color:#172033;font-size:13px}.audit-list span,.audit-list p{margin:0;color:#667085;font-size:12px}.report-history-panel{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfcfe}.report-history-list{display:grid;gap:8px}.report-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px solid #d7deea;border-radius:6px;background:#fff}.report-history-item div{display:grid;gap:3px}.report-history-item strong{color:#172033;font-size:13px}.report-history-item span{color:#667085;font-size:12px}.path-panel{display:grid;gap:12px;padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#fbfcfe}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.path-summary{display:grid;gap:4px;padding:10px;border:1px solid #d7deea;border-radius:6px;color:#344054;font-size:13px;background:#fff}.path-summary strong{color:#b54708;font-size:13px}.path-unit{display:grid;gap:8px;min-width:0;margin:0;padding:10px;border:1px solid #d7deea;border-radius:6px;background:#fff}.path-unit legend{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 4px;color:#205b7a;font-size:12px;font-weight:800}.path-order-actions{display:inline-flex;gap:4px}.path-order-actions .icon-button{width:26px;height:26px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.metric-grid div,.report-box{padding:12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.metric-grid dt{color:#667085;font-size:12px}.metric-grid dd{margin:4px 0 0;color:#172033;font-size:16px;font-weight:800}.status-pill{padding:4px 8px;border-radius:999px;color:#205b7a;background:#e8f2f5;font-size:12px;font-weight:800}.report-box{display:grid;gap:6px}.report-box a{overflow-wrap:anywhere;color:#205b7a;font-size:13px;font-weight:700}.public-report-shell{display:grid;width:min(1100px,calc(100% - 32px));min-height:100vh;gap:14px;margin:0 auto;padding:24px 0 40px}.public-report-frame{width:100%;min-height:calc(100vh - 140px);border:1px solid #d7deea;border-radius:8px;background:#fff}.public-report-actions{display:flex;gap:8px;align-items:center}.report-box p,.form-error{color:#667085;font-size:13px}.form-error{color:#b42318}@media(max-width:980px){.app-page{display:block}.sidebar{position:static;width:100%;padding:14px}.sidebar-nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow-x:auto}.nav-item{justify-content:center;min-width:112px}.sidebar-footer{margin-top:12px}.content-wrapper{width:100%;margin-left:0;padding:20px 16px 34px}.workspace-grid,.split-grid,.dashboard-grid,.reports-grid,.diagnosis-confirmation,.diagnosis-grid,.report-history-item,.path-grid{grid-template-columns:1fr}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1180px){.step-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:560px){.workspace-shell{width:min(100% - 20px,1320px);padding-top:14px}.page-header,.topbar,.panel-header{align-items:flex-start;flex-direction:column}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row,.metric-grid,.action-grid,.form-row.three,.form-row.four,.step-tabs{grid-template-columns:1fr}}
