/* Thot Logística — ajustes sobre AdminLTE 3 */
:root {
    --thot-azul: #1f4e79;
    --thot-azul-claro: #2e75b6;
    --thot-dorado: #c9a227;
}

body, .main-sidebar, .brand-link { font-family: 'Source Sans 3', 'Source Sans Pro', system-ui, sans-serif; }

.sidebar-dark-primary { background: #14273a; }
.sidebar-dark-primary .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--thot-azul-claro);
}
.nav-sidebar .nav-header { font-size: .72rem; letter-spacing: .06em; color: #8aa4bd; padding-top: 1rem; }
.brand-link { border-bottom-color: rgba(255,255,255,.08) !important; }
.btn-primary { background-color: var(--thot-azul); border-color: var(--thot-azul); }
.btn-primary:hover, .btn-primary:focus { background-color: var(--thot-azul-claro); border-color: var(--thot-azul-claro); }

/* Páginas sin menú (login, errores) */
.pagina-simple {
    min-height: 100vh;
    background: linear-gradient(160deg, #14273a 0%, #1f4e79 60%, #2e75b6 100%);
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
}
.simple-contenedor { width: 100%; max-width: 420px; }
.simple-contenedor .error-card { max-width: 640px; }
.pagina-simple .simple-contenedor:has(.error-card) { max-width: 680px; }
.login-card { border: 0; border-radius: 12px; }

.info-box-number { font-size: 1.25rem; }
.info-box .info-box-text { white-space: normal; line-height: 1.15; }
.table td, .table th { vertical-align: middle; }
pre { white-space: pre-wrap; word-break: break-word; }

/* Aviso de error de AJAX con archivo y línea */
.thot-toast {
    position: fixed; right: 16px; bottom: 16px; z-index: 2000; max-width: 420px;
    background: #fff; border-left: 4px solid #dc3545; border-radius: 6px;
    box-shadow: 0 6px 24px rgba(0,0,0,.18); padding: 12px 14px; font-size: .9rem;
}
.thot-toast.exito { border-left-color: #28a745; }
.thot-toast code { word-break: break-all; }
