.role-school_admin{--tenant-primary:#0b4d91;--tenant-accent:#18a566}.role-school_admin .content{max-width:1700px;margin:auto;padding:24px 28px 45px}.role-school_admin .dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:4px 0 22px}.dashboard-heading h1{font-size:28px;letter-spacing:-.035em;margin:5px 0}.dashboard-heading p{margin:0;color:#657793}.dashboard-heading q{float:right;margin-left:20px;color:#71819a;font-style:italic}.period-picker{display:flex;align-items:center;gap:8px;padding:8px 11px;background:#fff;border:1px solid #dfe7f0;border-radius:11px;box-shadow:0 5px 16px rgba(10,43,82,.05)}.period-picker svg{width:17px;color:var(--tenant-primary)}.period-picker select{border:0;background:transparent;color:#173153;font-size:12px;font-weight:700;outline:none}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.dashboard-kpis .metric-card{min-height:126px;position:relative;overflow:hidden;padding:21px}.dashboard-kpis .metric-card:after{content:"";position:absolute;inset:0 0 auto;height:3px;background:currentColor;opacity:.75}.metric-card.metric-blue{color:#2873df;background:linear-gradient(135deg,#fff,#edf5ff)}.metric-card.metric-green{color:#159867;background:linear-gradient(135deg,#fff,#edfbf5)}.metric-card.metric-purple{color:#7652df;background:linear-gradient(135deg,#fff,#f4efff)}.metric-card.metric-orange{color:#ed8519;background:linear-gradient(135deg,#fff,#fff2e7)}.metric-card>div{color:#112543}.metric-card .metric-icon{width:48px;height:48px}.metric-card .metric-icon svg{width:23px;height:23px}.metric-card strong{font-size:23px;white-space:nowrap}.metric-card em{font-size:11px;color:#718098}.executive-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,1fr) 320px;gap:16px;align-items:stretch}.executive-grid>.panel{min-width:0;padding:18px}.chart-wide{grid-column:span 1}.panel-head>div>small{font-size:9px;letter-spacing:.11em;font-weight:850;color:#718198}.panel-head h3{font-size:16px}.chart-frame{height:250px;position:relative;margin-top:12px}.chart-frame.compact{height:190px}.chart-frame canvas{width:100%;height:100%;display:block}.chart-empty{display:none;position:absolute;inset:0;place-items:center;text-align:center;color:#8190a5;font-size:12px;padding:25px}.chart-frame.is-empty .chart-empty{display:grid}.chart-frame.is-empty canvas{display:none}.attendance-visual{display:flex;align-items:center;justify-content:center;gap:25px;min-height:220px}.donut{--percent:0;width:145px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#fff 0 56%,transparent 57%),conic-gradient(#18a566 calc(var(--percent)*1%),#e9eef5 0);box-shadow:inset 0 0 0 1px #edf1f6}.donut strong{font-size:27px}.donut small{color:#718198}.attendance-visual ul{padding:0;margin:0;list-style:none;display:grid;gap:14px}.attendance-visual li{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;color:#53657e;font-size:12px}.attendance-visual b{color:#102443}.dot{width:8px;height:8px;border-radius:50%}.green-dot{background:#18a566}.amber-dot{background:#f1b81c}.red-dot{background:#ef4444}.dashboard-side{grid-column:3}.events-side{grid-row:span 1}.events-side .event-inner,.events-side .panel{padding:0;border:0;box-shadow:none!important;background:transparent}.events-side .feed time{width:43px;padding:7px 5px;border-radius:8px;background:#fff0f0;color:#e24444;text-align:center;font-size:9px}.events-side .feed time b{display:block;font-size:16px}.finance-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.finance-summary span{padding:9px;border-radius:9px;background:#f6f8fb;display:grid}.finance-summary small{font-size:9px;color:#75859a}.finance-summary b{font-size:12px;margin-top:3px}.action-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.action-tiles a{min-height:82px;padding:12px;border-radius:11px;background:#eff6ff;color:#164d8f;display:grid;align-content:center;gap:7px;font-size:11px;font-weight:750}.action-tiles a:nth-child(2){background:#edfaf3;color:#108754}.action-tiles a:nth-child(3){background:#fff3e8;color:#d76b0b}.action-tiles a:nth-child(4){background:#f3efff;color:#6741cf}.action-tiles svg{width:23px}.class-progress-list,.task-list,.activity-list{display:grid;gap:13px;margin-top:15px}.class-progress-list>div{display:grid;grid-template-columns:minmax(105px,.9fr) 1fr 42px;gap:10px;align-items:center}.class-progress-list span{display:grid}.class-progress-list small{color:#7d8b9e;font-size:9px}.class-progress-list>div>div{height:6px;border-radius:20px;background:#edf1f5;overflow:hidden}.class-progress-list i{display:block;width:var(--value);height:100%;background:#19a66b;border-radius:20px}.class-progress-list strong{font-size:11px;text-align:right}.task-list a{display:flex;justify-content:space-between;align-items:center;color:#314760;font-size:12px;padding:8px 0;border-bottom:1px solid #edf1f5}.task-list b{min-width:25px;text-align:center;padding:4px;border-radius:15px;background:#edf5ff;color:#286fd0}.task-list b.needs-action{background:#fff0e6;color:#d8610e}.activity-list>div{display:flex;gap:10px;align-items:center}.activity-list svg{width:28px;height:28px;padding:7px;box-sizing:content-box;border-radius:50%;background:#eaf7f1;color:#159462}.activity-list span{display:grid;font-size:11px}.activity-list small{color:#8090a3}.feed-icon svg{width:16px}.topbar{height:68px}.role-school_admin .sidebar{width:250px}.role-school_admin .brand-copy b{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-school_admin .nav-heading{margin-top:18px}.role-school_admin .nav-link{padding:9px 12px}.role-school_admin .panel{border:1px solid #e3eaf2!important}.role-school_admin .panel-head{padding-bottom:11px}.role-school_admin .panel-head a{font-size:11px;font-weight:750}
@media(max-width:1280px){.executive-grid{grid-template-columns:1.4fr 1fr}.dashboard-side{grid-column:auto}.events-side{grid-column:span 2}.dashboard-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.role-school_admin .content{padding:20px}.role-school_admin .dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-heading q{float:none;display:block;margin:7px 0 0}.executive-grid{grid-template-columns:1fr 1fr}.events-side{grid-column:span 2}}
@media(max-width:680px){.dashboard-kpis,.executive-grid{grid-template-columns:1fr}.events-side{grid-column:auto}.period-picker{width:100%;flex-wrap:wrap}.dashboard-kpis .metric-card{min-height:105px}.finance-summary{grid-template-columns:1fr 1fr}.chart-frame{height:220px}.role-school_admin .content{padding:16px}.class-progress-list>div{grid-template-columns:110px 1fr 36px}}
@media(prefers-reduced-motion:reduce){.dashboard-kpis .metric-card{transition:none}}
