/* =========================================
   MODERN UI OVERRIDES (DARK SIDEBAR / LIGHT THEME)
   ========================================= */

/* Typography & Base */
body {
    font-family: 'Google Sans Flex', 'Google Sans', 'Outfit', 'Inter', sans-serif !important;
    background-color: #f8f9fa !important;
    color: #495057;
}

/* Aggressive Global Typography Enforcement */
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
p,
a,
button,
input,
select,
textarea,
label,
table,
th,
td,
ul,
li,
dl,
dt,
dd,
strong,
b,
em,
small,
form,
fieldset,
legend,
caption,
tbody,
tfoot,
thead,
tr,
div,
span:not(.glyphicon):not(.fa):not(.ion):not(.far):not(.fas):not(.fab) {
    font-family: 'Google Sans Flex', 'Google Sans', 'Outfit', 'Inter', sans-serif !important;
}

.content-wrapper,
.right-side {
    background-color: #f8f9fa !important;
}

/* Header Navbar */
.main-header .navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e9ecef;
    min-height: 50px;
}

.main-header .navbar .nav>li>a {
    color: #495057 !important;
}

.main-header .navbar .nav>li>a:hover {
    background: #f1f3f5 !important;
}

.main-header .logo {
    background-color: #171821 !important;
    color: #ffffff !important;
    border-bottom: 1px solid #171821;
    transition: background-color 0.4s ease, color 0.4s ease, width 0.3s ease-in-out !important;
}

.main-header .logo:hover {
    background-color: #1a1c27 !important;
}

/* Transitions for Logo when sidebar is hidden (Desktop) */
body.sidebar-collapse .main-header .logo {
    background-color: #ffffff !important;
    color: #171821 !important;
    border-bottom: 1px solid #e9ecef !important;
}

/* Ensure the white images inside turn dark when the background is white */
.main-header .logo img {
    transition: filter 0.4s ease;
}

body.sidebar-collapse .main-header .logo img {
    filter: brightness(0.2);
}

/* Mobile Uniform Logo Banner */
@media (max-width: 767px) {
    .main-header .logo {
        background-color: #ffffff !important;
        color: #171821 !important;
        border-bottom: 1px solid #e9ecef !important;
    }

    .main-header .logo img {
        filter: brightness(0.2) !important;
    }
}

.skin-blue .main-header .navbar .sidebar-toggle {
    color: #495057 !important;
}

.skin-blue .main-header .navbar .sidebar-toggle:hover {
    background-color: #f1f3f5 !important;
}

/* Sidebar Global */
.main-sidebar,
.left-side {
    background-color: #171821 !important;
}

.skin-blue .wrapper {
    background-color: #f8f9fa !important;
}

/* Sidebar Menu Normal (Expanded) */
.sidebar-menu {
    padding-top: 15px;
}

.skin-blue .sidebar-menu>li>a {
    color: #8b92a5 !important;
    font-size: 14px;
    padding: 12px 15px;
    margin: 4px 12px;
    border-radius: 12px;
    transition: all 0.2s;
    border-left: none !important;
    display: flex;
    align-items: center;
    gap: 12px;
}

.skin-blue .sidebar-menu>li>a>i {
    width: 24px;
    text-align: center;
    font-size: 18px;
}

.skin-blue .sidebar-menu>li:hover>a {
    background-color: #222432 !important;
    color: #ffffff !important;
}

.skin-blue .sidebar-menu>li.active>a,
.skin-blue .sidebar-menu>li.menu-open>a {
    background-color: #635bff !important;
    color: #ffffff !important;
    border-left-color: transparent !important;
    box-shadow: 0 4px 12px rgba(99, 91, 255, 0.3);
}

.skin-blue .sidebar-menu>li.header {
    background-color: transparent !important;
    color: #636b82 !important;
    padding: 10px 25px 8px;
    font-size: 11px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    font-weight: 600;
}

.skin-blue .treeview-menu {
    background-color: transparent !important;
    margin: 0 10px;
    padding-left: 10px;
}

.skin-blue .treeview-menu>li>a {
    color: #8b92a5 !important;
    padding: 8px 15px;
    border-radius: 8px;
    margin-bottom: 2px;
    display: block;
}

.skin-blue .treeview-menu>li>a:hover,
.skin-blue .treeview-menu>li.active>a {
    color: #ffffff !important;
    background-color: #222432 !important;
}



/* Box / Cards */
.box {
    border-top: none !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid #f1f3f5;
    background: #ffffff;
    margin-bottom: 20px;
}

.box-header {
    border-bottom: 1px solid #f1f3f5;
    padding: 15px 20px;
}

.box-title {
    font-weight: 600;
    font-size: 16px;
    color: #212529;
}

.btn {
    border-radius: 6px;
    font-weight: 500;
}

.btn-primary {
    background-color: #635bff !important;
    border-color: #635bff !important;
}

.btn-primary:hover,
.btn-primary:active,
.btn-primary:focus {
    background-color: #554eed !important;
    border-color: #554eed !important;
}

/* DataTables */
table.dataTable {
    border-collapse: collapse !important;
    width: 100% !important;
}

table.dataTable thead th {
    border-bottom: 1px solid #e9ecef !important;
    color: #868e96;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    padding: 12px 10px;
    letter-spacing: 0.5px;
}

table.dataTable tbody td {
    padding: 12px 10px !important;
    border-bottom: 1px solid #f1f3f5 !important;
    border-top: none !important;
    vertical-align: middle;
    color: #343a40;
}

table.dataTable tbody tr:hover {
    background-color: #f8f9fa !important;
}

/* Dashboard Metric Cards */
.metric-card {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border: 1px solid #f1f3f5;
    margin-bottom: 20px;
    height: 100%;
}

.metric-title {
    font-size: 12px;
    text-transform: uppercase;
    color: #868e96;
    font-weight: 600;
    margin-bottom: 10px;
}

.metric-value {
    font-size: 28px;
    font-weight: 700;
    color: #212529;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.metric-tag {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 12px;
    background: #f0ebff;
    color: #635bff;
    font-weight: 500;
    display: inline-block;
    vertical-align: middle;
}

.metric-bar-container {
    height: 4px;
    background: #e9ecef;
    border-radius: 2px;
    margin-top: 15px;
    overflow: hidden;
}

