/* NOXA Learning v1.3.2 — Centro de aplicaciones con iconos grandes + bento blanco glass.
   Paleta original de NOXA (tomada de styles.css):
   navy #12283F · rojo #B80717 · amarillo #E7B526 · dorado #FFF2BE · azul #365BD9 · verde azulado #18A995
   Se carga después de styles.css. Para volver al estilo base, quita la línea de noxa-v13.css en index.html. */

:root{
  --nx-navy:#12283F;
  --nx-navy-2:#173B59;
  --nx-navy-dark:#0C1A2B;
  --nx-red:#B80717;
  --nx-red-soft:#CC361E;
  --nx-red-tint:#FBE9EB;
  --nx-yellow:#E7B526;
  --nx-gold:#FFF2BE;
  --nx-blue:#365BD9;
  --nx-teal:#18A995;
  --nx-ink:#172334;
  --nx-muted:#5E6E80;
  --nx-white:#FFFFFF;
  --nx-line:rgba(18,40,63,.10);
  --nx-glass:rgba(255,255,255,.74);
  --nx-glass-strong:rgba(255,255,255,.90);
  --nx-radius:22px;
  --nx-shadow:0 12px 32px rgba(17,38,64,.07),0 2px 6px rgba(17,38,64,.03);
  --nx-shadow-hover:0 20px 44px rgba(17,38,64,.14),0 3px 8px rgba(17,38,64,.07);
  --nx-ease:cubic-bezier(.2,.8,.2,1);
  --nx-tangerine:#F28500;
  --bg:#F8FAFD;
}

/* ---------- Fondo y tipografía ---------- */
html,body{background:var(--bg)!important;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Inter,system-ui,sans-serif;
  color:var(--nx-ink);
  background:
    radial-gradient(900px 600px at 100% -10%,rgba(184,7,23,.05),transparent 60%),
    radial-gradient(800px 600px at -10% 110%,rgba(18,40,63,.06),transparent 60%),
    var(--bg)!important;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{letter-spacing:-.02em;color:var(--nx-ink);}

/* ---------- Estructura: sin barra lateral fija ---------- */
.app,.app.sidebar-collapsed{display:block!important;grid-template-columns:none!important;min-height:100dvh;}
main{min-width:0;}

/* ---------- Marca: solo la N ---------- */
.noxa-mark{
  position:relative;width:56px;height:56px;flex:0 0 56px;border-radius:17px;
  background:var(--nx-navy);color:var(--nx-tangerine);
  display:grid;place-items:center;font-size:34px;font-weight:900;line-height:1;
  box-shadow:0 10px 22px rgba(18,40,63,.22);
}
.noxa-mark::after{content:"";position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background:var(--nx-red);box-shadow:0 0 0 3px #fff;}

/* ---------- Centro de aplicaciones (overlay blanco glass) ---------- */
#sidebar{
  position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
  width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh;
  transform:none!important;z-index:1200;display:none!important;flex-direction:column;align-items:center;
  background:rgba(255,255,255,.66)!important;
  -webkit-backdrop-filter:blur(34px) saturate(1.6);backdrop-filter:blur(34px) saturate(1.6);
  padding:30px 5vw 28px!important;overflow-y:auto!important;overflow-x:hidden;
  box-shadow:none!important;border:0!important;animation:nxFadeIn .22s var(--nx-ease);
}
.app.launcher-open #sidebar{display:flex!important;}
#sidebar > *{width:100%;max-width:1160px;flex:none;}
#sidebar .brand{display:none!important;}
.launcher-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;}
.launcher-brand{display:flex;align-items:center;gap:16px;min-width:0;}
.launcher-title{margin:0;font-size:32px;font-weight:850;color:var(--nx-navy);letter-spacing:-.03em;}
.launcher-sub{margin:4px 0 0;color:var(--nx-muted);font-size:15px;}
.launcher-close{
  width:48px;height:48px;flex:0 0 48px;border-radius:16px;border:1px solid var(--nx-line);
  background:var(--nx-white);color:var(--nx-navy);font-size:26px;line-height:1;cursor:pointer;
  box-shadow:var(--nx-shadow);transition:transform .18s var(--nx-ease);
}
.launcher-close:hover{transform:scale(1.05);}
.sidebar-search{
  display:flex!important;align-items:center;gap:10px;margin:0 0 26px!important;padding:14px 18px!important;
  background:var(--nx-white)!important;border:1px solid var(--nx-line)!important;border-radius:18px!important;
  box-shadow:var(--nx-shadow);
}
.sidebar-search input{background:transparent!important;color:var(--nx-ink)!important;font-size:16px;border:0!important;outline:0;width:100%;}
.sidebar-search span{color:var(--nx-muted)!important;}

#nav{display:block!important;overflow:visible!important;flex:none!important;min-height:0!important;height:auto!important;padding:0!important;width:100%;}
.nav-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin:0 0 30px;}
.nav-section-label{grid-column:1/-1;font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--nx-muted);text-transform:uppercase;margin:0 2px 2px;}

