/* =========================================================
   VILANZ 360 - Identidad corporativa
   Basado en el Manual de Identidad Corporativa v2 (2026)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap');

:root {
  --vilanz-navy: #132A45;
  --vilanz-navy-deep: #0C1C2F;
  --vilanz-navy-soft: #1E3A5C;
  --vilanz-orange: #F5821F;
  --vilanz-gray: #9AA1AA;
  --vilanz-white: #FFFFFF;
  --sf-primary: var(--vilanz-navy);
  --sf-primary-dark: var(--vilanz-navy-deep);
  --sf-primary-light: var(--vilanz-navy-soft);
  --sf-accent: var(--vilanz-orange);
  --sf-sidebar-active: rgba(245, 130, 31, .10);
  --sf-sidebar-text-active: var(--vilanz-navy);
  --sf-text-muted: var(--vilanz-gray);
}

body {
  font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Área respirable y tamaño mínimo definidos por el manual. */
.vilanz-wordmark,
.sf-brand-wordmark {
  display: block;
  width: auto;
  height: auto;
  min-height: 0;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
}

.sf-sidebar-logo.brand-lockup {
  height: 92px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  padding-left: 16px;
  padding-right: 16px;
}

.sf-sidebar-logo.brand-lockup .sf-brand-wordmark {
  width: 150px;
  min-width: 150px;
  height: auto;
}

.sf-sidebar-logo.brand-lockup .sf-logo-text {
  width: 100%;
  padding-top: 4px;
  border-top: 1px solid rgba(154, 161, 170, .28);
}

.sf-sidebar-logo.brand-lockup .sf-logo-text .name {
  max-width: 210px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsed .sf-sidebar-logo.brand-lockup .sf-brand-wordmark,
.collapsed .sf-sidebar-logo.brand-lockup .sf-logo-text { display: none; }

.collapsed .sf-sidebar-logo.brand-lockup {
  height: var(--sf-header-height);
  align-items: center;
  padding: 0;
}

.collapsed .sf-sidebar-logo.brand-lockup .sf-logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Panel cliente: marca limpia, centrada y con presencia reforzada. */
.sf-sidebar-logo.client-brand-lockup {
  align-items: center;
  justify-content: center;
  height: 92px;
  padding: 10px 16px;
}

.sf-sidebar-logo.client-brand-lockup .sf-brand-wordmark {
  width: 189px;
  min-width: 189px;
  height: auto;
  padding: 4px 6px;
  border-radius: 8px;
  background: #FFFFFF;
}

/* Perfil compacto al pie del menú lateral. */
.sf-sidebar-footer.client-profile-footer {
  padding: 10px 12px 12px;
}

.sf-sidebar-user.sidebar-profile-card {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  text-align: left;
  border: 1px solid rgba(19, 42, 69, .10);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(19, 42, 69, .05), rgba(245, 130, 31, .07));
  box-shadow: 0 3px 12px rgba(19, 42, 69, .05);
}

.sidebar-profile-avatar {
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  border-radius: 11px;
  color: var(--vilanz-white);
  background: linear-gradient(145deg, var(--vilanz-navy), var(--vilanz-navy-soft));
  box-shadow: 0 5px 12px rgba(19, 42, 69, .20);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .3px;
}

.sidebar-profile-copy {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

.sidebar-profile-card .sf-sidebar-user-name {
  max-width: 165px;
  color: var(--sf-text-primary);
  font-size: 12px;
  font-weight: 700;
}

.sidebar-profile-status {
  margin-top: 3px;
  color: var(--sf-text-secondary);
  font-size: 9.5px;
  white-space: nowrap;
}

.sidebar-profile-status i {
  margin-right: 3px;
  color: #22A06B;
  font-size: 6px;
  vertical-align: 1px;
}

[data-theme="dark"] .sf-sidebar-user.sidebar-profile-card {
  border-color: rgba(154, 161, 170, .16);
  background: linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(245, 130, 31, .08));
}

[data-theme="dark"] .sidebar-profile-card .sf-sidebar-user-name {
  color: #FFFFFF;
}

/* Empresa activa: situada inmediatamente antes de Notificaciones. */
.sf-empresa-chip.header-company {
  min-height: 42px;
  max-width: 320px;
  padding: 5px 12px 5px 7px;
  gap: 9px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(19, 42, 69, .06), rgba(245, 130, 31, .08));
  border-color: rgba(19, 42, 69, .13);
  box-shadow: 0 2px 8px rgba(19, 42, 69, .05);
}

.header-company-icon {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--vilanz-orange);
  background: rgba(245, 130, 31, .13);
}

.header-company-details {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

.header-company-name {
  max-width: 245px;
  overflow: hidden;
  color: var(--sf-text-primary);
  font-size: 12px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sf-empresa-chip.header-company .ruc {
  font-size: 10px;
  letter-spacing: .35px;
  white-space: nowrap;
}

[data-theme="dark"] .sf-empresa-chip.header-company {
  background: linear-gradient(135deg, rgba(255, 255, 255, .04), rgba(245, 130, 31, .09));
  border-color: rgba(154, 161, 170, .18);
}

.sf-nav-link.active {
  background: rgba(245, 130, 31, .10);
  box-shadow: inset 3px 0 0 var(--vilanz-orange);
}

.sf-nav-link.active .nav-icon,
.sf-breadcrumb .fa-shield-alt { color: var(--vilanz-orange) !important; }

.btn-brand,
.btn-primary.brand-action {
  background: var(--vilanz-orange);
  border-color: var(--vilanz-orange);
  color: var(--vilanz-white);
  box-shadow: 0 8px 20px rgba(245, 130, 31, .22);
}

.btn-brand:hover:not(:disabled),
.btn-primary.brand-action:hover:not(:disabled) {
  background: #D96C10;
  border-color: #D96C10;
  box-shadow: 0 10px 24px rgba(245, 130, 31, .30);
  transform: translateY(-1px);
}

.sf-login-page {
  background:
    radial-gradient(circle at 12% 15%, rgba(245, 130, 31, .13), transparent 27%),
    radial-gradient(circle at 88% 90%, rgba(255, 255, 255, .08), transparent 30%),
    var(--vilanz-navy);
}

.sf-login-page::before { opacity: .45; }

.sf-login-card {
  border: 1px solid rgba(255, 255, 255, .55);
  border-top: 4px solid var(--vilanz-orange);
  box-shadow: 0 28px 70px rgba(4, 15, 28, .38);
}

.sf-login-logo.brand-lockup {
  justify-content: center;
  margin-bottom: 28px;
  min-height: 52px;
}

.sf-login-logo.brand-lockup .vilanz-wordmark {
  width: 270px;
  height: auto;
  max-width: 100%;
}

.sf-login-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}

.sf-login-title-icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--vilanz-orange);
  background: rgba(245, 130, 31, .11);
}

.sf-login-title-row + .sf-login-sub { text-align: center; }
.sf-login-footer a:hover { color: var(--vilanz-orange); }

/* Portada pública. Se carga después de sus estilos embebidos. */
body.vilanz-landing {
  --brand-1: var(--vilanz-navy-deep);
  --brand-2: var(--vilanz-navy);
  --brand-3: var(--vilanz-orange);
  --accent: var(--vilanz-orange);
  --dark: var(--vilanz-navy-deep);
  background:
    radial-gradient(ellipse 65% 55% at 8% -5%, rgba(245, 130, 31, .16), transparent),
    radial-gradient(ellipse 55% 45% at 92% 108%, rgba(255, 255, 255, .08), transparent),
    var(--vilanz-navy-deep);
}

.vilanz-landing header { border-bottom-color: rgba(154, 161, 170, .16); }
.vilanz-landing .logo {
  padding: 7px 11px;
  border-radius: 10px;
  background: #FFFFFF;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .16);
}
.vilanz-landing .logo .vilanz-wordmark { width: 190px; height: auto; }
.vilanz-landing .hero-badge {
  color: #FFD1A9;
  background: rgba(245, 130, 31, .12);
  border-color: rgba(245, 130, 31, .35);
}

.vilanz-landing .hero-title .gr {
  color: var(--vilanz-orange);
  background: none;
  -webkit-text-fill-color: currentColor;
}

.vilanz-landing .btn-main {
  background: var(--vilanz-orange);
  box-shadow: 0 10px 30px rgba(245, 130, 31, .30);
}

.vilanz-landing .btn-main:hover {
  background: #D96C10;
  box-shadow: 0 14px 36px rgba(245, 130, 31, .38);
}

.vilanz-landing .feat-chip i { color: var(--vilanz-orange); }

.vilanz-landing .hero {
  padding: 34px 32px 42px;
}

.vilanz-landing .hero-inner {
  width: min(1120px, 100%);
  max-width: 1120px;
  grid-template-columns: minmax(360px, .82fr) minmax(560px, 1.18fr);
  gap: clamp(42px, 5vw, 72px);
}

.vilanz-landing .hero-right {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-content: center;
}

.vilanz-landing .info-card {
  display: flex;
  min-height: 144px;
  padding: 18px 19px;
  flex-direction: column;
  justify-content: center;
  border-color: rgba(154, 161, 170, .18);
  border-left: 3px solid rgba(245, 130, 31, .78);
}

.vilanz-landing .info-card:last-child {
  grid-column: 1 / -1;
  min-height: 112px;
}

