:root{--ink:#15213b;--primary:#3157d5;--soft:#f3f6ff}body{background:#f7f8fc;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif}.app-nav{background:linear-gradient(100deg,#172554,#283ea0);box-shadow:0 6px 22px #17255433}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#2d4dd1;margin-right:8px}.hero-card{background:linear-gradient(135deg,#fff 20%,#edf1ff);border:1px solid #e5e9f5;border-radius:28px;padding:3rem;box-shadow:0 20px 60px #17255412}.eyebrow{font-size:.75rem;letter-spacing:.16em;font-weight:800;color:#526ee0}.text-gradient{background:linear-gradient(90deg,#3157d5,#8b5cf6);-webkit-background-clip:text;color:transparent}.upload-card{background:#fff;border:1px solid #dfe5f5;border-radius:22px;padding:2rem;box-shadow:0 18px 45px #24368a1a}.upload-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:#edf1ff;color:#3157d5;font-size:2rem;font-weight:800;margin-bottom:1rem}.btn{border-radius:12px;font-weight:600}.btn-primary{background:#3157d5;border-color:#3157d5}.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.step-item{background:#fff;border:1px solid #e5e9f3;border-radius:16px;padding:18px}.step-item b,.step-item small{display:block}.step-item small{color:#7c8497;margin-top:5px}.step-no{color:#6b7fd7;font-size:.75rem;font-weight:800;margin-bottom:8px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading h2{font-weight:800;margin:.35rem 0}.stat-card,.panel,.class-card,.kpi{background:#fff;border:1px solid #e5e9f3;border-radius:18px;box-shadow:0 10px 30px #15213b0a}.stat-card{padding:20px;height:100%}.stat-card h6{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#697186}.group-tag{font-weight:800;color:#3157d5;margin-bottom:8px}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.stat-row div{background:var(--soft);border-radius:12px;padding:12px}.stat-row span,.stat-row strong{display:block}.stat-row span{font-size:.75rem;color:#71798c}.stat-row strong{font-size:1.5rem}.panel{overflow:hidden}.panel-title,.action-bar{display:flex;justify-content:space-between;align-items:center;padding:22px 24px}.panel-title{border-bottom:1px solid #edf0f6}.panel-title h4{margin:0;font-weight:800}.panel-title p{margin:4px 0 0;color:#7b8497}.table>:not(caption)>*>*{padding:16px 20px}.group-desc{max-width:560px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.capacity{width:90px}.action-bar{background:#f9faff;border-top:1px solid #edf0f6}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{padding:18px}.kpi span,.kpi strong{display:block}.kpi span{font-size:.8rem;color:#758096}.kpi strong{font-size:1.8rem;margin-top:5px}.class-card{overflow:hidden;height:100%}.class-head{display:flex;justify-content:space-between;padding:20px;background:linear-gradient(135deg,#243e9c,#4f64cf);color:#fff}.class-head span{font-size:.75rem;opacity:.75}.class-head h3{margin:3px 0 0;font-weight:800}.student-count{font-size:1.7rem;font-weight:800;text-align:center}.student-count small{display:block;font-size:.65rem;font-weight:400}.class-metrics{display:grid;grid-template-columns:repeat(3,1fr);padding:16px}.class-metrics div{text-align:center;border-right:1px solid #edf0f6}.class-metrics div:last-child{border:0}.class-metrics span,.class-metrics b{display:block}.class-metrics span{font-size:.7rem;color:#7b8497}.class-card details{border-top:1px solid #edf0f6}.class-card summary{padding:14px 18px;color:#3157d5;font-weight:700;cursor:pointer}.student-list{max-height:260px;overflow:auto;padding:0 18px 15px}.student-list div{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed #e3e6ee;font-size:.82rem}.student-list small{color:#7d8492}.navbar-brand{display:flex;align-items:center;white-space:nowrap}.navbar-logo{width:52px;height:52px;object-fit:contain;margin-right:9px;flex:0 0 auto}.navbar-content{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center}.navbar-school-title{text-align:center;font-size:.82rem;font-weight:700;letter-spacing:.02em}.navbar-download{white-space:nowrap}@media(max-width:992px){.steps-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.hero-card{padding:2rem}}@media(max-width:767px){.navbar-logo{width:44px;height:44px}.navbar-content{display:flex;justify-content:center;gap:10px;padding-top:10px;padding-bottom:10px}.navbar-school-title{order:3;width:100%;font-size:.72rem}.navbar-download{margin-left:auto}}@media(max-width:576px){.page-heading,.action-bar{align-items:flex-start;flex-direction:column}.steps-grid,.kpi-grid{grid-template-columns:1fr}.hero-card{padding:1.4rem}.display-5{font-size:2rem}}
