/**
 * Botones e iconos — pastillas suaves, iconos en chip, mismos tamaños en todo el POS.
 */

.btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border-radius: 0.55rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em;
    line-height: 1.2;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, transform 0.12s ease;
}

.btn i,
.btn .fas,
.btn .far,
.btn .fab,
.btn .fal,
.btn .fa-solid,
.btn .fa-regular {
    font-size: 0.92em;
    line-height: 1;
    opacity: 0.95;
}

.btn:active {
    transform: scale(0.97);
}

.btn-flat {
    box-shadow: none !important;
}

.btn-sm {
    border-radius: 0.5rem !important;
    padding: 0.38rem 0.75rem !important;
}

.btn-xs,
.btn.btn-xs {
    min-width: 2rem;
    min-height: 2rem;
    padding: 0.3rem 0.45rem !important;
    border-radius: 0.5rem !important;
    border: none !important;
    box-shadow: none !important;
}

.btn-lg {
    border-radius: 0.7rem !important;
    padding: 0.7rem 1.15rem !important;
}

.btn-block {
    width: 100%;
}

/* —— Rellenos sólidos (botones con texto) —— */
.btn-primary {
    background: var(--rb-primary) !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 0.25rem 0.7rem rgba(115, 103, 240, 0.28) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--rb-primary-hover) !important;
    color: #fff !important;
}

.btn-success {
    background: #28c76f !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 0.25rem 0.7rem rgba(40, 199, 111, 0.26) !important;
}

.btn-success:hover,
.btn-success:focus {
    background: #24b364 !important;
    color: #fff !important;
}

.btn-info {
    background: #00cfe8 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 0.25rem 0.7rem rgba(0, 207, 232, 0.26) !important;
}

.btn-info:hover,
.btn-info:focus {
    background: #00b6cc !important;
    color: #fff !important;
}

.btn-warning {
    background: #ff9f43 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 0.25rem 0.7rem rgba(255, 159, 67, 0.28) !important;
}

.btn-warning:hover,
.btn-warning:focus {
    background: #f08d2c !important;
    color: #fff !important;
}

.btn-danger {
    background: #ea5455 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 0.25rem 0.7rem rgba(234, 84, 85, 0.26) !important;
}

.btn-danger:hover,
.btn-danger:focus {
    background: #d64546 !important;
    color: #fff !important;
}

.btn-secondary {
    background: #82868b !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
    background: #6d7075 !important;
    color: #fff !important;
}

.btn-light,
.btn-default {
    background: #f3f2f5 !important;
    color: var(--rb-text) !important;
    border: 1px solid var(--rb-border) !important;
    box-shadow: none !important;
}

/* —— Iconos de tabla / opciones: chip suave, no bloque sólido —— */
.btn-xs.btn-primary,
.btn.btn-xs.btn-primary {
    background: rgba(115, 103, 240, 0.14) !important;
    color: #7367f0 !important;
    box-shadow: none !important;
}

.btn-xs.btn-success,
.btn.btn-xs.btn-success {
    background: rgba(40, 199, 111, 0.14) !important;
    color: #28c76f !important;
    box-shadow: none !important;
}

.btn-xs.btn-info,
.btn.btn-xs.btn-info {
    background: rgba(0, 207, 232, 0.16) !important;
    color: #00b6cc !important;
    box-shadow: none !important;
}

.btn-xs.btn-warning,
.btn.btn-xs.btn-warning {
    background: rgba(255, 159, 67, 0.18) !important;
    color: #e07b16 !important;
    box-shadow: none !important;
}

.btn-xs.btn-danger,
.btn.btn-xs.btn-danger {
    background: rgba(234, 84, 85, 0.14) !important;
    color: #ea5455 !important;
    box-shadow: none !important;
}

.btn-xs.btn-secondary,
.btn.btn-xs.btn-secondary {
    background: rgba(130, 134, 139, 0.14) !important;
    color: #5c5f64 !important;
    box-shadow: none !important;
}

.btn-xs:hover,
.btn-xs:focus {
    filter: brightness(0.96);
    transform: translateY(-1px);
}

