:root{--navy:#061a34;--navy2:#0b2b57;--blue:#0b5ee8;--blue2:#2f7df5;--green:#079669;--red:#e11d48;--orange:#f59e0b;--bg:#eef5fb;--card:#fff;--text:#071b34;--muted:#66758b;--line:#dce6f2;--soft:#f8fbff;--shadow:0 18px 40px rgba(12,30,60,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:linear-gradient(180deg,#f7fbff 0,#eaf2f9 100%);color:var(--text);font-weight:400}button,input,select{font:inherit;font-weight:400}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:linear-gradient(180deg,#08264b,#04172e);padding:24px 16px;color:#fff;z-index:20;box-shadow:10px 0 30px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:13px;margin-bottom:30px}.brand img{width:58px;height:58px;object-fit:contain;border-radius:10px}.brand strong{display:block;font-size:15px;line-height:1.25;font-weight:400}.brand small{display:block;margin-top:5px;color:#d2def0;font-size:12px}.sidebar nav{display:grid;gap:8px}.sidebar a{color:#e4edf8;text-decoration:none;padding:13px 14px;border-radius:12px;font-size:15px;font-weight:400}.sidebar a:hover,.sidebar a.active{background:linear-gradient(90deg,#0b63e5,#0746a8);color:#fff}.app{margin-left:238px;padding:18px 24px 30px;max-width:1580px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.menu-btn{display:none;border:0;background:#fff;border-radius:10px;width:40px;height:40px;box-shadow:var(--shadow)}.user-chip{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--text);font-size:13px}.user-chip span{width:38px;height:38px;border-radius:50%;background:#0aa889;color:#fff;display:grid;place-items:center}.user-chip small{display:block;color:var(--muted)}.hero{background:linear-gradient(135deg,#061a34,#0b376b 58%,#155aa5);border-radius:20px;color:#fff;padding:24px 28px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;box-shadow:var(--shadow)}.eyebrow{margin:0 0 8px;color:#f2d35c;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:400}.hero h1{font-size:30px;line-height:1.12;margin:0 0 9px;font-weight:400}.sub{margin:0;color:#dbe8f7}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero button,.hero select,.small-btn{height:42px;border:1px solid #d9e4f1;border-radius:11px;background:#fff;color:var(--text);padding:0 15px;cursor:pointer}.hero .primary{background:var(--blue);color:#fff;border-color:var(--blue)}.filter-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.filter-strip article,.kpi,.panel{background:rgba(255,255,255,.94);border:1px solid var(--line);box-shadow:var(--shadow)}.filter-strip article{border-radius:16px;padding:14px 16px}.filter-strip small,.kpi small{display:block;color:var(--muted);font-size:12px}.filter-strip strong{display:block;margin-top:4px;font-size:15px;font-weight:400}.kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:16px}.kpi{border-radius:17px;padding:17px;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;min-height:116px}.kpi i{grid-row:1/4;width:48px;height:48px;border-radius:16px;background:#eaf2ff;color:var(--blue);display:grid;place-items:center;font-style:normal;font-size:23px}.kpi strong{font-size:31px;font-weight:400;line-height:1}.kpi span{color:#50627a;font-size:13px}.kpi.success strong{color:var(--green)}.kpi.warning strong{color:#9a5600}.kpi.danger strong{color:#991b1b}.main-grid{display:grid;grid-template-columns:1.28fr 1.02fr 1.18fr;gap:16px}.panel{border-radius:18px;padding:18px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.panel-head h2{font-size:20px;margin:0;font-weight:400}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.35}.panel-head span{color:#536378;font-size:13px}.desktop-chart{height:320px}#historyChart{width:100%;height:100%;display:block}.mobile-history{display:none}.donut-layout{display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:center}.donut{width:190px;height:190px;border-radius:50%;margin:auto;display:grid;place-items:center;position:relative;background:conic-gradient(#ef233c 0 13%,#fb8500 13% 48%,#2f7df5 48% 86%,#0aa86c 86% 100%)}.donut:before{content:'';position:absolute;inset:42px;background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line)}.donut span,.donut small{position:relative;display:block;text-align:center}.donut span{font-size:32px;font-weight:400;transform:translateY(14px)}.donut small{color:var(--muted);position:absolute;top:58px;left:50%;transform:translateX(-50%);margin-top:0}.standard-list{display:grid;gap:12px}.standard-item{display:grid;grid-template-columns:1fr auto;gap:5px 16px;border-bottom:1px solid var(--line);padding-bottom:9px}.standard-item b{font-weight:400}.standard-item small{color:var(--muted)}.standard-item em{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.insight-list{display:grid;gap:12px}.insight-list article{border:1px solid var(--line);border-radius:16px;padding:15px;background:linear-gradient(180deg,#fff,#f8fbff);display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.insight-list i{width:44px;height:44px;border-radius:14px;background:#eaf7f1;color:var(--green);display:grid;place-items:center;font-style:normal;font-size:22px}.insight-list strong{display:block;font-weight:400}.insight-list small{color:var(--muted)}.heatmap{display:grid;grid-template-columns:repeat(11,1fr);gap:11px}.skill{min-height:76px;border-radius:13px;padding:9px;text-align:center;display:grid;place-items:center;border:1px solid rgba(255,255,255,.8)}.skill small{font-size:11px}.skill strong{font-size:23px;font-weight:400}.p1{background:#fde7fa}.p2{background:#ead7ff}.p3{background:#c4a7ef}.p4{background:#9271d1;color:#050016}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:12px}.legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;background:#fde7fa}.legend span:nth-child(2):before{background:#ead7ff}.legend span:nth-child(3):before{background:#c4a7ef}.legend span:nth-child(4):before{background:#9271d1}.split-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin:-6px 0 12px}.tabs button{border:0;background:transparent;padding:10px 0;color:#526174;cursor:pointer}.tabs button.active{color:var(--blue);box-shadow:inset 0 -3px 0 var(--blue)}.detail-toolbar{display:grid;grid-template-columns:1fr 190px 210px;gap:10px;margin-bottom:12px}select,input{height:40px;border:1px solid #d5e0ed;border-radius:10px;background:#fff;color:var(--text);padding:0 12px;outline:none}select:focus,input:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(11,94,232,.12)}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}table{width:100%;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:center;white-space:nowrap}th{background:#f6faff;color:#40516a;text-transform:uppercase;font-size:11px;letter-spacing:.03em}th:nth-child(2),td:nth-child(2){text-align:left;min-width:310px}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.selected{background:#eff6ff}td b{font-weight:400}.up{color:var(--green)}.down{color:var(--red)}.status{display:inline-block;padding:6px 10px;border-radius:999px;font-size:12px}.Excelente{background:#dcfce7;color:#067647}.Bom{background:#dbeafe;color:#1d4ed8}.Atenção{background:#ffedd5;color:#b45309}.Crítico{background:#fee2e2;color:#b91c1c}.source{display:block;color:var(--muted);margin-top:10px}.mobile-school-list{display:none}.school-card{position:sticky;top:16px}.school-card h3{margin:0 0 12px;font-size:19px;font-weight:400}.score-ring{width:122px;height:122px;border-radius:50%;margin:8px auto 16px;background:conic-gradient(var(--green) var(--score,0%),#e5edf6 0);display:grid;place-items:center;position:relative}.score-ring:before{content:'';position:absolute;inset:11px;border-radius:50%;background:#fff}.score-ring span,.score-ring small{position:relative}.score-ring span{font-size:31px}.score-ring small{color:var(--muted)}.mini-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.mini-kpis div{border:1px solid var(--line);background:#fff;border-radius:13px;padding:10px}.mini-kpis small{color:var(--muted)}.mini-kpis strong{display:block;margin-top:3px;font-size:22px;font-weight:400}.bar{margin:10px 0}.bar label{display:flex;justify-content:space-between;font-size:12px}.bar i{display:block;height:9px;background:#eaf0f7;border-radius:999px;overflow:hidden;margin-top:6px}.bar i:before{content:'';display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--blue),var(--green))}.turma-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.turma-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px}.turma-card strong{display:block;font-weight:400;font-size:18px}.turma-card small{color:var(--muted)}.turma-card .row{display:flex;justify-content:space-between;margin-top:10px}.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.compare-item{border:1px solid var(--line);border-radius:15px;padding:16px;background:#fff}.compare-item h3{margin:0 0 12px;font-weight:400}.compare-item .metric{display:flex;justify-content:space-between;margin:8px 0}.compare-item i{display:block;height:10px;background:#eaf0f7;border-radius:999px;overflow:hidden}.compare-item i:before{content:'';display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--blue),var(--green))}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.action-grid article{border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.action-grid b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--navy);color:#fff}.action-grid h3{font-weight:400;margin:12px 0 6px}.action-grid p{color:var(--muted);line-height:1.45;margin:0}@media(max-width:1250px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.main-grid{grid-template-columns:1fr 1fr}.main-grid .insights{grid-column:1/-1}.split-grid{grid-template-columns:1fr}.school-card{position:static}.turma-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:840px){.sidebar{transform:translateX(-102%);transition:.2s}.sidebar.open{transform:translateX(0)}.app{margin:0;padding:12px}.menu-btn{display:block}.topbar{position:sticky;top:0;z-index:10;background:#eef5fbcc;backdrop-filter:blur(8px);padding:4px 0}.hero{display:block;padding:20px}.hero h1{font-size:24px}.hero-actions{margin-top:16px}.hero-actions select,.hero-actions button{width:100%}.filter-strip,.kpi-grid,.main-grid,.compare-grid,.action-grid{grid-template-columns:1fr}.kpi{min-height:auto}.desktop-chart{display:none}.mobile-history{display:grid;gap:12px}.mobile-history article{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff}.mobile-history h3{margin:0 0 10px;font-weight:400}.mobile-history .mh-row{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;margin:9px 0}.mobile-history i{height:9px;background:#e7eef7;border-radius:999px;overflow:hidden}.mobile-history i:before{content:'';display:block;height:100%;width:var(--w);background:var(--c)}.donut-layout{grid-template-columns:1fr}.donut{width:168px;height:168px}.heatmap{grid-template-columns:repeat(3,1fr)}.detail-toolbar{grid-template-columns:1fr}.table-wrap{display:none}.mobile-school-list{display:grid;gap:10px}.school-mobile-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px}.school-mobile-card h3{font-size:14px;margin:0 0 8px;font-weight:400}.school-mobile-card .m-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;font-size:12px}.school-mobile-card .m-grid div{background:#f7fbff;border-radius:10px;padding:8px}.school-mobile-card small{color:var(--muted)}.turma-grid{grid-template-columns:1fr}.panel{padding:14px}.panel-head{display:block}.panel-head select,.panel-head .small-btn{margin-top:10px;width:100%}.tabs{overflow:auto;white-space:nowrap}.user-chip div{display:none}}@media(max-width:460px){.heatmap{grid-template-columns:repeat(2,1fr)}.kpi strong{font-size:26px}.brand img{width:48px;height:48px}}@media print{.sidebar,.topbar,.hero-actions,.detail-toolbar{display:none}.app{margin:0;padding:0}.panel,.kpi,.filter-strip article{box-shadow:none}.main-grid,.split-grid,.kpi-grid{grid-template-columns:1fr}.table-wrap{display:block}.mobile-school-list,.mobile-history{display:none}.desktop-chart{display:block}}

/* ALTERAÇÃO: botão de alternância Português/Matemática e ajustes para os dados completos da planilha. */
.subject-toggle{display:flex;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:13px;padding:5px}.subject-toggle .subject-btn{height:38px;border:0;border-radius:10px;background:transparent;color:#eaf2ff;padding:0 14px;cursor:pointer}.subject-toggle .subject-btn.active{background:#fff;color:var(--blue);box-shadow:0 10px 22px rgba(0,0,0,.12)}
@media(max-width:840px){.subject-toggle{width:100%;display:grid;grid-template-columns:1fr 1fr}.subject-toggle .subject-btn{width:100%}.hero-actions select{width:auto}}
/* ALTERAÇÃO: tabs funcionais da visão detalhada */
.tab-view[hidden]{display:none!important}
.tab-intro{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);background:#f7fbff;border-radius:13px;padding:12px 14px;margin-bottom:12px;color:var(--text)}
.tab-intro strong{font-weight:400}.tab-intro span{color:var(--muted);font-size:13px}.heatmap.compact{grid-template-columns:repeat(8,1fr)}
@media(max-width:840px){.tab-intro{display:block}.tab-intro span{display:block;margin-top:4px}.heatmap.compact{grid-template-columns:repeat(2,1fr)}#classTable{min-width:560px}}

/* CORREÇÃO: removidos os botões Português/Matemática do cabeçalho e o componente passou a ser escolhido somente no menu de filtros. */
.filter-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:16px 0;align-items:end}
.filter-field{display:block;background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:12px 14px;min-width:0}
.filter-field span{display:block;color:var(--muted);font-size:12px;margin-bottom:7px}
.filter-field select{width:100%;height:28px;border:0;background:transparent;padding:0;color:var(--text);font-size:15px;outline:none;box-shadow:none;border-radius:0;appearance:auto}
.filter-field select:focus{border:0;box-shadow:none}
@media(max-width:980px){.filter-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.filter-strip{grid-template-columns:1fr}.filter-field select{height:34px}.hero-actions{display:grid;grid-template-columns:1fr;gap:10px}.hero-actions button{width:100%}}
@media print{.filter-field{box-shadow:none}}

.turma-head{align-items:center}.school-class-select{min-width:260px;max-width:360px}.turma-empty{grid-column:1/-1;border:1px dashed var(--line);border-radius:14px;background:#f8fbff;padding:22px;text-align:center;color:var(--muted)}.turma-empty strong{display:block;color:var(--text);font-size:18px;margin-bottom:6px;font-weight:400}.turma-empty span{display:block;font-size:14px}
@media(max-width:840px){.school-class-select{width:100%;min-width:0;max-width:none}}