.vilanz-landing .info-card:hover {
  transform: translateY(-3px);
  border-color: rgba(245, 130, 31, .34);
  box-shadow: 0 14px 30px rgba(4, 16, 29, .20);
}

.vilanz-landing .info-card-icon {
  color: var(--vilanz-orange) !important;
  background: rgba(245, 130, 31, .12) !important;
}

.vilanz-landing footer { color: rgba(255, 255, 255, .42); }

@media (max-width: 980px) {
  .vilanz-landing .hero { padding: 44px 28px 52px; }
  .vilanz-landing .hero-inner {
    max-width: 760px;
    grid-template-columns: 1fr;
    gap: 44px;
  }
  .vilanz-landing .hero-left { text-align: center; }
  .vilanz-landing .hero-sub { margin-left: auto; margin-right: auto; }
  .vilanz-landing .features-row { justify-content: center; }
}

@media (max-width: 620px) {
  .vilanz-landing header { padding: 14px 18px; }
  .vilanz-landing .hero { padding: 34px 18px 42px; }
  .vilanz-landing .hero-title { font-size: clamp(36px, 11vw, 46px); }
  .vilanz-landing .hero-right { grid-template-columns: 1fr; }
  .vilanz-landing .info-card,
  .vilanz-landing .info-card:last-child {
    grid-column: auto;
    min-height: 0;
    text-align: left;
  }
}

/* =========================================================
   Menú lateral corporativo - Administrador y Cliente ERP
   ========================================================= */

.sf-sidebar {
  border-right: 1px solid rgba(19, 42, 69, .10);
  box-shadow: 6px 0 24px rgba(19, 42, 69, .10);
}

.sf-sidebar-logo {
  border-bottom: 1px solid rgba(19, 42, 69, .10);
  box-shadow: inset 0 -3px 0 rgba(245, 130, 31, .75);
}

.sf-sidebar-nav {
  padding: 12px 8px 18px;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sf-sidebar-nav::-webkit-scrollbar { display: none; width: 0; height: 0; }

.sf-nav-section { margin-bottom: 8px; }

.sf-nav-section-label {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 12px 5px;
  color: var(--vilanz-gray);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.15px;
}

.sf-nav-section-label::before {
  content: '';
  width: 12px;
  height: 2px;
  flex: 0 0 12px;
  border-radius: 2px;
  background: var(--vilanz-orange);
}

.sf-nav-link {
  margin: 3px 2px;
  padding: 8px 10px;
  gap: 11px;
  border: 1px solid transparent;
  border-radius: 11px;
  color: #536273;
  font-weight: 600;
}

.sf-nav-link .nav-label {
  font-size: 12.5px;
  font-weight: 650;
}

.sf-sidebar .sf-nav-link .nav-icon,
.sf-sidebar .sf-nav-link[data-color] .nav-icon {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(19, 42, 69, .08);
  border-radius: 9px;
  background: rgba(19, 42, 69, .075) !important;
  color: var(--vilanz-navy) !important;
  filter: none;
}

.sf-nav-link:hover {
  border-color: rgba(19, 42, 69, .09);
  background: rgba(19, 42, 69, .055);
  color: var(--vilanz-navy);
  transform: translateX(2px);
}

.sf-sidebar .sf-nav-link:hover .nav-icon,
.sf-sidebar .sf-nav-link.open .nav-icon {
  border-color: rgba(245, 130, 31, .22);
  background: rgba(245, 130, 31, .11) !important;
  color: var(--vilanz-orange) !important;
  filter: none;
}

.sf-nav-link.active {
  border-color: var(--vilanz-navy);
  background: var(--vilanz-navy);
  color: var(--vilanz-white);
  box-shadow: inset 4px 0 0 var(--vilanz-orange), 0 7px 18px rgba(19, 42, 69, .18);
  transform: none;
}

.sf-sidebar .sf-nav-link.active .nav-icon,
.sf-sidebar .sf-nav-link[data-color].active .nav-icon {
  border-color: rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .10) !important;
  color: var(--vilanz-orange) !important;
  filter: none;
}

.sf-nav-link.active .nav-arrow { color: var(--vilanz-orange); }

.sf-nav-sub,
.sf-submenu {
  margin: 3px 2px 7px 12px;
  border-left: 2px solid rgba(245, 130, 31, .48);
  border-radius: 0 9px 9px 0;
  background: rgba(19, 42, 69, .035);
}

.sf-nav-sub.open { border-left-color: var(--vilanz-orange); }

.sf-nav-sub-link,
.sf-submenu-link {
  margin: 2px 5px;
  color: #657487;
  border-radius: 8px;
}

.sf-nav-sub-link i {
  border: 1px solid rgba(19, 42, 69, .07);
  background: rgba(19, 42, 69, .06);
  color: var(--vilanz-navy);
}

.sf-nav-sub-link:hover,
.sf-submenu-link:hover {
  background: rgba(19, 42, 69, .07);
  color: var(--vilanz-navy);
}

.sf-nav-sub-link:hover i,
.sf-nav-sub-link.active i {
  background: rgba(245, 130, 31, .13);
  color: var(--vilanz-orange);
}

.sf-nav-sub-link.active,
.sf-submenu-link.active {
  background: rgba(245, 130, 31, .10);
  color: var(--vilanz-navy);
  font-weight: 700;
}

.sf-nav-sub-link.active::before {
  left: -7px;
  background: var(--vilanz-orange);
}

.sf-sidebar-footer {
  border-top-color: rgba(19, 42, 69, .10);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(19, 42, 69, .025));
}

.sf-user-card {
  border: 1px solid rgba(19, 42, 69, .09);
  border-radius: 12px;
  background: rgba(19, 42, 69, .035);
}

.sf-user-card:hover {
  border-color: rgba(245, 130, 31, .25);
  background: rgba(245, 130, 31, .075);
}

.sf-user-avatar {
  border-radius: 10px;
  background: linear-gradient(145deg, var(--vilanz-navy), var(--vilanz-navy-soft));
  box-shadow: 0 5px 12px rgba(19, 42, 69, .20);
}

.collapsed .sf-nav-link {
  margin: 3px 5px;
  padding: 8px;
  justify-content: center;
  transform: none;
}

.collapsed .sf-nav-section-label::before { display: none; }

[data-theme="dark"] .sf-sidebar {
  background: var(--vilanz-navy-deep);
  border-right-color: rgba(154, 161, 170, .14);
  box-shadow: 7px 0 28px rgba(0, 0, 0, .35);
}

[data-theme="dark"] .sf-sidebar-logo {
  border-bottom-color: rgba(154, 161, 170, .14);
}

[data-theme="dark"] .sf-nav-section-label { color: rgba(154, 161, 170, .72); }
[data-theme="dark"] .sf-nav-link { color: rgba(255, 255, 255, .70); }

[data-theme="dark"] .sf-sidebar .sf-nav-link .nav-icon,
[data-theme="dark"] .sf-sidebar .sf-nav-link[data-color] .nav-icon {
  border-color: rgba(255, 255, 255, .07);
  background: rgba(255, 255, 255, .06) !important;
  color: rgba(255, 255, 255, .78) !important;
}

[data-theme="dark"] .sf-nav-link:hover {
  border-color: rgba(245, 130, 31, .18);
  background: rgba(245, 130, 31, .09);
  color: #FFFFFF;
}

[data-theme="dark"] .sf-nav-link.active {
  border-color: rgba(245, 130, 31, .42);
  background: rgba(245, 130, 31, .15);
  color: #FFFFFF;
  box-shadow: inset 4px 0 0 var(--vilanz-orange), 0 7px 18px rgba(0, 0, 0, .18);
}

[data-theme="dark"] .sf-nav-sub,
[data-theme="dark"] .sf-submenu {
  background: rgba(255, 255, 255, .035);
}

[data-theme="dark"] .sf-nav-sub-link,
[data-theme="dark"] .sf-submenu-link { color: rgba(255, 255, 255, .62); }

[data-theme="dark"] .sf-nav-sub-link:hover,
[data-theme="dark"] .sf-nav-sub-link.active,
[data-theme="dark"] .sf-submenu-link:hover,
[data-theme="dark"] .sf-submenu-link.active {
  background: rgba(245, 130, 31, .10);
  color: #FFFFFF;
}

[data-theme="dark"] .sf-sidebar-footer {
  border-top-color: rgba(154, 161, 170, .14);
  background: rgba(0, 0, 0, .08);
}

[data-theme="dark"] .sf-user-card {
  border-color: rgba(154, 161, 170, .14);
  background: rgba(255, 255, 255, .04);
}

/* =========================================================
   Dashboard ejecutivo del cliente ERP
   ========================================================= */

.vilanz-dashboard {
  --vd-navy: var(--vilanz-navy);
  --vd-orange: var(--vilanz-orange);
  --vd-line: rgba(19, 42, 69, .10);
}

