/*
 * Rebrand visual "BTRUST" para el BackOffice (Proveedores + Admin).
 * Alcance: SOLO apariencia (colores, tipografia, botones, tarjetas, tablas).
 * "body.btrust-ui" activa el theme (lo asigna Principal.Master.cs para
 * proveedores y admins, y las paginas de auth lo llevan en el markup).
 * "vista-proveedor" / "vista-admin" acompanan para reglas especificas de cada rol.
 */

body.btrust-ui {
    /* Valores tomados 1:1 de marca/paleta/tokens.css (modo claro + constantes de marca) */
    --pv-app: #F8FAFB;
    --pv-surface: #FFFFFF;
    --pv-surface-2: #EDF1F7;
    --pv-line: #E2E8F0;
    --pv-ink: #0F172A;
    --pv-ink-muted: #64748B;
    --pv-primary: #2563EB;
    --pv-primary-hover: #1D4ED8;
    --pv-primary-50: #EFF5FF;
    --pv-primary-100: #DBE8FE;
    --pv-success: #16A34A;
    --pv-warning: #D97706;
    --pv-danger: #DC2626;
    --pv-teal: #0D9488;
    --pv-logo-line: #1B4DFF;
    --pv-header: #0A0E1A;

    background-color: var(--pv-app) !important;
    color: var(--pv-ink);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ===== Encabezado superior (compartido con Principal.Master, oculto para Admin) ===== */
body.btrust-ui #header,
body.btrust-ui nav.nav-white {
    background: var(--pv-header) !important;
}

body.btrust-ui nav.nav-white {
    padding: 10px 24px;
}

body.btrust-ui #Header {
    box-shadow: none;
}

body.btrust-ui .navbar-right span,
body.btrust-ui #ant-dropdown-profile-button svg path {
    color: var(--pv-ink-muted);
}

/* ===== Botones ===== */
body.btrust-ui .ant-btn-variant-solid,
body.btrust-ui .btn-success,
body.btrust-ui .activate-button {
    background-color: var(--pv-primary) !important;
    border-color: var(--pv-primary) !important;
    color: #FFFFFF !important;
}

body.btrust-ui .ant-btn-variant-solid span,
body.btrust-ui .activate-button span {
    color: #FFFFFF !important;
}

body.btrust-ui .ant-btn-variant-solid:hover,
body.btrust-ui .btn-success:hover,
body.btrust-ui .activate-button:hover {
    background-color: var(--pv-primary-hover) !important;
    border-color: var(--pv-primary-hover) !important;
}

body.btrust-ui .ant-btn-variant-outlined,
body.btrust-ui .init-sesion {
    border-color: var(--pv-line) !important;
    color: var(--pv-ink) !important;
    background-color: var(--pv-surface) !important;
}

body.btrust-ui .ant-btn-variant-outlined:hover,
body.btrust-ui .init-sesion:hover {
    border-color: var(--pv-primary) !important;
    color: var(--pv-primary) !important;
}

/* Login / Registro / Recuperacion de clave: CTA principal en tinta oscura (igual al mockup) */
body.btrust-ui.auth-page .ant-btn-variant-solid,
body.btrust-ui.auth-page .activate-button {
    background-color: var(--pv-header) !important;
    border-color: var(--pv-header) !important;
    color: #FFFFFF !important;
}

body.btrust-ui.auth-page .ant-btn-variant-solid:hover,
body.btrust-ui.auth-page .activate-button:hover {
    background-color: #1E293B !important;
    border-color: #1E293B !important;
}

/* El mockup no lleva linea de acento bajo el header en las paginas de auth */
body.btrust-ui.auth-page .color-line {
    display: none;
}

body.btrust-ui .ant-btn,
body.btrust-ui .btn {
    border-radius: 8px;
    font-weight: 600;
}

body.btrust-ui .ant-btn.ant-btn-round {
    border-radius: 999px;
}

body.btrust-ui a.text-info,
body.btrust-ui a,
body.btrust-ui .text-blue {
    color: var(--pv-primary);
}

body.btrust-ui .btn-info {
    background-color: var(--pv-primary);
    border-color: var(--pv-primary);
    color: #fff;
}

body.btrust-ui .btn-info:hover {
    background-color: var(--pv-primary-hover);
    border-color: var(--pv-primary-hover);
}

