/* =======================================================================
   NIZBA PREMIUM UI — estándar visual corporativo
   Capa exclusivamente visual. No contiene lógica de negocio.
   ======================================================================= */
:root{
  --nizba-red:#B01A2C;
  --nizba-red-dark:#861426;
  --nizba-black:#17191C;
  --nizba-charcoal:#2F3237;
  --nizba-gray:#9DA1A2;
  --nizba-black-dark:#101214;
  --nizba-ink:#18212C;
  --nizba-muted:#667085;
  --nizba-soft:#F3F6FA;
  --nizba-line:rgba(16,24,40,.08);
  --nizba-shadow:0 18px 46px rgba(47,50,55,.10);
  --nizba-shadow-xl:0 30px 78px rgba(47,50,55,.15);
}
html,body{width:100%;min-height:100%;overflow-x:hidden}
body{
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;
  color:var(--nizba-ink);
  background:
    radial-gradient(1000px 520px at 8% -8%,rgba(176,26,44,.10),transparent 62%),
    radial-gradient(900px 500px at 100% 4%,rgba(47,50,55,.11),transparent 62%),
    linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)!important;
}

/* NAVBAR MAESTRO */
.navbar-custom,
.nizba-master-nav{
  min-height:72px!important;
  width:100%!important;
  background:
    radial-gradient(560px 160px at 0% 0%,rgba(255,255,255,.10),transparent 60%),
    linear-gradient(110deg,#17191C 0%,#2F3237 56%,#B01A2C 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 18px 44px rgba(20,20,20,.20)!important;
  backdrop-filter:blur(14px);
  position:relative;
  z-index:1040;
}
.navbar-custom>.container,.navbar-custom>.container-fluid,
.nizba-master-nav>.container,.nizba-master-nav>.container-fluid{
  width:100%!important;max-width:none!important;margin:0!important;
  padding-left:clamp(18px,2.2vw,42px)!important;padding-right:clamp(18px,2.2vw,42px)!important;
}
.navbar-custom .navbar-brand img,.nizba-master-nav .navbar-brand img,.nizba-master-brand img{
  height:43px!important;width:auto!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.20));
}
.navbar-custom .nav-link,.nizba-master-nav .nav-link{
  color:rgba(255,255,255,.94)!important;font-size:.84rem!important;font-weight:900!important;
  border-radius:999px!important;padding:.56rem .78rem!important;text-decoration:none!important;white-space:nowrap;
  transition:transform .16s ease,background .16s ease!important;
}
.navbar-custom .nav-link:hover,.navbar-custom .nav-link.active,
.nizba-master-nav .nav-link:hover,.nizba-master-nav .nav-link.active{
  color:#fff!important;background:rgba(255,255,255,.12)!important;transform:translateY(-1px);text-decoration:none!important;
}
.nizba-nav-sep{width:1px;height:34px;background:rgba(255,255,255,.20);margin:0 15px;flex:0 0 auto}
.nizba-corp-title{display:flex;align-items:center;gap:.5rem;color:#fff;font-size:.95rem;font-weight:950;white-space:nowrap}
.nizba-zone-pill,.user-pod{
  display:inline-flex!important;align-items:center;gap:.45rem;padding:.57rem .78rem!important;border-radius:999px!important;
  color:#fff!important;background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.13)!important;
  font-size:.81rem!important;font-weight:900!important;white-space:nowrap;box-shadow:0 10px 22px rgba(0,0,0,.10)!important;
}
.nizba-logout-btn,.logout-btn{
  display:inline-flex!important;align-items:center;gap:.48rem;min-height:42px;padding:.62rem .86rem!important;border-radius:15px!important;
  text-decoration:none!important;color:#fff!important;font-size:.82rem!important;font-weight:950!important;white-space:nowrap;
  background:linear-gradient(135deg,#d51d38,#b01128)!important;border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 13px 28px rgba(176,26,44,.27)!important;transition:.16s ease!important;
}
.nizba-logout-btn:hover,.logout-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}

/* SUPERFICIES */
.card,.soft-card,.topbar,.filter-card,.hero-card,.module-card,.doc-card,.metric-card,.chart-card,.admin-card,.export-card{
  border-color:var(--nizba-line)!important;
  box-shadow:var(--nizba-shadow)!important;
}
.card,.soft-card,.topbar,.filter-card,.hero-card{border-radius:24px!important}
.modal-content{border-radius:24px!important;border:1px solid rgba(255,255,255,.75)!important;box-shadow:0 32px 90px rgba(47,50,55,.24)!important;overflow:hidden}
.modal-header{border-bottom-color:rgba(16,24,40,.06)!important}

/* BOTONES */
.btn-primary,.btn-nizba,.btn-niz{
  background:linear-gradient(135deg,var(--nizba-red),var(--nizba-red-dark))!important;
  border-color:transparent!important;color:#fff!important;font-weight:900!important;border-radius:14px!important;
  box-shadow:0 12px 25px rgba(176,26,44,.18)!important;
}
.btn-primary:hover,.btn-nizba:hover,.btn-niz:hover{filter:brightness(1.04);transform:translateY(-1px)}
.btn-outline-primary{color:var(--nizba-red)!important;border-color:rgba(176,26,44,.35)!important;border-radius:14px!important;font-weight:800!important}
.btn-outline-primary:hover{background:var(--nizba-red)!important;border-color:var(--nizba-red)!important;color:#fff!important}
.btn-outline-secondary,.btn-outline-gray{border-radius:14px!important;font-weight:800!important}

/* FORMULARIOS */
.form-control,.form-select{
  min-height:46px;border-radius:14px!important;border-color:rgba(31,48,65,.12)!important;background:#fbfcfe;
  box-shadow:none!important;font-weight:600;
}
.form-control:focus,.form-select:focus{background:#fff;border-color:rgba(176,26,44,.35)!important;box-shadow:0 0 0 .22rem rgba(176,26,44,.08)!important}
.input-group-text{border-color:rgba(31,48,65,.12)!important;background:#f8fafc!important;color:var(--nizba-red)!important}
.form-label{color:#344054;font-weight:800}

/* TABLAS */
.table{--bs-table-bg:transparent;vertical-align:middle}
.table thead th{font-size:.73rem!important;text-transform:uppercase;letter-spacing:.055em;color:#5e6b7a;border-bottom:1px solid rgba(16,24,40,.08)!important;background:#f8fafc!important}
.table tbody td{border-color:rgba(16,24,40,.06)!important}
.table-hover tbody tr:hover>*{background:rgba(176,26,44,.035)!important}
.table-responsive{border-radius:18px}

/* ENCABEZADOS / KPI */
.kpi{border-radius:18px!important;border:1px solid var(--nizba-line)!important;background:#fff!important;box-shadow:0 12px 30px rgba(47,50,55,.06)}
.badge{font-weight:800}
.alert{border-radius:18px!important;border-width:1px!important}

/* DIRECTORIO */
body.nizba-directorio .topbar{background:linear-gradient(135deg,#fff 0%,#fbfcfe 70%,#fff5f6 100%)!important;padding:18px 20px!important}
body.nizba-directorio .filter-head{background:linear-gradient(135deg,#2F3237,var(--nizba-red))!important;padding:14px!important}
body.nizba-directorio .emp-card{border-radius:20px!important;border:1px solid var(--nizba-line)!important;box-shadow:0 14px 38px rgba(47,50,55,.07)!important}
body.nizba-directorio .emp-card:hover{transform:translateY(-3px)!important;box-shadow:0 24px 54px rgba(47,50,55,.12)!important}

/* ORGANIGRAMA */
body.nizba-organigrama .org-top{padding:22px clamp(18px,2.2vw,42px) 0!important}
body.nizba-organigrama .org-head{padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.92);border:1px solid var(--nizba-line);box-shadow:var(--nizba-shadow)}
body.nizba-organigrama .node-card{border-radius:20px!important;box-shadow:0 14px 36px rgba(47,50,55,.08)!important}

/* ADMIN EMPLEADOS */
body.nizba-empleados-admin>.container-fluid{padding-left:clamp(16px,2vw,36px)!important;padding-right:clamp(16px,2vw,36px)!important}
body.nizba-empleados-admin .topbar{background:linear-gradient(135deg,#fff,#fbfcfe 72%,#fff4f6)!important}

/* RESPONSIVE */
@media(max-width:1100px){.nizba-corp-title,.nizba-nav-sep{display:none!important}}
@media(max-width:991.98px){
  .navbar-custom .navbar-collapse,.nizba-master-nav .navbar-collapse{margin-top:10px;padding:10px;border-radius:18px;background:rgba(4,17,31,.32);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px)}
  .nizba-zone-pill,.user-pod,.nizba-logout-btn,.logout-btn{width:100%;justify-content:flex-start;margin-top:5px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