.metric-bar-fill {
    height: 100%;
    background: var(--mc-color, #635bff);
    border-radius: 2px;
}

.metric-card a.mc-link {
    font-size: 13px;
    margin-top: 15px;
    display: inline-block;
    color: #635bff !important;
    font-weight: 500;
    text-decoration: none;
}

.metric-card a.mc-link:hover {
    opacity: 0.8;
}

.metric-title i {
    color: #868e96;
    margin-right: 4px;
}

@media (min-width: 992px) {
    .col-md-5 {
        width: 100%;
        justify-content: center;
        align-items: center;
        padding: 0 8rem;
    }

    .col-md-7 {
        width: 100%;
        padding: 0 10rem;
    }

}

/* Ocultar botones inline y dejar SOLO el menÃº â‹® en todos los tamaÃ±os */
.acciones-venta .acciones-inline {
    display: none !important;
}

.acciones-venta .acciones-dd {
    display: inline-block !important;
}

/* (Opcional) BotÃ³n â‹® mÃ¡s moderno */
.acciones-venta .acciones-dd-btn {
    width: 38px;
    height: 38px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}

/* (Opcional) menÃº mÃ¡s prolijo */
.acciones-venta .acciones-dd-menu {
    border-radius: 12px;
    box-shadow: 0 12px 26px rgba(0, 0, 0, .18);
    padding: 6px 0;
    min-width: 210px;
}

.acciones-venta .acciones-dd-menu>li>a {
    padding: 10px 12px;
    display: flex;
    gap: 10px;
    align-items: center;
}

/* âœ… Default: SIEMPRE ocultar botones y dejar solo menÃº â‹® */
.acciones-venta .acciones-inline {
    display: none !important;
}

.acciones-venta .acciones-dd {
    display: inline-block !important;
}

/* âœ… EXCEPCIÃ“N: cuando DataTables abre la fila "child" (vista del +)
   ahÃ­ mostramos botones completos y ocultamos el menÃº */
table.dataTable tbody tr.child .acciones-venta .acciones-inline {
    display: inline-flex !important;
    flex-wrap: wrap;
    gap: 6px;
}

table.dataTable tbody tr.child .acciones-venta .acciones-dd {
    display: none !important;
}

/* (Opcional) botones compactos prolijos dentro del child */
table.dataTable tbody tr.child .acciones-venta .acciones-inline .btn,
table.dataTable tbody tr.child .acciones-venta .acciones-inline a.btn {
    float: none !important;
    border-radius: 12px;
    width: 34px;
    height: 34px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}

/* =================================================================
   DASHBOARD CARDS â€” Tema Apple / Light Modern
   Sobreescribe el tema oscuro de AdminLTE.css con un diseÃ±o limpio.
   ================================================================= */

/* â”€â”€ Base comÃºn para todos los cuadros del dashboard â”€â”€ */
.va-card,
.vp-card,
.vv-card,
.vc-card,
.recientes-panel {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 4px 16px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    color: #1d1d1f !important;
    margin: 0 0 24px !important;
    padding: 20px !important;
}

/* â”€â”€ TÃ­tulos y subtÃ­tulos â”€â”€ */
.va-title,
.vp-title,
.vv-title,
.vc-title,
.recientes-title h3 {
    color: #1d1d1f !important;
    font-weight: 700 !important;
    letter-spacing: -0.3px !important;
}

.va-subtitle,
.vp-subtitle,
.vv-subtitle,
.vc-subtitle {
    color: #86868b !important;
    font-size: 12px !important;
}

/* â”€â”€ KPI chips (cajas de mÃ©tricas dentro de las cards) â”€â”€ */
.va-kpi,
.vv-kpi,
.vc-kpi {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 12px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.va-kpi span,
.vv-kpi span,
.vc-kpi span {
    color: #86868b !important;
    opacity: 1 !important;
}

.va-kpi strong,
.vv-kpi strong,
.vc-kpi strong {
    color: #1d1d1f !important;
}

/* â”€â”€ Badge de variaciÃ³n â”€â”€ */
.va-badge {
    background: #f5f5f7 !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: #86868b !important;
}

.va-badge--up {
    background: #e8f8f0 !important;
    border-color: #a8e6c5 !important;
    color: #1a7f4b !important;
}

.va-badge--down {
    background: #fdf0f0 !important;
    border-color: #f5b8b8 !important;
    color: #c93c3c !important;
}

/* â”€â”€ Estado vacÃ­o / fallback â”€â”€ */
.va-empty,
.va-fallback,
.vp-empty,
.vv-empty,
.vc-empty {
    color: #86868b !important;
}

.va-empty i,
.va-fallback i,
.vp-empty i,
.vv-empty i,
.vc-empty i {
    opacity: 0.5 !important;
}

/* â”€â”€ Tooltip del grÃ¡fico â”€â”€ */
.va-tooltip__inner {
    background: rgba(29, 29, 31, 0.88) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
}

/* â”€â”€ Grilla de escalas Chart.js â”€â”€ */
/* Los colores de grid se manejan en el JS, aquÃ­ no hace falta override */

/* â”€â”€ Botones y filtros de fecha â”€â”€ */
.vp-btn,
.vv-btn,
.vc-btn {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.10) !important;
    color: #1d1d1f !important;
    border-radius: 10px !important;
}

.vp-btn:hover,
.vv-btn:hover,
.vc-btn:hover {
    background: #e8e8ed !important;
    color: #1d1d1f !important;
}

.vp-range input[type="date"],
#vvRangeInput,
#vcRangeInput {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    border: 1px solid rgba(0, 0, 0, 0.10) !important;
    border-radius: 10px !important;
}

.vp-range input[type="date"]::-webkit-calendar-picker-indicator {
    filter: none !important;
    opacity: 0.5;
}

.vp-sep {
    color: #86868b !important;
    opacity: 1 !important;
}

/* â”€â”€ Centro del donut (productos mÃ¡s vendidos) â”€â”€ */
.vp-center-top,
.vp-center-sub {
    color: #86868b !important;
    opacity: 1 !important;
}

.vp-center-big {
    color: #1d1d1f !important;
}

/* â”€â”€ Items de leyenda (vp â€” productos mÃ¡s vendidos) â”€â”€ */
.vp-legend-item {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    display: grid !important;
    grid-template-columns: 18px 1fr auto !important;
    gap: 8px !important;
    align-items: center !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

.vp-legend-item:hover {
    background: #ebebf0 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05) !important;
}

.vp-legend-item.is-selected {
    background: #eef0ff !important;
    border-color: rgba(99, 91, 255, 0.25) !important;
    box-shadow: none !important;
}

.vp-dot {
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    border-radius: 50% !important;
    background-color: var(--c) !important;
    box-shadow: none !important;
}

.vp-name {
    color: #1d1d1f !important;
    font-weight: 500 !important;
    font-size: 12px !important;
}

.vp-val {
    color: #86868b !important;
    font-size: 12px !important;
    opacity: 1 !important;
}

.vp-pct {
    color: #1d1d1f !important;
    font-weight: 700 !important;
}

.vp-bar {
    background: rgba(0, 0, 0, 0.07) !important;
    border-radius: 999px !important;
    height: 5px !important;
}

.vp-bar span {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15), var(--c)) !important;
}

.vp-legend-content {
    min-width: 0;
}

.vp-legend-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

