:root{--font-family:"Inter", system-ui, -apple-system, sans-serif;--bg-app:#0f1219;--bg-surface:#1b202db3;--bg-surface-hover:#222939d9;--border-color:#333a4d80;--border-focus:#7c64f2;--primary:#7c64f2;--primary-glow:#7c64f226;--success:#22c35d;--success-glow:#22c35d26;--warning:#f59f0a;--warning-glow:#f59f0a26;--danger:#e8304f;--text-main:#f8fafc;--text-muted:#a3b0c2;--text-dimmed:#707d8f;--shadow-sm:0 2px 8px -2px #00000080;--shadow-md:0 8px 24px -4px #0009;--shadow-lg:0 16px 40px -8px #000c;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-app);color:var(--text-main);background-image:radial-gradient(at 0 0,#7c64f214 0,#0000 50%),radial-gradient(at 100% 100%,#22c35d0d 0,#0000 50%);background-attachment:fixed;min-height:100vh;line-height:1.5;overflow-x:hidden}#root{min-height:100vh}.container{max-width:1400px;margin:0 auto;padding:2.5rem 1.5rem}.header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;animation:.6s ease-out fadeInDown;display:flex}.header-title h1{letter-spacing:-.025em;background:linear-gradient(135deg, var(--text-main) 30%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.25rem;font-size:1.75rem;font-weight:800}.header-title p{color:var(--text-muted);font-size:.875rem;font-weight:500}.last-updated-text{color:var(--text-dimmed);margin-top:.4rem;font-size:.8rem}.last-updated-text strong{color:var(--text-muted);font-weight:600}.badge-live{color:var(--success);text-transform:uppercase;background:#22c35d1a;border:1px solid #22c35d4d;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:700;display:flex}.badge-live:before{content:"";background-color:var(--success);width:8px;height:8px;box-shadow:0 0 8px var(--success);border-radius:50%;animation:1.5s infinite alternate pulse;display:inline-block}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem;animation:.8s ease-out fadeInUp;display:grid}.card{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);transition:var(--transition);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden}.card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-lg), 0 0 20px var(--primary-glow);transform:translateY(-4px)}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.card-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.25rem;display:flex}.card-icon.primary{background:var(--primary-glow);color:var(--primary)}.card-icon.success{background:var(--success-glow);color:var(--success)}.card-icon.warning{background:var(--warning-glow);color:var(--warning)}.card-content{justify-content:space-between;align-items:flex-end;display:flex}.card-value{letter-spacing:-.03em;color:var(--text-main);font-size:2rem;font-weight:800;line-height:1}.card-meta{color:var(--text-dimmed);margin-top:.5rem;font-size:.8125rem;font-weight:500}.progress-ring-container{width:60px;height:60px;position:relative}.progress-ring-text{color:var(--text-main);font-size:.85rem;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.controls-panel{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:16px;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:2.5rem;padding:1.5rem;animation:.9s ease-out fadeInUp;display:flex}.search-wrapper{flex:1;min-width:280px;position:relative}.search-input{border:1px solid var(--border-color);width:100%;color:var(--text-main);font-family:var(--font-family);transition:var(--transition);background:#13172099;border-radius:12px;padding:.75rem 1rem .75rem 2.5rem;font-size:.9rem;font-weight:500}.search-input:focus{border-color:var(--border-focus);box-shadow:0 0 12px var(--primary-glow);background:#0f1219cc;outline:none}.search-icon{color:var(--text-dimmed);pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.filter-group{flex-wrap:wrap;gap:1rem;display:flex}.select-custom{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-family);cursor:pointer;transition:var(--transition);appearance:none;background:#13172099 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='currentColor'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2.5' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") right .75rem center/1rem no-repeat;border-radius:12px;outline:none;padding:.75rem 2rem .75rem 1rem;font-size:.9rem;font-weight:600}.select-custom:focus{border-color:var(--border-focus);box-shadow:0 0 12px var(--primary-glow)}.table-container{background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;animation:1s ease-out fadeInUp;overflow:hidden}.table-wrapper{max-height:520px;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}th{color:var(--text-muted);border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;z-index:10;background-color:#131720e6;padding:1rem 1.25rem;font-size:.75rem;font-weight:700;position:sticky;top:0}td{border-bottom:1px solid var(--border-color);color:var(--text-main);transition:var(--transition);padding:1rem 1.25rem;font-weight:500}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--bg-surface-hover)}.school-name{color:var(--text-main);font-weight:700}.school-code{color:var(--text-dimmed);margin-top:.15rem;font-family:monospace;font-size:.75rem}.badge-kib{background:var(--primary-glow);color:#a9f;border:1px solid #7c64f233;border-radius:6px;padding:.25rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.progress-bar-bg{vertical-align:middle;background:#3d455c4d;border-radius:999px;width:100px;height:6px;display:inline-block;overflow:hidden}.progress-bar-fill{border-radius:999px;height:100%;transition:width 1s ease-out}.progress-bar-fill.success{background:var(--success)}.progress-bar-fill.warning{background:var(--warning)}.table-progress-text{text-align:right;vertical-align:middle;width:45px;margin-left:.5rem;font-size:.8rem;font-weight:700;display:inline-block}.status-badge{align-items:center;gap:.35rem;font-weight:700;display:inline-flex}.indicator-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.status-badge.has-any{color:var(--success)}.status-badge.has-any .indicator-dot{background:var(--success);box-shadow:0 0 6px var(--success)}.status-badge.none{color:var(--text-dimmed)}.status-badge.none .indicator-dot{background:var(--text-dimmed)}.table-footer{border-top:1px solid var(--border-color);background:#13172066;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.pagination-info{color:var(--text-muted);font-size:.85rem}.pagination-buttons{gap:.5rem;display:flex}.btn-page{border:1px solid var(--border-color);color:var(--text-main);font-family:var(--font-family);cursor:pointer;transition:var(--transition);background:#292e3d99;border-radius:8px;padding:.5rem .85rem;font-size:.85rem;font-weight:600}.btn-page:hover:not(:disabled){background:var(--primary);border-color:var(--primary)}.btn-page:disabled{opacity:.4;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}@keyframes pulse{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.header{flex-direction:column;align-items:flex-start;gap:1rem}.controls-panel{flex-direction:column;align-items:stretch}.search-wrapper{min-width:100%}.filter-group{flex-direction:column}.select-custom{width:100%}}
