:root{
 --nv-navy:#17375f;
 --nv-text:#26384d;
 --nv-muted:#718197;
 --nv-bg:#eef5fc;
 --nv-line:#dbe5ef;
 --nv-yellow:#ffb82a;
 --nv-yellow-soft:#fff5df;
}
*{box-sizing:border-box}
html,body{margin:0!important;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}

/* ===== PORTAL ===== */
body.navacon-app{
 background:
  radial-gradient(circle at 5% 4%,rgba(255,184,42,.10),transparent 260px),
  radial-gradient(circle at 96% 2%,rgba(71,130,193,.10),transparent 390px),
  linear-gradient(180deg,#f8fafc 0%,#eef5fc 100%)!important;
 color:var(--nv-text)!important;
 padding-top:76px!important;padding-bottom:92px!important;
}

/* Header: black, minimal and consistent with the reference. */
.navacon-top-header{
 position:fixed!important;top:0!important;left:0!important;right:0!important;height:76px!important;
 z-index:99990!important;background:#000000!important;
 border-bottom:1px solid rgba(255,255,255,.08)!important;
 box-shadow:0 5px 20px rgba(0,0,0,.16)!important;
}
.navacon-top-inner{
 width:min(1240px,calc(100% - 48px));height:100%;margin:0 auto;
 display:flex;align-items:center;gap:16px;
}
.navacon-logo-link{display:flex;align-items:center;text-decoration:none!important}
.navacon-logo-icon{
 width:258px!important;height:68px!important;max-width:100%!important;object-fit:contain!important;display:block!important;
 background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;
}
.navacon-top-spacer{flex:1}
.navacon-top-user{display:flex;align-items:baseline;gap:7px;color:#fff!important;font-size:15px!important;line-height:1!important;white-space:nowrap}
.navacon-user-greeting{font-weight:500!important;opacity:.76}
.navacon-user-name{font-weight:800!important;letter-spacing:-.01em;color:#fff!important}

/* Main headings. */
body.navacon-app .navacon-page-title{
 width:min(1180px,calc(100% - 48px));margin:34px auto 24px!important;
 color:var(--nv-navy)!important;font-size:34px!important;line-height:1.1!important;
 font-weight:800!important;letter-spacing:-.045em!important;
}
body.navacon-app main,body.navacon-app .site-main,body.navacon-app .entry-content{font-family:inherit!important;color:var(--nv-text)!important}
body.navacon-app h1,body.navacon-app h2,body.navacon-app h3,body.navacon-app h4{font-family:inherit!important;color:var(--nv-navy)!important;letter-spacing:-.025em}
body.navacon-app input,body.navacon-app select,body.navacon-app textarea{font-family:inherit!important;border-radius:10px!important}

/* Clock card. */
body.navacon-app .navacon-clock-card{
 width:min(620px,calc(100% - 48px))!important;margin:0 auto!important;padding:30px 34px 28px!important;
 background:rgba(255,255,255,.96)!important;border:1px solid var(--nv-line)!important;border-radius:20px!important;
 box-shadow:0 18px 48px rgba(23,55,95,.09)!important;
}
body.navacon-app .navacon-clock-card button,body.navacon-app .navacon-clock-card a.navacon-clock-button,body.navacon-app .navacon-clock-card input[type=submit]{
 background:var(--nv-yellow)!important;color:#17375f!important;border:0!important;border-radius:11px!important;
 min-height:50px!important;font-weight:800!important;box-shadow:0 8px 18px rgba(222,157,0,.16)!important;
}

/* Bottom navigation. */
body.navacon-app .navacon-bottom-nav{
 position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:84px!important;
 z-index:99989!important;background:rgba(255,255,255,.98)!important;border-top:1px solid var(--nv-line)!important;
 box-shadow:0 -10px 30px rgba(23,55,95,.08)!important;display:flex!important;align-items:stretch!important;
 justify-content:center!important;gap:8px!important;padding:6px 12px!important;
}
body.navacon-app .navacon-bottom-nav .navacon-item{
 position:relative!important;width:108px!important;max-width:16.66%!important;height:72px!important;
 padding:8px 5px 7px!important;margin:0!important;border-radius:12px 12px 8px 8px!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:6px!important;background:transparent!important;color:#70839a!important;text-decoration:none!important;
 font-size:11px!important;font-weight:650!important;line-height:1.1!important;
}
body.navacon-app .navacon-bottom-nav .navacon-item::before{content:""!important;width:24px!important;height:24px!important;display:block!important;flex:0 0 24px!important;background-repeat:no-repeat!important;background-position:center!important;background-size:24px 24px!important;opacity:.9!important}
body.navacon-app .navacon-bottom-nav .navacon-item > *:not(:last-child),body.navacon-app .navacon-bottom-nav .navacon-item svg,body.navacon-app .navacon-bottom-nav .navacon-item img,body.navacon-app .navacon-bottom-nav .navacon-item i,body.navacon-app .navacon-bottom-nav .navacon-item span[class*="icon"],body.navacon-app .navacon-bottom-nav .navacon-item span[class*="ico"]{display:none!important}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="inicio"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 10.7 12 3.7l8.5 7'/%3E%3Cpath d='M5.5 9.7V21h13V9.7M9.5 21v-6h5v6'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="fichajes"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="vacaciones"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20.5V9'/%3E%3Cpath d='M12 11C8.5 11 6 8.7 6 5c3.5 0 6 2.2 6 6ZM12 13c3.5 0 6-2.3 6-6-3.5 0-6 2.2-6 6Z'/%3E%3Cpath d='M7.5 20.5h9'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="documentos"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3.5h9l3 3V20.5H6z'/%3E%3Cpath d='M15 3.5v4h3M9 12h6M9 16h6'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="avisos"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 9a6 6 0 0 0-12 0c0 7-3 7-3 8.5h18C21 16 18 16 18 9Z'/%3E%3Cpath d='M10 21h4'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item[data-navacon-label="mi cuenta"]::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23647d99' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M5 21a7 7 0 0 1 14 0'/%3E%3C/svg%3E")}
body.navacon-app .navacon-bottom-nav .navacon-item.active,body.navacon-app .navacon-bottom-nav .navacon-item[aria-current="page"]{background:var(--nv-yellow-soft)!important;color:#d78d00!important;font-weight:800!important}
body.navacon-app .navacon-bottom-nav .navacon-item.active::before,body.navacon-app .navacon-bottom-nav .navacon-item[aria-current="page"]::before{filter:sepia(1) saturate(4) hue-rotate(350deg);opacity:1}
body.navacon-app .calendar,body.navacon-app .panel,body.navacon-app .card,body.navacon-app .document-card,body.navacon-app .vacation-card{border:1px solid var(--nv-line)!important;border-radius:18px!important;box-shadow:0 12px 34px rgba(23,55,95,.07)!important;background:rgba(255,255,255,.95)!important}
body.navacon-app button,body.navacon-app .button,body.navacon-app input[type=submit]{border-radius:10px!important}

/* ===== LOGIN ===== */
body.navacon-portal-login{
 min-height:100vh!important;margin:0!important;padding:0!important;
 background:radial-gradient(circle at 8% 8%,rgba(255,184,42,.10),transparent 300px),linear-gradient(180deg,#f7fafc 0%,#edf4fb 100%)!important;
 color:var(--nv-text)!important;
}
body.navacon-portal-login .navacon-login-heading{display:none!important}
/* Turn the injected brand into the real portal header. */
body.navacon-portal-login .navacon-login-brand{
 width:100%!important;height:78px!important;margin:0!important;padding:0 max(24px,calc((100% - 1180px)/2))!important;
 display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:14px!important;
 background:#000000!important;border-bottom:1px solid rgba(255,255,255,.08)!important;
 box-shadow:0 5px 20px rgba(0,0,0,.14)!important;color:#fff!important;
}
body.navacon-portal-login .navacon-login-brand img{width:46px!important;height:46px!important;object-fit:contain!important;display:block!important}
body.navacon-portal-login .navacon-login-brand div{display:flex!important;flex-direction:column!important;gap:0!important;text-align:left!important}
body.navacon-portal-login .navacon-login-brand strong{font-size:20px!important;line-height:1.05!important;font-weight:800!important;letter-spacing:-.03em!important;color:#fff!important}
body.navacon-portal-login .navacon-login-brand span{display:none!important}
/* Login panel. */
body.navacon-portal-login .navacon-login-form{
 width:min(460px,calc(100% - 40px))!important;margin:72px auto 80px!important;padding:34px 36px 32px!important;
 background:rgba(255,255,255,.98)!important;border:1px solid #dce5ee!important;border-radius:20px!important;
 box-shadow:0 22px 55px rgba(23,55,95,.12)!important;
}
body.navacon-portal-login .navacon-login-form::before{
 content:"Acceder al portal";display:block;margin:0 0 6px;color:var(--nv-navy);font-size:28px;line-height:1.15;font-weight:800;letter-spacing:-.035em;
}
body.navacon-portal-login .navacon-login-form::after{
 content:"Introduce tus credenciales para continuar";display:block;margin:0 0 24px;color:var(--nv-muted);font-size:14px;font-weight:500;
}
body.navacon-portal-login .navacon-login-form label{font-size:13px!important;font-weight:700!important;color:var(--nv-text)!important;display:block!important;margin:0 0 7px!important}
body.navacon-portal-login .navacon-login-form table,body.navacon-portal-login .navacon-login-form tbody,body.navacon-portal-login .navacon-login-form tr,body.navacon-portal-login .navacon-login-form td,body.navacon-portal-login .navacon-login-form th{border:0!important;background:transparent!important;box-shadow:none!important;}
body.navacon-portal-login .navacon-login-form input[type=text],body.navacon-portal-login .navacon-login-form input[type=email],body.navacon-portal-login .navacon-login-form input[type=password]{width:100%!important;min-height:48px!important;padding:11px 13px!important;border:1px solid #cfdbe7!important;border-radius:10px!important;background:#fff!important;font:inherit!important;color:var(--nv-text)!important;box-shadow:none!important;margin-bottom:17px!important}
body.navacon-portal-login .navacon-login-form input:focus{border-color:#8aa8c7!important;outline:3px solid rgba(45,108,223,.09)!important}
body.navacon-portal-login .navacon-login-form input[type=checkbox]{accent-color:#0b0d0f!important;margin-right:7px!important}
body.navacon-portal-login .navacon-login-form button,body.navacon-portal-login .navacon-login-form input[type=submit],body.navacon-portal-login .navacon-login-form .button-primary{width:100%!important;min-height:50px!important;margin-top:12px!important;border:0!important;border-radius:11px!important;background:var(--nv-yellow)!important;color:#111!important;font-size:15px!important;font-weight:800!important;box-shadow:0 8px 18px rgba(222,157,0,.16)!important}
body.navacon-portal-login .navacon-login-form a{color:#17375f!important;font-weight:700!important;text-decoration:none!important}
body.navacon-portal-login .navacon-login-form a:hover{text-decoration:underline!important}
body.navacon-portal-login .navacon-top-header{display:none!important}

@media(max-width:760px){
 body.navacon-app{padding-top:68px!important;padding-bottom:82px!important}
 .navacon-top-header{height:68px!important}.navacon-top-inner{width:calc(100% - 28px)}.navacon-logo-icon{width:190px!important;height:58px!important}.navacon-top-user{font-size:13px!important}
 body.navacon-app .navacon-page-title{width:calc(100% - 28px);margin:26px auto 20px!important;font-size:28px!important}
 body.navacon-app .navacon-clock-card{width:calc(100% - 28px)!important;padding:24px 18px!important}
 body.navacon-app .navacon-bottom-nav{height:76px!important;padding:5px 3px!important;gap:0!important}.navacon-app .navacon-bottom-nav .navacon-item{width:16.66%!important;height:66px!important;font-size:9px!important;gap:4px!important}
 body.navacon-app .navacon-bottom-nav .navacon-item::before{width:22px!important;height:22px!important;background-size:22px 22px!important}
 body.navacon-portal-login .navacon-login-brand{height:68px!important;padding:0 18px!important}.navacon-portal-login .navacon-login-brand img{width:40px!important;height:40px!important}.navacon-portal-login .navacon-login-brand strong{font-size:18px!important}
 body.navacon-portal-login .navacon-login-form{width:calc(100% - 28px)!important;margin-top:42px!important;padding:28px 22px 26px!important}
}


/* ===== 1.1.4 LOGIN / HEADER OVERRIDES ===== */
html.navacon-portal-login-html, body.navacon-portal-login{
  background:#eef4fa!important;
}
body.navacon-portal-login{
  padding:0!important;
  min-height:100vh!important;
  overflow-x:hidden!important;
}
body.navacon-portal-login .navacon-original-login-header,
body.navacon-portal-login > header:not(.navacon-login-brand),
body.navacon-portal-login .site-header,
body.navacon-portal-login #masthead,
body.navacon-portal-login .elementor-location-header,
body.navacon-portal-login .wp-block-template-part{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
body.navacon-portal-login .navacon-login-brand{
  position:relative!important;
  z-index:999999!important;
  width:100%!important;
  height:72px!important;
  margin:0!important;
  padding:0 42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  background:#050607!important;
  border:0!important;
  box-shadow:0 3px 12px rgba(0,0,0,.18)!important;
}
body.navacon-portal-login .navacon-login-brand-inner{
  width:min(1240px,100%)!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
}
body.navacon-portal-login .navacon-login-brand img{
  width:42px!important;height:42px!important;object-fit:contain!important;
  display:block!important;background:transparent!important;border:0!important;padding:0!important;
}
body.navacon-portal-login .navacon-login-brand strong{
  color:#fff!important;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:21px!important;line-height:1!important;font-weight:800!important;letter-spacing:-.035em!important;
}
body.navacon-portal-login .navacon-login-form{
  width:min(470px,calc(100% - 40px))!important;
  margin:64px auto 70px!important;
  padding:34px 38px 32px!important;
  background:#fff!important;
  border:1px solid #d8e2ec!important;
  border-radius:18px!important;
  box-shadow:0 18px 45px rgba(18,45,74,.10)!important;
}
body.navacon-portal-login .navacon-login-form::before{
  content:"Acceder al portal"!important;
  display:block!important;
  margin:0 0 8px!important;
  color:#17375f!important;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:30px!important;line-height:1.1!important;font-weight:800!important;letter-spacing:-.045em!important;
}
body.navacon-portal-login .navacon-login-form::after{
  content:"Ingresa tus datos para acceder al portal de empleados"!important;
  display:block!important;
  margin:0 0 28px!important;
  color:#718197!important;
  font-size:14px!important;line-height:1.45!important;font-weight:500!important;
}
body.navacon-portal-login .navacon-login-form label{
  color:#26384d!important;font-size:13px!important;font-weight:700!important;margin:0 0 7px!important;
}
body.navacon-portal-login .navacon-login-form input[type=text],
body.navacon-portal-login .navacon-login-form input[type=email],
body.navacon-portal-login .navacon-login-form input[type=password]{
  width:100%!important;min-height:49px!important;padding:11px 14px!important;margin:0 0 18px!important;
  border:1px solid #cbd8e5!important;border-radius:10px!important;background:#fff!important;
  color:#26384d!important;font-family:inherit!important;font-size:15px!important;box-shadow:none!important;
}
body.navacon-portal-login .navacon-login-form input[type=checkbox]{accent-color:#ffb82a!important}
body.navacon-portal-login .navacon-login-form button,
body.navacon-portal-login .navacon-login-form input[type=submit],
body.navacon-portal-login .navacon-login-form .button-primary{
  width:100%!important;min-height:50px!important;margin:10px 0 12px!important;
  border:0!important;border-radius:10px!important;background:#ffb82a!important;color:#111!important;
  font-family:inherit!important;font-size:15px!important;font-weight:800!important;
  box-shadow:none!important;cursor:pointer!important;
}
body.navacon-portal-login .navacon-login-form a{color:#17375f!important;font-weight:700!important;text-decoration:none!important}
body.navacon-portal-login .navacon-login-form a:hover{text-decoration:underline!important}
body.navacon-portal-login .navacon-login-heading{display:none!important}

@media(max-width:760px){
 body.navacon-portal-login .navacon-login-brand{height:66px!important;padding:0 18px!important}
 body.navacon-portal-login .navacon-login-brand-inner{width:100%!important}
 body.navacon-portal-login .navacon-login-brand img{width:38px!important;height:38px!important}
 body.navacon-portal-login .navacon-login-brand strong{font-size:18px!important}
 body.navacon-portal-login .navacon-login-form{width:calc(100% - 28px)!important;margin:38px auto 50px!important;padding:28px 22px!important}
 body.navacon-portal-login .navacon-login-form::before{font-size:27px!important}
}

/* ===== 1.2.7 LOGIN FORM WRAPPER RESET ===== */
body.navacon-portal-login .navacon-login-card form > *,
body.navacon-portal-login .navacon-login-card form p,
body.navacon-portal-login .navacon-login-card form div,
body.navacon-portal-login .navacon-login-card form fieldset,
body.navacon-portal-login .navacon-login-card form ul,
body.navacon-portal-login .navacon-login-card form li,
body.navacon-portal-login .navacon-login-card form table,
body.navacon-portal-login .navacon-login-card form tbody,
body.navacon-portal-login .navacon-login-card form tr,
body.navacon-portal-login .navacon-login-card form td,
body.navacon-portal-login .navacon-login-card form th{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* ===== 1.1.7 GLOBAL PORTAL HEADER ===== */
body.navacon-app{padding-top:76px!important}
body.navacon-app .navacon-top-header{display:block!important}
body.navacon-app > header:not(.navacon-top-header),
body.navacon-app .site-header,
body.navacon-app #masthead,
body.navacon-app .elementor-location-header,
body.navacon-app .wp-block-template-part{display:none!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}
body.navacon-app .navacon-top-header + *{margin-top:0!important}
@media(max-width:760px){body.navacon-app{padding-top:68px!important}}

/* ===== 1.2.2 TYPOGRAPHY / DOCUMENTS / COMMUNICATIONS CLEANUP ===== */
body.navacon-app h1,
body.navacon-app h2,
body.navacon-app h3,
body.navacon-app h4{
  color:#111!important;
}
body.navacon-app h1{
  font-size:44px!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.04em!important;
}
body.navacon-app h2{
  font-size:27px!important;
  line-height:1.2!important;
  font-weight:750!important;
  letter-spacing:-.025em!important;
}
body.navacon-app h3{
  font-size:22px!important;
  line-height:1.25!important;
  font-weight:750!important;
}
body.navacon-app .navacon-page-title{
  color:#111!important;
  font-size:44px!important;
}
body.navacon-app .navacon-hide-duplicate-title{
  display:none!important;
}
@media(max-width:760px){
  body.navacon-app h1{font-size:32px!important}
  body.navacon-app h2{font-size:23px!important}
  body.navacon-app h3{font-size:20px!important}
  body.navacon-app .navacon-page-title{font-size:32px!important}
}


/* ===== 1.2.2 MOBILE REFINEMENT ===== */
@media (max-width:760px){
  /* General mobile layout: prevent accidental horizontal overflow. */
  html,body{max-width:100%;overflow-x:hidden!important}
  body.navacon-app{padding-left:0!important;padding-right:0!important}
  body.navacon-app .navacon-top-inner{width:calc(100% - 24px)!important}
  body.navacon-app .navacon-top-user{max-width:62%;overflow:hidden;text-overflow:ellipsis}
  body.navacon-app .navacon-user-name{overflow:hidden;text-overflow:ellipsis}

  /* Keep page headings compact and leave useful space for the content. */
  body.navacon-app .navacon-page-title{
    width:calc(100% - 32px)!important;
    margin:24px auto 18px!important;
    font-size:30px!important;
  }
  body.navacon-app main,
  body.navacon-app .site-main,
  body.navacon-app .entry-content{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Generic cards/sections should use the screen width instead of desktop widths. */
  body.navacon-app .card,
  body.navacon-app .panel,
  body.navacon-app .calendar,
  body.navacon-app .document-card,
  body.navacon-app .vacation-card{
    max-width:calc(100% - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* VACATIONS: turn the wide desktop table into readable mobile cards. */
  body.navacon-app.navacon-vacations-page table{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    margin:18px auto!important;
    display:block!important;
    overflow:visible!important;
    border:0!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    background:transparent!important;
  }
  body.navacon-app.navacon-vacations-page table thead{display:none!important}
  body.navacon-app.navacon-vacations-page table tbody,
  body.navacon-app.navacon-vacations-page table tr,
  body.navacon-app.navacon-vacations-page table td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  body.navacon-app.navacon-vacations-page table tr{
    margin:0 0 14px!important;
    padding:14px 15px!important;
    background:#fff!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    box-shadow:0 8px 22px rgba(23,55,95,.06)!important;
  }
  body.navacon-app.navacon-vacations-page table td{
    display:grid!important;
    grid-template-columns:minmax(78px,30%) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:start!important;
    padding:9px 0!important;
    border:0!important;
    border-bottom:1px solid #edf1f5!important;
    background:transparent!important;
    color:#26384d!important;
    font-size:14px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
  body.navacon-app.navacon-vacations-page table td:last-child{border-bottom:0!important}
  body.navacon-app.navacon-vacations-page table td::before{
    font-weight:750!important;
    color:#718197!important;
  }
  body.navacon-app.navacon-vacations-page table td:nth-child(1)::before{content:'Tipo'!important}
  body.navacon-app.navacon-vacations-page table td:nth-child(2)::before{content:'Fechas'!important}
  body.navacon-app.navacon-vacations-page table td:nth-child(3)::before{content:'Días'!important}
  body.navacon-app.navacon-vacations-page table td:nth-child(4)::before{content:'Estado'!important}
  body.navacon-app.navacon-vacations-page table td:nth-child(5)::before{content:'Solicitado'!important}
  body.navacon-app.navacon-vacations-page table td .badge,
  body.navacon-app.navacon-vacations-page table td span[class*='status'],
  body.navacon-app.navacon-vacations-page table td span[class*='badge']{
    justify-self:start!important;
    max-width:100%!important;
  }

  /* Vacation balance cards: keep two columns, but make them fit comfortably. */
  body.navacon-app.navacon-vacations-page .vacation-card,
  body.navacon-app.navacon-vacations-page .card{
    min-width:0!important;
  }

  /* ACCOUNT: compact the menu and prevent huge vertical gaps on phones. */
  body.navacon-app.navacon-account-page a,
  body.navacon-app.navacon-account-page button{
    max-width:100%!important;
  }
  body.navacon-app.navacon-account-page h2,
  body.navacon-app.navacon-account-page h3,
  body.navacon-app.navacon-account-page h4{
    font-size:22px!important;
    margin-top:24px!important;
    margin-bottom:14px!important;
  }
  body.navacon-app.navacon-account-page ul,
  body.navacon-app.navacon-account-page ol{
    margin-top:8px!important;
    margin-bottom:16px!important;
    padding-left:0!important;
    list-style:none!important;
  }
  body.navacon-app.navacon-account-page li{
    margin:0!important;
    padding:0!important;
  }
  body.navacon-app.navacon-account-page li a{
    display:block!important;
    padding:12px 0!important;
    line-height:1.25!important;
  }

  /* Documents and communications: reduce internal heading duplication visually. */
  body.navacon-app.navacon-documents-page h2{font-size:21px!important}
  body.navacon-app.navacon-communications-page h2{font-size:21px!important}
  body.navacon-app.navacon-communications-page h3{font-size:20px!important}

  /* Bottom navigation: stable size and no horizontal overflow. */
  body.navacon-app .navacon-bottom-nav{
    height:76px!important;
    padding:4px 2px!important;
    gap:0!important;
  }
  body.navacon-app .navacon-bottom-nav .navacon-item{
    width:16.6667%!important;
    max-width:none!important;
    height:66px!important;
    padding:7px 2px 5px!important;
    font-size:9px!important;
    line-height:1.05!important;
    gap:4px!important;
    white-space:nowrap!important;
  }
  body.navacon-app .navacon-bottom-nav .navacon-item::before{
    width:22px!important;height:22px!important;background-size:22px 22px!important;
  }
}


/* ===== 1.2.3 MOBILE ACCOUNT REFINEMENT ===== */
@media (max-width:760px){
  /* Account menu: turn the loose vertical links into one compact menu. */
  body.navacon-app.navacon-account-page .navacon-account-menu{
    width:calc(100% - 32px)!important;
    max-width:680px!important;
    margin:0 auto 26px!important;
    padding:0!important;
    background:#fff!important;
    border:1px solid #dbe5ef!important;
    border-radius:14px!important;
    overflow:hidden!important;
    box-shadow:0 8px 22px rgba(23,55,95,.05)!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-menu > *{
    margin:0!important;
    padding:0!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-menu a,
  body.navacon-app.navacon-account-page .navacon-account-menu button{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:48px!important;
    box-sizing:border-box!important;
    padding:13px 16px!important;
    margin:0!important;
    background:#fff!important;
    border:0!important;
    border-bottom:1px solid #edf1f5!important;
    color:#111!important;
    font-size:16px!important;
    font-weight:650!important;
    line-height:1.25!important;
    text-decoration:none!important;
    text-align:left!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-menu > *:last-child a,
  body.navacon-app.navacon-account-page .navacon-account-menu > *:last-child button,
  body.navacon-app.navacon-account-page .navacon-account-menu a:last-child,
  body.navacon-app.navacon-account-page .navacon-account-menu button:last-child{
    border-bottom:0!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-menu a:hover,
  body.navacon-app.navacon-account-page .navacon-account-menu button:hover{
    background:#f7f9fb!important;
  }

  /* The page already has a main "Cuenta" title; keep the secondary section title modest. */
  body.navacon-app.navacon-account-page > .navacon-page-title{
    margin-bottom:18px!important;
  }

  /* Avoid showing "Datos personales" twice: the menu item is enough. */
  body.navacon-app.navacon-account-page .navacon-account-duplicate-title{
    display:none!important;
  }

  /* Personal-data content: tighter and easier to scan on a phone. */
  body.navacon-app.navacon-account-page .navacon-account-data-section{
    width:calc(100% - 32px)!important;
    max-width:680px!important;
    margin:0 auto!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-data-section h2,
  body.navacon-app.navacon-account-page .navacon-account-data-section h3,
  body.navacon-app.navacon-account-page .navacon-account-data-section h4{
    margin:18px 0 14px!important;
    font-size:22px!important;
    line-height:1.2!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-data-section p{
    margin:0!important;
  }
  body.navacon-app.navacon-account-page .navacon-account-data-section hr{
    margin:12px 0!important;
  }
}

/* NAVACON 1.2.13: logo corporativo completo en todos los encabezados */
.navacon-top-header .navacon-logo-icon{width:208px!important;height:68px!important;max-width:100%!important;object-fit:contain!important;display:block!important;background:transparent!important;flex:0 0 auto!important}
.navacon-logo-link{width:208px!important;min-width:208px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;background:transparent!important}
body.navacon-portal-login .navacon-login-brand img,body.navacon-portal-login .navacon-login-header img,.navacon-login-header img{width:208px!important;height:68px!important;max-width:100%!important;object-fit:contain!important;background:transparent!important}
@media(max-width:760px){.navacon-top-header .navacon-logo-icon,.navacon-login-header img,body.navacon-portal-login .navacon-login-brand img{width:180px!important;height:59px!important}.navacon-logo-link{width:180px!important;min-width:180px!important}}


/* NAVACON 1.2.15: imagen corporativa en encabezados de todas las secciones del portal. */
body.navacon-app .navacon-top-header, body.navacon-app header.navacon-top-header {background:#000!important;color:#fff!important;}
body.navacon-app .navacon-top-header .navacon-top-inner {background:#000!important;}
body.navacon-app .navacon-top-header .navacon-logo-link {width:250px!important;min-width:250px!important;height:72px!important;overflow:visible!important;background:transparent!important;}
body.navacon-app .navacon-top-header .navacon-logo-icon {width:250px!important;height:72px!important;max-width:250px!important;max-height:72px!important;object-fit:contain!important;display:block!important;background:transparent!important;}
body.navacon-portal-login .navacon-login-header {background:#000!important;}
body.navacon-portal-login .navacon-login-header img {object-fit:contain!important;background:transparent!important;}
@media(max-width:760px){body.navacon-app .navacon-top-header .navacon-logo-link,body.navacon-app .navacon-top-header .navacon-logo-icon {width:190px!important;min-width:190px!important;height:62px!important;max-width:190px!important;max-height:62px!important;}}


/* NAVACON 1.2.20: mobile bottom navigation icons only. Desktop labels remain unchanged. */
@media (max-width:760px){
  body.navacon-app .navacon-bottom-nav .navacon-item{
    font-size:0!important;
    line-height:0!important;
    letter-spacing:0!important;
    white-space:normal!important;
    justify-content:center!important;
    gap:0!important;
    width:14.2857%!important;
    max-width:14.2857%!important;
    min-width:0!important;
    padding:7px 0!important;
  }
  body.navacon-app .navacon-bottom-nav .navacon-item::before{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
    background-size:24px 24px!important;
  }
}


/* NAVACON 1.2.21: cache-busted mobile icon-only bottom navigation. */
@media screen and (max-width: 760px) {
  body.navacon-app .navacon-bottom-nav .navacon-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 7px 0 !important;
    gap: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: hidden !important;
  }
  body.navacon-app .navacon-bottom-nav .navacon-item > *,
  body.navacon-app .navacon-bottom-nav .navacon-item span,
  body.navacon-app .navacon-bottom-nav .navacon-item label {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    max-height: 0 !important;
    overflow: hidden !important;
  }
  body.navacon-app .navacon-bottom-nav .navacon-item::before {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex: 0 0 24px !important;
    background-size: 24px 24px !important;
    margin: 0 !important;
  }
}
