/* Paleta oficial JANICK S.A.S. (tomada de janickec.com) — azul marino a celeste, sin morado. */
:root{--jk-bd:#0D2A6B;--jk-bm:#1A4EBD;--jk-bt:#1E7AE0;--jk-cy:#00B4D8;--jk-cyl:#48CAE4;
  --sc-sidebar-hover:rgba(255,255,255,.09)}
body{font-size:.95rem}
.card .h1{font-weight:700}
.table.bg-white{border-radius:.5rem;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.card{border:none;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.modal-content{border:none;border-radius:.75rem}

/* Tarjetas de estadísticas del dashboard (clicables) */
.stat-card{display:block;border-radius:.75rem;padding:1.1rem 1.25rem;color:#fff;position:relative;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.1);height:100%;transition:transform .15s,box-shadow .15s}
.stat-card:hover{color:#fff;transform:translateY(-3px);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.stat-card-icon{position:absolute;right:.9rem;top:.9rem;font-size:2.1rem;opacity:.35}
.stat-card-value{font-size:1.9rem;font-weight:700;line-height:1}
.stat-card-label{font-size:.85rem;opacity:.92;margin-top:.35rem}
.stat-blue{background:linear-gradient(135deg,var(--jk-bm),var(--jk-bt))}
.stat-green{background:linear-gradient(135deg,#0fae7f,#2dd4a8)}
.stat-orange{background:linear-gradient(135deg,#e8860a,#f7b955)}
.stat-red{background:linear-gradient(135deg,#dc3c50,#f16266)}

/* Layout: sidebar + topbar */
.app-shell{display:flex;min-height:100vh}
.app-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}

.sidebar,.sidebar-offcanvas{background:linear-gradient(160deg,var(--jk-bd) 0%,var(--jk-bm) 65%,var(--jk-bt) 130%)}
.sidebar{width:250px;flex:0 0 250px;position:sticky;top:0;height:100vh;overflow-y:auto;
  box-shadow:2px 0 16px rgba(13,42,107,.25)}

.sidebar-brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:700;letter-spacing:.5px;
  padding:1.1rem 1.25rem;text-decoration:none;font-size:1.05rem;
  border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:.5rem}
.sidebar-brand i{font-size:1.3rem;background:linear-gradient(135deg,var(--jk-cy),var(--jk-cyl));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.sidebar-brand:hover{color:#fff}

.sidebar-nav{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .75rem}
.sidebar-link{display:flex;align-items:center;gap:.7rem;color:rgba(255,255,255,.75);text-decoration:none;
  padding:.6rem .8rem;border-radius:.55rem;font-size:.9rem;border-left:3px solid transparent;
  transition:background .15s,color .15s,transform .15s,border-color .15s}
.sidebar-link i{width:1.15rem;text-align:center;font-size:1.05rem}
.sidebar-link:hover{background:var(--sc-sidebar-hover);color:#fff;transform:translateX(2px);
  border-left-color:rgba(72,202,228,.5)}
.sidebar-link.active{background:linear-gradient(90deg,rgba(0,180,216,.28),rgba(0,180,216,.06));color:#fff;
  font-weight:600;border-left-color:var(--jk-cy)}
.sidebar-link.active i{color:var(--jk-cyl)}

.sidebar-offcanvas .offcanvas-header{border-bottom:1px solid rgba(255,255,255,.12)}
.sidebar-offcanvas .offcanvas-body{background:linear-gradient(160deg,var(--jk-bd) 0%,var(--jk-bm) 65%,var(--jk-bt) 130%)}

.topbar{background:#fff;border-bottom:1px solid #E8EEF8;padding:.6rem 1rem;position:sticky;top:0;z-index:1020}
.topbar select{max-width:230px}

@media (max-width:991.98px){
  .app-shell{display:block}
}
