:root{--blue:#2F588B;--blue-dark:#24466F;--sage:#7F9C88;--sage-soft:#EDF3EF;--gold:#D8A74C;--gold-soft:#FBF4E6;--char:#2B2D31;--off:#F2F2F2;--muted:#6F7780;--line:#DFE5E9;--danger:#A94D4D;--danger-soft:#FBEAEA;--purple:#715D8E;--shadow:0 8px 22px rgba(26,45,65,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif;color:var(--char);background:#F6F8FA}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.app-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;z-index:30;display:flex;flex-direction:column;color:#fff;background:linear-gradient(180deg,#24466F 0%,#1E3D63 100%);overflow-y:auto}.sidebar-brand{padding:18px 16px 8px}.school-logo-card{padding:12px;background:#fff;border-radius:12px;box-shadow:0 8px 18px rgba(0,0,0,.13)}.brand-logo{display:block;width:100%;height:auto}.nav{padding:10px 10px 20px}.nav-section-label{padding:15px 12px 7px;color:#B9C9D9;font-size:10px;font-weight:800;letter-spacing:.14em}.nav-item{position:relative;width:100%;padding:10px 12px;margin:2px 0;display:flex;align-items:center;gap:10px;color:#EAF1F7;background:transparent;border:0;border-radius:8px;text-align:left;font-size:13px;font-weight:700}.nav-item:hover{background:rgba(255,255,255,.07)}.nav-item.active{background:rgba(255,255,255,.10)}.nav-item.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--gold)}.nav-icon{width:22px;text-align:center;color:#fff;font-size:17px}.sidebar-bottom{margin-top:auto;padding:12px 16px 18px}.doorway-link{display:flex;gap:8px;align-items:center;padding:8px 0;color:#DDE8F2;text-decoration:none;font-size:11px}.prototype-badge{margin-top:8px;color:#E8EDF2;font-size:9px;font-weight:800;letter-spacing:.08em}.prototype-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--gold)}.version-label{margin:5px 0 12px;color:#AFC0D2;font-size:9px}.arc-lockup{padding:12px 14px 11px;text-align:center;background:#fff;border-radius:10px}.arc-logo{display:block;width:100%;max-height:72px;object-fit:contain}.arc-branch{margin-top:5px;color:var(--blue-dark);font-size:11px;font-weight:900;letter-spacing:.12em}.arc-divider{height:1px;margin:8px 12px 6px;background:#D5DCE3}.arc-tagline{color:#7D8389;font-size:9px;font-weight:800;letter-spacing:.15em}
.main{min-width:0}.topbar{position:sticky;top:0;z-index:20;min-height:84px;padding:12px 24px;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}.menu-toggle{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--blue);font-size:20px}.page-heading-wrap{min-width:0;flex:1}.eyebrow{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.14em}.topbar h1{margin:2px 0 1px;color:var(--blue-dark);font-size:24px}.school-year{color:var(--muted);font-size:10px}.user-box{display:flex;align-items:center;gap:9px}.avatar-chip{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--sage-soft);color:var(--blue-dark);font-size:10px;font-weight:900}.user-text{display:flex;flex-direction:column;line-height:1.15}.user-text strong{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--blue-dark);font-size:11px}.user-text span{color:var(--muted);font-size:9px}.logout{padding:7px 9px;border:1px solid var(--line);border-radius:7px;color:var(--blue-dark);text-decoration:none;font-size:10px;font-weight:800}.prototype-notice{margin:16px 24px 0;padding:11px 14px;display:flex;align-items:center;gap:11px;background:var(--gold-soft);border:1px solid #EAD7AC;border-radius:10px}.notice-icon{width:24px;height:24px;flex:0 0 24px;display:grid;place-items:center;border-radius:50%;color:#7A591A;background:#F5E2B6;font-weight:900}.prototype-notice strong{display:block;color:#70501B;font-size:11px}.prototype-notice span{display:block;margin-top:2px;color:#756A57;font-size:10px}.content{padding:22px 24px 44px;max-width:1500px}.section-head{margin-bottom:16px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.section-head h2{margin:0 0 4px;color:var(--blue-dark);font-size:20px}.section-head p{max-width:780px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.grid{display:grid;gap:16px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.metric,.card{background:#fff;border:1px solid #E4E9ED;border-radius:12px;box-shadow:var(--shadow)}.metric{padding:17px;border-top:3px solid var(--blue)}.metric.alert{border-top-color:var(--gold)}.metric.good{border-top-color:var(--sage)}.metric .label{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.metric .value{margin:5px 0 2px;color:var(--blue-dark);font-size:28px;font-weight:800}.metric .meta{color:var(--muted);font-size:9px}.card{padding:17px}.card-head{margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0;color:var(--blue-dark);font-size:14px}.primary-btn,.secondary-btn,.danger-btn,.link-btn{border:0;border-radius:8px;font-weight:800}.primary-btn{padding:9px 12px;color:#fff;background:var(--blue)}.primary-btn:hover{background:var(--blue-dark)}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.secondary-btn{padding:9px 12px;color:var(--blue-dark);background:#fff;border:1px solid #CBD6DF}.danger-btn{padding:8px 10px;color:#fff;background:var(--danger)}.link-btn{padding:4px 0;color:var(--blue);background:transparent}.toolbar{margin-bottom:12px;display:flex;gap:8px;flex-wrap:wrap}.toolbar input{flex:1;min-width:220px}.toolbar select{min-width:145px}.field{display:flex;flex-direction:column;gap:5px}.field label{color:#4A5660;font-size:10px;font-weight:800}.field label span{color:var(--danger)}.field small{color:var(--muted);font-size:9px;line-height:1.35}.field input,.field select,.field textarea,.toolbar input,.toolbar select,.date-filter input{width:100%;padding:9px 10px;border:1px solid #CCD6DE;border-radius:8px;color:var(--char);background:#fff;outline:none}.field input:focus,.field select:focus,.field textarea:focus,.toolbar input:focus,.toolbar select:focus,.date-filter input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,88,139,.10)}.field textarea{resize:vertical;min-height:90px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.field.full{grid-column:1/-1}.entry-shell{max-width:930px}.entry-card{padding:20px}.review-check{margin-top:16px;padding:13px 14px;display:flex;align-items:flex-start;gap:10px;background:var(--gold-soft);border:1px solid #E9D5A7;border-radius:10px;cursor:pointer}.review-check input{margin-top:3px;width:17px;height:17px;accent-color:var(--blue)}.review-check strong{display:block;color:#6D501B;font-size:11px}.review-check small{display:block;margin-top:3px;color:#776B56;font-size:9px;line-height:1.45}.form-actions{margin-top:16px;display:flex;gap:8px;align-items:center}.compact-form{margin-top:4px}.table-wrap{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th{padding:9px 10px;color:#68747D;background:#F7F9FA;border-bottom:1px solid var(--line);font-size:9px;text-align:left;text-transform:uppercase;letter-spacing:.04em}.data-table td{padding:11px 10px;border-bottom:1px solid #EDF0F2;font-size:10px;vertical-align:middle}.data-table tr[data-referral]{cursor:pointer}.data-table tr[data-referral]:hover{background:#FAFBFC}.data-table small{color:var(--muted);font-size:9px}.pill{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.pill.review{color:#71531D;background:var(--gold-soft)}.pill.resolved{color:#466453;background:var(--sage-soft)}.pill.follow{color:#5C4E78;background:#F0ECF6}.pill.major{color:#874545;background:#F9EAEA}.pill.minor,.pill.blue{color:#355E87;background:#EAF1F7}.pill.gray{color:#616B73;background:#EEF1F3}.statline{display:flex;gap:6px;flex-wrap:wrap}.empty{padding:24px;text-align:center;color:var(--muted);font-size:10px}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-card{min-height:180px}.report-list{display:flex;flex-direction:column}.report-row{padding:9px 4px;display:flex;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid #EDF0F2;background:#fff;color:var(--char);text-align:left}.report-row:hover{background:#F8FAFB}.report-row strong{color:var(--blue-dark)}.date-filter{min-width:180px}.date-filter label{display:block;margin-bottom:4px;color:var(--muted);font-size:9px;font-weight:800}.modal{position:fixed;inset:0;z-index:70;padding:20px;display:grid;place-items:center;background:rgba(25,34,43,.56)}.modal-card{width:min(900px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.modal-head{position:sticky;top:0;z-index:2;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:3px solid var(--gold)}.modal-head h2{margin:2px 0 0;color:var(--blue-dark);font-size:18px}.modal-body{padding:18px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--blue-dark);font-size:20px}.modal-grid{grid-template-columns:1.1fr .9fr}.modal-body hr{margin:18px 0;border:0;border-top:1px solid var(--line)}.callout{padding:12px;color:#42596C;background:#EEF4F8;border:1px solid #D6E2EA;border-radius:9px;font-size:10px}.callout p{margin:4px 0 0;color:#65737E}.toast{position:fixed;right:20px;bottom:20px;z-index:90;max-width:380px;padding:11px 14px;color:#fff;background:var(--char);border-radius:9px;box-shadow:var(--shadow);font-size:11px;font-weight:700}
@media(max-width:1180px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-text strong{max-width:150px}}
@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:252px;transition:left .2s ease;box-shadow:8px 0 30px rgba(0,0,0,.18)}.sidebar.open{left:0}.menu-toggle{display:grid;place-items:center}.topbar{padding:10px 16px;min-height:74px}.prototype-notice{margin:12px 16px 0}.content{padding:17px 16px 34px}.school-year{display:none}.section-head{align-items:flex-start}.report-grid{grid-template-columns:1fr}.modal-grid{grid-template-columns:1fr}}
@media(max-width:660px){.metrics,.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.section-head{flex-direction:column}.topbar h1{font-size:19px}.avatar-chip{display:none}.prototype-notice{align-items:flex-start}.toolbar{flex-direction:column}.toolbar input,.toolbar select{width:100%;min-width:0}.entry-shell{max-width:none}.entry-card{padding:15px}.form-actions{flex-direction:column;align-items:stretch}.form-actions button{width:100%}.date-filter{width:100%}.report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table{min-width:660px}.modal{padding:8px}.modal-card{max-height:96vh}.modal-body{padding:14px}}
@media(max-width:430px){.user-text{display:none}.logout{padding:6px 7px}.topbar{gap:8px}.content{padding-left:12px;padding-right:12px}.prototype-notice{margin-left:12px;margin-right:12px}.card,.metric{padding:14px}.report-summary{grid-template-columns:1fr 1fr}.review-check{padding:12px}.section-head h2{font-size:18px}.primary-btn,.secondary-btn{min-height:42px}.field input,.field select,.field textarea{font-size:16px}.topbar{min-height:68px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
