
/* CENESEM Campus 3.4.2 · Integración total de interfaz */
:root{
  --i342-navy:#0b1738;
  --i342-navy2:#102755;
  --i342-green:#2f7f75;
  --i342-green2:#3b9187;
  --i342-gold:#e7c458;
  --i342-bg:#f3f6fa;
  --i342-text:#16233e;
  --i342-muted:#718096;
  --i342-line:#dde5ee;
  --i342-side:286px;
}

/* Enlaces 3.4 dentro de la navegación SPA principal */
.i342-main-group{display:block}
.i342-main-group .nav-label{margin-top:14px}
.i342-main-group .nav-link[href*="operacion34"],
.i342-main-group .nav-link[href*="documentos34"],
.i342-main-group .nav-link[href*="gestion.php"]{position:relative}
.i342-main-group .nav-link .i342-badge{margin-left:auto;font-size:9px;line-height:1;padding:4px 6px;border-radius:999px;background:rgba(231,196,88,.16);color:#f4d66f;font-weight:900;letter-spacing:.06em}

/* Shell único para Gestión, Operación y Documentos */
body.i342-module{
  margin:0!important;
  padding-left:var(--i342-side)!important;
  background:linear-gradient(180deg,#f7f9fc 0%,#edf3f8 100%)!important;
  color:var(--i342-text)!important;
  min-height:100vh;
}
.i342-sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--i342-side);z-index:180;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--i342-navy) 0%,#0b2149 100%);
  color:#fff;border-right:1px solid rgba(255,255,255,.06);
  box-shadow:12px 0 34px rgba(10,24,55,.08);
}
.i342-brand{height:104px;display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none;color:#fff}
.i342-brand img{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important;object-fit:contain;border-radius:50%}
.i342-brand strong{display:block;font-size:20px;letter-spacing:.12em;line-height:1.05}.i342-brand small{display:block;color:#8ea5ce;font-size:9px;letter-spacing:.18em;margin-top:5px;font-weight:800}
.i342-nav{padding:18px 10px 110px;overflow:auto;flex:1;scrollbar-width:thin;scrollbar-color:#4d638c transparent}
.i342-label{padding:13px 16px 7px;color:#8aa2cb;font-size:10px;letter-spacing:.18em;font-weight:900;text-transform:uppercase}
.i342-link{display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 13px;margin:2px 0;border-radius:11px;color:#dce6f6;text-decoration:none;font-weight:700;font-size:15px;border:1px solid transparent;transition:.16s ease}
.i342-link svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;flex:0 0 20px}
.i342-link:hover{background:rgba(255,255,255,.07);color:#fff}.i342-link.active{background:rgba(255,255,255,.10);box-shadow:inset 3px 0 0 var(--i342-gold);color:#fff;border-color:rgba(255,255,255,.03)}
.i342-sidebar-foot{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(180deg,rgba(11,23,56,.15),rgba(7,18,44,.97));border-top:1px solid rgba(255,255,255,.08)}
.i342-person{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.i342-avatar{width:38px;height:38px;border-radius:12px;background:var(--i342-gold);color:#102042;display:grid;place-items:center;font-weight:900}.i342-person span{min-width:0}.i342-person b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.i342-person small{display:block;color:#91a8cd;font-size:10px;margin-top:2px}
.i342-overlay{display:none}

body.i342-module>.gbar{position:sticky!important;top:0!important;z-index:150!important;min-height:88px!important;padding:0 34px!important;background:rgba(255,255,255,.97)!important;border-bottom:1px solid var(--i342-line)!important;box-shadow:0 7px 24px rgba(16,32,64,.04)!important;display:flex!important;align-items:center!important;gap:14px!important}
body.i342-module>.gbar>*{margin:0}
body.i342-module>.gbar .gbrand,body.i342-module>.gbar>.gbtn,body.i342-module>.gbar>span:not(.i342-top-user){display:none!important}
.i342-top-title{display:flex;align-items:center;gap:8px;color:#66758a;font-size:14px}.i342-top-title b{color:#14233f;font-weight:900}.i342-top-spacer{flex:1}.i342-top-home,.i342-top-user{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#14233f;font-weight:800}.i342-top-home{padding:9px 12px;border:1px solid #dce5ed;border-radius:12px;background:#fff}.i342-top-user{padding:7px 0}.i342-top-user::before{content:"DJ";display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e7f4f1;color:#1c655e;font-size:12px;font-weight:900}
.i342-mobile-btn{display:none;border:0;background:#f1f5f9;color:#172541;width:42px;height:42px;border-radius:12px;font-size:20px;cursor:pointer}

body.i342-module>.op34-wrap,body.i342-module>.glayout{margin-left:0!important}
body.i342-module>.op34-wrap{max-width:1560px!important;padding:34px clamp(24px,3vw,48px) 70px!important}
body.i342-module>.glayout{display:block!important;min-height:auto!important}
body.i342-module #gmain{max-width:1560px!important;padding:32px clamp(24px,3vw,48px) 70px!important}

/* Gestión integral: el submenú deja de competir con la barra lateral principal */
body.i342-module #gnav{
  position:sticky!important;top:88px!important;z-index:120!important;height:auto!important;
  display:flex!important;flex-wrap:wrap!important;gap:8px!important;padding:12px clamp(24px,3vw,48px)!important;
  background:rgba(245,248,252,.96)!important;border-bottom:1px solid var(--i342-line)!important;
  overflow:auto!important;color:var(--i342-text)!important;
}
body.i342-module #gnav::before{content:"GESTIÓN:"!important;color:#738199!important;font-size:10px!important;letter-spacing:.16em!important;font-weight:900!important;padding:10px 5px!important;display:flex!important;align-items:center!important}
body.i342-module #gnav a{min-height:38px!important;padding:8px 12px!important;border:1px solid #d9e3ec!important;border-radius:11px!important;background:#fff!important;color:#30405b!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;box-shadow:none!important}
body.i342-module #gnav a:hover{border-color:#a9c6c1!important;background:#f7fcfb!important}body.i342-module #gnav a.active{background:var(--i342-green)!important;border-color:var(--i342-green)!important;color:#fff!important;box-shadow:none!important}

/* Ajustes visuales de módulos 3.4 dentro del shell */
body.i342-module .op34-hero{margin-top:0!important}
body.i342-module .op34-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;padding:8px;background:#eaf0f5;border-radius:14px;width:max-content;max-width:100%}
body.i342-module .op34-tabs a{padding:9px 13px;border-radius:10px;text-decoration:none;color:#53647d;font-weight:800}body.i342-module .op34-tabs a.active{background:#fff;color:#172541;box-shadow:0 4px 13px rgba(20,40,70,.07)}
body.i342-module .op34-card{border-radius:20px!important}

/* Main campus: secciones externas parecen parte natural del sistema */
.sidebar .i342-main-group .nav-link{font-size:inherit}
.bottom-note .i342-version{font-weight:800;color:#2f7f75}

@media(max-width:1020px){
  body.i342-module{padding-left:0!important}
  .i342-sidebar{transform:translateX(-104%);transition:transform .22s ease;box-shadow:20px 0 50px rgba(6,19,46,.25)}
  body.i342-menu-open .i342-sidebar{transform:translateX(0)}
  .i342-overlay{display:block;position:fixed;inset:0;background:rgba(5,16,39,.52);z-index:170;opacity:0;pointer-events:none;transition:.2s}
  body.i342-menu-open .i342-overlay{opacity:1;pointer-events:auto}
  .i342-mobile-btn{display:inline-grid;place-items:center}
  body.i342-module>.gbar{padding:0 16px!important;min-height:72px!important}
  body.i342-module #gnav{top:72px!important;padding:10px 16px!important}
  body.i342-module>.op34-wrap,body.i342-module #gmain{padding:22px 16px 55px!important}
}
@media(max-width:620px){
  .i342-top-title span{display:none}.i342-top-user span{display:none}.i342-top-home{display:none}.i342-sidebar{width:min(88vw,310px)}
  body.i342-module #gnav{flex-wrap:nowrap!important}
}
@media(prefers-reduced-motion:reduce){.i342-sidebar,.i342-overlay{transition:none!important}}
