/* Universidad Intercontinental Olimpo — minimalista.
   Colores del logo: verde olivo #5A6B1A, dorado #D9A21B, café #6B4F3A. */
:root{
  --verde:#5A6B1A; --verde-claro:#eef2df; --dorado:#D9A21B;
  --cafe:#6B4F3A; --fondo:#f7f7f5; --borde:#e5e5e0; --texto:#222;
}
*{box-sizing:border-box}
body{background:var(--fondo);color:var(--texto);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.app{display:flex;min-height:100vh}
.sidebar{width:250px;flex:0 0 250px;background:#fff;border-right:1px solid var(--borde);
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:1040}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1rem;border-bottom:1px solid var(--borde)}
.sidebar-brand strong{display:block;color:var(--cafe);letter-spacing:.08em}
.sidebar-brand small{display:block;color:#777;font-size:.72rem}
.logo-img{width:52px;height:52px;object-fit:contain;border-radius:50%;background:#fff}
.sidebar-nav{padding:.75rem;display:flex;flex-direction:column;gap:.15rem;overflow-y:auto}
.sidebar-nav .nav-link{display:flex;align-items:center;gap:.7rem;color:#333;border-radius:.5rem;
  padding:.55rem .75rem;font-size:.95rem}
.sidebar-nav .nav-link i{font-size:1.15rem;color:var(--verde)}
.sidebar-nav .nav-link:hover{background:var(--verde-claro)}
.sidebar-nav .nav-link.active{background:var(--verde);color:#fff;font-weight:600}
.sidebar-nav .nav-link.active i{color:#fff}
.sidebar-nav .nav-link.text-danger i{color:#b3261e}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:.75rem;background:#fff;border-bottom:1px solid var(--borde);
  padding:.7rem 1rem;position:sticky;top:0;z-index:1030}
.topbar-title{font-size:1.15rem;margin:0;font-weight:600;color:var(--cafe)}
.logo-top{width:38px;height:38px;object-fit:contain}
.hamburger{font-size:1.25rem;line-height:1;padding:.35rem .6rem;border-color:var(--verde);color:var(--verde)}
.content{padding:1.25rem;max-width:1100px;width:100%;margin:0 auto}
.card{border:1px solid var(--borde);border-radius:.75rem;box-shadow:none}
.btn-olimpo{background:var(--verde);color:#fff;border:none}
.btn-olimpo:hover{background:#4a5a15;color:#fff}
.btn-dorado{background:var(--dorado);color:#222;border:none}
.table th{color:var(--cafe);font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}
.badge{font-weight:500}
.sidebar-overlay{display:none}
.stat-num{font-size:1.6rem;font-weight:700;color:var(--verde)}
.stat-label{color:#777;font-size:.85rem}
/* Móvil: el menú solo aparece con el botón hamburguesa */
@media (max-width:991.98px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-105%);transition:transform .25s ease;box-shadow:0 0 30px rgba(0,0,0,.15)}
  .sidebar.show{transform:translateX(0)}
  .sidebar-overlay.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1035}
  .content{padding:1rem}
}
/* Impresión: solo el documento (ficha / recibo) */
@media print{
  .sidebar,.topbar,.no-print{display:none !important}
  body{background:#fff}
  .content{max-width:100%;padding:0}
  .card{border:none}
}
