﻿/* .btn[class*="btn-"] icon pseudo-element rules moved to bootstrap-override.css
   (Button System section) — this file keeps only the semantic icon family below. */
.btn-save, .btn-guardar, .btn-edit, .btn-editar, .btn-delete, .btn-eliminar, .btn-remove,
.btn-cancel, .btn-cancelar, .btn-confirm, .btn-confirmar, .btn-add, .btn-agregar,
.btn-create, .btn-crear, .btn-export, .btn-exportar, .btn-download, .btn-descargar,
.btn-upload, .btn-subir, .btn-import, .btn-importar, .btn-filter, .btn-filtrar,
.btn-search, .btn-buscar, .btn-refresh, .btn-actualizar, .btn-reload, .btn-recargar,
.btn-print, .btn-imprimir, .btn-copy, .btn-copiar, .btn-duplicate, .btn-duplicar,
.btn-settings, .btn-configuracion, .btn-configure, .btn-configurar, .btn-tag, .btn-etiqueta,
.btn-tags, .btn-etiquetas, .btn-next, .btn-siguiente, .btn-prev, .btn-anterior,
.btn-previous, .btn-back, .btn-volver, .btn-forward, .btn-adelante, .btn-home, .btn-inicio,
.btn-view, .btn-ver, .btn-show, .btn-mostrar, .btn-hide, .btn-ocultar, .btn-expand,
.btn-expandir, .btn-collapse, .btn-contraer, .btn-file, .btn-archivo, .btn-document,
.btn-documento, .btn-folder, .btn-carpeta, .btn-pdf, .btn-excel, .btn-user, .btn-usuario,
.btn-profile, .btn-perfil, .btn-login, .btn-entrar, .btn-logout, .btn-salir, .btn-ok,
.btn-approved, .btn-aprobado, .btn-alert, .btn-alerta, .btn-error, .btn-failed,
.btn-fallido, .btn-details, .btn-detalles, .btn-well, .btn-pozo, .btn-plant, .btn-planta,
.btn-network, .btn-red, .btn-map, .btn-mapa, .btn-chart, .btn-grafico, .btn-report,
.btn-reporte, .btn-statistics, .btn-estadisticas, .btn-stats, .btn-analytics,
.btn-analisis, .btn-help, .btn-ayuda, .btn-support, .btn-soporte, .btn-custom {
    background-color: var(--binas-btn-bg, var(--outlook-bg-primary));
    border: 1px solid var(--binas-btn-border, var(--outlook-border-light));
    color: var(--binas-btn-text, var(--outlook-text-secondary));
    border-radius: var(--binas-btn-radius, var(--radius-md));
    padding: var(--binas-btn-padding-y, var(--spacing-2)) var(--binas-btn-padding-x, var(--spacing-3));
    min-height: 34px; font-size: var(--font-size-xs);
    font-weight: var(--binas-btn-weight, var(--font-weight-semibold)); line-height: 1.3;
    transition: var(--transition-colors), box-shadow var(--transition-base), border-color var(--transition-base);
    box-shadow: none;
}
.btn-save:hover, .btn-guardar:hover, .btn-edit:hover, .btn-editar:hover, .btn-delete:hover,
.btn-eliminar:hover, .btn-remove:hover, .btn-cancel:hover, .btn-cancelar:hover, .btn-confirm:hover,
.btn-confirmar:hover, .btn-add:hover, .btn-agregar:hover, .btn-create:hover, .btn-crear:hover,
.btn-export:hover, .btn-exportar:hover, .btn-download:hover, .btn-descargar:hover, .btn-upload:hover,
.btn-subir:hover, .btn-import:hover, .btn-importar:hover, .btn-filter:hover, .btn-filtrar:hover,
.btn-search:hover, .btn-buscar:hover, .btn-refresh:hover, .btn-actualizar:hover, .btn-reload:hover,
.btn-recargar:hover, .btn-print:hover, .btn-imprimir:hover, .btn-copy:hover, .btn-copiar:hover,
.btn-duplicate:hover, .btn-duplicar:hover, .btn-settings:hover, .btn-configuracion:hover,
.btn-configure:hover, .btn-configurar:hover, .btn-tag:hover, .btn-etiqueta:hover, .btn-tags:hover,
.btn-etiquetas:hover, .btn-next:hover, .btn-siguiente:hover, .btn-prev:hover, .btn-anterior:hover,
.btn-previous:hover, .btn-back:hover, .btn-volver:hover, .btn-forward:hover, .btn-adelante:hover,
.btn-home:hover, .btn-inicio:hover, .btn-view:hover, .btn-ver:hover, .btn-show:hover, .btn-mostrar:hover,
.btn-hide:hover, .btn-ocultar:hover, .btn-expand:hover, .btn-expandir:hover, .btn-collapse:hover,
.btn-contraer:hover, .btn-file:hover, .btn-archivo:hover, .btn-document:hover, .btn-documento:hover,
.btn-folder:hover, .btn-carpeta:hover, .btn-pdf:hover, .btn-excel:hover, .btn-user:hover,
.btn-usuario:hover, .btn-profile:hover, .btn-perfil:hover, .btn-login:hover, .btn-entrar:hover,
.btn-logout:hover, .btn-salir:hover, .btn-ok:hover, .btn-approved:hover, .btn-aprobado:hover,
.btn-alert:hover, .btn-alerta:hover, .btn-error:hover, .btn-failed:hover, .btn-fallido:hover,
.btn-details:hover, .btn-detalles:hover, .btn-well:hover, .btn-pozo:hover, .btn-plant:hover,
.btn-planta:hover, .btn-network:hover, .btn-red:hover, .btn-map:hover, .btn-mapa:hover,
.btn-chart:hover, .btn-grafico:hover, .btn-report:hover, .btn-reporte:hover, .btn-statistics:hover,
.btn-estadisticas:hover, .btn-stats:hover, .btn-analytics:hover, .btn-analisis:hover,
.btn-help:hover, .btn-ayuda:hover, .btn-support:hover, .btn-soporte:hover, .btn-custom:hover {
    background-color: var(--binas-btn-hover-bg, rgba(var(--palette-blue-primary-rgb), 0.06));
    border-color: var(--binas-btn-hover-border, rgba(var(--palette-blue-primary-rgb), 0.35));
    box-shadow: none;
    color: var(--binas-btn-hover-text, var(--outlook-text-primary));
}
.btn-save:active, .btn-save:focus, .btn-guardar:active, .btn-guardar:focus, .btn-edit:active,
.btn-edit:focus, .btn-editar:active, .btn-editar:focus, .btn-delete:active, .btn-delete:focus,
.btn-eliminar:active, .btn-eliminar:focus, .btn-cancel:active, .btn-cancel:focus, .btn-cancelar:active,
.btn-cancelar:focus, .btn-confirm:active, .btn-confirm:focus, .btn-confirmar:active,
.btn-confirmar:focus, .btn-login:active, .btn-login:focus, .btn-entrar:active, .btn-entrar:focus,
.btn-custom:active, .btn-custom:focus {
    border-color: var(--binas-btn-focus-border, rgba(var(--palette-blue-primary-rgb), 0.5));
    box-shadow: var(--binas-btn-focus-shadow, 0 0 0 0.2rem rgba(var(--palette-blue-primary-rgb), 0.2));
}
.btn-save::before, .btn-guardar::before { content: "\f0c7"; }
.btn-edit::before, .btn-editar::before { content: "\f044"; }
.btn-delete::before, .btn-eliminar::before, .btn-remove::before { content: "\f2ed"; }
.btn-cancel::before, .btn-cancelar::before, .btn-cerrar::before { content: "\f00d"; }
.btn-confirm::before, .btn-confirmar::before { content: "\f00c"; }
.btn-add::before, .btn-agregar::before, .btn-create::before, .btn-crear::before { content: "\f067"; }
.btn-export::before, .btn-exportar::before { content: "\f1c3"; }
.btn-download::before, .btn-descargar::before { content: "\f019"; }
.btn-upload::before, .btn-subir::before { content: "\f093"; }
.btn-import::before, .btn-importar::before { content: "\f56f"; }
.btn-filter::before, .btn-filtrar::before { content: "\f0b0"; }
.btn-search::before, .btn-buscar::before { content: "\f002"; }
.btn-refresh::before, .btn-actualizar::before, .btn-reload::before, .btn-recargar::before { content: "\f2f1"; }
.btn-print::before, .btn-imprimir::before { content: "\f02f"; }
.btn-copy::before, .btn-copiar::before, .btn-duplicate::before, .btn-duplicar::before { content: "\f0c5"; }
.btn-settings::before, .btn-configuracion::before, .btn-configure::before, .btn-configurar::before { content: "\f013"; }
.btn-tag::before, .btn-etiqueta::before, .btn-tags::before, .btn-etiquetas::before { content: "\f02b"; }
.btn-next::after, .btn-siguiente::after { content: "\f054"; margin-left: 0.5rem; margin-right: 0; }
.btn-next::before, .btn-siguiente::before { content: none; }
.btn-prev::before, .btn-anterior::before, .btn-previous::before { content: "\f053"; }
.btn-back::before, .btn-volver::before { content: "\f060"; }
.btn-forward::before, .btn-adelante::before { content: "\f061"; }
.btn-home::before, .btn-inicio::before { content: "\f015"; }
.btn-view::before, .btn-ver::before, .btn-show::before, .btn-mostrar::before { content: "\f06e"; }
.btn-hide::before, .btn-ocultar::before { content: "\f070"; }
.btn-expand::before, .btn-expandir::before { content: "\f078"; }
.btn-collapse::before, .btn-contraer::before { content: "\f077"; }
.btn-file::before, .btn-archivo::before { content: "\f15b"; }
.btn-document::before, .btn-documento::before { content: "\f15c"; }
.btn-folder::before, .btn-carpeta::before { content: "\f07b"; }
.btn-pdf::before { content: "\f1c1"; }
.btn-excel::before { content: "\f1c3"; }
.btn-user::before, .btn-usuario::before { content: "\f007"; }
.btn-profile::before, .btn-perfil::before { content: "\f2bd"; }
.btn-login::before, .btn-entrar::before { content: "\f2f6"; }
.btn-logout::before, .btn-salir::before { content: "\f2f5"; }
.btn-ok::before, .btn-approved::before, .btn-aprobado::before { content: "\f058"; }
.btn-alert::before, .btn-alerta::before { content: "\f071"; }
.btn-error::before, .btn-failed::before, .btn-fallido::before { content: "\f057"; }
.btn-details::before, .btn-detalles::before { content: "\f05a"; }
.btn-well::before, .btn-pozo::before { content: "\f043"; }
.btn-plant::before, .btn-planta::before { content: "\f275"; }
.btn-network::before, .btn-red::before { content: "\f542"; }
.btn-map::before, .btn-mapa::before { content: "\f279"; }
.btn-chart::before, .btn-grafico::before { content: "\f080"; }
.btn-report::before, .btn-reporte::before { content: "\e0e7"; }
.btn-statistics::before, .btn-estadisticas::before, .btn-stats::before { content: "\f1fe"; }
.btn-analytics::before, .btn-analisis::before { content: "\f200"; }
.btn-help::before, .btn-ayuda::before { content: "\f059"; }
.btn-support::before, .btn-soporte::before { content: "\f1cd"; }
.btn-save::before, .btn-guardar::before, .btn-confirm::before, .btn-confirmar::before,
.btn-add::before, .btn-agregar::before, .btn-create::before, .btn-crear::before,
.btn-ok::before, .btn-approved::before, .btn-aprobado::before,
.btn-login::before, .btn-entrar::before, .btn-excel::before,
.btn-map::before, .btn-mapa::before { color: var(--icon-color-success); }
.btn-delete::before, .btn-eliminar::before, .btn-remove::before,
.btn-error::before, .btn-failed::before, .btn-fallido::before,
.btn-logout::before, .btn-salir::before, .btn-pdf::before { color: var(--icon-color-danger); }
.btn-tag::before, .btn-etiqueta::before, .btn-tags::before, .btn-etiquetas::before,
.btn-folder::before, .btn-carpeta::before, .btn-alert::before, .btn-alerta::before { color: var(--icon-color-warning); }
.btn-edit::before, .btn-editar::before, .btn-upload::before, .btn-subir::before,
.btn-search::before, .btn-buscar::before, .btn-forward::before, .btn-adelante::before,
.btn-home::before, .btn-inicio::before, .btn-view::before, .btn-ver::before,
.btn-show::before, .btn-mostrar::before, .btn-user::before, .btn-usuario::before,
.btn-profile::before, .btn-perfil::before, .btn-chart::before, .btn-grafico::before,
.btn-report::before, .btn-reporte::before, .btn-well::before, .btn-pozo::before { color: var(--palette-blue-primary); }
.btn-cancel::before, .btn-cancelar::before, .btn-cerrar::before,
.btn-filter::before, .btn-filtrar::before, .btn-refresh::before, .btn-actualizar::before,
.btn-reload::before, .btn-recargar::before, .btn-settings::before, .btn-configuracion::before,
.btn-configure::before, .btn-configurar::before, .btn-prev::before, .btn-anterior::before,
.btn-previous::before, .btn-back::before, .btn-volver::before, .btn-hide::before,
.btn-ocultar::before, .btn-expand::before, .btn-expandir::before, .btn-collapse::before,
.btn-contraer::before, .btn-file::before, .btn-archivo::before, .btn-document::before,
.btn-documento::before, .btn-plant::before, .btn-planta::before { color: var(--icon-color-neutral); }
.btn-print::before, .btn-imprimir::before { color: var(--outlook-text-primary); }
.btn-export::before, .btn-exportar::before, .btn-excel::before { color: var(--palette-teal); }
.btn-download::before, .btn-descargar::before, .btn-import::before, .btn-importar::before,
.btn-copy::before, .btn-copiar::before, .btn-duplicate::before, .btn-duplicar::before,
.btn-details::before, .btn-detalles::before, .btn-network::before, .btn-red::before,
.btn-statistics::before, .btn-estadisticas::before, .btn-stats::before,
.btn-analytics::before, .btn-analisis::before, .btn-help::before, .btn-ayuda::before,
.btn-support::before, .btn-soporte::before { color: var(--palette-cyan); }
.btn-next::after, .btn-siguiente::after { color: var(--palette-blue-primary); }
.btn.btn-primary:not(.btn-custom) { background-color: var(--bs-primary) !important; border-color: var(--bs-primary) !important; color: var(--text-light) !important; }
.btn.btn-secondary:not(.btn-custom) { background-color: var(--bs-secondary) !important; border-color: var(--bs-secondary) !important; color: var(--text-light) !important; }
.btn.btn-success:not(.btn-custom) { background-color: var(--bs-success) !important; border-color: var(--bs-success) !important; color: var(--text-light) !important; }
.btn.btn-danger:not(.btn-custom) { background-color: var(--bs-danger) !important; border-color: var(--bs-danger) !important; color: var(--text-light) !important; }
.btn.btn-warning:not(.btn-custom) { background-color: var(--bs-warning) !important; border-color: var(--bs-warning) !important; color: var(--bs-dark) !important; }
.btn.btn-info:not(.btn-custom) { background-color: var(--bs-info) !important; border-color: var(--bs-info) !important; color: var(--text-light) !important; }
.btn.btn-light:not(.btn-custom) { background-color: var(--bs-light) !important; border-color: var(--bs-light) !important; color: var(--bs-dark) !important; }
.btn.btn-dark:not(.btn-custom) { background-color: var(--bs-dark) !important; border-color: var(--bs-dark) !important; color: var(--text-light) !important; }
.btn.btn-primary:not(.btn-custom)::before, .btn.btn-secondary:not(.btn-custom)::before,
.btn.btn-success:not(.btn-custom)::before, .btn.btn-danger:not(.btn-custom)::before,
.btn.btn-warning:not(.btn-custom)::before, .btn.btn-info:not(.btn-custom)::before,
.btn.btn-light:not(.btn-custom)::before, .btn.btn-dark:not(.btn-custom)::before,
.btn[class*="btn-outline-"]::before { color: inherit !important; }
.btn.btn-primary:not(.btn-custom):hover, .btn.btn-secondary:not(.btn-custom):hover,
.btn.btn-success:not(.btn-custom):hover, .btn.btn-danger:not(.btn-custom):hover,
.btn.btn-warning:not(.btn-custom):hover, .btn.btn-info:not(.btn-custom):hover,
.btn.btn-light:not(.btn-custom):hover, .btn.btn-dark:not(.btn-custom):hover { filter: brightness(0.9); }
.btn-no-icon::before, .btn-no-icon::after { content: none; margin: 0; }
@media (max-width: 576px) { .btn-hide-icon-mobile::before, .btn-hide-icon-mobile::after { display: none; } }
.btn.is-loading { position: relative; pointer-events: none; opacity: 0.7; }
.btn.is-loading::before { opacity: 0.5; }
.btn.is-loading::after { content: "\f110"; font-family: "Font Awesome 6 Pro"; font-weight: 900; margin-left: 0.5rem; margin-right: 0; animation: btn-spinner-rotate 0.8s linear infinite; color: var(--icon-color-neutral); }
@keyframes btn-spinner-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.btn-save.is-loading::after, .btn-guardar.is-loading::after, .btn-add.is-loading::after,
.btn-agregar.is-loading::after, .btn-create.is-loading::after, .btn-crear.is-loading::after,
.btn-login.is-loading::after, .btn-entrar.is-loading::after { color: var(--icon-color-success); }
.btn-delete.is-loading::after, .btn-eliminar.is-loading::after, .btn-remove.is-loading::after { color: var(--icon-color-danger); }
.btn-edit.is-loading::after, .btn-editar.is-loading::after, .btn-search.is-loading::after,
.btn-buscar.is-loading::after { color: var(--palette-blue-primary); }
.btn-primary.is-loading::after, .btn-success.is-loading::after, .btn-danger.is-loading::after,
.btn-warning.is-loading::after, .btn-info.is-loading::after { color: inherit; }
.btn.is-loading .btn-text-loading { display: inline; }
.btn:not(.is-loading) .btn-text-loading { display: none; }
.btn.is-loading .btn-text-default { display: none; }
.btn:not(.is-loading) .btn-text-default { display: inline; }
.btn-custom::before, .btn-custom::after { content: none !important; display: none !important; margin: 0 !important; }
.btn-custom, .btn-custom:hover, .btn-custom:focus, .btn-custom:active { color: var(--outlook-text-secondary) !important; }
.btn-custom { --btn-custom-icon-color: var(--icon-color-neutral); }
.btn-custom i { margin-right: 0.5rem; color: var(--btn-custom-icon-color) !important; }
.btn-custom i:only-child { margin-right: 0 !important; }
.btn-custom:hover i, .btn-custom:focus i, .btn-custom:active i { color: var(--btn-custom-icon-color) !important; }
.btn-custom.is-loading::after { color: var(--btn-custom-icon-color) !important; }
.btn-custom.btn-success, .btn-custom.btn-green { --btn-custom-icon-color: var(--icon-color-success); }
.btn-custom.btn-danger, .btn-custom.btn-red { --btn-custom-icon-color: var(--icon-color-danger); }
.btn-custom.btn-warning, .btn-custom.btn-yellow { --btn-custom-icon-color: var(--icon-color-warning); }
.btn-custom.btn-info, .btn-custom.btn-cyan { --btn-custom-icon-color: var(--palette-cyan); }
.btn-custom.btn-primary, .btn-custom.btn-blue { --btn-custom-icon-color: var(--palette-blue-primary); }
.btn-custom.btn-teal { --btn-custom-icon-color: var(--palette-teal); }
.btn-custom.btn-neutral, .btn-custom.btn-gray, .btn-custom.btn-grey { --btn-custom-icon-color: var(--icon-color-neutral); }
.btn.btn-custom.btn-primary, .btn.btn-custom.btn-secondary, .btn.btn-custom.btn-success,
.btn.btn-custom.btn-danger, .btn.btn-custom.btn-warning, .btn.btn-custom.btn-info,
.btn.btn-custom.btn-light, .btn.btn-custom.btn-dark, .btn.btn-custom[class*="btn-outline-"] {
    background-color: var(--outlook-button-bg) !important; background-image: none !important;
    border-color: var(--outlook-button-border) !important; color: var(--outlook-text-secondary) !important;
}
.btn.btn-custom.btn-primary:hover, .btn.btn-custom.btn-secondary:hover, .btn.btn-custom.btn-success:hover,
.btn.btn-custom.btn-danger:hover, .btn.btn-custom.btn-warning:hover, .btn.btn-custom.btn-info:hover,
.btn.btn-custom.btn-light:hover, .btn.btn-custom.btn-dark:hover, .btn.btn-custom[class*="btn-outline-"]:hover {
    background-color: var(--outlook-button-hover-bg) !important; background-image: none !important;
    border-color: var(--outlook-border-hover) !important; color: var(--outlook-text-secondary) !important;
}


