:root { --ink:#193340; --sky-deep:#006699; --sky:#0099CC; --sky-bright:#70C9E8; --sky-pale:#E6F7FF; --paper:#F0F6FA; --line:#C8DDE8; --red:#B96D69; --amber:#C6A300; --success:#4F906B; --white:#FFFFFF; --b1:#E9C2BF; --b2:#C97E79; --ad:#73C4E1; --a:#79AD71; --b:#E1C12A; --c:#D68C87; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:15px/1.5 "Segoe UI Variable", "Segoe UI", "Aptos", Arial, sans-serif; }
button,input,select { font:inherit; } button { cursor:pointer; }
.app-shell { display:grid; grid-template-columns:248px minmax(0,1fr); min-height:100vh; }.app-shell[hidden] { display:none!important; }
.sidebar { display:flex; flex-direction:column; min-height:100vh; padding:22px 14px; background:var(--sky-deep); color:#f4fbff; }
.brand { display:flex; align-items:center; gap:11px; padding:0 8px 28px; }.brand img { width:45px; height:52px; object-fit:contain; }.brand strong { display:block; font:700 20px Georgia,serif; }.brand span { color:#c5eafa; font-size:12px; }
nav { display:grid; gap:5px; }.nav-item { border:0; border-left:3px solid transparent; border-radius:0 4px 4px 0; padding:11px 12px; background:transparent; color:#d7effa; text-align:left; }.nav-item:hover,.nav-item.active { border-left-color:#fff; background:#0088BB; color:#fff; }.sidebar-foot { margin-top:auto; padding:12px 8px 2px; color:#c5eafa; font-size:12px; }.dot { display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#fff; }
main { min-width:0; padding:32px clamp(18px,3vw,46px) 44px; }.topbar { display:flex; align-items:start; justify-content:space-between; gap:18px; margin-bottom:23px; } h1,h2,h3,p { margin:0; } h1 { color:var(--sky-deep); font:700 31px/1.15 "Aptos Display", "Aptos", "Segoe UI", sans-serif; } h2 { color:#174f68; font:700 18px/1.25 "Aptos Display", "Aptos", "Segoe UI", sans-serif; } h3 { color:#19566f; font-size:15px; }.eyebrow { margin-bottom:4px; color:#477182; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }
.quiet-button,.primary-button { min-height:37px; padding:8px 12px; border:1px solid var(--line); border-radius:4px; background:var(--white); color:var(--ink); font-weight:650; transition:background .16s ease,border-color .16s ease,transform .16s ease; }.quiet-button:hover { border-color:var(--sky); background:var(--sky-pale); transform:translateY(-1px); }.primary-button { border-color:var(--sky-deep); background:var(--sky-deep); color:#fff; }.primary-button:hover { background:#004f78; transform:translateY(-1px); }
.filter-row { display:flex; flex-wrap:wrap; align-items:end; gap:10px 14px; padding:14px 0 23px; border-bottom:1px solid var(--line); }.filter-row label { display:grid; gap:4px; color:#486b7b; font-size:11px; font-weight:700; text-transform:uppercase; } select,input { min-width:132px; min-height:35px; padding:7px 28px 7px 9px; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--ink); }.configuration-view .filter-row { display:none; }
.view { display:none; padding-top:23px; }.view.active { display:block; }.status-band { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-bottom:18px; overflow:hidden; border-radius:6px; background:var(--sky-deep); color:#fff; }.status-band>div { display:grid; align-content:center; gap:5px; min-height:98px; padding:18px; border-right:1px solid #338bb2; }.status-band>div:last-child { border:0; }.status-band span { color:#c8edfb; font-size:12px; }.status-band strong { font:600 24px/1 Georgia,serif; }
.content-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:18px; }.lower-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }.panel { min-width:0; padding:18px; border:1px solid var(--line); border-radius:6px; background:var(--white); }.panel.full,.area-focus { width:100%; }.area-focus { margin-top:18px; }.panel-heading { display:flex; align-items:start; justify-content:space-between; gap:12px; padding-bottom:14px; }.panel-heading>span { color:#557681; font-size:12px; text-align:right; }
.level-rails { display:grid; gap:8px; margin:2px 0 13px; }.period-rail { display:grid; grid-template-columns:42px 1fr; align-items:center; gap:8px; color:#557681; font-size:11px; font-weight:700; }.level-rail { display:flex; height:14px; overflow:hidden; border-radius:2px; background:#dfeaf0; }.rail-segment { display:block; min-width:0; animation:grow-bar .5s ease both; transform-origin:left; }.rail-segment.ad { background:var(--ad); }.rail-segment.a { background:var(--a); }.rail-segment.b { background:var(--b); }.rail-segment.c { background:var(--c); }.rail-segment.b1 { opacity:.64; }.rail-segment.b2 { opacity:.96; }.level-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.level { min-height:104px; padding:13px 10px; border-left:4px solid var(--sky); background:var(--sky-pale); }.level.ad { border-color:var(--ad); background:#F0FAFE; }.level.a { border-color:var(--a); background:#F2F8F0; }.level.b { border-color:var(--b); background:#FCF8EC; }.level.c { border-color:var(--c); background:#FDF2F1; }.level span,.level small { display:block; color:#477182; font-size:12px; }.level strong { display:block; margin:8px 0 4px; font:700 19px/1.1 "Aptos Display", "Aptos", sans-serif; }.level strong em { color:#557681; font-style:normal; }
.bar-list,.section-list { display:grid; gap:12px; }.bar-line { display:grid; grid-template-columns:26px 1fr 52px; align-items:center; gap:9px; }.bar-line b,.bar-line strong { font-size:12px; }.track { height:10px; overflow:hidden; border-radius:2px; background:#dce9ef; }.fill { display:block; height:100%; background:var(--c); animation:grow-bar .5s ease both; transform-origin:left; }.dual-tracks { display:grid; gap:4px; }.dual-tracks>div { display:grid; grid-template-columns:18px 1fr; gap:5px; align-items:center; }.dual-tracks span { color:#557681; font-size:10px; }.dual-tracks i { display:block; height:7px; border-radius:2px; background:var(--b1); animation:grow-bar .5s ease both; transform-origin:left; }.dual-tracks i.c-b1 { background:var(--b1); }.dual-tracks i.c-b2,.dual-tracks>div:last-child i { background:var(--b2); }.bar-line.dual strong { color:#557681; font-weight:600; text-align:right; }
.area-chart { display:grid; gap:13px; }.area-chart-row { display:grid; grid-template-columns:minmax(130px,.9fr) minmax(180px,2.3fr) 78px; align-items:center; gap:12px; }.area-name { font-size:12px; font-weight:700; line-height:1.2; }.area-bars { display:grid; gap:4px; }.area-bars>div { display:grid; grid-template-columns:38px 1fr; gap:5px; align-items:center; }.area-bars span { color:#557681; font-size:10px; }.area-bars i { display:block; height:8px; border-radius:2px; background:#dce9ef; animation:grow-bar .5s ease both; transform-origin:left; }.area-bars .b1 { background:var(--b1); }.area-bars .b2 { background:var(--b2); }.area-delta { font-size:12px; font-weight:700; text-align:right; }.area-delta.improve { color:var(--success); }.area-delta.decline { color:var(--red); }.area-delta.steady { color:#557681; }
.section-row { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding-bottom:10px; border-bottom:1px solid #e4edf2; }.section-row:last-child { padding:0; border:0; }.section-row strong { font:600 16px Georgia,serif; }.section-row span { color:#557681; font-size:12px; }.section-row b { color:var(--red); }.insights { display:grid; gap:14px; }.insight { padding-left:12px; border-left:3px solid var(--sky); }.insight.warn { border-color:var(--amber); }.insight.danger { border-color:var(--red); }.insight span { display:block; color:#557681; font-size:12px; }.insight strong { display:block; margin:4px 0; font:600 22px/1.1 Georgia,serif; }.insight p { color:#405d69; font-size:13px; }
.comparison-banner { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:17px 0 18px; border-bottom:2px solid var(--sky); }.comparison-banner span { max-width:330px; color:#557681; font-size:12px; text-align:right; }.comparison-summary,.alert-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:18px 0; }.change-card { padding:15px; border:1px solid var(--line); border-top:4px solid var(--sky); border-radius:6px; background:#fff; }.change-card.up { border-top-color:var(--success); }.change-card.same { border-top-color:var(--sky); }.change-card.down { border-top-color:var(--amber); }.change-card.persistent { border-top-color:var(--red); }.change-card span,.change-card small { display:block; color:#557681; font-size:12px; }.change-card strong { display:block; margin:8px 0 5px; font:600 25px/1 Georgia,serif; }
.panel-intro { margin:-3px 0 15px; color:#4a6875; font-size:13px; }.competency-panel { margin-top:18px; }.competency-groups { display:grid; gap:9px; }.competency-group { border:1px solid var(--line); border-radius:4px; background:#fff; }.competency-group>summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; color:var(--sky-deep); cursor:pointer; font-weight:700; }.competency-group>summary small { color:#557681; font-weight:400; }.competency-table { border-top:1px solid var(--line); }.competency-head,.competency-row { display:grid; grid-template-columns:minmax(260px,1.6fr) minmax(200px,1fr) minmax(200px,1fr) 98px; gap:10px; align-items:center; }.competency-head { padding:8px 12px; background:#f2f8fb; color:#557681; font-size:10px; font-weight:700; text-transform:uppercase; }.competency-row { padding:12px; border-top:1px solid #e4edf2; }.competency-row>div:first-child b { display:block; color:var(--ink); font-size:12px; line-height:1.35; }.competency-row>div:first-child small { display:block; margin-top:4px; color:#597481; font-size:11px; }.level-pills { display:flex; flex-wrap:wrap; gap:4px; }.level-pills span { padding:3px 5px; border:1px solid #d4e3ea; border-radius:3px; background:#f5fafc; color:#476a79; font-size:10px; white-space:nowrap; }.level-pills .c { border-color:#efc1bd; background:#fff1f0; color:#9d3934; font-weight:700; }.competency-change { font-size:12px; font-weight:700; text-align:right; }.competency-change small { color:#557681; font-size:10px; font-weight:400; }.period-pairs { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 2px; }.period-pair { min-height:34px; padding:7px 10px; border:1px solid var(--line); border-radius:4px; background:#fff; color:#426472; font-size:12px; }.period-pair:hover,.period-pair.active { border-color:var(--sky-deep); background:var(--sky-deep); color:#fff; }
.table-wrap { overflow:auto; } table { width:100%; border-collapse:collapse; font-size:13px; } th { padding:8px 9px; border-bottom:1px solid var(--line); color:#547481; font-size:11px; text-align:left; text-transform:uppercase; white-space:nowrap; } td { padding:10px 9px; border-bottom:1px solid #e4edf2; vertical-align:top; } tbody tr:last-child td { border-bottom:0; } td.num { text-align:right; font-variant-numeric:tabular-nums; }.danger { color:var(--red); font-weight:700; }.muted { color:#58747e; }.matrix th,.matrix td { min-width:76px; text-align:center; }.matrix th:first-child,.matrix td:first-child { text-align:left; }.matrix td.hot { background:#fbedeb; color:#92352f; font-weight:700; }.matrix td.good { background:#e6f7ff; color:#006699; font-weight:700; }.section-code { font-family:Consolas,monospace; font-weight:700; }
.nominal-panel { margin-top:18px; }.nomina-lock { padding:18px; border:1px dashed var(--sky); background:var(--sky-pale); }.nomina-lock form { display:flex; flex-wrap:wrap; align-items:end; gap:11px; }.nomina-lock label { display:grid; gap:5px; color:#405d69; font-size:12px; font-weight:700; }.form-error { min-height:18px; margin-top:9px; color:var(--red); font-size:12px; }.mini-chart { display:grid; gap:12px; }.mini-chart-row { display:grid; grid-template-columns:minmax(90px,1.4fr) minmax(70px,1fr) 46px; gap:8px; align-items:center; }.mini-chart-row span,.mini-chart-row b { font-size:11px; }.mini-chart-row b { color:var(--red); text-align:right; }.orientation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.orientation-chart-panel { margin-top:18px; }.orientation-body { display:grid; gap:12px; margin-top:13px; color:#405d69; }.orientation-body details { padding-top:10px; border-top:1px solid #e4edf2; }.orientation-body summary { cursor:pointer; color:var(--sky-deep); font-weight:700; }.orientation-body p { margin-top:8px; }.keyword-list { display:flex; flex-wrap:wrap; gap:8px; }.keyword-list span { display:grid; gap:3px; padding:8px 10px; border:1px solid var(--line); border-left:3px solid var(--sky); border-radius:3px; background:var(--sky-pale); color:#405d69; font-size:12px; }.keyword-list b { color:var(--sky-deep); }.keyword-list small { color:#597481; font-size:10px; }.configuration-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }.configuration-summary article { min-height:94px; padding:14px; border:1px solid var(--line); border-top:3px solid var(--sky); border-radius:5px; background:#fff; }.configuration-summary span { display:block; color:#557681; font-size:12px; }.configuration-summary strong { display:block; margin-top:8px; color:var(--sky-deep); font:600 25px/1 Georgia,serif; }.curriculum-settings { margin-top:18px; }.curriculum-list { display:grid; gap:18px; }.curriculum-area { padding-top:12px; border-top:3px solid var(--sky); }.curriculum-area h3 { margin:0 0 10px; font:600 20px Georgia,serif; }.competency { display:block; padding:13px 0; border-top:1px solid #e4edf2; }.competency-number { color:var(--sky-deep); font-weight:700; }.competency p { margin:0 0 6px; }.competency details { color:#405d69; }.competency summary { cursor:pointer; font-weight:600; }.competency .standard { padding:8px 0 0; color:#405d69; }.competency .standard b { color:var(--ink); }.section-select { width:100%; min-width:110px; }
#toast { position:fixed; right:22px; bottom:22px; padding:11px 14px; border-radius:4px; background:var(--ink); color:#fff; opacity:0; pointer-events:none; transform:translateY(8px); transition:.18s ease; } #toast.show { opacity:1; transform:translateY(0); }
.login-screen { display:grid; min-height:100vh; place-items:center; padding:24px; background:linear-gradient(145deg,#e8f5fa,#f7fbfd); }.login-screen[hidden] { display:none; }.login-panel { display:grid; width:min(100%,400px); gap:12px; padding:30px; border:1px solid var(--line); border-top:5px solid var(--sky-deep); border-radius:6px; background:#fff; box-shadow:0 12px 32px rgba(0,80,120,.12); }.login-panel img { width:66px; height:76px; object-fit:contain; }.login-panel h1 { font-size:28px; }.login-panel>p:not(.eyebrow):not(.form-error) { color:#4a6875; }.login-panel label { display:grid; gap:5px; color:#405d69; font-size:12px; font-weight:700; }.user-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }.user-actions>span { color:#557681; font-size:12px; }.standard-reference { margin-top:8px; color:#4f6e7b; }.standard-reference summary { cursor:pointer; color:var(--sky-deep); font-size:11px; font-weight:700; }.standard-reference p { margin:6px 0 0; font-size:11px; line-height:1.45; }.configuration-tabs { display:flex; flex-wrap:wrap; gap:7px; padding-bottom:17px; border-bottom:1px solid var(--line); }.config-tab { min-height:36px; padding:8px 11px; border:1px solid var(--line); border-radius:4px; background:#fff; color:#466875; font-weight:600; }.config-tab.active { border-color:var(--sky-deep); background:var(--sky-deep); color:#fff; }.config-panel { display:none; padding-top:20px; }.config-panel.active { display:block; }.upload-form { display:grid; grid-template-columns:minmax(140px,.65fr) minmax(220px,1.4fr) 1fr auto; align-items:end; gap:14px; }.upload-form>label { display:grid; gap:5px; color:#486b7b; font-size:11px; font-weight:700; text-transform:uppercase; }.upload-file input { min-width:0; padding:6px; }.check-label { min-height:35px; display:flex!important; align-items:center; gap:7px; color:#466875!important; text-transform:none!important; }.check-label input { min-width:16px; min-height:16px; padding:0; }.institution-switches { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin:4px 0 18px; padding:12px; border:1px solid var(--line); background:#f7fbfd; }.institution-switches label { display:flex; align-items:center; gap:7px; color:#405d69; font-size:13px; }.institution-switches input { min-width:16px; min-height:16px; padding:0; } @keyframes grow-bar { from { transform:scaleX(.05); opacity:.45; } to { transform:scaleX(1); opacity:1; } }
.level-pills span:nth-child(1) { border-color:#afdced; background:#f0fafe; color:#18657f; }.level-pills span:nth-child(2) { border-color:#b9d9b4; background:#f2f8f0; color:#397145; }.level-pills span:nth-child(3) { border-color:#ead59d; background:#fdf9ef; color:#886c1f; }.level-pills .c { border-color:#efc1bd; background:#fff1f0; color:#9d3934; }.school-form { display:grid; grid-template-columns:2fr 1fr 1fr .9fr 1.4fr auto; gap:13px; align-items:end; }.school-form label { display:grid; gap:5px; color:#486b7b; font-size:11px; font-weight:700; text-transform:uppercase; }.grade-setup { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:22px; }.grade-config { display:grid; gap:7px; padding:12px; border:1px solid var(--line); border-top:3px solid #bdcfd8; background:#fbfdfe; color:#486873; }.grade-config.active { border-top-color:var(--sky); background:#f2faff; }.grade-config span { font-size:12px; font-weight:700; }.grade-config small { color:#587581; font-size:11px; }.grade-config input[type="number"] { min-width:0; width:100%; }.grade-config input[type="checkbox"] { min-width:15px; min-height:15px; padding:0; vertical-align:middle; }.grade-upload-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:10px; grid-column:1/-1; }.grade-upload-grid .upload-file { padding:10px; border:1px solid var(--line); background:#f9fcfe; }.grade-upload-grid span { color:#305e70; font-weight:700; }.upload-form { grid-template-columns:minmax(150px,.5fr) 1fr auto; }.upload-form .check-label { grid-column:1/3; }.modal { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:20px; background:rgba(18,48,61,.5); }.modal[hidden] { display:none; }.modal-panel { width:min(100%,960px); max-height:88vh; overflow:auto; padding:20px; border-top:5px solid var(--sky-deep); border-radius:6px; background:#fff; box-shadow:0 18px 48px rgba(0,0,0,.22); }.student-area { margin-top:16px; }.student-area h3 { padding-bottom:7px; border-bottom:2px solid var(--sky-pale); }.student-competency { display:grid; grid-template-columns:1.25fr 1.5fr 1fr; gap:12px; align-items:start; padding:12px 0; border-bottom:1px solid #e1edf2; }.student-competency p { color:#4c6b78; font-size:12px; }.student-levels { display:grid; gap:6px; }.student-levels span { padding:6px 8px; border-left:3px solid var(--line); background:#f8fbfc; font-size:11px; font-weight:700; }.student-levels .level-ad { border-color:var(--ad); background:#effaff; color:#196681; }.student-levels .level-a { border-color:var(--a); background:#f2f8f0; color:#397145; }.student-levels .level-b { border-color:var(--b); background:#fdf9ef; color:#886c1f; }.student-levels .level-c { border-color:var(--c); background:#fff1f0; color:#9d3934; }
@media (max-width:1100px) { .lower-grid { grid-template-columns:1fr 1fr; }.lower-grid .panel:last-child { grid-column:span 2; }.orientation-grid { grid-template-columns:1fr; }.competency-head,.competency-row { grid-template-columns:minmax(220px,1.4fr) minmax(170px,1fr) minmax(170px,1fr) 85px; }.configuration-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }.school-form { grid-template-columns:repeat(3,minmax(0,1fr)); }.grade-setup { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:980px) { .app-shell { grid-template-columns:1fr; }.sidebar { min-height:0; padding:12px 18px; }.brand { padding:0; }.sidebar nav { grid-template-columns:repeat(6,minmax(0,1fr)); overflow:auto; margin-top:12px; }.nav-item { white-space:nowrap; }.sidebar-foot { display:none; } main { padding:24px 18px; }.status-band,.comparison-summary,.alert-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.content-grid { grid-template-columns:1fr; }.lower-grid { grid-template-columns:1fr; }.lower-grid .panel:last-child { grid-column:auto; }.topbar { align-items:center; }.upload-form { grid-template-columns:1fr 1fr; }.upload-form button { width:max-content; } }
@media (max-width:700px) { .competency-head { display:none; }.competency-row { grid-template-columns:1fr; gap:8px; }.competency-change { text-align:left; }.configuration-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.school-form,.grade-setup { grid-template-columns:repeat(2,minmax(0,1fr)); }.student-competency { grid-template-columns:1fr; } }
@media (max-width:560px) { h1 { font-size:25px; }.topbar { align-items:start; flex-direction:column; }.user-actions { justify-content:flex-start; }.status-band,.comparison-summary,.alert-summary { grid-template-columns:1fr; }.status-band>div { border-right:0; border-bottom:1px solid #338bb2; }.level-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.filter-row { display:grid; grid-template-columns:1fr 1fr; }.filter-row label,.filter-row select { width:100%; }.filter-row button { grid-column:span 2; }.area-chart-row { grid-template-columns:1fr; gap:5px; }.area-delta { text-align:left; }.comparison-banner { align-items:start; flex-direction:column; }.comparison-banner span { text-align:left; }.competency { grid-template-columns:1fr; }.nomina-lock form { display:grid; }.nomina-lock input { width:100%; }.configuration-summary { grid-template-columns:1fr; }.mini-chart-row { grid-template-columns:1fr; gap:4px; }.mini-chart-row b { text-align:left; }.upload-form { grid-template-columns:1fr; }.upload-form .check-label { grid-column:auto; }.upload-form button { width:100%; }.config-tab { flex:1 1 100%; text-align:left; }.school-form,.grade-setup { grid-template-columns:1fr; }.modal { padding:8px; }.modal-panel { padding:14px; } }

/* Detalles de lectura y adaptación para las nuevas vistas pedagógicas. */
.area-delta { display:grid; gap:3px; min-width:132px; font-variant-numeric:tabular-nums; }
.area-delta small { color:#607984; font-size:10px; font-weight:600; }
.compact .area-chart-row { grid-template-columns:minmax(135px,1fr) minmax(150px,1.7fr) minmax(145px,.9fr); }
.trajectory-guide { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0 0 16px; }
.trajectory-card { min-height:112px; padding:12px; border:1px solid var(--line); border-top:3px solid var(--sky); background:#fbfdfe; }
.trajectory-card span { display:block; color:#496c79; font-size:11px; font-weight:700; }.trajectory-card strong { display:block; margin:8px 0 5px; color:var(--ink); font-size:19px; }.trajectory-card p { color:#55727d; font-size:11px; line-height:1.4; }.trajectory-card.c { border-top-color:var(--c); background:#fff8f7; }.trajectory-card.b { border-top-color:var(--b); background:#fffcf4; }.trajectory-card.a { border-top-color:var(--a); background:#f6fbf4; }.trajectory-card.ad { border-top-color:var(--ad); background:#f2fbff; }
.matrix td small { display:block; margin-top:3px; color:#5e7883; font-size:10px; font-weight:500; }.matrix td.good small,.matrix td.hot small { color:inherit; }
.nomina-lock { display:flex; flex-wrap:wrap; align-items:end; gap:11px; }.nomina-lock label { min-width:min(100%,260px); }.nomina-lock .form-error { width:100%; margin:0; }
.curriculum-choice { grid-column:span 2; align-self:end; padding-bottom:8px; }
.section-upload { min-height:92px; justify-content:space-between; }.section-upload input { font-size:11px; }
.student-competency-header,.student-competency { display:grid; grid-template-columns:1.15fr 1.45fr .72fr .72fr; gap:10px; align-items:start; }.student-competency-header { padding:7px 0; border-bottom:1px solid var(--line); color:#587681; font-size:10px; font-weight:700; text-transform:uppercase; }.student-competency { padding:12px 0; }.student-competency>span { padding:6px 7px; border-left:3px solid var(--line); background:#f8fbfc; font-size:11px; font-weight:700; line-height:1.35; }.student-competency>.level-ad { border-color:var(--ad); background:#effaff; color:#196681; }.student-competency>.level-a { border-color:var(--a); background:#f2f8f0; color:#397145; }.student-competency>.level-b { border-color:var(--b); background:#fdf9ef; color:#886c1f; }.student-competency>.level-c { border-color:var(--c); background:#fff1f0; color:#9d3934; }
@media (max-width:900px) { .trajectory-guide { grid-template-columns:repeat(2,minmax(0,1fr)); }.compact .area-chart-row { grid-template-columns:minmax(120px,1fr) minmax(140px,1.5fr); }.compact .area-delta { grid-column:1/-1; text-align:left; }.school-form .curriculum-choice { grid-column:span 2; } }
@media (max-width:700px) { .student-competency-header { display:none; }.student-competency { grid-template-columns:1fr; gap:7px; }.student-competency>span::before { display:block; margin-bottom:2px; color:#607984; font-size:10px; text-transform:uppercase; }.student-competency>span:nth-child(3)::before { content:'I Bim.'; }.student-competency>span:nth-child(4)::before { content:'II Bim.'; }.grade-upload-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.curriculum-choice { grid-column:1/-1; } }
@media (max-width:460px) { .trajectory-guide,.grade-upload-grid { grid-template-columns:1fr; }.level-grid { grid-template-columns:1fr; }.section-upload { min-height:78px; } }
@media (max-width:560px) { .sidebar nav { grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; }.nav-item { min-height:38px; padding:8px 5px; font-size:11px; line-height:1.15; white-space:normal; text-align:center; } }

/* Comparaciones compactas: se preserva el porcentaje real y se escala solo la barra. */
.status-band small { color:#c8edfb; font-size:11px; line-height:1.35; }
.bar-list,.area-chart { align-content:start; }
.content-grid { align-items:start; }
.content-grid > .panel { align-self:start; }
.bar-line.dual { grid-template-columns:34px minmax(170px,300px) minmax(230px,1fr); max-width:760px; padding:7px 0; }.bar-line.dual strong { text-align:left; }.bar-result { display:grid; gap:4px; }.bar-result .trend { text-align:left; }
.dual-tracks>div { grid-template-columns:42px 1fr; }
.area-chart { max-width:1180px; gap:8px; }.area-chart-row { grid-template-columns:minmax(220px,1.05fr) minmax(270px,1.25fr) minmax(230px,.95fr); min-height:54px; gap:18px; }.area-bars>div { grid-template-columns:42px minmax(120px,1fr) 46px; gap:7px; }.area-bars b { color:#496d7b; font-size:10px; font-variant-numeric:tabular-nums; text-align:right; }.area-delta { text-align:left; }.area-delta small { margin:0; }.area-name small { display:block; margin-top:3px; color:#66808a; font-size:10px; font-weight:500; }
.trend { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; line-height:1.3; }.trend.good { color:#287949; }.trend.good::first-letter { font-size:14px; }.trend.bad { color:#b64c48; }.trend.bad::first-letter { font-size:14px; }.trend.neutral { color:#8a6b1f; }.competency-change .trend { justify-content:flex-end; }.summary-table { width:min(100%,1120px); margin-right:auto; }.summary-table th:nth-child(n+2),.summary-table td:nth-child(n+2) { width:19%; }.summary-table td:last-child { min-width:220px; }
.level-comparison { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }.level-comparison-chart { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }.level-chart-row { display:grid; grid-template-columns:96px minmax(130px,1fr); gap:8px 10px; align-items:center; padding:8px 10px; border-left:3px solid var(--line); background:#fbfdfe; }.level-chart-row.ad { border-color:var(--ad); }.level-chart-row.a { border-color:var(--a); }.level-chart-row.b { border-color:var(--b); }.level-chart-row.c { border-color:var(--c); }.level-chart-row>strong { align-self:start; color:#365766; font-size:11px; }.level-chart-bars { display:grid; gap:4px; }.level-chart-bars>div { display:grid; grid-template-columns:38px minmax(70px,1fr) 42px; align-items:center; gap:5px; }.level-chart-bars span,.level-chart-bars b { color:#587681; font-size:10px; }.level-chart-bars i { display:block; height:7px; border-radius:2px; background:var(--sky); transform-origin:left; animation:grow-bar .5s ease both; }.level-chart-row.ad i { background:var(--ad); }.level-chart-row.a i { background:var(--a); }.level-chart-row.b i { background:var(--b); }.level-chart-row.c i { background:var(--c); }.level-chart-row>.trend { grid-column:2; }
@media (max-width:900px) { .area-chart-row { grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) minmax(210px,.9fr); }.bar-line.dual { grid-template-columns:30px minmax(140px,1fr) minmax(200px,1fr); }.level-comparison-chart { grid-template-columns:1fr; } }
@media (max-width:560px) { .bar-line.dual,.area-chart-row { grid-template-columns:1fr; gap:6px; max-width:none; }.area-chart { max-width:none; }.area-bars>div { grid-template-columns:42px minmax(80px,1fr) 46px; }.bar-result { margin-left:0; }.competency-change .trend { justify-content:flex-start; }.summary-table td:last-child { min-width:190px; }.level-chart-row { grid-template-columns:1fr; }.level-chart-row>.trend { grid-column:auto; } }

/* Detalle por competencia y carga de archivos agrupada por grado. */
.area-competency-chart { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.area-competency-card { display:grid; gap:10px; padding:14px; border:1px solid var(--line); border-top:3px solid var(--sky); background:#fbfdfe; }.area-competency-card h3 { font-size:13px; line-height:1.35; }.area-competency-card p { color:#55727d; font-size:11px; line-height:1.45; }.competency-rails { display:grid; gap:5px; }.competency-rails>div { display:grid; grid-template-columns:44px 1fr; align-items:center; gap:7px; }.competency-rails>div>span { color:#557681; font-size:10px; font-weight:700; }.competency-rails i { display:flex; height:11px; overflow:hidden; border-radius:2px; background:#dce9ef; }.competency-rails b { display:block; min-width:0; }.competency-rails .ad { background:var(--ad); }.competency-rails .a { background:var(--a); }.competency-rails .b { background:var(--b); }.competency-rails .c { background:var(--c); }.competency-level-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; }.competency-level-summary span { display:grid; gap:2px; padding:5px; border-left:3px solid var(--line); background:#fff; color:#54737e; font-size:9px; }.competency-level-summary b { color:var(--ink); font-size:10px; white-space:nowrap; }.competency-level-summary .ad { border-color:var(--ad); }.competency-level-summary .a { border-color:var(--a); }.competency-level-summary .b { border-color:var(--b); }.competency-level-summary .c { border-color:var(--c); }.area-competency-card .standard-reference { margin-top:0; }
.grade-upload-grid { display:grid; grid-template-columns:1fr; gap:16px; }.grade-upload-group { padding:14px; border:1px solid var(--line); border-top:3px solid var(--sky); background:#fbfdfe; }.grade-upload-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:11px; }.grade-upload-heading strong { color:#1c566d; font-size:15px; }.grade-upload-heading span { color:#587681; font-size:11px; }.grade-upload-slots { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:8px; }.grade-upload-slots .section-upload { min-height:74px; padding:8px; background:#fff; }.grade-upload-slots .section-upload span { font-size:11px; }.grade-upload-slots .section-upload input { font-size:10px; }
@media (max-width:900px) { .area-competency-chart { grid-template-columns:1fr; } }
@media (max-width:560px) { .competency-level-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.grade-upload-heading { align-items:start; flex-direction:column; }.grade-upload-slots { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Alcance institucional, estándares visibles y superficies que no desbordan. */
.scope-strip { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,3.2fr); align-items:stretch; gap:14px; margin:-4px 0 18px; padding:12px 14px; border:1px solid var(--line); background:#f8fcfe; }.scope-heading { padding:3px 8px 3px 0; border-right:1px solid var(--line); }.scope-heading .eyebrow { margin:0 0 3px; }.scope-heading span { color:#496d7b; font-size:12px; line-height:1.35; }.scope-kpis { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }.scope-kpis article { min-width:0; padding:4px 7px; border-left:3px solid var(--sky); }.scope-kpis span,.scope-kpis small { display:block; color:#5b7783; font-size:10px; line-height:1.3; }.scope-kpis strong { display:block; margin:3px 0; color:#1a5168; font-size:18px; line-height:1; }.selected-standard { margin-top:9px; padding:9px 10px; border-left:3px solid var(--sky); background:#f0fafe; color:#385f6f; }.selected-standard span { display:block; color:#1c637e; font-size:10px; font-weight:800; text-transform:uppercase; }.selected-standard p { margin:5px 0 0; font-size:11px; line-height:1.45; }.conclusion-table { width:100%; table-layout:fixed; }.conclusion-table th:first-child,.conclusion-table td:first-child { width:48%; }.conclusion-table th:not(:first-child),.conclusion-table td:not(:first-child) { width:17.3%; white-space:nowrap; }.conclusion-table-wrap { max-height:420px; }.conclusion-table td.hot { color:#a04540; font-weight:700; }.conclusion-table td.good { color:#287949; font-weight:700; }
.grade-upload-grid,.grade-upload-group,.grade-upload-slots,.section-upload { min-width:0; max-width:100%; overflow:hidden; }.grade-upload-slots .section-upload input[type="file"] { width:100%; min-width:0; max-width:100%; padding:4px; font-size:9px; }.grade-upload-slots .section-upload { display:grid; gap:5px; }.grade-upload-slots { grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); }
@media (max-width:1100px) { .scope-strip { grid-template-columns:1fr; }.scope-heading { padding:0 0 8px; border-right:0; border-bottom:1px solid var(--line); }.scope-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:560px) { .scope-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.scope-strip { margin-top:0; }.conclusion-table th:first-child,.conclusion-table td:first-child { width:44%; }.conclusion-table th:not(:first-child),.conclusion-table td:not(:first-child) { width:18.6%; }.grade-upload-slots { grid-template-columns:1fr; } }

/* Ficha nominal y conclusiones descriptivas. */
.conclusions-grid { grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr); margin-top:18px; }.modal-panel h2 { color:var(--sky-deep); }.student-area h3 { margin:0; padding:8px 10px; border:0; border-left:4px solid var(--sky); background:var(--sky-pale); color:#15566f; font-size:14px; }.student-competency-header,.student-competency { grid-template-columns:1.15fr 1.45fr .48fr .48fr .78fr; }.student-competency>span { text-align:center; }.student-trend { align-self:center; font-size:11px; font-weight:800; text-align:center; }.student-trend.good { color:#287949; }.student-trend.bad { color:#b64c48; }.student-trend.neutral { color:#8a6b1f; }
@media (max-width:900px) { .conclusions-grid { grid-template-columns:1fr; } }
@media (max-width:700px) { .student-competency-header { display:none; }.student-competency { grid-template-columns:1fr; }.student-trend { padding:5px 0; text-align:left; }.student-competency>span:nth-child(3)::before { content:'I Bim.'; }.student-competency>span:nth-child(4)::before { content:'II Bim.'; } }

/* KPIs de alcance, gráfico de conclusiones y configuración por grado. */
.configuration-view #global-scope { display:none; }.scope-strip { grid-template-columns:minmax(190px,.75fr) minmax(0,3.25fr); margin:18px 0 8px; padding:10px 12px; border-top:3px solid var(--sky); background:#fff; }.scope-heading { display:grid; align-content:center; }.scope-kpis { grid-template-columns:repeat(6,minmax(0,1fr)); }.scope-kpis article { min-height:58px; padding:7px 9px; border-left:0; border-top:2px solid var(--sky); background:#f8fcfe; }.scope-kpis article:nth-child(2) { border-top-color:var(--ad); }.scope-kpis article:nth-child(3) { border-top-color:var(--a); }.scope-kpis article:nth-child(4) { border-top-color:var(--b); }.scope-kpis article:nth-child(5),.scope-kpis article:nth-child(6) { border-top-color:#78aac0; }.scope-kpis strong { font-size:19px; }.scope-kpis small { min-height:25px; font-size:9px; }.student-trend { align-self:start; padding:7px 4px; background:#f8fbfc; }.student-competency { align-items:start; }.conclusion-area-chart { display:grid; gap:10px; max-height:470px; overflow:auto; padding-right:4px; }.conclusion-chart-row { display:grid; grid-template-columns:minmax(155px,.9fr) minmax(160px,1fr) 68px; gap:10px; align-items:center; padding:8px 0; border-bottom:1px solid #e2edf2; }.conclusion-chart-row strong { display:block; color:#274f5e; font-size:12px; line-height:1.3; }.conclusion-chart-row small { display:block; margin-top:3px; color:#617b85; font-size:10px; }.conclusion-bars { display:grid; gap:4px; }.conclusion-bars span { display:block; height:8px; overflow:hidden; border-radius:2px; background:#e8f0f3; }.conclusion-bars i { display:block; height:100%; border-radius:2px; }.conclusion-bars .registered { background:#72a972; }.conclusion-bars .pending { background:var(--c); }.conclusion-values { display:grid; gap:2px; text-align:right; font-size:11px; }.conclusion-values b { color:#397145; }.conclusion-values em { color:#9d3934; font-style:normal; }.upload-period-state { grid-column:1/-1; margin:0; padding:9px 11px; border-left:4px solid var(--sky); background:#f0fafe; color:#1e627e; font-size:12px; font-weight:700; }.upload-period-state[data-period="B2"],#config-files[data-period="B2"] .grade-upload-group { border-color:#71a771; }.upload-period-state[data-period="B2"] { border-left-color:#71a771; background:#f2f8f0; color:#397145; }.upload-period-state[data-period="B3"] { border-left-color:var(--b); background:#fdf9ef; color:#886c1f; }.upload-period-state[data-period="B4"] { border-left-color:#947fa8; background:#f7f3fa; color:#654b78; }.section-organization-groups { display:grid; gap:15px; }.section-organization-group { padding:14px; border:1px solid var(--line); border-top:3px solid var(--sky); background:#fbfdfe; }.section-organization-group>header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }.section-organization-group header p { color:#1b566d; font-size:16px; font-weight:700; }.section-organization-group header span { color:#607b85; font-size:11px; }.section-organization-group table { min-width:420px; }.section-organization-group .table-wrap { max-height:245px; }.institution-switches { border-left:4px solid var(--sky); }.institution-switches label { padding:7px 9px; border:1px solid var(--line); background:#fff; }.institution-switches label:has(input:checked) { border-color:var(--sky); background:var(--sky-pale); color:#15566f; font-weight:700; }
/* Los gráficos compactos viven en paneles estrechos: el cambio se lee debajo de las barras. */
.compact .area-chart-row { grid-template-columns:minmax(150px,.9fr) minmax(180px,1.1fr); gap:10px; }
.compact .area-delta { grid-column:1 / -1; text-align:left; }
@media (max-width:1100px) { .scope-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }.scope-strip { grid-template-columns:1fr; } }
@media (max-width:700px) { .scope-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }.conclusion-chart-row { grid-template-columns:1fr; gap:6px; }.conclusion-values { grid-template-columns:1fr 1fr; text-align:left; }.section-organization-group>header { align-items:start; flex-direction:column; }.section-organization-group>header .quiet-button { width:100%; }.upload-period-state { grid-column:auto; } }

/* Detalle por competencia y administración de accesos. */
.capacity-list { display:grid; gap:3px; margin:7px 0 0; padding-left:18px; color:#55727d; font-size:11px; line-height:1.4; }.capacity-list li::marker { color:var(--sky); }.student-competency .capacity-list { margin-top:0; font-size:11px; }.competency-row .capacity-list { margin-bottom:7px; }.area-competency-card .capacity-list { margin-top:7px; }.competency-level-summary span { gap:3px; min-height:94px; }.competency-level-summary small { color:#55727d; font-size:9px; }.competency-level-summary em { color:#55727d; font-size:10px; font-style:normal; white-space:nowrap; }.competency-level-summary .trend { align-items:start; font-size:9px; }.school-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; padding:13px; border:1px solid var(--line); border-left:4px solid var(--sky); background:#f8fcfe; }.school-actions span { color:#557681; font-size:12px; }.organization-controls { display:grid; grid-template-columns:minmax(240px,1fr) minmax(220px,.8fr) auto; align-items:end; gap:14px; margin:0 0 18px; padding:14px; border:1px solid var(--line); border-top:3px solid var(--sky); background:#f8fcfe; }.organization-controls section { display:grid; gap:7px; }.control-label { color:#476f7e; font-size:11px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.choice-buttons { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; }.choice-buttons button { min-height:38px; border:1px solid var(--line); border-radius:4px; background:#fff; color:#355b6a; font-size:12px; font-weight:700; }.choice-buttons button.active { border-color:var(--sky-deep); background:var(--sky-deep); color:#fff; }.switch-choice { min-height:38px; display:flex; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); background:#fff; color:#355b6a; font-size:12px; font-weight:700; }.users-grid { align-items:start; }.user-form { display:grid; gap:11px; }.user-form hr { width:100%; border:0; border-top:1px solid var(--line); margin:4px 0; }.user-form label { display:grid; gap:5px; color:#405d69; font-size:12px; font-weight:700; }.user-form input { min-width:0; }.super-admin-only[hidden] { display:none; }
.section-organization-group { min-width:0; max-width:100%; overflow:hidden; }.section-organization-group .table-wrap { width:100%; min-width:0; max-width:100%; overflow-x:auto; }
@media (max-width:900px) { .organization-controls { grid-template-columns:1fr; align-items:stretch; }.organization-controls > .quiet-button { width:100%; }.school-actions { align-items:start; flex-direction:column; } }
@media (max-width:560px) { .choice-buttons { grid-template-columns:1fr; }.competency-level-summary span { min-height:0; }.school-actions .primary-button { width:100%; } }

/* Vistas exclusivas y lectura ampliada por competencia. */
.users-view .filter-row,.users-view #global-scope { display:none; }.users-view .view { padding-top:0; }.user-link { display:block; margin-top:3px; color:#567782; font-size:10px; font-weight:600; }.area-competency-chart { grid-template-columns:1fr; gap:16px; }.area-competency-card { gap:13px; padding:18px; border-top-width:4px; }.area-competency-card h3 { color:#075b83; font-size:16px; line-height:1.35; }.area-competency-card .capacity-list { gap:5px; margin-top:9px; font-size:12px; line-height:1.45; }.competency-rails { gap:7px; }.competency-rails>div { grid-template-columns:50px 1fr; gap:10px; }.competency-rails>div>span { font-size:11px; }.competency-rails i { height:12px; }.competency-level-summary { gap:10px; }.competency-level-summary article { display:grid; gap:5px; min-width:0; padding:10px; border-left:3px solid var(--line); background:#fff; color:#54737e; }.competency-level-summary article.ad { border-color:var(--ad); background:#f0fafe; }.competency-level-summary article.a { border-color:var(--a); background:#f2f8f0; }.competency-level-summary article.b { border-color:var(--b); background:#fdf9ef; }.competency-level-summary article.c { border-color:var(--c); background:#fff1f0; }.competency-level-summary article>small { color:#476f7e; font-size:10px; }.competency-level-summary article>b { color:#193f50; font-size:14px; line-height:1.2; }.competency-level-bars { display:grid; gap:4px; }.competency-level-bars>div { display:grid; grid-template-columns:42px minmax(24px,1fr) 39px; gap:5px; align-items:center; }.competency-level-bars span,.competency-level-bars em { color:#587681; font-size:9px; font-style:normal; }.competency-level-bars i { display:block; min-width:2px; height:6px; border-radius:2px; background:var(--sky); }.competency-level-summary article.ad .competency-level-bars i { background:var(--ad); }.competency-level-summary article.a .competency-level-bars i { background:var(--a); }.competency-level-summary article.b .competency-level-bars i { background:var(--b); }.competency-level-summary article.c .competency-level-bars i { background:var(--c); }.competency-level-summary article .trend { justify-content:start; margin-top:1px; font-size:10px; }.configuration-tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:10px; border:1px solid var(--line); border-top:4px solid var(--sky); background:#f8fcfe; }.config-tab { position:relative; min-height:66px; padding:11px 10px 10px 35px; border:1px solid transparent; border-radius:4px; background:transparent; color:#436976; text-align:left; font-size:12px; font-weight:750; line-height:1.3; }.config-tab::before { position:absolute; left:10px; top:11px; display:grid; width:18px; height:18px; place-items:center; border:1px solid #9fc8d9; border-radius:50%; color:#28677e; font-size:10px; content:counter(config-step); counter-increment:config-step; }.configuration-tabs { counter-reset:config-step; }.config-tab:hover { border-color:#a8cfde; background:#fff; }.config-tab.active { border-color:var(--sky-deep); background:#fff; color:#075b83; box-shadow:0 2px 7px rgba(13,91,126,.12); }.config-tab.active::before { border-color:var(--sky-deep); background:var(--sky-deep); color:#fff; }
@media (max-width:900px) { .configuration-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }.competency-level-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .configuration-tabs { grid-template-columns:1fr; }.config-tab { min-height:49px; }.competency-level-summary { grid-template-columns:1fr; }.area-competency-card { padding:14px; }.area-competency-card h3 { font-size:14px; } }

/* La competencia replica la lectura institucional: resumen y comparación visual separados. */
.competency-level-summary { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }.competency-level-summary article { display:initial; padding:0; border:0; background:transparent; }.competency-level-summary span { display:grid; gap:4px; min-height:0; padding:10px; border-left:3px solid var(--line); background:#fff; color:#54737e; }.competency-level-summary span.ad { border-color:var(--ad); background:#f0fafe; }.competency-level-summary span.a { border-color:var(--a); background:#f2f8f0; }.competency-level-summary span.b { border-color:var(--b); background:#fdf9ef; }.competency-level-summary span.c { border-color:var(--c); background:#fff1f0; }.competency-level-summary span>b { color:#193f50; font-size:14px; line-height:1.2; }.competency-level-summary span>em { color:#587681; font-size:10px; font-style:normal; }.competency-level-summary span .trend { justify-content:start; font-size:10px; }.competency-level-comparison { margin-top:2px; padding-top:12px; border-top:1px solid var(--line); }.competency-level-comparison>p { margin-bottom:8px; color:#477182; font-size:10px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; }.competency-level-chart { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }.competency-level-chart-row { display:grid; grid-template-columns:102px minmax(100px,1fr); gap:6px 9px; align-items:center; padding:8px 9px; border-left:3px solid var(--line); background:#fbfdfe; }.competency-level-chart-row.ad { border-color:var(--ad); }.competency-level-chart-row.a { border-color:var(--a); }.competency-level-chart-row.b { border-color:var(--b); }.competency-level-chart-row.c { border-color:var(--c); }.competency-level-chart-row>strong { align-self:start; color:#365766; font-size:10px; line-height:1.3; }.competency-level-bars { display:grid; gap:4px; }.competency-level-bars>div { display:grid; grid-template-columns:38px minmax(35px,1fr) 39px; gap:5px; align-items:center; }.competency-level-bars span,.competency-level-bars b { color:#587681; font-size:9px; font-variant-numeric:tabular-nums; }.competency-level-bars b { text-align:right; }.competency-level-bars i { display:block; min-width:2px; height:6px; border-radius:2px; background:var(--sky); }.competency-level-chart-row.ad i { background:var(--ad); }.competency-level-chart-row.a i { background:var(--a); }.competency-level-chart-row.b i { background:var(--b); }.competency-level-chart-row.c i { background:var(--c); }.competency-level-chart-row>.trend { grid-column:2; justify-content:start; font-size:9px; }
@media (max-width:900px) { .competency-level-chart { grid-template-columns:1fr; } }
@media (max-width:560px) { .competency-level-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }.competency-level-chart-row { grid-template-columns:1fr; }.competency-level-chart-row>.trend { grid-column:auto; } }

/* Escala de lectura para el análisis por competencia. */
.area-competency-card { gap:16px; padding:21px; }.area-competency-card h3 { font-size:18px; }.area-competency-card .capacity-list { gap:6px; font-size:13px; line-height:1.5; }.competency-rails { gap:9px; }.competency-rails>div { grid-template-columns:56px 1fr; gap:12px; }.competency-rails>div>span { font-size:12px; }.competency-rails i { height:14px; }.competency-level-summary { gap:12px; }.competency-level-summary span { gap:6px; padding:13px; }.competency-level-summary span>small { font-size:12px; }.competency-level-summary span>b { font-size:18px; }.competency-level-summary span>em { font-size:12px; }.competency-level-summary span .trend { font-size:11px; }.competency-level-comparison { padding-top:15px; }.competency-level-comparison>p { margin-bottom:10px; font-size:11px; }.competency-level-chart { gap:10px 16px; }.competency-level-chart-row { grid-template-columns:126px minmax(130px,1fr); gap:8px 12px; padding:11px 12px; }.competency-level-chart-row>strong { font-size:12px; }.competency-level-bars { gap:6px; }.competency-level-bars>div { grid-template-columns:46px minmax(50px,1fr) 47px; gap:7px; }.competency-level-bars span,.competency-level-bars b { font-size:11px; }.competency-level-bars i { height:8px; }.competency-level-chart-row>.trend { font-size:11px; }
@media (max-width:560px) { .area-competency-card { padding:16px; }.area-competency-card h3 { font-size:16px; }.area-competency-card .capacity-list { font-size:12px; }.competency-level-summary span>b { font-size:16px; }.competency-level-chart-row { grid-template-columns:1fr; }.competency-level-bars>div { grid-template-columns:46px minmax(40px,1fr) 47px; } }

/* Configuración continua y escala tipográfica institucional. */
.section-organization-group { overflow:visible; }.section-organization-group .table-wrap { max-height:none; overflow-x:auto; overflow-y:visible; }.organization-controls { grid-template-columns:minmax(290px,1.25fr) minmax(260px,1fr) auto; align-items:end; padding:16px; background:#f7fbfd; }.organization-controls > .quiet-button { min-height:42px; white-space:nowrap; }.choice-buttons button,.switch-choice { min-height:42px; font-size:13px; }.control-label { font-size:12px; }.panel-intro,.panel-heading>span { font-size:13px; }.filter-row label,.school-form label,.upload-form>label { font-size:12px; }.scope-kpis span,.scope-kpis small { font-size:10px; }.area-name,.area-delta,.bar-line b,.bar-line strong { font-size:13px; }.area-bars span,.area-bars b,.dual-tracks span { font-size:11px; }.trend { font-size:12px; }.insight span,.change-card span,.change-card small { font-size:13px; }.competency-head { font-size:11px; }.competency-row>div:first-child b { font-size:13px; }.level-pills span,.competency-change small { font-size:11px; } table { font-size:14px; } th { font-size:11px; } td { padding:11px 10px; }.level.b { background:#fffbed; }.level-pills span:nth-child(3),.student-competency>.level-b { border-color:#ead46c; background:#fffbed; color:#7f6500; }.competency-level-summary span.b { background:#fffbed; }.competency-level-chart-row.b { background:#fffdf3; }
@media (max-width:1100px) { .organization-controls { grid-template-columns:1fr 1fr; }.organization-controls > .quiet-button { grid-column:1 / -1; width:100%; } }
@media (max-width:700px) { .organization-controls { grid-template-columns:1fr; }.section-organization-group .table-wrap { overflow-x:auto; }.panel-intro,.panel-heading>span { font-size:12px; } }

/* Los indicadores numéricos usan la misma fuente clara del sistema. */
.brand strong,.status-band strong,.section-row strong,.insight strong,.change-card strong,.configuration-summary strong,.curriculum-area h3 { font-family:"Segoe UI Variable","Segoe UI","Aptos",Arial,sans-serif; }

/* Administración de instituciones y navegación compacta. */
.users-intro { margin:0 0 18px; padding:18px 20px; border-left:4px solid var(--sky); background:#eaf7fc; }.users-intro h2 { margin-bottom:5px; font-size:23px; }.users-intro>p:last-child { color:#486b78; max-width:720px; }.users-grid { display:grid; grid-template-columns:minmax(330px,.85fr) minmax(0,1.35fr); align-items:start; gap:18px; }.user-create-panel { border-top:4px solid var(--sky); }.user-directory-panel { min-width:0; }.user-form { display:grid; gap:14px; }.user-form fieldset { display:grid; gap:11px; min-width:0; margin:0; padding:13px; border:1px solid var(--line); background:#f9fcfe; }.user-form legend { padding:0 5px; color:#075b83; font-size:12px; font-weight:800; }.user-actions-cell { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:7px; white-space:nowrap; }.user-directory-panel table { min-width:710px; }.menu-toggle,.menu-overlay { display:none; }.page-heading { display:contents; }
@media (max-width:980px) { .menu-toggle { display:grid; width:39px; min-width:39px; height:39px; place-items:center; padding:0; border:1px solid var(--line); border-radius:4px; background:#fff; color:var(--sky-deep); font-size:23px; font-weight:700; line-height:1; }.page-heading { display:flex; align-items:start; gap:10px; min-width:0; }.menu-overlay:not([hidden]) { position:fixed; z-index:25; inset:0; display:block; border:0; background:rgba(18,48,61,.42); }.sidebar { position:fixed; z-index:30; inset:0 auto 0 0; width:min(310px,84vw); min-height:100dvh; padding:20px 14px; transform:translateX(-105%); transition:transform .2s ease; overflow:auto; box-shadow:12px 0 30px rgba(18,48,61,.2); }.menu-open .sidebar { transform:translateX(0); }.sidebar nav { display:grid; grid-template-columns:1fr; overflow:visible; margin-top:20px; }.sidebar .nav-item { white-space:normal; }.sidebar-foot { display:block; }.users-grid { grid-template-columns:1fr; } }
@media (max-width:560px) { .users-intro { padding:15px; }.users-intro h2 { font-size:20px; }.user-create-panel,.user-directory-panel { padding:15px; }.user-form fieldset { padding:11px; }.page-heading h1 { font-size:23px; } }

/* Opciones institucionales con lectura de estado clara. */
.school-form { grid-template-columns:minmax(260px,1fr) minmax(220px,.75fr) minmax(280px,1fr); }
.setting-card { min-height:68px; display:grid!important; grid-template-columns:18px minmax(0,1fr); align-items:start; gap:10px; padding:12px; border:1px solid var(--line); border-left:4px solid #a9c8d6; border-radius:4px; background:#fff; color:#355b6a!important; text-transform:none!important; }
.setting-card input { min-width:16px; min-height:16px; margin-top:3px; padding:0; }
.setting-card strong { display:block; color:#174f68; font-size:13px; line-height:1.25; }
.setting-card small { display:block; margin-top:3px; color:#5d7782; font-size:11px; font-weight:600; line-height:1.35; }
.setting-card:has(input:checked) { border-color:var(--sky); border-left-color:var(--sky-deep); background:var(--sky-pale); }
.setting-card:has(input:checked) strong { color:#075b83; }
.organization-controls .setting-card { min-height:76px; }
.super-admin-password-panel,.admin-password-panel,.teacher-password-panel,.alert-code-panel { width:min(100%,430px); }
@media (max-width:1100px) { .school-form { grid-template-columns:1fr 1fr; } .school-form .setting-card { grid-column:1 / -1; } }
@media (max-width:640px) { .school-form { grid-template-columns:1fr; } }

/* Directorio de accesos: cada institución conserva sus vínculos en una sola lectura. */
.user-form-section { border-left:4px solid var(--sky)!important; }
.user-form-section legend { font-size:12px!important; letter-spacing:0!important; }
.institution-section { border-left-color:#16807a!important; background:#f2fbfa!important; }
.institution-section legend { color:#126760!important; }
.administrator-section { border-left-color:#176b9a!important; background:#f4f9fd!important; }
.administrator-section legend { color:#075b83!important; }
.teacher-section { border-left-color:#4f8a48!important; background:#f5faf3!important; }
.teacher-section legend { color:#3d7137!important; }
.alert-section { border-left-color:#b34a55!important; background:#fff6f5!important; }
.alert-section legend { color:#983640!important; }
.users-directory { display:grid; gap:16px; }
.institution-access { display:grid; gap:13px; padding:15px 0 0; border-top:3px solid #8dbfd2; }
.institution-access:first-child { padding-top:0; border-top:0; }
.institution-access>header { display:flex; align-items:start; justify-content:space-between; gap:12px; }
.institution-access>header p,.access-record-heading>span,.system-access>span { margin:0 0 3px; color:#4f7481; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.institution-access>header h3 { margin:0; color:#1d4556; font-size:16px; line-height:1.3; }
.institution-access>header>code { color:#346676; font-size:11px; }
.access-records { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.access-record { display:grid; align-content:space-between; gap:11px; min-width:0; padding:11px 0 0 11px; border-left:3px solid var(--line); }
.access-record-heading { display:grid; gap:3px; min-width:0; }
.access-record-heading strong { color:#244957; font-size:13px; line-height:1.25; overflow-wrap:anywhere; }
.access-record-heading code { width:max-content; max-width:100%; overflow:hidden; color:#355f6e; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.access-record-heading small { color:#607c86; font-size:10px; line-height:1.35; }
.access-record-actions { display:flex; flex-wrap:wrap; gap:6px; }
.access-record-actions .quiet-button { min-height:30px; padding:5px 8px; font-size:11px; }
.administrator-access { border-left-color:#176b9a; }.administrator-access .access-record-heading>span { color:#176b9a; }
.teacher-access { border-left-color:#4f8a48; }.teacher-access .access-record-heading>span { color:#3d7137; }
.alert-access { border-left-color:#b34a55; }.alert-access .access-record-heading>span { color:#983640; }
.missing-access { border-left-color:#b88430; }.missing-access .access-record-heading>span { color:#8a651f; }
.system-access { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:0 0 13px; border-bottom:1px solid var(--line); color:#365e6d; font-size:12px; }.system-access>div { display:grid; gap:2px; }.system-access strong { color:#244957; }.system-access code { font-size:11px; }.system-access-actions { display:flex!important; flex-wrap:wrap; justify-content:flex-end; gap:6px; }.system-access .quiet-button { min-height:32px; padding:5px 8px; font-size:11px; }
.unlinked-access { border-top-color:#d5a34b; }.unlinked-access .access-records { grid-template-columns:minmax(0,1fr); max-width:330px; }
@media (max-width:900px) { .access-records { grid-template-columns:1fr; }.access-record { grid-template-columns:minmax(0,1fr) auto; align-items:end; }.access-record-actions { justify-content:flex-end; } }
@media (max-width:560px) { .institution-access>header { display:grid; gap:5px; }.access-record { grid-template-columns:1fr; }.access-record-actions { justify-content:flex-start; }.institution-access>header h3 { font-size:15px; } }
