/* university.css — EXPERIENCIA V2 (2026-08-15). Misma gramática visual para portada, estudiante, mentor,
   revisión y administración. Tokens tomados del prototipo aprobado (papel/tinta, azul, dorado reservado a hitos
   y acciones secundarias). Todos los selectores previos se conservan (las páginas existentes siguen funcionando);
   la nueva portada y el dashboard añaden componentes v2-*. Contraste AA, foco visible, reduced-motion. */
:root{
  color-scheme:light;
  --paper:#f5f1e8;--paper-2:#ebe5d8;--white:#fffdf8;--ink:#101820;--ink-soft:#26333e;--muted:#56626b;
  --line:rgba(16,24,32,.14);--line-strong:rgba(16,24,32,.28);
  --blue:#3469df;--blue-dark:#17366d;--blue-ink:#1d3f86;--sky:#dfe9ff;--sky-2:#eef3ff;
  --gold:#c49648;--gold-ink:#7a5417;--gold-soft:#f7ecd6;
  --success:#21765a;--success-soft:#dff1e8;--warning:#8a5a00;--warning-soft:#fbefd0;--danger:#a43d3d;--danger-soft:#f9e1e0;
  --focus:#1d3f86;--radius-sm:12px;--radius:18px;--radius-lg:28px;--shadow:0 18px 60px rgba(16,24,32,.08);--max:1180px;
  /* alias heredados (páginas anteriores) */
  --bg:var(--paper);--surface:var(--white);--raised:var(--paper-2);--brand:var(--blue);--brand-soft:var(--sky);
  font-family:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--blue-ink)}button,input,select,textarea{font:inherit}
