:root{
  --bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--muted:#64748b;
  --primary:#0b57d0;--primary-2:#e8f0fe;--border:#dfe5ef;--green:#137333;--green-bg:#e6f4ea;
  --amber:#9a6700;--amber-bg:#fff4d6;--red:#b3261e;--red-bg:#fce8e6;--shadow:0 10px 30px rgba(31,42,68,.07);
  --radius:18px;--radius-sm:12px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select{font:inherit}button{cursor:pointer}.appbar{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:12px 28px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.brand-wrap{display:flex;align-items:center;gap:11px;min-width:230px}.brand-wrap strong{display:block;font-size:14px}.brand-wrap span{display:block;color:var(--muted);font-size:12px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--primary);color:white;display:grid;place-items:center;font-weight:800;letter-spacing:.5px}
.topnav{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.nav-btn{border:0;background:transparent;padding:9px 12px;border-radius:10px;color:#526176;font-weight:650}.nav-btn:hover{background:#f2f5fa}.nav-btn.active{color:var(--primary);background:var(--primary-2)}.appbar-actions{display:flex;justify-content:flex-end}
.shell{max-width:1720px;margin:0 auto;padding:32px 28px 54px}.view{display:none}.view.active{display:block}.hero-row,.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:22px}.hero-row h1,.section-head h1{font-size:clamp(26px,3vw,38px);line-height:1.15;margin:4px 0 8px;letter-spacing:-.03em}.eyebrow,.kicker{margin:0;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.12em}.muted{color:var(--muted);margin:0}.fine-print{color:var(--muted);font-size:12px;margin:16px 0 0}.hero-controls,.inline-controls{display:flex;gap:10px;align-items:end}.hero-controls label{font-size:12px;color:var(--muted);font-weight:650}
select,input{width:100%;border:1px solid #cfd7e6;background:white;color:var(--text);border-radius:11px;padding:10px 12px;outline:none;transition:.15s}select:focus,input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(11,87,208,.12)}.search{min-width:220px}
.btn{border:1px solid transparent;border-radius:11px;padding:10px 14px;font-weight:750;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--primary);color:#fff}.btn.secondary{background:#edf3ff;color:var(--primary);border-color:#c9dafc}.btn.ghost{background:#fff;border-color:var(--border);color:#334155}.btn.danger{background:#fff;color:var(--red);border-color:#f1c2be}.link-btn{border:0;background:transparent;color:var(--primary);font-weight:750;padding:6px}.icon-btn{border:0;background:#f2f5f8;width:34px;height:34px;border-radius:9px;font-size:21px;color:#475569}.file-btn{display:inline-flex;justify-content:center}.file-btn input{display:none}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-height:126px}.kpi .label{color:var(--muted);font-weight:650;font-size:12px}.kpi .value{font-size:28px;font-weight:850;letter-spacing:-.03em;margin-top:9px}.kpi .sub{margin-top:4px;color:var(--muted);font-size:12px}.delta{display:inline-flex;margin-top:8px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:750}.delta.good{background:var(--green-bg);color:var(--green)}.delta.warn{background:var(--amber-bg);color:var(--amber)}.delta.bad{background:var(--red-bg);color:var(--red)}
.grid{display:grid;gap:16px;margin-top:16px}.grid.two-thirds{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.grid.half{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}.card.flush{padding:0;overflow:hidden}.card-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.card-head h2{margin:2px 0 0;font-size:18px;letter-spacing:-.015em}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:750}.pill.good{background:var(--green-bg);color:var(--green)}.pill.warn{background:var(--amber-bg);color:var(--amber)}.pill.bad{background:var(--red-bg);color:var(--red)}.pill.neutral{background:#eef2f7;color:#58677c}.pill.info{background:var(--primary-2);color:var(--primary)}
.metric-bars{display:grid;gap:16px}.metric-bar .top{display:flex;justify-content:space-between;margin-bottom:6px}.metric-bar .name{font-weight:750}.track{height:10px;border-radius:999px;background:#edf1f6;overflow:hidden}.fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#5b8def,var(--primary))}.metric-bar .meta{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:4px}
.table-wrap{width:100%;overflow:auto}.table-wrap.tall{max-height:68vh}.data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:780px}.data-table th{position:sticky;top:0;background:#f7f9fc;z-index:2;text-align:left;color:#5b687b;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:10px 12px;border-bottom:1px solid var(--border)}.data-table td{padding:11px 12px;border-bottom:1px solid #edf0f5;vertical-align:middle}.data-table tbody tr:nth-child(even){background:#fbfcfe}.data-table tbody tr:hover{background:#f2f6fc}.num{text-align:right;font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.small{font-size:12px;color:var(--muted)}.row-action{border:0;background:#eef4ff;color:var(--primary);font-weight:750;padding:6px 9px;border-radius:8px}
.stack-list,.insight-list,.audit-list{display:grid;gap:10px}.stack-item,.insight-item,.audit-item{border:1px solid var(--border);border-radius:13px;padding:12px;background:#fbfcfe}.stack-item strong,.insight-item strong{display:block}.stack-item p,.insight-item p{margin:4px 0 0;color:var(--muted);font-size:12px}.priority-score{font-weight:850;font-variant-numeric:tabular-nums}.empty{padding:20px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:12px}
.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.discipline-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.discipline-card-head{display:flex;justify-content:space-between;gap:15px;padding:18px;border-bottom:1px solid var(--border)}.discipline-card h2{margin:2px 0 3px;font-size:18px}.discipline-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.discipline-bimesters{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.bimester-box{padding:14px 16px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.bimester-box:nth-child(2n){border-right:0}.bimester-box:nth-last-child(-n+2){border-bottom:0}.bimester-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.bimester-title strong{font-size:12px}.activity-mini{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:12px;margin-top:6px}.activity-mini span:nth-child(odd){color:var(--muted)}.needed{padding:12px 16px;background:#f8fafc;border-top:1px solid var(--border);font-size:12px;color:#475569}
.filter-bar{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(200px,1.4fr) auto;gap:10px;margin-bottom:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:grid;gap:6px;color:#526176;font-size:12px;font-weight:700}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.action-stack{display:grid;gap:10px}.data-stats{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-tile{background:#f8fafc;border:1px solid var(--border);border-radius:12px;padding:10px}.stat-tile strong{display:block;font-size:18px}.stat-tile span{font-size:11px;color:var(--muted)}
.insight-hero{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.insight-hero .hero-tile{border-radius:16px;padding:16px;border:1px solid var(--border);background:#fff}.hero-tile .big{font-size:24px;font-weight:850;margin-top:8px}.hero-tile p{margin:3px 0 0;color:var(--muted);font-size:12px}.matrix td{font-size:12px}.cell-good{background:rgba(230,244,234,.65)!important}.cell-warn{background:rgba(255,244,214,.7)!important}.cell-bad{background:rgba(252,232,230,.7)!important}.cell-missing{background:#f8fafc!important;color:#94a3b8}
.modal{border:0;border-radius:20px;padding:0;width:min(640px,calc(100vw - 28px));box-shadow:0 25px 80px rgba(15,23,42,.25)}.modal::backdrop{background:rgba(15,23,42,.42);backdrop-filter:blur(3px)}.modal form{padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-head h2{margin:2px 0 0}.modal-grid{grid-template-columns:1fr 1fr}.preview-box{margin-top:14px;padding:12px 14px;border-radius:12px;background:#f5f8ff;border:1px solid #dce8ff;color:#42526a;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.toast{position:fixed;right:24px;bottom:24px;background:#172033;color:#fff;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:80}.toast.show{opacity:1;transform:none}
canvas{width:100%;display:block}.audit-item{display:flex;justify-content:space-between;gap:12px}.audit-item .when{color:var(--muted);font-size:11px;white-space:nowrap}
@media(max-width:1100px){.appbar{grid-template-columns:auto 1fr}.appbar-actions{display:none}.topnav{justify-content:flex-end}.kpi-grid{grid-template-columns:repeat(3,1fr)}.grid.two-thirds,.grid.half{grid-template-columns:1fr}.discipline-grid{grid-template-columns:1fr}.filter-bar{grid-template-columns:repeat(3,1fr)}.insight-hero{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.appbar{position:static;display:block;padding:12px 16px}.brand-wrap{margin-bottom:10px}.topnav{justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.nav-btn{white-space:nowrap}.shell{padding:22px 14px 40px}.hero-row,.section-head{align-items:stretch;flex-direction:column}.kpi-grid{grid-template-columns:repeat(2,1fr)}.discipline-bimesters{grid-template-columns:1fr}.bimester-box{border-right:0}.bimester-box:nth-last-child(-n+2){border-bottom:1px solid var(--border)}.bimester-box:last-child{border-bottom:0}.filter-bar{grid-template-columns:1fr 1fr}.form-grid,.modal-grid{grid-template-columns:1fr}.insight-hero{grid-template-columns:1fr 1fr}.search{min-width:0}}
@media(max-width:480px){.kpi-grid,.insight-hero,.filter-bar{grid-template-columns:1fr}.kpi{min-height:auto}}
@media print{.appbar,.hero-controls,.filter-bar,.btn,.link-btn{display:none!important}.shell{max-width:none;padding:0}.view{display:block!important;break-before:page}.card,.discipline-card,.kpi{box-shadow:none;break-inside:avoid}}

/* ===== v2: disciplinas expansíveis, lançamentos visuais e evolução ===== */
:root{
  --blue-soft:#eaf2ff;--violet:#6d4aff;--violet-soft:#f0ecff;--cyan:#087ea4;--cyan-soft:#e6f7fb;
  --orange:#b65b00;--orange-soft:#fff0df;--pink:#a83b72;--pink-soft:#fdebf4;
}
.pill.pending{background:#fff0df;color:#a04d00}
.delta-mini{display:inline-flex;align-items:center;gap:3px;width:max-content;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}
.delta-mini.up{background:var(--green-bg);color:var(--green)}
.delta-mini.down{background:var(--red-bg);color:var(--red)}
.delta-mini.neutral{background:#eef2f7;color:#64748b}

/* Disciplinas */
.discipline-grid{display:grid;grid-template-columns:1fr;gap:12px}
.discipline-expander{--accent:#0b57d0;background:#fff;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.discipline-expander:hover{border-color:#c8d4e6;box-shadow:0 14px 36px rgba(31,42,68,.09)}
.discipline-expander[open]{box-shadow:0 18px 44px rgba(31,42,68,.11)}
.discipline-expander summary{list-style:none}.discipline-expander summary::-webkit-details-marker{display:none}
.accent-0{--accent:#0b57d0}.accent-1{--accent:#6d4aff}.accent-2{--accent:#087ea4}.accent-3{--accent:#b65b00}.accent-4{--accent:#a83b72}.accent-5{--accent:#137333}
.discipline-summary-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 19px;cursor:pointer;user-select:none;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,white),#fff 42%);transition:background .2s}
.discipline-summary-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 9%,white),#fff 50%)}
.discipline-summary-main{display:flex;align-items:center;gap:15px;min-width:0}.discipline-summary-main h2{margin:2px 0 5px;font-size:19px;line-height:1.2}.discipline-index{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-weight:900;font-size:12px;letter-spacing:.08em}
.discipline-pills{display:flex;gap:6px;flex-wrap:wrap}.discipline-summary-side{display:flex;align-items:center;gap:14px}.summary-metric{display:grid;gap:4px;justify-items:end}.summary-metric>span:first-child{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.expander-chevron{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;color:#526176;font-size:20px;font-weight:800;transition:transform .25s,background .2s}.discipline-expander[open] .expander-chevron{transform:rotate(180deg);background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent)}
.discipline-expanded{border-top:1px solid var(--border);padding:17px;background:#fbfcfe}.discipline-expanded-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.discipline-expanded-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.discipline-bimester-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bimester-card{border:1px solid var(--border);border-top:3px solid #94a3b8;border-radius:15px;background:#fff;padding:14px;min-width:0}.bimester-card.good{border-top-color:var(--green)}.bimester-card.warn{border-top-color:#d09200}.bimester-card.bad{border-top-color:var(--red)}.bimester-card.missing{border-top-color:#94a3b8}
.bimester-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.bimester-card-head>div:first-child{display:flex;align-items:baseline;gap:6px}.bimester-number{font-size:22px;font-weight:900;color:var(--accent)}.bimester-average{text-align:right}.bimester-average span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}.bimester-average strong{font-size:22px;line-height:1.1}.bimester-status-line{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 12px}.activity-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.activity-score{border:1px solid var(--border);border-radius:12px;padding:10px;min-width:0;position:relative;overflow:hidden}.activity-score::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:#94a3b8}.activity-score.exam::before{background:#0b57d0}.activity-score.group::before{background:#6d4aff}.activity-score.individual::before{background:#087ea4}.activity-score-top{display:flex;justify-content:space-between;align-items:flex-start;gap:5px}.activity-score-top .pill{padding:2px 6px;font-size:9px}.activity-name{font-size:11px;font-weight:800;color:#526176}.activity-value{font-size:22px;font-weight:900;letter-spacing:-.03em;margin:6px 0 2px}.activity-foot{display:flex;justify-content:space-between;align-items:center;gap:5px;color:var(--muted);font-size:9px}.needed{display:flex;align-items:flex-start;gap:9px;margin-top:12px;border:1px solid #dbe7ff;border-radius:13px;background:#f5f8ff;color:#42526a}.needed-icon{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border-radius:50%;background:#e5edff;color:var(--primary);font-weight:900}

/* Lançamentos */
#view-entries .card.flush{border-radius:20px;background:linear-gradient(180deg,#fff,#fbfcff)}
#entriesTable{min-width:1040px}
#entriesTable th{background:linear-gradient(180deg,#f9fbff,#f3f7fd);color:#53647b;padding-top:12px;padding-bottom:12px}
#entriesTable .entry-row{--row-accent:#94a3b8;animation:entryRowIn .32s both;animation-delay:var(--row-delay);transition:transform .18s,box-shadow .18s,background .18s}
#entriesTable .entry-row:hover{background:#f7faff;box-shadow:inset 4px 0 var(--row-accent);transform:translateX(2px)}
#entriesTable .entry-row.activity-exam{--row-accent:#0b57d0}#entriesTable .entry-row.activity-group{--row-accent:#6d4aff}#entriesTable .entry-row.activity-individual{--row-accent:#087ea4}#entriesTable .entry-row.activity-recovery{--row-accent:#b65b00}
.entry-discipline{display:flex;align-items:center;gap:9px}.entry-accent{width:8px;height:34px;border-radius:999px;background:var(--row-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--row-accent) 10%,white)}.entry-discipline strong{display:block}.entry-id{display:block;margin-top:2px;font-size:9px;color:#9aa7b7;letter-spacing:.03em}
.stage-pill,.activity-pill,.score-chip{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-weight:800;white-space:nowrap}.stage-pill{padding:5px 8px;background:#f1f5f9;color:#526176;font-size:10px}.activity-pill{gap:6px;padding:5px 9px;font-size:10px}.activity-pill.exam{background:var(--blue-soft);color:#0b57d0}.activity-pill.group{background:var(--violet-soft);color:#6040d8}.activity-pill.individual{background:var(--cyan-soft);color:#086987}.activity-pill.recovery{background:var(--orange-soft);color:#9c5000}.activity-dot{width:7px;height:7px;border-radius:50%;background:currentColor}.source-label{margin-top:4px}.raw-score{font-weight:750;color:#526176}.score-chip{justify-content:center;min-width:48px;padding:5px 9px;font-size:12px}.score-chip.good{background:var(--green-bg);color:var(--green)}.score-chip.warn{background:var(--amber-bg);color:var(--amber)}.score-chip.bad{background:var(--red-bg);color:var(--red)}.score-chip.missing{background:#eef2f7;color:#94a3b8}.edit-grade{transition:transform .15s,box-shadow .15s,background .15s}.edit-grade:hover{transform:translateY(-1px);background:#dfeaff;box-shadow:0 5px 12px rgba(11,87,208,.12)}
@keyframes entryRowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Insights de evolução */
.evolution-section{margin-top:16px;overflow:hidden}.evolution-head{align-items:flex-end}.evolution-head .muted{margin-top:4px;max-width:820px}.compact-filter{display:grid;gap:5px;min-width:240px;color:var(--muted);font-size:11px;font-weight:750}.evolution-legend{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 14px}.legend-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:#fafcff;color:#526176;font-size:10px;font-weight:750}.legend-dot{width:8px;height:8px;border-radius:50%;background:#94a3b8}.legend-dot.exam{background:#0b57d0}.legend-dot.group{background:#6d4aff}.legend-dot.individual{background:#087ea4}.legend-dot.average{background:#137333}
.evolution-grid{display:grid;gap:13px}.discipline-evolution-card{--accent:#0b57d0;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:16px;background:#fbfcff;overflow:hidden}.evolution-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:14px 15px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,white),white 38%);border-bottom:1px solid var(--border)}.evolution-card-head h3{margin:2px 0 5px;font-size:17px}.trend-box{display:grid;justify-items:end;gap:5px}.trend-box>span:first-child{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.evolution-bimesters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.evolution-bimester{padding:13px;border-right:1px solid var(--border);background:#fff;min-width:0}.evolution-bimester:last-child{border-right:0}.evolution-bimester.good{box-shadow:inset 0 3px var(--green)}.evolution-bimester.warn{box-shadow:inset 0 3px #d09200}.evolution-bimester.bad{box-shadow:inset 0 3px var(--red)}.evolution-bimester.missing{box-shadow:inset 0 3px #cbd5e1}.evo-bim-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:11px}.evo-bim-head>div:first-child{display:flex;gap:4px;align-items:baseline}.evo-bim-head>div:first-child span{font-size:20px;font-weight:900;color:var(--accent)}.evo-bim-head>div:first-child strong{font-size:11px}.evo-average{text-align:right;display:grid;justify-items:end}.evo-average small{color:var(--muted);font-size:9px;text-transform:uppercase}.evo-average>strong{font-size:18px}.evo-metrics{display:grid;gap:6px}.evo-metric{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "delta delta";gap:2px 8px;padding:7px 8px;border-radius:10px;background:#f8fafc;border:1px solid #edf0f4}.evo-label{grid-area:label;display:flex;align-items:center;gap:6px;color:#526176;font-size:10px;font-weight:750}.evo-label i{width:6px;height:6px;border-radius:50%;background:#94a3b8}.evo-metric.exam .evo-label i{background:#0b57d0}.evo-metric.group .evo-label i{background:#6d4aff}.evo-metric.individual .evo-label i{background:#087ea4}.evo-metric>strong{grid-area:value;font-size:13px}.evo-metric>.delta-mini{grid-area:delta;justify-self:end}.evo-completion{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:9px;color:var(--muted);font-size:9px}

/* Modal */
.modal{max-height:calc(100dvh - 24px);overflow:auto}.modal form{background:#fff}.modal::backdrop{animation:backdropIn .16s ease-out}@keyframes backdropIn{from{opacity:0}to{opacity:1}}

@media(max-width:1100px){
  .activity-score-grid{grid-template-columns:1fr}.evolution-bimesters{grid-template-columns:repeat(2,minmax(0,1fr))}.evolution-bimester:nth-child(2){border-right:0}.evolution-bimester:nth-child(-n+2){border-bottom:1px solid var(--border)}
}
@media(max-width:760px){
  body{padding-bottom:70px}.appbar{position:sticky;top:0;display:flex;padding:10px 14px;z-index:40}.brand-wrap{margin:0;min-width:0}.brand-wrap span{display:none}.brand-mark{width:34px;height:34px;border-radius:10px}.topnav{position:fixed;left:8px;right:8px;bottom:8px;z-index:70;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:6px;background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:17px;box-shadow:0 12px 36px rgba(15,23,42,.2);backdrop-filter:blur(15px);overflow:visible}.nav-btn{padding:8px 3px;font-size:10px;line-height:1.15;border-radius:11px}.appbar-actions{display:flex;margin-left:auto}.appbar-actions .btn{font-size:11px;padding:8px 10px}.shell{padding:18px 12px 34px}.section-head,.hero-row{margin-bottom:16px}.section-head .btn,.hero-row .btn{width:100%}.inline-controls,.hero-controls{width:100%}.inline-controls>*{width:100%}
  .discipline-summary-row{padding:14px;align-items:flex-start}.discipline-summary-main{align-items:flex-start;gap:10px}.discipline-index{width:36px;height:36px;flex-basis:36px}.discipline-summary-main h2{font-size:16px}.discipline-summary-side{align-self:center}.summary-metric{display:none}.expander-chevron{width:30px;height:30px}.discipline-expanded{padding:12px}.discipline-expanded-head{align-items:stretch;flex-direction:column}.discipline-expanded-head .row-action{width:100%;padding:10px}.discipline-bimester-cards{grid-template-columns:1fr}.activity-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.activity-score{padding:8px}.activity-score-top{display:block}.activity-score-top .pill{display:none}.activity-value{font-size:20px}.activity-foot{display:block}.activity-foot .delta-mini{margin-top:4px}.needed{margin-top:10px}
  .evolution-head{align-items:stretch;flex-direction:column}.compact-filter{width:100%;min-width:0}.evolution-card-head{display:block}.trend-box{margin-top:8px;justify-items:start}.evolution-bimesters{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,82vw);grid-template-columns:none;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.evolution-bimester{scroll-snap-align:start;border-right:1px solid var(--border)!important;border-bottom:0!important}.evolution-bimester:last-child{border-right:0!important}.evolution-section{padding:14px 0}.evolution-section>.card-head,.evolution-section>.evolution-legend{padding-left:14px;padding-right:14px}.evolution-grid{padding:0 14px}.evolution-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.legend-chip{flex:0 0 auto}
  .filter-bar{grid-template-columns:1fr 1fr}.filter-bar .search{grid-column:1/-1}.filter-bar .btn{grid-column:1/-1}
  .table-wrap.tall{max-height:none;overflow:visible}.card.flush:has(#entriesTable){background:transparent;border:0;box-shadow:none;overflow:visible}#entriesTable{min-width:0;display:block}#entriesTable thead{display:none}#entriesTable tbody{display:grid;gap:10px}#entriesTable .entry-row{display:grid;background:#fff;border:1px solid var(--border);border-left:4px solid var(--row-accent);border-radius:15px;box-shadow:var(--shadow);overflow:hidden;padding:8px 11px}#entriesTable .entry-row:hover{transform:none;box-shadow:var(--shadow)}#entriesTable td{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 2px;border-bottom:1px dashed #e8edf4;text-align:right!important;min-width:0}#entriesTable td:last-child{border-bottom:0}#entriesTable td::before{content:attr(data-label);flex:0 0 auto;color:#7b8797;font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;text-align:left}#entriesTable td:first-child{align-items:flex-start}#entriesTable td:first-child::before{padding-top:7px}#entriesTable .entry-discipline{text-align:left;min-width:0}#entriesTable .entry-discipline>div{min-width:0}#entriesTable .entry-discipline strong{white-space:normal}#entriesTable .row-action{width:100%;padding:9px 12px}#entriesTable td:last-child{display:grid;grid-template-columns:auto 1fr}#entriesTable .activity-pill{max-width:170px;white-space:normal;text-align:left}.source-label{text-align:right}
  .modal{width:calc(100vw - 18px);border-radius:17px}.modal form{padding:16px}.modal-actions{display:grid;grid-template-columns:1fr 1fr}.modal-actions .btn{width:100%}
}
@media(max-width:520px){
  .activity-score-grid{grid-template-columns:1fr}.activity-score-top{display:flex}.activity-score-top .pill{display:inline-flex}.activity-foot{display:flex}.activity-foot .delta-mini{margin-top:0}.discipline-pills .pill:nth-child(3){display:none}.filter-bar{grid-template-columns:1fr}.filter-bar .search,.filter-bar .btn{grid-column:auto}.evolution-grid{padding:0 10px}.evolution-section>.card-head,.evolution-section>.evolution-legend{padding-left:10px;padding-right:10px}.nav-btn{font-size:9px}.appbar-actions .btn{max-width:115px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v3 — gráficos interativos por disciplina */
.discipline-summary-main>div{min-width:0}.discipline-summary-main h2{margin-top:0;letter-spacing:-.02em}.discipline-expander[open] .discipline-summary-row{border-bottom:1px solid var(--border)}
.evolution-chart-panel{padding:16px 17px 18px;background:linear-gradient(180deg,#fbfdff 0%,#fff 100%);border-bottom:1px solid var(--border)}
.chart-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.chart-toolbar>div:first-child{display:grid;gap:3px}.chart-toolbar strong{font-size:14px}.chart-toolbar span{font-size:11px;color:var(--muted)}
.series-toggles{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.series-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:#fff;color:#69778b;font-size:11px;font-weight:800;transition:transform .16s,box-shadow .16s,border-color .16s,background .16s,color .16s}.series-toggle:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(31,42,68,.08)}.series-toggle i{width:8px;height:8px;border-radius:50%;background:#b8c1cf;box-shadow:0 0 0 3px rgba(148,163,184,.12)}.series-toggle.active.exam{border-color:#b8d0fb;background:#edf4ff;color:#0b57d0}.series-toggle.active.exam i{background:#0b57d0;box-shadow:0 0 0 3px rgba(11,87,208,.12)}.series-toggle.active.group{border-color:#d4c9ff;background:#f3f0ff;color:#6040d8}.series-toggle.active.group i{background:#6d4aff;box-shadow:0 0 0 3px rgba(109,74,255,.12)}.series-toggle.active.individual{border-color:#b9e3ed;background:#ecf9fc;color:#086987}.series-toggle.active.individual i{background:#087ea4;box-shadow:0 0 0 3px rgba(8,126,164,.12)}
.latest-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.latest-stat{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "sub sub";gap:2px 8px;padding:9px 11px;border:1px solid #e6ebf2;border-radius:12px;background:#fff}.latest-stat::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#94a3b8}.latest-stat.exam::before{background:#0b57d0}.latest-stat.group::before{background:#6d4aff}.latest-stat.individual::before{background:#087ea4}.latest-stat>span{grid-area:label;color:#66768a;font-size:10px;font-weight:800}.latest-stat>strong{grid-area:value;font-size:14px}.latest-stat>small{grid-area:sub;color:#94a3b8;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.chart-canvas-wrap{position:relative;min-height:280px;border:1px solid #e7ecf3;border-radius:14px;padding:8px 8px 0;background:#fff;overflow:hidden}.discipline-trend-chart{width:100%;height:280px}.chart-footnote{display:flex;align-items:center;gap:7px;margin-top:8px;color:#7a8798;font-size:10px}.meta-line{width:20px;border-top:2px dashed #b3261e;flex:0 0 auto}
.discipline-evolution-card{box-shadow:0 8px 24px rgba(31,42,68,.055)}.discipline-evolution-card+.discipline-evolution-card{margin-top:2px}.evolution-card-head h3{margin-top:0;font-size:19px;letter-spacing:-.02em}

@media(max-width:760px){
  .chart-toolbar{display:grid;gap:10px}.series-toggles{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.series-toggles::-webkit-scrollbar{display:none}.series-toggle{flex:0 0 auto}.latest-stats{grid-template-columns:1fr 1fr 1fr}.latest-stat{grid-template-columns:1fr;grid-template-areas:"label" "value" "sub"}.latest-stat>strong{font-size:16px}.chart-canvas-wrap{min-height:240px;padding-left:2px;padding-right:2px}.discipline-trend-chart{height:240px}.evolution-chart-panel{padding:13px 12px 15px}.chart-footnote{align-items:flex-start}
}
@media(max-width:520px){
  .latest-stats{grid-template-columns:1fr}.latest-stat{grid-template-columns:1fr auto;grid-template-areas:"label value" "sub sub"}.discipline-pills .pill:nth-child(5){display:none}.discipline-index{display:none}.discipline-summary-main{gap:0}.series-toggle{padding:6px 9px}.chart-canvas-wrap{min-height:225px}.discipline-trend-chart{height:225px}
}

/* v4 — organização mobile-first com expanders fechados */
.section-expander{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;min-width:0;transition:border-color .18s,box-shadow .18s,transform .18s}
.section-expander:hover{border-color:#cad5e5;box-shadow:0 13px 34px rgba(31,42,68,.085)}
.section-expander[open]{box-shadow:0 16px 40px rgba(31,42,68,.10)}
.section-expander>summary{list-style:none}.section-expander>summary::-webkit-details-marker{display:none}
.section-expander-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 18px;cursor:pointer;user-select:none;background:linear-gradient(180deg,#fff,#fbfcff);transition:background .18s}
.section-expander-summary:hover{background:#f8faff}
.section-expander-summary>div:first-child{min-width:0}.section-expander-summary h2{margin:2px 0 3px;font-size:18px;letter-spacing:-.018em}.section-expander-summary p{margin:0;color:var(--muted);font-size:11px;max-width:720px}
.section-expander[open]>.section-expander-summary{border-bottom:1px solid var(--border);background:#fbfdff}
.section-expander[open]>.section-expander-summary .expander-chevron{transform:rotate(180deg);background:var(--primary-2);color:var(--primary)}
.section-expander-body{padding:17px 18px;background:#fff}.section-expander-body.flush-body{padding:0}.summary-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.expander-action-line{display:flex;justify-content:flex-end;margin:-4px 0 10px}
.collapsible-grid{align-items:start}.expander-stack{display:grid;gap:12px}.history-expander,.matrix-expander{margin-top:16px}.compact-expander .section-expander-summary{padding-top:14px;padding-bottom:14px}
.entries-expander .section-expander-body{background:linear-gradient(180deg,#fff,#fbfcff)}
.entries-expander .table-wrap{border-radius:0}.entries-expander[open]{overflow:visible}.entries-expander[open]>.section-expander-summary{border-radius:18px 18px 0 0}
#view-entries .filter-bar{margin-bottom:0}

/* Insights: um gráfico por disciplina, fechado por padrão */
.organizer-section{margin-top:16px}.organizer-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:10px}.organizer-head h2{margin:2px 0 4px;font-size:20px;letter-spacing:-.02em}.organizer-section>.evolution-legend{margin-bottom:12px}
.discipline-evolution-expander{--accent:#0b57d0;background:#fff;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:18px;box-shadow:0 8px 24px rgba(31,42,68,.055);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.discipline-evolution-expander:hover{border-color:#c8d4e6;box-shadow:0 14px 36px rgba(31,42,68,.09)}
.discipline-evolution-expander[open]{box-shadow:0 18px 44px rgba(31,42,68,.11)}
.discipline-evolution-expander>summary{list-style:none}.discipline-evolution-expander>summary::-webkit-details-marker{display:none}
.evolution-summary-row{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 18px;cursor:pointer;user-select:none;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,white),#fff 42%);transition:background .2s}
.evolution-summary-row:hover{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 9%,white),#fff 50%)}
.discipline-evolution-expander[open] .evolution-summary-row{border-bottom:1px solid var(--border)}
.discipline-evolution-expander[open] .expander-chevron{transform:rotate(180deg);background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent)}
.evolution-summary-main{display:flex;align-items:center;gap:15px;min-width:0}.evolution-summary-main>div{min-width:0}.evolution-summary-main h3{margin:0 0 5px;font-size:19px;line-height:1.2;letter-spacing:-.02em}.evolution-summary-side{display:flex;align-items:center;gap:14px}.evolution-expanded{background:#fbfcfe}
.discipline-evolution-expander .evolution-chart-panel{border-bottom:1px solid var(--border)}
.discipline-evolution-expander .evolution-bimesters{background:#fff}

@media(max-width:760px){
  .collapsible-grid{grid-template-columns:1fr!important;gap:10px}.section-expander-summary{padding:14px 13px;align-items:flex-start}.section-expander-summary h2{font-size:16px}.section-expander-summary p{font-size:10px;line-height:1.35}.section-expander-body{padding:13px}.summary-actions{align-items:flex-start}.summary-actions>.pill{display:none}.expander-action-line{margin:0 0 8px}.expander-action-line .link-btn{width:100%;text-align:center;background:#f1f6ff;border-radius:10px;padding:9px}
  .organizer-section{padding:0!important}.organizer-head{display:grid;gap:12px;align-items:stretch}.organizer-section>.evolution-legend{padding:0!important;margin-bottom:10px}.evolution-grid{padding:0!important}
  .evolution-summary-row{padding:14px 12px;align-items:flex-start}.evolution-summary-main{align-items:flex-start;gap:10px}.evolution-summary-main h3{font-size:16px}.evolution-summary-side{align-self:center}.evolution-summary-side .trend-box{display:none}.discipline-evolution-expander .discipline-index{width:36px;height:36px;flex-basis:36px}.evolution-expanded{min-width:0}
  .entries-expander[open]{overflow:hidden}.entries-expander .section-expander-body.flush-body{padding:12px;background:transparent}.entries-expander .table-wrap.tall{overflow:visible}
  .history-expander,.matrix-expander{margin-top:10px}
}
@media(max-width:520px){
  .section-expander-summary{gap:8px}.section-expander-summary .expander-chevron{flex:0 0 30px}.section-expander-body{padding:11px}.evolution-summary-row{gap:8px}.evolution-summary-main{gap:0}.evolution-summary-main .discipline-index{display:none}.evolution-summary-main .discipline-pills .pill:nth-child(n+4){display:none}
}

/* ===== v5 — fusão Meu Cantinho de Notas + Painel Acadêmico ===== */
:root,
body[data-theme="lavanda"]{
  --bg:#fff8fc;--surface:#ffffff;--surface-2:#fff2f9;--text:#49384f;--muted:#8a7892;
  --primary:#8b5fbf;--primary-2:#f1e7fb;--border:#efdbea;--shadow:0 14px 34px rgba(132,82,142,.12);
  --green:#2f8b68;--green-bg:#eaf8f2;--amber:#ad6a12;--amber-bg:#fff4df;--red:#c74468;--red-bg:#fdebf1;
  --sidebar:#fff0f8;--sidebar-strong:#8b5fbf;--nav-text:#6f5d76;--input:#fff;--table-head:#fff3fa;
}
body[data-theme="rosa"]{
  --bg:#fff7f9;--surface:#fff;--surface-2:#fff0f4;--text:#4a3340;--muted:#8c7180;
  --primary:#c34f7c;--primary-2:#fde7ef;--border:#f2d6df;--shadow:0 14px 34px rgba(184,72,112,.11);
  --green:#2f8b68;--green-bg:#e9f7f1;--amber:#ae6b16;--amber-bg:#fff3df;--red:#bd365d;--red-bg:#fde7ee;
  --sidebar:#fff0f4;--sidebar-strong:#c34f7c;--nav-text:#755462;--input:#fff;--table-head:#fff1f5;
}
body[data-theme="menta"]{
  --bg:#f5fcf9;--surface:#fff;--surface-2:#ecf8f3;--text:#29483e;--muted:#6c877e;
  --primary:#2e8b70;--primary-2:#ddf3eb;--border:#d3e9e0;--shadow:0 14px 34px rgba(47,123,101,.11);
  --green:#24795d;--green-bg:#e2f5ed;--amber:#9b6c19;--amber-bg:#fff4dc;--red:#bd4d5d;--red-bg:#fdebee;
  --sidebar:#eaf8f2;--sidebar-strong:#2e8b70;--nav-text:#4d7568;--input:#fff;--table-head:#edf9f4;
}
body[data-theme="oceano"]{
  --bg:#f4fafc;--surface:#fff;--surface-2:#eaf6fa;--text:#233f49;--muted:#68808a;
  --primary:#177b9b;--primary-2:#dff2f8;--border:#d3e7ed;--shadow:0 14px 34px rgba(28,111,138,.11);
  --green:#2d8260;--green-bg:#e7f6ef;--amber:#a36a0d;--amber-bg:#fff3dc;--red:#c04b5d;--red-bg:#fdebee;
  --sidebar:#eaf6fa;--sidebar-strong:#177b9b;--nav-text:#4e707c;--input:#fff;--table-head:#edf8fb;
}
body[data-theme="ceu"]{
  --bg:#f6f9ff;--surface:#fff;--surface-2:#eef4ff;--text:#2f405e;--muted:#71809a;
  --primary:#4e75c9;--primary-2:#e5edff;--border:#d7e1f5;--shadow:0 14px 34px rgba(72,103,170,.11);
  --green:#32815f;--green-bg:#e7f6ef;--amber:#a36a0d;--amber-bg:#fff3dc;--red:#c14f64;--red-bg:#fdebee;
  --sidebar:#edf3ff;--sidebar-strong:#4e75c9;--nav-text:#5d6f91;--input:#fff;--table-head:#eff4ff;
}
body[data-theme="noite"]{
  --bg:#1d1724;--surface:#2a2133;--surface-2:#34293f;--text:#fff8ff;--muted:#cdbed3;
  --primary:#d7a5ee;--primary-2:#473453;--border:#4b3b57;--shadow:0 16px 38px rgba(0,0,0,.28);
  --green:#79d8ad;--green-bg:#25463a;--amber:#f1c06d;--amber-bg:#4a3c26;--red:#f08aa7;--red-bg:#4f2a38;
  --sidebar:#241b2c;--sidebar-strong:#d7a5ee;--nav-text:#d7c8dd;--input:#31263b;--table-head:#34293f;
}
body{background:var(--bg);color:var(--text);transition:background .22s,color .22s}
.sidebar{position:fixed;inset:0 auto 0 0;width:238px;z-index:45;display:flex;flex-direction:column;padding:20px 14px;background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 82%,var(--surface)));border-right:1px solid var(--border);box-shadow:8px 0 30px rgba(80,50,90,.045)}
.side-brand,.mobile-brand{display:flex;align-items:center;gap:11px}.side-brand{padding:2px 6px 20px}.side-brand strong,.mobile-brand strong{display:block;font-size:15px}.side-brand span,.mobile-brand span{display:block;font-size:11px;color:var(--muted)}
.brand-mark{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 68%,#ff9fcb));box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 22%,transparent)}
.side-nav{display:grid;gap:6px}.side-nav .nav-btn{display:flex;align-items:center;gap:11px;width:100%;padding:11px 12px;text-align:left;color:var(--nav-text);border:1px solid transparent}.side-nav .nav-btn:hover{background:color-mix(in srgb,var(--primary-2) 55%,var(--surface))}.side-nav .nav-btn.active{background:var(--primary-2);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 18%,var(--border));box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 9%,transparent)}.nav-ico{width:22px;text-align:center;font-size:16px}
.side-student-card{margin-top:auto;display:grid;gap:3px;padding:13px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 88%,var(--primary-2));box-shadow:var(--shadow)}.side-student-card strong{font-size:15px}.side-student-card small{color:var(--muted)}.side-footer{display:flex;justify-content:space-between;gap:8px;padding:11px 5px 0;color:var(--muted);font-size:10px}.side-footer span{font-weight:800;color:var(--primary)}
.appbar{position:sticky;top:0;margin-left:238px;z-index:40;display:flex;align-items:center;gap:16px;min-height:66px;padding:10px 24px;background:color-mix(in srgb,var(--surface) 91%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.appbar-spacer{flex:1}.mobile-brand{display:none}.appbar-actions{display:flex;gap:9px;align-items:center}
.theme-control{display:flex;align-items:center;gap:7px;padding:5px 7px 5px 9px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 5px 16px rgba(30,20,45,.04)}.theme-control select{width:auto;min-width:108px;border:0;background:transparent;padding:5px 24px 5px 2px;font-weight:700;color:var(--text);box-shadow:none}.theme-control select:focus{box-shadow:none}
.shell{max-width:none;margin:0 0 0 238px;padding:30px 28px 66px}.bottom-nav{display:none}
/* superfícies e controles obedecem aos temas */
.kpi,.card,.discipline-expander,.discipline-evolution-expander,.section-expander,.insight-hero .hero-tile,.bimester-card,.activity-score,.latest-stat,.chart-canvas-wrap,.modal{background:var(--surface);border-color:var(--border);color:var(--text)}
.section-expander-summary,.discipline-summary-row,.evolution-summary-row{background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,var(--primary-2)),var(--surface))}.section-expander-summary:hover{background:var(--surface-2)}.section-expander-body,.evolution-bimesters{background:var(--surface)}.discipline-expanded,.evolution-expanded,.entries-expander .section-expander-body{background:var(--surface-2)}
input,select{background:var(--input);color:var(--text);border-color:var(--border)}.btn.ghost,.icon-btn,.series-toggle{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.secondary{background:var(--primary-2);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 24%,var(--border))}.pill.neutral,.score-chip.missing{background:color-mix(in srgb,var(--surface-2) 88%,#cbd5e1);color:var(--muted)}
.data-table th{background:var(--table-head);color:var(--muted);border-color:var(--border)}.data-table td{border-color:color-mix(in srgb,var(--border) 62%,transparent)}.data-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--surface-2) 55%,var(--surface))}.data-table tbody tr:hover{background:var(--primary-2)}
.stack-item,.insight-item,.audit-item,.stat-tile{background:var(--surface-2);border-color:var(--border)}.preview-box,.needed{background:color-mix(in srgb,var(--primary-2) 58%,var(--surface));border-color:var(--border);color:var(--text)}.track{background:color-mix(in srgb,var(--surface-2) 72%,#cbd5e1)}
body[data-theme="noite"] .cell-good{background:#24483a!important}body[data-theme="noite"] .cell-warn{background:#493c25!important}body[data-theme="noite"] .cell-bad{background:#4e2a37!important}body[data-theme="noite"] .cell-missing{background:#31263b!important;color:#9e8ea8}body[data-theme="noite"] .modal::backdrop{background:rgba(4,2,7,.68)}
body[data-theme="noite"] .series-toggle.active.exam{background:#243b58;color:#a8cfff;border-color:#385c88}body[data-theme="noite"] .series-toggle.active.group{background:#3c315a;color:#d1c1ff;border-color:#5d4d86}body[data-theme="noite"] .series-toggle.active.individual{background:#233f49;color:#a6e7f8;border-color:#356271}
/* um pouco mais de personalidade sem infantilizar */
.hero-row h1,.section-head h1{color:var(--text)}.eyebrow,.kicker{color:var(--primary)}.kpi{position:relative;overflow:hidden}.kpi::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#ffb8d9))}.section-expander,.discipline-expander,.discipline-evolution-expander{box-shadow:var(--shadow)}
@media(max-width:980px){.sidebar{display:none}.appbar{margin-left:0}.shell{margin-left:0}.mobile-brand{display:flex}.appbar-spacer{display:block}.bottom-nav{position:fixed;left:12px;right:12px;bottom:10px;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:7px;border:1px solid var(--border);border-radius:20px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(34,24,45,.18)}.bottom-nav .nav-btn{display:grid;place-items:center;gap:1px;padding:6px 3px;border-radius:13px;color:var(--muted);font-size:16px}.bottom-nav .nav-btn strong{font-size:9px;font-weight:800}.bottom-nav .nav-btn.active{background:var(--primary-2);color:var(--primary)}.shell{padding-bottom:105px}.toast{bottom:92px}}
@media(max-width:700px){.appbar{position:sticky;display:flex;padding:9px 12px;min-height:62px}.mobile-brand span{display:none}.appbar-actions{gap:6px}.theme-control{padding:4px 5px}.theme-control>span{display:none}.theme-control select{min-width:82px;font-size:11px;padding-right:18px}.quick-add{padding:9px 10px;font-size:11px}.shell{padding:18px 11px 104px}.hero-row,.section-head{margin-bottom:15px}.hero-row h1,.section-head h1{font-size:27px}.kpi-grid{gap:9px}.kpi{padding:14px;border-radius:16px}.kpi .value{font-size:24px}}
@media(max-width:430px){.mobile-brand .brand-mark{width:34px;height:34px}.mobile-brand strong{font-size:13px}.theme-control select{min-width:72px}.quick-add{max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-nav{left:7px;right:7px;bottom:7px;border-radius:18px}.bottom-nav .nav-btn strong{font-size:8px}}
@media print{.sidebar,.bottom-nav,.theme-control{display:none!important}.appbar{margin-left:0}.shell{margin-left:0}.section-expander:not([open]),.discipline-expander:not([open]),.discipline-evolution-expander:not([open]){display:block}.section-expander:not([open])>.section-expander-body{display:block}}

/* v5.0.2 — superfície SVG estável para gráficos em mobile */
.grade-chart-svg{width:100%;display:block;overflow:visible;touch-action:pan-y;background:transparent}
@media(max-width:820px){.chart-canvas-wrap .grade-chart-svg{max-width:100%}}