/* ===== Login / Registro / Recuperacion (paginas standalone) ===== */
body.btrust-ui .login-container .hpanel,
body.btrust-ui .hpanel {
    background: var(--pv-surface);
    border: 1px solid var(--pv-line);
    border-radius: 16px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

body.btrust-ui .login-container {
    max-width: 420px;
}

body.btrust-ui .login-container .panel-body {
    padding: 32px 24px;
}

body.btrust-ui .color-line {
    background: var(--pv-primary);
    height: 3px;
}

/* ===== Tarjetas / paneles genericos ===== */
body.btrust-ui .panel-body,
body.btrust-ui .ibox-content {
    background: var(--pv-surface);
}

body.btrust-ui .hpanel .panel-heading {
    border-bottom: 1px solid var(--pv-line);
    color: var(--pv-ink);
}

/* ===== Formularios ===== */
body.btrust-ui .form-control {
    border: 1px solid var(--pv-line);
    border-radius: 8px;
    background-color: var(--pv-surface);
    color: var(--pv-ink);
}

body.btrust-ui .form-control:focus {
    border-color: var(--pv-primary);
    box-shadow: 0 0 0 3px var(--pv-primary-50);
}

body.btrust-ui .control-label {
    color: var(--pv-ink);
}

/* ===== Tablas ===== */
/* :where() deja estas reglas en especificidad (0,0,1) para que las paginas con cabecera clara propia
   (thead/th con su color) sigan ganando. */
:where(body.btrust-ui table, body.btrust-ui .tablaFacturas) thead {
    background: var(--pv-surface-2) !important;
    color: var(--pv-ink) !important;
}

/* Portal admin: cabeceras en azul primario con texto blanco (reemplaza el azul antiguo de style.css) */
:where(body.vista-admin table, body.vista-admin .tablaFacturas) thead {
    background: var(--pv-primary) !important;
    color: #FFFFFF !important;
}

:where(body.vista-admin) th {
    background-color: var(--pv-primary);
    border-right-color: var(--pv-primary-hover) !important;
}

/* Filas de encabezado sin <thead> (th directo en la tabla): el blanco no se hereda, se fija aqui */
:where(body.vista-admin) :where(table, tbody) > tr > th {
    color: #FFFFFF;
}

/* DataTables sobre .ant-table (Pagadoras, Simulador, Descuentos, verSimulaciones): cada pagina pone
   fondo #FAFAFA al th; aqui se unifica con el resto del admin */
body.vista-admin .ant-table th {
    background-color: var(--pv-primary) !important;
    color: #FFFFFF !important;
}

/* Tabla forecast de DetallePagos: fondo claro propio sin color, se deja en tinta */
body.vista-admin .forecast-table th {
    color: var(--pv-ink);
}

body.btrust-ui .table-striped > tbody > tr:nth-of-type(odd) {
    background-color: var(--pv-surface);
}

body.btrust-ui .table-striped > tbody > tr:nth-of-type(even) {
    background-color: #FAFBFD;
}

body.btrust-ui .table > tbody > tr > td,
body.btrust-ui .table > thead > tr > th {
    border-color: var(--pv-line);
}

body.btrust-ui .cotizar-btn {
    background-color: var(--pv-primary);
}

body.btrust-ui .cotizar-btn:hover {
    background-color: var(--pv-primary-hover);
}

/* ===== Menu overlay de proveedores ===== */
body.btrust-ui #menuProveedores {
    background-color: var(--pv-header) !important;
}

body.btrust-ui #menuProveedores a {
    color: #E6EBF4;
}

body.btrust-ui #menuProveedores a:hover,
body.btrust-ui #menuProveedores a:focus {
    color: var(--pv-primary-50);
}

/* Bootstrap pone fondo #eee en .nav > li > a:hover; sobre el overlay oscuro dejaba el texto ilegible */
body.btrust-ui #menuProveedores .nav > li > a:hover,
body.btrust-ui #menuProveedores .nav > li > a:focus {
    background-color: rgba(37, 99, 235, 0.2);
    border-radius: 6px;
}

/* ===== Modal de contacto (icono whatsapp) ===== */
body.btrust-ui .prov-modal-header {
    background: linear-gradient(70deg, var(--pv-header) 0%, var(--pv-primary) 100%);
}

/* ===== Portal Admin: sidebar homer (aside#menu / #side-menu) ===== */
body.vista-admin aside#menu {
    background: var(--pv-surface);
    border-right: 1px solid var(--pv-line);
}

body.vista-admin #wrapper {
    background: var(--pv-app);
    border-left: 1px solid var(--pv-line);
}

body.vista-admin #side-menu {
    background: var(--pv-surface);
}

body.vista-admin #side-menu li {
    border-color: var(--pv-line);
}

body.vista-admin #side-menu li a {
    color: var(--pv-ink-muted);
}

body.vista-admin #side-menu li.active a,
body.vista-admin #side-menu li:hover a {
    color: var(--pv-primary);
}

body.vista-admin #side-menu li .nav-second-level li a {
    color: var(--pv-ink-muted);
}

body.vista-admin #side-menu li .nav-second-level li a:hover,
body.vista-admin #side-menu li .nav-second-level li.active a {
    color: var(--pv-primary);
}

body.vista-admin #side-menu.nav > li > a:hover,
body.vista-admin #side-menu.nav > li > a:focus,
body.vista-admin #side-menu li.active {
    background: var(--pv-primary-50);
}

body.vista-admin .profile-picture .stats-label,
body.vista-admin .profile-picture .stats-label span {
    color: var(--pv-ink);
}

/* Tiles del home admin (modulos.aspx, seccion #administrador) */
body.vista-admin #cphBody_administrador .btn-info,
body.vista-admin .pareceEnlace.btn-info {
    background-color: var(--pv-surface);
    border: 1px solid var(--pv-line);
    color: var(--pv-ink);
    border-radius: 12px;
}

body.vista-admin #cphBody_administrador .btn-info:hover,
body.vista-admin .pareceEnlace.btn-info:hover {
    border-color: var(--pv-primary);
    color: var(--pv-primary);
    background-color: var(--pv-primary-50);
}

body.vista-admin .pareceEnlace.btn-info i {
    color: var(--pv-primary);
}