.nav-button{border:0;background:transparent;color:var(--ink-soft);font-size:.9rem;font-weight:750;cursor:pointer;padding:0}.nav-button:hover{text-decoration:underline}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;z-index:40;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Encabezado global ---------- */
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:16px clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(245,241,232,.94);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:16px;text-decoration:none;color:var(--ink)}.brand img{width:140px;filter:none}.brand-copy strong,.brand-copy small{display:block;line-height:1.25}.brand-copy small{color:var(--muted);font-size:.76rem}
.global-nav{display:flex;align-items:center;gap:20px;min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.global-nav>*{flex:0 0 auto}.global-nav a{text-decoration:none;color:var(--ink-soft);font-size:.92rem;font-weight:700;padding:6px 2px;border-bottom:2px solid transparent}.global-nav a:hover{border-bottom-color:var(--blue)}.global-nav a[aria-current="page"]{color:var(--blue-ink);border-bottom-color:var(--blue-ink)}
.site-header.owner-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px;align-items:center}
.owner-header .brand{grid-column:1;min-width:0}.owner-header .brand-copy{min-width:0}
.owner-header .global-nav{grid-column:1/-1;width:100%;overflow:visible;gap:clamp(14px,2.2vw,30px);padding-top:8px;border-top:1px solid var(--line)}
.owner-header .global-nav a,.owner-header .global-nav .nav-button{display:inline-flex;align-items:center;min-height:42px;white-space:nowrap}
.owner-header .global-nav [data-server-status]{margin-left:auto}
.status-pill,.badge{display:inline-flex;align-items:center;border-radius:999px;font-size:.74rem;font-weight:800;letter-spacing:.02em}.status-pill{padding:7px 11px;border:1px solid #b9cdf7;background:var(--sky);color:var(--blue-dark)}.status-pill.active{background:var(--success-soft);border-color:#9fd3bb;color:var(--success)}
.badge{padding:5px 9px;background:var(--paper-2);color:var(--ink-soft)}.badge.active{background:var(--success-soft);color:var(--success)}.badge.future,.badge.design{background:var(--gold-soft);color:var(--gold-ink)}.badge.blocked{background:var(--danger-soft);color:var(--danger)}

/* ---------- Contenedores ---------- */
.public-main,.dashboard-main{max-width:1320px;margin:auto;padding:56px clamp(20px,5vw,72px) 100px}
.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:36px;align-items:end;padding:26px 0 56px;border-bottom:1px solid var(--line)}
.eyebrow{color:var(--blue-ink);font-size:.74rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.hero h1,.page-title{font-size:clamp(2.4rem,6vw,5.4rem);line-height:.98;letter-spacing:-.045em;margin:14px 0 22px;text-wrap:balance}.hero p,.page-lead{font-size:1.12rem;color:var(--ink-soft);max-width:66ch}
.hero-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.hero-panel h2{margin-top:0}.hero-panel p{font-size:.98rem;color:var(--ink-soft)}.rule-list{padding-left:20px;color:var(--ink-soft)}.rule-list li{margin:9px 0}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:11px 18px;border:1px solid var(--blue);border-radius:999px;text-decoration:none;font-weight:800;cursor:pointer;background:transparent;color:var(--blue-ink)}
.button.primary{background:var(--blue);color:#fff}.button.primary:hover{background:var(--blue-ink)}.button.secondary{background:var(--white);color:var(--blue-ink)}.button.secondary:hover{background:var(--sky-2)}
.button.gold{border-color:var(--gold);color:var(--gold-ink);background:var(--gold-soft)}
.button:disabled,.button.disabled{opacity:.55;cursor:not-allowed;border-color:var(--line-strong);color:var(--muted);background:transparent}
.button.compact{padding:.6rem .85rem;font-size:.9rem;white-space:nowrap;min-height:40px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin:60px 0 22px}.section-heading h2{font-size:clamp(1.8rem,3.6vw,2.9rem);letter-spacing:-.03em;margin:0;text-wrap:balance}.section-heading p{color:var(--muted);max-width:58ch;margin:0}
.school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.school-card{display:flex;flex-direction:column;min-height:300px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.school-card.active-school{border-color:#b9cdf7}.school-card h3{font-size:1.5rem;margin:16px 0 8px;letter-spacing:-.02em}.school-card p{color:var(--ink-soft)}.school-meta{display:flex;gap:9px;flex-wrap:wrap}.school-card .button{margin-top:auto;align-self:flex-start}
.architecture-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}.architecture-strip div{background:var(--white);padding:22px}.architecture-strip strong{display:block;color:var(--ink)}.architecture-strip span{color:var(--muted);font-size:.88rem}

/* ---------- Dashboard (todas las funciones) ---------- */
.dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.dashboard-head .page-title{font-size:clamp(2.1rem,4.4vw,3.8rem);margin-bottom:10px}.identity{text-align:right;color:var(--muted)}.identity strong{display:block;color:var(--ink)}
.priority-card{display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;background:var(--sky);border:1px solid #b9cdf7;border-radius:var(--radius);padding:26px}.priority-card h2{font-size:1.55rem;margin:4px 0;letter-spacing:-.02em}.priority-card p{margin:0;color:var(--ink-soft)}.priority-label{color:var(--blue-ink);font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.stat{background:var(--white);border:1px solid var(--line);border-radius:15px;padding:18px}.stat strong{display:block;font-size:1.9rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat span{color:var(--muted);font-size:.86rem}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:20px}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;min-width:0}
.dashboard-grid>*,.v2-grid-3>*,.dashboard-main>*{min-width:0}.panel h2{margin-top:0;letter-spacing:-.02em}.panel-note{color:var(--muted)}
/* V8: el miembro que aun no tiene cuenta necesita saber como se consigue; sin esto la pantalla
   de acceso es una puerta cerrada sin cartel. */
.sin-cuenta{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;line-height:1.55}
.enrollment{padding:18px 0;border-top:1px solid var(--line)}.enrollment:first-of-type{border-top:0}.enrollment-head{display:flex;justify-content:space-between;gap:18px}.enrollment h3{margin:0}.enrollment p{color:var(--muted)}progress{width:100%;height:9px;accent-color:var(--blue)}.progress-copy{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;margin-top:6px}
.event-list,.exception-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.event-list li,.exception-list li{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.event-list strong,.exception-list strong{display:block}.event-list span,.exception-list span{color:var(--muted);font-size:.86rem}
.admin-schools{display:grid;gap:12px}.admin-school{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--white)}.admin-school h3{margin:0}.admin-school p{margin:3px 0 0;color:var(--muted)}
.notice{border-left:4px solid var(--gold);background:var(--gold-soft);padding:16px 19px;border-radius:0 12px 12px 0;color:var(--ink);margin:22px 0}
.form-card{max-width:760px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px;margin-bottom:18px}.field label{font-weight:800}.field input,.field select,.field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink)}.field textarea{resize:vertical}.field small{color:var(--muted)}.form-status{min-height:28px;margin-top:14px;color:var(--ink-soft)}.form-status.error{color:var(--danger)}.form-status.success{color:var(--success)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--white)}.data-table{width:100%;min-width:760px;border-collapse:collapse;background:var(--white)}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}.data-table thead th{border-top:0;background:var(--paper-2);color:var(--ink)}.data-table td{color:var(--ink-soft)}.data-table small{display:block;color:var(--muted)}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px}.access-grid.three{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1180px}.access-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.access-card h2{margin:14px 0 6px}.access-card p{color:var(--ink-soft)}.access-card .button{margin-top:auto}
.table-action{min-width:190px}.table-action small{display:block;margin-top:.45rem}.muted{color:var(--muted)}
.activation-title{max-width:900px}.check-row{display:flex;align-items:flex-start;gap:10px;margin:4px 0 22px;color:var(--ink-soft)}.check-row input{width:20px;height:20px;margin-top:3px;accent-color:var(--blue)}.form-status a{font-weight:800}
.account-login{margin-top:28px;max-width:900px}.account-login h2{margin-top:8px}
.security-card{display:grid;grid-template-columns:1fr 1fr;gap:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;margin:24px 0}.security-card h2{margin:5px 0}.security-card p{color:var(--muted)}.security-card label{display:block;font-weight:700;margin-bottom:8px}.inline-form{display:flex;gap:10px}.inline-form input{flex:1;min-width:0;padding:11px 13px;border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink)}
.channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.channel-card{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-height:220px;padding:22px;text-align:left;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:16px;cursor:pointer}.channel-card:hover,.channel-card.selected{border-color:var(--blue);background:var(--sky-2)}.channel-card.protection.selected{border-color:var(--danger);background:var(--danger-soft)}.channel-card strong{font-size:1.2rem}.channel-card>span:not(.badge),.channel-card small{color:var(--muted)}.channel-card small{margin-top:auto}.emergency-notice{margin:0 0 20px;padding:18px 20px;border:1px solid #e0b3b0;border-radius:13px;background:var(--danger-soft);color:#5d1f1c}.channels-layout{align-items:start}.case-list,.owner-case-list{display:grid;gap:14px}.case-item,.owner-case{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--white)}.case-item h3,.owner-case h3{margin:12px 0 5px}.case-item p,.owner-case p{color:var(--ink-soft)}.case-item>small,.owner-case>small{display:block;color:var(--muted);margin-top:12px}.case-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.case-update{display:grid;gap:4px;padding:12px;margin:12px 0;background:var(--sky-2);border-left:3px solid var(--blue);border-radius:0 8px 8px 0}.case-update span{color:var(--ink-soft)}.owner-case{padding:24px}.owner-case.restricted{border-color:#e0b3b0}.restricted-callout{display:grid;gap:4px;margin-top:18px;padding:15px;background:var(--danger-soft);border:1px solid #e0b3b0;border-radius:10px;color:#5d1f1c}.case-update-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.compact-heading{margin-top:0}.inline-filter{min-width:230px;margin:0}
.footer{border-top:1px solid var(--line);padding:28px clamp(20px,5vw,72px);color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer a{color:var(--blue-ink)}

/* ---------- Componentes V2 (portada + dashboard "qué sigue") ---------- */
.v2-topbar{background:var(--ink);color:#fff;font-size:.82rem;text-align:center;padding:8px clamp(16px,4vw,72px)}.v2-topbar strong{color:#fff}
.v2-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:40px;align-items:center;padding:56px 0 48px}
.v2-hero h1{font-size:clamp(2.5rem,6.2vw,5.6rem)}.v2-hero .v2-lead{font-size:1.18rem;color:var(--ink-soft);max-width:60ch}
.v2-disclaimer{margin-top:22px;padding:14px 16px;border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:0 12px 12px 0;color:var(--ink);font-size:.95rem}
.v2-path{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:26px;box-shadow:var(--shadow)}.v2-path h2{margin:0 0 4px;font-size:1.25rem}.v2-path p{margin:0 0 14px;color:var(--muted);font-size:.95rem}
.v2-path ol{list-style:none;margin:0;padding:0;display:grid;gap:10px}.v2-path li{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.v2-path li b{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sky);color:var(--blue-ink);font-size:.8rem}.v2-path li small{color:var(--muted)}
.v2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:8px 0 0}.v2-metric{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px}.v2-metric strong{display:block;font-size:2.2rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.v2-metric span{color:var(--muted);font-size:.9rem}
.v2-section{padding:56px 0 8px;border-top:1px solid var(--line);margin-top:56px}.v2-section-head{max-width:70ch;margin-bottom:26px}.v2-section-head h2{font-size:clamp(1.9rem,3.8vw,3rem);letter-spacing:-.03em;margin:8px 0 12px;text-wrap:balance}.v2-section-head p{color:var(--ink-soft);margin:0}
.v2-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v2-program{display:flex;flex-direction:column;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px}.v2-program .meta{display:flex;gap:8px;flex-wrap:wrap}.v2-program h3{margin:6px 0 0;font-size:1.5rem;letter-spacing:-.02em}.v2-program p{margin:0;color:var(--ink-soft)}.v2-program .v2-cta{margin-top:auto;font-weight:800;color:var(--blue-ink);text-decoration:none}.v2-program.future{background:var(--paper)}
.v2-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.v2-step{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px}.v2-step b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;font-size:.85rem}.v2-step h3{margin:12px 0 6px;font-size:1.1rem}.v2-step p{margin:0;color:var(--muted);font-size:.94rem}
.v2-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v2-stage{border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--white)}.v2-stage.now{border-color:var(--blue);background:var(--sky-2)}.v2-stage .eyebrow{margin-bottom:6px}.v2-stage h3{margin:0 0 6px}.v2-stage p{margin:0;color:var(--ink-soft);font-size:.95rem}
.v2-journey{counter-reset:paso;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.v2-journey div{position:relative;padding:18px 16px 16px;border-top:3px solid var(--blue);background:var(--white);border-radius:0 0 12px 12px}.v2-journey div::before{counter-increment:paso;content:"0" counter(paso);display:block;font-size:.74rem;font-weight:900;color:var(--blue-ink);letter-spacing:.1em}.v2-journey strong{display:block;margin:6px 0 4px}.v2-journey span{color:var(--muted);font-size:.9rem}
.v2-eval{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.v2-eval div{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px}.v2-eval b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sky);color:var(--blue-ink)}.v2-eval strong{display:block;margin:10px 0 2px}.v2-eval span{color:var(--muted);font-size:.9rem}.v2-eval small{display:inline-block;margin-top:8px;padding:2px 8px;border-radius:999px;background:var(--paper-2);color:var(--ink-soft);font-size:.74rem;font-weight:800}
.v2-admissions{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:26px;align-items:center;background:var(--ink);color:#fff;border-radius:var(--radius-lg);padding:34px}.v2-admissions h2{margin:6px 0 10px;font-size:clamp(1.7rem,3.4vw,2.6rem);letter-spacing:-.03em}.v2-admissions p{color:#d7dde6;margin:0}.v2-admissions .eyebrow{color:#a9c6ff}.v2-admissions .button{border-color:#fff;color:#fff}.v2-admissions .button.primary{background:#fff;color:var(--ink)}
.v2-footer{border-top:1px solid var(--line);padding:36px clamp(20px,5vw,72px);color:var(--muted);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px}.v2-footer h4{margin:0 0 8px;color:var(--ink);font-size:.9rem}.v2-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.v2-footer a{color:var(--ink-soft);text-decoration:none}.v2-footer a:hover{text-decoration:underline}.v2-footer-legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:16px;font-size:.85rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* Dashboard "qué hago ahora" */
.v2-now{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:18px;align-items:stretch}
.v2-next{background:var(--sky);border:1px solid #b9cdf7;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:10px}.v2-next h2{margin:0;font-size:clamp(1.4rem,3vw,2rem);letter-spacing:-.02em}.v2-next p{margin:0;color:var(--ink-soft)}.v2-next .v2-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--blue-ink);font-size:.8rem;font-weight:800}.v2-next .button-row{margin-top:8px}
.v2-attention{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px}.v2-attention h2{margin:0 0 12px;font-size:1.1rem}
.v2-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.v2-list li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}
.v2-list li strong,.v2-list li span{grid-column:1}
.v2-list li a{grid-column:2;grid-row:1/span 2;align-self:center}
.v2-now-meta{color:var(--muted);font-size:.9rem;margin:8px 0 0}
.v2-progress-side{display:flex;gap:10px;align-items:center}
.v2-progress-row progress{grid-column:1/-1;width:100%}.v2-list li.critical{border-color:#e0b3b0;background:var(--danger-soft)}.v2-list li.high{border-color:#e6cf9c;background:var(--gold-soft)}.v2-list .v2-ico{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--white);border:1px solid var(--line);font-size:.8rem;font-weight:900;color:var(--ink-soft)}.v2-list strong{display:block}.v2-list span{color:var(--muted);font-size:.86rem}.v2-list a{white-space:nowrap;font-weight:800;color:var(--blue-ink);text-decoration:none}
.v2-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.v2-progress-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.v2-progress-row:first-of-type{border-top:0}.v2-progress-row strong{display:block}.v2-progress-row small{color:var(--muted)}.v2-progress-row .badge{white-space:nowrap}
.v2-feedback{display:grid;gap:10px}.v2-feedback article{padding:12px 14px;border-left:3px solid var(--success);background:var(--paper);border-radius:0 12px 12px 0}.v2-feedback article.revision{border-left-color:var(--gold)}.v2-feedback article.blocked{border-left-color:var(--danger)}.v2-feedback strong{display:block}.v2-feedback p{margin:4px 0 0;color:var(--ink-soft);font-size:.94rem}
.v2-note{margin-top:22px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink-soft);font-size:.9rem}

/* ---------- Responsivo (320 / 768 / 1024 / 1440) ---------- */
@media(max-width:1100px){.v2-metrics,.v2-steps,.v2-eval{grid-template-columns:repeat(2,minmax(0,1fr))}.v2-journey{grid-template-columns:repeat(3,minmax(0,1fr))}.v2-footer{grid-template-columns:1fr 1fr}}
@media(max-width:1200px){.owner-header .global-nav{flex-wrap:wrap;gap:8px 22px}.owner-header .global-nav [data-server-status]{margin-left:0}}
@media(max-width:980px){.hero,.dashboard-grid,.channel-grid,.v2-hero,.v2-now,.v2-admissions{grid-template-columns:1fr}.access-grid.three{grid-template-columns:1fr 1fr}.architecture-strip{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.priority-card{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;flex-direction:column}.identity{text-align:left}.channel-card{min-height:0}.v2-stages,.v2-grid-3{grid-template-columns:1fr}.v2-programs{grid-template-columns:1fr}}
/* ADMISIONES V2B/V2C: las cabeceras generales envuelven por debajo de 980 px. La administración del
   propietario usa siempre una retícula estable —marca arriba, navegación canónica abajo— y no depende
   de cuántos enlaces traía cada HTML. Por debajo de 680 px la marca se compacta y la fila navega con
   desplazamiento horizontal propio. */
@media(max-width:980px){.site-header{flex-wrap:wrap;gap:12px;row-gap:6px;padding-top:12px;padding-bottom:10px}.brand{flex:1 1 auto;min-width:0}.brand img{width:112px;flex:0 0 auto}.brand-copy{min-width:0}.brand-copy strong,.brand-copy small{overflow-wrap:anywhere}.global-nav{order:2;width:100%;margin:0;padding:2px 0 6px;gap:16px}.global-nav a,.global-nav .nav-button{min-height:40px;display:inline-flex;align-items:center;white-space:nowrap}.site-header.owner-header{display:grid;gap:8px 18px}.owner-header .global-nav{padding-top:6px}}
@media(max-width:680px){.site-header{position:static;align-items:center;gap:12px;flex-wrap:wrap}.brand img{width:100px}.brand-copy,.global-nav [data-server-status]{display:none}.global-nav{order:2;width:100%;margin:0;overflow-x:auto;overscroll-behavior-inline:contain;padding:4px 0 8px;scrollbar-width:thin;gap:14px}.global-nav a,.global-nav .nav-button{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;padding:8px 4px;flex:0 0 auto}.owner-header .global-nav{overflow-x:auto;flex-wrap:nowrap;border-top:1px solid var(--line)}.public-main,.dashboard-main{padding-top:22px}.hero h1,.page-title,.v2-hero h1{font-size:2.35rem}.dashboard-head{margin-bottom:16px;gap:8px}.dashboard-head .page-title{font-size:1.9rem;margin:8px 0}.dashboard-head .page-lead{font-size:1rem}.dashboard-head .identity{display:none}.priority-card{padding:18px}.school-grid,.architecture-strip,.stats,.field-grid,.access-grid,.access-grid.three,.security-card,.v2-metrics,.v2-steps,.v2-eval,.v2-journey,.v2-footer{grid-template-columns:1fr}.inline-form{flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}.school-card{min-height:0}.admin-school{grid-template-columns:1fr}.footer{flex-direction:column}.v2-path li{grid-template-columns:34px 1fr}.v2-path li small{grid-column:2}.v2-list li{grid-template-columns:auto 1fr}.v2-list a{grid-column:2}.v2-progress-row{grid-template-columns:1fr}}
@media(max-width:360px){.public-main,.dashboard-main{padding-left:14px;padding-right:14px}.v2-metric strong{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.footer,.v2-footer,.skip{display:none}}