/* â”€â”€ Items de leyenda (vv â€” vendedores) â”€â”€ */
.vv-legend-item {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 12px !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

.vv-legend-item:hover {
    background: #ebebf0 !important;
    transform: translateY(-1px) !important;
}

.vv-legend-item.is-selected {
    box-shadow: 0 0 0 2px rgba(99, 91, 255, 0.25) !important;
}

.vv-rank {
    color: #86868b !important;
    opacity: 1 !important;
}

.vv-dot {
    box-shadow: none !important;
}

.vv-name {
    color: #1d1d1f !important;
}

.vv-val {
    color: #86868b !important;
    opacity: 1 !important;
}

.vv-pct {
    color: #1d1d1f !important;
    font-weight: 700 !important;
}

.vv-bar {
    background: rgba(0, 0, 0, 0.07) !important;
}

.vv-bar span {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15), var(--c)) !important;
}

.vv-kpi {
    min-width: 160px !important;
}

/* â”€â”€ Items de leyenda (vc â€” compradores) â”€â”€ */
.vc-legend-item {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 12px !important;
    transition: background 0.15s ease, transform 0.15s ease !important;
}

.vc-legend-item:hover {
    background: #ebebf0 !important;
    transform: translateY(-1px) !important;
}

.vc-legend-item.is-selected {
    box-shadow: 0 0 0 2px rgba(236, 72, 153, 0.25) !important;
}

.vc-rank {
    color: #86868b !important;
    opacity: 1 !important;
}

.vc-dot {
    box-shadow: none !important;
}

.vc-name {
    color: #1d1d1f !important;
}

.vc-val {
    color: #86868b !important;
    opacity: 1 !important;
}

.vc-pct {
    color: #1d1d1f !important;
    font-weight: 700 !important;
}

.vc-bar {
    background: rgba(0, 0, 0, 0.07) !important;
}

.vc-bar span {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0.15), var(--c)) !important;
}

/* â”€â”€ Flatpickr â€” tema claro â”€â”€ */
.flatpickr-calendar {
    background: #ffffff !important;
    color: #1d1d1f !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1) !important;
    border-radius: 14px !important;
}

.flatpickr-months {
    background: #ffffff !important;
    color: #1d1d1f !important;
}

.flatpickr-day {
    color: #1d1d1f !important;
}

.flatpickr-day:hover {
    background: #f5f5f7 !important;
    border-color: transparent !important;
}

.flatpickr-day.inRange {
    background: rgba(99, 91, 255, 0.08) !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #635bff !important;
    color: #fff !important;
    border-color: transparent !important;
}

.flatpickr-weekday {
    color: #86868b !important;
}

.flatpickr-current-month input.cur-year {
    color: #1d1d1f !important;
}

/* â”€â”€ Panel de productos recientes â”€â”€ */
.recientes-panel {
    --surf-outer: #ffffff;
    --border: rgba(0, 0, 0, 0.07);
    --text: #1d1d1f;
    --muted: #86868b;
    --accent: #635bff;
    --accent-weak: rgba(99, 91, 255, 0.2);
}

.recientes-header {
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 12px !important;
}

.recientes-title h3 {
    color: #1d1d1f !important;
}

.recientes-dot {
    background: #635bff !important;
    box-shadow: none !important;
}

.recientes-link {
    color: #635bff !important;
    background: #f5f5f7 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    border-radius: 10px !important;
}

.recientes-link:hover {
    background: #ebebf0 !important;
}

/* Filas de productos recientes */
.rec-row {
    background: #f5f5f7 !important;
    border: 1px solid transparent;
    border-radius: 12px !important;
    box-shadow: none !important;
}

.rec-row:hover {
    background: #ebebf0 !important;
    border-color: rgba(99, 91, 255, 0.2) !important;
}

.rec-row__title {
    color: #1d1d1f !important;
    font-weight: 600 !important;
}

.rec-row__meta {
    color: #86868b !important;
}

.rec-row__thumb {
    background: #ffffff !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 10px !important;
    padding: 4px !important;
    box-shadow: none !important;
}

.rec-row__price {
    background: #f5f5f7 !important;
    color: #1d1d1f !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    border-radius: 999px !important;
    font-weight: 700 !important;
}

.rec-row__cta {
    color: #635bff !important;
    background: #ffffff !important;
    border: 1px solid rgba(99, 91, 255, 0.25) !important;
    border-radius: 8px !important;
}

.rec-row__cta:hover {
    background: #635bff !important;
    color: #ffffff !important;
    border-color: #635bff !important;
}

.rec-empty {
    background: #f5f5f7 !important;
    border-color: rgba(0, 0, 0, 0.07) !important;
    color: #86868b !important;
}

/* Edge Hover Expander */
.left-edge-expander {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 20px;
    height: 100vh;
    z-index: 1050;
    cursor: pointer;
    background: transparent;
    display: flex;
    align-items: center;
}

body:not(.sidebar-collapse) .left-edge-expander {
    display: none;
}

.left-edge-expander .expander-content {
    background-color: #635bff;
    color: #fff;
    padding: 12px 14px 12px 16px;
    border-radius: 0 12px 12px 0;
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
}

.left-edge-expander:hover .expander-content {
    transform: translateX(0);
}

/* Hide Menu Button */
.btn-hide-menu {
    border-radius: 12px !important;
    display: flex !important;
    align-items: center;
    gap: 12px;
    padding: 12px 15px !important;
    margin: 0 12px 10px 12px !important;
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    transition: all 0.2s !important;
    font-weight: 500;
}

.btn-hide-menu:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

.btn-hide-menu i {
    font-size: 16px;
    width: 24px;
    text-align: center;
}

/* =========================================
   GLOBAL SYSTEM BUTTON & LABEL UI REFINEMENTS
   ========================================= */

/* Button Modernizations */
.btn {
    border-radius: 6px !important;
    font-weight: 500 !important;
    transition: all 0.2s ease-in-out !important;
    box-shadow: none !important;
    text-transform: none !important;
}

.btn-success {
    background-color: #20c997 !important;
    border-color: #20c997 !important;
    color: #ffffff !important;
}

.btn-success:hover {
    background-color: #1aa179 !important;
    border-color: #1aa179 !important;
}

.btn-warning {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #212529 !important;
}

.btn-warning:hover {
    background-color: #e0a800 !important;
    border-color: #e0a800 !important;
}

.btn-danger {
    background-color: #ff4757 !important;
    border-color: #ff4757 !important;
    color: #ffffff !important;
}

.btn-danger:hover {
    background-color: #e03f4e !important;
    border-color: #e03f4e !important;
}

.btn-primary {
    background-color: #635bff !important;
    border-color: #635bff !important;
    color: #ffffff !important;
}

.btn-primary:hover {
    background-color: #5247ed !important;
    border-color: #5247ed !important;
}

.btn-info {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
    color: #ffffff !important;
}

.btn-info:hover {
    background-color: #0bacce !important;
    border-color: #0bacce !important;
}

.btn-default {
    background-color: #f8f9fa !important;
    border-color: #e9ecef !important;
    color: #495057 !important;
}

