/* Grupo Bruniquel · Gestión — páginas de acceso, cuenta, usuarios y Mi espacio */
@font-face{font-family:"Saira";font-weight:500;font-display:swap;src:url(/marca/fuentes/saira-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Saira";font-weight:600;font-display:swap;src:url(/marca/fuentes/saira-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;font-display:swap;src:url(/marca/fuentes/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;font-display:swap;src:url(/marca/fuentes/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:600;font-display:swap;src:url(/marca/fuentes/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(/marca/fuentes/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
:root{--noche:#060d1f;--marino:#0f1f45;--marino-2:#16295a;--marino-3:#1f3672;--dorado:#c9a24a;--dorado-2:#a67c1b;--hielo:#e8ecf5;--niebla:#9aa6c2;--papel:#f4f6fa;--tinta:#0d1530;--acero:#4f5b78;--linea:#d7dce8;
  --display:"Saira",system-ui,sans-serif;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.55 var(--sans);color:var(--tinta);background:var(--papel);-webkit-font-smoothing:antialiased;min-height:100vh}
h1,h2,h3{font-family:var(--display);font-weight:600;color:var(--marino);line-height:1.15;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(1.7rem,3.2vw,2.3rem)}h2{font-size:1.3rem}h3{font-size:1.05rem;margin-top:1.4em}
a{color:var(--marino-3)}a:hover{color:var(--dorado-2)}
:focus-visible{outline:2px solid var(--dorado);outline-offset:2px}
code{font-family:var(--mono);font-size:.92em}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nota{color:var(--acero);font-size:.88rem;margin:.4em 0 0}
.sello{font:500 .74rem/1 var(--mono);letter-spacing:.12em;color:var(--dorado);margin:0 0 .9em;text-transform:none}

/* ---------- barra ---------- */
.barra{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:10px clamp(14px,3vw,28px);background:var(--noche);color:var(--hielo);border-bottom:1px solid rgba(201,162,74,.28)}
.barra-marca{display:flex;align-items:center;gap:10px;text-decoration:none}
.barra-marca strong{display:block;font:600 15px/1.1 var(--display);color:#fff}
.barra-marca small{display:block;font:500 11px/1.2 var(--mono);letter-spacing:.08em;color:var(--dorado)}
.barra-nav{display:flex;gap:4px;flex-wrap:wrap}
.barra-nav a{color:var(--hielo);text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:8px}
.barra-nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.barra-nav a[aria-current="page"]{color:#fff;box-shadow:inset 0 -2px 0 var(--dorado);border-radius:0}
.barra-usuario{display:flex;align-items:center;gap:10px;margin-left:auto}
.barra-usuario strong{display:block;font-size:13px;color:#fff}.barra-usuario small{display:block;font-size:11px;color:var(--niebla)}
.barra-usuario form{margin:0}
.barra .boton-texto{color:var(--hielo);border:1px solid rgba(232,236,245,.28);border-radius:8px;padding:6px 12px}
.barra .boton-texto:hover{border-color:var(--dorado);color:var(--dorado)}
@media (max-width:720px){.barra{gap:8px 12px}.barra-nav{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap}.barra-usuario > span:not(.avatar){display:none}}

/* ---------- avatar ---------- */
.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--marino-3)}
.avatar-iniciales{display:inline-grid;place-items:center;font:600 13px/1 var(--sans);color:var(--noche);background:var(--dorado)}
.avatar-grande{width:96px;height:96px;font-size:30px;border:3px solid #fff;box-shadow:0 0 0 1px var(--linea),0 6px 18px rgba(13,21,48,.12)}

/* ---------- botones y formularios ---------- */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:8px;border:1px solid var(--marino);background:var(--marino);color:#fff;font:600 15px/1.2 var(--sans);cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.boton:hover{background:var(--marino-3);border-color:var(--marino-3);color:#fff}
.boton-secundario{background:#fff;color:var(--marino);border-color:var(--linea)}
.boton-secundario:hover{background:var(--hielo);color:var(--marino);border-color:var(--niebla)}
.boton-texto{background:none;border:0;padding:6px 0;color:var(--marino-3);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.formulario{display:grid;gap:14px;margin-top:14px}
.formulario label{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--marino)}
.formulario input,.formulario select,.entrada-form input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #c5ccdb;border-radius:8px;background:#fff;color:var(--tinta);font:16px/1.3 var(--sans);transition:border-color .15s,box-shadow .15s}
.formulario input:focus,.formulario select:focus,.entrada-form input:focus{outline:none;border-color:var(--dorado-2);box-shadow:0 0 0 3px rgba(201,162,74,.22)}
.formulario .casilla{display:flex;align-items:center;gap:10px;font-weight:400}
.formulario .casilla input{width:20px;min-height:20px;height:20px}
.formulario.compacto{gap:10px;margin-top:10px}
.rejilla-form{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));align-items:end}
.aviso{padding:12px 14px;border-radius:10px;margin:0 0 16px;font-size:15px}
.aviso-error{background:#fdecea;color:#7d1a14;border:1px solid #f3c2bc}
.aviso-ok{background:#ecf6ef;color:#1b5a33;border:1px solid #bfe0c9}

/* ---------- página de entrada ---------- */
.pagina-entrada{background:var(--noche)}
.entrada{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}
.entrada-marca{position:relative;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,6vw,88px);color:var(--hielo);overflow:hidden;
  background:radial-gradient(110% 120% at 0% 0%,var(--marino-3) 0%,var(--marino) 42%,var(--noche) 100%)}
.entrada-marca::before,.entrada-marca::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(201,162,74,.18);pointer-events:none}
.entrada-marca::before{width:520px;height:520px;right:-180px;bottom:-200px}
.entrada-marca::after{width:340px;height:340px;right:-90px;bottom:-110px;border-color:rgba(201,162,74,.12)}
.entrada-marca img{width:132px;height:132px;margin-bottom:28px}
.entrada-marca h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem);max-width:12ch;margin-bottom:.4em}
.entrada-marca p{max-width:40ch;color:var(--niebla);font-size:1.05rem;margin:0}
.entrada-marca .sello{color:var(--dorado)}
.entrada-form{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:clamp(28px,6vw,80px);background:var(--papel)}
.entrada-form > *{width:100%;max-width:400px}
.entrada-form h2{font-size:1.7rem;margin:0 0 4px}
.entrada-form label{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--marino)}
.entrada-form .boton{min-height:50px;font-size:16px}
@media (max-width:820px){
  .entrada{grid-template-columns:1fr;min-height:auto}
  .entrada-marca{padding:36px 24px 30px;flex-direction:row;align-items:center;gap:16px}
  .entrada-marca img{width:64px;height:64px;margin:0}
  .entrada-marca h1{font-size:1.5rem;margin:0}
  .entrada-marca p,.entrada-marca .sello{display:none}
  .entrada-form{padding:28px 22px 48px;min-height:calc(100vh - 130px);justify-content:flex-start}
}
.pagina-clave main{min-height:100vh;display:grid;place-items:center;padding:24px}
.pagina-clave .hoja{background:#fff;border-radius:16px;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.35)}

/* ---------- hojas ---------- */
.hoja{max-width:1180px;margin:0 auto;padding:clamp(22px,4vw,44px) clamp(16px,3vw,28px) 64px}
.hoja-angosta{max-width:520px}
.encabezado p{color:var(--acero);max-width:70ch}
.tarjeta{background:#fff;border:1px solid var(--linea);border-radius:14px;padding:clamp(18px,3vw,28px);margin-top:22px;box-shadow:0 1px 2px rgba(13,21,48,.04)}
.tarjeta h2{margin-bottom:.2em}
.rejilla-cuenta{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px}
.rejilla-cuenta .tarjeta{margin-top:0}
.perfil-foto{display:flex;align-items:center;gap:20px;margin:16px 0 6px}
.perfil-foto form{margin:6px 0 0}
.datos{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:12px 0;font-size:15px}
.datos dt{color:var(--acero)}.datos dd{margin:0;overflow-wrap:anywhere}
.datos-linea{grid-template-columns:repeat(3,max-content 1fr);font-size:14px}
@media (max-width:560px){.datos-linea{grid-template-columns:max-content 1fr}}

/* ---------- tablas ---------- */
.tabla-desplazable{overflow-x:auto;border:1px solid var(--linea);border-radius:14px;background:#fff;margin-top:18px}
.tabla{width:100%;border-collapse:collapse;font-size:14px}
.tabla th{background:#f3f5fa;color:var(--acero);font-weight:600;font-size:12px;letter-spacing:.03em;text-align:left;padding:11px 14px;white-space:nowrap}
.tabla td{padding:12px 14px;border-top:1px solid #e6e9f1;vertical-align:top}
.tabla tr.inactiva td{color:var(--niebla)}
.tabla-compacta td{padding:8px 14px;font-size:13px}
.persona{display:flex;align-items:center;gap:10px}
.persona strong{display:block}.persona small{display:block;color:var(--acero);font-size:12px}
.estado{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:#eef0f5;color:var(--acero);white-space:nowrap}
.estado-ok{background:#e6f4ea;color:#1b5a33}.estado-pendiente{background:#fbf2dc;color:#7a5a10}
.acciones summary{cursor:pointer;color:var(--marino-3);font-weight:600;font-size:14px}
.acciones[open]{min-width:280px}
.acciones form{margin-top:10px}
.credencial{background:#fbf6e8;border:1px solid #e0c98c;border-radius:14px;padding:20px 22px;margin:18px 0}
.credencial .clave{font-size:1.15rem;background:#fff;padding:4px 10px;border-radius:6px;border:1px dashed var(--dorado-2);user-select:all}
.roles{margin-top:18px}.roles summary{cursor:pointer;font-weight:600;color:var(--marino)}
.roles dt{font-weight:600;margin-top:10px}.roles dd{margin:2px 0 0;color:var(--acero)}
.lista-simple{padding-left:18px;font-size:14px}

/* ---------- Mi espacio ---------- */
.saludo{display:flex;align-items:center;gap:20px;margin-bottom:22px}
.saludo h1{margin:0}.saludo p{margin:4px 0 0;color:var(--acero)}.saludo .sello{margin:0 0 6px}
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 28px}
.cifras div{background:var(--marino);color:var(--hielo);border-radius:14px;padding:16px 18px;position:relative;overflow:hidden}
.cifras div::after{content:"";position:absolute;left:18px;top:0;width:28px;height:3px;background:var(--dorado)}
.cifras strong{display:block;font:600 2rem/1 var(--display);color:#fff}
.cifras span{font-size:13px;color:var(--niebla)}
.orden{background:#fff;border:1px solid var(--linea);border-left:4px solid var(--niebla);border-radius:14px;padding:18px 20px;margin:0 0 16px}
.orden-en_curso{border-left-color:var(--dorado)}
.orden-programada{border-left-color:var(--marino-3)}
.orden-cerrada,.orden-cancelada{opacity:.75}
.orden header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.orden h3{margin:.15em 0 .1em;font-size:1.2rem}
.orden-numero{font:500 12px var(--mono);color:var(--dorado-2);letter-spacing:.06em}
.estado-en_curso{background:#fbf2dc;color:#7a5a10}.estado-programada{background:#e8ecf5;color:var(--marino-3)}.estado-por_validar{background:#e6f4ea;color:#1b5a33}
.actividades{list-style:none;padding:0;margin:12px 0;display:grid;gap:6px}
.actividades form{margin:0}
.check{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;text-align:left;padding:10px 12px;border:1px solid var(--linea);border-radius:10px;background:#fff;font:15px/1.35 var(--sans);color:var(--tinta);cursor:pointer}
.check span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:7px;border:2px solid var(--niebla);font-weight:700;color:#fff}
.check.hecha{background:#f6f8fc;color:var(--acero)}
.check.hecha span{background:var(--marino);border-color:var(--marino)}
.check:disabled{cursor:default;opacity:.7}
.check:not(:disabled):hover{border-color:var(--dorado)}
.bloque{margin-top:10px;border-top:1px solid #eceff5;padding-top:10px}
.bloque summary{cursor:pointer;font-weight:600;color:var(--marino);min-height:36px;display:flex;align-items:center}
.evidencias{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.evidencias img{width:84px;height:84px;object-fit:cover;border-radius:10px;border:1px solid var(--linea)}
.evidencias .archivo{display:inline-block;padding:8px 12px;border:1px solid var(--linea);border-radius:10px;font-size:13px}
.vacio{padding:28px;text-align:center;background:#fff;border:1px dashed var(--linea);border-radius:14px;color:var(--acero)}
@media (max-width:560px){.cifras{grid-template-columns:1fr 1fr 1fr;gap:8px}.cifras div{padding:12px}.cifras strong{font-size:1.5rem}.orden{padding:16px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- Correo ---------- */
.encabezado-fila{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.texto-urgente{color:#a3261f}
.filtros{display:grid;grid-template-columns:repeat(3,minmax(140px,1fr)) minmax(200px,2fr) auto;gap:10px;align-items:end;margin:18px 0}
.filtros label{display:grid;gap:4px;font-size:13px;font-weight:500;color:var(--marino)}
.filtros select,.filtros input{min-height:42px;padding:8px 10px;border:1px solid #c5ccdb;border-radius:8px;background:#fff;font:15px var(--sans)}
@media (max-width:820px){.filtros{grid-template-columns:1fr 1fr}.filtro-texto{grid-column:1/-1}}
.bandeja{list-style:none;margin:0;padding:0;border:1px solid var(--linea);border-radius:14px;background:#fff;overflow:hidden}
.correo-fila + .correo-fila{border-top:1px solid #e6e9f1}
.correo-fila a{display:grid;grid-template-columns:86px minmax(150px,1.1fr) minmax(200px,2.6fr) minmax(120px,1fr);gap:14px;align-items:start;padding:14px 16px;color:inherit;text-decoration:none}
.correo-fila a:hover{background:#fafbfd}
.correo-fila small{display:block;color:var(--acero);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.correo-fila strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.correo-respondido strong,.correo-archivado strong{font-weight:500;color:var(--acero)}
.correo-meta{text-align:right}
@media (max-width:760px){.correo-fila a{grid-template-columns:auto 1fr;gap:6px 10px}.correo-asunto,.correo-meta{grid-column:1/-1}.correo-meta{text-align:left}}
.nivel{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;text-align:center}
.nivel-urgente{background:#c0392b;color:#fff}.nivel-alta{background:#fbf2dc;color:#7a5a10}.nivel-normal{background:#e8ecf5;color:var(--marino-3)}.nivel-baja{background:#f1f2f5;color:var(--acero)}
.volver{display:inline-block;margin-bottom:12px;font-weight:600;text-decoration:none}
.correo-cabecera h1{margin:.3em 0 .2em;font-size:clamp(1.4rem,2.6vw,1.9rem)}
.rejilla-correo{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}
@media (max-width:900px){.rejilla-correo{grid-template-columns:1fr}.correo-lateral{order:-1}}
.correo-cuerpo pre,.respuesta-enviada pre{white-space:pre-wrap;overflow-wrap:anywhere;font:15px/1.6 var(--sans);margin:0 0 14px;max-height:none}
.respuesta-enviada{border-left:3px solid var(--dorado);padding:6px 0 6px 14px;margin:14px 0;background:#fbfaf5}
.correo-lateral{position:sticky;top:80px}
.correo-lateral .boton{width:100%;margin-top:8px}
.botones-estado{display:grid;gap:6px;margin:12px 0}
.fila-sara{display:flex;gap:8px;flex-wrap:wrap}.fila-sara input{flex:1;min-width:200px}
textarea{width:100%;padding:12px;border:1px solid #c5ccdb;border-radius:8px;font:15px/1.5 var(--sans);resize:vertical}
textarea:focus{outline:none;border-color:var(--dorado-2);box-shadow:0 0 0 3px rgba(201,162,74,.22)}