.vd-welcome {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 154px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 26px;
  padding: 28px 32px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 20px;
  color: #FFFFFF;
  background: linear-gradient(120deg, #0C1C2F 0%, #132A45 58%, #1E3A5C 100%);
  box-shadow: 0 18px 42px rgba(19, 42, 69, .18);
}

.vd-welcome::before,
.vd-welcome::after {
  content: '';
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.vd-welcome::before { width: 210px; height: 210px; right: 16%; top: -145px; }
.vd-welcome::after { width: 125px; height: 125px; right: -28px; bottom: -64px; border-color: rgba(245, 130, 31, .30); }

.vd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 9px;
  color: #FFD7B4;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1.05px;
  text-transform: uppercase;
}

.vd-eyebrow i { color: var(--vd-orange); }
.vd-welcome h1 { margin: 0; color: #FFFFFF; font-size: clamp(24px, 2.4vw, 32px); font-weight: 800; letter-spacing: -.7px; }
.vd-welcome p { margin-top: 7px; color: rgba(255, 255, 255, .68); font-size: 12px; text-transform: capitalize; }
.vd-welcome p i { margin-right: 5px; color: var(--vd-orange); }

.vd-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.vd-actions .btn { min-height: 40px; padding: 9px 15px; border-radius: 10px; font-weight: 700; }
.vd-btn-refresh { border: 1px solid rgba(255, 255, 255, .22); color: #FFFFFF; background: rgba(255, 255, 255, .07); }
.vd-btn-refresh:hover { border-color: rgba(255, 255, 255, .40); color: #FFFFFF; background: rgba(255, 255, 255, .13); }
.vd-btn-primary { border: 1px solid var(--vd-orange); color: #FFFFFF; background: var(--vd-orange); box-shadow: 0 8px 20px rgba(245, 130, 31, .24); }
.vd-btn-primary:hover { border-color: #D96C10; color: #FFFFFF; background: #D96C10; transform: translateY(-1px); }

.vd-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  margin: 0 2px 14px;
}

.vd-section-kicker { color: var(--vd-orange); font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.vd-section-heading h2 { margin-top: 2px; color: var(--sf-text-primary); font-size: 17px; font-weight: 800; letter-spacing: -.25px; }
.vd-live { display: inline-flex; align-items: center; gap: 6px; color: var(--sf-text-secondary); font-size: 10px; font-weight: 600; }
.vd-live i { color: #22A06B; font-size: 7px; filter: drop-shadow(0 0 4px rgba(34, 160, 107, .35)); }

.vilanz-dashboard .sf-stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.vilanz-dashboard .sf-kpi-card {
  --kpi-accent: var(--vd-navy);
  --kpi-soft: rgba(19, 42, 69, .085);
  min-height: 152px;
  padding: 20px 18px 42px;
  border: 1px solid var(--vd-line);
  border-top: 3px solid var(--kpi-accent);
  border-left-width: 1px;
  border-radius: 15px;
  background: linear-gradient(145deg, #FFFFFF 0%, #FBFCFD 100%);
  box-shadow: 0 7px 22px rgba(19, 42, 69, .065);
}

.vilanz-dashboard .sf-kpi-card:nth-child(3n + 2) { --kpi-accent: var(--vd-orange); --kpi-soft: rgba(245, 130, 31, .11); }
.vilanz-dashboard .sf-kpi-card:nth-child(3n) { --kpi-accent: #587087; --kpi-soft: rgba(88, 112, 135, .10); }
.vilanz-dashboard .sf-kpi-card.red { --kpi-accent: #D14343; --kpi-soft: rgba(209, 67, 67, .10); }

.vilanz-dashboard .sf-kpi-card:hover {
  border-color: rgba(19, 42, 69, .16);
  box-shadow: 0 13px 28px rgba(19, 42, 69, .11);
  transform: translateY(-3px);
}

.vilanz-dashboard .sf-kpi-icon {
  width: 42px;
  height: 42px;
  border: 1px solid color-mix(in srgb, var(--kpi-accent) 15%, transparent);
  border-radius: 12px;
}

.vilanz-dashboard .sf-kpi-value { color: var(--vd-navy); font-size: clamp(20px, 1.75vw, 25px); font-weight: 800; }
.vilanz-dashboard .sf-kpi-label { color: #667486; font-size: 11.5px; font-weight: 650; }
.vilanz-dashboard .sf-kpi-trend { left: 18px; right: 18px; color: #8190A0; font-size: 10px; }

.vilanz-dashboard .vd-main-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: 18px; }
.vilanz-dashboard .sf-card { border-radius: 16px; border-color: var(--vd-line); box-shadow: 0 8px 24px rgba(19, 42, 69, .06); }
.vilanz-dashboard .sf-chart-card::before { width: 4px; border-radius: 16px 0 0 16px; }
.vilanz-dashboard .sf-card-header { margin: -2px -2px 14px; padding: 0 2px 14px; }
.vilanz-dashboard .sf-card-title { color: var(--vd-navy); font-weight: 750; }
.vilanz-dashboard .sf-card-title i { color: var(--vd-orange); }
.vilanz-dashboard .vd-receipts .sf-table th { color: #718092; background: rgba(19, 42, 69, .035); }
.vilanz-dashboard .vd-receipts .sf-table tbody tr:hover { background: rgba(245, 130, 31, .045); }
.vd-er-section { margin-top: 20px; }

[data-theme="dark"] .vd-welcome { border-color: rgba(245, 130, 31, .18); box-shadow: 0 18px 38px rgba(3, 13, 24, .30); }
[data-theme="dark"] .vilanz-dashboard .sf-kpi-card {
  background: linear-gradient(145deg, #173653, #14304B);
  border-color: #2B4D69;
  border-top-color: var(--kpi-accent);
}
[data-theme="dark"] .vilanz-dashboard .sf-kpi-value,
[data-theme="dark"] .vilanz-dashboard .sf-card-title { color: #FFFFFF; }
[data-theme="dark"] .vilanz-dashboard .sf-kpi-label { color: #B6C3CF; }
[data-theme="dark"] .vilanz-dashboard .sf-kpi-trend { color: #8FA2B4; }
[data-theme="dark"] .vilanz-dashboard .sf-card { border-color: #284866; box-shadow: 0 9px 25px rgba(3, 13, 24, .18); }
[data-theme="dark"] .vilanz-dashboard .vd-receipts .sf-table th { background: #193A5A; color: #C1CDD8; }
[data-theme="dark"] .vilanz-dashboard .vd-receipts .sf-table tbody tr:hover { background: #1C3E5E; }

@media (max-width: 1280px) {
  .vilanz-dashboard .sf-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .vilanz-dashboard .sf-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vilanz-dashboard .vd-main-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .vd-welcome { min-height: 0; padding: 24px 20px; align-items: flex-start; flex-direction: column; }
  .vd-actions { width: 100%; justify-content: stretch; }
  .vd-actions .btn { flex: 1; justify-content: center; }
  .vd-section-heading { align-items: flex-start; flex-direction: column; gap: 6px; }
  .vilanz-dashboard .sf-stats-grid { grid-template-columns: 1fr; }
  .vilanz-dashboard .sf-kpi-card { min-height: 140px; }
}

/* =========================================================
   Formularios del módulo Ventas
   ========================================================= */

.sales-form-header {
  position: relative;
  isolation: isolate;
  min-height: 108px;
  margin-bottom: 18px;
  padding: 34px 25px 21px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 17px;
  color: #FFFFFF;
  background: linear-gradient(120deg, var(--vilanz-navy-deep), var(--vilanz-navy) 62%, var(--vilanz-navy-soft));
  box-shadow: 0 14px 32px rgba(19, 42, 69, .16);
}

.sales-form-header::before {
  content: 'Módulo Ventas';
  position: absolute;
  top: 15px;
  left: 25px;
  color: #FFD3AD;
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.sales-form-header::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -38px;
  bottom: -90px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(245, 130, 31, .27);
  border-radius: 50%;
}

.sales-form-header .sf-page-title { color: #FFFFFF; font-size: clamp(20px, 2vw, 26px); font-weight: 800; letter-spacing: -.45px; }
.sales-form-header .sf-page-title i { margin-right: 7px; color: var(--vilanz-orange); }
.sales-form-header .sf-page-actions { position: relative; z-index: 1; }
.sales-form-header .sf-page-actions .btn { min-height: 39px; padding: 8px 15px; border-radius: 10px; font-weight: 700; }
.sales-form-header .sf-page-actions .btn-secondary { border-color: rgba(255, 255, 255, .22); color: #FFFFFF; background: rgba(255, 255, 255, .07); }
.sales-form-header .sf-page-actions .btn-secondary:hover { border-color: rgba(255, 255, 255, .40); color: #FFFFFF; background: rgba(255, 255, 255, .13); }
.sales-form-header .sf-page-actions .btn-primary { border-color: var(--vilanz-orange); color: #FFFFFF; background: var(--vilanz-orange); box-shadow: 0 8px 19px rgba(245, 130, 31, .24); }
.sales-form-header .sf-page-actions .btn-primary:hover { border-color: #D96C10; background: #D96C10; transform: translateY(-1px); }

.sales-form-card {
  padding: 22px;
  border: 1px solid rgba(19, 42, 69, .11);
  border-radius: 16px;
  box-shadow: 0 9px 26px rgba(19, 42, 69, .06);
}

.sales-price-form { max-width: 780px; margin-right: auto; margin-left: auto; }
.sales-opportunity-form { max-width: 940px; margin-right: auto; margin-left: auto; }
.sales-form-card .sf-label { color: #596879; font-size: 10.5px; font-weight: 700; }
.sales-form-card .sf-label.required::after { color: var(--vilanz-orange); }
.sales-form-card .sf-input,
.sales-form-card .sf-select,
.sales-form-card .sf-textarea {
  min-height: 39px;
  border-color: #D7DEE5;
  border-radius: 9px;
  background: #FBFCFD;
}
.sales-form-card textarea.sf-input { min-height: 62px; }
.sales-form-card .sf-input:hover,
.sales-form-card .sf-select:hover { border-color: rgba(19, 42, 69, .28); }
.sales-form-card .sf-input:focus,
.sales-form-card .sf-select:focus,
.sales-form-card .sf-textarea:focus {
  border-color: var(--vilanz-navy);
  background: #FFFFFF;
  box-shadow: none;
}

.sales-form-card input[readonly],
.sales-form-card input:disabled,
.sales-form-card select:disabled {
  border-color: #DFE4E9 !important;
  color: #687789 !important;
  background: #F2F5F7 !important;
}

.sales-form-card .sf-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 14px;
  border-left: 3px solid var(--vilanz-orange);
  border-radius: 0 10px 10px 0;
  color: var(--vilanz-navy) !important;
  background: rgba(19, 42, 69, .045);
  font-size: 12.5px;
  font-weight: 800 !important;
}
.sales-form-card .sf-section-title i { color: var(--vilanz-orange); }

.sales-form-card .sf-items-table {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid #DDE3E9;
  border-radius: 11px;
}
.sales-form-card .sf-items-table thead tr { background: var(--vilanz-navy); }
.sales-form-card .sf-items-table th { padding-top: 10px; padding-bottom: 10px; color: #FFFFFF; border-color: rgba(255, 255, 255, .10); }
.sales-form-card .sf-items-table tbody tr:hover { background: rgba(245, 130, 31, .045); }
.sales-form-card .sf-totals-box {
  margin-top: 14px;
  border: 1px solid rgba(19, 42, 69, .14);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(19, 42, 69, .035), rgba(245, 130, 31, .045));
}

.sales-client-form > div:first-child {
  border-color: rgba(19, 42, 69, .11) !important;
  border-left: 3px solid var(--vilanz-orange) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(19, 42, 69, .035), rgba(245, 130, 31, .035)) !important;
}
.sales-client-form button[onclick="consultarSunatClienteNuevo()"] { border-color: var(--vilanz-orange) !important; color: #FFFFFF !important; background: var(--vilanz-orange) !important; }
.sales-client-form .sf-tabs { gap: 3px; padding: 4px; border: 1px solid rgba(19, 42, 69, .10); border-radius: 11px; background: rgba(19, 42, 69, .035); }
.sales-client-form .sf-tab { border-radius: 8px; }
.sales-client-form .sf-tab.active { color: #FFFFFF; background: var(--vilanz-navy); box-shadow: inset 0 -3px 0 var(--vilanz-orange); }

.sales-document-form > div[style*="background:#eff6ff"] { border-color: rgba(245, 130, 31, .22) !important; color: var(--vilanz-navy) !important; background: rgba(245, 130, 31, .07) !important; }
.sales-info-banner { border-color: rgba(245, 130, 31, .22) !important; color: var(--vilanz-navy) !important; background: linear-gradient(135deg, rgba(19, 42, 69, .045), rgba(245, 130, 31, .07)) !important; }
.sales-info-banner i { margin-right: 5px; color: var(--vilanz-orange); }
.sales-commission-form .sf-table thead tr { background: var(--vilanz-navy); }
.sales-commission-form .sf-table th { color: #FFFFFF; }
.sales-commission-filter { border-left: 3px solid var(--vilanz-orange); }
.sales-modal-form .sf-label { color: #596879; font-size: 10.5px; font-weight: 700; }
.sales-modal-form .sf-input,
.sales-modal-form .sf-select { min-height: 39px; border-color: #D7DEE5; border-radius: 9px; background: #FBFCFD; }
.sales-modal-form .sf-input:focus,
.sales-modal-form .sf-select:focus { border-color: var(--vilanz-navy); background: #FFFFFF; box-shadow: none; }
.sales-modal-form .sf-table thead tr { background: var(--vilanz-navy); }
.sales-modal-form .sf-table th { color: #FFFFFF; }

/* Compras: formularios y evaluación de proveedores */
.purchasing-form-header::before { content: 'Módulo Compras'; }
.purchasing-form-card {
  position: relative;
  overflow: visible;
}
.purchasing-form-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 22px;
  left: 22px;
  height: 3px;
  border-radius: 0 0 4px 4px;
  background: linear-gradient(90deg, var(--vilanz-navy) 0 76%, var(--vilanz-orange) 76% 100%);
}
.purchasing-form-card > div[style*="background:#eff6ff"],
.purchasing-form-card > div[style*="background:#f0fdf4"] {
  border-color: rgba(19, 42, 69, .16) !important;
  color: var(--vilanz-navy) !important;
  background: #F4F7FA !important;
}
.purchasing-form-card .sf-table thead tr { background: var(--vilanz-navy); }
.purchasing-form-card .sf-table th { color: #FFFFFF; border-color: rgba(255, 255, 255, .10); }
.purchasing-form-card .sf-table tbody tr:hover { background: rgba(19, 42, 69, .04); }
.purchasing-invoice-form { width: 100%; margin-right: auto; margin-left: auto; }
.purchasing-evaluation { overflow-x: auto; }
.purchasing-evaluation .sf-badge.amber { color: #FFFFFF; background: var(--vilanz-orange); }
.sales-provider-form .sf-tab.active { box-shadow: inset 0 -3px 0 var(--vilanz-orange); }

[data-theme="dark"] .sales-form-header { border-color: rgba(245, 130, 31, .18); box-shadow: 0 15px 35px rgba(3, 13, 24, .28); }
[data-theme="dark"] .sales-form-card { border-color: #2A4B68; background: #16324F; box-shadow: 0 9px 24px rgba(3, 13, 24, .18); }
[data-theme="dark"] .sales-form-card .sf-label { color: #BBC7D2; }
[data-theme="dark"] .sales-form-card .sf-input,
[data-theme="dark"] .sales-form-card .sf-select,
[data-theme="dark"] .sales-form-card .sf-textarea { border-color: #315370; color: #F4F7FA; background: #102B46; }
[data-theme="dark"] .sales-form-card .sf-input:focus,
[data-theme="dark"] .sales-form-card .sf-select:focus,
[data-theme="dark"] .sales-form-card .sf-textarea:focus { border-color: var(--vilanz-gray); background: #12304C; box-shadow: none; }
[data-theme="dark"] .sales-form-card .sf-section-title { color: #FFFFFF !important; background: rgba(255, 255, 255, .04); }
[data-theme="dark"] .sales-client-form > div:first-child { border-color: #315370 !important; background: #183754 !important; }
[data-theme="dark"] .sales-client-form .sf-tabs { border-color: #315370; background: #14304B; }
[data-theme="dark"] .sales-document-form > div[style*="background:#eff6ff"] { color: #FFD4AF !important; background: rgba(245, 130, 31, .08) !important; }
[data-theme="dark"] .sales-info-banner { border-color: #315370 !important; color: #DDE6EE !important; background: #183754 !important; }
[data-theme="dark"] .sales-modal-form .sf-label { color: #BBC7D2; }
[data-theme="dark"] .sales-modal-form .sf-input,
[data-theme="dark"] .sales-modal-form .sf-select { border-color: #315370; color: #F4F7FA; background: #102B46; }
[data-theme="dark"] .purchasing-form-card::before { background: linear-gradient(90deg, #9AA1AA 0 76%, var(--vilanz-orange) 76% 100%); }
[data-theme="dark"] .purchasing-form-card > div[style*="background:#eff6ff"],
[data-theme="dark"] .purchasing-form-card > div[style*="background:#f0fdf4"] { border-color: #315370 !important; color: #DDE6EE !important; background: #183754 !important; }
[data-theme="dark"] .purchasing-form-card .sf-table tbody tr:hover { background: rgba(255, 255, 255, .035); }

@media (max-width: 720px) {
  .sales-form-header { align-items: flex-start; padding: 35px 18px 19px; }
  .sales-form-header::before { left: 18px; }
  .sales-form-header .sf-page-actions { width: 100%; }
  .sales-form-header .sf-page-actions .btn { flex: 1; justify-content: center; }
  .sales-form-card { padding: 16px; }
  .purchasing-form-card::before { right: 16px; left: 16px; }
  .sales-client-form .sf-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .sales-commission-filter { align-items: stretch !important; flex-direction: column; }
  .sales-commission-filter .sf-input,
  .sales-commission-filter .sf-select,
  .sales-commission-filter .btn { width: 100% !important; margin-left: 0 !important; }
}

/* =========================================================
   Emisión de Comprobante Electrónico - Cliente ERP
   ========================================================= */

.vilanz-cpe-form { --cpe-line: rgba(19, 42, 69, .12); }

.cpe-form-header {
  position: relative;
  isolation: isolate;
  min-height: 122px;
  margin-bottom: 18px;
  padding: 23px 26px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 18px;
  color: #FFFFFF;
  background: linear-gradient(120deg, var(--vilanz-navy-deep), var(--vilanz-navy) 60%, var(--vilanz-navy-soft));
  box-shadow: 0 14px 34px rgba(19, 42, 69, .17);
}

.cpe-form-header::after {
  content: '';
  position: absolute;
  z-index: -1;
  right: -42px;
  bottom: -82px;
  width: 175px;
  height: 175px;
  border: 1px solid rgba(245, 130, 31, .28);
  border-radius: 50%;
}

.cpe-title-wrap { display: flex; align-items: center; gap: 15px; min-width: 0; }
.cpe-title-icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 52px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  color: var(--vilanz-orange);
  background: rgba(255, 255, 255, .08);
  font-size: 21px;
}

.cpe-title-kicker { color: #FFD4AF; font-size: 9px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.cpe-form-header .sf-page-title { margin-top: 2px; color: #FFFFFF; font-size: clamp(20px, 2vw, 27px); font-weight: 800; letter-spacing: -.5px; }
.cpe-form-header .sf-page-title::before { display: none; }
.cpe-title-wrap p { margin-top: 4px; color: rgba(255, 255, 255, .66); font-size: 11.5px; }

.cpe-form-actions { position: relative; z-index: 1; }
.cpe-form-actions .btn { min-height: 40px; padding: 9px 15px; border-radius: 10px; font-weight: 700; }
.cpe-btn-cancel { border: 1px solid rgba(255, 255, 255, .22); color: #FFFFFF; background: rgba(255, 255, 255, .07); }
.cpe-btn-cancel:hover { border-color: rgba(255, 255, 255, .42); color: #FFFFFF; background: rgba(255, 255, 255, .13); }
.cpe-btn-emit { border: 1px solid var(--vilanz-orange); color: #FFFFFF; background: var(--vilanz-orange); box-shadow: 0 8px 20px rgba(245, 130, 31, .25); }
.cpe-btn-emit:hover { border-color: #D96C10; color: #FFFFFF; background: #D96C10; transform: translateY(-1px); }

.vilanz-cpe-form .sf-cpe-layout { gap: 18px !important; }
.vilanz-cpe-form .cpe-main-card {
  padding: 22px;
  border: 1px solid var(--cpe-line);
  border-radius: 16px;
  box-shadow: 0 9px 26px rgba(19, 42, 69, .065);
}

.cpe-tools { padding-bottom: 12px; border-bottom: 1px solid var(--cpe-line); }
.cpe-tools > div > .btn { border-color: rgba(19, 42, 69, .14); color: var(--vilanz-navy); background: rgba(19, 42, 69, .045); }
.cpe-tools > div > .btn:hover { border-color: rgba(245, 130, 31, .28); color: var(--vilanz-orange); background: rgba(245, 130, 31, .07); }

.cpe-section-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 15px 0 17px;
}
.cpe-section-heading > span {
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
  border-radius: 10px;
  color: var(--vilanz-orange);
  background: rgba(245, 130, 31, .10);
}
.cpe-section-heading strong { display: block; color: var(--vilanz-navy); font-size: 13px; font-weight: 800; }
.cpe-section-heading small { display: block; margin-top: 1px; color: var(--sf-text-muted); font-size: 9.5px; }

.vilanz-cpe-form .sf-label { color: #596879; font-size: 10.5px; font-weight: 700; }
.vilanz-cpe-form .sf-label.required::after { color: var(--vilanz-orange); }
.vilanz-cpe-form .sf-input,
.vilanz-cpe-form .sf-select,
.vilanz-cpe-form .sf-textarea {
  min-height: 39px;
  border-color: #D7DEE5;
  border-radius: 9px;
  background: #FBFCFD;
}
.vilanz-cpe-form textarea.sf-input { min-height: 62px; }
.vilanz-cpe-form .sf-input:hover,
.vilanz-cpe-form .sf-select:hover { border-color: rgba(19, 42, 69, .28); }
.vilanz-cpe-form .sf-input:focus,
.vilanz-cpe-form .sf-select:focus,
.vilanz-cpe-form .sf-textarea:focus {
  border-color: var(--vilanz-navy);
  background: #FFFFFF;
  box-shadow: none;
}

.vilanz-cpe-form #fCPETC,
.vilanz-cpe-form #fCPECliSearch[readonly],
.vilanz-cpe-form input[readonly] {
  border-color: #DFE4E9 !important;
  color: #687789 !important;
  background: #F2F5F7 !important;
}

.cpe-items-title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 22px 0 12px !important;
  padding: 11px 14px;
  border-left: 3px solid var(--vilanz-orange);
  border-radius: 0 10px 10px 0;
  color: var(--vilanz-navy) !important;
  background: rgba(19, 42, 69, .045);
  font-size: 12.5px;
  font-weight: 800 !important;
}
.cpe-items-title i { color: var(--vilanz-orange); }
.cpe-product-toolbar { margin-bottom: 12px !important; }
.cpe-items-wrap { border: 1px solid #DDE3E9; border-radius: 12px; }
.vilanz-cpe-form .cpe-items-table { margin: 0; border: 0; }
.vilanz-cpe-form .cpe-items-table thead tr { background: var(--vilanz-navy); }
.vilanz-cpe-form .cpe-items-table th { padding-top: 10px; padding-bottom: 10px; color: #FFFFFF; border-color: rgba(255, 255, 255, .10); }
.vilanz-cpe-form .cpe-items-table tbody tr:hover { background: rgba(245, 130, 31, .045); }

.vilanz-cpe-form .sf-totals-box {
  margin-top: 14px;
  border: 1px solid rgba(19, 42, 69, .14);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(19, 42, 69, .035), rgba(245, 130, 31, .045));
}

.vilanz-cpe-form .sf-cpe-sidebar { width: 330px !important; }
.vilanz-cpe-form #cpeOrigenSection,
.vilanz-cpe-form #cpeMercaderiaSection,
.vilanz-cpe-form #cpeRetDetSection,
.vilanz-cpe-form #cpeCuotasDetalleBox,
.vilanz-cpe-form #cpeRefBox {
  border: 1px solid rgba(19, 42, 69, .13) !important;
  border-radius: 13px !important;
  background: linear-gradient(145deg, rgba(19, 42, 69, .035), rgba(245, 130, 31, .035)) !important;
}

.vilanz-cpe-form #cpeOrigenSection > div:first-child,
.vilanz-cpe-form #cpeMercaderiaSection > div:first-child,
.vilanz-cpe-form #cpeRetDetSection > div:first-child {
  color: var(--vilanz-navy) !important;
  border-bottom-color: rgba(245, 130, 31, .26) !important;
}
.vilanz-cpe-form #cpeOrigenSection > div:first-child i,
.vilanz-cpe-form #cpeMercaderiaSection > div:first-child i,
.vilanz-cpe-form #cpeRetDetSection > div:first-child i { color: var(--vilanz-orange); }

.vilanz-cpe-form #cpeGuiasPendWrap,
.vilanz-cpe-form #cpeGuiaJuntoWrap,
.vilanz-cpe-form #cpeAnticiposWrap,
.vilanz-cpe-form #cpeRetDetSection > div:not(:first-child) {
  border-color: rgba(19, 42, 69, .10) !important;
  background: var(--sf-card-bg) !important;
}

[data-theme="dark"] .vilanz-cpe-form { --cpe-line: #2A4B68; }
[data-theme="dark"] .cpe-form-header { border-color: rgba(245, 130, 31, .18); box-shadow: 0 16px 36px rgba(3, 13, 24, .28); }
[data-theme="dark"] .vilanz-cpe-form .cpe-main-card { border-color: #2A4B68; background: #16324F; }
[data-theme="dark"] .cpe-section-heading strong,
[data-theme="dark"] .cpe-items-title,
[data-theme="dark"] .vilanz-cpe-form #cpeOrigenSection > div:first-child,
[data-theme="dark"] .vilanz-cpe-form #cpeMercaderiaSection > div:first-child,
[data-theme="dark"] .vilanz-cpe-form #cpeRetDetSection > div:first-child { color: #FFFFFF !important; }
[data-theme="dark"] .vilanz-cpe-form .sf-label { color: #BBC7D2; }
[data-theme="dark"] .vilanz-cpe-form .sf-input,
[data-theme="dark"] .vilanz-cpe-form .sf-select,
[data-theme="dark"] .vilanz-cpe-form .sf-textarea { border-color: #315370; color: #F4F7FA; background: #102B46; }
[data-theme="dark"] .vilanz-cpe-form .sf-input:focus,
[data-theme="dark"] .vilanz-cpe-form .sf-select:focus,
[data-theme="dark"] .vilanz-cpe-form .sf-textarea:focus { border-color: var(--vilanz-gray); background: #12304C; box-shadow: none; }
[data-theme="dark"] .vilanz-cpe-form #cpeOrigenSection,
[data-theme="dark"] .vilanz-cpe-form #cpeMercaderiaSection,
[data-theme="dark"] .vilanz-cpe-form #cpeRetDetSection,
[data-theme="dark"] .vilanz-cpe-form #cpeCuotasDetalleBox,
[data-theme="dark"] .vilanz-cpe-form #cpeRefBox { border-color: #315370 !important; background: #183754 !important; }
[data-theme="dark"] .vilanz-cpe-form #cpeGuiasPendWrap,
[data-theme="dark"] .vilanz-cpe-form #cpeGuiaJuntoWrap,
[data-theme="dark"] .vilanz-cpe-form #cpeAnticiposWrap,
[data-theme="dark"] .vilanz-cpe-form #cpeRetDetSection > div:not(:first-child) { border-color: #315370 !important; background: #14304B !important; }

@media (max-width: 1120px) {
  .vilanz-cpe-form .sf-cpe-layout { flex-direction: column; }
  .vilanz-cpe-form .sf-cpe-sidebar { position: static !important; width: 100% !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .vilanz-cpe-form #cpeOrigenSection { margin-bottom: 0 !important; }
}

@media (max-width: 720px) {
  .cpe-form-header { align-items: flex-start; padding: 21px 18px; }
  .cpe-title-icon { width: 44px; height: 44px; flex-basis: 44px; }
  .cpe-title-wrap p { display: none; }
  .cpe-form-actions { width: 100%; }
  .cpe-form-actions .btn { flex: 1; justify-content: center; }
  .vilanz-cpe-form .cpe-main-card { padding: 16px; }
  .vilanz-cpe-form .sf-cpe-sidebar { grid-template-columns: 1fr; }
  .cpe-product-toolbar { flex-direction: column; }
  .cpe-product-toolbar > div,
  .cpe-product-toolbar > select { width: 100% !important; }
}

/* =========================================================
   Tema nocturno Vilanz - evita el negro neutro genérico
   ========================================================= */

/* Foco de campos: color sólido, sin halo ni acento naranja. */
.sf-input:focus,
.sf-select:focus,
.sf-textarea:focus,
.sf-items-table input:focus,
.sf-items-table select:focus {
  border-color: var(--vilanz-navy);
  box-shadow: none;
}

.sf-input-group:focus-within {
  border-color: var(--vilanz-navy);
  box-shadow: none;
}

[data-theme="dark"] {
  --sf-bg: #0F2238;
  --sf-card-bg: #16324F;
  --sf-border: #284866;
  --sf-text-primary: #F7FAFC;
  --sf-text-secondary: #B8C4D1;
  --sf-text-muted: #7F91A3;
  --sf-sidebar-bg: var(--vilanz-navy-deep);
  --sf-sidebar-hover: #183653;
  --sf-sidebar-active: rgba(245, 130, 31, .15);
  --sf-sidebar-text: #AEBBC8;
  --sf-sidebar-text-active: #FFFFFF;
  --sf-shadow: 0 2px 6px rgba(3, 13, 24, .22);
  --sf-shadow-md: 0 8px 18px rgba(3, 13, 24, .25);
  --sf-shadow-lg: 0 18px 38px rgba(3, 13, 24, .32);
}

[data-theme="dark"] body,
[data-theme="dark"] .sf-main,
[data-theme="dark"] .sf-content {
  background:
    radial-gradient(circle at 95% 2%, rgba(245, 130, 31, .055), transparent 25%),
    var(--sf-bg);
  color: var(--sf-text-primary);
}

[data-theme="dark"] .sf-header {
  background: var(--vilanz-navy);
  border-bottom-color: #294A68;
  box-shadow: 0 4px 16px rgba(3, 13, 24, .20);
}

[data-theme="dark"] .sf-card,
[data-theme="dark"] .sf-stat-card,
[data-theme="dark"] .sf-kpi-card,
[data-theme="dark"] .sf-modal,
[data-theme="dark"] .sf-confirm-box {
  background: var(--sf-card-bg);
  border-color: var(--sf-border);
  color: var(--sf-text-primary);
  box-shadow: 0 7px 20px rgba(3, 13, 24, .16);
}

[data-theme="dark"] .sf-card-header,
[data-theme="dark"] .sf-modal-header {
  background: #183754;
  border-bottom-color: var(--sf-border);
}

[data-theme="dark"] .sf-modal-footer {
  background: #12304C;
  border-top-color: var(--sf-border);
}

[data-theme="dark"] .sf-table th,
[data-theme="dark"] .sf-items-table thead tr {
  background: #193A5A;
  color: #C1CDD8;
  border-bottom-color: var(--sf-border);
}

[data-theme="dark"] .sf-table td,
[data-theme="dark"] .sf-items-table td {
  border-bottom-color: #254662;
  color: #EDF3F8;
}

[data-theme="dark"] .sf-table tbody tr:hover { background: #1C3E5E; }

[data-theme="dark"] .sf-input,
[data-theme="dark"] .sf-select,
[data-theme="dark"] .sf-textarea,
[data-theme="dark"] .sf-items-table input,
[data-theme="dark"] .sf-items-table select,
[data-theme="dark"] .sf-search,
[data-theme="dark"] .sf-totals-box,
[data-theme="dark"] .sf-input-addon,
[data-theme="dark"] code {
  background: #102B46;
  border-color: #315370;
  color: #F4F7FA;
}

[data-theme="dark"] .sf-input:focus,
[data-theme="dark"] .sf-select:focus,
[data-theme="dark"] .sf-textarea:focus {
  border-color: var(--vilanz-gray);
  box-shadow: none;
}

[data-theme="dark"] .sf-input::placeholder,
[data-theme="dark"] .sf-textarea::placeholder { color: #7890A5; }

[data-theme="dark"] .sf-search input {
  color: var(--sf-text-primary);
  background: transparent;
}

[data-theme="dark"] .sf-header-toggle,
[data-theme="dark"] .sf-header-btn {
  border-color: rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .045);
  color: #C5D0DA;
}

[data-theme="dark"] .sf-header-toggle:hover,
[data-theme="dark"] .sf-header-btn:hover {
  border-color: rgba(245, 130, 31, .35);
  background: rgba(245, 130, 31, .13);
  color: var(--vilanz-orange);
}

[data-theme="dark"] .sf-breadcrumb,
[data-theme="dark"] .sf-breadcrumb #breadcrumbModule { color: #AAB9C7 !important; }
[data-theme="dark"] .sf-breadcrumb .current { color: #FFFFFF; }

[data-theme="dark"] .sf-empresa-chip,
[data-theme="dark"] .sf-empresa-chip.header-company {
  background: linear-gradient(135deg, rgba(255, 255, 255, .07), rgba(245, 130, 31, .10));
  border-color: rgba(245, 130, 31, .20);
  color: #FFFFFF;
}

[data-theme="dark"] .header-company-name { color: #FFFFFF; }
[data-theme="dark"] .sf-empresa-chip .ruc { color: #AFC0CF; }

[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .sf-page-btn {
  background: #1D405F;
  border-color: #365A77;
  color: #E7EEF4;
}

[data-theme="dark"] .btn-secondary:hover:not(:disabled),
[data-theme="dark"] .sf-page-btn:hover {
  background: #264C6B;
  border-color: rgba(245, 130, 31, .34);
}

[data-theme="dark"] .sf-page-btn.active {
  background: var(--vilanz-orange);
  border-color: var(--vilanz-orange);
  color: #FFFFFF;
}

[data-theme="dark"] .sf-tabs { border-bottom-color: var(--sf-border); }
[data-theme="dark"] .sf-label,
[data-theme="dark"] .sf-form-group .sf-label,
[data-theme="dark"] .sf-total-row { color: #B7C5D1; }
[data-theme="dark"] .sf-total-row span:last-child,
[data-theme="dark"] .sf-total-row.total-final { color: #FFFFFF; }
[data-theme="dark"] .sf-total-row.total-final { border-top-color: var(--sf-border); }

[data-theme="dark"] .sf-modal-overlay {
  background: rgba(4, 16, 29, .76);
  backdrop-filter: blur(3px);
}

[data-theme="dark"] .sf-toast {
  background: #183754;
  border-color: #315370;
  color: #F4F7FA;
}

[data-theme="dark"] .sf-progress { background: #254662; }
[data-theme="dark"] .sf-sidebar-theme-btn {
  border-color: rgba(245, 130, 31, .20);
  background: rgba(245, 130, 31, .08);
  color: #C3CFD9;
}

[data-theme="dark"] .sf-sidebar-theme-btn:hover {
  background: rgba(245, 130, 31, .16);
  color: #FFFFFF;
}

@media (max-width: 768px) {
  .sf-sidebar-logo.brand-lockup .sf-brand-wordmark {
    width: 144px;
    min-width: 144px;
  }

  .sf-sidebar-logo.client-brand-lockup .sf-brand-wordmark {
    width: 189px;
    min-width: 189px;
    height: auto;
  }

  .sf-login-logo.brand-lockup .vilanz-wordmark { width: 235px; height: auto; }
  .vilanz-landing .logo .vilanz-wordmark { width: 175px; height: auto; }

  .sf-empresa-chip.header-company {
    display: flex !important;
    width: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    justify-content: center;
    border-radius: 9px;
  }

  .header-company-icon { width: 30px; height: 30px; }
  .header-company-details { display: none; }
}

/* =========================================================
   Sistema visual corporativo para módulos y submódulos ERP
   ========================================================= */
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) {
  --erp-module-navy: var(--vilanz-navy);
  --erp-module-deep: var(--vilanz-navy-deep);
  --erp-module-soft: var(--vilanz-navy-soft);
  --erp-module-orange: var(--vilanz-orange);
  --erp-module-line: rgba(19, 42, 69, .12);
}

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) {
  min-height: 82px;
  margin-bottom: 20px;
  padding: 18px 22px;
  border: 1px solid rgba(255, 255, 255, .10);
  border-left: 4px solid var(--erp-module-orange);
  border-radius: 15px;
  color: #FFFFFF;
  background: linear-gradient(120deg, var(--erp-module-deep), var(--erp-module-navy) 64%, var(--erp-module-soft));
  box-shadow: 0 11px 26px rgba(19, 42, 69, .13);
}

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) :is(.sf-page-title, h1, p) { color: #FFFFFF; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) .sf-page-title i,
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) h1 i { color: var(--erp-module-orange); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) p { color: rgba(255, 255, 255, .72); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) .btn-secondary {
  border-color: rgba(255, 255, 255, .25);
  color: #FFFFFF;
  background: rgba(255, 255, 255, .08);
}
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) .btn-secondary:hover { border-color: rgba(255, 255, 255, .44); background: rgba(255, 255, 255, .14); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) :is(.sf-input, .sf-select) { border-color: rgba(255, 255, 255, .32); background: #FFFFFF; }

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card {
  border-color: var(--erp-module-line);
  border-radius: 15px;
  box-shadow: 0 7px 22px rgba(19, 42, 69, .06);
}
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card-header {
  margin: -2px 0 17px;
  border-bottom-color: rgba(19, 42, 69, .11);
}
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card-title { color: var(--erp-module-navy); font-weight: 800; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card-title i { color: var(--erp-module-orange); }

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-table { overflow: hidden; border: 1px solid rgba(19, 42, 69, .11); border-radius: 10px; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-table thead tr,
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-items-table thead tr { background: var(--erp-module-navy); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) table thead th,
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-table th,
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-items-table th {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, .10);
  background: var(--erp-module-navy) !important;
}
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-table tbody tr:hover,
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-items-table tbody tr:hover { background: rgba(19, 42, 69, .045); }

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-label, .sf-form-label) { color: #596879; font-weight: 700; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-input, .sf-select, .sf-textarea) { border-color: #D7DEE5; border-radius: 9px; background: #FBFCFD; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-input, .sf-select, .sf-textarea):focus { border-color: var(--erp-module-navy); background: #FFFFFF; box-shadow: none; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-input-group:focus-within { border-color: var(--erp-module-navy); box-shadow: none; }

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-tabs { gap: 3px; padding: 4px; border: 1px solid rgba(19, 42, 69, .10); border-radius: 11px; background: #F2F5F7; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-tab { border-radius: 8px; }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-tab.active { color: #FFFFFF; background: var(--erp-module-navy); box-shadow: inset 0 -3px 0 var(--erp-module-orange); }

#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-stat-card { --stat-accent: var(--erp-module-navy); --stat-soft: rgba(19, 42, 69, .09); border-color: rgba(19, 42, 69, .11); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-stat-card:is(.amber, .orange) { --stat-accent: var(--erp-module-orange); --stat-soft: rgba(245, 130, 31, .11); }
#mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-stat-card:is(.blue, .green, .purple, .cyan, .teal) { --stat-accent: var(--erp-module-navy); --stat-soft: rgba(19, 42, 69, .09); }

body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-header { border-bottom-color: rgba(255, 255, 255, .10); color: #FFFFFF; background: var(--vilanz-navy); }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-header h3 { color: #FFFFFF; }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-header h3 i { color: var(--vilanz-orange); }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-close { color: rgba(255, 255, 255, .76); }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-close:hover { color: #FFFFFF; background: rgba(255, 255, 255, .10); }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-footer { border-top-color: rgba(19, 42, 69, .10); background: #F4F7FA; }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-body :is(.sf-input, .sf-select, .sf-textarea):focus { border-color: var(--vilanz-navy); box-shadow: none; }
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal table thead th,
body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal :is(.sf-table, .sf-items-table) th {
  color: #FFFFFF !important;
  border-color: rgba(255, 255, 255, .10);
  background: var(--vilanz-navy) !important;
}

[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card { border-color: #2A4B68; background: #16324F; box-shadow: 0 8px 23px rgba(3, 13, 24, .18); }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card-header { border-bottom-color: #315370; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-card-title { color: #FFFFFF; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-label, .sf-form-label) { color: #BBC7D2; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-input, .sf-select, .sf-textarea) { border-color: #315370; color: #F4F7FA; background: #102B46; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) :is(.sf-input, .sf-select, .sf-textarea):focus { border-color: var(--vilanz-gray); background: #12304C; box-shadow: none; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-tabs { border-color: #315370; background: #14304B; }
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-table tbody tr:hover,
[data-theme="dark"] #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-items-table tbody tr:hover { background: rgba(255, 255, 255, .035); }
[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) .sf-modal-footer { border-top-color: #315370; background: #14304B; }

@media (max-width: 720px) {
  #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) { min-height: 0; padding: 17px 16px; }
  #mainContent[data-erp-module]:not([data-erp-module="dashboard"]) .sf-page-header:not(.sales-form-header):not(.cpe-form-header) .sf-page-actions { width: 100%; }
}

/* Normalización de colores ajenos a la identidad Vilanz */
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-kpi-card:is(.blue, .green, .purple, .teal, .cyan) {
  --kpi-accent: var(--vilanz-orange);
  --kpi-soft: rgba(245, 130, 31, .11);
}
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-kpi-card:is(.orange, .amber) {
  --kpi-accent: var(--vilanz-orange);
  --kpi-soft: rgba(245, 130, 31, .11);
}
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge:is(.blue, .green, .purple, .teal, .cyan) {
  border: 1px solid rgba(245, 130, 31, .20);
  color: #A95008 !important;
  background: #FFF0E3 !important;
}
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge:is(.orange, .amber) {
  border: 1px solid rgba(245, 130, 31, .20);
  color: #A95008 !important;
  background: #FFF0E3 !important;
}
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(.btn-success, .btn-info) {
  border-color: var(--vilanz-orange) !important;
  color: #FFFFFF !important;
  background: var(--vilanz-orange) !important;
}
body[data-erp-module]:not([data-erp-module="dashboard"]) .vilanz-toggle[data-on="1"] { background: var(--vilanz-orange) !important; }
body[data-erp-module]:not([data-erp-module="dashboard"]) .vilanz-toggle[data-on="0"] { background: var(--vilanz-gray) !important; }
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-stat-card:is(.blue, .green, .purple, .cyan, .teal) {
  --stat-accent: var(--vilanz-orange);
  --stat-soft: rgba(245, 130, 31, .11);
}

body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="color:#059669"], [style*="color:#16a34a"], [style*="color:#22c55e"], [style*="color:#10b981"],
  [style*="color:#7c3aed"], [style*="color:#8b5cf6"], [style*="color:#14b8a6"], [style*="color:#06b6d4"],
  [style*="color:#ec4899"], [style*="color:#6366f1"], [style*="color:#2563eb"],
  [style*="color:#3b82f6"], [style*="color:#1d4ed8"], [style*="color:#1e40af"]
) { color: var(--vilanz-orange) !important; }

body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="border-color:#059669"], [style*="border-color:#16a34a"], [style*="border-color:#22c55e"],
  [style*="border-color:#7c3aed"], [style*="border-color:#8b5cf6"], [style*="border-color:#14b8a6"],
  [style*="border-color:#06b6d4"], [style*="border-color:#ec4899"], [style*="border-color:#6366f1"],
  [style*="border-color:#2563eb"], [style*="border-color:#3b82f6"]
) { border-color: var(--vilanz-orange) !important; }

body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="background:"][style*="#059669"], [style*="background:"][style*="#16a34a"],
  [style*="background:"][style*="#22c55e"], [style*="background:"][style*="#10b981"],
  [style*="background:"][style*="#7c3aed"], [style*="background:"][style*="#8b5cf6"],
  [style*="background:"][style*="#14b8a6"], [style*="background:"][style*="#06b6d4"],
  [style*="background:"][style*="#ec4899"], [style*="background:"][style*="#6366f1"],
  [style*="background:"][style*="#2563eb"], [style*="background:"][style*="#3b82f6"]
) {
  border-color: var(--vilanz-orange) !important;
  color: #FFFFFF !important;
  background: var(--vilanz-orange) !important;
}

body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="background:#f0fdf4"], [style*="background:#d1fae5"],
  [style*="background:#faf5ff"], [style*="background:#ede9fe"]
) {
  border-color: rgba(245, 130, 31, .20) !important;
  color: #A95008 !important;
  background: #FFF0E3 !important;
}

[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge:is(.blue, .green, .purple, .teal, .cyan) {
  border-color: rgba(245, 130, 31, .28);
  color: #FFD4AF !important;
  background: rgba(245, 130, 31, .13) !important;
}
[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge:is(.orange, .amber) {
  border-color: rgba(245, 130, 31, .28);
  color: #FFD4AF !important;
  background: rgba(245, 130, 31, .13) !important;
}

/* Excepción: el estado SUNAT del CPE (Aceptado/Anulada) necesita su color semántico real
   -- verde/rojo -- para leerse de un vistazo, aunque el resto de badges quede unificado
   al naranja de marca. Más específica que la regla de arriba, así que gana sobre ella. */
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge.cpe-status.green {
  border: 1px solid rgba(16,185,129,.3) !important;
  color: #059669 !important;
  background: rgba(16,185,129,.12) !important;
}
body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge.cpe-status.red {
  border: 1px solid rgba(239,68,68,.3) !important;
  color: #dc2626 !important;
  background: rgba(239,68,68,.12) !important;
}
[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge.cpe-status.green {
  border: 1px solid rgba(16,185,129,.35) !important;
  color: #34d399 !important;
  background: rgba(16,185,129,.2) !important;
}
[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) .sf-badge.cpe-status.red {
  border: 1px solid rgba(239,68,68,.35) !important;
  color: #f87171 !important;
  background: rgba(239,68,68,.2) !important;
}

[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="#059669"], [style*="#16a34a"], [style*="#22c55e"], [style*="#10b981"],
  [style*="#7c3aed"], [style*="#8b5cf6"], [style*="#14b8a6"], [style*="#06b6d4"],
  [style*="#ec4899"], [style*="#6366f1"], [style*="#2563eb"], [style*="#3b82f6"],
  [style*="#1d4ed8"], [style*="#1e40af"]
) { color: #FFB46F !important; }
[data-theme="dark"] body[data-erp-module]:not([data-erp-module="dashboard"]) :is(#mainContent, .sf-modal) :is(
  [style*="background:#f0fdf4"], [style*="background:#d1fae5"],
  [style*="background:#faf5ff"], [style*="background:#ede9fe"]
) {
  border-color: rgba(245, 130, 31, .28) !important;
  color: #FFD4AF !important;
  background: rgba(245, 130, 31, .13) !important;
}

/* Recepción de Mineral: formulario corporativo sobrio */
.mineral-form-toolbar {
  margin-bottom: 2px;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-left: 4px solid var(--vilanz-orange) !important;
  border-radius: 14px;
  color: #FFFFFF;
  background: var(--vilanz-navy) !important;
  box-shadow: 0 9px 22px rgba(19, 42, 69, .12);
}
.mineral-form-toolbar h2 { color: #FFFFFF; }
.mineral-form-toolbar h2 i { color: var(--vilanz-orange); }
.mineral-form-toolbar .btn-secondary { border-color: rgba(255, 255, 255, .25); color: #FFFFFF; background: rgba(255, 255, 255, .08); }
.mineral-form-toolbar .btn-secondary:hover { border-color: rgba(255, 255, 255, .42); color: #FFFFFF; background: rgba(255, 255, 255, .14); }
.mineral-form-toolbar .btn-success { border-color: var(--vilanz-orange) !important; background: var(--vilanz-orange) !important; }

.mineral-reception-form > .sf-card { border-color: rgba(19, 42, 69, .12); box-shadow: 0 7px 20px rgba(19, 42, 69, .055); }
.mineral-reception-form > .sf-card:first-child > div:first-child { color: var(--vilanz-navy) !important; }
.mineral-section-heading {
  border-left: 4px solid var(--vilanz-orange);
  border-radius: 7px !important;
  background: var(--vilanz-navy) !important;
}
.mineral-entry-input {
  border-color: #CBD5DF !important;
  border-left: 3px solid var(--vilanz-orange) !important;
  color: var(--vilanz-navy) !important;
  background: #FFFFFF !important;
}
.mineral-entry-input:focus { border-color: var(--vilanz-navy) !important; border-left-color: var(--vilanz-navy) !important; background: #FFFFFF !important; box-shadow: none !important; }
.mineral-calculated-input {
  border-color: #D7DEE5 !important;
  color: var(--vilanz-navy) !important;
  background: #EEF2F5 !important;
}
.mineral-kpi {
  border: 1px solid rgba(19, 42, 69, .11);
  border-radius: 9px !important;
  background: #F4F7FA !important;
}
.mineral-kpi-navy { border-top: 3px solid var(--vilanz-navy); }
.mineral-kpi-navy > * { color: var(--vilanz-navy) !important; }
.mineral-kpi-orange { border-top: 3px solid var(--vilanz-orange); }
.mineral-kpi-orange > * { color: #A95008 !important; }
.mineral-kpi-total { background: #FFF7F0 !important; }

[data-theme="dark"] .mineral-form-toolbar { border-color: #2A4B68 !important; background: #132A45 !important; box-shadow: 0 9px 22px rgba(3, 13, 24, .22); }
[data-theme="dark"] .mineral-reception-form > .sf-card { border-color: #2A4B68; background: #16324F; }
[data-theme="dark"] .mineral-reception-form > .sf-card:first-child > div:first-child { color: #FFFFFF !important; }
[data-theme="dark"] .mineral-entry-input { border-color: #3B5B75 !important; border-left-color: var(--vilanz-orange) !important; color: #F4F7FA !important; background: #102B46 !important; }
[data-theme="dark"] .mineral-entry-input:focus { border-color: var(--vilanz-gray) !important; }
[data-theme="dark"] .mineral-calculated-input { border-color: #315370 !important; color: #FFFFFF !important; background: #1B3B58 !important; }
[data-theme="dark"] .mineral-kpi { border-color: #315370; background: #183754 !important; }
[data-theme="dark"] .mineral-kpi-navy > * { color: #FFFFFF !important; }
[data-theme="dark"] .mineral-kpi-orange > * { color: #FFD4AF !important; }
[data-theme="dark"] .mineral-kpi-total { background: rgba(245, 130, 31, .10) !important; }

@media (max-width: 720px) {
  .mineral-form-toolbar { align-items: flex-start !important; flex-wrap: wrap; }
  .mineral-form-toolbar > div:last-child { width: 100%; margin-left: 0 !important; }
  .mineral-form-toolbar > div:last-child .btn { flex: 1; }
  .mineral-reception-form { padding: 12px 0 !important; }
}

/* Registrar / Editar Empleado: identidad corporativa Vilanz */
.employee-form-card {
  overflow-x: auto;
  border-color: rgba(19, 42, 69, .12) !important;
  border-radius: 15px !important;
  box-shadow: 0 8px 24px rgba(19, 42, 69, .07) !important;
}
.employee-identity-header {
  border-left: 4px solid var(--vilanz-orange);
  background: var(--vilanz-navy) !important;
}
.employee-identity-header .sf-input {
  min-height: 32px;
  border-color: rgba(255, 255, 255, .38) !important;
  color: var(--vilanz-navy) !important;
  background: #FFFFFF !important;
}
.employee-identity-header .sf-input:focus { border-color: var(--vilanz-gray) !important; box-shadow: none !important; }
.employee-tabs {
  gap: 3px;
  padding: 5px 7px 0;
  border: 1px solid rgba(19, 42, 69, .10) !important;
  border-bottom-width: 1px !important;
  border-radius: 10px 10px 0 0;
  background: #F4F7FA;
}
.employee-form-card .emp-tb { color: #596879; transition: color .15s ease, background .15s ease, border-color .15s ease; }
.employee-form-card .emp-tb:hover { color: var(--vilanz-navy); background: rgba(19, 42, 69, .055); }
.employee-form-card .emp-tb.active { color: var(--vilanz-navy) !important; border-bottom-color: var(--vilanz-orange) !important; font-weight: 800 !important; background: #FFFFFF; }
.employee-form-card .emp-panel { padding: 5px 2px 9px; }
.employee-form-card .emp-t tr { border-bottom: 1px solid rgba(19, 42, 69, .055); }
.employee-form-card .emp-t tr:last-child { border-bottom: 0; }
.employee-form-card .emp-t td { padding: 6px; }
.employee-form-card .emp-l { color: #596879; font-weight: 700; }
.employee-form-card .emp-sec {
  border-left-color: var(--vilanz-orange) !important;
  color: var(--vilanz-navy) !important;
  background: #F4F7FA !important;
}
.employee-form-card :is(.sf-input, .sf-select, .sf-textarea) { border-color: #D7DEE5; background: #FBFCFD; }
.employee-form-card :is(.sf-input, .sf-select, .sf-textarea):focus { border-color: var(--vilanz-navy); background: #FFFFFF; box-shadow: none; }
.employee-form-card button[style*="background:#1d4ed8"] { border-color: var(--vilanz-orange) !important; color: #FFFFFF !important; background: var(--vilanz-orange) !important; }
.employee-form-card #empFotoCircle { border-color: var(--vilanz-orange) !important; background: #F4F7FA !important; }
.employee-form-card #empFotoCircle i { color: var(--vilanz-orange) !important; }

[data-theme="dark"] .employee-form-card { border-color: #2A4B68 !important; background: #16324F; box-shadow: 0 8px 24px rgba(3, 13, 24, .20) !important; }
[data-theme="dark"] .employee-identity-header { background: #132A45 !important; }
[data-theme="dark"] .employee-tabs { border-color: #315370 !important; background: #14304B; }
[data-theme="dark"] .employee-form-card .emp-tb { color: #BBC7D2; }
[data-theme="dark"] .employee-form-card .emp-tb:hover { color: #FFFFFF; background: rgba(255, 255, 255, .05); }
[data-theme="dark"] .employee-form-card .emp-tb.active { color: #FFFFFF !important; background: #1B3B58; }
[data-theme="dark"] .employee-form-card .emp-t tr { border-bottom-color: rgba(255, 255, 255, .055); }
[data-theme="dark"] .employee-form-card .emp-l { color: #BBC7D2; }
[data-theme="dark"] .employee-form-card .emp-sec { color: #FFFFFF !important; background: #1B3B58 !important; }
[data-theme="dark"] .employee-form-card :is(.sf-input, .sf-select, .sf-textarea) { border-color: #315370; color: #F4F7FA; background: #102B46; }
[data-theme="dark"] .employee-form-card :is(.sf-input, .sf-select, .sf-textarea):focus { border-color: var(--vilanz-gray); background: #12304C; }
[data-theme="dark"] .employee-form-card #empFotoCircle { border-color: var(--vilanz-orange) !important; background: #183754 !important; }

@media (max-width: 720px) {
  .employee-form-card { padding: 16px !important; }
  .employee-identity-header { margin: -16px -16px 12px !important; min-width: 760px; }
  .employee-tabs { min-width: max-content; }
  .employee-form-card .emp-panel { min-width: 760px; }
}