/* Restored from unused (classes found used in cshtml/JS) */
.binas-btn-mode-legacy, .binas-btn-legacy {
    --binas-btn-bg: var(--outlook-button-bg); --binas-btn-border: var(--outlook-button-border);
    --binas-btn-text: var(--outlook-text-secondary); --binas-btn-radius: var(--radius-xs);
    --binas-btn-padding-y: var(--spacing-3); --binas-btn-padding-x: var(--spacing-4);
    --binas-btn-weight: var(--font-weight-normal); --binas-btn-hover-bg: var(--outlook-button-hover-bg);
    --binas-btn-hover-border: var(--outlook-border-hover); --binas-btn-hover-text: var(--outlook-text-primary);
    --binas-btn-hover-shadow: var(--outlook-shadow-subtle); --binas-btn-focus-border: var(--outlook-text-tertiary);
    --binas-btn-focus-shadow: 0 0 0 0.2rem rgba(141, 141, 141, 0.25);
}

.binas-btn-mode-current {
    --binas-btn-bg: var(--outlook-bg-primary); --binas-btn-border: var(--outlook-border-light);
    --binas-btn-text: var(--outlook-text-secondary); --binas-btn-radius: var(--radius-md);
    --binas-btn-padding-y: var(--spacing-2); --binas-btn-padding-x: var(--spacing-3);
    --binas-btn-weight: var(--font-weight-semibold); --binas-btn-hover-bg: rgba(var(--palette-blue-primary-rgb), 0.06);
    --binas-btn-hover-border: rgba(var(--palette-blue-primary-rgb), 0.35); --binas-btn-hover-text: var(--outlook-text-primary);
    --binas-btn-hover-shadow: var(--outlook-shadow-card); --binas-btn-focus-border: rgba(var(--palette-blue-primary-rgb), 0.5);
    --binas-btn-focus-shadow: 0 0 0 0.2rem rgba(var(--palette-blue-primary-rgb), 0.2);
}