/* Cada aplicación: icono grande + nombre + descripción */
.navbtn{
  display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:14px;
  text-align:left;width:100%;min-height:236px;padding:22px!important;margin:0!important;border-radius:26px!important;
  background:var(--nx-glass-strong)!important;border:1px solid var(--nx-line)!important;
  box-shadow:var(--nx-shadow);color:var(--nx-ink)!important;cursor:pointer;
  transition:transform .22s var(--nx-ease),box-shadow .22s var(--nx-ease),border-color .2s;
}
.navbtn:hover{transform:translateY(-4px);box-shadow:var(--nx-shadow-hover);border-color:rgba(184,7,23,.30)!important;}
.navbtn:active{transform:scale(.98);}
.navbtn.active{border:2px solid var(--nx-navy)!important;}
.nav-icon{
  width:88px;height:88px;flex:0 0 88px;border-radius:28px;display:grid;place-items:center;
  background:linear-gradient(145deg,var(--nx-navy),var(--nx-navy-2));color:#fff;
  box-shadow:0 12px 26px rgba(18,40,63,.24),inset 0 1px 0 rgba(255,255,255,.18);font-size:0;
}
.nav-icon svg{width:42px;height:42px;stroke:#fff;stroke-width:2;}
.nav-caption{display:flex;flex-direction:column;gap:6px;min-width:0;}
.nav-caption b{font-size:19px;font-weight:800;color:var(--nx-ink);line-height:1.2;}
.nav-description{font-size:14.5px;color:var(--nx-muted);line-height:1.4;}
/* Color por categoría, igual que la paleta original */
.nav-group:nth-of-type(2) .nav-icon{background:linear-gradient(145deg,var(--nx-blue),#4B70E8);box-shadow:0 12px 26px rgba(54,91,217,.28);}
.nav-group:nth-of-type(3) .nav-icon{background:linear-gradient(145deg,var(--nx-red),var(--nx-red-soft));box-shadow:0 12px 26px rgba(184,7,23,.28);}
.nav-group:nth-of-type(4) .nav-icon{background:linear-gradient(145deg,var(--nx-yellow),#F3CB55);color:var(--nx-navy);box-shadow:0 12px 26px rgba(231,181,38,.36);}
.nav-group:nth-of-type(4) .nav-icon svg{stroke:var(--nx-navy);}

.sidebar-foot{
  position:static!important;transform:none!important;width:100%;max-width:1160px;display:flex!important;flex-wrap:wrap;gap:10px;align-items:center;
  margin:8px 0 0!important;padding:18px 0 0!important;border-top:1px solid var(--nx-line)!important;color:var(--nx-muted)!important;
}
.sidebar-foot > *{flex:0 0 auto;}
.noxa-side-session{flex:1 1 220px!important;min-width:200px;display:flex;align-items:center;gap:10px;}
.noxa-side-avatar{position:relative;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--nx-navy);color:var(--nx-tangerine);font-weight:900;font-size:20px;}
.noxa-side-avatar:after{content:none!important;}
.noxa-side-action{
  width:auto!important;min-height:46px;padding:0 18px;border-radius:15px;border:1px solid var(--nx-line);
  background:var(--nx-white)!important;color:var(--nx-navy)!important;font-weight:700;cursor:pointer;box-shadow:var(--nx-shadow);
  display:inline-flex;align-items:center;gap:8px;
}
.noxa-side-action b{font-size:14px;font-weight:700;color:inherit!important;}
.noxa-side-action span{font-size:16px;color:inherit!important;}
.noxa-side-action.exit{color:var(--nx-red)!important;background:var(--nx-red-tint)!important;border-color:rgba(184,7,23,.18)!important;}
#sidebar .sidebar-foot #aiStatus{color:var(--nx-muted)!important;}
#sidebar .sidebar-foot #userLabel{color:var(--nx-ink)!important;}

.launcher-scrim{display:none!important;}
@keyframes nxFadeIn{from{opacity:0}to{opacity:1}}

/* ---------- Barra superior blanco glass ---------- */
.topbar,.glass-topbar{
  background:var(--nx-glass)!important;border:1px solid var(--nx-line)!important;border-radius:var(--nx-radius)!important;
  box-shadow:var(--nx-shadow)!important;-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);
  padding:16px 18px!important;margin:16px 16px 0!important;position:sticky;top:12px;z-index:50;
}
.topbar h1{font-size:26px;font-weight:800;color:var(--nx-navy);}
.topbar p{color:var(--nx-muted);}
.noxa-launcher-btn{
  display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:15px;border:0;
  background:var(--nx-navy);color:#fff;font-weight:700;font-size:15px;cursor:pointer;
  box-shadow:0 8px 20px rgba(18,40,63,.25);transition:transform .18s var(--nx-ease),box-shadow .2s;
}
.noxa-launcher-btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(18,40,63,.30);}
.noxa-launcher-btn:active{transform:scale(.97);}
.noxa-launcher-dots{width:16px;height:16px;background:radial-gradient(circle,#fff 2.2px,transparent 2.6px) 0 0/5.33px 5.33px;}
.noxa-launcher-btn:focus-visible,.navbtn:focus-visible,.launcher-close:focus-visible{outline:3px solid rgba(184,7,23,.4);outline-offset:3px;}
.mobile-nav-toggle{min-width:44px;min-height:44px;}

/* ---------- Banner de inicio: navy de la portada original ---------- */
.noxa-os-hero{
  background:
    radial-gradient(620px 320px at 100% 0%,rgba(231,181,38,.20),transparent 62%),
    linear-gradient(135deg,var(--nx-navy) 0%,var(--nx-navy-2) 100%)!important;
  border:1px solid rgba(18,40,63,.25)!important;color:#fff!important;
  box-shadow:0 22px 50px rgba(18,40,63,.25)!important;border-radius:var(--nx-radius)!important;
  padding:34px 36px!important;min-height:250px;
}
.noxa-os-hero h1,.noxa-os-hero h2{color:#fff!important;font-size:clamp(34px,4.6vw,56px)!important;font-weight:900!important;letter-spacing:-.035em!important;line-height:1.02!important;}
.noxa-os-hero p{color:rgba(255,255,255,.84)!important;font-size:16px!important;max-width:620px;}
.noxa-os-hero .noxa-overline,.noxa-os-hero .eyebrow{color:var(--nx-gold)!important;}
.noxa-os-hero .noxa-overline span{color:var(--nx-red)!important;}
.noxa-os-hero .btn.primary{background:var(--nx-blue)!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(54,91,217,.35)!important;font-weight:800;}
.noxa-os-hero .btn.secondary{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;font-weight:700;}
/* Logo N dentro de cristal navy */
.noxa-art-orb{background:radial-gradient(circle at 32% 24%,#FFF2BE,#E7B526 42%,rgba(184,7,23,.45) 80%,transparent 90%)!important;opacity:.8!important;}
.noxa-art-glass{background:linear-gradient(142deg,rgba(255,255,255,.20),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.35)!important;}
.noxa-art-glass span,.noxa-art-glass small{color:rgba(255,255,255,.85)!important;}
.noxa-art-glass b{color:var(--nx-tangerine)!important;text-shadow:0 6px 22px rgba(242,133,0,.45);}
.noxa-art-small{background:#fff!important;color:var(--nx-navy)!important;}
.noxa-art-small .noxa-icon{color:var(--nx-red)!important;}

/* ---------- Widgets del inicio (bento) ---------- */
.noxa-os-tiles{gap:16px!important;}
.noxa-tile{
  min-height:236px!important;padding:26px!important;border-radius:26px!important;
  border-radius:26px;background:var(--nx-glass-strong)!important;border:1px solid var(--nx-line)!important;
  box-shadow:var(--nx-shadow)!important;color:var(--nx-ink)!important;
  grid-template-rows:auto auto 1fr!important;row-gap:14px!important;
  transition:transform .22s var(--nx-ease),box-shadow .22s var(--nx-ease);
}
.noxa-tile:hover{transform:translateY(-3px);box-shadow:var(--nx-shadow-hover)!important;}
.noxa-tile-icon{
  width:80px!important;height:80px!important;border-radius:24px!important;
  background:#EEF2F8!important;color:var(--nx-navy)!important;box-shadow:inset 0 0 0 1px rgba(18,40,63,.06);
}
.noxa-tile-icon svg{width:40px!important;height:40px!important;stroke-width:2.1!important;}
.noxa-tile-copy{margin-top:4px;}
.noxa-tile-copy b{font-size:25px!important;font-weight:850!important;line-height:1.15;}
.noxa-tile-copy small{font-size:15px!important;line-height:1.4;color:var(--nx-muted);}
.noxa-tile-navy{background:linear-gradient(150deg,var(--nx-navy),var(--nx-navy-2))!important;color:#fff!important;border-color:transparent!important;}
.noxa-tile-navy b{color:#fff!important;}
.noxa-tile-navy small{color:rgba(255,255,255,.84)!important;opacity:1;}
.noxa-tile-navy .noxa-tile-icon{background:var(--nx-yellow)!important;color:var(--nx-navy)!important;box-shadow:0 12px 26px rgba(231,181,38,.35)!important;}
.noxa-tile-navy .noxa-tile-arrow{background:rgba(255,255,255,.16)!important;color:#fff!important;}
.noxa-tile-yellow{background:linear-gradient(160deg,#fff,var(--nx-red-tint))!important;}
.noxa-tile-yellow .noxa-tile-icon{background:var(--nx-red)!important;color:#fff!important;box-shadow:0 12px 26px rgba(184,7,23,.28)!important;}
.noxa-tile-ink .noxa-tile-icon{background:var(--nx-navy)!important;color:#fff!important;box-shadow:0 12px 26px rgba(18,40,63,.28)!important;}
.noxa-tile-badge{font-size:11px!important;padding:6px 11px!important;background:var(--nx-gold)!important;color:#7A5A00!important;}
.noxa-tile-arrow{width:40px!important;height:40px!important;bottom:20px!important;right:20px!important;}
.noxa-tile-arrow svg{width:18px;height:18px;}
.noxa-tile-progress{bottom:28px!important;left:26px!important;right:80px!important;}

/* ---------- Tarjetas generales ---------- */
.card,.glass-card,.stat-card,.noxa-stat{
  background:var(--nx-glass-strong)!important;border:1px solid var(--nx-line)!important;
  border-radius:var(--nx-radius)!important;box-shadow:var(--nx-shadow)!important;
}

/* ---------- Barra inferior: solo en celular ---------- */
.noxa-dock{
  background:var(--nx-glass-strong)!important;border:1px solid var(--nx-line)!important;border-radius:22px!important;
  box-shadow:0 14px 34px rgba(17,38,64,.16)!important;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);
}
@media (min-width:900px){ .noxa-dock{display:none!important;} }

/* ---------- Celular ---------- */
@media (max-width:760px){
  .topbar,.glass-topbar{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 10px 0!important;padding:12px!important;top:8px;}
  .topbar-title{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:10px;}
  .topbar h1{font-size:21px;}
  .mobile-nav-toggle{display:none!important;}
  .top-actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;width:auto;position:static!important;transform:none!important;}
  .top-search,.noxa-header-home{display:none!important;}
  #noxaTenantSwitcher{order:20;flex:1 1 100%;width:100%;}
  .noxa-launcher-btn{position:static!important;transform:none!important;height:44px;width:auto!important;padding:0 14px!important;white-space:nowrap;}
  .noxa-launcher-btn span:last-child{display:inline!important;white-space:nowrap;}
  .noxa-account-btn .noxa-profile-copy{display:none;}
  .noxa-account-wrap,.noxa-notify-wrap{position:relative;}
  #sidebar{padding:20px 12px 110px!important;}
  .launcher-title{font-size:24px;}
  .noxa-mark{width:48px;height:48px;flex-basis:48px;font-size:29px;border-radius:15px;}
  .nav-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .navbtn{min-height:210px;padding:16px!important;border-radius:22px!important;gap:10px;}
  .nav-icon{width:66px;height:66px;flex-basis:66px;border-radius:21px;}
  .nav-icon svg{width:32px;height:32px;}
  .nav-caption b{font-size:16px;}
  .nav-description{font-size:13px;}
  .noxa-os-hero{padding:24px 20px!important;}
  .noxa-tile{min-height:200px!important;}
  .noxa-tile-icon{width:68px!important;height:68px!important;border-radius:20px!important;}
  .noxa-tile-icon svg{width:34px!important;height:34px!important;}
  .noxa-tile-copy b{font-size:21px!important;}
}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}

/* ===================== Tablero (Mi tablero) ===================== */
.noxa-board{display:grid;gap:16px;margin:0 0 18px;}
.board-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.board-kpi{display:flex;align-items:center;gap:16px;padding:22px;border-radius:24px;color:#fff;box-shadow:0 14px 30px rgba(17,38,64,.14);min-height:124px;}
.board-kpi-navy{background:linear-gradient(145deg,var(--nx-navy),var(--nx-navy-2));}
.board-kpi-red{background:linear-gradient(145deg,var(--nx-red),var(--nx-red-soft));}
.board-kpi-yellow{background:linear-gradient(145deg,var(--nx-yellow),#F3CB55);color:var(--nx-navy);}
.board-kpi-blue{background:linear-gradient(145deg,var(--nx-blue),#4B70E8);}
.board-kpi-icon{width:52px;height:52px;flex:0 0 52px;border-radius:17px;background:rgba(255,255,255,.18);display:grid;place-items:center;}
.board-kpi-yellow .board-kpi-icon{background:rgba(18,40,63,.10);}
.board-kpi-icon svg{width:26px;height:26px;stroke:currentColor;}
.board-kpi small{display:block;font-size:13px;font-weight:700;opacity:.9;}
.board-kpi strong{display:block;font-size:34px;font-weight:900;letter-spacing:-.03em;line-height:1.1;}
.board-kpi em{font-style:normal;font-size:12.5px;opacity:.85;}
.board-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;}
.board-card{background:var(--nx-glass-strong);border:1px solid var(--nx-line);border-radius:24px;box-shadow:var(--nx-shadow);padding:22px;min-width:0;}
.board-card-head h3{margin:4px 0 0;font-size:20px;font-weight:850;color:var(--nx-navy);}
.board-card-head .eyebrow{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--nx-red);}
.board-card-donut .noxa-ring-wrap{margin-top:12px;}
.board-bars{display:flex;align-items:flex-end;gap:10px;height:230px;margin-top:18px;padding-top:12px;}
.board-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;background:none;border:0;cursor:pointer;padding:0;}
.board-bar-value{font-size:12px;font-weight:800;color:var(--nx-navy);}
.board-bar-track{flex:1;width:100%;max-width:56px;display:flex;align-items:flex-end;border-radius:14px;background:#EEF2F7;overflow:hidden;}
.board-bar-track i{display:block;width:100%;border-radius:14px;background:linear-gradient(180deg,var(--nx-blue),var(--nx-navy-2));transition:height .6s var(--nx-ease);}
.board-bar:nth-child(3n) .board-bar-track i{background:linear-gradient(180deg,var(--nx-red-soft),var(--nx-red));}
.board-bar:nth-child(3n+1) .board-bar-track i{background:linear-gradient(180deg,var(--nx-yellow),#E7A400);}
.board-bar-label{font-size:12px;font-weight:800;color:var(--nx-muted);}
.board-bar:hover .board-bar-track{box-shadow:0 0 0 2px rgba(54,91,217,.25);}
.board-table-wrap{overflow-x:auto;margin-top:14px;}
.board-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;}
.board-table th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--nx-muted);padding:10px 12px;border-bottom:1px solid var(--nx-line);}
.board-table td{padding:14px 12px;border-bottom:1px solid var(--nx-line);color:var(--nx-ink);vertical-align:middle;}
.board-table tr:last-child td{border-bottom:0;}
.board-table tbody tr:hover td{background:rgba(54,91,217,.04);}
.board-status{display:inline-block;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;}
.board-status-completed{background:#E3F6EF;color:#0E7A62;}
.board-status-pending{background:#FFF5D6;color:#8A6400;}
.board-status-notstarted{background:var(--nx-red-tint);color:var(--nx-red);}
.board-open{min-height:38px;padding:0 16px;border-radius:12px;border:1px solid var(--nx-line);background:var(--nx-white);color:var(--nx-navy);font-weight:700;cursor:pointer;box-shadow:var(--nx-shadow);}
.board-open:hover{border-color:rgba(54,91,217,.4);}
@media (max-width:1100px){
  .board-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .board-row{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .board-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .board-kpi{flex-direction:column;align-items:flex-start;padding:16px;min-height:0;gap:10px;}
  .board-kpi strong{font-size:26px;}
  .board-kpi-icon{width:44px;height:44px;flex-basis:44px;}
  .board-bars{height:190px;gap:6px;}
  .board-card{padding:16px;border-radius:20px;}
}

/* ---- Tablero v2: KPI centrados de color, barras con cuadrícula y pastel con leyenda ---- */
.board-kpi{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;min-height:168px;padding:22px 18px;border-radius:24px;}
.board-kpi-icon{width:44px;height:44px;flex-basis:44px;border-radius:15px;margin-bottom:2px;}
.board-kpi-icon svg{width:22px;height:22px;}
.board-kpi small{font-size:14px;font-weight:700;}
.board-kpi strong{font-size:52px;font-weight:900;letter-spacing:-.04em;line-height:1;margin:2px 0;}
.board-kpi em{font-size:12.5px;}
.board-kpi-teal{background:linear-gradient(145deg,#18A995,#11876F);color:#fff;}
.board-kpi-blue{background:linear-gradient(145deg,#365BD9,#2A4BB8);color:#fff;}
.board-kpi-yellow{background:linear-gradient(145deg,#E7B526,#F0C94A);color:var(--nx-navy);}
.board-kpi-red{background:linear-gradient(145deg,#B80717,#8F0512);color:#fff;}
.board-kpi-teal .board-kpi-icon,.board-kpi-blue .board-kpi-icon,.board-kpi-red .board-kpi-icon{background:rgba(255,255,255,.2);}
.board-kpi-yellow .board-kpi-icon{background:rgba(18,40,63,.1);}
.board-bars{position:relative;background:repeating-linear-gradient(to top,transparent 0,transparent calc(20% - 1px),#E9EEF5 calc(20% - 1px),#E9EEF5 20%);border-radius:14px;padding:12px 6px 0;}
.board-bar-track{background:#EEF4F3;}
.board-bar-track i{background:linear-gradient(180deg,#18A995,#11876F)!important;}
.board-bar:nth-child(n) .board-bar-track i{background:linear-gradient(180deg,#18A995,#11876F)!important;}
.board-bar-value{color:var(--nx-navy);}
.board-pie{display:flex;align-items:center;gap:22px;margin-top:14px;flex-wrap:wrap;}
.board-pie svg{width:200px;height:200px;flex:0 0 200px;}
.pie-legend{display:grid;gap:12px;flex:1;min-width:160px;}
.pie-legend-row{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:10px;font-size:14px;color:var(--nx-ink);}
.pie-legend-row i{width:14px;height:14px;border-radius:5px;display:block;}
.pie-legend-row b{font-weight:800;color:var(--nx-navy);}
@media (max-width:760px){
  .board-kpi{min-height:136px;padding:16px 12px;}
  .board-kpi strong{font-size:38px;}
  .board-pie svg{width:170px;height:170px;flex-basis:170px;}
}

/* ---- Tablero en celular: cada fila de la tabla es una tarjeta ---- */
@media (max-width:760px){
  .board-table-wrap{overflow:visible;margin-top:8px;}
  .board-table thead{display:none;}
  .board-table,.board-table tbody{display:block;width:100%;}
  .board-table tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:14px;margin-bottom:10px;border:1px solid var(--nx-line);border-radius:18px;background:#fff;}
  .board-table td{display:block;border:0;padding:0;min-width:0;}
  .board-table td:first-child{flex:1 1 100%;}
  .board-table td:nth-child(2){font-size:13px;color:var(--nx-muted);}
  .board-table td:last-child{margin-left:auto;}
  .board-table tbody tr:hover td{background:none;}
  .board-pie{flex-direction:column;align-items:center;gap:12px;}
  .board-pie svg{width:150px;height:150px;flex-basis:150px;}
  .pie-legend{width:100%;min-width:0;}
}

/* ===== v1.3.5: N en navy / rojo cálido y fondo blanco glass ===== */
:root{--nx-n-warm:#FF4E45;--nx-n-navy:#12283F;}
body{
  background:
    radial-gradient(640px 420px at 88% 6%,rgba(255,78,69,.10),transparent 62%),
    radial-gradient(720px 480px at 6% 96%,rgba(18,40,63,.08),transparent 60%),
    linear-gradient(160deg,#FFFFFF 0%,#F4F7FB 55%,#EEF2F7 100%)!important;
  background-attachment:fixed;
}
html{background:#F4F7FB!important;}
/* Marca: N navy sobre cristal blanco, con punto rojo cálido */
.noxa-mark{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.95);
  color:var(--nx-n-navy)!important;
  box-shadow:0 12px 26px rgba(18,40,63,.14),inset 0 1px 0 #fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);
}
.noxa-mark::after{background:var(--nx-n-warm)!important;box-shadow:0 0 0 3px #fff!important;}
/* N sobre navy (banner y avatares oscuros): rojo cálido */
.noxa-art-glass b{color:var(--nx-n-warm)!important;text-shadow:0 6px 22px rgba(255,78,69,.40)!important;}
.noxa-side-avatar,.noxa-profile-avatar{color:var(--nx-n-warm)!important;}
/* Superficies de cristal blanco */
.topbar,.glass-topbar,.noxa-tile,.navbtn,.board-card,.board-kpi-ghost{background:rgba(255,255,255,.78)!important;-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);}
.card,.glass-card,.stat-card,.noxa-stat{background:rgba(255,255,255,.8)!important;-webkit-backdrop-filter:blur(20px) saturate(1.3);backdrop-filter:blur(20px) saturate(1.3);}

/* v1.3.6 — Centro de aplicaciones: iconos en cuadro de color (sobrescribe reglas heredadas de 22px) */
#sidebar .navbtn .nav-icon{
  display:grid!important;place-items:center!important;
  width:88px!important;height:88px!important;min-width:88px!important;flex:0 0 88px!important;
  border-radius:28px!important;font-size:0!important;color:#fff!important;
  background:linear-gradient(145deg,var(--nx-navy),var(--nx-navy-2))!important;
  box-shadow:0 12px 26px rgba(18,40,63,.24),inset 0 1px 0 rgba(255,255,255,.18)!important;
}
#sidebar .navbtn .nav-icon svg{width:42px!important;height:42px!important;stroke:#fff!important;stroke-width:2!important;}
#sidebar .nav-group:nth-of-type(2) .navbtn .nav-icon{background:linear-gradient(145deg,var(--nx-blue),#4B70E8)!important;box-shadow:0 12px 26px rgba(54,91,217,.28)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn .nav-icon{background:linear-gradient(145deg,var(--nx-red),var(--nx-red-soft))!important;box-shadow:0 12px 26px rgba(184,7,23,.28)!important;}
#sidebar .nav-group:nth-of-type(4) .navbtn .nav-icon{background:linear-gradient(145deg,var(--nx-yellow),#F3CB55)!important;color:var(--nx-navy)!important;box-shadow:0 12px 26px rgba(231,181,38,.36)!important;}
#sidebar .nav-group:nth-of-type(4) .navbtn .nav-icon svg{stroke:var(--nx-navy)!important;}
#sidebar .navbtn .nav-caption{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0;}
#sidebar .navbtn .nav-caption b{font-size:19px!important;font-weight:800!important;color:var(--nx-ink)!important;line-height:1.2!important;}
#sidebar .navbtn .nav-description{font-size:14.5px!important;color:var(--nx-muted)!important;line-height:1.4!important;}
@media (max-width:760px){
  #sidebar .navbtn .nav-icon{width:66px!important;height:66px!important;min-width:66px!important;flex-basis:66px!important;border-radius:21px!important;}
  #sidebar .navbtn .nav-icon svg{width:32px!important;height:32px!important;}
  #sidebar .navbtn .nav-description{font-size:13px!important;}
}

/* v1.3.7 — Centro de aplicaciones (grupo Auditoría y práctica) con colores mezclados */
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="processaudit"] .nav-icon{background:linear-gradient(145deg,#FF4E45,#FF7A6F)!important;box-shadow:0 12px 26px rgba(255,78,69,.30)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="rules6"] .nav-icon{background:linear-gradient(145deg,#E7B526,#F3CB55)!important;color:var(--nx-navy)!important;box-shadow:0 12px 26px rgba(231,181,38,.36)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="rules6"] .nav-icon svg{stroke:var(--nx-navy)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="auditlab"] .nav-icon{background:linear-gradient(145deg,#365BD9,#4B70E8)!important;box-shadow:0 12px 26px rgba(54,91,217,.28)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="coach"] .nav-icon{background:linear-gradient(145deg,#18A995,#3CC2AE)!important;box-shadow:0 12px 26px rgba(24,169,149,.30)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="sources"] .nav-icon{background:linear-gradient(145deg,#7C5CD6,#9A80E6)!important;box-shadow:0 12px 26px rgba(124,92,214,.30)!important;}
#sidebar .nav-group:nth-of-type(3) .navbtn[data-v="evaluation"] .nav-icon{background:linear-gradient(145deg,#F28500,#F5A03A)!important;box-shadow:0 12px 26px rgba(242,133,0,.30)!important;}

/* Eslogan en #FF4E45 */
.noxa-os-hero h2{color:#E7B526!important;}

/* Botón Continuar aprendiendo en azul */
.noxa-hero-actions .btn.primary,.noxa-welcome-actions .btn.primary{background:var(--nx-blue)!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(54,91,217,.35)!important;}

/* Botones de Auditorías por procesos en #FF4E45 */
.audit-process-footer b{display:inline-flex;align-items:center;gap:6px;background:#FF4E45!important;color:#fff!important;padding:8px 14px;border-radius:999px;box-shadow:0 8px 18px rgba(255,78,69,.28);}
/* Botón Auditorías por procesos del inicio en #FF4E45 */
.noxa-hero-actions .btn:not(.primary){background:#FF4E45!important;color:#fff!important;border:0!important;box-shadow:0 10px 24px rgba(255,78,69,.30)!important;font-weight:800;}
/* v1.3.8 — Centro de aplicaciones en celular: tarjetas dentro de su columna */
#sidebar .nav-group .navbtn{min-width:0!important;width:100%!important;max-width:100%!important;white-space:normal!important;box-sizing:border-box;}
#sidebar .navbtn .nav-caption,#sidebar .navbtn .nav-caption b,#sidebar .navbtn .nav-description{white-space:normal!important;min-width:0;overflow-wrap:anywhere;}

/* v1.4.0 — Fase 2A: cambio obligatorio de contraseña temporal */
.forced-pass-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(18,40,63,.45);backdrop-filter:blur(8px);}
.forced-pass-card{width:min(420px,100%);display:grid;gap:14px;padding:26px;border-radius:24px;background:#fff;box-shadow:0 24px 60px rgba(18,40,63,.25);}
.forced-pass-card h2{margin:0;font-size:22px;color:var(--nx-navy);}
.forced-pass-card p{margin:0;color:var(--nx-muted);font-size:14.5px;line-height:1.5;}
.forced-pass-card label{display:grid;gap:6px;font-size:14px;font-weight:700;color:var(--nx-ink);}
.forced-pass-card input{padding:12px 14px;border:1px solid var(--nx-line);border-radius:14px;font-size:15px;}
.forced-pass-msg{color:var(--nx-red)!important;min-height:18px;}

/* v1.6 · Adjuntos de auditoría: filas con ojo, descargar, volver a cargar y eliminar; ventana de vista previa */
.attachment-entry{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px 10px;border:1px solid #E3E8EF;border-radius:12px;background:#fff;margin:4px 0;box-sizing:border-box;max-width:100%}
.attachment-name{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 180px;font-size:13px}
.attachment-name a{color:var(--nx-navy);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-decoration:none}
.attachment-name a:hover{text-decoration:underline}
.attachment-name small{color:var(--nx-muted);white-space:nowrap}
.attachment-actions{display:flex;gap:6px;flex-shrink:0}
.ev-btn{width:32px;height:32px;border-radius:10px;border:1px solid #D9E0EA;background:#fff;color:var(--nx-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;flex-shrink:0}
.ev-btn:hover{border-color:var(--nx-blue);color:var(--nx-blue)}
.ev-btn.ev-danger:hover{border-color:var(--nx-red);color:var(--nx-red)}
.ev-open{border:0;background:var(--nx-blue);color:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.ev-modal{position:fixed;inset:0;z-index:10000;background:rgba(10,22,38,.62);display:none;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.ev-modal.open{display:flex}
.ev-modal-card{background:#fff;border-radius:18px;width:min(980px,100%);height:min(86vh,900px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.ev-modal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #E3E8EF;background:#F7F9FC}
.ev-modal-head b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--nx-navy)}
.ev-modal-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}
.ev-modal-img{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:14px;background:repeating-conic-gradient(#F1F4F8 0% 25%,#fff 0% 50%) 0 0/18px 18px}
.ev-modal-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 2px 10px rgba(18,40,63,.14);background:#fff}
.ev-modal-pdf{flex:1;display:flex;flex-direction:column;min-height:0}
.ev-modal-pdf iframe{flex:1;width:100%;border:0;background:#fff}
.ev-modal-pdf .ev-pdf-mobile{display:none;padding:18px;text-align:center}
.ev-modal-pdf .ev-pdf-mobile p{margin:0 0 10px}
@media (max-width:680px){
  .ev-modal{padding:8px}
  .ev-modal-card{height:92vh}
  .ev-modal-head{flex-wrap:wrap}
  .ev-modal-pdf iframe{display:none}
  .ev-modal-pdf .ev-pdf-mobile{display:block}
  .attachment-row{padding:8px}
}

/* v1.7 · Imagen a tamaño real para revisar detalle (print-screen, fotos) */
.ev-open.ev-ghost{background:#fff;color:var(--nx-navy);border:1px solid #D9E0EA}
.ev-open.ev-ghost:hover{border-color:var(--nx-blue);color:var(--nx-blue)}
.ev-modal-img img{image-rendering:auto}
.ev-modal-img.ev-real{align-items:flex-start;justify-content:flex-start;padding:0}
.ev-modal-img.ev-real img{max-width:none;max-height:none;width:auto;height:auto;margin:auto;border-radius:0;box-shadow:none}

/* v1.8: la regla general de .noxa-tile (fondo blanco) anulaba el fondo azul de la tarjeta Módulos; esta regla más específica lo restaura. */
.noxa-tile.noxa-tile-navy{background:linear-gradient(150deg,var(--nx-navy),var(--nx-navy-2))!important;}
.noxa-tile.noxa-tile-navy .noxa-tile-copy small{color:rgba(255,255,255,.9)!important;}

/* v1.9: la regla general .sidebar-foot button (texto blanco) dejaba vacío el botón 'Volver al inicio' sobre fondo blanco. */
.sidebar-foot button.noxa-side-action{color:var(--nx-navy)!important;}

/* v1.10: tabla de requisitos en móvil como tarjetas; el botón Estudiar queda visible sin deslizar. */
@media (max-width: 760px){
  #libTable .table-wrap{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;}
  #libTable table.table{min-width:0!important;width:100%!important;display:block!important;}
  #libTable table.table thead{display:none!important;}
  #libTable table.table tbody{display:flex!important;flex-direction:column!important;gap:12px!important;}
  #libTable table.table tr{display:grid!important;grid-template-columns:1fr auto!important;gap:8px 12px!important;padding:14px!important;background:#fff!important;border:1px solid #E5E9EF!important;border-radius:16px!important;box-shadow:0 4px 14px rgba(26,49,87,.05)!important;}
  #libTable table.table td{display:block!important;border:0!important;padding:0!important;min-width:0!important;}
  #libTable table.table td:nth-child(1){grid-column:1!important;grid-row:1!important;align-self:center;}
  #libTable table.table td:nth-child(6){grid-column:2!important;grid-row:1!important;justify-self:end;}
  #libTable table.table td:nth-child(6) .btn{min-height:44px;padding:10px 18px!important;white-space:nowrap;}
  #libTable table.table td:nth-child(2){grid-column:1 / -1!important;grid-row:2!important;font-weight:700;line-height:1.35;}
  #libTable table.table td:nth-child(3){grid-column:1!important;grid-row:3!important;}
  #libTable table.table td:nth-child(4){grid-column:2!important;grid-row:3!important;justify-self:end;}
  #libTable table.table td:nth-child(5){grid-column:1 / -1!important;grid-row:4!important;}
}

/* v1.11: progreso de auditoría, preguntas completas en verde y vista compacta. */
.audit-progress{position:sticky;top:112px;z-index:30;background:#fff;border:1px solid #DDE5EC;border-radius:16px;padding:12px 14px;margin:12px 0;box-shadow:0 6px 18px rgba(26,49,87,.08);}
.audit-progress-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.audit-progress-bar{height:10px;border-radius:99px;background:#E9EEF3;overflow:hidden;margin:10px 0;}
.audit-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#17864D,#2FB873);border-radius:99px;transition:width .3s;}
.audit-map{display:flex;flex-wrap:wrap;gap:6px;}
.audit-map button{min-width:36px;height:36px;border-radius:10px;border:1px solid #D5DDE5;background:#F3F6F8;color:#36516A;font-weight:800;cursor:pointer;padding:0 8px;}
.audit-map button.done{background:#17864D;border-color:#17864D;color:#fff;}
.audit-item{scroll-margin-top:310px;}
.audit-item.done{border-color:#17864D!important;background:#F1FAF4!important;}
.audit-item.done > summary .audit-no{background:#17864D!important;color:#fff!important;}
.audit-done-tag{display:none;align-items:center;gap:4px;background:#17864D;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap;}
.audit-item.done .audit-done-tag{display:inline-flex;}
.audit-workspace.audit-compact .audit-guidance-grid{display:none!important;}
@media (max-width:760px){.audit-progress{top:132px;margin:8px 0;padding:10px 12px;}.audit-progress>small{display:none;}.audit-map{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}.audit-map button{min-width:34px;height:34px;flex:0 0 auto;}.audit-item{scroll-margin-top:300px;}}
/* v1.12: barra superior compacta y sólida en móvil; se oculta al bajar y reaparece al subir. */
@media (max-width:760px){
  header.topbar.glass-topbar{position:sticky!important;top:0!important;z-index:400!important;background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 2px 12px rgba(18,40,63,.10)!important;border:0!important;border-radius:0 0 18px 18px!important;padding:8px 10px!important;margin:0!important;display:grid!important;grid-template-columns:147px minmax(0,1fr) 36px 72px!important;gap:6px!important;align-items:center!important;transition:transform .25s ease!important;}
  body.hdr-hidden header.topbar.glass-topbar{transform:translateY(-110%)!important;}
  header.topbar .topbar-title{grid-column:1 / 3!important;grid-row:1!important;min-width:0!important;}
  header.topbar .top-actions{display:contents!important;}
  header.topbar .top-search,header.topbar .noxa-header-home{display:none!important;}
  #noxaNotifyWrap{grid-column:3!important;grid-row:1!important;}
  #noxaAccountWrap{grid-column:4!important;grid-row:1!important;}
  #noxaLauncherBtn{grid-column:1!important;grid-row:2!important;min-height:40px!important;padding:0 10px!important;width:147px!important;}
  #noxaTenantSwitcher{grid-column:2 / 5!important;grid-row:2!important;min-width:0!important;}
  #noxaTenantSwitcher label{display:none!important;}
  #noxaTenantActive{min-height:40px!important;height:40px!important;width:100%!important;}
  #pageSub,.noxa-tenant-caption{display:none!important;}
  .topbar-title h1#pageTitle{font-size:18px!important;line-height:1.2!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .noxa-account-menu,.noxa-notify-panel{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  .audit-progress{top:104px!important;}
  body.hdr-hidden .audit-progress{top:8px!important;}
}

/* v1.15: flecha para volver al inicio y cerrar sesión visible en la barra superior (móvil). */
.noxa-back-btn,.noxa-quick-logout{display:none;}
@media (max-width:760px){
  header.topbar.glass-topbar{grid-template-columns:36px minmax(0,1fr) 36px 36px 72px!important;}
  header.topbar .topbar-title{grid-column:2!important;grid-row:1!important;}
  .noxa-back-btn,.noxa-quick-logout{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid #DDE5EC;background:#fff;color:#12283F;font-size:18px;font-weight:800;cursor:pointer;padding:0;}
  .noxa-back-btn{grid-column:1!important;grid-row:1!important;}
  .noxa-quick-logout{grid-column:4!important;grid-row:1!important;color:#A60E22;background:#FFF7F8;border-color:#F4E1E4;}
  #noxaNotifyWrap{grid-column:3!important;}
  #noxaAccountWrap{grid-column:5!important;grid-row:1!important;}
  #noxaLauncherBtn{grid-column:1 / 3!important;width:auto!important;}
  #noxaTenantSwitcher{grid-column:3 / 6!important;}
}

/* v1.16: en móvil el botón Aplicaciones muestra solo el icono y el selector de cliente ocupa el resto de la fila. */
@media (max-width:760px){
  #noxaLauncherBtn{grid-column:1 / 2!important;padding:0!important;justify-content:center!important;width:36px!important;min-width:36px!important;}
  #noxaLauncherBtn > span:not(.noxa-launcher-dots){display:none!important;}
  #noxaTenantSwitcher{grid-column:2 / 6!important;}
  #noxaTenantActive{font-size:13px!important;}
}

/* v1.17: requisito completado = tarjeta verde con brillo, letras negras; botón Estudiar y etiqueta azul marino. */
.lib-done-tag{display:inline-flex;align-items:center;gap:4px;background:#12283F;color:#fff;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;white-space:nowrap;}
#libTable table.table tr.lib-done{background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 46%),linear-gradient(160deg,#9ED8B2 0%,#5FAE7E 100%)!important;border-color:#6DB48A!important;box-shadow:0 4px 14px rgba(40,120,80,.18),inset 0 1px 0 rgba(255,255,255,.6)!important;}
#libTable table.table tr.lib-done td,#libTable table.table tr.lib-done b{color:#000!important;}
#libTable table.table tr.lib-done .badge{background:rgba(255,255,255,.55)!important;color:#000!important;border-color:transparent!important;}
#libTable table.table tr.lib-done .btn.primary{background:#12283F!important;color:#fff!important;border-color:#12283F!important;}

/* v1.18: preguntas de auditoría de procesos. Completa = verde plano, pregunta en negro, etiquetas azul marino. Pendiente = blanca con letras azules y etiqueta roja. */
.audit-pend-tag{display:none;align-items:center;background:#C62828;color:#fff;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap;margin-left:auto;}
.audit-item:not(.done) .audit-pend-tag{display:inline-flex;}
.audit-item:not(.done) > summary small,.audit-item:not(.done) > summary b{color:#12283F;}
.audit-item.done,.audit-item.done > summary,.audit-item.done[open] > summary{background:#52B45E!important;border-color:#46AF58!important;box-shadow:0 4px 14px rgba(40,120,80,.14)!important;}
.audit-item.done > summary small,.audit-item.done > summary b{color:#000!important;}
.audit-item.done > summary .dual-badge,.audit-item.done > summary .dual-badge *{color:#12283F!important;}
.audit-item.done > summary .audit-no{background:#12283F!important;color:#fff!important;}
.audit-item.done > summary .audit-done-tag{background:#0E7A3E!important;color:#fff!important;flex-shrink:0;align-self:flex-start;justify-self:start;width:max-content!important;min-width:max-content!important;padding:5px 12px!important;}

/* v1.19: mapa de preguntas (verde completa, blanco pendiente, azul la que ves), botón de siguiente pendiente, cuerpo de la pregunta en blanco. */
.audit-map button.done{background:#52B45E!important;border-color:#46AF58!important;color:#000!important;}
.audit-map button.cur{background:#12283F!important;border-color:#12283F!important;color:#fff!important;box-shadow:0 0 0 3px #C9D6E3!important;}
.audit-next{width:100%;margin:8px 0 4px;}
.audit-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;font-weight:700;color:#12283F;margin-top:6px;}
.audit-legend span{display:inline-flex;align-items:center;gap:5px;}
.lg{display:inline-block;width:12px;height:12px;border-radius:4px;border:1px solid #DDE5EC;background:#fff;}
.lg-ok{background:#52B45E;border-color:#46AF58;}
.lg-cur{background:#12283F;border-color:#12283F;}
.audit-item.done{background:#fff!important;overflow:hidden;}

/* v1.20: Audit Lab y la ayuda de la IA (AI Auditor Coach) quedan ocultos en menú, centro de aplicaciones, barra inferior y práctica. El código se conserva para reactivarlos. */
[data-v="auditlab"],[data-v="coach"],[data-key="auditlab"],[data-key="coach"],[data-app="auditlab"],[data-app="coach"],
[onclick*="'auditlab'"],[onclick*="'coach'"],[onclick*="coachPractice("],[onclick*="coachAuditLab("]{display:none!important;}

/* v1.21: vista previa de proceso antes de iniciar; el botón azul y la leyenda azul debajo. */
.audit-start-btn{width:100%;margin-top:14px;padding:14px 12px;}
.audit-start-hint{color:#2F6FD6;font-size:13px;font-weight:700;text-align:center;margin:8px 0 0;line-height:1.35;}
.audit-back-btn{width:100%;margin-top:8px;}

/* v1.22: el título de la barra superior se recorta con "…" y ya no se mete debajo de los botones (móvil). */
@media (max-width:760px){
  header.topbar .topbar-title{min-width:0!important;max-width:100%!important;overflow:hidden!important;}
  header.topbar .topbar-title > div{min-width:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important;}
  header.topbar .topbar-title h1#pageTitle{min-width:0!important;width:100%!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
}

/* v1.23: material de consulta en E-learning (PDF, slides o imagen ligados a la cláusula). */
.clause-material{margin:14px 0;}
.clause-material h3{margin:0 0 4px;}
.clause-material-item{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid #E5E9EF;border-radius:14px;padding:12px;margin-top:8px;}
.clause-material-actions{display:flex;gap:6px;flex-shrink:0;}
@media (max-width:760px){.clause-material-item{flex-direction:column;align-items:stretch;}.clause-material-actions{width:100%;}.clause-material-actions .btn{flex:1;}}
/* v1.23b: en móvil las pestañas de la cláusula se deslizan dentro de la pantalla y la página no se corre a los lados. */
@media (max-width:760px){
  #clauseTabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;}
  .lesson{grid-template-columns:minmax(0,1fr)!important;min-width:0;}
  .lesson>*{min-width:0;max-width:100%;}
  #clauseTabs .tab{flex:0 0 auto;}
  html,body{max-width:100%;overflow-x:hidden;}
}

/* v1.24: progreso de auditoría sin fijar arriba; franja fija abajo con "Siguiente pendiente". */
.audit-progress{position:static!important;top:auto!important;}
.audit-bottom-bar{position:fixed;left:12px;right:12px;bottom:16px;z-index:350;background:#fff;border:1px solid #DDE5EC;border-radius:16px;padding:8px 10px;box-shadow:0 6px 16px rgba(26,49,87,.12);display:flex;align-items:center;gap:8px;}
.audit-bottom-bar b{font-size:12px;color:#12283F;white-space:nowrap;}
.audit-bottom-track{flex:1;height:6px;background:#E8EDF2;border-radius:999px;overflow:hidden;min-width:40px;}
.audit-bottom-track i{display:block;height:100%;background:#52B45E;border-radius:999px;}
.audit-bottom-bar .btn{white-space:nowrap;}
.audit-question-list{padding-bottom:120px;}
@media (max-width:760px){.audit-bottom-bar{bottom:76px;}}
/* v1.24b: la franja de progreso de auditoría se mantiene fija en pantalla (sin transformaciones heredadas que la desplacen). */
#content,#processAuditWorkspace{transform:none!important;animation:none!important;}

/* v1.25: se quita el mapa numerado de auditoría; la franja fija abajo tiene flechas ‹ › para pasar a la pregunta anterior o siguiente. */
.audit-arrow{min-width:36px;padding:0 8px;font-size:16px;line-height:1;}
@media (max-width:760px){.audit-bottom-bar{gap:6px;padding:8px;}.audit-bottom-bar .btn{font-size:12px;padding:8px 9px;}.audit-bottom-track{min-width:24px;}}
/* v1.25b: la franja fija no se desplaza con la animación/transformación del contenedor de auditoría. */
.audit-workspace{transform:none!important;animation:none!important;}

/* v1.25c: alta de alumnos desde lista (nombre y número de empleado) con vista previa. */
.noxa-list-import{margin:12px 0;padding:10px 12px;border:1px solid #C9D6E3;border-radius:12px;background:#FAFBFC;}
.noxa-list-import textarea{width:100%;font-family:monospace;font-size:13px;margin:8px 0;}
.lst-table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0;}
.lst-table th,.lst-table td{text-align:left;padding:5px 6px;border-bottom:1px solid #E8EDF2;}
.lst-ok{color:#0E7A3E;font-weight:800;}
.lst-bad{color:#C62828;font-weight:800;}

/* v1.25d: las ventanas emergentes (CSR, documentos, clasificación) no se desplazan por animaciones heredadas: se ven en pantalla. */
#csrModal,#csrWorkspace,#docWorkspace,#classificationModal,#evidenceModal,#globalSearchModal{transform:none!important;animation:none!important;}

/* v1.26 ventana del panel de administración: fuera de contenedores animados */
#noxaModalHost{transform:none!important;animation:none!important;}
