:root{--rojo:#a3111b;--rojo-vivo:#d81624;--rojo-oscuro:#6b0d13;--negro:#171412;--gris-texto:#3d3d3d;--gris-claro:#f4f4f4;--borde:#e0e0e0;--blanco:#fff;--sombra:0 8px 24px #0000001f;color:var(--gris-texto);background:var(--gris-claro);font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0}h1,h2,h3{color:var(--negro);font-weight:700}a{color:var(--rojo)}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-contenido{flex-direction:column;flex:1;width:100%;display:flex}.page-container{width:100%;max-width:1080px;margin:0 auto;padding:40px 20px 64px}.page-banner{background:linear-gradient(135deg, var(--rojo-vivo) 0%, var(--rojo) 55%, var(--negro) 100%);border-bottom:5px solid var(--negro);text-align:center;width:100%;padding:48px 20px}.page-banner__inner{max-width:780px;margin:0 auto}.page-banner h1{color:var(--blanco);letter-spacing:.3px;margin:0 0 8px;font-size:34px}.page-banner p{color:#ffffffe6;margin:0;font-size:17px}.navbar{z-index:10;background:var(--negro);color:var(--blanco);border-bottom:3px solid var(--rojo);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 10px #00000040}.navbar__marca{letter-spacing:.5px;font-size:18px;font-weight:700}.navbar__links{flex-wrap:wrap;gap:20px;display:flex}.navbar__links a{color:var(--blanco);opacity:.85;padding-bottom:4px;font-size:15px;font-weight:600;text-decoration:none}.navbar__links a:hover,.navbar__links a.active{opacity:1;border-bottom:3px solid var(--rojo-vivo)}.footer{text-align:center;background:var(--negro);color:var(--blanco);padding:20px;font-size:14px}.boton{border-radius:6px;margin-bottom:16px;padding:12px 26px;font-weight:700;text-decoration:none;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-block}.boton--primario{background:var(--rojo);color:var(--blanco)}.boton--primario:hover{background:var(--rojo-oscuro)}.boton--secundario{color:var(--rojo);border:2px solid var(--rojo);background:0 0}.boton--secundario:hover{background:var(--rojo);color:var(--blanco)}.boton--hero{background:var(--blanco);color:var(--rojo);box-shadow:var(--sombra);padding:14px 34px;font-size:18px}.boton--hero:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000047}.home-hero{background:linear-gradient(135deg, var(--rojo-vivo) 0%, var(--rojo) 55%, var(--negro) 100%);border-bottom:5px solid var(--negro);text-align:center;width:100%;padding:88px 20px}.home-hero__inner{max-width:720px;margin:0 auto}.home-hero__logo{background:var(--blanco);width:130px;height:130px;color:var(--rojo);box-shadow:var(--sombra);border-radius:50%;justify-content:center;align-items:center;margin-bottom:28px;font-size:20px;font-weight:700;display:inline-flex}.home-hero h1{color:var(--blanco);letter-spacing:.3px;margin:0 0 12px;font-size:46px}.home-hero__eslogan{color:#ffffffeb;margin:0 0 32px;font-size:19px}.home-accesos{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.home-acceso{text-align:center;background:var(--blanco);border-top:4px solid var(--rojo);box-shadow:var(--sombra);color:var(--gris-texto);border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:28px 20px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex}.home-acceso:hover{transform:translateY(-4px);box-shadow:0 14px 30px #0000002e}.home-acceso__icono{font-size:36px}.home-acceso__titulo{color:var(--negro);font-size:17px;font-weight:700}.home-acceso__texto{opacity:.8;font-size:14px}.organigrama__nivel{flex-wrap:wrap;justify-content:center;gap:20px;margin-bottom:24px;display:flex}.candidato-card{background:var(--blanco);border-top:4px solid var(--rojo);width:170px;box-shadow:var(--sombra);color:var(--gris-texto);border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex}.candidato-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #0000002e}.candidato-card__cargo{text-align:center;color:var(--negro);font-weight:700}.organigrama__nivel--general .candidato-card{border-top-color:var(--negro);width:190px}.foto-placeholder{background:var(--gris-claro);border:2px solid var(--rojo);color:var(--rojo);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}.foto-placeholder--sm{width:64px;height:64px;font-size:18px}.foto-placeholder--md{width:88px;height:88px;font-size:22px}.foto-placeholder--lg{width:140px;height:140px;font-size:32px}.perfil-personas{flex-wrap:wrap;gap:32px;margin:20px 0;display:flex}.perfil-persona{flex-direction:column;align-items:center;gap:8px;display:flex}.perfil-bio{max-width:720px;font-size:17px;line-height:1.6}.perfil-pilares{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;max-width:720px;padding:0;list-style:none;display:grid}.perfil-pilares li{background:var(--blanco);border-left:4px solid var(--rojo);box-shadow:var(--sombra);color:var(--negro);border-radius:6px;padding:14px 18px;font-weight:600}.comite-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.comite-tarjeta{background:var(--blanco);border-top:4px solid var(--rojo);box-shadow:var(--sombra);border-radius:8px;padding:24px 20px}.documentos-lista{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.documento-tarjeta{background:var(--blanco);border-top:4px solid var(--rojo);box-shadow:var(--sombra);border-radius:8px;padding:24px 20px}.estado-carga{padding:24px 0;font-style:italic}.estado-carga--error{color:var(--rojo)}