.binas-btn-mode-v3-soft, .binas-btn-v3-soft {
    --binas-btn-bg: var(--outlook-bg-primary); --binas-btn-border: rgba(var(--palette-blue-primary-rgb), 0.22);
    --binas-btn-text: var(--outlook-text-secondary); --binas-btn-radius: var(--radius-md);
    --binas-btn-padding-y: calc(var(--spacing-2) - 1px); --binas-btn-padding-x: var(--spacing-3);
    --binas-btn-weight: var(--font-weight-medium); --binas-btn-hover-bg: rgba(var(--palette-blue-primary-rgb), 0.05);
    --binas-btn-hover-border: rgba(var(--palette-blue-primary-rgb), 0.32); --binas-btn-hover-text: var(--outlook-text-primary);
    --binas-btn-hover-shadow: var(--outlook-shadow-subtle); --binas-btn-focus-border: rgba(var(--palette-blue-primary-rgb), 0.45);
    --binas-btn-focus-shadow: 0 0 0 0.2rem rgba(var(--palette-blue-primary-rgb), 0.16);
}

.binas-btn-mode-v3-strong, .binas-btn-v3-strong {
    --binas-btn-bg: var(--outlook-bg-primary); --binas-btn-border: rgba(var(--palette-blue-primary-rgb), 0.38);
    --binas-btn-text: var(--outlook-text-primary); --binas-btn-radius: var(--radius-lg);
    --binas-btn-padding-y: var(--spacing-2); --binas-btn-padding-x: calc(var(--spacing-3) + 2px);
    --binas-btn-weight: var(--font-weight-semibold); --binas-btn-hover-bg: rgba(var(--palette-blue-primary-rgb), 0.10);
    --binas-btn-hover-border: rgba(var(--palette-blue-primary-rgb), 0.55); --binas-btn-hover-text: var(--outlook-text-primary);
    --binas-btn-hover-shadow: var(--outlook-shadow-card); --binas-btn-focus-border: rgba(var(--palette-blue-primary-rgb), 0.6);
    --binas-btn-focus-shadow: 0 0 0 0.2rem rgba(var(--palette-blue-primary-rgb), 0.22);
}

