/* TicTaim · panel de Recursos Humanos. Marca: azul #276091 y naranja #E16034. */
    /* Marca TicTaim: azul #276091 y naranja #E16034, medidos del logotipo. */
    :root {
      --tt-azul: #276091;
      --tt-azul-oscuro: #1B4468;
      --tt-azul-claro: #E6EFF7;
      --tt-naranja: #E16034;
      --tt-naranja-claro: #FCEBE4;
      --bs-primary: var(--tt-azul);
      --bs-primary-rgb: 39, 96, 145;
      --bs-link-color: var(--tt-azul);
      --bs-link-hover-color: var(--tt-azul-oscuro);
      --bs-body-bg: #F5F7FA;
      --bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
      --bs-border-radius: .625rem;
      --bs-border-radius-lg: .875rem;
    }
    .btn-primary { --bs-btn-bg: var(--tt-azul); --bs-btn-border-color: var(--tt-azul); --bs-btn-hover-bg: var(--tt-azul-oscuro);
      --bs-btn-hover-border-color: var(--tt-azul-oscuro); --bs-btn-active-bg: var(--tt-azul-oscuro); --bs-btn-active-border-color: var(--tt-azul-oscuro); }
    .btn-outline-primary { --bs-btn-color: var(--tt-azul); --bs-btn-border-color: var(--tt-azul); --bs-btn-hover-bg: var(--tt-azul);
      --bs-btn-hover-border-color: var(--tt-azul); --bs-btn-active-bg: var(--tt-azul-oscuro); }
    .btn-accent { --bs-btn-color: #fff; --bs-btn-bg: var(--tt-naranja); --bs-btn-border-color: var(--tt-naranja);
      --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #C84E25; --bs-btn-hover-border-color: #C84E25; }
    .nav-tabs .nav-link { color: #4a5663; }
    .nav-tabs .nav-link.active { color: var(--tt-azul-oscuro); font-weight: 600; border-bottom-color: var(--bs-body-bg); }

    /* Menú lateral */
    .menu { --bs-offcanvas-width: 260px; --bs-offcanvas-bg: var(--tt-azul-oscuro); --bs-offcanvas-color: #fff; color: #fff; }
    @media (min-width: 992px) { .menu { background-color: var(--tt-azul-oscuro) !important; position: sticky; top: 0; height: 100vh !important; flex: 0 0 260px; } }
    .menu .nav-link { color: rgba(255,255,255,.82); border-radius: .5rem; padding: .6rem .85rem; display: flex; align-items: center; gap: .7rem; }
    .menu .nav-link:hover { background: rgba(255,255,255,.08); color: #fff; }
    .menu .nav-link.active { background: var(--tt-naranja); color: #fff; font-weight: 600; }
    .menu .etiqueta { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.5); padding: 1rem .85rem .35rem; }
    .menu .marca { background: #fff; border-radius: .75rem; padding: .6rem .9rem; }

    /* Piezas */
    .tarjeta-dato { border: 0; box-shadow: 0 1px 3px rgba(16,40,60,.08); }
    .tarjeta-dato .icono { width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; font-size: 1.4rem; }
    .iniciales { width: 36px; height: 36px; border-radius: 50%; background: var(--tt-azul-claro); color: var(--tt-azul-oscuro);
      display: inline-grid; place-items: center; font-weight: 700; font-size: .8rem; flex: none; }
    .tabla-suave { --bs-table-bg: transparent; }
    .tabla-suave thead th { font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: #66717F; border-bottom-width: 1px; }
    .tarjeta-seccion { border: 0; box-shadow: 0 1px 3px rgba(16,40,60,.08); }
    .nombre-vista { font-weight: 700; color: var(--tt-azul-oscuro); }
    .reloj-decor { width: 64px; height: 64px; }
    .acceso-fondo { min-height: 100vh; display: grid; place-items: center; background:
      radial-gradient(circle at 15% 20%, var(--tt-naranja-claro) 0, transparent 40%),
      radial-gradient(circle at 85% 80%, var(--tt-azul-claro) 0, transparent 45%), var(--bs-body-bg); }
    body.sin-menu .menu, body.sin-menu .barra-superior { display: none !important; }
    body.sin-menu main { padding: 0 !important; }
    .visor { background: repeating-linear-gradient(45deg, #eef1f4, #eef1f4 12px, #e5e9ed 12px, #e5e9ed 24px); min-height: 320px;
      border-radius: .75rem; display: grid; place-items: center; color: #66717F; }
    .min-w-0 { min-width: 0; } /* sin esto, una tabla ancha estira toda la página en el celular */
    .table-responsive { overflow-y: hidden; }
    :focus-visible { outline: 3px solid rgba(225, 96, 52, .55); outline-offset: 2px; }
  

/* ---- Panel real ---- */
.toast-contenedor { position: fixed; right: 1rem; bottom: 1rem; z-index: 1100; display: flex; flex-direction: column; gap: .5rem; max-width: min(380px, 92vw); }
.cargando { opacity: .55; pointer-events: none; transition: opacity .15s; }
.qr-impresion svg { width: min(360px, 80vw); height: auto; }
.menu form button.nav-link { background: none; border: 0; width: 100%; text-align: left; }
@media print {
  .menu, .barra-superior, .no-imprimir, .toast-contenedor { display: none !important; }
  body { background: #fff !important; }
  main { padding: 0 !important; }
}

