/* ============================================================================
   FACTEC — Capa de estilo (override del tema base). NO modifica el tema:
   se carga al final y solo refina colores, tarjetas, login y estadísticas.
   Paleta: azul profesional + acento dorado, con toque tricolor del Ecuador.
   ============================================================================ */

:root{
  --fac-azul:#0b3a82;
  --fac-azul2:#10498f;
  --fac-celeste:#1f78d1;
  --fac-oro:#f4b400;
  --fac-rojo:#d4322c;
  --fac-tinta:#1f2a37;
  --fac-suave:#eef2f7;
  --fac-linea:#e2e8f1;
  --fac-sombra:0 2px 10px rgba(16,40,80,.07);
  --fac-sombra-h:0 8px 22px rgba(16,40,80,.16);
}

/* ----------------------------- Tipografía suave ------------------------- */
body{ color:var(--fac-tinta); }

/* ------------------------------- Navbar --------------------------------- */
.navbar-inverse{
  background:linear-gradient(90deg,var(--fac-azul) 0%,var(--fac-azul2) 60%,var(--fac-celeste) 100%)!important;
  border:0!important;
  border-bottom:3px solid var(--fac-oro)!important;
  box-shadow:0 2px 8px rgba(11,58,130,.25);
}
.navbar-inverse .navbar-brand img{ height:30px; width:auto; }
.navbar-inverse .navbar-nav>li>a{ color:#eaf2fc!important; }
.navbar-inverse .navbar-nav>li>a:hover,
.navbar-inverse .navbar-nav>.open>a{ background:rgba(255,255,255,.12)!important; color:#fff!important; }

/* franja tricolor sutil bajo el borde dorado */
.navbar-inverse::after{
  content:""; position:absolute; left:0; right:0; bottom:-3px; height:3px;
  background:linear-gradient(90deg,var(--fac-oro) 0 33%,var(--fac-azul) 33% 66%,var(--fac-rojo) 66% 100%);
  opacity:0;
}

/* ------------------------------- Sidebar -------------------------------- */
.sidebar-main .navigation>li.active>a,
.sidebar-main .navigation>li>a:hover{ box-shadow:inset 3px 0 0 var(--fac-oro); }
.sidebar-main .navigation li.active>a{ background:rgba(31,120,209,.10); }

/* ------------------------------- Paneles -------------------------------- */
.panel{
  border:1px solid var(--fac-linea)!important;
  border-radius:12px!important;
  box-shadow:var(--fac-sombra);
  overflow:hidden;
}
.panel-flat{ box-shadow:none; }
.panel-heading{ border-bottom:1px solid var(--fac-linea); }
.panel-title{ font-weight:600; }

/* breadcrumb / títulos */
.breadcrumb-line{ border-radius:10px; }
.page-header .breadcrumb-line{ border-radius:0; }

/* ------------------------- Tarjetas de estadística ---------------------- */
/* Las tarjetas del Inicio usan .panel-body.bg-*-400. Las refinamos. */
.panel.panel-body[class*="bg-"]{
  position:relative;
  border:0!important;
  border-radius:14px!important;
  box-shadow:var(--fac-sombra);
  transition:transform .15s ease, box-shadow .15s ease;
  overflow:hidden;
}
.panel.panel-body[class*="bg-"]::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(0,0,0,.06));
  pointer-events:none;
}
.panel.panel-body[class*="bg-"]:hover{
  transform:translateY(-3px);
  box-shadow:var(--fac-sombra-h);
}
.panel.panel-body[class*="bg-"] h3{
  font-weight:700; font-size:26px; letter-spacing:.3px; position:relative; z-index:1;
}
.panel.panel-body[class*="bg-"] .text-size-mini{
  opacity:.95; letter-spacing:.6px; font-weight:600; position:relative; z-index:1;
}
.panel.panel-body[class*="bg-"] .icon-3x{
  opacity:.28!important; font-size:3.4em;
}