/* Outline: borde + texto, fondo limpio */
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-success,
.btn-outline-info,
.btn-outline-warning,
.btn-outline-danger {
    background: var(--rb-surface, #fff) !important;
    box-shadow: none !important;
}

.btn-outline-primary { color: var(--rb-primary) !important; border: 1.5px solid var(--rb-primary) !important; }
.btn-outline-secondary { color: var(--rb-text) !important; border: 1.5px solid var(--rb-border) !important; }
.btn-outline-success { color: #1b9a4d !important; border: 1.5px solid #28c76f !important; }
.btn-outline-info { color: #0098ab !important; border: 1.5px solid #00cfe8 !important; }
.btn-outline-warning { color: #c56d12 !important; border: 1.5px solid #ff9f43 !important; }
.btn-outline-danger { color: #d23c3d !important; border: 1.5px solid #ea5455 !important; }

.btn-outline-primary:hover,
.btn-outline-primary:focus { background: var(--rb-primary) !important; color: #fff !important; }
.btn-outline-secondary:hover,
.btn-outline-secondary:focus { background: #6d7075 !important; color: #fff !important; border-color: #6d7075 !important; }
.btn-outline-success:hover,
.btn-outline-success:focus { background: #28c76f !important; color: #fff !important; }
.btn-outline-info:hover,
.btn-outline-info:focus { background: #00cfe8 !important; color: #fff !important; }
.btn-outline-warning:hover,
.btn-outline-warning:focus { background: #ff9f43 !important; color: #fff !important; }
.btn-outline-danger:hover,
.btn-outline-danger:focus { background: #ea5455 !important; color: #fff !important; }

.card .card-header .btn-primary:not(.btn-xs),
.card .card-header .btn-success:not(.btn-xs),
.card .card-header .btn-info:not(.btn-xs),
.card .card-header .btn-danger:not(.btn-xs),
.card .card-header .btn-warning:not(.btn-xs),
.card .card-header .btn-secondary:not(.btn-xs) {
    color: #fff !important;
}

/* —— Iconos de interfaz —— */
.card-title > i,
.card-title > .fas,
.card-title > .far,
.content-header i,
.breadcrumb-item i {
    color: var(--rb-primary);
    margin-right: 0.35rem;
}

.main-sidebar .nav-sidebar .nav-link > .nav-icon,
.main-sidebar .nav-sidebar .nav-link > i:first-child {
    width: 1.7rem;
    height: 1.7rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 0.42rem;
    background: rgba(115, 103, 240, 0.1);
    font-size: 0.82rem;
    margin-right: 0.5rem;
    opacity: 1;
}

html:not([data-theme='dark']) .main-sidebar .nav-sidebar > .nav-item > .nav-link.active > .nav-icon,
html:not([data-theme='dark']) .main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link > .nav-icon,
html:not([data-theme='dark']) .main-sidebar .nav-sidebar > .nav-item > .nav-link.active > i:first-child,
html:not([data-theme='dark']) .main-sidebar .nav-sidebar > .nav-item.menu-open > .nav-link > i:first-child {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

html:not([data-theme='dark']) .main-sidebar .nav-treeview .nav-link.active > .nav-icon,
html:not([data-theme='dark']) .main-sidebar .nav-treeview .nav-link.active > i:first-child {
    background: rgba(115, 103, 240, 0.16);
    color: var(--rb-primary);
}

.main-header .navbar-nav .nav-link > i,
.main-header .navbar-nav .nav-link > .fas,
.main-header .navbar-nav .nav-link > .far,
.main-header .navbar-nav .nav-link > .fa-solid {
    width: 2.05rem;
    height: 2.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(115, 103, 240, 0.08);
    font-size: 0.95rem;
    color: inherit;
}

.main-header .navbar-nav .nav-link:hover > i,
.main-header .navbar-nav .nav-link:hover > .fas,
.main-header .navbar-nav .nav-link:hover > .far {
    background: rgba(115, 103, 240, 0.16);
    color: var(--rb-primary);
}

.rb-theme-toggle {
    border-radius: 50% !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
}

.close {
    text-shadow: none;
    opacity: 0.65;
}

.badge {
    border-radius: 0.4rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.badge-pill {
    border-radius: 50rem;
}

.info-box-icon i,
.dashboard-kpi .info-box-icon i {
    font-size: 1.15rem;
}

/* Paginación DataTables + Bootstrap: el botón es solo .page-link.
   li.paginate_button es el contenedor; pintarlo también deja bordes dobles. */
.dataTables_wrapper .dataTables_paginate ul.pagination {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.28rem;
    margin: 0;
}

.dataTables_wrapper .dataTables_paginate ul.pagination > li.paginate_button,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.page-item {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.dataTables_wrapper .dataTables_paginate ul.pagination > li.paginate_button.current,
.dataTables_wrapper .dataTables_paginate ul.pagination > li.paginate_button:hover {
    background: transparent !important;
    border: 0 !important;
    color: inherit !important;
}

.page-item .page-link,
.pagination .page-link,
.dataTables_wrapper .dataTables_paginate .page-link {
    border-radius: 0.45rem !important;
    border: 1px solid var(--rb-border) !important;
    margin: 0 !important;
    min-width: 2.15rem;
    text-align: center;
    box-shadow: none !important;
}

.page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .page-item.active .page-link {
    background: var(--rb-primary) !important;
    color: #fff !important;
    border-color: var(--rb-primary) !important;
}

html[data-theme='dark'] .page-item .page-link,
html[data-theme='dark'] .pagination .page-link,
html[data-theme='dark'] .dataTables_wrapper .dataTables_paginate .page-link {
    background: var(--rb-surface) !important;
    color: var(--rb-text) !important;
    border-color: var(--rb-border) !important;
}

html[data-theme='dark'] .page-item.active .page-link,
html[data-theme='dark'] .dataTables_wrapper .dataTables_paginate .page-item.active .page-link {
    background: var(--rb-primary) !important;
    color: #fff !important;
    border-color: var(--rb-primary) !important;
}

html[data-theme='dark'] .page-item .page-link:hover,
html[data-theme='dark'] .dataTables_wrapper .dataTables_paginate .page-link:hover {
    background: rgba(115, 103, 240, 0.22) !important;
    color: #fff !important;
    border-color: var(--rb-primary) !important;
}

/* Oscuro */
html[data-theme='dark'] .btn-light,
html[data-theme='dark'] .btn-default {
    background: #3a3f57 !important;
    color: var(--rb-text) !important;
    border-color: var(--rb-border) !important;
}

html[data-theme='dark'] .btn-outline-primary,
html[data-theme='dark'] .btn-outline-secondary,
html[data-theme='dark'] .btn-outline-success,
html[data-theme='dark'] .btn-outline-info,
html[data-theme='dark'] .btn-outline-warning,
html[data-theme='dark'] .btn-outline-danger {
    background: transparent !important;
}

html[data-theme='dark'] .btn-xs.btn-primary { background: rgba(115, 103, 240, 0.22) !important; color: #c4bfff !important; }
html[data-theme='dark'] .btn-xs.btn-success { background: rgba(40, 199, 111, 0.2) !important; color: #5ee09a !important; }
html[data-theme='dark'] .btn-xs.btn-info { background: rgba(0, 207, 232, 0.2) !important; color: #5ee4f4 !important; }
html[data-theme='dark'] .btn-xs.btn-warning { background: rgba(255, 159, 67, 0.22) !important; color: #ffc085 !important; }
html[data-theme='dark'] .btn-xs.btn-danger { background: rgba(234, 84, 85, 0.22) !important; color: #ff8f90 !important; }
html[data-theme='dark'] .btn-xs.btn-secondary { background: rgba(255, 255, 255, 0.08) !important; color: #cfd3ec !important; }

html[data-theme='dark'] .main-sidebar .nav-sidebar .nav-link > .nav-icon,
html[data-theme='dark'] .main-sidebar .nav-sidebar .nav-link > i:first-child {
    background: rgba(115, 103, 240, 0.18);
}

html[data-theme='dark'] .main-header .navbar-nav .nav-link > i,
html[data-theme='dark'] .main-header .navbar-nav .nav-link > .fas,
html[data-theme='dark'] .main-header .navbar-nav .nav-link > .far {
    background: rgba(255, 255, 255, 0.06);
}

/* Grupos, buscadores y diálogos */
.btn-group {
    gap: 0.2rem;
}

.btn-group > .btn {
    margin: 0;
}

.input-group > .input-group-prepend > .btn,
.input-group > .input-group-append > .btn,
.input-group-append .btn,
.input-group-prepend .btn {
    box-shadow: none !important;
    transform: none;
}

.input-group > .input-group-append > .btn:last-child,
.input-group > .input-group-append > .btn {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-group > .input-group-prepend > .btn:first-child,
.input-group > .input-group-prepend > .btn {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

td .btn-xs,
td a.btn-xs,
th .btn-xs {
    margin: 0 0.1rem;
}

.btn-link {
    color: var(--rb-primary) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    background: transparent !important;
}

.btn-tool {
    color: var(--rb-text-muted, #6e6b7b) !important;
    border-radius: 0.4rem !important;
}

.btn-tool:hover {
    color: var(--rb-primary) !important;
    background: rgba(115, 103, 240, 0.1) !important;
}

.swal2-styled.swal2-confirm,
.swal2-styled.swal2-deny,
.swal2-styled.swal2-cancel,
.jconfirm-buttons .btn {
    border-radius: 0.55rem !important;
    font-weight: 600 !important;
}

