/* Academia: route of levels, program detail and dashboard rows. Light by default, dark under html[data-theme=dark]. */
.academy-hero{display:grid;gap:10px;margin-bottom:18px}
.academy-intro{margin:0 0 14px}
.academy-route{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.academy-level{flex:1 1 210px;min-width:0;display:grid;gap:6px;align-content:start;padding:16px;border-radius:12px;background:#fff;border:1px solid #d5e1e8;border-top:4px solid #8aa3b3}
.academy-level.active{border-top-color:#066b79;box-shadow:0 6px 18px #066b791f}
.academy-level h3{margin:0;font-size:18px;line-height:1.2}
.academy-level p{margin:0}
.academy-level button{justify-self:start;margin-top:6px}
.academy-arrow{align-self:center;font-size:22px;color:#8aa3b3}
.academy-tag{font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#066b79}
.academy-stats{font-size:13px;color:#55697a}
.academy-chip{display:inline-block;justify-self:start;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#e3edf2;color:#41586a}
.academy-chip.active{background:#d8f3e3;color:#13683b}
.academy-chip.archived{background:#eee;color:#666}
.academy-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #d5e1e8}
.academy-row:last-child{border-bottom:0}
.academy-row>div{min-width:0;flex:1 1 260px}
.academy-row small{display:block;color:#55697a}
.academy-head h2{margin:6px 0 2px}
.academy-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:14px 0 0}
.academy-facts dt{font-weight:700}
.academy-facts dd{margin:0;color:#41586a;min-width:0}
.academy-kit{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:6px 18px;padding-left:18px}
.academy-module{border:1px solid #d5e1e8;border-radius:12px;padding:14px;margin:12px 0}
.academy-module h4{margin:0;font-size:16px}
.academy-module .section-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.academy-class{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0 10px 12px;border-left:3px solid #b9d7e4;margin-top:8px}
.academy-class>div:first-child{min-width:0;flex:1 1 300px}
.academy-class small{display:block;color:#55697a}
.academy-module .actions button,.academy-class .actions button{padding:6px 10px;min-height:0}
.academy-materials{padding-left:18px}
.academy-setup ol{padding-left:20px}
.academy-sql{white-space:pre-wrap;overflow-wrap:anywhere;background:#0e161c;color:#d6ecf5;padding:12px;border-radius:8px;font-size:12.5px}
.academy-dialog textarea{width:100%;box-sizing:border-box}
.academy-guide{border:1px solid #d5e1e8;border-radius:10px;padding:10px 14px;margin:10px 0;display:grid;gap:8px}.academy-guide legend{font-weight:700;padding:0 6px}
.academy-diagram svg{display:block;width:100%;max-width:420px;height:auto;margin:0 auto}
.academy-diagram{--card:#ffffff;--ink:#14232e;--muted:#55697a;--line:#cdd8df;--accent:#066b79;--soft:#e1f2f8;--warn:#8a5a00;--warn-soft:#fbf0d9}
html[data-theme=dark] .academy-diagram{--card:#152129;--ink:#e4eef3;--muted:#9bb1c0;--line:#2a3c49;--accent:#4cc3e8;--soft:#16323f;--warn:#f0c46a;--warn-soft:#3a2d12}
html[data-theme=dark] .academy-guide{border-color:#2b3d4a}
.academy-diagram .dg-node rect,.academy-diagram .dg-node circle{fill:var(--card);stroke:var(--line);stroke-width:1.5}.academy-diagram .dg-node.acc rect,.academy-diagram .dg-node.acc circle{fill:var(--soft);stroke:var(--accent)}.academy-diagram .dg-node.warn rect{fill:var(--warn-soft);stroke:var(--warn)}
.academy-diagram .dg-t{fill:var(--ink);font-size:13px;font-weight:700}.academy-diagram .dg-s{fill:var(--muted);font-size:12px}.academy-diagram .dg-l{fill:var(--muted);font-size:12px}.academy-diagram .dg-line{stroke:var(--muted);stroke-width:1.5;fill:none}.academy-diagram .dg-line.dash{stroke-dasharray:5 4}.academy-diagram .dg-head{fill:var(--muted)}
.academy-diagram .dg-bulb circle{fill:var(--soft);stroke:var(--accent);stroke-width:2}.academy-diagram .dg-room{fill:none;stroke:var(--line);stroke-width:2}.academy-diagram .dg-cone{fill:var(--accent);opacity:.14}.academy-diagram .dg-tri{fill:var(--soft);stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5}
.academy-rates{display:grid;gap:8px}.academy-rate{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:10px;align-items:end;padding:8px 0;border-bottom:1px solid #d5e1e8}.academy-rate small{display:block;opacity:.7}.academy-rate label{margin:0}html[data-theme=dark] .academy-rate{border-color:#2b3d4a}@media(max-width:700px){.academy-rate{grid-template-columns:1fr 1fr}.academy-rate>span{grid-column:1/-1}}
.academy-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.academy-inline input{flex:1 1 220px;min-width:0;max-width:320px}
.academy-videos{border:1px solid #d5e1e8;border-radius:10px;padding:10px 14px;margin:10px 0;display:grid;gap:8px}.academy-videos legend{font-weight:700;padding:0 6px}.academy-videos label{margin:0}
html[data-theme=dark] .academy-videos{border-color:#2b3d4a}
html[data-theme=dark] .academy-level{background:#152129;border-color:#2b3d4a;border-top-color:#4f6a7c}
html[data-theme=dark] .academy-level.active{border-top-color:#4cc3e8;box-shadow:0 6px 18px #0006}
html[data-theme=dark] .academy-tag{color:#4cc3e8}
html[data-theme=dark] .academy-stats,html[data-theme=dark] .academy-row small,html[data-theme=dark] .academy-class small{color:#9ab0bf}
html[data-theme=dark] .academy-chip{background:#24384a;color:#c9dbe6}
html[data-theme=dark] .academy-chip.active{background:#173b28;color:#7fe0a7}
html[data-theme=dark] .academy-row,html[data-theme=dark] .academy-module{border-color:#2b3d4a}
html[data-theme=dark] .academy-facts dd{color:#c3d3dd}
html[data-theme=dark] .academy-class{border-left-color:#2f5568}
@media(max-width:700px){.academy-arrow{display:none}.academy-facts{grid-template-columns:1fr}.academy-facts dd{margin-bottom:6px}}

/* Alumnos: table with search, one row unfolds into the progress detail. */
.students-table{width:100%}
.students-table td small{display:block}
.student-row{cursor:pointer}
.student-row:hover td,.student-row.open td{background:#eef6fa}
.student-row:focus-visible{outline:2px solid #066b79;outline-offset:-2px}
.student-row .badge{display:inline-block}
.student-bar{display:block;width:100%;min-width:80px;max-width:160px;height:8px;border-radius:99px;background:#e3ebf1;overflow:hidden}
.student-bar i{display:block;height:100%;border-radius:inherit;background:#066b79}
.student-detail-row>td{background:#f8fbfd;padding:16px}
.student-detail{display:grid;gap:12px}
.student-detail h4{margin:8px 0 0}
.student-progress-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.student-progress-head>div{display:grid;gap:2px;padding:12px 14px;border:1px solid #d5e1e8;border-radius:10px;background:#fff}
.student-progress-head strong{font-size:22px}
.student-modules{display:grid;gap:6px}
.student-module{border:1px solid #d5e1e8;border-radius:10px;background:#fff;padding:0 12px}
.student-module summary{display:grid;grid-template-columns:minmax(0,1fr) 120px auto;gap:10px;align-items:center;padding:10px 0;cursor:pointer}
.student-module ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:4px}
.student-module li{display:flex;gap:8px;align-items:baseline;color:#5a6f80}
.student-module li.done{color:inherit}
.student-module li.done>span{color:#13883f;font-weight:700}
.student-module li small{margin-left:auto;color:#5a6f80;white-space:nowrap}
@media(max-width:900px){.student-progress-head{grid-template-columns:1fr}.student-module summary{grid-template-columns:minmax(0,1fr) auto}.student-module summary .student-bar{display:none}.students-table th:nth-child(5),.students-table td:nth-child(5){display:none}}

/* Academy numbers and charts (main dashboard and academy panel). */
.academy-summary .section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}
.academy-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}
.academy-kpis .card{display:grid;gap:2px;text-align:left;padding:16px;font:inherit;color:inherit}
.academy-kpis strong{font-size:clamp(20px,2vw,28px)}
.academy-kpi-calls{cursor:pointer;border:1px solid #d5e1e8;background:#fff}
.academy-charts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.academy-charts .panel{margin:0}
.academy-charts h3{margin:0 0 10px}
@media(max-width:900px){.academy-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.academy-charts{grid-template-columns:1fr}}
.academy-calls .academy-call.pending{border-left:4px solid #f4b447;padding-left:10px}
.academy-calls .academy-call.scheduled{border-left:4px solid #20bde5;padding-left:10px}
.academy-calls details summary{cursor:pointer;margin-top:10px}
.academy-row small+small{margin-top:2px}

html[data-theme=dark] .student-row:hover td,html[data-theme=dark] .student-row.open td{background:#1d3245}
html[data-theme=dark] .student-detail-row>td{background:#132131}
html[data-theme=dark] :is(.student-progress-head>div,.student-module,.academy-kpi-calls){background:#162333;border-color:#35485c}
html[data-theme=dark] .student-bar{background:#2a3c49}
html[data-theme=dark] .student-bar i{background:#4cc3e8}
html[data-theme=dark] :is(.student-module li,.student-module li small){color:#b2c5d8}
html[data-theme=dark] .student-module li.done{color:#e2edf7}
html[data-theme=dark] .student-module li.done>span{color:#7fe0a7}@media(max-width:900px){.student-detail-row>td::before{display:none!important}.student-detail-row>td{padding:12px}}
