:root{color:#172033;background:#f2f5f8;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.login-page{background:radial-gradient(circle at top,#173e62,#081824 70%);place-items:center;min-height:100vh;display:grid}.login-card{background:#fff;border-radius:18px;width:min(440px,92vw);padding:36px;box-shadow:0 24px 70px #0007}.login-card h1{margin-bottom:8px}.login-card p{color:#667085}.login-card label{margin:18px 0 6px;font-weight:700;display:block}.login-card input{border:1px solid #ccd4dd;border-radius:9px;width:100%;padding:12px}.login-card button,.drawer button,header button,.panel button,.toolbar button,.school-card,.district-card button{color:#fff;background:#125c8a;border:0;border-radius:9px;padding:11px 16px;font-weight:700}.secondary{color:#1b3d55!important;background:#e8eef3!important}.shield{color:#0c273c;background:#d89b2b;border-radius:16px 16px 24px 24px;place-items:center;width:50px;height:58px;font-size:25px;font-weight:900;display:grid}.shield.small{width:36px;height:42px;font-size:18px}.app{grid-template-columns:250px 1fr;min-height:100vh;display:grid}aside{color:#fff;background:#0d273a;flex-direction:column;gap:8px;padding:24px;display:flex}.brand{align-items:center;gap:12px;margin-bottom:28px;display:flex}.brand span{color:#aac0cf;font-size:12px;display:block}aside button{color:#cbd8e1;text-align:left;background:0 0;border:0;border-radius:8px;padding:12px}aside button.active{color:#fff;background:#17435f}.logout{margin-top:auto}main{padding:30px;position:relative;overflow:auto}header{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}header h1{margin:0}header p,.panel-heading p{color:#667085;margin:5px 0}.toolbar{align-items:center;gap:14px;margin-bottom:16px;display:flex}.toolbar span{color:#667085}.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.card,.panel{background:#fff;border:1px solid #dde4ea;border-radius:14px;padding:20px;box-shadow:0 6px 20px #1020300b}.card span{color:#667085}.card strong{margin:9px 0;font-size:34px;display:block}.card small{color:#667085;margin-top:8px;display:block}.panel{margin-top:18px;overflow:auto}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2{margin-bottom:0}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e8edf1;padding:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f6f9fb}.status{text-transform:uppercase;color:#526271;background:#e7edf2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-block}.status.healthy,.status.resolved,.status.closed,.status.low,.status.active,.status.configured{color:#21643b;background:#dff6e7}.status.warning,.status.normal,.status.open,.status.investigating,.status.existing,.status.not.provisioned{color:#805b00;background:#fff0c7}.status.critical,.status.urgent,.status.high,.status.failed,.status.suspended{color:#9c2924;background:#ffe0df}.status.unknown,.status.not_configured{color:#596674;background:#e9edf1}.health-number{margin-right:8px;font-size:20px}.drawer{z-index:20;background:#fff;width:min(650px,95vw);height:100vh;padding:28px;position:fixed;top:0;right:0;overflow:auto;box-shadow:-18px 0 60px #0003}.close{float:right!important;color:#172033!important;background:#e9eef2!important;font-size:22px!important}.hero-score{margin:20px 0;font-size:46px;font-weight:900}.metric{text-transform:capitalize;border-bottom:1px solid #eef2f5;grid-template-columns:1fr auto 45px;gap:10px;padding:12px 0;display:grid}.metric-wide{grid-template-columns:1fr auto 70px}.issue{background:#fff4da;border-radius:8px;margin:8px 0;padding:12px}.issue.critical{background:#ffe0df}.message{background:#f1f4f7;border-radius:10px;margin:8px 0;padding:12px}.message.agent{background:#dfeffa}.embedded{background:#eef6fb;border-radius:9px;margin:14px 0;padding:12px}textarea{border:1px solid #ccd4dd;border-radius:9px;width:100%;min-height:110px;margin:10px 0;padding:12px}.error{color:#8f2822;background:#ffe4e2;border-radius:8px;margin:12px 0;padding:10px}.success{background:#eaf8ef;border:1px solid #9bd7af;border-radius:10px;margin-top:16px;padding:14px}.loading-state{text-align:center;color:#667085;padding:40px}.button-link{color:#fff;background:#123b69;border-radius:8px;padding:12px 16px;text-decoration:none;display:inline-block}.actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grid-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid-form label{flex-direction:column;gap:7px;font-size:13px;font-weight:700;display:flex}.grid-form input,.grid-form select,.grid-form textarea{border:1px solid #ccd4df;border-radius:8px;padding:11px}.grid-form textarea{min-height:90px}.grid-form .wide,.wide{grid-column:1/-1}.school-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.school-card{color:#172033;text-align:left;background:#f8fafc;border:1px solid #dce4ea;grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.school-card small{color:#667085;display:block}.school-score{font-size:28px;font-weight:900}.district-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;display:grid}.district-card{background:#fbfcfd;border:1px solid #dce4ea;border-radius:13px;padding:18px}.district-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.district-card h3{margin:0}.district-health{font-size:34px;font-weight:900}.district-metrics{grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;display:grid}.district-metrics span{background:#eef3f7;border-radius:8px;padding:10px}.district-metrics strong{font-size:22px;display:block}.district-metrics.vertical{grid-template-columns:repeat(2,1fr)}.deployment-line{color:#566576;margin:12px 0}.school-row{text-align:left;grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;margin:8px 0;display:grid;color:#172033!important;background:#f5f8fa!important;border:1px solid #dce4ea!important}.school-row span small{color:#667085;display:block}.metric small{color:#637083;margin-top:4px;display:block}@media (width<=1000px){.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.app{grid-template-columns:1fr}aside{flex-direction:row;align-items:center;overflow:auto}.brand{margin:0 20px 0 0}.logout{margin:0 0 0 auto}main{padding:18px}.grid-form{grid-template-columns:1fr}}@media (width<=560px){.cards{grid-template-columns:1fr}.brand div:last-child{display:none}.district-grid,.district-metrics{grid-template-columns:1fr}}