/* gradientes más agradables sobre los colores planos del tema */
.panel.panel-body.bg-blue-400{ background:linear-gradient(135deg,#1f78d1,#0b3a82)!important; }
.panel.panel-body.bg-success-400,
.panel.panel-body.bg-green-400{ background:linear-gradient(135deg,#22b07d,#138a5e)!important; }
.panel.panel-body.bg-danger-400{ background:linear-gradient(135deg,#ef5e57,#c2342d)!important; }
.panel.panel-body.bg-danger-600{ background:linear-gradient(135deg,#d9362f,#9c211c)!important; }
.panel.panel-body.bg-indigo-400{ background:linear-gradient(135deg,#5b6bd6,#36459e)!important; }
.panel.panel-body.bg-teal-400{ background:linear-gradient(135deg,#1fb9c4,#137e88)!important; }
.panel.panel-body.bg-orange-400{ background:linear-gradient(135deg,#f6a623,#d4810f)!important; }
.panel.panel-body.bg-slate-400{ background:linear-gradient(135deg,#5a6b7b,#36434f)!important; }
.panel.panel-body.bg-warning-400{ background:linear-gradient(135deg,#f4b400,#d99200)!important; }

/* ------------------------------- Botones -------------------------------- */
.btn{ border-radius:8px; }
.btn-primary,.bg-blue,.bg-blue-400{ }
.btn-primary{
  background:linear-gradient(135deg,var(--fac-celeste),var(--fac-azul))!important;
  border-color:var(--fac-azul)!important;
}
.btn-primary:hover,.btn-primary:focus{
  background:linear-gradient(135deg,#2a86df,#0c3f8f)!important;
}
.bg-blue,.bg-blue-400{
  background:linear-gradient(135deg,var(--fac-celeste),var(--fac-azul))!important;
}

/* ------------------------------- Tabs ----------------------------------- */
.nav-tabs.nav-tabs-highlight>li.active>a,
.nav-tabs.nav-tabs-highlight>li.active>a:hover,
.nav-tabs.nav-tabs-highlight>li.active>a:focus{
  border-top-color:var(--fac-azul)!important; color:var(--fac-azul);
}

/* ------------------------------- Tablas --------------------------------- */
.table thead th{ }
.dataTables_wrapper .dataTables_paginate .paginate_button.current{
  background:var(--fac-azul)!important; border-color:var(--fac-azul)!important; color:#fff!important;
}

/* =========================== Pantalla de Login ========================== */
body.login-container{
  background:linear-gradient(150deg,#0b3a82 0%,#10498f 55%,#1f78d1 100%)!important;
  min-height:100vh;
}
body.login-container::before{
  content:""; position:fixed; inset:0;
  background:
    radial-gradient(900px 500px at 80% -10%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(700px 400px at -10% 110%, rgba(244,180,0,.12), transparent 60%);
  pointer-events:none;
}
body.login-container .login-form{
  border:0!important;
  border-radius:16px!important;
  box-shadow:0 18px 50px rgba(4,18,46,.45)!important;
  padding:26px 24px 20px!important;
  position:relative;
}
body.login-container .login-form::after{
  content:""; position:absolute; left:24px; right:24px; bottom:0; height:4px; border-radius:4px;
  background:linear-gradient(90deg,var(--fac-oro) 0 40%,var(--fac-azul) 40% 70%,var(--fac-rojo) 70% 100%);
}
body.login-container .login-form h5{ color:var(--fac-azul); font-weight:700; }
body.login-container .login-form .btn{
  background:linear-gradient(135deg,var(--fac-celeste),var(--fac-azul))!important;
  border:0!important; border-radius:9px!important; font-weight:600; letter-spacing:.4px;
}
body.login-container .login-form .form-control{ border-radius:9px; }

/* ------------------------------- Footer --------------------------------- */
.footer a{ color:var(--fac-azul); font-weight:600; }
