/* Para y Separa Colegios — plataforma Fase 1 (Program Plus, nov-2026)
   Marca: deducida de las piezas de la campaña (guías y piezas en PDF). Camino ajusta las variables de :root (colores, tipografías). */
:root{
  --verde:#6CBE45; --verde-osc:#2F7D32; --verde-prof:#1C5A2A; --verde-claro:#EAF6E3;
  --azul:#58BFE8; --azul-osc:#1C7FB0; --azul-claro:#E3F4FB;
  --amarillo:#F2E33D; --naranja:#F39A2B;
  --negro:#1E2A22; --gris-2:#55615A; --gris-3:#8A958E; --borde:#D9E2DA; --fondo:#F6F8F4; --blanco:#fff;
  --error:#C62828; --error-f:#FDECEA; --ok:#2E7D32; --ok-f:#E8F5E9;
  --display:'Bebas Neue','Arial Narrow',Impact,sans-serif;
  --texto:'Nunito','Segoe UI',Arial,sans-serif;
  --radio:16px; --sombra:0 2px 4px rgba(20,40,25,.06),0 10px 24px rgba(20,40,25,.08);
  --tipo-A:#58BFE8; --tipo-B:#6CBE45; --tipo-C:#F39A2B;
}
*{box-sizing:border-box} [hidden]{display:none!important} html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--texto);font-size:17px;line-height:1.55;color:var(--negro);background:var(--fondo)}
h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:.01em;line-height:1;margin:0 0 .4em;text-transform:uppercase}
h1{font-size:clamp(2.6rem,6vw,4.4rem)} h2{font-size:clamp(2rem,4vw,3rem)} h3{font-size:1.6rem}
p{margin:0 0 1rem} a{color:var(--azul-osc)} img{max-width:100%}
.contenedor{max-width:1120px;margin:0 auto;padding:0 20px}
.muted{color:var(--gris-2)} .small{font-size:.9rem} .centro{text-align:center}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- Marca ---- */
.logo{display:inline-flex;flex-direction:column;line-height:.9;text-decoration:none;color:inherit}
.logo .hash{font-family:var(--display);font-size:1.9rem;color:var(--blanco);letter-spacing:.02em}
.logo .hash i{font-style:normal;color:var(--amarillo)} .logo .sub{font:italic 700 .95rem var(--texto);color:var(--amarillo);margin-top:2px}
.logo.oscuro .hash{color:var(--verde-prof)} .logo.oscuro .sub{color:var(--verde-osc)}
.logo-ph{display:inline-flex;align-items:center;justify-content:center;border:1.5px dashed #9AA79F;border-radius:8px;color:var(--gris-3);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;background:rgba(255,255,255,.7);white-space:nowrap;min-width:110px}
.estrella{width:22px;height:22px;display:inline-block;vertical-align:middle}

/* ---- Botones ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:999px;border:2px solid transparent;font:800 16px var(--texto);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .08s}
.btn:active{transform:scale(.98)} .btn svg{width:20px;height:20px}
.btn-p{background:var(--verde);color:var(--blanco)} .btn-p:hover{background:var(--verde-osc)}
.btn-am{background:var(--amarillo);color:var(--negro)} .btn-am:hover{background:#E6D72A}
.btn-az{background:var(--azul-osc);color:#fff} .btn-az:hover{background:#166A94}
.btn-s{background:var(--blanco);color:var(--verde-prof);border-color:var(--verde)} .btn-s:hover{background:var(--verde-claro)}
.btn-t{background:none;color:var(--azul-osc);padding:0 8px;min-height:36px}
.btn-sm{min-height:38px;padding:0 14px;font-size:14px} .btn-bloque{width:100%}
.btn-lg{min-height:58px;padding:0 30px;font-size:18px}

/* ---- Formularios ---- */
.campo{margin-bottom:18px} .campo label,.etq{display:block;font-weight:800;font-size:14px;margin-bottom:6px}
.campo .ayuda{font-size:13px;color:var(--gris-3);margin-top:5px}
.input,select.input,textarea.input{width:100%;min-height:48px;padding:10px 14px;border:2px solid var(--borde);border-radius:12px;font:16px var(--texto);color:var(--negro);background:#fff}
.input:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 4px rgba(108,190,69,.25)}
.codigo{letter-spacing:.5em;font-size:1.6rem;text-align:center;font-weight:800}
.fila-2{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}

/* ---- Chips, tarjetas, alertas ---- */
.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;padding:3px 11px;border-radius:999px;background:#EEF2EE;color:var(--gris-2);white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.chip-tipo{color:#fff} .chip-tipo.A{background:var(--tipo-A)} .chip-tipo.B{background:var(--tipo-B)} .chip-tipo.C{background:var(--tipo-C)}
.chip-ok{background:var(--ok-f);color:var(--ok)} .chip-err{background:var(--error-f);color:var(--error)} .chip-gris{color:var(--gris-3)}
.tarjeta{background:var(--blanco);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}
.alerta{display:flex;gap:10px;padding:14px 16px;border-radius:12px;font-size:15px;background:var(--error-f);color:#7A1E1E;margin-bottom:18px;border:1px solid #F3C2BD}
.alerta b{display:block;font-family:var(--display);font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em}
.alerta.info{background:var(--azul-claro);color:#124A66;border-color:#B9E2F3}

/* ================== PÚBLICO ================== */
.pub-header{background:var(--verde);color:#fff}
.pub-header .contenedor{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:16px}
.pub-header .logos{display:flex;gap:8px;align-items:center}
.hero{background:var(--verde);color:#fff;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;inset:auto 0 0 0;height:90px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 90' preserveAspectRatio='none'><path d='M0 90V55c80-30 160-40 260-20s200 50 320 20 220-60 360-40 200 40 260 60v15z' fill='%232F7D32'/><path d='M0 90V70c100-20 220-30 330-10s210 40 330 20 240-50 540-20v30z' fill='%231C5A2A'/></svg>") bottom/cover no-repeat;pointer-events:none}
.hero .contenedor{position:relative;padding:60px 20px 120px;text-align:center;max-width:860px}
.hero h1{font-size:clamp(3rem,8vw,6rem);text-shadow:0 3px 0 rgba(0,0,0,.12)} .hero h1 small{display:block;font-size:.48em;color:var(--amarillo)}
.hero .lema{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--amarillo);text-transform:uppercase;margin-bottom:12px}
.hero p{font-size:1.2rem;max-width:40rem;margin:0 auto 26px}
.hero .acciones{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.hero .bajo{font-size:1rem;opacity:.95}
.seccion{padding:56px 0}
.seccion.alt{background:var(--blanco)}
.video-box{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.video-ph{aspect-ratio:16/9;border-radius:18px;background:linear-gradient(135deg,var(--azul) 0%,var(--azul-osc) 100%);display:grid;place-items:center;color:#fff;text-align:center;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:14px;position:relative}
.video-ph .play{width:76px;height:76px;border-radius:50%;background:#fff;display:grid;place-items:center;margin:0 auto 10px}
.video-ph .play svg{width:34px;height:34px;color:var(--azul-osc);margin-left:4px}
.audio{display:flex;align-items:center;gap:14px;background:var(--verde-claro);border-radius:14px;padding:14px 18px;margin-top:16px}
.audio .play{width:46px;height:46px;border-radius:50%;background:var(--verde);display:grid;place-items:center;flex:none} .audio .play svg{width:22px;height:22px;color:#fff;margin-left:3px}
.audio .barra{flex:1;height:6px;border-radius:3px;background:#CFE7C2;position:relative} .audio .barra::after{content:'';position:absolute;left:0;top:0;bottom:0;width:30%;border-radius:3px;background:var(--verde-osc)}
.niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:18px 0 22px}
.nivel{padding:22px;border-radius:var(--radio);background:var(--verde-claro)} .nivel h3{color:var(--verde-prof)}
.cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.cifra{background:var(--blanco);border-radius:var(--radio);padding:22px;text-align:center;border:1px solid var(--borde)}
.cifra b{display:block;font-family:var(--display);font-size:3rem;color:var(--verde-osc);line-height:1} .cifra span{font-weight:700;color:var(--gris-2)}
.metas .cifra b{color:var(--azul-osc)}
.aliados{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:14px}
.pub-footer{background:var(--verde-prof);color:#CFE7C2;padding:26px 0;font-size:14px}
.pub-footer .contenedor{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}

/* ---- Acceso (login, MFA) ---- */
.acceso{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.acceso-lado{background:var(--verde);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:48px;position:relative;overflow:hidden}
.acceso-lado h2{font-size:clamp(2.4rem,4vw,3.6rem);color:#fff} .acceso-lado p{max-width:28rem;font-size:1.1rem}
.acceso-lado .deco{position:absolute;right:-60px;bottom:-60px;width:320px;height:320px;border-radius:50%;background:rgba(255,255,255,.08)}
.acceso-form{display:flex;align-items:center;justify-content:center;padding:40px 24px}
.acceso-form .tarjeta{width:100%;max-width:440px;padding:34px}
.acceso-form h3{font-size:1.9rem;color:var(--verde-prof)}

/* ---- Selector de tipología ---- */
.tipos{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:26px 0}
.tipo-card{padding:26px;border-radius:var(--radio);background:#fff;border:2px solid var(--borde);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}
.tipo-card::before{content:'';position:absolute;left:0;top:0;right:0;height:10px;background:var(--c)}
.tipo-card.A{--c:var(--tipo-A)} .tipo-card.B{--c:var(--tipo-B)} .tipo-card.C{--c:var(--tipo-C)}
.tipo-card .num{font-family:var(--display);font-size:3.2rem;color:var(--c);line-height:1} .tipo-card h3{font-size:1.9rem}
.tipo-card p{flex:1;color:var(--gris-2)} .tipo-card .btn{align-self:flex-start;background:var(--c);color:#fff}
.tipo-card.actual{border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 25%,transparent)}

/* ---- Ruta (intro + pasos + roles) ---- */
.ruta-header{background:var(--c,var(--verde));color:#fff;padding:36px 0 80px;position:relative}
.ruta-header .contenedor{display:flex;flex-direction:column;gap:8px}
.ruta-header .volver{align-self:flex-start;color:#fff;font-weight:800;text-decoration:none;opacity:.9} .ruta-header .volver:hover{opacity:1;text-decoration:underline}
.ruta-header h1{font-size:clamp(2.6rem,6vw,4.6rem)} .ruta-header h1 small{display:block;font-size:.4em;letter-spacing:.08em;opacity:.9}
.ruta-header p{max-width:46rem;font-size:1.15rem}
.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:-56px auto 32px;position:relative;z-index:2}
.paso{background:#fff;border:2px solid var(--borde);border-radius:var(--radio);padding:18px 18px 16px;text-align:left;cursor:pointer;font:inherit;box-shadow:var(--sombra);display:flex;flex-direction:column;gap:6px;transition:border-color .15s}
.paso .n{width:44px;height:44px;transform:rotate(45deg);background:var(--negro);color:#fff;display:grid;place-items:center;border-radius:8px;margin:4px 0 10px 4px} .paso .n span{transform:rotate(-45deg);font-family:var(--display);font-size:1.4rem}
.paso h3{font-size:1.45rem;line-height:1} .paso .estado{font-size:12px;font-weight:800;color:var(--gris-3);text-transform:uppercase;letter-spacing:.06em}
.paso:hover{border-color:var(--c)} .paso.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff)} .paso.on .n{background:var(--c)}
.paso-detalle{background:#fff;border-radius:var(--radio);border:1px solid var(--borde);padding:32px;margin-bottom:28px;box-shadow:var(--sombra)}
.paso-detalle h2{color:var(--verde-prof)} .paso-detalle .cta{font-weight:800;margin:14px 0 10px}
.roles{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.rol{border:2px solid var(--borde);background:#fff;border-radius:999px;padding:10px 18px;font:800 15px var(--texto);cursor:pointer;color:var(--gris-2)}
.rol:hover{border-color:var(--c)} .rol.on{background:var(--c);border-color:var(--c);color:#fff}
.herr{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.herr-card{display:grid;grid-template-columns:72px 1fr;gap:16px;padding:20px;border-radius:var(--radio);border:1px solid var(--borde);background:var(--fondo);align-items:start}
.herr-card.unica{grid-column:1/-1;grid-template-columns:96px 1fr;padding:26px}
.fmt{width:72px;height:72px;border-radius:14px;display:grid;place-items:center;color:#fff;font:800 13px var(--texto);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:4px}
.herr-card.unica .fmt{width:96px;height:96px;font-size:15px} .fmt svg{width:30px;height:30px}
.fmt.pdf{background:#C62828} .fmt.docx{background:#1C7FB0} .fmt.video{background:#6A3FA0} .fmt.xlsx{background:#2E7D32} .fmt.jpg{background:#E08A1E}
.herr-card h3{font-size:1.5rem;margin-bottom:4px} .herr-card p{color:var(--gris-2);margin-bottom:12px}
.herr-card .meta{font-size:13px;color:var(--gris-3);margin-left:10px;font-weight:700}
.herr-card.hecha{border-color:var(--verde)} .hecha-chip{display:inline-flex;align-items:center;gap:6px;color:var(--ok);font-weight:800;font-size:14px;margin-left:10px}
.nav-ruta{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:10px 0 40px}
.final{background:var(--verde);color:#fff;border-radius:24px;padding:48px 32px;text-align:center;margin-bottom:48px}
.final h2{color:#fff;font-size:clamp(2.2rem,5vw,3.4rem)} .final p{max-width:40rem;margin:0 auto 22px;font-size:1.1rem}
.final .acciones{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
.final .cierre{font-family:var(--display);font-size:1.6rem;line-height:1.1;color:var(--amarillo);text-transform:uppercase}

/* ---- Pop-up ---- */
.modal-fondo{position:fixed;inset:0;background:rgba(20,40,25,.55);display:none;place-items:center;z-index:200;padding:20px}
.modal-fondo.on{display:grid}
.modal{background:#fff;border-radius:24px;padding:36px;max-width:460px;width:100%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal .ico{width:84px;height:84px;border-radius:50%;background:var(--verde-claro);display:grid;place-items:center;margin:0 auto 14px} .modal .ico svg{width:44px;height:44px;color:var(--verde-osc)}
.modal h3{font-size:2.2rem;color:var(--verde-prof)} .modal p{color:var(--gris-2)}

/* ================== PANEL ADMIN ================== */
body[data-layout=admin]{background:#F2F4F1}
.adm{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.adm-nav{background:var(--verde-prof);color:#D6EBCB;padding:22px 16px;display:flex;flex-direction:column;gap:6px}
.adm-nav .logo{margin:0 6px 22px}
.adm-nav a{color:#D6EBCB;text-decoration:none;padding:10px 12px;border-radius:10px;font-weight:700;display:flex;gap:10px;align-items:center}
.adm-nav a svg{width:18px;height:18px} .adm-nav a.on,.adm-nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.adm-nav .usuario{margin-top:auto;font-size:13px;opacity:.85;padding:10px 12px}
.adm-main{padding:28px 32px}
.adm-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.adm-top h1{font-size:2.4rem;color:var(--verde-prof)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}
.kpi{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:16px 18px} .kpi b{display:block;font-family:var(--display);font-size:2.4rem;line-height:1;color:var(--verde-osc)} .kpi span{font-size:13px;font-weight:700;color:var(--gris-2)}
.tabla{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--borde);border-radius:14px;overflow:hidden;font-size:15px}
.tabla th,.tabla td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--borde);vertical-align:middle}
.tabla th{background:#F7FAF5;font-size:12.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--gris-2)}
.tabla tr:last-child td{border-bottom:0} .tabla .acc{display:flex;gap:6px;flex-wrap:wrap}
.matriz{display:grid;grid-template-columns:160px repeat(4,1fr);gap:8px;background:#fff;border:1px solid var(--borde);border-radius:14px;padding:12px}
.matriz .cab{font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--gris-2);padding:8px}
.matriz .rolc{font-weight:800;padding:8px;display:flex;align-items:center}
.celda{border:1px dashed var(--borde);border-radius:10px;padding:8px 10px;font-size:13px;min-height:62px;display:flex;flex-direction:column;gap:4px;cursor:pointer}
.celda:hover{border-color:var(--verde)} .celda.ok{border-style:solid;border-color:var(--verde);background:var(--verde-claro)}
.celda b{font-size:13px;line-height:1.2} .celda small{color:var(--gris-3)}
.panel-form{background:#fff;border:1px solid var(--borde);border-radius:14px;padding:22px;max-width:640px}
.acciones{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ayuda-lateral{background:var(--azul-claro);border-radius:14px;padding:16px 18px;font-size:14px;color:#124A66}

/* ================== RESPONSIVE ================== */
@media (max-width:900px){
  .video-box,.acceso,.herr,.adm{grid-template-columns:1fr}
  .acceso-lado{padding:32px 24px;min-height:220px} .acceso-lado .deco{display:none}
  .tipos,.niveles{grid-template-columns:1fr} .pasos{grid-template-columns:1fr 1fr;margin-top:-40px}
  .kpis{grid-template-columns:1fr 1fr} .matriz{grid-template-columns:120px repeat(4,minmax(140px,1fr));overflow-x:auto}
  .adm-nav{flex-direction:row;flex-wrap:wrap;padding:12px} .adm-nav .logo{margin:0 10px 0 0} .adm-nav .usuario{margin:0;width:100%}
  .adm-main{padding:20px 16px}
}
@media (max-width:560px){
  body{font-size:16px} .contenedor{padding:0 16px}
  .hero .contenedor{padding:40px 16px 100px} .hero .acciones .btn{width:100%}
  .pasos{grid-template-columns:1fr;gap:10px} .paso{flex-direction:row;align-items:center;gap:14px;padding:12px 14px} .paso .n{margin:0 6px 0 2px;width:36px;height:36px} .paso .n span{font-size:1.1rem} .paso h3{font-size:1.2rem;margin:0} .paso .estado{display:none}
  .paso-detalle{padding:20px 16px} .herr-card,.herr-card.unica{grid-template-columns:56px 1fr;padding:16px} .fmt,.herr-card.unica .fmt{width:56px;height:56px;font-size:11px}
  .fila-2{grid-template-columns:1fr} .acceso-form .tarjeta{padding:24px}
  .pub-header .logos{display:none} .final{padding:32px 18px}
  .kpis{grid-template-columns:1fr 1fr} .tabla{font-size:14px} .tabla th:nth-child(n+4),.tabla td:nth-child(n+4){display:none}
}

/* ================== AÑADIDOS DE LA PLATAFORMA (no estaban en el prototipo) ================== */
.inline{display:inline} .enlace{background:none;border:0;padding:0;color:var(--azul-osc);font:inherit;cursor:pointer;text-decoration:underline}
.chip-claro{background:rgba(255,255,255,.2);color:#fff} .btn-claro{background:rgba(255,255,255,.18);color:#fff;border-color:transparent} .btn-claro:hover{background:rgba(255,255,255,.3)}
.pub-header .logos form{display:inline}
.pub-footer a{color:#fff}
.logo-margen{margin-bottom:28px}
.alerta.ok{background:var(--ok-f);color:#1B5E20;border-color:#BFE3C2}
.alerta b.normal,.alerta .normal{font-size:1rem;font-family:var(--texto)}
.alerta code{font-size:1.05rem;background:rgba(255,255,255,.7);padding:2px 8px;border-radius:6px}
.alerta.validacion:empty,.alerta.validacion:has(ul:empty){display:none} .alerta.validacion ul{margin:0;padding-left:18px}
.clave-temporal .clave{font-size:1.3rem;letter-spacing:.08em;font-weight:800}
.clave-temporal .ayuda{display:block;font-size:13px;margin-top:6px;font-weight:400}
.campo .error{display:block;color:var(--error);font-size:13px;margin-top:5px;font-weight:700}
.input:user-invalid{border-color:var(--error)}
label.check{display:flex;gap:10px;align-items:center;font-weight:700;cursor:pointer} label.check input{width:20px;height:20px}
.tarjeta.ancha{max-width:560px}
.pasos-lista{padding-left:20px;margin:0 0 18px}
.qr-bloque{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center;margin-bottom:18px}
.qr{border:2px solid var(--borde);border-radius:12px;background:#fff;padding:6px;width:180px;height:180px}
.clave-mfa{font-size:15px;letter-spacing:.1em;background:#F2F4F1;padding:4px 8px;border-radius:6px;display:inline-block;margin-top:4px}
.codigos{display:grid;grid-template-columns:1fr 1fr;gap:8px} .codigos code{background:#F2F4F1;border:1px solid var(--borde);border-radius:8px;padding:10px 12px;font-size:1.1rem;letter-spacing:.06em;text-align:center}
.etiqueta-tipo{font-size:.55em;font-family:var(--texto);text-transform:none;font-weight:700}
.ruta a.paso{text-decoration:none;color:inherit} .ruta a.rol{text-decoration:none}
.descargas{display:flex;flex-direction:column;gap:10px} .descarga{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.video-marco{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000} .video-marco iframe{width:100%;height:100%;border:0}
.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}
.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start} .dos-columnas .panel-form{max-width:none}
.archivos{list-style:none;padding:0;margin:0 0 18px} .archivos li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--borde)} .archivos .nombre{flex:1;min-width:0;word-break:break-word}
.chip-tipo.pdf{background:#C62828} .chip-tipo.docx{background:#1C7FB0} .chip-tipo.video{background:#6A3FA0} .chip-tipo.xlsx{background:#2E7D32} .chip-tipo.jpg{background:#E08A1E} .chip-tipo.pptx{background:#D04A02} .chip-tipo.zip{background:#55615A}
.subir{margin-top:8px;padding-top:14px;border-top:1px dashed var(--borde)}
input[type=file].input{padding:8px 10px}
a.celda{text-decoration:none;color:inherit} .celda.oculta{opacity:.55}
.adm-nav .enlace{color:#fff}
@media (max-width:900px){ .dos-columnas{grid-template-columns:1fr} .qr-bloque{grid-template-columns:1fr;text-align:center} .qr{margin:0 auto} }
@media print{ .acceso-lado,.acciones,.btn{display:none!important} .acceso{display:block} .codigos{grid-template-columns:1fr 1fr 1fr} }