.btn-default:hover {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

.btn-xs {
    padding: 3px 6px !important;
    font-size: 11px !important;
}

/* Status Label (Pill) Modernizations */
.label {
    padding: 6px 10px !important;
    border-radius: 20px !important;
    font-weight: 500 !important;
    font-size: 11px !important;
    display: inline-block;
    vertical-align: middle;
}

.label-warning {
    background-color: #fff8e1 !important;
    color: #f59f00 !important;
    border: 1px solid #ffecb3 !important;
}

.label-success {
    background-color: #e6f6ee !important;
    color: #28a745 !important;
    border: 1px solid #c3ebd5 !important;
}

.label-default {
    background-color: #f1f3f5 !important;
    color: #495057 !important;
    border: 1px solid #e9ecef !important;
}

.label-info {
    background-color: #e8f4fc !important;
    color: #007bff !important;
    border: 1px solid #b8daff !important;
}

.label-danger {
    background-color: #ffe0e3 !important;
    color: #ff4757 !important;
    border: 1px solid #ffc9cd !important;
}

/* =========================================
   TABLE ACTION BUTTONS (GHOST ICONS)
   ========================================= */
.table tbody td .btn-group .btn {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    padding: 6px 10px !important;
    transition: all 0.2s ease !important;
}

/* Colores de íconos según la clase del botón original */
.table tbody td .btn-group .btn-warning {
    color: #ffc107 !important;
}

.table tbody td .btn-group .btn-warning:hover {
    color: #e0a800 !important;
    background-color: rgba(255, 193, 7, 0.1) !important;
    transform: scale(1.1);
}

.table tbody td .btn-group .btn-danger {
    color: #ff4757 !important;
}

.table tbody td .btn-group .btn-danger:hover {
    color: #e03f4e !important;
    background-color: rgba(255, 71, 87, 0.1) !important;
    transform: scale(1.1);
}

.table tbody td .btn-group .btn-info {
    color: #0dcaf0 !important;
}

.table tbody td .btn-group .btn-info:hover {
    color: #0bacce !important;
    background-color: rgba(13, 202, 240, 0.1) !important;
    transform: scale(1.1);
}

.table tbody td .btn-group .btn-success {
    color: #20c997 !important;
}

.table tbody td .btn-group .btn-success:hover {
    color: #1aa179 !important;
    background-color: rgba(32, 201, 151, 0.1) !important;
    transform: scale(1.1);
}

.table tbody td .btn-group .btn-primary {
    color: #635bff !important;
}

.table tbody td .btn-group .btn-primary:hover {
    color: #5247ed !important;
    background-color: rgba(99, 91, 255, 0.1) !important;
    transform: scale(1.1);
}

.table tbody td .btn-group .btn-default {
    color: #6c757d !important;
}

.table tbody td .btn-group .btn-default:hover {
    color: #343a40 !important;
    background-color: rgba(108, 117, 125, 0.1) !important;
    transform: scale(1.1);
}

/* =========================================

   CLEAN RECEIPT ROWS (Point of Sale)
   ========================================= */
.receipt-row {
    background: #fff;
    border-bottom: 1px solid #f1f3f5;
    padding: 10px 15px !important;
    margin-bottom: 0 !important;
    align-items: center;
}

.receipt-row:hover {
    background: #fdfdfe;
}

/* On mobile, separate them visually into cards */
@media (max-width: 767px) {
    .receipt-row {
        border: 1px solid #e9ecef !important;
        border-radius: 8px !important;
        margin-bottom: 15px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
        padding: 15px !important;
    }
}

.clean-input {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    font-weight: 500;
    color: #495057;
}

.clean-input[readonly] {
    background: transparent !important;
    cursor: default;
}

.clean-input:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* =========================================
   BUG FIXES: ICONS & LOGO OVERFLOW
   ========================================= */
.sidebar-toggle::before {
    font-family: 'FontAwesome' !important;
}

.main-header .logo {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.main-header .logo img {
    max-height: 48px !important;
    width: auto !important;
    padding: 2px 0 !important;
    margin: 0 auto;
}

/* =========================================
   GLOBAL FOOTER STYLES (MIGRATED FROM footer.php)
   ========================================= */
html,
body {
    height: 100%;
    background-color: #f8f9fa;
    margin: 0;
}

.wrapper {
    background-color: #f8f9fa !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 100vh !important;
}

.content-wrapper {
    flex: 1 0 auto !important;
}

.main-footer {
    flex-shrink: 0 !important;
    height: 60px;
    background: #f4f4f4;
    padding: 20px;
    text-align: center;
    border-top: 1px solid #ddd;
}

/* =========================================
   MODAL MODERNIZATION
   ========================================= */
.modal-content {
    border-radius: 12px;
    border: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

/* Modals with blue backgrounds inline will be forced to modern style */
.modal-header[style*="background:#3c8dbc"],
.modal-header[style*="background: #3c8dbc"] {
    background: #ffffff !important;
    color: #212529 !important;
}

.modal-header {
    background: #ffffff !important;
    color: #212529 !important;
    border-bottom: 1px solid #f1f3f5;
    border-radius: 12px 12px 0 0;
    padding: 20px 25px;
}

.modal-title {
    font-weight: 600;
    font-size: 18px;
}

.modal-header .close {
    color: #495057;
    opacity: 0.6;
    margin-top: -5px;
    font-size: 24px;
    transition: opacity 0.2s;
}

.modal-header .close:hover {
    opacity: 1;
}

.modal-body {
    padding: 25px;
}

.modal-footer {
    border-top: 1px solid #f1f3f5;
    background: #fdfdfe;
    border-radius: 0 0 12px 12px;
    padding: 15px 25px;
}

/* Modal Input Adjustments */
.modal .input-group-addon {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-right: none;
    color: #868e96;
    border-radius: 8px 0 0 8px;
}

.modal .input-group .form-control {
    border: 1px solid #e9ecef;
    border-radius: 0 8px 8px 0;
    box-shadow: none;
    height: 48px;
    color: #495057;
    font-size: 15px;
}

.modal .input-group .form-control:focus {
    border-color: #635bff;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.1);
}

.modal select.form-control.input-lg {
    height: 48px;
    padding-top: 10px;
}

/* Button Refinement in Modals */
.modal-footer .btn-default {
    background-color: #f1f3f5 !important;
    border-color: #e9ecef !important;
    border-radius: 8px;
}

.modal-footer .btn-default:hover {
    background-color: #e9ecef !important;
    color: #212529 !important;
}

.modal-footer .btn-primary {
    border-radius: 8px;
    padding: 8px 24px;
}

/* =========================================================
   GLOBAL PRO TOASTS (Modern & Sleek)
   ========================================================= */
body.swal2-toast-shown {
    overflow-x: hidden !important;
}

.swal2-container.swal2-top-right {
    z-index: 999999 !important;
    overflow: hidden !important;
}

@keyframes slideInRightFidelia {
    from {
        transform: translate3d(120%, 0, 0);
        visibility: visible;
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.swal2-show.toast-fidelia-pro {
    animation: slideInRightFidelia 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

.toast-fidelia-pro {
    background: #ffffff !important;
    border-radius: 4px !important;
    box-shadow: none !important;
    border: 1px solid #d2d6de !important;
    border-top-width: 4px !important;
    border-top-style: solid !important;
    padding: 20px 25px !important;
    min-width: 420px !important;
    max-width: 90vw !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Color Overrides based on type */
.toast-type-success {
    border-top-color: #00a65a !important;
}

.toast-type-error {
    border-top-color: #dd4b39 !important;
}

.toast-type-warning {
    border-top-color: #f39c12 !important;
}

/* Hide internal scrollbars purely via css just in case SWAL forces them */
.toast-fidelia-pro::-webkit-scrollbar {
    width: 0px;
    background: transparent;
    display: none;
}

.toast-fidelia-pro .swal2-title {
    color: #333333 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Refined Icons Scale */
.toast-fidelia-pro .swal2-icon {
    transform: scale(0.9) !important;
    margin: 0 15px 0 0 !important;
}

/* Dark mode tweaks */
.dark-mode .toast-fidelia-pro {
    background: #222d32 !important;
    border-color: #1a2226 !important;
}

.dark-mode .toast-fidelia-pro .swal2-title {
    color: #f8f9fa !important;
}

/* =========================================
   ASISTENTE IA - CHAT SIDEBAR
   ========================================= */
.ai-menu>a {
    transition: all 0.2s ease-in-out;
}

.ai-menu>a:hover {
    background-color: #f1f3f5 !important;
}

/* Base del panel flotante */
.chat-ia-sidebar {
    position: fixed;
    top: 0;
    right: -380px;
    /* Oculto por defecto */
    width: 380px;
    height: 100vh;
    background-color: #ffffff;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
    z-index: 1060;
    /* Por encima del header y el sidebar normal */
    transition: right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
}

/* TransiciÃ³n para abrir el panel */
body.chat-ia-open .chat-ia-sidebar {
    right: 0;
}

/* Fondo oscuro cuando se abre el chat (opcional, para dar enfoque) */
.chat-ia-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1055;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

body.chat-ia-open .chat-ia-overlay {
    opacity: 1;
    visibility: visible;
}

/* Header del Chat */
.chat-ia-header {
    background-color: #171821;
    color: #ffffff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #2a2d3d;
}

.chat-ia-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.chat-ia-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 20px;
    opacity: 0.7;
    transition: opacity 0.2s;
    cursor: pointer;
}

.chat-ia-close:hover {
    opacity: 1;
}

/* Body del Chat */
.chat-ia-body {
    flex: 1;
    padding: 20px;
    background-color: #f8f9fa;
    overflow-y: auto;
}

/* Footer del Chat (Entrada de texto) */
.chat-ia-footer {
    padding: 15px 20px;
    background-color: #ffffff;
    border-top: 1px solid #e9ecef;
    display: flex;
    gap: 10px;
}

.chat-ia-input {
    flex: 1;
    border: 1px solid #ced4da;
    border-radius: 20px;
    padding: 10px 15px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.chat-ia-input:focus {
    border-color: #635bff;
}

.chat-ia-send {
    background-color: #635bff;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.2s;
}

.chat-ia-send:hover {
    background-color: #5247ed;
}

/* Ejemplos de mensajes */
.chat-msg {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.chat-msg.ia-msg {
    align-items: flex-start;
}

.chat-msg.user-msg {
    align-items: flex-end;
}

.chat-bubble {
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.4;
}

.ia-msg .chat-bubble {
    background-color: #ffffff;
    color: #495057;
    border: 1px solid #e9ecef;
    border-bottom-left-radius: 4px;
}

.user-msg .chat-bubble {
    background-color: #635bff;
    color: #ffffff;
    border-bottom-right-radius: 4px;
}

/* Color Overrides based on type */
.toast-type-success {
    border-top-color: #00a65a !important;
}

.toast-type-error {
    border-top-color: #dd4b39 !important;
}

.toast-type-warning {
    border-top-color: #f39c12 !important;
}

/* Hide internal scrollbars purely via css just in case SWAL forces them */
.toast-fidelia-pro::-webkit-scrollbar {
    width: 0px;
    background: transparent;
    display: none;
}

.toast-fidelia-pro .swal2-title {
    color: #333333 !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    margin: 0 !important;
    line-height: 1.5 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* Refined Icons Scale */
.toast-fidelia-pro .swal2-icon {
    transform: scale(0.9) !important;
    margin: 0 15px 0 0 !important;
}

/* Dark mode tweaks */
.dark-mode .toast-fidelia-pro {
    background: #222d32 !important;
    border-color: #1a2226 !important;
}

.dark-mode .toast-fidelia-pro .swal2-title {
    color: #f8f9fa !important;
}

/* =========================================
   ASISTENTE IA - CHAT SIDEBAR
   ========================================= */
.ai-menu>a {
    transition: all 0.2s ease-in-out;
}

.ai-menu>a:hover {
    background-color: #f1f3f5 !important;
}

/* Base del panel flotante */
.chat-ia-sidebar {
    position: fixed;
    top: 0;
    right: -380px;
    /* Oculto por defecto */
    width: 380px;
    height: 100vh;
    background-color: #ffffff;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
    z-index: 1060;
    /* Por encima del header y el sidebar normal */
    transition: right 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
}

/* TransiciÃ³n para abrir el panel */
body.chat-ia-open .chat-ia-sidebar {
    right: 0;
}

/* Fondo oscuro cuando se abre el chat (opcional, para dar enfoque) */
.chat-ia-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1055;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

body.chat-ia-open .chat-ia-overlay {
    opacity: 1;
    visibility: visible;
}

/* Header del Chat */
.chat-ia-header {
    background-color: #171821;
    color: #ffffff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #2a2d3d;
}

.chat-ia-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 10px;
}

.chat-ia-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 20px;
    opacity: 0.7;
    transition: opacity 0.2s;
    cursor: pointer;
}

.chat-ia-close:hover {
    opacity: 1;
}

/* Body del Chat */
.chat-ia-body {
    flex: 1;
    padding: 20px;
    background-color: #f8f9fa;
    overflow-y: auto;
}

/* Footer del Chat (Entrada de texto) */
.chat-ia-footer {
    padding: 15px 20px;
    background-color: #ffffff;
    border-top: 1px solid #e9ecef;
    display: flex;
    gap: 10px;
}

.chat-ia-input {
    flex: 1;
    border: 1px solid #ced4da;
    border-radius: 20px;
    padding: 10px 15px;
    font-size: 14px;
    outline: none;
    transition: border-color 0.2s;
}

.chat-ia-input:focus {
    border-color: #635bff;
}

.chat-ia-send {
    background-color: #635bff;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.2s;
}

.chat-ia-send:hover {
    background-color: #5247ed;
}

/* Ejemplos de mensajes */
.chat-msg {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

.chat-msg.ia-msg {
    align-items: flex-start;
}

.chat-msg.user-msg {
    align-items: flex-end;
}

.chat-bubble {
    max-width: 85%;
    padding: 12px 16px;
    border-radius: 14px;
    font-size: 14px;
    line-height: 1.4;
}

.ia-msg .chat-bubble {
    background-color: #ffffff;
    color: #495057;
    border: 1px solid #e9ecef;
    border-bottom-left-radius: 4px;
}

.user-msg .chat-bubble {
    background-color: #635bff;
    color: #ffffff;
    border-bottom-right-radius: 4px;
}

/* =========================================
   COUNTDOWN DE CUOTA GEMINI
   ========================================= */
.chat-bubble--quota {
    background: #fffbf0 !important;
    border: 1px solid #ffe082 !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
    max-width: 92% !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.quota-icon {
    font-size: 22px;
    line-height: 1;
}

.quota-text {
    font-size: 13px;
    color: #5c4b00;
    line-height: 1.5;
}

.quota-text b {
    color: #3d3200;
}

.quota-desc {
    font-size: 11.5px;
    color: #8a7020;
}

/* CÃ­rculo SVG */
.quota-timer-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    align-self: center;
}

.quota-circle-wrap {
    position: relative;
    width: 64px;
    height: 64px;
}

.quota-svg {
    width: 64px;
    height: 64px;
    transform: rotate(-90deg);
}

.quota-svg-bg {
    fill: none;
    stroke: #ffe082;
    stroke-width: 3.5;
}

.quota-svg-fill {
    fill: none;
    stroke: #f59f00;
    stroke-width: 3.5;
    stroke-linecap: round;
    transition: stroke-dasharray 0.9s linear;
}

.quota-seconds {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 800;
    color: #3d3200;
    line-height: 1;
}

.quota-label {
    font-size: 10px;
    color: #8a7020;
    font-weight: 600;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

/* BotÃ³n reintentar */
.quota-btn {
    width: 100%;
    background: #fff3cd;
    border: 1px solid #ffe082;
    border-radius: 10px;
    color: #8a6d00;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 14px;
    cursor: not-allowed;
    opacity: 0.6;
    transition: all 0.3s ease;
    text-align: center;
}

.quota-btn:not(:disabled) {
    cursor: pointer;
    opacity: 1;
}

.quota-btn--ready {
    background: #635bff !important;
    border-color: #635bff !important;
    color: #ffffff !important;
    animation: quota-pulse 0.6s ease;
}

@keyframes quota-pulse {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.03);
    }

    100% {
        transform: scale(1);
    }
}

/* =========================================
   SIDEBAR MENU SCROLL FIX (UNIVERSAL)
   Asegura que el menú sea independiente y no sea afectado por el scroll de la página.
   ========================================= */
.dropdown-menu,
.select2-results__options,
.acciones-dd-menu {
    overscroll-behavior: contain !important;
}

.main-sidebar {
    height: 100vh !important;
    position: fixed !important;
}

.main-sidebar .sidebar {
    height: calc(100vh - 50px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    padding-bottom: 30px !important;
}

/* Scrollbar personalizado para el menú */
.main-sidebar .sidebar::-webkit-scrollbar {
    width: 5px;
    background: transparent;
}

.main-sidebar .sidebar::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

.main-sidebar .sidebar::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

.skin-blue .main-header .navbar .sidebar-toggle {
    display: none;
}

.dolar-header {
    background-color: #5247edbb;
    color: white;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: all ease .4s;
}

.dolar-header:hover {
    background-color: #5247ed;
    color: white;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid transparent;
    transition: all ease .4s;
}

/* =========================================
   PAGE TRANSITION LOADER (GEAR)
   ========================================= */
.page-loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #f8f9fa;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity 0.4s ease, visibility 0.4s;
    opacity: 1;
    visibility: visible;
}

.page-loader.loader-hidden {
    opacity: 0;
    visibility: hidden;
}

.apple-spinner {
    position: relative;
    width: 44px;
    height: 44px;
}

.apple-spinner i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3.5px;
    height: 11px;
    background-color: #635bff;
    border-radius: 2px;
    margin-top: -5.5px;
    margin-left: -1.75px;
    transform-origin: 50% 50%;
    animation: apple-spinner-fade 1s linear infinite;
    box-shadow: 0 1px 3px rgba(99, 91, 255, 0.4);
}

@keyframes apple-spinner-fade {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0.15;
    }
}

.apple-spinner i:nth-child(1) {
    transform: rotate(0deg) translate(0, -16px);
    animation-delay: -0.916s;
}

.apple-spinner i:nth-child(2) {
    transform: rotate(30deg) translate(0, -16px);
    animation-delay: -0.833s;
}

.apple-spinner i:nth-child(3) {
    transform: rotate(60deg) translate(0, -16px);
    animation-delay: -0.750s;
}

.apple-spinner i:nth-child(4) {
    transform: rotate(90deg) translate(0, -16px);
    animation-delay: -0.666s;
}

.apple-spinner i:nth-child(5) {
    transform: rotate(120deg) translate(0, -16px);
    animation-delay: -0.583s;
}

.apple-spinner i:nth-child(6) {
    transform: rotate(150deg) translate(0, -16px);
    animation-delay: -0.500s;
}

.apple-spinner i:nth-child(7) {
    transform: rotate(180deg) translate(0, -16px);
    animation-delay: -0.416s;
}

.apple-spinner i:nth-child(8) {
    transform: rotate(210deg) translate(0, -16px);
    animation-delay: -0.333s;
}

.apple-spinner i:nth-child(9) {
    transform: rotate(240deg) translate(0, -16px);
    animation-delay: -0.250s;
}

.apple-spinner i:nth-child(10) {
    transform: rotate(270deg) translate(0, -16px);
    animation-delay: -0.166s;
}

.apple-spinner i:nth-child(11) {
    transform: rotate(300deg) translate(0, -16px);
    animation-delay: -0.083s;
}

.apple-spinner i:nth-child(12) {
    transform: rotate(330deg) translate(0, -16px);
    animation-delay: 0s;
}
 / *   = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
       M O D E R N   R E A C T - L I K E   F O R M S   &   S E L E C T 2 
       = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =   * / 
 
 / *   B a s e   f o r m   c o n t r o l s   * / 
 . f o r m - c o n t r o l   { 
         h e i g h t :   4 8 p x   ! i m p o r t a n t ; 
         b o r d e r - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         b o r d e r :   1 p x   s o l i d   # e 9 e c e f   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   # f 8 f 9 f a   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   2 p x   6 p x   r g b a ( 0 , 0 , 0 , 0 . 0 2 )   ! i m p o r t a n t ; 
         p a d d i n g - l e f t :   1 6 p x   ! i m p o r t a n t ; 
         f o n t - s i z e :   1 5 p x   ! i m p o r t a n t ; 
         c o l o r :   # 4 9 5 0 5 7   ! i m p o r t a n t ; 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e   ! i m p o r t a n t ; 
 } 
 
 . f o r m - c o n t r o l : f o c u s   { 
         b o r d e r - c o l o r :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   0   0   3 p x   r g b a ( 9 9 ,   9 1 ,   2 5 5 ,   0 . 1 5 )   ! i m p o r t a n t ; 
 } 
 
 t e x t a r e a . f o r m - c o n t r o l   { 
         m i n - h e i g h t :   1 0 0 p x   ! i m p o r t a n t ; 
         p a d d i n g - t o p :   1 2 p x   ! i m p o r t a n t ; 
 } 
 
 / *   I n p u t   g r o u p   s t y l i n g   * / 
 . i n p u t - g r o u p   . f o r m - c o n t r o l , 
 . i n p u t - g r o u p   . i n p u t - g r o u p - a d d o n , 
 . i n p u t - g r o u p   . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   { 
         b o r d e r - r a d i u s :   0   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p - a d d o n   { 
         b a c k g r o u n d - c o l o r :   # f 8 f 9 f a   ! i m p o r t a n t ; 
         b o r d e r :   1 p x   s o l i d   # e 9 e c e f   ! i m p o r t a n t ; 
         c o l o r :   # 8 b 9 2 a 5   ! i m p o r t a n t ; 
         m i n - w i d t h :   4 8 p x   ! i m p o r t a n t ; 
         d i s p l a y :   t a b l e - c e l l   ! i m p o r t a n t ; 
         v e r t i c a l - a l i g n :   m i d d l e   ! i m p o r t a n t ; 
         p a d d i n g :   0   1 2 p x   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . i n p u t - g r o u p - a d d o n : f i r s t - c h i l d   { 
         b o r d e r - t o p - l e f t - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         b o r d e r - b o t t o m - l e f t - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         b o r d e r - r i g h t :   n o n e   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . f o r m - c o n t r o l : n o t ( : f i r s t - c h i l d ) : n o t ( : l a s t - c h i l d )   { 
         b o r d e r - l e f t :   n o n e   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . i n p u t - g r o u p - a d d o n : l a s t - c h i l d   { 
         b o r d e r - t o p - r i g h t - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         b o r d e r - b o t t o m - r i g h t - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         b o r d e r - l e f t :   n o n e   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   t r a n s p a r e n t   ! i m p o r t a n t ; 
         p a d d i n g :   0   6 p x   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . i n p u t - g r o u p - a d d o n : l a s t - c h i l d   . b t n   { 
         b o r d e r - r a d i u s :   8 p x   ! i m p o r t a n t ; 
         b a c k g r o u n d :   # e e f 0 f f   ! i m p o r t a n t ; 
         c o l o r :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         f o n t - w e i g h t :   6 0 0   ! i m p o r t a n t ; 
         b o r d e r :   n o n e   ! i m p o r t a n t ; 
         p a d d i n g :   8 p x   1 2 p x   ! i m p o r t a n t ; 
         t r a n s i t i o n :   a l l   0 . 2 s   e a s e   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . i n p u t - g r o u p - a d d o n : l a s t - c h i l d   . b t n : h o v e r   { 
         b a c k g r o u n d :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         c o l o r :   # f f f   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   4 p x   1 2 p x   r g b a ( 9 9 ,   9 1 ,   2 5 5 ,   0 . 3 )   ! i m p o r t a n t ; 
 } 
 
 / *   S E L E C T 2   M O D E R N I Z A T I O N   * / 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   { 
         b a c k g r o u n d - c o l o r :   # f 8 f 9 f a   ! i m p o r t a n t ; 
         b o r d e r :   1 p x   s o l i d   # e 9 e c e f   ! i m p o r t a n t ; 
         b o r d e r - r a d i u s :   1 2 p x   ! i m p o r t a n t ; 
         h e i g h t :   4 8 p x   ! i m p o r t a n t ; 
         d i s p l a y :   f l e x   ! i m p o r t a n t ; 
         a l i g n - i t e m s :   c e n t e r   ! i m p o r t a n t ; 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   2 p x   6 p x   r g b a ( 0 , 0 , 0 , 0 . 0 2 )   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t . s e l e c t 2 - c o n t a i n e r - - o p e n   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   { 
         b o r d e r - c o l o r :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   0   0   3 p x   r g b a ( 9 9 ,   9 1 ,   2 5 5 ,   0 . 1 5 )   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   . s e l e c t 2 - s e l e c t i o n _ _ r e n d e r e d   { 
         c o l o r :   # 4 9 5 0 5 7   ! i m p o r t a n t ; 
         f o n t - w e i g h t :   5 0 0   ! i m p o r t a n t ; 
         l i n e - h e i g h t :   n o r m a l   ! i m p o r t a n t ; 
         p a d d i n g - l e f t :   0   ! i m p o r t a n t ;   / *   b e c a u s e   i n p u t - g r o u p   a l r e a d y   h a s   s p a c i n g   * / 
         f o n t - s i z e :   1 5 p x   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   . s e l e c t 2 - s e l e c t i o n _ _ a r r o w   { 
         h e i g h t :   4 6 p x   ! i m p o r t a n t ; 
         r i g h t :   1 2 p x   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   . s e l e c t 2 - s e l e c t i o n _ _ a r r o w   b   { 
         b o r d e r - c o l o r :   # 8 b 9 2 a 5   t r a n s p a r e n t   t r a n s p a r e n t   t r a n s p a r e n t   ! i m p o r t a n t ; 
         b o r d e r - w i d t h :   5 p x   4 p x   0   4 p x   ! i m p o r t a n t ; 
         t r a n s i t i o n :   t r a n s f o r m   0 . 3 s   e a s e   ! i m p o r t a n t ; 
         m a r g i n - t o p :   - 2 p x   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - c o n t a i n e r - - d e f a u l t . s e l e c t 2 - c o n t a i n e r - - o p e n   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   . s e l e c t 2 - s e l e c t i o n _ _ a r r o w   b   { 
         t r a n s f o r m :   r o t a t e ( 1 8 0 d e g )   ! i m p o r t a n t ; 
         b o r d e r - c o l o r :   t r a n s p a r e n t   t r a n s p a r e n t   # 6 3 5 b f f   t r a n s p a r e n t   ! i m p o r t a n t ; 
         b o r d e r - w i d t h :   0   4 p x   5 p x   4 p x   ! i m p o r t a n t ; 
 } 
 
 / *   F i x i n g   b o r d e r   f o r   s e l e c t 2   i n s i d e   i n p u t   g r o u p   * / 
 . i n p u t - g r o u p   . s e l e c t 2 - c o n t a i n e r   { 
         f l e x :   1   1   a u t o ; 
         w i d t h :   1 %   ! i m p o r t a n t ; 
 } 
 
 . i n p u t - g r o u p   . s e l e c t 2 - c o n t a i n e r - - d e f a u l t   . s e l e c t 2 - s e l e c t i o n - - s i n g l e   { 
         b o r d e r - l e f t :   n o n e   ! i m p o r t a n t ; 
         b o r d e r - t o p - r i g h t - r a d i u s :   0   ! i m p o r t a n t ; 
         b o r d e r - b o t t o m - r i g h t - r a d i u s :   0   ! i m p o r t a n t ; 
 } 
 
 / *   T h e   d r o p d o w n   m e n u   * / 
 . s e l e c t 2 - d r o p d o w n   { 
         b o r d e r :   n o n e   ! i m p o r t a n t ; 
         b o r d e r - r a d i u s :   1 6 p x   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   1 2 p x   3 4 p x   r g b a ( 0 ,   0 ,   0 ,   0 . 1 5 )   ! i m p o r t a n t ; 
         o v e r f l o w :   h i d d e n   ! i m p o r t a n t ; 
         m a r g i n - t o p :   8 p x   ! i m p o r t a n t ; 
         b a c k g r o u n d :   # f f f f f f   ! i m p o r t a n t ; 
         z - i n d e x :   1 0 5 1   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - s e a r c h - - d r o p d o w n   { 
         p a d d i n g :   1 4 p x   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   # f c f c f d   ! i m p o r t a n t ; 
         b o r d e r - b o t t o m :   1 p x   s o l i d   # f 1 f 3 f 5   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - s e a r c h - - d r o p d o w n   . s e l e c t 2 - s e a r c h _ _ f i e l d   { 
         b o r d e r :   1 p x   s o l i d   # e 9 e c e f   ! i m p o r t a n t ; 
         b o r d e r - r a d i u s :   8 p x   ! i m p o r t a n t ; 
         p a d d i n g :   1 0 p x   1 4 p x   ! i m p o r t a n t ; 
         f o n t - s i z e :   1 4 p x   ! i m p o r t a n t ; 
         t r a n s i t i o n :   a l l   0 . 3 s   e a s e   ! i m p o r t a n t ; 
         o u t l i n e :   n o n e   ! i m p o r t a n t ; 
         b a c k g r o u n d - c o l o r :   # f f f f f f   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - s e a r c h - - d r o p d o w n   . s e l e c t 2 - s e a r c h _ _ f i e l d : f o c u s   { 
         b o r d e r - c o l o r :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         b o x - s h a d o w :   0   0   0   3 p x   r g b a ( 9 9 ,   9 1 ,   2 5 5 ,   0 . 1 5 )   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - r e s u l t s _ _ o p t i o n s   { 
         p a d d i n g :   8 p x   ! i m p o r t a n t ; 
         m a x - h e i g h t :   2 5 0 p x   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - r e s u l t s _ _ o p t i o n   { 
         p a d d i n g :   1 2 p x   1 6 p x   ! i m p o r t a n t ; 
         b o r d e r - r a d i u s :   8 p x   ! i m p o r t a n t ; 
         m a r g i n - b o t t o m :   2 p x   ! i m p o r t a n t ; 
         f o n t - s i z e :   1 4 p x   ! i m p o r t a n t ; 
         c o l o r :   # 4 9 5 0 5 7   ! i m p o r t a n t ; 
         t r a n s i t i o n :   a l l   0 . 2 s   e a s e   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - r e s u l t s _ _ o p t i o n - - h i g h l i g h t e d [ a r i a - s e l e c t e d ]   { 
         b a c k g r o u n d - c o l o r :   # f 1 f 3 f 5   ! i m p o r t a n t ; 
         c o l o r :   # 2 1 2 5 2 9   ! i m p o r t a n t ; 
         f o n t - w e i g h t :   5 0 0   ! i m p o r t a n t ; 
 } 
 
 . s e l e c t 2 - r e s u l t s _ _ o p t i o n [ a r i a - s e l e c t e d = \ 
 
 t r u e \ ]   { 
         b a c k g r o u n d - c o l o r :   r g b a ( 9 9 ,   9 1 ,   2 5 5 ,   0 . 1 )   ! i m p o r t a n t ; 
         c o l o r :   # 6 3 5 b f f   ! i m p o r t a n t ; 
         f o n t - w e i g h t :   6 0 0   ! i m p o r t a n t ; 
 } 
 
 
 
/* =========================================
   MODAL MODERNIZATION
   ========================================= */
.modal-content {
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2) !important;
    overflow: hidden;
    background-color: #ffffff !important;
}

.modal-header {
    background-color: #f8f9fa !important;
    border-bottom: 1px solid #e9ecef !important;
    padding: 20px 24px !important;
}

.modal-header .modal-title {
    font-weight: 700 !important;
    color: #171821 !important;
    font-size: 20px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
}

.modal-header .close {
    margin-top: -5px !important;
    color: #8b92a5 !important;
    opacity: 0.7;
    transition: all 0.2s;
    font-size: 28px !important;
    padding: 0 !important;
}

.modal-header .close:hover {
    opacity: 1;
    color: #ff4757 !important;
}

.modal-body {
    padding: 24px !important;
    background-color: #ffffff !important;
}

.modal-footer {
    background-color: #f8f9fa !important;
    border-top: 1px solid #e9ecef !important;
    padding: 16px 24px !important;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

/* Remove margin from buttons in footer for gap to work */
.modal-footer .btn {
    margin: 0 !important;
    border-radius: 8px !important;
    padding: 8px 20px !important;
    font-weight: 600 !important;
}

.modal-body .form-group {
    margin-bottom: 20px;
}

.modal-body label {
    font-weight: 600 !important;
    color: #495057 !important;
    margin-bottom: 8px !important;
    font-size: 14px;
}

.modal-body .form-control {
    border-radius: 8px !important;
    border: 1px solid #ced4da !important;
    padding: 10px 14px !important;
    height: auto !important;
    box-shadow: none !important;
    transition: border-color 0.2s, box-shadow 0.2s;
    background-color: #f8f9fa !important;
    color: #212529 !important;
}

.modal-body .form-control:focus {
    border-color: #635bff !important;
    box-shadow: 0 0 0 3px rgba(99, 91, 255, 0.15) !important;
    background-color: #ffffff !important;
}

.modal-body select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="%23495057" viewBox="0 0 16 16"%3E%3Cpath d="M7.247 11.14L2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 36px !important;
}

.modal-backdrop {
    background-color: rgba(23, 24, 33, 0.85) !important;
}
.modal-backdrop.in {
    opacity: 1 !important;
    backdrop-filter: blur(4px);
}

@media (max-width: 991px) {
  .content-header > .breadcrumb {
    position: relative;
    margin-top: 5px;
    top: 0;
    right: 0;
    float: none;
    background: #eff0f100;
    padding-left: 10px;
  }
  .content-header > .breadcrumb li:before {
    color: #97a0b3;
  }
}
