:root{--azul:#0f172a;--azul2:#111827;--naranja:#ff6f00;--gris:#f8fafc;--borde:#e5e7eb;--texto:#111827}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--gris);color:var(--texto)}a{text-decoration:none;color:inherit}.contenedor{max-width:1180px;margin:0 auto;padding:24px}.cabecera{background:#fff;border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:10}.cabecera .fila{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 24px}.marca{font-weight:800;font-size:22px;color:var(--azul)}.marca span{color:var(--naranja)}.nav{display:flex;gap:14px;align-items:center}.boton{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:11px 16px;font-weight:700;cursor:pointer;background:var(--azul);color:#fff}.boton.secundario{background:#fff;color:var(--azul);border:1px solid var(--borde)}.boton.naranja{background:var(--naranja)}.hero{background:linear-gradient(135deg,var(--azul),var(--azul2));color:#fff;border-radius:28px;padding:54px;margin-top:28px}.hero h1{font-size:46px;line-height:1.05;margin:0 0 14px}.hero p{font-size:20px;max-width:720px;opacity:.95}.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:20px;padding:22px;box-shadow:0 8px 24px rgba(15,23,42,.05)}.tarjeta h3{margin-top:0}.precio{font-size:34px;font-weight:900}.muted{color:#64748b}.lista-check{padding:0;margin:14px 0;list-style:none}.lista-check li{padding:7px 0}.lista-check li:before{content:'✓';color:#16a34a;font-weight:900;margin-right:8px}.layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.lateral{background:var(--azul);color:#fff;padding:20px}.lateral .marca{color:#fff;margin-bottom:24px}.lateral a{display:block;padding:11px 12px;border-radius:12px;margin:4px 0;color:#e5e7eb}.lateral a:hover,.lateral a.activo{background:rgba(255,255,255,.12);color:#fff}.contenido{padding:24px}.tabla{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.tabla th,.tabla td{padding:13px;border-bottom:1px solid var(--borde);text-align:left}.tabla th{background:#f1f5f9}.formulario{max-width:560px}.campo{margin-bottom:14px}.campo label{display:block;font-weight:700;margin-bottom:6px}.campo input,.campo select,.campo textarea{width:100%;padding:12px;border:1px solid var(--borde);border-radius:12px;background:#fff}.alerta{padding:14px;border-radius:12px;margin-bottom:16px}.alerta.ok{background:#dcfce7;color:#166534}.alerta.error{background:#fee2e2;color:#991b1b}.acciones{display:flex;gap:10px;flex-wrap:wrap}.kpi{font-size:30px;font-weight:900;color:var(--azul)}@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr}.layout{grid-template-columns:1fr}.lateral{position:relative}.nav{display:none}.hero h1{font-size:34px}.contenedor{padding:16px}}
.usuario-mini{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:10px 12px;margin:0 0 14px;color:#fff;background:rgba(255,255,255,.06)}.usuario-mini small{display:block;color:#cbd5e1;font-size:12px;margin-top:3px}.barra-superior{display:flex;align-items:center;justify-content:space-between;gap:16px}.boton.peligro{background:#dc2626;color:#fff}.boton.ok{background:#16a34a;color:#fff}.inline{display:flex;gap:6px;flex-wrap:wrap}.estado{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#e5e7eb;color:#374151}.estado.activo,.estado.aprobada{background:#dcfce7;color:#166534}.estado.baja,.estado.rechazada{background:#fee2e2;color:#991b1b}.estado.pendiente{background:#fef3c7;color:#92400e}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.check-line{display:inline-flex;gap:8px;align-items:center;font-weight:700}.punto{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:8px;vertical-align:middle}.filtros{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:14px;align-items:end}.acciones-campo{display:flex;gap:8px;flex-wrap:wrap}.kpi.small{font-size:22px}.formulario.ancho{max-width:980px}@media print{.lateral,.cabecera,.acciones-campo,.boton{display:none!important}.layout{display:block}.contenido{padding:0}.tarjeta{box-shadow:none;border:1px solid #ddd}}@media(max-width:900px){.filtros{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.tabla{font-size:13px}.tabla th,.tabla td{padding:9px}.contenido{padding:16px}}
.menu-titulo{margin:16px 10px 6px;color:#94a3b8;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.panel-hero{background:linear-gradient(135deg,#0f172a,#111827);color:#ff6e04;border-radius:24px;padding:24px;margin-bottom:18px}.panel-hero h2{margin:0 0 8px}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800;background:#eef2ff;color:#3730a3}.badge.pro{background:#fff8f2;color:#d65c00}.badge.basic{background:#e0f2fe;color:#0369a1}.dos-columnas{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.acciones-rapidas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.acciones-rapidas a{background:#fff;border:1px solid var(--borde);border-radius:16px;padding:16px;font-weight:800;box-shadow:0 6px 20px rgba(15,23,42,.04)}.precio-card{border:2px solid var(--borde)}.precio-card.destacado{border-color:var(--naranja)}.modulo-pro{position:relative}.modulo-pro:before{content:'PRO';position:absolute;right:14px;top:14px;background:#fff8f2;color:#d65c00;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900}@media(max-width:1100px){.acciones-rapidas{grid-template-columns:repeat(2,1fr)}.dos-columnas{grid-template-columns:1fr}}
.acceso-card{display:block;transition:.15s}.acceso-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,23,42,.10)}
.form-linea{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.form-linea label{font-weight:700}.calendario-mes{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:8px}.dia{background:#fff;border:1px solid var(--borde);border-radius:14px;min-height:70px;padding:10px}.dia b{display:block}.dia small{color:#64748b}.check{display:flex;gap:8px;align-items:center;margin:10px 0}.small{font-size:24px!important}
@media(max-width:800px){.calendario-mes{grid-template-columns:repeat(2,1fr)}.form-linea{display:block}.form-linea input,.form-linea button{width:100%;margin-top:8px}}
.marca-logo{display:inline-flex!important;align-items:center;gap:9px}.marca-logo img{width:34px;height:34px;border-radius:10px;display:block}.lateral .marca-logo{margin-bottom:18px}.lateral .marca-logo strong{color:#fff}.cabecera .marca-logo img{width:38px;height:38px}.pwa-box{display:none;position:fixed;right:18px;bottom:18px;max-width:360px;background:#fff;border:1px solid var(--borde);border-radius:18px;padding:16px;box-shadow:0 18px 45px rgba(15,23,42,.18);z-index:50}.pwa-box.visible{display:block}.pwa-box h3{margin:0 0 6px}.pwa-box p{margin:0 0 12px;color:#64748b}.logo-preview{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.logo-preview img{max-height:88px;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:10px}
@media(max-width:700px){.pwa-box{left:12px;right:12px;bottom:12px}.cabecera .marca-logo strong{font-size:19px}}
.dia.finde{background:#f8fafc}.evento{display:block;margin-top:6px;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:800}.evento.festivo{background:#fff8f2;color:#d65c00;border:1px solid #ffd0a3}

/* Ajuste Sprint 8: logo real en plataforma, sin imagen gigante */
.cabecera .marca-logo{min-width:190px}
.cabecera .marca-logo img{width:42px;height:42px;border-radius:12px}
.cabecera .marca-logo strong{font-size:26px;line-height:1}
.lateral .marca-logo img{width:34px;height:34px}
.lateral .marca-logo strong{font-size:20px}
.hero-comercial{position:relative;overflow:hidden;padding:58px 54px}
.hero-comercial .marca-hero{display:inline-flex;align-items:center;background:#fff;border-radius:18px;padding:10px 16px;margin-bottom:24px;box-shadow:0 18px 40px rgba(15,23,42,.20)}
.hero-comercial .marca-hero img{display:block;width:260px;max-width:72vw;height:auto}
.logo-preview img{max-width:260px!important;max-height:72px!important;width:auto!important;height:auto!important}
@media(max-width:700px){.cabecera .fila{padding:12px 16px}.cabecera .marca-logo{min-width:auto}.cabecera .marca-logo img{width:34px;height:34px}.cabecera .marca-logo strong{font-size:22px}.hero-comercial{padding:34px 24px}.hero-comercial .marca-hero{padding:8px 12px;margin-bottom:18px}.hero-comercial .marca-hero img{width:210px}.hero h1{font-size:32px}}

/* Sprint 9: landing comercial, precios, contacto y responsive */
.titulo-seccion{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.titulo-seccion h2{margin:0}.hero-simple{padding:42px}.hero-simple h1{margin:0 0 10px}.hero-precios{padding:46px 54px}.selector-precios{display:inline-flex;gap:6px;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:6px;margin-top:12px}.selector-precios button{border:0;background:transparent;border-radius:12px;padding:11px 16px;font-weight:900;color:var(--azul);cursor:pointer}.selector-precios button.activo{background:var(--azul);color:#fff}.selector-precios span{color:var(--naranja)}.selector-precios.mini{margin-bottom:16px}.comparador-precios{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}.plan-cabecera{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.plan-cabecera h2{margin:0}.plan-cabecera span{background:#f1f5f9;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;color:#334155}.precio-destacado{margin:18px 0}.precio-destacado span{font-size:42px;font-weight:950;color:var(--azul)}.precio-destacado small{display:block;color:#64748b;margin-top:4px}.tabla-scroll{overflow:auto}.tabla-precios td,.tabla-precios th{text-align:center}.tabla-precios td:first-child,.tabla-precios th:first-child{text-align:left}.aviso-prueba{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:#ffd0a3;background:#fff8f2;margin-bottom:18px}.aviso-prueba strong{color:#b64b00}.aviso-prueba span{color:#7c2d12}details{border-top:1px solid var(--borde);padding:14px 0}details summary{font-weight:900;cursor:pointer}.lateral a[href*="nominas"],.lateral a[href*="gastos"],.lateral a[href*="clientes"],.lateral a[href*="proyectos"],.lateral a[href*="gestor-documental"],.lateral a[href*="justificantes"],.lateral a[href*="firma"]{position:relative;padding-right:48px}.lateral a[href*="nominas"]:after,.lateral a[href*="gastos"]:after,.lateral a[href*="clientes"]:after,.lateral a[href*="proyectos"]:after,.lateral a[href*="gestor-documental"]:after,.lateral a[href*="justificantes"]:after,.lateral a[href*="firma"]:after{content:'PRO';position:absolute;right:10px;top:50%;transform:translateY(-50%);background:var(--naranja);color:#fff;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:900}.nav a:not(.boton){font-weight:700;color:#334155}.nav a:not(.boton):hover{color:var(--naranja)}
@media(max-width:900px){.comparador-precios{grid-template-columns:1fr}.titulo-seccion{align-items:flex-start;flex-direction:column}.aviso-prueba{display:block}.aviso-prueba .boton{margin-top:12px}.hero-precios,.hero-simple{padding:30px 24px}.precio-destacado span{font-size:34px}}

/* Sprint 10: onboarding, dashboard profesional, ayuda y auditoría */
.barra-progreso{height:9px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:10px 0}.barra-progreso span{display:block;height:100%;background:linear-gradient(90deg,var(--naranja),#ff8a26);border-radius:999px}.barra-progreso.grande{height:16px}.grafica-barras{display:flex;align-items:end;gap:5px;height:160px;overflow:auto;padding-top:20px}.grafica-barras div{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:18px}.grafica-barras span{display:block;width:14px;background:var(--azul);border-radius:7px 7px 0 0}.grafica-barras small{font-size:10px;color:#64748b}.grafica-horizontal{display:grid;gap:9px}.fila-barra{display:grid;grid-template-columns:60px 1fr 70px;gap:10px;align-items:center}.fila-barra b{font-size:12px}.fila-barra span{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.fila-barra span i{display:block;height:100%;background:var(--naranja);border-radius:999px}.fila-barra.aus span i{background:#111827}.fila-barra em{font-style:normal;font-size:12px;color:#64748b}.pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 22px}.pasos span{border:1px solid var(--borde);border-radius:999px;padding:9px 12px;text-align:center;font-weight:900;color:#64748b;background:#fff}.pasos span.activo{background:var(--azul);color:#fff;border-color:var(--azul)}.plan-radio{cursor:pointer;display:block}.plan-radio input{width:auto;margin-right:8px}.plan-radio b,.plan-radio strong,.plan-radio span,.plan-radio small{display:block;margin:5px 0}.plan-radio strong{font-size:24px;color:var(--azul)}.paso-card.completo{border-color:#bbf7d0;background:#f0fdf4}.paso-card h3{margin-top:0}@media(max-width:900px){.pasos{grid-template-columns:1fr}.fila-barra{grid-template-columns:54px 1fr 58px}.grafica-barras{height:130px}.plan-radio strong{font-size:20px}}

/* Sprint 12 */
.qr-card{text-align:center}.qr-img{max-width:260px;width:100%;border:12px solid #fff;border-radius:22px;box-shadow:0 12px 35px rgba(15,23,42,.12);background:#fff}.fichaje-grande{display:grid;gap:12px}.boton-grande{font-size:20px;padding:16px 22px;border-radius:18px}.camara-box video,.camara-box canvas,.selfie-previa{width:100%;max-width:360px;border-radius:18px;background:#0f172a;margin-top:10px}.incidencia{border-left:5px solid #ff6f00}.mini-mapa{font-size:12px;color:#64748b}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#e2e8f0;color:#0f172a}.badge.ok{background:#dcfce7;color:#166534}.badge.error{background:#fee2e2;color:#991b1b}.badge.warn{background:#fff0e0;color:#b64b00}.export-box{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:22px;padding:22px}.export-box .boton{background:#fff;color:#0f172a}.notificacion-push{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.oculto{display:none!important}

/* Sprint 13: diseño responsive, menú móvil y páginas legales */
.boton-menu-movil{display:none;position:fixed;left:14px;bottom:14px;z-index:120;background:var(--naranja);color:#fff;border:0;border-radius:999px;padding:12px 16px;font-weight:900;box-shadow:0 14px 35px rgba(15,23,42,.25)}
.pie-links a{font-weight:800;color:var(--azul)}
.banner-cookies{display:none;position:fixed;left:18px;right:18px;bottom:18px;z-index:200;background:#fff;border:1px solid var(--borde);border-radius:20px;padding:18px;box-shadow:0 18px 50px rgba(15,23,42,.20);align-items:center;justify-content:space-between;gap:16px;max-width:980px;margin:auto}.banner-cookies.visible{display:flex}.banner-cookies p{margin:5px 0 0;color:#64748b}.legal-page h1{font-size:42px;margin-bottom:8px}.legal-page h2{margin-top:28px}.legal-page .tarjeta p{line-height:1.65}.tabla-responsive{overflow-x:auto}.tabla-responsive .tabla{min-width:760px}.estado-menu{display:none}
@media(max-width:900px){.boton-menu-movil{display:inline-flex}.layout{display:block}.lateral{position:fixed;left:-290px;top:0;bottom:0;width:280px;z-index:110;overflow:auto;transition:left .2s ease;box-shadow:18px 0 40px rgba(15,23,42,.25)}body.menu-abierto .lateral{left:0}body.menu-abierto:after{content:'';position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:100}.contenido{padding:16px 14px 84px}.barra-superior h1{font-size:24px}.tarjeta{padding:18px;border-radius:18px}.panel-hero{padding:20px;border-radius:20px}.acciones-rapidas{grid-template-columns:1fr}.banner-cookies{display:none;left:10px;right:10px;bottom:70px;align-items:flex-start;flex-direction:column}.banner-cookies.visible{display:flex}.banner-cookies .acciones{width:100%}.banner-cookies .boton{flex:1}.nav{display:none}.cabecera{position:relative}.cabecera .fila{justify-content:center}.cabecera .marca-logo{min-width:auto}}
@media(max-width:520px){.grid{gap:12px}.kpi{font-size:26px}.hero{border-radius:20px}.hero h1{font-size:28px}.hero p{font-size:17px}.precio{font-size:28px}.tabla th,.tabla td{white-space:nowrap}.formulario{max-width:100%}.boton{width:100%}.acciones .boton{width:auto}.fichaje-grande .boton{width:100%}}

/* Sprint 14: demo, leads, estado del sistema y acabado comercial */
.eyebrow{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.12);border-radius:999px;padding:7px 12px;font-weight:900;margin-bottom:14px}.hero-demo{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}.demo-card{background:#fff;color:var(--azul);border-radius:24px;padding:22px;box-shadow:0 22px 60px rgba(15,23,42,.30)}.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mini-kpis span{background:#f8fafc;border:1px solid var(--borde);border-radius:16px;padding:12px;text-align:center;color:#64748b;font-weight:800}.mini-kpis b{display:block;color:var(--azul);font-size:26px}.demo-barras{height:170px;display:flex;align-items:end;gap:12px;margin-top:20px;background:#f8fafc;border-radius:18px;padding:16px}.demo-barras i{display:block;flex:1;background:linear-gradient(180deg,var(--naranja),#ffb067);border-radius:999px 999px 6px 6px}.lead-filtros{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.estado-ok{color:#166534;font-weight:900}.estado-error{color:#991b1b;font-weight:900}.checklist-card{border-left:5px solid var(--naranja)}.hero-comercial:after{content:'';position:absolute;right:-120px;top:-120px;width:330px;height:330px;background:rgba(249,115,22,.20);border-radius:999px}.landing-destacado{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}.landing-destacado .tarjeta{padding:18px}.landing-destacado b{display:block;font-size:26px;color:var(--azul)}
@media(max-width:900px){.hero-demo{grid-template-columns:1fr}.landing-destacado{grid-template-columns:repeat(2,1fr)}.mini-kpis{grid-template-columns:1fr}.demo-barras{height:120px}}
@media(max-width:520px){.landing-destacado{grid-template-columns:1fr}.hero-demo{padding:28px 20px}.demo-card{padding:16px}}
/* Sprint 19 - IA e informes inteligentes */
.lista-alertas{display:grid;gap:12px}.alerta{border:1px solid #e5e7eb;border-radius:16px;padding:14px 16px;background:#fff}.alerta p{margin:6px 0 0;color:#475569}.alerta-alto{border-color:#ffd0a3;background:#fff8f2}.alerta-medio{border-color:#fde68a;background:#fffbeb}.alerta-bajo{border-color:#bfdbfe;background:#fff7ed}.alerta-ok{border-color:#bbf7d0;background:#f0fdf4}.form-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.form-inline input{padding:10px;border:1px solid #d1d5db;border-radius:10px}.grafica-barras.grande span{max-height:160px}.imprimible{line-height:1.65}@media print{.lateral,.barra-superior,.boton-menu-movil,.boton{display:none!important}.contenido{margin:0!important}.tarjeta{box-shadow:none!important;border:1px solid #ddd}.imprimible{font-size:14px}}

/* Sprint 20 real: pulido visual comercial y producción */
body{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:linear-gradient(180deg,#f8fafc 0%,#eef2f7 100%);}
.cabecera{backdrop-filter:blur(12px);background:rgba(255,255,255,.92)}
.hero-final{display:grid;grid-template-columns:1.12fr .88fr;gap:32px;align-items:center;box-shadow:0 30px 80px rgba(15,23,42,.18)}
.hero-final .marca-hero{width:max-content}.boton.secundario.claro{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.32);color:#fff}.boton.secundario.claro:hover{background:#fff;color:var(--azul)}
.hero-panel-demo{position:relative;z-index:1;background:rgba(255,255,255,.96);color:var(--azul);border-radius:26px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}
.hero-panel-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.hero-panel-top span{font-size:12px;background:#fff8f2;color:#d65c00;border-radius:999px;padding:5px 9px;font-weight:900}.hero-panel-row{display:flex;justify-content:space-between;border-top:1px solid var(--borde);padding:12px 0;color:#475569}.hero-panel-row strong{color:var(--azul)}
.bloque-final{margin-top:28px}.icon-card span{display:inline-flex;width:44px;height:44px;border-radius:14px;align-items:center;justify-content:center;background:#fff8f2;margin-bottom:10px;font-size:22px}.icon-card h3{font-size:22px}.testimonio{background:linear-gradient(180deg,#fff,#f8fafc)}.testimonio p{font-size:18px;line-height:1.55;margin-top:0;color:#334155}.testimonio b{color:var(--azul)}.faq-final details p{color:#475569;line-height:1.65}.precio-card.destacado{box-shadow:0 20px 50px rgba(249,115,22,.12)}
.layout .contenido{max-width:calc(100vw - 250px)}.tarjeta{transition:box-shadow .18s ease,transform .18s ease}.tarjeta:hover{box-shadow:0 14px 34px rgba(15,23,42,.08)}
@media(max-width:980px){.hero-final{grid-template-columns:1fr}.hero-panel-demo{display:none}.layout .contenido{max-width:100%}}
@media(max-width:640px){.hero-final{padding:28px 20px}.hero-final .acciones .boton{width:100%}.bloque-final{margin-top:18px}.icon-card h3{font-size:19px}}

/* =========================================================
   Sprint 23 - Rediseño 10/10 NexoLabor
   Sistema visual SaaS premium: landing, panel, sidebar, cards,
   tablas, formularios y móvil.
   ========================================================= */
:root{
  --azul:#07111f;
  --azul2:#0f172a;
  --azul3:#1e293b;
  --naranja:#ff6f00;
  --naranja2:#ff8a26;
  --verde:#16a34a;
  --rojo:#dc2626;
  --amarillo:#f59e0b;
  --fondo:#f4f7fb;
  --fondo2:#eef3f9;
  --panel:#ffffff;
  --panel2:#f8fafc;
  --borde:#e2e8f0;
  --borde2:#cbd5e1;
  --texto:#0f172a;
  --muted:#64748b;
  --sombra:0 20px 60px rgba(15,23,42,.08);
  --sombra2:0 30px 90px rgba(15,23,42,.16);
  --radio:22px;
}
html{scroll-behavior:smooth}
body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  background:
    radial-gradient(circle at 10% -10%,rgba(249,115,22,.10),transparent 28%),
    radial-gradient(circle at 92% 4%,rgba(30,58,138,.12),transparent 30%),
    linear-gradient(180deg,#f8fbff 0%,#eef3f9 100%)!important;
  color:var(--texto);
  letter-spacing:-.01em;
}
.contenedor{max-width:1220px;padding:26px 22px}.muted{color:var(--muted)!important}.small{font-size:22px!important}
/* Header público */
.cabecera{
  position:sticky;top:0;z-index:80;border-bottom:1px solid rgba(226,232,240,.9)!important;
  background:rgba(255,255,255,.84)!important;backdrop-filter:blur(18px);box-shadow:0 8px 26px rgba(15,23,42,.04)
}
.cabecera .fila{max-width:1280px;margin:0 auto;padding:13px 22px!important}
.marca-logo{display:inline-flex!important;align-items:center;gap:11px}.cabecera .marca-logo{min-width:0!important}.marca-logo img{box-shadow:0 10px 24px rgba(249,115,22,.18)}
.cabecera .marca-logo img{width:38px!important;height:38px!important;border-radius:13px!important}.cabecera .marca-logo strong{font-size:25px!important;font-weight:950;letter-spacing:-.04em}.marca span{color:var(--naranja)!important}
.nav{gap:6px!important}.nav a:not(.boton){font-size:14px;font-weight:800;color:#334155;padding:10px 11px;border-radius:12px}.nav a:not(.boton):hover{background:#f1f5f9;color:var(--azul)}
.boton{border-radius:14px!important;padding:11px 17px!important;font-weight:900!important;box-shadow:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.boton:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.12)}.boton.naranja{background:linear-gradient(135deg,var(--naranja),#e65c00)!important;color:#fff!important}.boton.secundario{background:#fff!important;border:1px solid var(--borde)!important;color:var(--azul)!important}.boton.peligro{background:linear-gradient(135deg,#ef4444,#b91c1c)!important}.boton.ok{background:linear-gradient(135deg,#22c55e,#15803d)!important}
/* Landing premium */
.hero,.hero-final,.hero-comercial{
  border:1px solid rgba(255,255,255,.20)!important;border-radius:34px!important;overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(249,115,22,.34),transparent 32%),
    radial-gradient(circle at 10% 10%,rgba(59,130,246,.22),transparent 24%),
    linear-gradient(135deg,#07111f 0%,#0f172a 44%,#111827 100%)!important;
  box-shadow:0 34px 90px rgba(15,23,42,.22)!important;
}
.hero h1{font-weight:950;letter-spacing:-.055em}.hero p{color:#fff0e0;line-height:1.55}.eyebrow{border-color:rgba(255,255,255,.22)!important;background:rgba(255,255,255,.10)!important;color:#fff}.hero-comercial .marca-hero{box-shadow:0 22px 60px rgba(0,0,0,.25)!important;border:1px solid rgba(255,255,255,.65)}.hero-comercial .marca-hero img{width:232px!important}.hero-panel-demo{border:1px solid rgba(255,255,255,.7);box-shadow:0 34px 88px rgba(0,0,0,.30)!important}.landing-destacado .tarjeta{background:rgba(255,255,255,.88);backdrop-filter:blur(12px)}
/* Layout app */
.layout{grid-template-columns:282px 1fr!important;min-height:100vh;background:transparent}.lateral{
  position:sticky;top:0;height:100vh;overflow:auto;padding:18px 14px!important;background:
  radial-gradient(circle at 20% 0%,rgba(249,115,22,.18),transparent 30%),linear-gradient(180deg,#07111f 0%,#0f172a 100%)!important;
  border-right:1px solid rgba(255,255,255,.08);box-shadow:18px 0 60px rgba(15,23,42,.18);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent
}
.lateral::-webkit-scrollbar{width:8px}.lateral::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:999px}
.lateral .marca-logo{height:54px;padding:10px 12px!important;margin:0 0 14px!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:18px;color:#fff!important}.lateral .marca-logo img{width:34px!important;height:34px!important}.lateral .marca-logo strong{font-size:21px!important;letter-spacing:-.045em;color:#fff!important}
.usuario-mini{background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.04))!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:18px!important;padding:13px 14px!important;margin:0 0 16px!important;font-weight:900}.usuario-mini small{color:#cbd5e1!important;font-weight:700;text-transform:capitalize}.menu-titulo{margin:18px 11px 8px!important;color:#94a3b8!important;font-size:10px!important;letter-spacing:.14em!important}
.lateral a{display:flex!important;align-items:center;gap:10px;color:#cbd5e1!important;font-size:14px;font-weight:800;border-radius:15px!important;padding:10px 12px!important;margin:3px 0!important;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}.lateral a:before{content:'•';display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.06);color:#94a3b8;font-size:16px;line-height:1}.lateral a:hover{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.08);color:#fff!important;transform:translateX(2px)}.lateral a.activo{background:linear-gradient(135deg,rgba(249,115,22,.95),rgba(234,88,12,.95))!important;color:#fff!important;box-shadow:0 12px 28px rgba(249,115,22,.23)}.lateral a.activo:before{background:rgba(255,255,255,.22);color:#fff}
.contenido{padding:26px 30px 40px!important}.layout .contenido{max-width:calc(100vw - 282px)!important}.barra-superior{position:sticky;top:0;z-index:30;margin:-26px -30px 26px;padding:22px 30px;background:rgba(248,251,255,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.72)}.barra-superior h1{font-size:30px;line-height:1.1;margin:0;font-weight:950;letter-spacing:-.05em;color:var(--azul)}.barra-superior:after{content:'NexoLabor';font-size:13px;font-weight:900;color:#64748b;background:#fff;border:1px solid var(--borde);border-radius:999px;padding:8px 12px;box-shadow:0 10px 24px rgba(15,23,42,.05)}
/* Cards, kpis y tablas */
.tarjeta{border:1px solid rgba(226,232,240,.95)!important;border-radius:24px!important;background:rgba(255,255,255,.92)!important;box-shadow:0 14px 40px rgba(15,23,42,.055)!important}.tarjeta:hover{box-shadow:0 24px 65px rgba(15,23,42,.095)!important;transform:translateY(-1px)}.tarjeta h2,.tarjeta h3{letter-spacing:-.035em;color:var(--azul)}
.panel-hero{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.20);border-radius:30px!important;padding:30px!important;background:radial-gradient(circle at 92% 10%,rgba(249,115,22,.34),transparent 25%),linear-gradient(135deg,#07111f,#111827)!important;box-shadow:0 28px 80px rgba(15,23,42,.22)!important}.panel-hero:after{content:'';position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;background:rgba(255,255,255,.07);border-radius:999px}.panel-hero h2{font-size:32px!important;font-weight:950!important;letter-spacing:-.05em}.panel-hero p{color:#fff0e0}.badge{font-weight:950!important;border-radius:999px!important;padding:6px 11px!important}.badge.pro{background:#fff8f2!important;color:#d65c00!important}.badge.basic{background:#e0f2fe!important;color:#0369a1!important}
.grid{gap:20px!important}.grid-3>.tarjeta:has(.kpi),.grid-2>.tarjeta:has(.kpi){position:relative;overflow:hidden}.grid-3>.tarjeta:has(.kpi):before{content:'';position:absolute;right:-22px;top:-26px;width:96px;height:96px;border-radius:999px;background:rgba(249,115,22,.08)}.kpi{font-size:40px!important;font-weight:950!important;letter-spacing:-.06em;color:var(--azul)!important}.kpi.small{font-size:32px!important}.barra-progreso{background:#e5e7eb!important;height:10px!important}.barra-progreso span{background:linear-gradient(90deg,var(--naranja),#ff8a26)!important}.acciones-rapidas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.acciones-rapidas a{border-radius:18px!important;border:1px solid var(--borde)!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;box-shadow:none!important;padding:18px!important}.acciones-rapidas a:hover{border-color:#ffd0a3!important;box-shadow:0 16px 34px rgba(249,115,22,.12)!important;color:#d65c00}
.tabla{border:1px solid var(--borde)!important;border-radius:20px!important;box-shadow:0 14px 34px rgba(15,23,42,.045);overflow:hidden}.tabla th{background:#f8fafc!important;color:#334155;text-transform:uppercase;letter-spacing:.05em;font-size:12px}.tabla td{color:#334155}.tabla tbody tr:hover td{background:#fff8f2}
.campo input,.campo select,.campo textarea,.form-inline input{border-radius:14px!important;border:1px solid var(--borde2)!important;background:#fff!important;min-height:45px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.campo input:focus,.campo select:focus,.campo textarea:focus,.form-inline input:focus{border-color:var(--naranja)!important;box-shadow:0 0 0 4px rgba(249,115,22,.12)}.campo label{color:#334155}.formulario{background:transparent}.alerta,.aviso{border-radius:16px!important;border:1px solid var(--borde);box-shadow:0 10px 30px rgba(15,23,42,.04)}
/* Gráficas internas */
.grafica-barras{height:190px!important;padding:18px 12px 8px;border-radius:20px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid var(--borde)}.grafica-barras span{background:linear-gradient(180deg,var(--naranja),#ffb067)!important;box-shadow:0 8px 16px rgba(249,115,22,.18)}.fila-barra span{height:12px!important;background:#e5e7eb!important}.fila-barra span i{background:linear-gradient(90deg,var(--naranja),#ff8a26)!important}.fila-barra.aus span i{background:linear-gradient(90deg,#111827,#ff8a26)!important}
/* Páginas comerciales */
.precio-card{position:relative;overflow:hidden}.precio-card.destacado{border-color:rgba(249,115,22,.55)!important;box-shadow:0 30px 80px rgba(249,115,22,.12)!important}.precio-destacado span{font-weight:950!important;letter-spacing:-.06em}.lista-check li{display:flex;gap:8px;align-items:flex-start}.lista-check li:before{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#dcfce7;color:#166534;font-size:12px;margin-top:1px;flex:0 0 20px}.icon-card span{box-shadow:inset 0 0 0 1px #ffd0a3}.faq-final details{border-bottom:1px solid var(--borde);padding:14px 0}.faq-final summary{font-weight:900;cursor:pointer;color:var(--azul)}
/* Móvil */
.boton-menu-movil{background:linear-gradient(135deg,var(--naranja),#e65c00)!important;box-shadow:0 18px 42px rgba(249,115,22,.34)!important}.estado-menu{display:none}.banner-cookies{box-shadow:0 28px 80px rgba(15,23,42,.20)!important}
@media(max-width:1100px){.nav a:not(.boton){display:none}.nav .boton{display:inline-flex}.grid-3{grid-template-columns:repeat(2,1fr)!important}.hero-final{grid-template-columns:1fr!important}}
@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr!important}.layout{display:block!important}.lateral{position:fixed!important;left:-310px!important;top:0!important;bottom:0!important;width:292px!important;height:100vh!important;z-index:110!important}.layout .contenido{max-width:100%!important}.contenido{padding:18px 14px 90px!important}.barra-superior{margin:-18px -14px 18px!important;padding:18px 14px!important;top:0}.barra-superior h1{font-size:24px}.barra-superior:after{display:none}body.menu-abierto .lateral{left:0!important}.cabecera .fila{justify-content:space-between!important}.hero-comercial .marca-hero img{width:190px!important}.contenedor{padding:18px 14px!important}.tarjeta{border-radius:20px!important;padding:18px!important}.kpi{font-size:34px!important}}
@media(max-width:560px){.cabecera .marca-logo strong{font-size:21px!important}.cabecera .marca-logo img{width:34px!important;height:34px!important}.hero h1{font-size:31px!important}.hero p{font-size:16px!important}.hero,.hero-final,.hero-comercial{padding:30px 20px!important;border-radius:24px!important}.landing-destacado{grid-template-columns:1fr!important}.acciones .boton,.boton{width:100%}.tabla{font-size:13px}.precio-destacado span{font-size:34px!important}.usuario-mini{margin-bottom:12px!important}}

/* =========================================================
   Sprint 24 - Diseño premium + footer/subfooter NexoLabor
   ========================================================= */
:root{
  --nexo-azul:#0f172a;
  --nexo-azul-2:#111c34;
  --nexo-naranja:#ff6f00;
  --nexo-naranja-2:#ffb56b;
  --nexo-fondo:#f5f8fc;
  --nexo-card:#ffffff;
  --nexo-borde:#e2e8f0;
  --nexo-texto:#0f172a;
  --nexo-muted:#64748b;
}
body{
  background:
    radial-gradient(circle at top left, rgba(249,115,22,.10), transparent 32rem),
    radial-gradient(circle at top right, rgba(15,23,42,.08), transparent 28rem),
    var(--nexo-fondo)!important;
  color:var(--nexo-texto);
}
.cabecera{
  background:rgba(255,255,255,.88)!important;
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(226,232,240,.78)!important;
  box-shadow:0 10px 30px rgba(15,23,42,.04);
}
.cabecera .fila{max-width:1240px;margin:0 auto;padding:14px 22px!important}
.marca-logo{display:inline-flex!important;align-items:center!important;gap:10px!important;font-size:24px!important;letter-spacing:-.04em!important}
.marca-logo img{width:36px!important;height:36px!important;object-fit:contain!important;filter:drop-shadow(0 8px 12px rgba(249,115,22,.22))}
.lateral .marca-logo{font-size:22px!important;margin-bottom:18px!important;padding:10px 8px!important}
.lateral .marca-logo img{width:34px!important;height:34px!important}
.nav a:not(.boton){font-weight:800;color:#334155;font-size:14px;padding:9px 4px;border-bottom:2px solid transparent;transition:.18s ease}
.nav a:not(.boton):hover{color:var(--nexo-naranja);border-bottom-color:var(--nexo-naranja)}
.boton{border-radius:14px!important;padding:12px 18px!important;box-shadow:0 12px 24px rgba(15,23,42,.08);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.boton:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(15,23,42,.12);filter:saturate(1.05)}
.boton.naranja{background:linear-gradient(135deg,#ff6f00,#ff8a26)!important;color:#fff!important}
.boton.secundario{background:#fff!important;border:1px solid var(--nexo-borde)!important;color:var(--nexo-azul)!important}
.hero.hero-comercial,.hero-final{
  background:
    linear-gradient(135deg,rgba(15,23,42,.97),rgba(17,28,52,.92)),
    radial-gradient(circle at 20% 20%,rgba(249,115,22,.35),transparent 28rem)!important;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 34px 90px rgba(15,23,42,.24);
  overflow:hidden;
  position:relative;
}
.hero.hero-comercial:before{content:'';position:absolute;inset:auto -80px -140px auto;width:360px;height:360px;border-radius:50%;background:rgba(249,115,22,.18);filter:blur(20px)}
.hero h1{letter-spacing:-.07em!important;font-weight:950!important;max-width:760px}
.hero p{color:#fff0e0!important;line-height:1.7!important}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(249,115,22,.14);color:#ffd0a3;border:1px solid rgba(249,115,22,.30);border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;margin-bottom:14px}
.tarjeta{
  border:1px solid rgba(226,232,240,.86)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.06)!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(10px);
}
.tarjeta:hover{box-shadow:0 26px 70px rgba(15,23,42,.10)!important;transform:translateY(-2px)}
.layout{background:linear-gradient(135deg,#f8fbff,#eef5ff)!important}
.lateral{
  background:linear-gradient(180deg,#0f172a,#111c34 56%,#172554)!important;
  box-shadow:20px 0 50px rgba(15,23,42,.20)!important;
}
.lateral a{font-weight:800!important;border:1px solid transparent!important;transition:.16s ease!important}
.lateral a:hover,.lateral a.activo{background:rgba(249,115,22,.14)!important;border-color:rgba(249,115,22,.22)!important;color:#fff!important}
.menu-titulo{color:#ffb067!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:950!important;margin:18px 10px 8px!important}
.barra-superior{
  background:rgba(248,251,255,.88)!important;
  backdrop-filter:blur(20px)!important;
}
.tabla{box-shadow:0 18px 45px rgba(15,23,42,.05)!important;border:1px solid var(--nexo-borde)!important}
.tabla th{background:#f8fafc!important;color:#334155!important;font-size:12px!important;text-transform:uppercase;letter-spacing:.08em}
.tabla td{vertical-align:middle!important}
.campo input,.campo select,.campo textarea{border-radius:14px!important;border-color:#dbe3ef!important;box-shadow:0 6px 16px rgba(15,23,42,.03) inset!important}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid rgba(249,115,22,.16)!important;border-color:#ff8a26!important}
.kpi{letter-spacing:-.06em!important;color:var(--nexo-azul)!important}
.estado{border-radius:999px!important;font-weight:950!important}
.footer-nexolabor{
  background:linear-gradient(135deg,#0f172a,#111c34)!important;
  color:#e5e7eb;
  margin-top:56px;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer-nexolabor.footer-app{
  margin:34px -30px -40px;
  border-radius:28px 28px 0 0;
  overflow:hidden;
}
.footer-contenido{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:28px;
  padding:42px 24px 32px;
}
.footer-app .footer-contenido{max-width:none;padding:34px 30px 28px}
.footer-marca .marca-logo{color:#fff!important;font-size:25px!important;margin-bottom:10px!important}
.footer-marca .marca-logo span{color:var(--nexo-naranja)!important}
.footer-marca p{color:#cbd5e1;line-height:1.65;max-width:360px;margin:12px 0 16px}
.footer-pills{display:flex;gap:8px;flex-wrap:wrap}
.footer-pills span{background:rgba(249,115,22,.14);color:#ffd0a3;border:1px solid rgba(249,115,22,.24);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}
.footer-col h4{margin:0 0 14px;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.10em}
.footer-col a{display:block;color:#cbd5e1;padding:7px 0;font-weight:750}
.footer-col a:hover{color:#ff8a26}
.subfooter-nexolabor{
  border-top:1px solid rgba(255,255,255,.10);
  background:rgba(2,6,23,.36);
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:18px 24px;
  font-size:13px;
  color:#cbd5e1;
}
.footer-app .subfooter-nexolabor{padding-left:30px;padding-right:30px}
.aviso-propiedad{max-width:760px;text-align:right;color:#f8fafc;font-weight:800}
.pie-links{display:none!important}
@media(max-width:980px){
  .footer-contenido{grid-template-columns:1fr 1fr;gap:22px}.subfooter-nexolabor{flex-direction:column;align-items:flex-start}.aviso-propiedad{text-align:left}.footer-nexolabor.footer-app{margin:28px -14px -90px;border-radius:24px 24px 0 0}.footer-app .footer-contenido,.footer-app .subfooter-nexolabor{padding-left:18px;padding-right:18px}
}
@media(max-width:640px){
  .footer-contenido{grid-template-columns:1fr}.marca-logo img{width:32px!important;height:32px!important}.marca-logo{font-size:21px!important}.hero h1{font-size:36px!important}.footer-nexolabor{margin-top:38px}
}
/* Sprint 30 - empresas y usuarios */
.form-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;align-items:end}.acciones-formulario{display:flex;align-items:end}.acciones-tabla{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.cabecera-seccion{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.cabecera-seccion h2{margin:0 0 6px}.cabecera-seccion p{margin:0;color:#64748b}@media(max-width:1100px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.form-grid{grid-template-columns:1fr}.acciones-tabla{display:grid}.acciones-tabla .boton{width:100%}}

/* Sprint 32: patrón global de paneles: formulario arriba y listado debajo */
.panel-unicolumna{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    align-items:start!important;
}
.panel-unicolumna>.tarjeta{width:100%;}
.panel-unicolumna .tabla-responsive{overflow-x:auto;}
.panel-unicolumna .tabla{min-width:760px;}
.tarjeta h3 + p.texto-suave,.tarjeta h3 + p.muted{margin-top:-6px;}
@media(max-width:700px){
    .panel-unicolumna{gap:16px!important;}
    .panel-unicolumna .tabla{min-width:680px;}
}

/* =========================================================
   Sprint 33 - Diseño premium 10/10: dashboard, sidebar y modo oscuro
   ========================================================= */
:root{
  --premium-bg:#f4f7fb;
  --premium-panel:#ffffff;
  --premium-ink:#0f172a;
  --premium-muted:#64748b;
  --premium-border:#e2e8f0;
  --premium-orange:#ff6f00;
  --premium-blue:#0f172a;
  --premium-shadow:0 22px 60px rgba(15,23,42,.08);
}
html{scroll-behavior:smooth}
body{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;background:
 radial-gradient(circle at 10% 0%, rgba(249,115,22,.10), transparent 28rem),
 radial-gradient(circle at 95% 5%, rgba(37,99,235,.08), transparent 30rem),
 var(--premium-bg)!important;}
.contenido{padding:30px!important;max-width:1500px;margin:0 auto;width:100%}
.layout{grid-template-columns:286px minmax(0,1fr)!important;background:transparent!important}
.lateral{position:sticky!important;top:0;height:100vh;overflow:auto;padding:22px 16px!important;border-right:1px solid rgba(255,255,255,.08);background:
 linear-gradient(180deg,#08111f 0%,#0f172a 46%,#172554 100%)!important;}
.lateral::-webkit-scrollbar{width:7px}.lateral::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px}
.lateral .marca-logo{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);border-radius:18px;margin-bottom:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.10)}
.usuario-mini{background:linear-gradient(135deg,rgba(249,115,22,.18),rgba(255,255,255,.06))!important;border:1px solid rgba(249,115,22,.25)!important;border-radius:18px!important;padding:14px!important;box-shadow:0 16px 34px rgba(0,0,0,.16)}
.usuario-mini:before{content:'●';color:#22c55e;margin-right:7px}.usuario-mini small{margin-left:17px!important;color:#cbd5e1!important}
.menu-titulo{margin:20px 12px 8px!important;color:#ff8a26!important;font-size:10px!important;letter-spacing:.18em!important}
.lateral a{display:flex!important;align-items:center;gap:10px;min-height:40px;border-radius:14px!important;padding:10px 12px!important;margin:3px 0!important;color:#dbe4ef!important;font-size:14px;font-weight:800!important;position:relative;overflow:hidden}
.lateral a:before{content:'';width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.24);flex:0 0 7px}
.lateral a.activo,.lateral a:hover{background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(255,255,255,.08))!important;border-color:rgba(249,115,22,.28)!important;transform:translateX(2px)}
.lateral a.activo:before,.lateral a:hover:before{background:var(--premium-orange);box-shadow:0 0 0 5px rgba(249,115,22,.18)}
.salir-menu{margin-top:20px!important;background:rgba(239,68,68,.14)!important;border:1px solid rgba(239,68,68,.25)!important;color:#fecaca!important}
.barra-superior{position:sticky!important;top:0;z-index:8;margin:-30px -30px 26px!important;padding:20px 30px!important;background:rgba(244,247,251,.78)!important;border-bottom:1px solid rgba(226,232,240,.78);backdrop-filter:blur(18px)!important;box-shadow:0 14px 34px rgba(15,23,42,.04)}
.barra-superior h1{margin:0!important;font-size:30px!important;letter-spacing:-.055em!important;font-weight:950!important;color:var(--premium-ink)}
.mini-label{display:inline-flex;font-size:11px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--premium-orange);margin-bottom:3px}
.topbar-actions{display:flex;gap:10px;align-items:center}.boton-icono{width:46px!important;padding:0!important;font-size:18px!important}.topbar-actions .boton{box-shadow:none!important}
.tarjeta{border:1px solid rgba(226,232,240,.9)!important;border-radius:26px!important;background:rgba(255,255,255,.92)!important;box-shadow:var(--premium-shadow)!important;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease!important;overflow:hidden}.tarjeta:hover{transform:translateY(-3px)!important;box-shadow:0 28px 80px rgba(15,23,42,.12)!important;border-color:#d8e1ee!important}.tarjeta h2,.tarjeta h3{letter-spacing:-.04em;color:#0f172a}
.panel-hero{position:relative;padding:34px!important;border-radius:30px!important;background:
 radial-gradient(circle at 90% 20%, rgba(249,115,22,.35), transparent 16rem),
 linear-gradient(135deg,#0b1220,#172554 72%,#111827)!important;box-shadow:0 32px 90px rgba(15,23,42,.24);overflow:hidden}.panel-hero:after{content:'';position:absolute;right:-110px;bottom:-130px;width:320px;height:320px;border-radius:50%;background:rgba(249,115,22,.17);filter:blur(5px)}.panel-hero h2{font-size:34px!important;letter-spacing:-.06em!important}.panel-hero p{font-size:17px;color:#000}.panel-hero .badge{border:1px solid rgba(255,255,255,.24);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.grid{gap:20px!important}.kpi{font-size:42px!important;line-height:1!important;font-weight:950!important;letter-spacing:-.08em!important}.kpi.small{font-size:34px!important}.muted{color:#718096!important;font-weight:750}.barra-progreso{height:12px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:14px 0 10px}.barra-progreso span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6f00,#ff8a26)}
.acciones-rapidas{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.acciones-rapidas a{border-radius:20px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border-color:#e2e8f0!important;box-shadow:0 12px 28px rgba(15,23,42,.06)!important}.acciones-rapidas a:hover{background:linear-gradient(135deg,#fff8f2,#ffffff)!important;border-color:#ffd0a3!important;color:#d65c00;transform:translateY(-2px)}
.tabla{border-radius:22px!important;overflow:hidden;background:#fff!important}.tabla th{background:#f8fafc!important;color:#475569!important;font-size:11px!important;letter-spacing:.12em!important}.tabla td{font-weight:650}.tabla tbody tr:nth-child(even) td{background:#fbfdff}.tabla tbody tr:hover td{background:#fff8f2!important}.formulario,.formulario.ancho{max-width:100%!important}.campo input,.campo select,.campo textarea{min-height:48px!important;border-radius:16px!important;background:#fff!important;font-weight:650}.campo label{font-weight:900!important;color:#334155!important}.alerta{border-radius:18px!important}.estado{padding:6px 10px!important}.badge{font-weight:950!important}
.grafica-barras{display:flex;align-items:end;gap:7px;height:210px!important;padding:20px 14px 10px!important}.grafica-barras div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.grafica-barras span{width:100%;max-width:18px;border-radius:999px 999px 6px 6px;background:linear-gradient(180deg,#ff6f00,#ffb067)!important}.grafica-barras small{font-size:10px;color:#94a3b8;font-weight:800}.grafica-horizontal{display:grid;gap:9px}.fila-barra{display:grid;grid-template-columns:52px 1fr 62px;gap:10px;align-items:center}.fila-barra b{font-size:12px;color:#64748b}.fila-barra em{font-style:normal;font-size:12px;color:#64748b;font-weight:800}.fila-barra span{display:block;height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.fila-barra span i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff6f00,#ffb067)}.fila-barra.aus span i{background:linear-gradient(90deg,#ff6f00,#ffb366)}
/* Tarjetas de KPI premium sin tocar PHP */
.grid-3>.tarjeta:nth-child(1),.grid-3>.tarjeta:nth-child(2),.grid-3>.tarjeta:nth-child(3){position:relative}.grid-3>.tarjeta:nth-child(1):before,.grid-3>.tarjeta:nth-child(2):before,.grid-3>.tarjeta:nth-child(3):before{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;margin-bottom:16px;font-size:20px;font-weight:900}.grid-3>.tarjeta:nth-child(1):before{content:'👥';background:#eef2ff}.grid-3>.tarjeta:nth-child(2):before{content:'🕒';background:#fff8f2}.grid-3>.tarjeta:nth-child(3):before{content:'📊';background:#ecfdf5}
/* Modo oscuro */
body.modo-oscuro{--premium-bg:#070b12;--premium-panel:#111827;--premium-ink:#f8fafc;--premium-muted:#94a3b8;--premium-border:#243044;background:radial-gradient(circle at top left, rgba(249,115,22,.14), transparent 30rem),#070b12!important;color:#e5e7eb!important}body.modo-oscuro .contenido,body.modo-oscuro .layout{background:transparent!important}body.modo-oscuro .barra-superior{background:rgba(7,11,18,.78)!important;border-color:#1f2937}body.modo-oscuro .barra-superior h1,body.modo-oscuro .tarjeta h2,body.modo-oscuro .tarjeta h3,body.modo-oscuro .kpi{color:#f8fafc!important}body.modo-oscuro .tarjeta,body.modo-oscuro .tabla,body.modo-oscuro .campo input,body.modo-oscuro .campo select,body.modo-oscuro .campo textarea{background:rgba(17,24,39,.92)!important;border-color:#243044!important;color:#e5e7eb!important}body.modo-oscuro .tabla th{background:#111827!important;color:#cbd5e1!important}body.modo-oscuro .tabla td{color:#e5e7eb!important;border-color:#243044!important}body.modo-oscuro .tabla tbody tr:nth-child(even) td{background:rgba(15,23,42,.65)!important}body.modo-oscuro .tabla tbody tr:hover td{background:rgba(249,115,22,.10)!important}body.modo-oscuro .muted{color:#94a3b8!important}body.modo-oscuro .acciones-rapidas a{background:#111827!important;border-color:#243044!important;color:#e5e7eb!important}body.modo-oscuro .footer-nexolabor{background:#020617!important}
@media(max-width:1100px){.layout{grid-template-columns:260px minmax(0,1fr)!important}.contenido{padding:22px!important}.barra-superior{margin:-22px -22px 22px!important;padding:18px 22px!important}.topbar-actions .boton:not(.boton-icono){display:none}}
@media(max-width:900px){.lateral{left:-315px!important;width:305px!important;position:fixed!important}.contenido{padding:18px!important}.barra-superior{margin:-18px -18px 18px!important;padding:18px!important}.topbar-actions{display:none}.grid-3,.grid-2{grid-template-columns:1fr!important}.panel-hero h2{font-size:28px!important}.footer-app{margin-left:-18px!important;margin-right:-18px!important}.boton-menu-movil{display:inline-flex!important;position:fixed!important;left:14px!important;bottom:14px!important;z-index:130!important;border-radius:999px!important}}
@media(min-width:901px){.boton-menu-movil{display:none!important}}

/* Sprint 35 - Control horario empleado */
.acciones-fichaje-portal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.fila-entre{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
@media (max-width:720px){.acciones-fichaje-portal{grid-template-columns:1fr}.acciones-fichaje-portal .boton{width:100%}}

/* Sprint 36 · Landing profesional, logo web completo y selectores de planes */
.marca-logo-web{display:inline-flex!important;align-items:center;gap:0!important}.marca-logo-web img{width:210px!important;height:auto!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.cabecera .marca-logo-web img{width:205px!important;max-width:42vw!important}.footer-logo-web img{width:210px!important}.marca-logo-app img{width:190px!important;height:auto!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}.lateral .marca-logo-app{height:auto!important;min-height:58px!important;justify-content:flex-start!important;overflow:hidden}.lateral .marca-logo-app img{filter:drop-shadow(0 10px 18px rgba(0,0,0,.16));background:#fff;border-radius:14px;padding:6px;max-width:100%}
.hero-nuevo{display:grid;grid-template-columns:1.08fr .92fr;gap:34px;align-items:center;padding:52px;background:radial-gradient(circle at 16% 12%,rgba(249,115,22,.28),transparent 28%),linear-gradient(135deg,#0f172a 0%,#172554 55%,#111827 100%)}.marca-hero-nueva{background:#fff!important;border-radius:22px!important;padding:10px 16px!important}.marca-hero-nueva img{width:255px!important;max-width:76vw!important}.hero-copy h1{max-width:760px}.hero-actions{margin-top:22px}.hero-confianza{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.hero-confianza span{display:inline-flex;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);font-weight:800;color:#e0f2fe;font-size:13px}.hero-dashboard-pro{transform:translateY(4px)}.landing-stats{margin-top:-8px}.titulo-landing{text-align:center;max-width:860px;margin:0 auto 24px}.titulo-landing h2{font-size:36px;letter-spacing:-.05em;margin:8px 0 10px;color:#0f172a}.titulo-landing p{font-size:18px;line-height:1.65;color:#64748b}.eyebrow.oscuro{background:#fff8f2!important;color:#b64b00!important;border:1px solid #ffd0a3!important}.features-pro .icon-card{min-height:220px}.tarjeta-grande{position:relative;overflow:hidden}.numero-paso{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:16px;background:#0f172a;color:#fff;font-weight:950;margin-bottom:14px}.tarjeta-grande h2{margin-top:0;letter-spacing:-.035em}.precios-home .precio-card{min-height:100%}.publico-objetivos .tarjeta{border-top:4px solid #ff6f00}.faq-amplia details{border:1px solid #e2e8f0;border-radius:16px;padding:14px 16px;margin-top:10px;background:#fff}.faq-amplia summary{cursor:pointer;font-weight:900;color:#0f172a}.faq-amplia p{color:#64748b;line-height:1.6}.cta-final{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:30px;padding:32px;background:linear-gradient(135deg,#0f172a,#111827);color:#fff}.cta-final h2{margin:0 0 8px;font-size:32px;color:#fff}.cta-final p{margin:0;color:#fff0e0}.campo-mini{display:block;font-weight:900;color:#0f172a;margin:16px 0}.campo-mini select{width:100%;padding:13px 14px;border:1px solid #cbd5e1;border-radius:14px;background:#fff;font-weight:850;margin-top:7px}.comparador-dropdown .precio-card{display:flex;flex-direction:column}.comparador-dropdown .boton{width:100%;margin:8px 0 12px}.hero-precios-pro{padding:44px 52px}.hero-precios-pro .selector-precios{margin-top:24px}
@media(max-width:980px){.hero-nuevo{grid-template-columns:1fr;padding:34px}.marca-logo-web img,.cabecera .marca-logo-web img{width:185px!important}.marca-logo-app img{width:172px!important}.cta-final{display:block}.cta-final .acciones{margin-top:18px}.titulo-landing h2{font-size:30px}}
@media(max-width:700px){.marca-logo-web img,.cabecera .marca-logo-web img{width:166px!important}.marca-logo-app img{width:160px!important}.hero-nuevo{padding:28px 22px}.marca-hero-nueva img{width:220px!important}.titulo-landing h2{font-size:27px}.cta-final h2{font-size:26px}.hero-confianza span{font-size:12px}.hero-precios-pro{padding:30px 22px}}

/* Sprint 38 - Logo más visible y menú hamburguesa real en móvil */
.hamburguesa-publica,
.cerrar-menu-movil{
  display:none;
}

/* Logo web y panel más grande y legible */
.marca-logo-web img,
.cabecera .marca-logo-web img{
  width:260px!important;
  max-width:44vw!important;
  height:auto!important;
}
.footer-logo-web img{width:245px!important;max-width:100%!important}
.marca-logo-app img,
.lateral .marca-logo-app img{
  width:220px!important;
  max-width:100%!important;
  height:auto!important;
}
.lateral .marca-logo-app{
  min-height:76px!important;
  margin-bottom:18px!important;
  padding:12px 8px!important;
}
.marca-hero-nueva img,
.hero-comercial .marca-hero img,
.hero-precios-pro .marca-hero img{
  width:310px!important;
  max-width:78vw!important;
  height:auto!important;
}

/* Hamburguesa del panel: fija arriba, visible y usable */
.boton-menu-movil{
  align-items:center!important;
  justify-content:center!important;
  width:52px!important;
  height:52px!important;
  padding:0!important;
  font-size:26px!important;
  line-height:1!important;
  border-radius:16px!important;
}

@media(max-width:900px){
  body.menu-abierto{overflow:hidden;}
  .boton-menu-movil{
    display:inline-flex!important;
    position:fixed!important;
    left:14px!important;
    top:14px!important;
    bottom:auto!important;
    z-index:160!important;
    background:linear-gradient(135deg,#ff6f00,#e65c00)!important;
    color:#fff!important;
    box-shadow:0 18px 42px rgba(15,23,42,.28)!important;
  }
  .cerrar-menu-movil{
    display:flex!important;
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    width:42px!important;
    height:42px!important;
    border:0!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    font-size:28px!important;
    font-weight:900!important;
    align-items:center!important;
    justify-content:center!important;
    cursor:pointer!important;
  }
  .lateral{
    padding-top:68px!important;
    left:-330px!important;
    width:315px!important;
    max-width:88vw!important;
    transition:left .22s ease!important;
    z-index:150!important;
  }
  body.menu-abierto .lateral{left:0!important;}
  body.menu-abierto:after{
    content:''!important;
    position:fixed!important;
    inset:0!important;
    background:rgba(15,23,42,.52)!important;
    backdrop-filter:blur(2px)!important;
    z-index:140!important;
  }
  .contenido{
    padding-top:82px!important;
  }
  .barra-superior{
    padding-left:72px!important;
    min-height:72px!important;
  }
  .barra-superior h1{font-size:23px!important;}
  .marca-logo-app img,.lateral .marca-logo-app img{width:205px!important;}
}

/* Menú hamburguesa público para landing/precios/contacto */
@media(max-width:900px){
  .cabecera{position:sticky!important;top:0!important;z-index:170!important;}
  .cabecera .fila{
    justify-content:space-between!important;
    align-items:center!important;
  }
  .hamburguesa-publica{
    display:inline-flex!important;
    width:48px!important;
    height:48px!important;
    border:0!important;
    border-radius:15px!important;
    align-items:center!important;
    justify-content:center!important;
    background:linear-gradient(135deg,#0f172a,#1e293b)!important;
    color:#fff!important;
    font-size:26px!important;
    font-weight:900!important;
    cursor:pointer!important;
    box-shadow:0 12px 28px rgba(15,23,42,.18)!important;
  }
  .cabecera .nav{
    display:none!important;
    position:absolute!important;
    left:14px!important;
    right:14px!important;
    top:72px!important;
    background:#fff!important;
    border:1px solid #e2e8f0!important;
    border-radius:22px!important;
    padding:14px!important;
    box-shadow:0 24px 70px rgba(15,23,42,.18)!important;
    z-index:180!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:8px!important;
  }
  body.menu-publico-abierto .cabecera .nav{
    display:flex!important;
  }
  .cabecera .nav a,
  .cabecera .nav .boton{
    width:100%!important;
    justify-content:center!important;
    text-align:center!important;
    padding:13px 14px!important;
  }
  .marca-logo-web img,
  .cabecera .marca-logo-web img{
    width:220px!important;
    max-width:70vw!important;
  }
}
@media(max-width:560px){
  .marca-logo-web img,
  .cabecera .marca-logo-web img{width:198px!important;max-width:68vw!important;}
  .marca-logo-app img,.lateral .marca-logo-app img{width:190px!important;}
  .marca-hero-nueva img,.hero-comercial .marca-hero img,.hero-precios-pro .marca-hero img{width:255px!important;}
}
@media(max-width:380px){
  .marca-logo-web img,.cabecera .marca-logo-web img{width:176px!important;}
  .hamburguesa-publica{width:44px!important;height:44px!important;}
}

/* =========================================================
   Sprint 39 - Landing profesional + PWA estable
   ========================================================= */
.nl-shell{max-width:1220px;margin:0 auto;padding:0 24px}.landing-2026{overflow:hidden}.nl-hero{position:relative;background:#07111f;color:white;padding:82px 0 54px}.nl-hero__bg{position:absolute;inset:0;background:radial-gradient(circle at 18% 10%,rgba(249,115,22,.28),transparent 32rem),radial-gradient(circle at 85% 20%,rgba(59,130,246,.20),transparent 28rem),linear-gradient(135deg,#07111f,#0f172a 55%,#111827);opacity:1}.nl-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:46px;align-items:center}.nl-badge,.nl-mini{display:inline-flex;align-items:center;border-radius:999px;font-size:13px;font-weight:950;letter-spacing:.02em}.nl-badge{background:rgba(249,115,22,.14);border:1px solid rgba(249,115,22,.30);color:#ffd0a3;padding:9px 13px;margin-bottom:18px}.nl-mini{color:#ff6f00;background:#fff8f2;border:1px solid #ffd0a3;padding:8px 12px;margin-bottom:12px}.nl-mini.naranja{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.28);color:#ffd0a3}.nl-hero h1{font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.075em;margin:0 0 22px;font-weight:1000}.nl-lead{font-size:clamp(17px,2.1vw,21px);line-height:1.72;color:#fff0e0;max-width:760px;margin:0 0 28px}.nl-actions{display:flex;gap:13px;flex-wrap:wrap;align-items:center}.nl-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.nl-trust span{font-size:13px;font-weight:900;color:#fff0e0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 10px}.nl-product-card{background:rgba(255,255,255,.96);color:#0f172a;border:1px solid rgba(255,255,255,.36);border-radius:34px;padding:26px;box-shadow:0 30px 90px rgba(0,0,0,.32);position:relative}.nl-product-card:before{content:'';position:absolute;inset:-18px;border-radius:42px;background:linear-gradient(135deg,rgba(249,115,22,.22),rgba(59,130,246,.14));z-index:-1}.nl-product-card__top,.nl-kpi-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.nl-product-card__top span{font-weight:950;color:#64748b}.nl-product-card__top b{background:#ecfdf5;color:#047857;border-radius:999px;padding:7px 10px}.nl-kpi-row{margin:22px 0}.nl-kpi-row div{flex:1;background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px}.nl-kpi-row strong{display:block;font-size:34px;letter-spacing:-.06em}.nl-kpi-row small{color:#64748b;font-weight:900}.nl-chart-bars{height:190px;background:linear-gradient(180deg,#fff7ed,#fff);border:1px solid #e2e8f0;border-radius:22px;padding:20px;display:flex;align-items:end;gap:12px}.nl-chart-bars i{flex:1;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#ff8a26,#ff6f00);min-height:38px}.nl-chart-bars i:nth-child(1){height:43%}.nl-chart-bars i:nth-child(2){height:62%}.nl-chart-bars i:nth-child(3){height:49%}.nl-chart-bars i:nth-child(4){height:82%}.nl-chart-bars i:nth-child(5){height:58%}.nl-chart-bars i:nth-child(6){height:74%}.nl-chart-bars i:nth-child(7){height:66%}.nl-activity{display:grid;gap:10px;margin-top:18px}.nl-activity div{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:11px 12px;font-weight:800}.dot{width:9px;height:9px;border-radius:99px;display:inline-block}.dot.ok{background:#22c55e}.dot.warn{background:#ff6f00}.dot.info{background:#ff6f00}.nl-logos{text-align:center;color:#64748b;font-weight:900;padding-top:24px;padding-bottom:20px}.nl-section{padding-top:72px;padding-bottom:10px}.nl-section-head{text-align:center;max-width:820px;margin:0 auto 32px}.nl-section-head.compacto{margin-bottom:24px}.nl-section-head h2{font-size:clamp(30px,4vw,52px);line-height:1.02;letter-spacing:-.06em;margin:0 0 14px;color:#0f172a}.nl-section-head p{color:#64748b;line-height:1.7;font-size:18px}.nl-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.nl-feature-grid article,.nl-price-card,.nl-steps div,.nl-faq details,.nl-card-light,.nl-card-dark{border-radius:26px;border:1px solid #e2e8f0;box-shadow:0 22px 55px rgba(15,23,42,.07)}.nl-feature-grid article{background:#fff;padding:24px}.nl-feature-grid span{font-size:30px}.nl-feature-grid h3{margin:12px 0 8px;font-size:19px}.nl-feature-grid p{color:#64748b;line-height:1.65;margin:0}.nl-split{display:grid;grid-template-columns:1fr 1fr;gap:22px}.nl-card-dark,.nl-card-light{padding:34px}.nl-card-dark{background:linear-gradient(135deg,#0f172a,#172554);color:#fff}.nl-card-light{background:#fff}.nl-card-dark h2,.nl-card-light h2{font-size:34px;letter-spacing:-.05em;margin:0 0 16px}.nl-list{padding:0;margin:0;list-style:none;display:grid;gap:12px}.nl-list li{position:relative;padding-left:28px;line-height:1.55}.nl-list li:before{content:'✓';position:absolute;left:0;top:0;color:#ff6f00;font-weight:1000}.nl-card-dark .nl-list li{color:#fff0e0}.nl-pricing-preview{padding-bottom:24px}.nl-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.nl-price-card{background:#fff;padding:28px;display:flex;flex-direction:column;gap:18px}.nl-price-card.pro{border-color:#ffb067;background:linear-gradient(180deg,#fff8f2,#fff)}.nl-price-card h3{font-size:30px;margin:0;letter-spacing:-.05em}.nl-price-card p{margin:4px 0 0;color:#64748b}.nl-price-card strong{font-size:36px;letter-spacing:-.06em;color:#0f172a}.nl-price-card small{font-size:14px;color:#64748b}.nl-price-card ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}.nl-price-card li:before{content:'✓ ';color:#ff6f00;font-weight:1000}.nl-how{padding-top:44px}.nl-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.nl-steps div{background:#fff;padding:24px}.nl-steps b{color:#ff6f00;font-size:28px}.nl-steps h3{margin:10px 0 8px}.nl-steps p{color:#64748b;line-height:1.6;margin:0}.nl-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.nl-faq details{background:#fff;padding:18px 20px}.nl-faq summary{cursor:pointer;font-weight:950;color:#0f172a}.nl-faq p{color:#64748b;line-height:1.65;margin:12px 0 0}.nl-cta{margin-top:60px;background:linear-gradient(135deg,#0f172a,#111827);color:#fff}.nl-cta__inner{display:flex;justify-content:space-between;gap:28px;align-items:center;padding-top:50px;padding-bottom:50px}.nl-cta h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.06em;margin:0 0 10px}.nl-cta p{color:#fff0e0;line-height:1.7;margin:0;max-width:650px}.marca-logo-web img{width:220px!important;height:auto!important;max-height:62px!important}.cabecera .marca-logo-web img{width:230px!important;max-height:60px!important}.lateral .marca-logo-app img{width:210px!important;max-height:62px!important}.footer-logo-web img{width:210px!important;height:auto!important}.hamburguesa-publica,.boton-menu-movil{border-radius:14px!important;border:1px solid rgba(226,232,240,.9)!important;background:#fff!important;box-shadow:0 14px 30px rgba(15,23,42,.12)!important;color:#0f172a!important;font-size:26px!important;line-height:1!important;padding:10px 13px!important}.boton-menu-movil{position:fixed!important;left:14px!important;top:14px!important;z-index:160!important;display:none}.cerrar-menu-movil{display:none!important}
@media(max-width:1100px){.nl-hero__grid{grid-template-columns:1fr}.nl-product-card{max-width:680px}.nl-feature-grid{grid-template-columns:repeat(2,1fr)}.nl-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.hamburguesa-publica{display:inline-flex!important}.cabecera .nav{display:none!important;position:absolute;top:76px;left:14px;right:14px;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:16px;box-shadow:0 24px 70px rgba(15,23,42,.18);z-index:140;flex-direction:column;align-items:stretch}.menu-publico-abierto .cabecera .nav{display:flex!important}.cabecera .nav a{display:flex!important;justify-content:center}.boton-menu-movil{display:inline-flex!important}.lateral{transform:translateX(-105%)!important;left:0!important;transition:transform .22s ease!important}.menu-abierto .lateral{transform:translateX(0)!important}.cerrar-menu-movil{display:inline-flex!important;position:absolute;right:12px;top:12px;background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.18);border-radius:12px;font-size:26px;width:42px;height:42px;align-items:center;justify-content:center}.contenido{padding-top:76px!important}.nl-hero{padding-top:42px}.nl-split,.nl-price-grid,.nl-faq-grid{grid-template-columns:1fr}.nl-cta__inner{flex-direction:column;align-items:flex-start}.marca-logo-web img{width:200px!important}.cabecera .marca-logo-web img{width:190px!important}.lateral .marca-logo-app img{width:190px!important}}
@media(max-width:620px){.nl-shell{padding-left:16px;padding-right:16px}.nl-hero h1{font-size:40px}.nl-lead{font-size:16px}.nl-product-card{border-radius:24px;padding:18px}.nl-kpi-row{flex-direction:column}.nl-kpi-row div{width:100%}.nl-feature-grid,.nl-steps{grid-template-columns:1fr}.nl-card-dark,.nl-card-light,.nl-price-card{padding:24px;border-radius:22px}.nl-actions .boton,.nl-price-card .boton{width:100%;justify-content:center}.cabecera .fila{padding:12px 14px!important}.cabecera .marca-logo-web img{width:178px!important}.footer-contenido{grid-template-columns:1fr!important}.subfooter-nexolabor{flex-direction:column;align-items:flex-start}.nl-chart-bars{height:145px}}


/* Sprint 40 REAL - Landing completa + footer logo corregido */
.landing-completa .nl-hero-premium{padding:92px 0 76px!important;background:radial-gradient(circle at top left,rgba(249,115,22,.20),transparent 34%),linear-gradient(135deg,#0f172a,#172554)!important;color:#fff!important;overflow:hidden;position:relative}
.landing-completa .nl-hero-premium h1{font-size:clamp(42px,5.2vw,76px)!important;line-height:.96!important;letter-spacing:-.065em!important;margin-bottom:22px!important;color:#fff!important}
.landing-completa .nl-lead{font-size:clamp(18px,2vw,22px)!important;line-height:1.6!important;color:#fff0e0!important;max-width:780px!important}
.landing-completa .nl-badge{display:inline-flex;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.18)!important;color:#ffd0a3!important;border-radius:999px;padding:10px 14px;font-weight:900;margin-bottom:18px}
.landing-completa .nl-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.landing-completa .nl-trust span{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 12px;font-weight:800;color:#fff}
.nl-feature-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))!important}.nl-feature-grid-wide article{min-height:210px!important;border:1px solid #e2e8f0!important;border-radius:26px!important;padding:26px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;box-shadow:0 16px 44px rgba(15,23,42,.08)!important}.nl-feature-grid-wide article span{font-size:34px!important}.nl-feature-grid-wide article h3{font-size:20px!important;margin:14px 0 10px!important}.nl-feature-grid-wide article p{color:#475569!important;line-height:1.65!important}.nl-section-head h2{font-size:clamp(32px,4vw,52px)!important;letter-spacing:-.055em!important}.nl-section-head p{font-size:18px!important;color:#64748b!important}.nl-sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.nl-sector-grid div{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;font-weight:900;box-shadow:0 12px 30px rgba(15,23,42,.06)}.nl-faq-grid-large{grid-template-columns:repeat(2,minmax(0,1fr))!important}.nl-faq-grid-large details{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.nl-faq-grid-large summary{font-weight:950;color:#0f172a;cursor:pointer}.nl-faq-grid-large p{color:#475569;line-height:1.65}.footer-logo-web{display:none!important}.footer-logo-texto{display:inline-flex;align-items:center;gap:12px;text-decoration:none!important;margin-bottom:12px}.footer-logo-icono{width:46px;height:46px;display:inline-grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#ff6f00,#ff8a26);color:#fff;font-weight:950;letter-spacing:-.06em;box-shadow:0 14px 30px rgba(249,115,22,.28)}.footer-logo-texto strong{font-size:30px;letter-spacing:-.055em;color:#fff!important}.footer-logo-texto strong span{color:#ff8a26!important}.footer-marca p{font-size:15px!important;color:#e2e8f0!important}.footer-nexolabor .footer-col a{color:#fff0e0!important}.footer-nexolabor .footer-col a:hover{color:#ff8a26!important}.subfooter-nexolabor{background:#020617!important}.aviso-propiedad{color:#fff!important}
@media(max-width:1100px){.nl-feature-grid-wide{grid-template-columns:repeat(2,1fr)!important}.nl-sector-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.landing-completa .nl-hero-premium{padding:54px 0 44px!important}.nl-feature-grid-wide,.nl-faq-grid-large,.nl-sector-grid{grid-template-columns:1fr!important}.landing-completa .nl-actions{display:grid;grid-template-columns:1fr;gap:12px}.footer-logo-texto strong{font-size:26px}.footer-logo-icono{width:42px;height:42px}.nl-product-card{margin-top:20px!important}}


/* === NexoLabor landing cabecera estilo imagen - 08/06 === */
:root{--nexo-primary:#ff6f00;--nexo-primary-dark:#e85f00;--nexo-dark:#111827;--nexo-muted:#6b7280;}
.cabecera-nl2026{background:#fff!important;border-bottom:1px solid #eef0f3!important;box-shadow:none!important;position:sticky;top:0;z-index:1000;}
.cabecera-nl2026 .fila{max-width:1180px!important;margin:0 auto!important;height:76px!important;padding:0 22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;}
.cabecera-nl2026 .marca-logo-web img{width:205px!important;max-height:58px!important;display:block!important;}
.cabecera-nl2026 .nav{display:flex;align-items:center;gap:28px!important;margin-left:auto;}
.cabecera-nl2026 .nav a{font-weight:850!important;color:#111827!important;text-decoration:none!important;font-size:15px!important;padding:25px 0!important;border-bottom:2px solid transparent!important;}
.cabecera-nl2026 .nav a:hover,.cabecera-nl2026 .nav a.activo{color:var(--nexo-primary)!important;border-bottom-color:var(--nexo-primary)!important;}
.cabecera-nl2026 .nav a.boton{padding:13px 18px!important;border-radius:10px!important;border:1px solid #ffb482!important;line-height:1!important;}
.cabecera-nl2026 .nav a.boton.secundario{background:#fff!important;color:#111827!important;}
.cabecera-nl2026 .nav a.boton.naranja{background:var(--nexo-primary)!important;border-color:var(--nexo-primary)!important;color:#fff!important;box-shadow:0 12px 28px rgba(255,111,0,.22)!important;}
.hero-nl2026{background:linear-gradient(90deg,#fff 0%,#fff 52%,#fff4e8 100%);border-bottom:1px solid #edf0f3;overflow:hidden;}
.hero-nl2026__wrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center;padding:62px 22px 26px;}
.hero-nl2026__eyebrow{color:var(--nexo-primary);font-size:13px;font-weight:950;letter-spacing:.03em;margin-bottom:18px;text-transform:uppercase;}
.hero-nl2026 h1{margin:0 0 18px;color:#111827;font-size:clamp(42px,4.7vw,64px);line-height:1.05;letter-spacing:-.055em;font-weight:1000;}
.hero-nl2026 h1 span{color:var(--nexo-primary);}
.hero-nl2026 p{margin:0;color:#4b5563;font-size:18px;line-height:1.72;max-width:560px;}
.hero-nl2026__buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px;}
.btn-nl2026{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;border-radius:9px;text-decoration:none;font-weight:900;border:1px solid var(--nexo-primary);}
.btn-nl2026--primary{background:linear-gradient(180deg,#ff7a12,#ff5f00);color:#fff;box-shadow:0 16px 34px rgba(255,111,0,.25);}
.btn-nl2026--outline{background:#fff;color:var(--nexo-primary);}
.hero-nl2026__trust{display:flex;flex-wrap:wrap;gap:34px;margin-top:28px;color:#374151;font-size:14px;font-weight:750;}
.hero-nl2026__trust span::first-letter{color:var(--nexo-primary)}
.hero-nl2026__visual{position:relative;min-height:360px;}
.hero-laptop{position:absolute;right:18px;top:0;width:560px;max-width:88%;}
.hero-screen{background:#0f1115;border:10px solid #0b0d10;border-radius:16px 16px 8px 8px;padding:10px;box-shadow:0 24px 65px rgba(17,24,39,.22);height:285px;display:grid;grid-template-columns:58px 1fr;}
.screen-sidebar{background:#fbfbfc;border-radius:7px 0 0 7px;border-right:1px solid #eef0f3;display:grid;justify-items:center;align-content:start;gap:14px;padding:14px 0;}
.screen-sidebar b{color:var(--nexo-primary);font-size:22px}.screen-sidebar i{width:16px;height:16px;border:2px solid #d1d5db;border-radius:5px;display:block}.screen-sidebar i:nth-child(2){border-color:var(--nexo-primary);}
.screen-content{background:#fff;border-radius:0 7px 7px 0;padding:20px;overflow:hidden;}
.screen-title{font-weight:950;color:#111827}.screen-title small{display:block;color:#8b95a1;font-size:11px;margin-top:3px;font-weight:700;}
.screen-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}.screen-kpis div{background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:10px;box-shadow:0 8px 22px rgba(17,24,39,.05)}.screen-kpis small{color:#6b7280;font-size:9px;font-weight:850}.screen-kpis strong{display:block;color:var(--nexo-primary);font-size:20px;line-height:1.1}.screen-kpis span{color:var(--nexo-primary);font-size:8px;font-weight:850;}
.screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.screen-table,.screen-chart{border:1px solid #eef0f3;border-radius:12px;padding:12px;background:#fff}.screen-table b,.screen-chart b{font-size:12px;color:#111827}.screen-table p{font-size:10px!important;margin:8px 0!important;line-height:1!important;color:#374151!important}.screen-table span{float:right;color:#16a34a}.screen-table p:nth-child(4) span{color:#ef4444}.screen-chart strong{display:block;margin-top:10px;color:#111827;font-size:22px}.screen-chart em{display:block;height:60px;margin-top:8px;border-radius:8px;background:linear-gradient(135deg,rgba(255,111,0,.10),rgba(255,111,0,.25));position:relative}.screen-chart em:after{content:'';position:absolute;left:8px;right:8px;bottom:18px;height:3px;background:linear-gradient(90deg,#ffb36b,#ff6f00);transform:skewY(-12deg);border-radius:999px;}
.hero-keyboard{height:18px;background:linear-gradient(180deg,#cfd3d9,#f2f3f5);border-radius:0 0 26px 26px;margin:0 auto;width:92%;box-shadow:0 18px 32px rgba(17,24,39,.12)}
.hero-phone{position:absolute;right:0;top:112px;width:132px;height:248px;background:#fff;border:7px solid #111;border-radius:28px;box-shadow:0 20px 55px rgba(17,24,39,.25);padding:28px 12px 12px;text-align:left}.phone-notch{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:52px;height:8px;background:#111;border-radius:0 0 10px 10px}.hero-phone p{font-size:10px!important;line-height:1.25!important;color:#374151!important;margin:0 0 12px!important}.phone-time{font-size:20px;font-weight:1000;color:#111827;text-align:center}.hero-phone small{display:block;text-align:center;font-size:8px;color:#6b7280}.hero-phone a{display:block;background:var(--nexo-primary);color:#fff;text-align:center;border-radius:8px;padding:9px 4px;text-decoration:none;font-size:10px;font-weight:900;margin-top:18px}.phone-card{background:#fafafa;border:1px solid #eee;border-radius:10px;margin-top:16px;padding:8px;font-size:9px;color:#6b7280;line-height:1.35}.phone-card b{color:#111827;}
.hero-nl2026__features{max-width:1180px;margin:0 auto 0;padding:0 22px 28px;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #edf0f3;border-radius:0 0 12px 12px;box-shadow:0 15px 40px rgba(17,24,39,.07);}.hero-nl2026__features article{display:flex;gap:14px;align-items:flex-start;padding:22px 18px;border-right:1px solid #edf0f3}.hero-nl2026__features article:last-child{border-right:0}.hero-nl2026__features span{width:44px;height:44px;border-radius:12px;background:#fff1e7;color:var(--nexo-primary);display:grid;place-items:center;font-size:22px;flex:0 0 44px}.hero-nl2026__features b{display:block;color:#111827;font-size:14px;margin-bottom:4px}.hero-nl2026__features p{margin:0;color:#6b7280;font-size:12px;line-height:1.45}.boton.naranja,.btn-primary,.button-primary{background:#ff6f00!important;border-color:#ff6f00!important;color:#fff!important}.nl-mini,.nl-badge,.naranja,.text-primary{color:#ff6f00!important}.nl-list li:before,.nl-price-card li:before,.nl-steps b{color:#ff6f00!important}.nl-price-card.pro{border-color:#ffb482!important;background:linear-gradient(180deg,#fff8f2,#fff)!important}.nl-chart-bars i{background:linear-gradient(180deg,#ff9d45,#ff6f00)!important}.dot.warn{background:#ff6f00!important}.dot.info{background:#ff6f00!important}
@media(max-width:1050px){.hero-nl2026__wrap{grid-template-columns:1fr;gap:28px}.hero-nl2026__visual{min-height:360px}.hero-laptop{left:0;right:auto}.hero-nl2026__features{grid-template-columns:repeat(2,1fr);border-radius:14px}.hero-nl2026__features article{border-right:0;border-bottom:1px solid #edf0f3}.hero-nl2026__features article:last-child{border-bottom:0}.cabecera-nl2026 .nav{gap:16px!important}.cabecera-nl2026 .marca-logo-web img{width:185px!important}}
@media(max-width:900px){.cabecera-nl2026 .nav{top:76px!important}.cabecera-nl2026 .hamburguesa-publica{display:inline-flex!important}.hero-nl2026__wrap{padding-top:38px}.hero-nl2026 h1{font-size:42px}.hero-nl2026__visual{min-height:320px}.hero-laptop{width:500px}.hero-phone{right:10px;transform:scale(.86);transform-origin:top right}.hero-nl2026__features{grid-template-columns:1fr}.hero-nl2026__features article{padding:18px}.screen-kpis{grid-template-columns:repeat(2,1fr)}.screen-grid{grid-template-columns:1fr}.screen-chart{display:none}}
@media(max-width:620px){.cabecera-nl2026 .fila{height:68px!important}.cabecera-nl2026 .marca-logo-web img{width:165px!important}.hero-nl2026__trust{gap:12px;display:grid}.hero-nl2026__buttons a{width:100%}.hero-laptop{position:relative;max-width:100%;width:100%;right:auto}.hero-screen{height:auto;min-height:250px;grid-template-columns:42px 1fr;border-width:7px}.screen-content{padding:14px}.hero-phone{display:none}.hero-nl2026__visual{min-height:auto}.hero-keyboard{display:none}.hero-nl2026__wrap{padding-left:16px;padding-right:16px}.hero-nl2026__features{margin-left:16px;margin-right:16px;padding-left:0;padding-right:0}.screen-kpis div:nth-child(n+3){display:none}}


/* Sprint logo definitivo + color corporativo naranja #ff6f00 */
:root{
  --naranja:#ff6f00!important;
  --naranja2:#ff8a26!important;
  --nexo-primary:#ff6f00!important;
  --nexo-primary-dark:#e65f00!important;
  --azul:#111827!important;
  --azul2:#111827!important;
}
a{transition:.18s ease}
.boton.naranja,.btn-primary,.button-primary,
.cabecera .nav a.boton.naranja,
.banner-cookies .boton.naranja{
  background:linear-gradient(135deg,#ff6f00,#ff8a26)!important;
  border-color:#ff6f00!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(255,111,0,.22)!important;
}
.naranja,.text-primary,.nl-mini,.nl-badge,
.cabecera .nav a.activo,
.footer-col a:hover{
  color:#ff6f00!important;
}
.cabecera .nav a.activo:after,
.barra-progreso span,
.fila-barra span i,
.nl-chart-bars i{
  background:#ff6f00!important;
}
/* Logo web: NO afecta a iconos PWA */
.marca-logo-web img,
.cabecera .marca-logo-web img{
  width:auto!important;
  height:74px!important;
  max-height:74px!important;
  border-radius:0!important;
  object-fit:contain!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
  background:transparent!important;
}
.lateral .marca-logo-app img{
  width:auto!important;
  height:72px!important;
  max-height:72px!important;
  border-radius:0!important;
  object-fit:contain!important;
  box-shadow:none!important;
  filter:none!important;
  padding:0!important;
  background:transparent!important;
}
.lateral .marca-logo{
  height:auto!important;
  min-height:86px!important;
  justify-content:center!important;
  background:rgba(255,255,255,.06)!important;
}
.footer-logo-imagen{display:inline-flex!important;align-items:center!important;margin-bottom:12px!important;text-decoration:none!important}
.footer-logo-imagen img{
  width:auto!important;
  height:92px!important;
  max-height:92px!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
.footer-logo-icono{display:none!important}
.subfooter-nexolabor{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
  padding:18px 20px!important;
}
.subfooter-logo-nexolabor{
  height:54px!important;
  width:auto!important;
  object-fit:contain!important;
  display:block!important;
  filter:none!important;
}
.hero-nl2026__screen-mark,
.dot.info,.dot.warn{color:#ff6f00!important;background:#ff6f00!important}
@media(max-width:900px){
  .cabecera .marca-logo-web img{height:58px!important;max-height:58px!important;}
  .lateral .marca-logo-app img{height:62px!important;max-height:62px!important;}
  .footer-logo-imagen img{height:76px!important;max-height:76px!important;}
}
@media(max-width:620px){
  .cabecera .marca-logo-web img{height:50px!important;max-height:50px!important;}
  .cabecera .fila{min-height:72px!important;}
  .footer-logo-imagen img{height:66px!important;max-height:66px!important;}
  .subfooter-logo-nexolabor{height:46px!important;}
}






/* ============================================================
   FIX REAL LOGO FOOTER / SUBFOOTER
   El logo web tiene texto oscuro, por eso en zonas oscuras
   se muestra dentro de una tarjeta blanca.
   ============================================================ */

.footer-nexolabor .footer-logo-card{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:max-content!important;
    max-width:100%!important;
    background:#ffffff!important;
    padding:12px 16px!important;
    border-radius:18px!important;
    box-shadow:0 18px 42px rgba(0,0,0,.22)!important;
    text-decoration:none!important;
    overflow:visible!important;
    margin-bottom:16px!important;
}

.footer-nexolabor .footer-logo-card img{
    display:block!important;
    width:auto!important;
    height:72px!important;
    max-height:72px!important;
    max-width:300px!important;
    object-fit:contain!important;
    background:transparent!important;
    border-radius:0!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    filter:none!important;
}

/* Anula formatos anteriores que oscurecían o deformaban el logo */
.footer-logo-imagen,
.footer-logo-texto{
    background:transparent!important;
    box-shadow:none!important;
    padding:0!important;
}

.footer-logo-imagen img,
.footer-logo-texto img{
    filter:none!important;
}

.subfooter-nexolabor{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
    text-align:center!important;
    padding:22px 18px!important;
    line-height:1.6!important;
}

.subfooter-nexolabor .subfooter-logo-card{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#ffffff!important;
    padding:8px 12px!important;
    border-radius:16px!important;
    box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
    width:max-content!important;
    max-width:100%!important;
}

.subfooter-nexolabor .subfooter-logo-card img{
    display:block!important;
    width:auto!important;
    height:50px!important;
    max-height:50px!important;
    max-width:240px!important;
    object-fit:contain!important;
    filter:none!important;
    background:transparent!important;
    padding:0!important;
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
}

.subfooter-logo-nexolabor{
    display:none!important;
}

@media(max-width:700px){
    .footer-nexolabor .footer-logo-card img{
        height:58px!important;
        max-height:58px!important;
        max-width:240px!important;
    }

    .subfooter-nexolabor .subfooter-logo-card img{
        height:42px!important;
        max-height:42px!important;
        max-width:205px!important;
    }
}


/* ============================================================
   FIX REAL LOGO PANEL INTERNO
   Aplica el logo web nuevo dentro del panel sin tocar PWA.
   ============================================================ */

.marca-logo-app,
.marca-panel,
.sidebar-logo,
.panel-logo{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-decoration:none!important;
    width:100%!important;
    min-height:96px!important;
    padding:14px 10px!important;
    overflow:visible!important;
    background:rgba(255,255,255,.08)!important;
    border-radius:18px!important;
    box-shadow:none!important;
}

.marca-logo-app img,
.marca-panel img,
.sidebar-logo img,
.panel-logo img{
    display:block!important;
    width:auto!important;
    height:70px!important;
    max-height:70px!important;
    max-width:240px!important;
    object-fit:contain!important;
    background:#ffffff!important;
    border-radius:16px!important;
    padding:8px 12px!important;
    box-shadow:0 12px 30px rgba(0,0,0,.16)!important;
    filter:none!important;
}

.lateral .marca-logo-app,
.sidebar .marca-logo-app,
.menu-lateral .marca-logo-app{
    margin:10px auto 18px!important;
}

/* Oculta restos de icono/texto antiguo si quedaron dentro */
.marca-logo-app .logo-icono,
.marca-logo-app .logo-texto,
.marca-logo-app strong,
.marca-logo-app span:not(.sr-only){
    display:none!important;
}

@media(max-width:900px){
    .marca-logo-app,
    .marca-panel,
    .sidebar-logo,
    .panel-logo{
        min-height:78px!important;
        padding:10px!important;
    }

    .marca-logo-app img,
    .marca-panel img,
    .sidebar-logo img,
    .panel-logo img{
        height:56px!important;
        max-height:56px!important;
        max-width:205px!important;
    }
}



/* ============================================================
   NexoLabor - Panel premium
   Diseño moderno para panel interno, sidebar, tarjetas, tablas,
   formularios y responsive. No toca iconos PWA.
   ============================================================ */

:root{
    --nl-orange:#ff6f00;
    --nl-orange-dark:#e65c00;
    --nl-dark:#0f172a;
    --nl-dark-2:#111827;
    --nl-sidebar:#142033;
    --nl-sidebar-2:#0b1422;
    --nl-bg:#f5f7fb;
    --nl-card:#ffffff;
    --nl-text:#0f172a;
    --nl-muted:#64748b;
    --nl-border:#e5e7eb;
    --nl-shadow:0 18px 50px rgba(15,23,42,.08);
    --nl-shadow-soft:0 10px 28px rgba(15,23,42,.06);
}

/* Fondo general del panel */
body{
    background:var(--nl-bg);
}

/* Layout habitual */
.app,
.panel,
.layout,
.wrapper,
.contenedor-panel{
    background:var(--nl-bg)!important;
}

/* Sidebar / lateral */
.lateral,
.sidebar,
.menu-lateral,
.panel-lateral,
aside.lateral{
    background:linear-gradient(180deg,var(--nl-sidebar) 0%,var(--nl-sidebar-2) 100%)!important;
    color:#fff!important;
    box-shadow:12px 0 40px rgba(15,23,42,.16)!important;
    border-right:0!important;
}

/* Logo panel: tarjeta blanca como footer */
.lateral .marca-logo-app,
.sidebar .marca-logo-app,
.menu-lateral .marca-logo-app,
.marca-logo-app{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:18px 16px 24px!important;
    padding:16px!important;
    background:#fff0 !important
    border-radius:22px!important;
    min-height:118px!important;
    box-shadow:0 20px 45px rgba(0,0,0,.20)!important;
    text-decoration:none!important;
    overflow:hidden!important;
}

.lateral .marca-logo-app img,
.sidebar .marca-logo-app img,
.menu-lateral .marca-logo-app img,
.marca-logo-app img{
    display:block!important;
    width:auto!important;
    height:76px!important;
    max-height:76px!important;
    max-width:245px!important;
    object-fit:contain!important;
    background:transparent!important;
    border-radius:0!important;
    box-shadow:none!important;
    padding:0!important;
    margin:0!important;
    filter:none!important;
}

/* Menú lateral */
.lateral nav,
.sidebar nav,
.menu-lateral nav{
    padding:0 16px 18px!important;
}

.lateral a,
.sidebar a,
.menu-lateral a{
    transition:.18s ease!important;
}

.lateral nav a,
.sidebar nav a,
.menu-lateral nav a,
.lateral .menu a,
.sidebar .menu a,
.menu-lateral .menu a{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:48px!important;
    padding:12px 14px!important;
    margin:5px 0!important;
    border-radius:15px!important;
    color:#dbe4f0!important;
    text-decoration:none!important;
    font-weight:700!important;
    letter-spacing:-.01em!important;
}

.lateral nav a:hover,
.sidebar nav a:hover,
.menu-lateral nav a:hover,
.lateral .menu a:hover,
.sidebar .menu a:hover,
.menu-lateral .menu a:hover{
    background:rgba(255,255,255,.08)!important;
    color:#fff!important;
    transform:translateX(3px);
}

.lateral nav a.activo,
.sidebar nav a.activo,
.menu-lateral nav a.activo,
.lateral .menu a.activo,
.sidebar .menu a.activo,
.menu-lateral .menu a.activo,
.lateral nav a.active,
.sidebar nav a.active,
.menu-lateral nav a.active{
    background:linear-gradient(135deg,var(--nl-orange),var(--nl-orange-dark))!important;
    color:#fff!important;
    box-shadow:0 12px 26px rgba(255,111,0,.28)!important;
}

/* Cabecera interna */
.topbar,
.cabecera-panel,
.panel-header,
.header-panel,
.barra-superior{
    background:#fff!important;
    border-bottom:1px solid var(--nl-border)!important;
    box-shadow:0 10px 28px rgba(15,23,42,.04)!important;
    min-height:74px!important;
}

/* Contenido */
.contenido,
.main,
.main-panel,
.panel-contenido,
.contenido-panel,
main{
    background:var(--nl-bg);
}

/* Títulos de página */
h1,
.titulo-pagina,
.panel-title{
    color:var(--nl-text)!important;
    letter-spacing:-.035em!important;
    font-weight:900!important;
}

.subtitulo,
.descripcion,
.text-muted,
.muted{
    color:var(--nl-muted)!important;
}

/* Tarjetas */
.tarjeta,
.card,
.caja,
.box,
.panel-card,
.kpi,
.kpi-card,
.resumen-card,
.dashboard-card{
    background:#fff!important;
    border:1px solid var(--nl-border)!important;
    border-radius:22px!important;
    box-shadow:var(--nl-shadow-soft)!important;
    overflow:hidden;
}

.tarjeta:hover,
.card:hover,
.kpi:hover,
.kpi-card:hover,
.dashboard-card:hover{
    box-shadow:var(--nl-shadow)!important;
}

/* KPIs */
.kpis,
.grid-kpi,
.dashboard-kpis,
.resumen-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
}

.kpi,
.kpi-card,
.resumen-card{
    padding:24px!important;
    min-height:128px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
}

.kpi strong,
.kpi-card strong,
.resumen-card strong,
.kpi .numero,
.kpi-card .numero{
    font-size:32px!important;
    color:var(--nl-text)!important;
    letter-spacing:-.04em!important;
}

.kpi small,
.kpi-card small,
.resumen-card small{
    color:var(--nl-muted)!important;
    font-weight:700!important;
}

.kpi .icono,
.kpi-card .icono,
.resumen-card .icono,
.icono-kpi{
    width:58px!important;
    height:58px!important;
    border-radius:20px!important;
    display:grid!important;
    place-items:center!important;
    background:#fff3e8!important;
    color:var(--nl-orange)!important;
    font-size:24px!important;
}

/* Botones */
.boton,
.btn,
button,
input[type="submit"],
button[type="submit"]{
    border-radius:14px!important;
    font-weight:850!important;
    min-height:42px;
}

.boton.naranja,
.btn-primary,
button[type="submit"],
input[type="submit"],
.boton-principal{
    background:linear-gradient(135deg,var(--nl-orange),var(--nl-orange-dark))!important;
    color:#fff!important;
    border-color:var(--nl-orange)!important;
    box-shadow:0 12px 26px rgba(255,111,0,.24)!important;
}

.boton.secundario,
.btn-outline,
.boton-outline{
    border:1px solid var(--nl-border)!important;
    background:#fff!important;
    color:var(--nl-text)!important;
}

/* Formularios */
input,
select,
textarea{
    border:1px solid var(--nl-border)!important;
    border-radius:14px!important;
    min-height:44px!important;
    padding:11px 13px!important;
    background:#fff!important;
    color:var(--nl-text)!important;
    outline:none!important;
}

input:focus,
select:focus,
textarea:focus{
    border-color:var(--nl-orange)!important;
    box-shadow:0 0 0 4px rgba(255,111,0,.12)!important;
}

label{
    color:var(--nl-text)!important;
    font-weight:750!important;
}

/* Tablas */
table{
    width:100%;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:#fff!important;
    border-radius:20px!important;
    overflow:hidden!important;
    box-shadow:var(--nl-shadow-soft)!important;
}

thead th{
    background:#f8fafc!important;
    color:#334155!important;
    font-size:13px!important;
    text-transform:uppercase!important;
    letter-spacing:.04em!important;
    padding:15px!important;
    border-bottom:1px solid var(--nl-border)!important;
}

tbody td{
    padding:15px!important;
    border-bottom:1px solid #eef2f7!important;
    color:#334155!important;
}

tbody tr:hover td{
    background:#fff7ed!important;
}

/* Badges */
.badge,
.etiqueta,
.estado,
.pill{
    border-radius:999px!important;
    padding:6px 10px!important;
    font-weight:800!important;
}

/* Dashboard: bloques principales */
.dashboard-grid,
.panel-grid,
.grid-2{
    gap:20px!important;
}

/* Enlaces/acento */
a:hover{
    color:var(--nl-orange);
}

/* Footer interno si aparece */
.footer-nexolabor{
    background:linear-gradient(180deg,#111827,#0b1422)!important;
}

/* Responsive */
@media(max-width:1180px){
    .kpis,
    .grid-kpi,
    .dashboard-kpis,
    .resumen-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media(max-width:900px){
    .lateral,
    .sidebar,
    .menu-lateral,
    .panel-lateral{
        box-shadow:0 20px 60px rgba(15,23,42,.25)!important;
    }

    .lateral .marca-logo-app,
    .sidebar .marca-logo-app,
    .menu-lateral .marca-logo-app,
    .marca-logo-app{
        min-height:92px!important;
        margin:14px!important;
        padding:12px!important;
    }

    .lateral .marca-logo-app img,
    .sidebar .marca-logo-app img,
    .menu-lateral .marca-logo-app img,
    .marca-logo-app img{
        height:58px!important;
        max-height:58px!important;
        max-width:210px!important;
    }

    table{
        display:block!important;
        overflow-x:auto!important;
        white-space:nowrap!important;
    }
}

@media(max-width:650px){
    .kpis,
    .grid-kpi,
    .dashboard-kpis,
    .resumen-grid{
        grid-template-columns:1fr!important;
    }

    .tarjeta,
    .card,
    .caja,
    .box{
        border-radius:18px!important;
    }

    .kpi,
    .kpi-card,
    .resumen-card{
        min-height:110px!important;
        padding:20px!important;
    }
}


/* ============================================================
   NexoLabor - Firma digital
   ============================================================ */
.firma-digital-modulo .kpi-grid{margin-top:18px}
.badge.pendiente{background:#fff7ed!important;color:#c2410c!important}
.badge.ok{background:#ecfdf5!important;color:#047857!important}
.badge.error{background:#fef2f2!important;color:#b91c1c!important}
.firma-canvas-wrap canvas{cursor:crosshair}
.acciones-tabla{display:flex;gap:8px;flex-wrap:wrap}
code{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:6px 8px;display:inline-block;word-break:break-all}


/* ============================================================
   Dashboard Ejecutivo PRO NexoLabor
   ============================================================ */

.dashboard-pro{display:grid;gap:22px}
.dash-hero-pro{
    background:linear-gradient(135deg,#0f172a 0%,#111827 58%,#2a1608 100%);
    color:#fff;
    border-radius:30px;
    padding:34px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    box-shadow:0 26px 70px rgba(15,23,42,.18);
    overflow:hidden;
    position:relative;
}
.dash-hero-pro:after{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    right:-90px;
    top:-90px;
    background:rgba(255,111,0,.18);
    border-radius:50%;
}
.dash-hero-pro > *{position:relative;z-index:1}
.dash-eyebrow{
    display:inline-flex;
    background:rgba(255,111,0,.15);
    color:#ff7b16;
    border:1px solid rgba(255,111,0,.35);
    border-radius:999px;
    padding:8px 13px;
    font-weight:900;
    font-size:13px;
    margin-bottom:12px;
}
.dash-hero-pro h1{
    margin:0;
    font-size:clamp(30px,4vw,48px);
    line-height:1.05;
    letter-spacing:-.045em;
}
.dash-hero-pro p{
    max-width:680px;
    color:#cbd5e1;
    margin:14px 0 0;
    line-height:1.7;
    font-size:16px;
}
.dash-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.dashboard-kpis-pro{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
}
.kpi-card-pro{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:24px;
    padding:24px;
    box-shadow:0 14px 38px rgba(15,23,42,.07);
    min-height:136px;
    position:relative;
    overflow:hidden;
}
.kpi-card-pro:after{
    content:"";
    position:absolute;
    right:-35px;
    top:-35px;
    width:96px;
    height:96px;
    background:#fff3e8;
    border-radius:50%;
}
.kpi-card-pro span{
    color:#64748b;
    font-weight:850;
    font-size:14px;
}
.kpi-card-pro strong{
    display:block;
    color:#0f172a;
    font-size:36px;
    letter-spacing:-.05em;
    margin:12px 0 4px;
}
.kpi-card-pro small{color:#94a3b8;font-weight:700}
.dash-grid-pro{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.dash-chart-card{min-height:340px}
.chart-bars-pro{
    height:220px;
    display:flex;
    align-items:end;
    gap:8px;
    padding-top:18px;
    border-bottom:1px solid #e5e7eb;
}
.bar-item-pro{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:end;
    gap:8px;
}
.bar-item-pro span{
    width:100%;
    max-width:18px;
    background:linear-gradient(180deg,#ff9a3d,#ff6f00);
    border-radius:999px 999px 4px 4px;
    display:block;
    min-height:8px;
    box-shadow:0 8px 18px rgba(255,111,0,.22);
}
.bar-item-pro small{font-size:11px;color:#94a3b8}
.mini-list-pro{display:grid;gap:13px;margin-top:18px}
.fila-barra-pro{
    display:grid;
    grid-template-columns:150px 1fr;
    align-items:center;
    gap:14px;
}
.fila-barra-pro strong{display:block;color:#0f172a}
.fila-barra-pro small{color:#94a3b8}
.fila-barra-pro span{
    height:11px;
    background:#f1f5f9;
    border-radius:999px;
    overflow:hidden;
}
.fila-barra-pro span i{
    height:100%;
    display:block;
    background:linear-gradient(90deg,#ff6f00,#ff9a3d);
    border-radius:999px;
}
.actividad-pro{display:grid;gap:14px}
.actividad-item-pro{
    display:grid;
    grid-template-columns:14px 1fr;
    gap:12px;
    align-items:start;
    padding:12px;
    background:#f8fafc;
    border-radius:16px;
}
.actividad-item-pro > span{
    width:12px;
    height:12px;
    background:#ff6f00;
    border-radius:50%;
    margin-top:5px;
    box-shadow:0 0 0 5px rgba(255,111,0,.12);
}
.actividad-item-pro strong{color:#0f172a}
.actividad-item-pro p{margin:4px 0;color:#64748b}
.actividad-item-pro small{color:#94a3b8}
.quick-grid-pro{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-top:16px;
}
.quick-grid-pro a{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:16px;
    text-decoration:none;
    color:#0f172a;
    font-weight:850;
    text-align:center;
    transition:.18s ease;
}
.quick-grid-pro a:hover{
    background:#fff7ed;
    border-color:#fed7aa;
    color:#ff6f00;
    transform:translateY(-2px);
}
@media(max-width:1180px){
    .dashboard-kpis-pro{grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .dash-grid-pro{grid-template-columns:1fr}
}
@media(max-width:720px){
    .dash-hero-pro{flex-direction:column;align-items:flex-start;padding:26px}
    .dashboard-kpis-pro{grid-template-columns:1fr!important}
    .quick-grid-pro{grid-template-columns:1fr 1fr}
    .fila-barra-pro{grid-template-columns:1fr}
}


/* ============================================================
   NexoLabor - Nominas PRO
   ============================================================ */
.nominas-pro .kpi-grid{margin-top:18px}
.badge.pendiente{background:#fff7ed!important;color:#c2410c!important}
.badge.ok{background:#ecfdf5!important;color:#047857!important}
.badge.error{background:#fef2f2!important;color:#b91c1c!important}
.firma-canvas-wrap canvas{cursor:crosshair}
.acciones-tabla{display:flex;gap:8px;flex-wrap:wrap}
code{background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;padding:6px 8px;display:inline-block;word-break:break-all}


/* ============================================================
   Centro Notificaciones PRO
   ============================================================ */
.badge.pendiente{background:#fff7ed!important;color:#c2410c!important}
.badge.ok{background:#ecfdf5!important;color:#047857!important}
.notificaciones-resumen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(max-width:700px){.notificaciones-resumen{grid-template-columns:1fr}}


/* ============================================================
   Exportaciones PRO NexoLabor
   ============================================================ */
.export-grid{margin-top:18px}
.export-card{
    text-decoration:none!important;
    color:#0f172a!important;
    padding:24px!important;
    transition:.18s ease;
}
.export-card strong{
    display:block;
    font-size:20px;
    margin-bottom:8px;
}
.export-card small{
    color:#64748b;
    line-height:1.6;
}
.export-card:hover{
    transform:translateY(-3px);
    border-color:#ff6f00!important;
    box-shadow:0 18px 45px rgba(15,23,42,.10)!important;
}


/* ============================================================
   Calendario Global PRO NexoLabor
   ============================================================ */
.cal-pro-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:22px;
    align-items:start;
}
.cal-pro-main{display:grid;gap:22px}
.cal-pro-side{display:grid;gap:22px;position:sticky;top:20px}
.cal-pro-hero{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    background:linear-gradient(135deg,#0f172a,#111827)!important;
    color:#fff!important;
}
.cal-pro-hero h3{font-size:34px;margin:8px 0 4px;color:#fff!important}
.cal-pro-hero p{color:#cbd5e1;margin:0}
.cal-legend{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:18px;
}
.cal-legend span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border-radius:999px;
    font-size:13px;
    font-weight:850;
    background:#f8fafc;
}
.cal-legend span:before{
    content:"";
    width:9px;
    height:9px;
    border-radius:50%;
    display:inline-block;
}
.tipo-turno:before{background:#ff6f00}
.tipo-vacacion:before{background:#16a34a}
.tipo-vacacion-pendiente:before{background:#f59e0b}
.tipo-ausencia:before{background:#dc2626}
.tipo-festivo:before{background:#2563eb}
.tipo-cumple:before{background:#9333ea}
.cal-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:10px;
}
.cal-head{
    text-align:center;
    font-weight:900;
    color:#475569;
    background:#f8fafc;
    padding:12px;
    border-radius:14px;
    font-size:13px;
    text-transform:uppercase;
}
.cal-cell{
    min-height:142px;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:18px;
    padding:10px;
    overflow:hidden;
    box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.cal-empty{
    background:transparent;
    border:0;
    box-shadow:none;
}
.cal-hoy{
    border-color:#ff6f00!important;
    box-shadow:0 0 0 4px rgba(255,111,0,.12)!important;
}
.cal-day{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:#f8fafc;
    color:#0f172a;
    font-weight:900;
    margin-bottom:8px;
}
.cal-hoy .cal-day{
    background:#ff6f00;
    color:#fff;
}
.cal-events{
    display:grid;
    gap:6px;
}
.cal-event{
    border-radius:10px;
    padding:7px 8px;
    font-size:12px;
    line-height:1.25;
    color:#fff;
}
.cal-event strong{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.cal-event small{
    display:block;
    opacity:.9;
    margin-top:2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.ev-turno{background:#ff6f00}
.ev-vacacion{background:#16a34a}
.ev-vacacion-pendiente{background:#f59e0b}
.ev-ausencia{background:#dc2626}
.ev-festivo{background:#2563eb}
.ev-cumple{background:#9333ea}
.cal-next-list{display:grid;gap:10px}
.cal-next-item{
    border-left:4px solid #ff6f00;
    background:#f8fafc;
    border-radius:14px;
    padding:12px;
}
.cal-next-item strong{display:block;color:#0f172a}
.cal-next-item span{display:block;margin-top:3px;color:#334155;font-weight:800}
.cal-next-item small{display:block;color:#64748b;margin-top:3px}
.ev-border-vacacion{border-left-color:#16a34a}
.ev-border-vacacion-pendiente{border-left-color:#f59e0b}
.ev-border-ausencia{border-left-color:#dc2626}
.ev-border-festivo{border-left-color:#2563eb}
.ev-border-cumple{border-left-color:#9333ea}
.quick-grid-pro.side{grid-template-columns:1fr 1fr}
@media(max-width:1100px){
    .cal-pro-layout{grid-template-columns:1fr}
    .cal-pro-side{position:relative;top:auto}
}
@media(max-width:760px){
    .cal-pro-hero{flex-direction:column;align-items:flex-start}
    .cal-grid{display:block}
    .cal-head{display:none}
    .cal-cell{min-height:auto;margin-bottom:10px}
    .cal-empty{display:none}
}


/* ============================================================
   Expediente 360 NexoLabor
   ============================================================ */
.exp360{display:grid;gap:22px}
.exp360-hero{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:24px;
    align-items:center;
    background:linear-gradient(135deg,#0f172a,#111827)!important;
    color:#fff!important;
}
.exp360-avatar{
    width:94px;
    height:94px;
    border-radius:28px;
    background:linear-gradient(135deg,#ff6f00,#ff9a3d);
    display:grid;
    place-items:center;
    color:#fff;
    font-size:34px;
    font-weight:900;
    box-shadow:0 18px 42px rgba(255,111,0,.28);
}
.exp360-info h1{
    color:#fff!important;
    margin:8px 0 6px;
    font-size:clamp(30px,4vw,46px);
}
.exp360-info p{margin:0;color:#cbd5e1}
.exp360-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:16px;
}
.exp360-meta span{
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.14);
    color:#e5e7eb;
    border-radius:999px;
    padding:8px 12px;
    font-size:13px;
    font-weight:750;
}
.exp360-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.exp360-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px;
}
.exp360-datos{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.exp360-datos div{
    background:#f8fafc;
    border:1px solid #e5e7eb;
    border-radius:16px;
    padding:14px;
}
.exp360-datos small{
    display:block;
    color:#64748b;
    font-weight:800;
    margin-bottom:5px;
}
.exp360-datos strong{
    color:#0f172a;
    word-break:break-word;
}
.tabla.mini th,.tabla.mini td{font-size:14px}
@media(max-width:980px){
    .exp360-hero{grid-template-columns:1fr;text-align:left}
    .exp360-actions{justify-content:flex-start}
    .exp360-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
    .exp360-datos{grid-template-columns:1fr}
    .exp360-avatar{width:76px;height:76px;font-size:26px}
}

/* ============================================================
   NexoLabor - Index profesional sin azules
   Paleta corporativa: naranja + antracita + blanco cálido
   ============================================================ */
:root{
  --nexo-primary:#ff6f00!important;
  --nexo-primary-dark:#d95400!important;
  --nexo-primary-soft:#fff3e8!important;
  --nexo-ink:#181818!important;
  --nexo-ink-2:#2b2b2b!important;
  --nexo-muted:#666f7a!important;
  --nexo-surface:#ffffff!important;
  --nexo-bg:#f7f5f2!important;
  --azul:#181818!important;
  --azul2:#2b2b2b!important;
  --azul3:#3a3a3a!important;
  --nexo-azul:#181818!important;
  --nexo-azul-2:#2b2b2b!important;
  --premium-blue:#181818!important;
}
body:has(.landing-2026){
  background:
    radial-gradient(circle at 15% 0%, rgba(255,111,0,.10), transparent 32rem),
    linear-gradient(180deg,#fffaf5 0%,#f7f5f2 45%,#ffffff 100%)!important;
}
.landing-2026 .cabecera,
.cabecera-nl2026{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid #ece7df!important;
  box-shadow:0 12px 34px rgba(24,24,24,.045)!important;
}
.cabecera-nl2026 .nav a,
.cabecera .nav a:not(.boton){
  color:#2b2b2b!important;
}
.cabecera-nl2026 .nav a:hover,
.cabecera-nl2026 .nav a.activo,
.cabecera .nav a:not(.boton):hover{
  color:#ff6f00!important;
  border-bottom-color:#ff6f00!important;
}
.hero-nl2026{
  background:
    radial-gradient(circle at 86% 18%, rgba(255,111,0,.18), transparent 23rem),
    linear-gradient(135deg,#ffffff 0%,#fffaf5 54%,#fff0df 100%)!important;
  border-bottom:1px solid #ece7df!important;
}
.hero-nl2026 h1,
.nl-section-head h2,
.nl-price-card strong,
.nl-card-light h2,
.screen-title,
.screen-chart strong,
.phone-time,
.nl-faq summary{
  color:#181818!important;
}
.hero-nl2026 p,
.nl-section-head p,
.nl-feature-grid p,
.nl-price-card p,
.nl-steps p,
.nl-faq p,
.hero-nl2026__trust,
.screen-title small,
.phone-card,
.hero-phone small{
  color:#666f7a!important;
}
.hero-nl2026 h1 span,
.hero-nl2026__eyebrow,
.screen-kpis strong,
.screen-kpis span,
.screen-sidebar b,
.nl-mini,
.nl-badge,
.nl-steps b,
.nl-list li:before,
.nl-price-card li:before{
  color:#ff6f00!important;
}
.btn-nl2026--primary,
.boton.naranja,
.hero-phone a{
  background:linear-gradient(135deg,#ff7a1a,#ff6f00)!important;
  border-color:#ff6f00!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(255,111,0,.23)!important;
}
.btn-nl2026--outline,
.boton.secundario{
  background:#fff!important;
  color:#2b2b2b!important;
  border-color:#e9dfd4!important;
}
.btn-nl2026--outline:hover,
.boton.secundario:hover{
  color:#ff6f00!important;
  border-color:#ffbd87!important;
  background:#fff8f2!important;
}
.hero-screen{
  background:#2b2b2b!important;
  border-color:#181818!important;
  box-shadow:0 24px 65px rgba(24,24,24,.18)!important;
}
.screen-sidebar,
.screen-content,
.screen-kpis div,
.screen-table,
.screen-chart,
.hero-phone,
.hero-nl2026__features,
.nl-feature-grid article,
.nl-price-card,
.nl-steps div,
.nl-faq details,
.nl-card-light{
  background:#ffffff!important;
  border-color:#ece7df!important;
  box-shadow:0 18px 45px rgba(24,24,24,.06)!important;
}
.screen-sidebar i{border-color:#d7d0c8!important}
.screen-sidebar i:nth-child(2){border-color:#ff6f00!important;background:#fff3e8!important}
.screen-chart em{
  background:linear-gradient(135deg,rgba(255,111,0,.10),rgba(255,111,0,.24))!important;
}
.screen-chart em:after{
  background:linear-gradient(90deg,#ffb56b,#ff6f00)!important;
}
.hero-keyboard{
  background:linear-gradient(180deg,#d8d3cc,#f7f3ee)!important;
}
.hero-phone{border-color:#181818!important}
.phone-notch{background:#181818!important}
.phone-card{background:#fffaf5!important;border-color:#ece7df!important}
.hero-nl2026__features span{
  background:#fff3e8!important;
  color:#ff6f00!important;
}
.hero-nl2026__features article{border-color:#ece7df!important}
.nl-card-dark{
  background:
    radial-gradient(circle at 86% 18%, rgba(255,111,0,.18), transparent 23rem), linear-gradient(135deg,#ffffff 0%,#fffaf5 54%,#fff0df 100%) !important;
  color:#000!important;
  border-color:#3a3a3a!important;
  box-shadow:0 24px 65px rgba(24,24,24,.16)!important;
}
.nl-card-dark .nl-mini{
  background:rgba(255,111,0,.16)!important;
  border-color:rgba(255,111,0,.32)!important;
  color:#ff6f00 !important;
}
.nl-card-dark .nl-list li{color:#000!important}
.nl-price-card.pro{
  background:linear-gradient(180deg,#fff8f2,#fff)!important;
  border-color:#ffbd87!important;
}
.nl-cta{
  background:
    radial-gradient(circle at 86% 18%, rgba(255,111,0,.18), transparent 23rem), linear-gradient(135deg,#ffffff 0%,#fffaf5 54%,#fff0df 100%) !important;
  color:#000!important;
}
.nl-cta p{color:#000!important}
.nl-sector-grid div{
  background:#fff!important;
  border:1px solid #ece7df!important;
  color:#2b2b2b!important;
  box-shadow:0 12px 30px rgba(24,24,24,.05)!important;
}
.nl-feature-grid article:hover,
.nl-price-card:hover,
.nl-steps div:hover,
.nl-faq details:hover,
.hero-nl2026__features article:hover{
  border-color:#ffbd87!important;
  box-shadow:0 24px 58px rgba(255,111,0,.10)!important;
}
.dot.info,.dot.warn{background:#ff6f00!important;color:#ff6f00!important}
.badge.basic{background:#fff3e8!important;color:#b64b00!important}
.tipo-festivo:before,.ev-festivo{background:#ff6f00!important}.ev-border-festivo{border-left-color:#ff6f00!important}

/* ============================================================
   NexoLabor 2026 - Rediseño interno profesional responsive
   Aplicado a todo el panel sin tocar la lógica PHP.
   ============================================================ */
body.app-interna.nl-app-2026{
  --panel-bg:#f6f3ef;
  --panel-card:#ffffff;
  --panel-text:#15181d;
  --panel-muted:#6b7280;
  --panel-border:#e8e0d7;
  --panel-orange:#ff6b00;
  --panel-orange-2:#ff8a2a;
  --panel-dark:#171a20;
  --panel-dark-2:#232832;
  background:radial-gradient(circle at top left,rgba(255,107,0,.10),transparent 34%),var(--panel-bg)!important;
  color:var(--panel-text)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
body.app-interna .layout-nl2026{
  display:grid!important;
  grid-template-columns:292px minmax(0,1fr)!important;
  min-height:100vh!important;
  background:transparent!important;
}
body.app-interna .lateral-nl2026{
  position:sticky!important;
  top:0!important;
  height:100vh!important;
  overflow-y:auto!important;
  padding:18px 14px!important;
  background:linear-gradient(180deg,#1f232b 0%,#14171d 100%)!important;
  border-right:1px solid rgba(255,255,255,.08)!important;
  box-shadow:18px 0 50px rgba(17,24,39,.18)!important;
  scrollbar-width:thin;
}
body.app-interna .lateral-nl2026::-webkit-scrollbar{width:8px}
body.app-interna .lateral-nl2026::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}
body.app-interna .lateral-nl2026 .marca-logo-app{
  min-height:96px!important;
  margin:4px 4px 16px!important;
  border-radius:24px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.22)!important;
}
body.app-interna .lateral-nl2026 .marca-logo-app img{height:62px!important;max-height:62px!important;max-width:220px!important}
body.app-interna .usuario-mini{
  margin:0 4px 18px!important;
  padding:14px 15px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.075)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  color:#fff!important;
  font-weight:850!important;
}
body.app-interna .usuario-mini small{color:#b9c1cf!important;font-weight:750!important;text-transform:capitalize!important}
body.app-interna .menu-titulo{
  margin:18px 10px 8px!important;
  color:#a5adba!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
}
body.app-interna .lateral-nl2026 a:not(.marca-logo-app){
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  min-height:43px!important;
  margin:4px 2px!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  color:#e7e9ee!important;
  font-weight:790!important;
  font-size:14px!important;
  line-height:1.15!important;
  border:1px solid transparent!important;
}
body.app-interna .lateral-nl2026 a:not(.marca-logo-app)::before{
  content:"";
  width:9px;height:9px;border-radius:999px;flex:0 0 9px;
  background:rgba(255,255,255,.26);
  box-shadow:0 0 0 4px rgba(255,255,255,.035);
}
body.app-interna .lateral-nl2026 a:hover:not(.marca-logo-app){
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.10)!important;
  color:#fff!important;
  transform:translateX(2px)!important;
}
body.app-interna .lateral-nl2026 a.activo:not(.marca-logo-app){
  background:linear-gradient(135deg,var(--panel-orange),var(--panel-orange-2))!important;
  color:#fff!important;
  box-shadow:0 12px 25px rgba(255,107,0,.28)!important;
}
body.app-interna .lateral-nl2026 a.activo:not(.marca-logo-app)::before{background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.20)}
body.app-interna .salir-menu{
  margin-top:18px!important;
  background:rgba(239,68,68,.14)!important;
  color:#fecaca!important;
  border-color:rgba(239,68,68,.22)!important;
}
body.app-interna .contenido-nl2026{
  min-width:0!important;
  padding:24px 28px 34px!important;
  background:transparent!important;
}
body.app-interna .barra-nl2026{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  min-height:82px!important;
  margin:-24px -28px 26px!important;
  padding:18px 28px!important;
  background:rgba(246,243,239,.88)!important;
  backdrop-filter:blur(18px)!important;
  border-bottom:1px solid rgba(232,224,215,.82)!important;
  box-shadow:none!important;
}
body.app-interna .mini-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--panel-orange)!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.app-interna .barra-nl2026 h1{
  margin:3px 0 0!important;
  font-size:clamp(25px,3vw,38px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
body.app-interna .topbar-actions{display:flex!important;gap:10px!important;align-items:center!important;flex-wrap:wrap!important}
body.app-interna .tarjeta,
body.app-interna .card,
body.app-interna .caja,
body.app-interna .box,
body.app-interna .panel-card,
body.app-interna .dashboard-card,
body.app-interna .kpi,
body.app-interna .kpi-card,
body.app-interna .resumen-card{
  background:rgba(255,255,255,.94)!important;
  border:1px solid var(--panel-border)!important;
  border-radius:26px!important;
  box-shadow:0 18px 45px rgba(31,35,43,.075)!important;
}
body.app-interna .tarjeta{padding:24px!important}
body.app-interna .tarjeta h2,
body.app-interna .tarjeta h3,
body.app-interna .card h2,
body.app-interna .card h3{letter-spacing:-.035em!important;color:var(--panel-text)!important}
body.app-interna .grid,
body.app-interna .grid-2,
body.app-interna .grid-3,
body.app-interna .dashboard-grid,
body.app-interna .panel-grid{gap:20px!important}
body.app-interna .grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.app-interna .grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
body.app-interna .kpi{
  color:var(--panel-text)!important;
  font-size:34px!important;
  letter-spacing:-.05em!important;
  border-left:5px solid var(--panel-orange)!important;
}
body.app-interna .boton,
body.app-interna .btn,
body.app-interna button,
body.app-interna input[type="submit"]{
  border-radius:14px!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
}
body.app-interna .boton:not(.secundario):not(.peligro):not(.ok),
body.app-interna .boton.naranja,
body.app-interna .btn-primary,
body.app-interna button[type="submit"],
body.app-interna input[type="submit"]{
  background:linear-gradient(135deg,var(--panel-orange),var(--panel-orange-2))!important;
  color:#fff!important;
  border:1px solid rgba(255,107,0,.55)!important;
  box-shadow:0 12px 24px rgba(255,107,0,.22)!important;
}
body.app-interna .boton.secundario,
body.app-interna .btn-outline{
  background:#fff!important;
  color:var(--panel-dark)!important;
  border:1px solid var(--panel-border)!important;
  box-shadow:0 8px 18px rgba(31,35,43,.05)!important;
}
body.app-interna input,
body.app-interna select,
body.app-interna textarea{
  background:#fff!important;
  border:1px solid var(--panel-border)!important;
  border-radius:15px!important;
  min-height:46px!important;
}
body.app-interna input:focus,
body.app-interna select:focus,
body.app-interna textarea:focus{
  border-color:var(--panel-orange)!important;
  box-shadow:0 0 0 4px rgba(255,107,0,.13)!important;
}
body.app-interna .tabla,
body.app-interna table{
  width:100%!important;
  background:#fff!important;
  border:1px solid var(--panel-border)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 16px 42px rgba(31,35,43,.065)!important;
}
body.app-interna .tabla th,
body.app-interna thead th{
  background:#fbf8f4!important;
  color:#555d69!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
}
body.app-interna .tabla td,
body.app-interna tbody td{color:#333943!important}
body.app-interna tbody tr:hover td{background:#fff6ed!important}
body.app-interna .estado,
body.app-interna .badge,
body.app-interna .pill{
  border-radius:999px!important;
  font-weight:950!important;
  border:1px solid rgba(0,0,0,.04)!important;
}
body.app-interna .panel-hero,
body.app-interna .dash-hero-pro{
  background:radial-gradient(circle at 86% 18%, rgba(255,111,0,.18), transparent 23rem), linear-gradient(135deg,#ffffff 0%,#fffaf5 54%,#fff0df 100%) !important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 22px 60px rgba(31,35,43,.17)!important;
}
body.app-interna .footer-app{display:none!important}
body.app-interna.modo-oscuro{
  --panel-bg:#101216;--panel-card:#181b21;--panel-text:#f8fafc;--panel-muted:#a8b0bd;--panel-border:#2b3038;
  background:#101216!important;color:#f8fafc!important;
}
body.app-interna.modo-oscuro .barra-nl2026{background:rgba(16,18,22,.86)!important;border-bottom-color:#2b3038!important}
body.app-interna.modo-oscuro .tarjeta,
body.app-interna.modo-oscuro .card,
body.app-interna.modo-oscuro .caja,
body.app-interna.modo-oscuro .box,
body.app-interna.modo-oscuro .tabla,
body.app-interna.modo-oscuro table,
body.app-interna.modo-oscuro input,
body.app-interna.modo-oscuro select,
body.app-interna.modo-oscuro textarea,
body.app-interna.modo-oscuro .boton.secundario{background:#181b21!important;color:#f8fafc!important;border-color:#2b3038!important}
body.app-interna.modo-oscuro thead th,
body.app-interna.modo-oscuro .tabla th{background:#1f232b!important;color:#d6dce7!important}
body.app-interna.modo-oscuro tbody td{color:#e5e7eb!important;border-bottom-color:#2b3038!important}
body.app-interna.modo-oscuro tbody tr:hover td{background:#211b16!important}

@media(max-width:1180px){
  body.app-interna .layout-nl2026{grid-template-columns:262px minmax(0,1fr)!important}
  body.app-interna .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  body.app-interna .layout-nl2026{display:block!important}
  body.app-interna .boton-menu-movil{display:inline-flex!important;position:fixed!important;left:14px!important;top:14px!important;z-index:220!important;background:#fff!important;color:#171a20!important;border:1px solid var(--panel-border)!important;border-radius:16px!important;box-shadow:0 14px 34px rgba(31,35,43,.18)!important}
  body.app-interna .lateral-nl2026{position:fixed!important;z-index:210!important;inset:0 auto 0 0!important;width:min(88vw,330px)!important;height:100dvh!important;transform:translateX(-105%)!important;transition:transform .24s ease!important;padding-top:18px!important}
  body.app-interna.menu-abierto .lateral-nl2026{transform:translateX(0)!important}
  body.app-interna.menu-abierto::after{content:"";position:fixed;inset:0;background:rgba(15,23,42,.50);z-index:200;backdrop-filter:blur(3px)}
  body.app-interna .cerrar-menu-movil{display:inline-flex!important;position:absolute!important;right:12px!important;top:12px!important;background:rgba(255,255,255,.11)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:14px!important;width:42px!important;height:42px!important;align-items:center!important;justify-content:center!important;font-size:25px!important}
  body.app-interna .contenido-nl2026{padding:92px 16px 26px!important}
  body.app-interna .barra-nl2026{position:relative!important;margin:-92px -16px 22px!important;padding:72px 16px 18px!important;align-items:flex-start!important;gap:14px!important;flex-direction:column!important;background:rgba(246,243,239,.96)!important}
  body.app-interna .topbar-actions{width:100%!important}.topbar-actions .boton{flex:1 1 auto!important}
  body.app-interna .grid-3,body.app-interna .grid-2{grid-template-columns:1fr!important}
  body.app-interna .filtros{grid-template-columns:1fr!important}
  body.app-interna table,body.app-interna .tabla{display:block!important;overflow-x:auto!important;white-space:nowrap!important;border-radius:18px!important}
}
@media(max-width:520px){
  body.app-interna .contenido-nl2026{padding-left:12px!important;padding-right:12px!important}
  body.app-interna .barra-nl2026{margin-left:-12px!important;margin-right:-12px!important;padding-left:12px!important;padding-right:12px!important}
  body.app-interna .barra-nl2026 h1{font-size:26px!important}
  body.app-interna .tarjeta{padding:18px!important;border-radius:20px!important}
  body.app-interna .acciones,body.app-interna .inline,body.app-interna .acciones-campo{flex-direction:column!important;align-items:stretch!important}
  body.app-interna .acciones .boton,body.app-interna .inline .boton,body.app-interna .acciones-campo .boton{width:100%!important}
}


/* =========================================================
   NexoLabor RRHH PRO Responsive UI - empleados/fichajes/vacaciones/ausencias/turnos/nominas/documentos
   ========================================================= */
body.app-interna .panel-unicolumna,
body.app-interna .empleados-stack,
body.app-interna .nominas-pro{
  display:flex!important;
  flex-direction:column!important;
  gap:24px!important;
  width:100%!important;
  max-width:1280px!important;
  margin:0 auto!important;
}
body.app-interna .panel-unicolumna>.tarjeta,
body.app-interna .empleados-stack>.tarjeta,
body.app-interna .nominas-pro>.tarjeta{
  width:100%!important;
}
body.app-interna .tarjeta h3{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:16px!important;
  color:#ff740c!important;
  letter-spacing:-.03em!important;
}
body.app-interna .tarjeta h3::before{
  content:"";
  width:10px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(180deg,#ff7a1a,#ff6b00);
  box-shadow:0 8px 18px rgba(255,107,0,.22);
  flex:0 0 auto;
}
body.app-interna .form-grid,
body.app-interna form .grid.grid-2,
body.app-interna .tarjeta form .grid-2{
  gap:16px!important;
}
body.app-interna .campo label{
  color:#525a66!important;
  font-size:13px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  margin-bottom:7px!important;
}
body.app-interna .campo textarea{
  min-height:110px!important;
  resize:vertical!important;
}
body.app-interna .tabla{
  min-width:860px;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.app-interna .tarjeta:has(.tabla){
  overflow-x:auto!important;
}
body.app-interna .acciones-tabla,
body.app-interna .acciones-empleado,
body.app-interna td form.inline{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
body.app-interna .boton.mini,
body.app-interna .tabla .boton{
  min-height:36px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}
body.app-interna .estado.pendiente,
body.app-interna .badge.error{
  background:#fff7ed!important;
  color:#9a3412!important;
  border-color:#fed7aa!important;
}
body.app-interna .estado.aprobada,
body.app-interna .badge.ok,
body.app-interna .boton.ok{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
  box-shadow:none!important;
}
body.app-interna .estado.rechazada,
body.app-interna .boton.peligro{
  background:#fee2e2!important;
  color:#991b1b!important;
  border-color:#fecaca!important;
  box-shadow:none!important;
}
body.app-interna .checks{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:10px!important;
}
body.app-interna .checks label,
body.app-interna .check{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:12px 14px!important;
  border:1px solid var(--panel-border)!important;
  border-radius:14px!important;
  background:#fffaf5!important;
  font-weight:800!important;
  color:#343a44!important;
}
body.app-interna .kpi-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
body.app-interna .kpi-card{
  text-decoration:none!important;
  background:linear-gradient(180deg,#fff,#fff9f3)!important;
}
body.app-interna .modulo-pro,
body.app-interna .tarjeta-formulario{
  border-top:4px solid #ff6b00!important;
}
@media(max-width:900px){
  body.app-interna .panel-unicolumna,
  body.app-interna .empleados-stack,
  body.app-interna .nominas-pro{gap:16px!important;max-width:100%!important}
  body.app-interna .kpi-grid{grid-template-columns:1fr!important}
  body.app-interna .tarjeta h3{font-size:20px!important}
  body.app-interna .tarjeta h3::before{height:23px!important}
  body.app-interna .tabla{min-width:760px!important;font-size:13px!important}
  body.app-interna .acciones-tabla,
  body.app-interna .acciones-empleado,
  body.app-interna td form.inline{align-items:stretch!important}
}
@media(max-width:520px){
  body.app-interna .tabla{min-width:700px!important}
  body.app-interna .checks{grid-template-columns:1fr!important}
  body.app-interna .boton,
  body.app-interna button{width:100%!important;justify-content:center!important;text-align:center!important}
  body.app-interna .topbar-actions .boton{width:auto!important}
}

/* ============================================================
   FIX CABECERA MÓVIL PANEL INTERNO
   Logo a la izquierda y menú a la derecha.
   ============================================================ */
.app-mobile-header{
    display:none;
}

@media(max-width:900px){
    body.app-interna{
        padding-top:0!important;
        background:#f6f3ee!important;
    }

    .app-mobile-header{
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:14px!important;
        position:sticky!important;
        top:0!important;
        z-index:120!important;
        width:100%!important;
        min-height:74px!important;
        padding:12px 18px!important;
        background:rgba(255,255,255,.96)!important;
        border-bottom:1px solid rgba(226,232,240,.9)!important;
        box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
        backdrop-filter:blur(14px)!important;
    }

    .app-mobile-logo{
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
        text-decoration:none!important;
        min-width:0!important;
        flex:1!important;
    }

    .app-mobile-logo img{
        display:block!important;
        width:auto!important;
        height:46px!important;
        max-width:210px!important;
        object-fit:contain!important;
    }

    .app-mobile-header .boton-menu-movil{
        position:static!important;
        inset:auto!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        flex:0 0 48px!important;
        width:48px!important;
        height:48px!important;
        min-width:48px!important;
        min-height:48px!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        border-radius:16px!important;
        background:#111827!important;
        color:#fff!important;
        font-size:24px!important;
        line-height:1!important;
        box-shadow:0 12px 28px rgba(17,24,39,.18)!important;
    }

    .boton-menu-movil:not(.app-mobile-header .boton-menu-movil){
        display:none!important;
    }

    .contenido{
        padding-top:18px!important;
    }

    .barra-superior{
        margin:0 0 18px!important;
        padding:0!important;
        background:transparent!important;
        border-bottom:0!important;
        box-shadow:none!important;
        backdrop-filter:none!important;
        position:relative!important;
    }

    .barra-superior h1{
        font-size:30px!important;
        line-height:1.05!important;
        color:#111827!important;
        letter-spacing:-.055em!important;
    }

    .barra-superior .mini-label{
        color:#ff6b00!important;
        font-size:13px!important;
        letter-spacing:.18em!important;
        font-weight:950!important;
    }

    .barra-superior .topbar-actions{
        display:none!important;
    }

    .panel-hero{
        border-radius:28px!important;
        margin-top:8px!important;
    }
}

@media(max-width:420px){
    .app-mobile-header{
        min-height:68px!important;
        padding:10px 14px!important;
    }
    .app-mobile-logo img{
        height:42px!important;
        max-width:185px!important;
    }
    .app-mobile-header .boton-menu-movil{
        width:46px!important;
        height:46px!important;
        flex-basis:46px!important;
        min-width:46px!important;
        min-height:46px!important;
        border-radius:15px!important;
    }
}

/* ============================================================
   FIX DEFINITIVO 08-06-2026: menú móvil SIEMPRE a la derecha
   Logo izquierda + hamburguesa derecha en panel interno y cabecera pública.
   ============================================================ */
@media (max-width: 900px){
  body.app-interna .app-mobile-header{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  body.app-interna .app-mobile-logo{
    order:1!important;
    flex:1 1 auto!important;
    justify-content:flex-start!important;
    margin-right:auto!important;
  }
  body.app-interna .app-mobile-header > .boton-menu-movil{
    order:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    margin-left:auto!important;
    margin-right:0!important;
    transform:none!important;
  }

  .cabecera .fila{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .cabecera .marca-logo-web,
  .cabecera .marca-logo{
    order:1!important;
    margin-right:auto!important;
  }
  .cabecera .hamburguesa-publica{
    order:2!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    margin-left:auto!important;
    margin-right:0!important;
    transform:none!important;
  }
}


/* ============================================================
   QA FINAL 08-06-2026 - Limpieza visual, responsive y informe oficial
   ============================================================ */
:root{
  --azul:#181818!important;
  --azul2:#262626!important;
  --azul3:#333333!important;
  --nexo-azul:#181818!important;
  --nexo-azul-2:#262626!important;
  --premium-blue:#181818!important;
  --naranja:#ff6b00;
  --naranja2:#ff8a26;
  --borde:#e6e8ec;
}
.boton:not(.naranja):not(.secundario):not(.peligro):not(.ok){background:#181818!important;color:#fff!important}
.grafica-barras span,.pasos span.activo{background:linear-gradient(180deg,#ff6b00,#ff8a26)!important;border-color:#ff6b00!important}
.tipo-festivo:before,.ev-festivo{background:#ff6b00!important}.ev-border-festivo{border-left-color:#ff6b00!important}
.tabla-scroll,.tabla-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:18px}.tabla-scroll table,.tabla-responsive table{min-width:760px}
.tabla th,.tabla td{vertical-align:middle}.tabla td small{display:block;color:#64748b;margin-top:3px}.tabla-pro th{white-space:nowrap}.tabla-pro td{white-space:nowrap}.tabla-pro td:first-child{white-space:normal;min-width:210px}
.nl-report-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px;background:linear-gradient(135deg,#fff,#fff8f2)!important;border-color:#ffd0a3!important}.nl-report-hero h2{font-size:32px;margin:4px 0 8px}.nl-report-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;min-width:360px}.nl-report-filter .campo{margin:0;min-width:170px}.nl-report-filter .acciones{align-items:center}.nl-kpis-report{margin-bottom:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.nl-kpis-report .tarjeta{padding:18px!important}.nl-kpis-report span{display:block;color:#64748b;font-weight:800;font-size:13px}.nl-kpis-report strong{display:block;font-size:30px;letter-spacing:-.05em;color:#181818;margin-top:6px}.nl-kpis-report.mini strong{font-size:26px}.nl-table-card .titulo-seccion{align-items:flex-start}.nl-report-signature{display:flex;justify-content:space-between;gap:20px;align-items:end}.firma-linea{min-width:220px;border-top:1px solid #9ca3af;text-align:center;padding-top:10px;color:#64748b;font-weight:800}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.badge.ok{background:#dcfce7;color:#166534}.badge.error{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}.layout .contenido{max-width:100%!important}.nl-report-hero{align-items:flex-start;flex-direction:column}.nl-report-filter{min-width:0;width:100%}}
@media(max-width:900px){
  .layout{display:block!important}.contenido{padding:18px 14px 34px!important}.layout .contenido{max-width:100%!important}.barra-superior{margin:-18px -14px 18px!important;padding:16px 14px!important}.barra-superior h1{font-size:23px!important}.barra-superior:after{display:none!important}.topbar-actions{display:none!important}
  body.app-interna .app-mobile-header{display:flex!important;position:sticky!important;top:0!important;z-index:200!important;background:#fff!important;border-bottom:1px solid var(--borde)!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important}.lateral{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,330px)!important;max-width:330px!important;transform:translateX(-105%)!important;transition:transform .22s ease!important;z-index:300!important;overflow:auto!important;border-radius:0 24px 24px 0!important}.lateral.abierto,.lateral.menu-abierto,body.menu-abierto .lateral{transform:translateX(0)!important}.cerrar-menu-movil{display:flex!important}
  .grid,.grid-2,.grid-3,.grid-4,.dos{grid-template-columns:1fr!important}.tarjeta{padding:18px!important;border-radius:20px!important}.acciones{width:100%;gap:8px}.acciones .boton,.acciones button,.acciones a{flex:1 1 auto}.campo input,.campo select,.campo textarea{font-size:16px!important;min-height:46px}.tabla-scroll,.tabla-responsive{margin:0 -2px}.tabla th,.tabla td{padding:11px 10px!important;font-size:14px}.nl-report-filter{display:block}.nl-report-filter .campo{margin-bottom:12px}.nl-report-signature{display:block}.firma-linea{margin-top:30px;min-width:0}
}
@media(max-width:520px){.nl-kpis-report strong{font-size:25px}.nl-report-hero h2{font-size:26px}.boton{width:auto}.acciones .boton,.acciones button,.acciones a{width:100%;justify-content:center}.app-mobile-logo img{max-width:180px!important;height:auto!important}.boton-menu-movil{margin-left:auto!important}}
@media print{.lateral,.app-mobile-header,.barra-superior,.footer-nexolabor,.nl-report-filter .acciones,.topbar-actions{display:none!important}.contenido{padding:0!important}.tarjeta{box-shadow:none!important;border:1px solid #ddd!important}.tabla-scroll{overflow:visible!important}.tabla-scroll table{min-width:0!important;font-size:11px}.nl-report-hero{display:block!important}.grid-4{grid-template-columns:repeat(4,1fr)!important}}

/* ============================================================
   FIX 08-06-2026 - Footer centrado SOLO en móvil
   En escritorio se mantiene el footer en columnas.
   ============================================================ */
@media (max-width: 700px){
  .footer-nexolabor.footer-publico,
  .footer-nexolabor{
    text-align:center!important;
  }

  .footer-nexolabor .footer-contenido{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    text-align:center!important;
    gap:30px!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }

  .footer-nexolabor .footer-marca,
  .footer-nexolabor .footer-col{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
  }

  .footer-nexolabor .footer-logo-card{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-nexolabor .footer-marca p{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    max-width:320px!important;
  }

  .footer-nexolabor .footer-pills{
    justify-content:center!important;
    align-items:center!important;
    width:100%!important;
  }

  .footer-nexolabor .footer-col h4{
    width:100%!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .footer-nexolabor .footer-col a{
    width:100%!important;
    text-align:center!important;
  }

  .footer-nexolabor .subfooter-nexolabor{
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .footer-nexolabor .subfooter-nexolabor span{
    display:block!important;
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
}

/* Botones hero juntos en móvil cuando hay espacio */
@media (max-width: 700px){
  .nl-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .nl-actions .boton{
    width:100%!important;
    justify-content:center!important;
    padding-left:12px!important;
    padding-right:12px!important;
    white-space:normal!important;
  }
}
@media (max-width: 380px){
  .nl-actions{
    grid-template-columns:1fr!important;
  }
}

/* Ajuste final CTA móvil: botones centrados, uno al lado del otro */
@media (max-width: 700px){
  .nl-cta__inner{
    align-items:center!important;
    text-align:center!important;
  }
  .nl-cta__inner > div:first-child{
    width:100%!important;
    text-align:center!important;
  }
  .nl-cta .nl-actions{
    width:100%!important;
    max-width:390px!important;
    margin:22px auto 0!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    justify-content:center!important;
    align-items:center!important;
  }
  .nl-cta .nl-actions .boton{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    text-align:center!important;
    white-space:nowrap!important;
    padding-left:12px!important;
    padding-right:12px!important;
    font-size:15px!important;
  }
}
@media (max-width: 340px){
  .nl-cta .nl-actions .boton{
    font-size:14px!important;
    padding-left:9px!important;
    padding-right:9px!important;
  }
}

.nl-feature-grid article{text-align:center;display:flex;flex-direction:column;align-items:center;height:100%}
.nl-feature-grid span{display:flex;justify-content:center;align-items:center;margin:0 auto}
.nl-feature-grid h3,.nl-feature-grid p{text-align:center}
@media (max-width:768px){
.hero-nl2026__buttons{display:flex;justify-content:center;gap:10px;flex-wrap:nowrap}
.hero-nl2026__buttons a{flex:0 1 auto}
}

/* Index: centrado profesional de sectores, planes y puesta en marcha */
.landing-completa .nl-detail-blocks,
.landing-completa .nl-pricing-preview,
.landing-completa .nl-how{
  text-align:center!important;
}

.landing-completa .nl-detail-blocks .nl-section-head,
.landing-completa .nl-pricing-preview .nl-section-head,
.landing-completa .nl-how .nl-section-head{
  text-align:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.landing-completa .nl-sector-grid div{
  text-align:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:76px!important;
}

.landing-completa .nl-price-grid{
  align-items:stretch!important;
}

.landing-completa .nl-price-card{
  text-align:center!important;
  align-items:center!important;
  justify-content:space-between!important;
  height:100%!important;
}

.landing-completa .nl-price-card > div,
.landing-completa .nl-price-card h3,
.landing-completa .nl-price-card p,
.landing-completa .nl-price-card strong{
  text-align:center!important;
  width:100%!important;
}

.landing-completa .nl-price-card ul{
  width:100%!important;
  max-width:330px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:grid!important;
  gap:10px!important;
  text-align:center!important;
  justify-items:center!important;
}

.landing-completa .nl-price-card li{
  text-align:center!important;
  width:100%!important;
}

.landing-completa .nl-price-card .boton{
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:150px!important;
}

.landing-completa .nl-steps div{
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-height:205px!important;
}

.landing-completa .nl-steps b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

.landing-completa .nl-steps h3,
.landing-completa .nl-steps p{
  text-align:center!important;
  width:100%!important;
}

@media (max-width:760px){
  .landing-completa .nl-sector-grid div,
  .landing-completa .nl-price-card,
  .landing-completa .nl-steps div{
    text-align:center!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .landing-completa .nl-price-card ul{
    max-width:100%!important;
  }
  .landing-completa .nl-price-card .boton{
    width:100%!important;
    max-width:260px!important;
  }
}


/* Cumplimiento AEPD cookies: panel claro aceptar/rechazar/configurar */
.cookie-preferences{margin-top:12px;display:grid;gap:8px;color:#334155;font-size:14px}.cookie-preferences label{display:flex;gap:8px;align-items:center}.banner-cookies .acciones{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.banner-cookies .acciones .boton{white-space:nowrap}
@media(max-width:700px){.banner-cookies{text-align:left}.banner-cookies .acciones{justify-content:center;width:100%}.banner-cookies .acciones .boton{flex:1 1 42%;min-width:130px}}

/* Fix banner cookies: el botón Configurar muestra claramente el panel de preferencias */
.cookie-preferences[hidden]{display:none!important;}
.cookie-preferences:not([hidden]){display:grid!important;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--borde,#e5e7eb);border-radius:14px;background:#f8fafc;}
#cookie-save-preferences{align-items:center;justify-content:center;}
@media(max-width:700px){
  #banner-cookies .acciones{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  #banner-cookies .acciones .boton{width:100%;min-width:0;}
}


/* NexoLabor v1.1 · Notificaciones, firma táctil y dashboard PRO */
.notif-top-link{position:relative;display:inline-flex;align-items:center;gap:6px;min-width:44px;justify-content:center}
.notif-top-link span{position:absolute;top:-8px;right:-8px;background:#ff6b00;color:#fff;border-radius:999px;font-size:11px;font-weight:800;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 8px 20px rgba(255,107,0,.28)}
.notif-hero form{margin:0}.notif-list{display:flex;flex-direction:column;gap:14px}.notif-item{display:grid;grid-template-columns:54px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(15,23,42,.08);border-radius:20px;padding:16px;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.05)}
.notif-item.sin-leer{border-color:rgba(255,107,0,.35);background:linear-gradient(135deg,#fff 0%,#fff7ed 100%)}.notif-icon{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:22px;background:#f1f5f9;color:#0f172a}.notif-icon.vacaciones{background:#ecfdf5}.notif-icon.ausencias{background:#fef2f2}.notif-icon.documentos{background:#fff7ed}.notif-icon.fichajes{background:#eff6ff}.notif-body p{margin:6px 0;color:#475569}.notif-body small{color:#64748b}.notif-title-row{display:flex;gap:10px;align-items:center;justify-content:space-between}.notif-title-row span{font-size:12px;border-radius:999px;padding:5px 9px;background:#f1f5f9;color:#334155;font-weight:700}.notif-action{margin:0}.empty-state-pro{text-align:center;padding:34px;border:1px dashed #cbd5e1;border-radius:20px;background:#f8fafc;color:#475569}.dash-grid-pro,.dashboard-kpis-pro{align-items:stretch}.kpi-card-pro strong{word-break:break-word}.firma-canvas-wrap canvas{max-width:100%}
@media(max-width:780px){.notif-item{grid-template-columns:44px 1fr;align-items:start}.notif-action{grid-column:1/-1;text-align:center}.notif-action .boton{width:100%}.notif-title-row{align-items:flex-start;flex-direction:column}.notif-icon{width:42px;height:42px;border-radius:14px}.notif-hero .dash-hero-actions{width:100%}.notif-hero .dash-hero-actions form,.notif-hero .dash-hero-actions button{width:100%}.topbar-actions{flex-wrap:wrap}.notif-top-link{order:-1}}


/* ============================================================
   Portal Asesoría integrado con diseño interno NexoLabor
   ============================================================ */
body.app-interna .asesoria-pro{max-width:1320px!important;}
body.app-interna .asesoria-hero-pro{
  background:linear-gradient(135deg,#151922 0%,#242833 60%,#ff6b00 160%)!important;
  color:#fff!important;
  border:0!important;
  border-radius:28px!important;
  padding:30px!important;
}
body.app-interna .asesoria-hero-pro h1{color:#ff7b16!important;margin:0!important;}
body.app-interna .asesoria-hero-pro p{color:#d6dbe5!important;}
body.app-interna .asesoria-kpis-pro{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
body.app-interna .asesoria-kpis-pro .kpi-card-pro{min-height:130px!important;}
body.app-interna .asesoria-form-pro label,
body.app-interna .modulo-pro label{
  color:#525a66!important;
  font-size:13px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
}
body.app-interna .asesoria-form-pro select,
body.app-interna .modulo-pro select,
body.app-interna .modulo-pro input,
body.app-interna .modulo-pro textarea{
  margin-top:8px!important;
  width:100%!important;
  min-height:48px!important;
  border:1px solid var(--panel-border,#e6dfd7)!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  background:#fff!important;
  color:#1f2937!important;
}
body.app-interna .tabla-pro th{background:#fff7ed!important;color:#9a3412!important;font-weight:950!important;text-transform:uppercase!important;font-size:12px!important;letter-spacing:.05em!important;}
body.app-interna .tabla-pro td{vertical-align:middle!important;}
body.app-interna .badge.neutro{background:#f1f5f9!important;color:#334155!important;border:1px solid #e2e8f0!important;border-radius:999px!important;padding:6px 10px!important;font-weight:850!important;display:inline-flex!important;}
body.app-interna .badge[class*="estado-"]{border-radius:999px!important;padding:6px 10px!important;font-weight:850!important;display:inline-flex!important;background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important;}
body.app-interna .badge.estado-inactiva,
body.app-interna .badge.estado-baja{background:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;}
body.app-interna .asesoria-pro .empty-state-pro{margin:0!important;}
@media(max-width:1100px){body.app-interna .asesoria-kpis-pro{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){
  body.app-interna .asesoria-kpis-pro{grid-template-columns:1fr!important;}
  body.app-interna .asesoria-hero-pro{padding:22px!important;border-radius:22px!important;}
  body.app-interna .asesoria-hero-pro .dash-hero-actions{width:100%!important;}
  body.app-interna .asesoria-hero-pro .dash-hero-actions .boton{flex:1 1 100%!important;}
}

/* =========================================================
   NexoLabor Pro Dashboard UI - estilo panel profesional
   ========================================================= */
body.app-interna.nl-app-2026{
  --nl-bg:#f6f8fb;
  --nl-sidebar:#101923;
  --nl-sidebar-2:#162330;
  --nl-orange:#ff6f00;
  --nl-orange-2:#ff8a26;
  --nl-text:#111827;
  --nl-muted:#667085;
  --nl-border:#e6eaf0;
  --nl-card:#ffffff;
  margin:0!important;
  background:var(--nl-bg)!important;
  color:var(--nl-text)!important;
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif!important;
}
.layout.layout-nl2026{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;background:var(--nl-bg)!important;min-height:100vh!important;}
.lateral.lateral-nl2026{width:280px!important;background:linear-gradient(180deg,#101923 0%,#111c26 55%,#0d1720 100%)!important;color:#fff!important;padding:22px 14px!important;box-shadow:12px 0 35px rgba(15,23,42,.16)!important;position:sticky!important;top:0!important;height:100vh!important;overflow:auto!important;border-right:1px solid rgba(255,255,255,.06)!important;}
.lateral-nl2026 .marca-logo-app{display:flex!important;align-items:center!important;justify-content:flex-start!important;background:radial-gradient(circle at 88% 15%,rgba(255,107,0,.22),transparent 250px),linear-gradient(135deg,#fff 0%,#fff8f1 58%,#ffe9d3 100%) !important;padding:0 8px 20px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;margin:0 0 16px!important;}
.lateral-nl2026 .marca-logo-app img{width:190px!important;max-width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important;}
.usuario-mini{margin:0 6px 20px!important;padding:16px!important;border-radius:18px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important;font-weight:800!important;}
.usuario-mini small{display:block!important;color:#b7c1cf!important;font-weight:650!important;margin-top:4px!important;}
.menu-titulo{margin:22px 10px 8px!important;color:#95a3b6!important;font-size:11px!important;font-weight:950!important;letter-spacing:.14em!important;text-transform:uppercase!important;}
.lateral-nl2026 a:not(.marca){display:flex!important;align-items:center!important;gap:10px!important;min-height:42px!important;padding:10px 12px!important;border-radius:12px!important;color:#e5eaf1!important;text-decoration:none!important;font-weight:800!important;border:1px solid transparent!important;background:transparent!important;box-shadow:none!important;}
.lateral-nl2026 a:not(.marca)::before{content:"";width:10px;height:10px;border-radius:999px;background:#667085;box-shadow:0 0 0 3px rgba(255,255,255,.04);flex:0 0 auto;}
.lateral-nl2026 a.activo:not(.marca),.lateral-nl2026 a:not(.marca):hover{background:linear-gradient(135deg,var(--nl-orange),var(--nl-orange-2))!important;color:#fff!important;box-shadow:0 10px 25px rgba(255,111,0,.26)!important;transform:none!important;}
.lateral-nl2026 a.activo:not(.marca)::before,.lateral-nl2026 a:not(.marca):hover::before{background:#fff;}
.salir-menu{margin-top:18px!important;background:rgba(255,111,0,.12)!important;color:#ffd7bb!important;}
.contenido.contenido-nl2026{min-width:0!important;padding:0 36px 42px!important;background:var(--nl-bg)!important;}
.barra-superior.barra-nl2026{height:74px!important;margin:0 -36px 28px!important;padding:0 36px!important;background:rgba(255,255,255,.92)!important;border-bottom:1px solid var(--nl-border)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;position:sticky!important;top:0!important;z-index:30!important;backdrop-filter:blur(16px)!important;box-shadow:none!important;}
.barra-nl2026>div:first-child{display:none!important;}
.topbar-actions{display:flex!important;align-items:center!important;gap:10px!important;}
.topbar-actions .boton{border-radius:14px!important;padding:10px 16px!important;font-weight:900!important;min-height:42px!important;box-shadow:none!important;}
.topbar-actions .boton.naranja{background:linear-gradient(135deg,var(--nl-orange),var(--nl-orange-2))!important;color:#fff!important;}
.notif-top-link{position:relative!important;}
.notif-top-link span{position:absolute!important;top:-7px!important;right:-6px!important;background:var(--nl-orange)!important;color:#fff!important;border-radius:999px!important;min-width:20px!important;height:20px!important;font-size:12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;}
.nl-page-title{display:flex;justify-content:space-between;align-items:flex-start;margin:0 0 26px;}
.nl-page-title h2{font-size:34px;line-height:1.05;letter-spacing:-.04em;margin:0 0 8px;color:#111827;font-weight:950;}
.nl-page-title p{margin:0;color:#667085;font-weight:600;}
.nl-chip{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2f7;color:#475467;font-weight:900;padding:9px 14px;font-size:13px;}
.nl-card,.nl-table-card,.nl-kpi-card{background:var(--nl-card)!important;border:1px solid var(--nl-border)!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(15,23,42,.045)!important;}
.nl-toolbar-card{padding:0!important;margin-bottom:22px;overflow:hidden;}
.nl-upload-form{padding:22px 24px 20px;border-bottom:1px solid var(--nl-border);}
.nl-upload-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.nl-file-button input{position:absolute;opacity:0;pointer-events:none;}
.nl-file-button span,.nl-save-button{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:16px;background:linear-gradient(135deg,var(--nl-orange),var(--nl-orange-2));color:#fff;font-size:15px;font-weight:950;min-height:54px;padding:0 24px;box-shadow:0 14px 26px rgba(255,111,0,.24);cursor:pointer;}
.nl-save-button{min-height:46px;border-radius:14px;padding:0 18px;}
.nl-save-button.small{min-height:44px;}
.nl-checkbox-pill{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:52px!important;padding:0 18px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 6px 18px rgba(15,23,42,.045)!important;font-weight:900!important;color:#1f2937!important;cursor:pointer!important;margin:0!important;}
.nl-checkbox-pill input{width:16px!important;height:16px!important;accent-color:#0d6efd!important;}
.nl-upload-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin-top:18px;}
.nl-upload-fields label,.nl-filter-bar label{display:flex;flex-direction:column;gap:7px;color:#344054;font-size:13px;font-weight:800;}
.nl-upload-fields input,.nl-upload-fields select,.nl-filter-bar input,.nl-filter-bar select{height:48px;border:1px solid #dfe5ec;border-radius:12px;background:#fff;padding:0 14px;color:#344054;font-weight:700;outline:none;}
.nl-upload-fields input:focus,.nl-upload-fields select:focus,.nl-filter-bar input:focus,.nl-filter-bar select:focus{border-color:var(--nl-orange);box-shadow:0 0 0 4px rgba(255,111,0,.12);}
.nl-filter-bar{padding:20px 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto auto;gap:14px;align-items:end;}
.nl-clear-button{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 18px;border-radius:12px;border:1px solid #dfe5ec;background:#fff;color:#1f2937;font-weight:900;text-decoration:none;white-space:nowrap;}
.nl-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px;}
.nl-kpi-card{display:grid;grid-template-columns:58px 1fr;grid-template-areas:"icon label" "icon number";gap:2px 16px;align-items:center;padding:22px;text-decoration:none;color:#111827;}
.nl-kpi-card span:not(.nl-kpi-icon){grid-area:label;color:#344054;font-size:14px;font-weight:800;}
.nl-kpi-card strong{grid-area:number;font-size:28px;letter-spacing:-.04em;font-weight:950;}
.nl-kpi-icon{grid-area:icon;width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:950;}
.nl-kpi-icon.blue{background:#e9f0ff;color:#145cff}.nl-kpi-icon.amber{background:#fff3df;color:#f59e0b}.nl-kpi-icon.green{background:#e8f8ee;color:#16a34a}.nl-kpi-icon.red{background:#ffe7e7;color:#ef4444}
.nl-table-card{overflow:hidden;}
.nl-table-head{padding:20px 24px;border-bottom:1px solid var(--nl-border);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.nl-table-head h3{margin:0;font-size:18px;font-weight:950;letter-spacing:-.02em;}.nl-table-head p{margin:5px 0 0;color:#667085;font-weight:600;}
.nl-table-actions{display:flex;gap:8px;flex-wrap:wrap}.nl-table-actions a{padding:9px 12px;border:1px solid var(--nl-border);border-radius:12px;text-decoration:none;color:#344054;font-weight:900;background:#fff;}
.nl-table-wrap{overflow:auto;}.nl-modern-table{width:100%;border-collapse:collapse;background:#fff;}.nl-modern-table th{height:58px;padding:0 24px;background:#fbfcfe;color:#344054;text-align:left;font-size:13px;font-weight:950;border-bottom:1px solid var(--nl-border);}.nl-modern-table td{padding:16px 24px;border-bottom:1px solid #edf0f4;color:#111827;font-weight:650;vertical-align:middle;}.nl-modern-table tr:hover td{background:#fffaf6;}
.nl-employee-cell{display:flex;align-items:center;gap:14px;}.nl-avatar{width:44px;height:44px;border-radius:999px;background:#e9edf2;color:#1f2937;font-weight:950;display:flex;align-items:center;justify-content:center;}.nl-employee-cell strong{display:block;font-weight:950;}.nl-employee-cell small{display:block;color:#667085;font-weight:650;margin-top:2px;}.nl-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:7px 13px;font-size:13px;font-weight:900;border:1px solid transparent;}.nl-status.signed{background:#dcfce7;color:#15803d;border-color:#b7efc4}.nl-status.pending{background:#fff4df;color:#c45a00;border-color:#ffd89b}.nl-status.neutral{background:#eef2f7;color:#475467}.nl-row-actions{display:flex;align-items:center;gap:8px;}.nl-row-actions a,.nl-row-actions button{width:42px;height:42px;border-radius:12px;border:1px solid var(--nl-border);background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font-weight:950;font-size:16px;}.nl-row-actions form{display:inline-flex;margin:0;}
.boton.naranja{color:#fff!important;border:none!important;}.boton.secundario{background:#fff!important;color:#111827!important;border:1px solid var(--nl-border)!important;}.tarjeta{border-radius:18px!important;border:1px solid var(--nl-border)!important;box-shadow:0 10px 28px rgba(15,23,42,.045)!important;background:#fff!important;}.tabla{border-radius:18px!important;overflow:hidden!important;border:1px solid var(--nl-border)!important;box-shadow:none!important;}.tabla th{background:#fbfcfe!important;color:#344054!important;}.tabla td{border-bottom:1px solid #edf0f4!important;}
@media(max-width:1200px){.nl-kpi-grid{grid-template-columns:repeat(2,1fr)}.nl-filter-bar{grid-template-columns:1fr 1fr}.nl-upload-fields{grid-template-columns:1fr}.layout.layout-nl2026{grid-template-columns:250px minmax(0,1fr)!important}.lateral.lateral-nl2026{width:250px!important}.contenido.contenido-nl2026{padding-left:24px!important;padding-right:24px!important}.barra-superior.barra-nl2026{margin-left:-24px!important;margin-right:-24px!important;padding-left:24px!important;padding-right:24px!important}}
@media(max-width:900px){.layout.layout-nl2026{display:block!important}.lateral.lateral-nl2026{position:fixed!important;left:-310px!important;width:290px!important;z-index:120!important}.contenido.contenido-nl2026{padding:0 16px 32px!important}.barra-superior.barra-nl2026{margin:0 -16px 22px!important;padding:0 16px!important}.nl-page-title h2{font-size:28px}.nl-upload-actions{align-items:stretch}.nl-file-button span,.nl-checkbox-pill,.nl-save-button{width:100%;}.nl-kpi-grid{grid-template-columns:1fr}.nl-filter-bar{grid-template-columns:1fr}.nl-table-head{align-items:flex-start;flex-direction:column}.app-mobile-header{display:flex!important}}

/* =========================================================
   Dashboard profesional superadministrador NexoLabor
   ========================================================= */
.dash-pro{display:grid;gap:22px}
.dash-hero-pro{position:relative;display:grid;grid-template-columns:1fr 310px;gap:22px;align-items:stretch;padding:30px;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#0f172a 0%,#111827 54%,#1e293b 100%);color:#fff;box-shadow:0 28px 80px rgba(15,23,42,.22)}
.dash-hero-pro:before{content:'';position:absolute;right:-90px;bottom:-120px;width:360px;height:360px;border-radius:999px;background:rgba(255,111,0,.28);filter:blur(5px)}
.dash-hero-pro:after{content:'';position:absolute;left:42%;top:-120px;width:260px;height:260px;border-radius:999px;background:rgba(255,255,255,.06);filter:blur(2px)}
.dash-hero-pro>*{position:relative;z-index:1}.dash-pill{display:inline-flex;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#ff7b16;border-radius:999px;padding:8px 12px;font-weight:950;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.dash-hero-pro h2{margin:16px 0 10px;font-size:42px;line-height:1;letter-spacing:-.07em;font-weight:950}.dash-hero-pro p{margin:0;max-width:720px;color:#e2e8f0;line-height:1.7;font-size:16px}.dash-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.dash-hero-card{border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(255,255,255,.08);padding:22px;backdrop-filter:blur(16px);display:flex;flex-direction:column;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}.dash-hero-card span{color:#ff7b16;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.dash-hero-card strong{font-size:42px;line-height:1.1;font-weight:950;letter-spacing:-.06em;color:#fff;margin:8px 0}.dash-hero-card small{color:#ffd0a3;font-weight:800}
.dash-kpis-pro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.dash-kpis-pro.compact{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.dash-kpi-card,.dash-mini-card{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.9);border-radius:24px;padding:20px;box-shadow:0 18px 48px rgba(15,23,42,.06);transition:.16s ease;overflow:hidden;position:relative}.dash-kpi-card:hover,.dash-mini-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(15,23,42,.10);border-color:#ffd0a3}.dash-kpi-card:before{content:'';position:absolute;right:-26px;top:-34px;width:110px;height:110px;border-radius:999px;background:rgba(255,111,0,.09)}.dash-kpi-card.accent:before{background:rgba(15,23,42,.09)}.dash-kpi-card span,.dash-mini-card span{display:block;color:#64748b;font-size:13px;font-weight:900}.dash-kpi-card strong{display:block;margin:8px 0 2px;font-size:39px;line-height:1;font-weight:950;letter-spacing:-.07em;color:#0f172a}.dash-kpi-card small{color:#94a3b8;font-weight:800}.dash-mini-card{text-align:center;padding:18px 10px;border-radius:20px}.dash-mini-card b{display:block;font-size:29px;font-weight:950;letter-spacing:-.06em;color:#ff6f00;margin-bottom:4px}.dash-mini-card span{font-size:12px;color:#334155}
.dash-main-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px}.dash-main-grid.lower{grid-template-columns:1.1fr .9fr}.dash-panel-pro{background:rgba(255,255,255,.96);border:1px solid rgba(226,232,240,.9);border-radius:26px;padding:22px;box-shadow:0 20px 54px rgba(15,23,42,.06)}.dash-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.dash-panel-title span{display:block;color:#ff6f00;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.dash-panel-title h3{margin:4px 0 0;font-size:22px;letter-spacing:-.04em;color:#0f172a}.dash-panel-title a{font-weight:900;color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:8px 11px;font-size:12px}.dash-panel-title a:hover{color:#d65c00;border-color:#ffd0a3;background:#fff8f2}
.dash-chart-pro{height:260px;display:flex;align-items:end;gap:10px;padding:18px 14px 10px;border-radius:22px;background:linear-gradient(180deg,#f8fafc,#fff);border:1px solid #e2e8f0;overflow:auto}.dash-chart-pro div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;min-width:34px;flex:1}.dash-chart-pro i{display:block;width:100%;max-width:32px;border-radius:12px 12px 6px 6px;background:linear-gradient(180deg,#ff8a26,#ff6f00);box-shadow:0 10px 24px rgba(255,111,0,.20)}.dash-chart-pro small{font-size:11px;color:#64748b;font-weight:800}.dash-empty{padding:22px;border-radius:18px;background:#f8fafc;border:1px dashed #cbd5e1;color:#64748b;font-weight:800;text-align:center}.dash-alert-list{display:grid;gap:10px}.dash-alert{border-radius:18px;padding:14px;border:1px solid #e2e8f0;background:#f8fafc}.dash-alert b{display:block;color:#0f172a;margin-bottom:4px}.dash-alert p{margin:0;color:#475569;line-height:1.45}.dash-alert.alto{background:#fff1f2;border-color:#fecdd3}.dash-alert.medio{background:#fff8f2;border-color:#ffd0a3}.dash-alert.bajo{background:#ecfdf5;border-color:#bbf7d0}.dash-table-wrap{overflow:auto}.dash-table-pro strong{color:#0f172a}.dash-timeline{display:grid;gap:14px}.dash-timeline div{position:relative;padding-left:28px}.dash-timeline i{position:absolute;left:0;top:4px;width:12px;height:12px;border-radius:999px;background:#ff6f00;box-shadow:0 0 0 5px rgba(255,111,0,.12)}.dash-timeline strong{display:block;color:#0f172a;font-weight:950}.dash-timeline small{display:block;color:#64748b;margin-top:3px;line-height:1.45}.dash-panel-pro.shortcuts{padding-bottom:24px}.dash-shortcuts-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px}.dash-shortcuts-grid a{display:flex;flex-direction:column;gap:4px;min-height:118px;border:1px solid #e2e8f0;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.04);transition:.16s ease}.dash-shortcuts-grid a:hover{transform:translateY(-3px);border-color:#ffd0a3;box-shadow:0 22px 54px rgba(255,111,0,.12)}.dash-shortcuts-grid span{font-size:25px}.dash-shortcuts-grid b{font-size:15px;color:#0f172a}.dash-shortcuts-grid small{color:#64748b;font-weight:800;line-height:1.3}
@media(max-width:1250px){.dash-shortcuts-grid{grid-template-columns:repeat(4,1fr)}.dash-kpis-pro.compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.dash-hero-pro,.dash-main-grid,.dash-main-grid.lower{grid-template-columns:1fr}.dash-kpis-pro{grid-template-columns:repeat(2,1fr)}.dash-hero-pro h2{font-size:34px}.dash-hero-card strong{font-size:34px}}
@media(max-width:620px){.dash-hero-pro{padding:22px;border-radius:24px}.dash-hero-actions .boton{width:100%}.dash-kpis-pro,.dash-kpis-pro.compact,.dash-shortcuts-grid{grid-template-columns:1fr}.dash-chart-pro{height:220px}.dash-panel-title{display:block}.dash-panel-title a{display:inline-flex;margin-top:10px}.dash-kpi-card strong{font-size:34px}}

/* ==========================================================
   NexoLabor - Capa global: estilo Empresa Panel en todo el panel
   Aplica la misma identidad visual de /empresa/panel.php a las
   opciones internas sin tocar la lógica PHP.
   ========================================================== */
body.app-interna.nl-app-2026{
  --emp-bg:#f6f3ef;
  --emp-card:#ffffff;
  --emp-ink:#15181d;
  --emp-muted:#6b7280;
  --emp-border:#e8e0d7;
  --emp-orange:#ff6b00;
  --emp-orange2:#ff8a2a;
  --emp-dark:#171a20;
  --emp-dark2:#232832;
}
body.app-interna.nl-app-2026 .contenido-nl2026{
  background:radial-gradient(circle at top left,rgba(255,107,0,.10),transparent 420px),var(--emp-bg)!important;
}
body.app-interna.nl-app-2026 .barra-nl2026{
  background:rgba(246,243,239,.92)!important;
  border-bottom:1px solid var(--emp-border)!important;
}
body.app-interna.nl-app-2026 .barra-nl2026 h1{
  color:var(--emp-ink)!important;
  font-weight:950!important;
}
body.app-interna.nl-app-2026 .mini-label{
  color:var(--emp-orange)!important;
}
body.app-interna.nl-app-2026 .lateral-nl2026{
  background:linear-gradient(180deg,var(--emp-dark2),var(--emp-dark))!important;
}
body.app-interna.nl-app-2026 .lateral-nl2026 a.activo:not(.marca-logo-app){
  background:linear-gradient(135deg,var(--emp-orange),var(--emp-orange2))!important;
  box-shadow:0 14px 28px rgba(255,107,0,.28)!important;
}
body.app-interna.nl-app-2026 .tarjeta,
body.app-interna.nl-app-2026 .card,
body.app-interna.nl-app-2026 .caja,
body.app-interna.nl-app-2026 .box,
body.app-interna.nl-app-2026 .panel-card,
body.app-interna.nl-app-2026 .dashboard-card,
body.app-interna.nl-app-2026 .bloque,
body.app-interna.nl-app-2026 .modulo,
body.app-interna.nl-app-2026 .formulario,
body.app-interna.nl-app-2026 .listado,
body.app-interna.nl-app-2026 .contenedor-card{
  background:rgba(255,255,255,.96)!important;
  border:1px solid var(--emp-border)!important;
  border-radius:26px!important;
  box-shadow:0 18px 45px rgba(31,35,43,.075)!important;
}
body.app-interna.nl-app-2026 .tarjeta h2,
body.app-interna.nl-app-2026 .tarjeta h3,
body.app-interna.nl-app-2026 .card h2,
body.app-interna.nl-app-2026 .card h3,
body.app-interna.nl-app-2026 .caja h2,
body.app-interna.nl-app-2026 .caja h3{
  color:var(--emp-ink)!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}
body.app-interna.nl-app-2026 .tarjeta h3,
body.app-interna.nl-app-2026 .card h3{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
body.app-interna.nl-app-2026 .tarjeta h3:before,
body.app-interna.nl-app-2026 .card h3:before{
  content:"";
  display:inline-block;
  width:9px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--emp-orange2),var(--emp-orange));
  box-shadow:0 8px 18px rgba(255,107,0,.22);
  flex:0 0 auto;
}
body.app-interna.nl-app-2026 .panel-hero,
body.app-interna.nl-app-2026 .hero-panel,
body.app-interna.nl-app-2026 .dash-hero-pro,
body.app-interna.nl-app-2026 .hero-interno,
body.app-interna.nl-app-2026 .cabecera-modulo{
  background:radial-gradient(circle at 88% 15%,rgba(255,107,0,.22),transparent 250px),linear-gradient(135deg,#fff 0%,#fff8f1 58%,#ffe9d3 100%)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  color:var(--emp-ink)!important;
  border-radius:30px!important;
  box-shadow:0 24px 64px rgba(31,35,43,.14)!important;
}
body.app-interna.nl-app-2026 .panel-hero h2,
body.app-interna.nl-app-2026 .hero-panel h2,
body.app-interna.nl-app-2026 .dash-hero-pro h2,
body.app-interna.nl-app-2026 .hero-interno h2{
  color:var(--emp-ink)!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
}
body.app-interna.nl-app-2026 .panel-hero p,
body.app-interna.nl-app-2026 .hero-panel p,
body.app-interna.nl-app-2026 .dash-hero-pro p,
body.app-interna.nl-app-2026 .hero-interno p{
  color:var(--emp-muted)!important;
}
body.app-interna.nl-app-2026 .kpi,
body.app-interna.nl-app-2026 .kpi-card,
body.app-interna.nl-app-2026 .stat,
body.app-interna.nl-app-2026 .stat-card,
body.app-interna.nl-app-2026 .resumen-card,
body.app-interna.nl-app-2026 .metric-card{
  background:#fff!important;
  border:1px solid var(--emp-border)!important;
  border-left:5px solid var(--emp-orange)!important;
  border-radius:24px!important;
  box-shadow:0 16px 40px rgba(31,35,43,.07)!important;
  color:var(--emp-ink)!important;
}
body.app-interna.nl-app-2026 .kpi strong,
body.app-interna.nl-app-2026 .kpi-num,
body.app-interna.nl-app-2026 .stat-num,
body.app-interna.nl-app-2026 .metric-value{
  color:var(--emp-ink)!important;
  font-weight:950!important;
  letter-spacing:-.05em!important;
}
body.app-interna.nl-app-2026 .muted,
body.app-interna.nl-app-2026 small,
body.app-interna.nl-app-2026 .descripcion,
body.app-interna.nl-app-2026 .texto-secundario{
  color:#ff7b16!important;
}
body.app-interna.nl-app-2026 .boton,
body.app-interna.nl-app-2026 .btn,
body.app-interna.nl-app-2026 button,
body.app-interna.nl-app-2026 input[type="submit"]{
  border-radius:14px!important;
  font-weight:900!important;
  min-height:42px;
}
body.app-interna.nl-app-2026 .boton.naranja,
body.app-interna.nl-app-2026 .boton:not(.secundario):not(.peligro):not(.ok),
body.app-interna.nl-app-2026 .btn-primary,
body.app-interna.nl-app-2026 button[type="submit"],
body.app-interna.nl-app-2026 input[type="submit"]{
  background:linear-gradient(135deg,var(--emp-orange),var(--emp-orange2))!important;
  border:1px solid rgba(255,107,0,.55)!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(255,107,0,.22)!important;
}
body.app-interna.nl-app-2026 .boton.secundario,
body.app-interna.nl-app-2026 .btn-outline,
body.app-interna.nl-app-2026 .btn-secondary{
  background:#fff!important;
  border:1px solid var(--emp-border)!important;
  color:var(--emp-dark)!important;
  box-shadow:0 8px 18px rgba(31,35,43,.05)!important;
}
body.app-interna.nl-app-2026 .boton.ok,
body.app-interna.nl-app-2026 .btn-success{
  background:#ecfdf5!important;
  color:#047857!important;
  border:1px solid #bbf7d0!important;
}
body.app-interna.nl-app-2026 .boton.peligro,
body.app-interna.nl-app-2026 .btn-danger{
  background:#fef2f2!important;
  color:#b91c1c!important;
  border:1px solid #fecaca!important;
}
body.app-interna.nl-app-2026 input,
body.app-interna.nl-app-2026 select,
body.app-interna.nl-app-2026 textarea{
  background:#fff!important;
  border:1px solid var(--emp-border)!important;
  border-radius:15px!important;
  color:var(--emp-ink)!important;
  min-height:46px!important;
}
body.app-interna.nl-app-2026 input:focus,
body.app-interna.nl-app-2026 select:focus,
body.app-interna.nl-app-2026 textarea:focus{
  outline:none!important;
  border-color:var(--emp-orange)!important;
  box-shadow:0 0 0 4px rgba(255,107,0,.14)!important;
}
body.app-interna.nl-app-2026 label,
body.app-interna.nl-app-2026 .campo label{
  color:#525a66!important;
  font-size:13px!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
}
body.app-interna.nl-app-2026 table,
body.app-interna.nl-app-2026 .tabla{
  width:100%!important;
  background:#fff!important;
  border:1px solid var(--emp-border)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 16px 42px rgba(31,35,43,.065)!important;
}
body.app-interna.nl-app-2026 thead th,
body.app-interna.nl-app-2026 .tabla th{
  background:#fbf8f4!important;
  color:#555d69!important;
  text-transform:uppercase!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.07em!important;
  border-bottom:1px solid var(--emp-border)!important;
}
body.app-interna.nl-app-2026 tbody td,
body.app-interna.nl-app-2026 .tabla td{
  color:#333943!important;
  border-bottom:1px solid #f0ebe5!important;
}
body.app-interna.nl-app-2026 tbody tr:hover td{
  background:#fff6ed!important;
}
body.app-interna.nl-app-2026 .badge,
body.app-interna.nl-app-2026 .estado,
body.app-interna.nl-app-2026 .pill,
body.app-interna.nl-app-2026 .etiqueta{
  border-radius:999px!important;
  font-weight:950!important;
  padding:6px 11px!important;
}
body.app-interna.nl-app-2026 .acciones-rapidas a,
body.app-interna.nl-app-2026 .quick-actions a,
body.app-interna.nl-app-2026 .acceso-rapido{
  background:#fff!important;
  border:1px solid var(--emp-border)!important;
  border-radius:22px!important;
  box-shadow:0 14px 34px rgba(31,35,43,.06)!important;
  color:var(--emp-ink)!important;
}
body.app-interna.nl-app-2026 .acciones-rapidas a:hover,
body.app-interna.nl-app-2026 .quick-actions a:hover,
body.app-interna.nl-app-2026 .acceso-rapido:hover{
  border-color:rgba(255,107,0,.45)!important;
  transform:translateY(-2px);
}
body.app-interna.nl-app-2026 .grid,
body.app-interna.nl-app-2026 .grid-2,
body.app-interna.nl-app-2026 .grid-3,
body.app-interna.nl-app-2026 .dashboard-grid,
body.app-interna.nl-app-2026 .panel-grid,
body.app-interna.nl-app-2026 .filtros{
  gap:20px!important;
}
body.app-interna.nl-app-2026 .tabla-responsive,
body.app-interna.nl-app-2026 .table-responsive{
  border-radius:22px!important;
  overflow-x:auto!important;
}
body.app-interna.nl-app-2026 .alerta,
body.app-interna.nl-app-2026 .notice,
body.app-interna.nl-app-2026 .mensaje{
  border-radius:18px!important;
  border:1px solid var(--emp-border)!important;
  box-shadow:0 10px 24px rgba(31,35,43,.05)!important;
}
body.app-interna.nl-app-2026 .alerta.ok,
body.app-interna.nl-app-2026 .mensaje.ok{background:#ecfdf5!important;color:#047857!important;border-color:#bbf7d0!important}
body.app-interna.nl-app-2026 .alerta.error,
body.app-interna.nl-app-2026 .mensaje.error{background:#fef2f2!important;color:#b91c1c!important;border-color:#fecaca!important}
@media(max-width:900px){
  body.app-interna.nl-app-2026 .tarjeta,
  body.app-interna.nl-app-2026 .card,
  body.app-interna.nl-app-2026 .panel-card{border-radius:20px!important;padding:18px!important}
  body.app-interna.nl-app-2026 table,
  body.app-interna.nl-app-2026 .tabla{white-space:nowrap!important}
}


/* Panel organizado por áreas y modo noche corregido */
body.app-interna .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
body.app-interna .panel-areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:22px 0}
body.app-interna .area-card{background:rgba(255,255,255,.94);border:1px solid rgba(31,35,43,.08);border-radius:26px;padding:22px;box-shadow:0 18px 44px rgba(31,35,43,.09)}
body.app-interna .area-card.rgpd{border-color:rgba(255,111,0,.22);box-shadow:0 18px 44px rgba(255,111,0,.10)}
body.app-interna .area-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
body.app-interna .area-head>span{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#fff3e8;font-size:24px;box-shadow:inset 0 0 0 1px rgba(255,111,0,.14)}
body.app-interna .area-head h3{margin:0 0 4px;color:#171a20;font-size:20px}
body.app-interna .area-head p{margin:0;color:#6b7280;line-height:1.45}
body.app-interna .area-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.app-interna .area-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;border-radius:16px;background:#f8fafc;border:1px solid rgba(31,35,43,.08);color:#171a20;text-decoration:none;font-weight:800}
body.app-interna .area-links a:hover{background:#fff7ed;border-color:rgba(255,111,0,.28);transform:translateY(-1px)}
body.app-interna .area-links b{background:#ff6f00;color:#fff;border-radius:999px;min-width:26px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:0 8px}
body.app-interna .panel-hero-organizado{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;flex-wrap:wrap}
body.app-interna .grafica-barras-organizada{min-height:160px}
html.modo-oscuro body, body.app-interna.modo-oscuro{background:#0b0f16!important;color:#f8fafc!important}
html.modo-oscuro body.app-interna .contenido-nl2026, body.app-interna.modo-oscuro .contenido-nl2026{background:radial-gradient(circle at top left,rgba(255,111,0,.10),transparent 28rem),#0b0f16!important;color:#f8fafc!important}
html.modo-oscuro body.app-interna .barra-nl2026, body.app-interna.modo-oscuro .barra-nl2026{background:rgba(11,15,22,.94)!important;border-bottom-color:#252c38!important;color:#f8fafc!important}
html.modo-oscuro body.app-interna .app-mobile-header, body.app-interna.modo-oscuro .app-mobile-header{background:#0f141d!important;border-color:#252c38!important}
html.modo-oscuro body.app-interna .boton-menu-movil, body.app-interna.modo-oscuro .boton-menu-movil{background:#181f2a!important;color:#f8fafc!important;border-color:#2c3544!important}
html.modo-oscuro body.app-interna .panel-hero, body.app-interna.modo-oscuro .panel-hero{background:radial-gradient(circle at 86% 18%,rgba(255,111,0,.16),transparent 23rem),linear-gradient(135deg,#151b25,#111827)!important;border-color:#293241!important;color:#f8fafc!important}
html.modo-oscuro body.app-interna .tarjeta, html.modo-oscuro body.app-interna .area-card, body.app-interna.modo-oscuro .tarjeta, body.app-interna.modo-oscuro .area-card{background:#151b25!important;color:#f8fafc!important;border-color:#293241!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important}
html.modo-oscuro body.app-interna h1, html.modo-oscuro body.app-interna h2, html.modo-oscuro body.app-interna h3, html.modo-oscuro body.app-interna .kpi, body.app-interna.modo-oscuro h1, body.app-interna.modo-oscuro h2, body.app-interna.modo-oscuro h3, body.app-interna.modo-oscuro .kpi{color:#f8fafc!important}
html.modo-oscuro body.app-interna .muted, html.modo-oscuro body.app-interna .area-head p, body.app-interna.modo-oscuro .muted, body.app-interna.modo-oscuro .area-head p{color:#a8b3c4!important}
html.modo-oscuro body.app-interna .area-head>span, body.app-interna.modo-oscuro .area-head>span{background:#21180f!important;box-shadow:inset 0 0 0 1px rgba(255,111,0,.28)!important}
html.modo-oscuro body.app-interna .area-links a, html.modo-oscuro body.app-interna .acciones-rapidas a, body.app-interna.modo-oscuro .area-links a, body.app-interna.modo-oscuro .acciones-rapidas a{background:#101722!important;color:#f8fafc!important;border-color:#293241!important}
html.modo-oscuro body.app-interna .area-links a:hover, body.app-interna.modo-oscuro .area-links a:hover{background:#21180f!important;border-color:rgba(255,111,0,.40)!important}
html.modo-oscuro body.app-interna input, html.modo-oscuro body.app-interna select, html.modo-oscuro body.app-interna textarea, body.app-interna.modo-oscuro input, body.app-interna.modo-oscuro select, body.app-interna.modo-oscuro textarea{background:#0f141d!important;color:#f8fafc!important;border-color:#2c3544!important}
html.modo-oscuro body.app-interna table, html.modo-oscuro body.app-interna .tabla, body.app-interna.modo-oscuro table, body.app-interna.modo-oscuro .tabla{background:#151b25!important;color:#f8fafc!important;border-color:#293241!important}
html.modo-oscuro body.app-interna thead th, html.modo-oscuro body.app-interna .tabla th, body.app-interna.modo-oscuro thead th, body.app-interna.modo-oscuro .tabla th{background:#101722!important;color:#dbe5f3!important;border-color:#293241!important}
html.modo-oscuro body.app-interna tbody td, body.app-interna.modo-oscuro tbody td{color:#eef2f7!important;border-color:#293241!important}
html.modo-oscuro body.app-interna tbody tr:hover td, body.app-interna.modo-oscuro tbody tr:hover td{background:#1d1712!important}
html.modo-oscuro body.app-interna .boton.secundario, body.app-interna.modo-oscuro .boton.secundario{background:#101722!important;color:#f8fafc!important;border-color:#293241!important}
@media(max-width:1180px){body.app-interna .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.app-interna .panel-areas{grid-template-columns:1fr}body.app-interna .area-links{grid-template-columns:1fr}body.app-interna .grid-4{grid-template-columns:1fr}}

/* FIX 20-06-26: modo noche - contraste completo en panel interno */
html.modo-oscuro body.app-interna.nl-app-2026,
body.app-interna.nl-app-2026.modo-oscuro{
  --emp-bg:#0b0f16!important;
  --emp-card:#151b25!important;
  --emp-ink:#f8fafc!important;
  --emp-muted:#c2cad8!important;
  --emp-border:#293241!important;
  --premium-bg:#0b0f16!important;
  --premium-panel:#151b25!important;
  --premium-ink:#f8fafc!important;
  --premium-muted:#c2cad8!important;
  --premium-border:#293241!important;
  background:#0b0f16!important;
  color:#f8fafc!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 *,
body.app-interna.nl-app-2026.modo-oscuro *{
  border-color:var(--emp-border)!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .contenido,
html.modo-oscuro body.app-interna.nl-app-2026 .contenido-nl2026,
html.modo-oscuro body.app-interna.nl-app-2026 .layout,
body.app-interna.nl-app-2026.modo-oscuro .contenido,
body.app-interna.nl-app-2026.modo-oscuro .contenido-nl2026,
body.app-interna.nl-app-2026.modo-oscuro .layout{
  background:radial-gradient(circle at top left,rgba(255,111,0,.10),transparent 28rem),#0b0f16!important;
  color:#f8fafc!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .barra-superior,
html.modo-oscuro body.app-interna.nl-app-2026 .barra-nl2026,
body.app-interna.nl-app-2026.modo-oscuro .barra-superior,
body.app-interna.nl-app-2026.modo-oscuro .barra-nl2026{
  background:rgba(11,15,22,.96)!important;
  color:#f8fafc!important;
  border-bottom-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .tarjeta,
html.modo-oscuro body.app-interna.nl-app-2026 .card,
html.modo-oscuro body.app-interna.nl-app-2026 .panel-card,
html.modo-oscuro body.app-interna.nl-app-2026 .area-card,
html.modo-oscuro body.app-interna.nl-app-2026 .kpi,
html.modo-oscuro body.app-interna.nl-app-2026 .kpi-card,
html.modo-oscuro body.app-interna.nl-app-2026 .stat,
html.modo-oscuro body.app-interna.nl-app-2026 .stat-card,
html.modo-oscuro body.app-interna.nl-app-2026 .resumen-card,
html.modo-oscuro body.app-interna.nl-app-2026 .metric-card,
body.app-interna.nl-app-2026.modo-oscuro .tarjeta,
body.app-interna.nl-app-2026.modo-oscuro .card,
body.app-interna.nl-app-2026.modo-oscuro .panel-card,
body.app-interna.nl-app-2026.modo-oscuro .area-card,
body.app-interna.nl-app-2026.modo-oscuro .kpi,
body.app-interna.nl-app-2026.modo-oscuro .kpi-card,
body.app-interna.nl-app-2026.modo-oscuro .stat,
body.app-interna.nl-app-2026.modo-oscuro .stat-card,
body.app-interna.nl-app-2026.modo-oscuro .resumen-card,
body.app-interna.nl-app-2026.modo-oscuro .metric-card{
  background:#151b25!important;
  color:#f8fafc!important;
  border-color:#293241!important;
  box-shadow:0 18px 44px rgba(0,0,0,.30)!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 h1,
html.modo-oscuro body.app-interna.nl-app-2026 h2,
html.modo-oscuro body.app-interna.nl-app-2026 h3,
html.modo-oscuro body.app-interna.nl-app-2026 h4,
html.modo-oscuro body.app-interna.nl-app-2026 p,
html.modo-oscuro body.app-interna.nl-app-2026 li,
html.modo-oscuro body.app-interna.nl-app-2026 label,
html.modo-oscuro body.app-interna.nl-app-2026 strong,
html.modo-oscuro body.app-interna.nl-app-2026 b,
html.modo-oscuro body.app-interna.nl-app-2026 .area-head h3,
html.modo-oscuro body.app-interna.nl-app-2026 .kpi strong,
html.modo-oscuro body.app-interna.nl-app-2026 .kpi-num,
html.modo-oscuro body.app-interna.nl-app-2026 .stat-num,
html.modo-oscuro body.app-interna.nl-app-2026 .metric-value,
body.app-interna.nl-app-2026.modo-oscuro h1,
body.app-interna.nl-app-2026.modo-oscuro h2,
body.app-interna.nl-app-2026.modo-oscuro h3,
body.app-interna.nl-app-2026.modo-oscuro h4,
body.app-interna.nl-app-2026.modo-oscuro p,
body.app-interna.nl-app-2026.modo-oscuro li,
body.app-interna.nl-app-2026.modo-oscuro label,
body.app-interna.nl-app-2026.modo-oscuro strong,
body.app-interna.nl-app-2026.modo-oscuro b,
body.app-interna.nl-app-2026.modo-oscuro .area-head h3,
body.app-interna.nl-app-2026.modo-oscuro .kpi strong,
body.app-interna.nl-app-2026.modo-oscuro .kpi-num,
body.app-interna.nl-app-2026.modo-oscuro .stat-num,
body.app-interna.nl-app-2026.modo-oscuro .metric-value{
  color:#f8fafc!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .muted,
html.modo-oscuro body.app-interna.nl-app-2026 small,
html.modo-oscuro body.app-interna.nl-app-2026 .descripcion,
html.modo-oscuro body.app-interna.nl-app-2026 .texto-secundario,
html.modo-oscuro body.app-interna.nl-app-2026 .area-head p,
body.app-interna.nl-app-2026.modo-oscuro .muted,
body.app-interna.nl-app-2026.modo-oscuro small,
body.app-interna.nl-app-2026.modo-oscuro .descripcion,
body.app-interna.nl-app-2026.modo-oscuro .texto-secundario,
body.app-interna.nl-app-2026.modo-oscuro .area-head p{
  color:#c2cad8!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 a:not(.boton):not(.btn):not(.salir-menu),
body.app-interna.nl-app-2026.modo-oscuro a:not(.boton):not(.btn):not(.salir-menu){
  color:#ffd0a3!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .area-links a,
html.modo-oscuro body.app-interna.nl-app-2026 .acciones-rapidas a,
html.modo-oscuro body.app-interna.nl-app-2026 .quick-actions a,
html.modo-oscuro body.app-interna.nl-app-2026 .acceso-rapido,
body.app-interna.nl-app-2026.modo-oscuro .area-links a,
body.app-interna.nl-app-2026.modo-oscuro .acciones-rapidas a,
body.app-interna.nl-app-2026.modo-oscuro .quick-actions a,
body.app-interna.nl-app-2026.modo-oscuro .acceso-rapido{
  background:#101722!important;
  color:#f8fafc!important;
  border-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 input,
html.modo-oscuro body.app-interna.nl-app-2026 select,
html.modo-oscuro body.app-interna.nl-app-2026 textarea,
body.app-interna.nl-app-2026.modo-oscuro input,
body.app-interna.nl-app-2026.modo-oscuro select,
body.app-interna.nl-app-2026.modo-oscuro textarea{
  background:#0f141d!important;
  color:#f8fafc!important;
  border-color:#2c3544!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 input::placeholder,
html.modo-oscuro body.app-interna.nl-app-2026 textarea::placeholder,
body.app-interna.nl-app-2026.modo-oscuro input::placeholder,
body.app-interna.nl-app-2026.modo-oscuro textarea::placeholder{
  color:#94a3b8!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 table,
html.modo-oscuro body.app-interna.nl-app-2026 .tabla,
body.app-interna.nl-app-2026.modo-oscuro table,
body.app-interna.nl-app-2026.modo-oscuro .tabla{
  background:#151b25!important;
  color:#f8fafc!important;
  border-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 thead th,
html.modo-oscuro body.app-interna.nl-app-2026 .tabla th,
body.app-interna.nl-app-2026.modo-oscuro thead th,
body.app-interna.nl-app-2026.modo-oscuro .tabla th{
  background:#101722!important;
  color:#dbe5f3!important;
  border-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 tbody td,
html.modo-oscuro body.app-interna.nl-app-2026 .tabla td,
body.app-interna.nl-app-2026.modo-oscuro tbody td,
body.app-interna.nl-app-2026.modo-oscuro .tabla td{
  background:#151b25!important;
  color:#eef2f7!important;
  border-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 tbody tr:hover td,
body.app-interna.nl-app-2026.modo-oscuro tbody tr:hover td{
  background:#1d1712!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .boton.secundario,
html.modo-oscuro body.app-interna.nl-app-2026 .btn-outline,
html.modo-oscuro body.app-interna.nl-app-2026 .btn-secondary,
body.app-interna.nl-app-2026.modo-oscuro .boton.secundario,
body.app-interna.nl-app-2026.modo-oscuro .btn-outline,
body.app-interna.nl-app-2026.modo-oscuro .btn-secondary{
  background:#101722!important;
  color:#f8fafc!important;
  border-color:#293241!important;
}
html.modo-oscuro body.app-interna.nl-app-2026 .mini-label,
body.app-interna.nl-app-2026.modo-oscuro .mini-label{
  color:#ffb36b!important;
}


/* NexoLabor cierre profesional: modo noche legible y panel organizado */
html.modo-oscuro body.app-interna.nl-app-2026,
body.app-interna.nl-app-2026.modo-oscuro{background:#0b0f16!important;color:#f8fafc!important;}
html.modo-oscuro body.app-interna.nl-app-2026 a,
body.app-interna.nl-app-2026.modo-oscuro a{color:#f8fafc;}
html.modo-oscuro body.app-interna.nl-app-2026 .tarjeta,
html.modo-oscuro body.app-interna.nl-app-2026 .area-card,
html.modo-oscuro body.app-interna.nl-app-2026 .card,
html.modo-oscuro body.app-interna.nl-app-2026 .box,
html.modo-oscuro body.app-interna.nl-app-2026 .caja,
body.app-interna.nl-app-2026.modo-oscuro .tarjeta,
body.app-interna.nl-app-2026.modo-oscuro .area-card,
body.app-interna.nl-app-2026.modo-oscuro .card,
body.app-interna.nl-app-2026.modo-oscuro .box,
body.app-interna.nl-app-2026.modo-oscuro .caja{background:#151b25!important;color:#f8fafc!important;border-color:#293241!important;}
html.modo-oscuro body.app-interna.nl-app-2026 h1,
html.modo-oscuro body.app-interna.nl-app-2026 h2,
html.modo-oscuro body.app-interna.nl-app-2026 h3,
html.modo-oscuro body.app-interna.nl-app-2026 h4,
html.modo-oscuro body.app-interna.nl-app-2026 p,
html.modo-oscuro body.app-interna.nl-app-2026 li,
html.modo-oscuro body.app-interna.nl-app-2026 label,
html.modo-oscuro body.app-interna.nl-app-2026 td,
html.modo-oscuro body.app-interna.nl-app-2026 th,
html.modo-oscuro body.app-interna.nl-app-2026 small,
html.modo-oscuro body.app-interna.nl-app-2026 span,
body.app-interna.nl-app-2026.modo-oscuro h1,
body.app-interna.nl-app-2026.modo-oscuro h2,
body.app-interna.nl-app-2026.modo-oscuro h3,
body.app-interna.nl-app-2026.modo-oscuro h4,
body.app-interna.nl-app-2026.modo-oscuro p,
body.app-interna.nl-app-2026.modo-oscuro li,
body.app-interna.nl-app-2026.modo-oscuro label,
body.app-interna.nl-app-2026.modo-oscuro td,
body.app-interna.nl-app-2026.modo-oscuro th,
body.app-interna.nl-app-2026.modo-oscuro small,
body.app-interna.nl-app-2026.modo-oscuro span{color:inherit;}
html.modo-oscuro body.app-interna.nl-app-2026 .muted,
body.app-interna.nl-app-2026.modo-oscuro .muted{color:#a8b3c4!important;}
html.modo-oscuro body.app-interna.nl-app-2026 input,
html.modo-oscuro body.app-interna.nl-app-2026 select,
html.modo-oscuro body.app-interna.nl-app-2026 textarea,
body.app-interna.nl-app-2026.modo-oscuro input,
body.app-interna.nl-app-2026.modo-oscuro select,
body.app-interna.nl-app-2026.modo-oscuro textarea{background:#0f141d!important;color:#f8fafc!important;border-color:#2c3544!important;}
html.modo-oscuro body.app-interna.nl-app-2026 .area-links a,
body.app-interna.nl-app-2026.modo-oscuro .area-links a{background:#101722!important;color:#f8fafc!important;border-color:#293241!important;}
.nl-pro-lock{border:1px dashed rgba(255,111,0,.45)!important;background:#fff8f1!important;color:#9a4b00!important;border-radius:16px;padding:14px;margin:14px 0;font-weight:800;}
html.modo-oscuro .nl-pro-lock,body.modo-oscuro .nl-pro-lock{background:#21180f!important;color:#ffd8b2!important;border-color:rgba(255,111,0,.55)!important;}
