/* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification\
for details on configuring this project to bundle and minify static web assets. */

/* ── Fix: impede scrollbar horizontal no documento e elimina tremido de layout ── */
html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
    max-width: 100%;
    padding-bottom: 20px;
}

/* Restringe transition:all no page-wrapper — "all" anima width/height e causa tremido
   quando scrollbar aparece/some; mantém só margin-left p/ animação da sidebar */
.pace-done #page-wrapper,
.pace-done .footer {
    -webkit-transition: margin-left 0.4s !important;
    -moz-transition: margin-left 0.4s !important;
    -o-transition: margin-left 0.4s !important;
    transition: margin-left 0.4s !important;
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {

    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

/* Hide custom sections when minified */
body.mini-navbar .nav-section-label {
    display: none !important;
}

/* Custom Sidebar Styles (Inspinia Classic/MD) - Solo para Desktop */
@media (min-width: 769px) {
    .navbar-default.navbar-static-side {
        background-color: #2f4050 !important;
        height: 100vh !important;
        position: fixed !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        z-index: 2001 !important;
    }

    body:not(.mini-navbar) .navbar-default.navbar-static-side {
        width: 220px !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    body.mini-navbar .navbar-default.navbar-static-side {
        width: 70px !important;
        overflow: visible !important;
    }

    body.mini-navbar #side-menu .nav-second-level {
        background-color: #2f4050 !important;
        min-width: 250px !important;
        padding: 5px 0 !important;
        box-shadow: 3px 3px 8px rgba(0,0,0,0.3) !important;
    }

    #wrapper {
        background-color: #2f4050 !important;
        min-height: 100vh !important;
    }

    body:not(.mini-navbar) #page-wrapper {
        margin-left: 220px !important;
    }

    body.mini-navbar #page-wrapper {
        margin-left: 70px !important;
    }

    #page-wrapper {
        min-height: 100vh !important;
        background-color: #f3f3f4 !important;
    }
}



.nav-header {
    background: url('../css/patterns/header-profile-skin-2.png') no-repeat !important;
    /* Skin-2 is standard gray/ultra pattern */
    background-size: cover !important;
    padding: 25px 25px !important;
}

.nav-header .profile-element {
    text-align: left !important;
}

.profile-element .font-bold {
    color: #ffffff !important;
    display: block !important;
    margin-top: 5px !important;
    font-size: 16px !important;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    /* Added slight shadow for depth */
}

.profile-element .text-muted {
    color: #a7b1c2 !important;
    font-size: 13px !important;
}

/* Fix for section labels visibility */
li.nav-section-label {
    padding: 15px 20px 5px 25px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    /* Pure white */
    display: block !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    opacity: 1 !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    /* Subtle background for contrast */
}

#side-menu li.active>a {
    background-color: #293846 !important;
    color: #fff !important;
}

#side-menu li a {
    color: #a7b1c2 !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    /* Smooth transition */
}

#side-menu li a:hover {
    background-color: #293846 !important;
    color: #fff !important;
    padding-left: 30px !important;
    /* Interactive shift effect */
    text-shadow: 0px 0px 5px rgba(255, 255, 255, 0.2) !important;
}

.logo-element {
    color: #fff !important;
    background-color: transparent !important;
    font-weight: 700 !important;
}

/* ====================================================
   Mobile Layout Optimizations (Dispositivos Móveis)
   ==================================================== */
@media screen and (max-width: 768px) {
    /* ==== CORREÇÃO DO MENU LATERAL (SIDEBAR) MOBILE ==== */

    /* Esconde totalmente a barra lateral no celular por padrão e posiciona fixed */
    .navbar-static-side {
        display: none !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: 220px !important;
        background-color: #2F4050 !important;
        z-index: 99999 !important;
        box-shadow: 2px 0px 10px rgba(0, 0, 0, 0.5);
        overflow-y: auto !important;
    }

    /* Quando ativado pelo ícone hambúrguer (body ganha classe mini-navbar) */
    body.mini-navbar .navbar-static-side {
        display: block !important;
    }

    /* Como nossa gaveta tem tamanho completo (220px), NÃO mostramos a mini-logo 
       e forçamos a exibição do bloco completo de Perfil (Bem vindo / Nome) */
    body.mini-navbar .logo-element {
        display: none !important;
    }

    body.mini-navbar .profile-element,
    body.mini-navbar .nav-header {
        display: block !important;
    }

    /* Força os textos do menu a aparecerem (mantendo a quebra de linha no cabeçalho) */
    body.mini-navbar .nav-label {
        display: inline !important;
    }

    body.mini-navbar .navbar-static-side li a span.block {
        display: block !important;
    }

    /* ---- CORREÇÃO DOS SUBMENUS NO CELULAR ----
       Impede que os subitens (nav-second-level) flutuem para a direita fora da tela
       no modo mini-navbar, forçando-os a funcionar como acordeão (dropdown vertical) normal. */
    body.mini-navbar .navbar-static-side .nav>li>.nav-second-level {
        position: relative !important;
        min-width: 100% !important;
        border-radius: 0 !important;
        left: 0 !important;
        top: 0 !important;
    }

    /* Esconde os submenus fechados e ignora o block forçado do mini-navbar theme */
    body.mini-navbar .navbar-static-side .nav>li>.nav-second-level.collapse {
        display: none !important;
    }

    body.mini-navbar .navbar-static-side .nav>li>.nav-second-level.collapse.in {
        display: block !important;
    }

    /* Remove a margem lateral do corpo já que o menu agora é gaveta (overlay) */
    #page-wrapper {
        margin-left: 0 !important;
        padding: 0 10px !important;
    }

    /* Garante que o botão hamburguer e o menu do topo fiquem visíveis e bem formatados */
    .navbar-header {
        width: 100% !important;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-top: 10px;
    }

    .navbar-top-links {
        display: flex;
        flex-direction: row;
        width: 100%;
        justify-content: flex-end;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Garante que TODAS as tabelas permitam rolagem horizontal perfeita sem quebrar texto */
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        /* Suaviza rolagem em iOS */
    }

    .table {
        white-space: nowrap !important;
        /* Impede que colunas fiquem espremidas */
        font-size: 13px;
        /* Reduz levemente a fonte para caber mais info */
    }

    /* Reduz paddings dos cards (ibox) para economizar espaço de tela útil no celular */
    .ibox-content {
        padding: 15px 10px !important;
    }

    .ibox-title {
        padding: 10px 15px 7px !important;
    }

    .ibox-title h5 {
        font-size: 13px !important;
    }

    h1.no-margins {
        font-size: 26px !important;
    }

    /* Botões nas tabelas (aumenta área de toque sem quebrar) */
    .table td .btn {
        margin-bottom: 5px;
        display: inline-block;
    }

    /* Formulários "Inline" enfileirados viram colunas no celular */
    form.form-inline {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    form.form-inline .form-group,
    form.form-inline .input-group,
    form.form-inline input.form-control {
        width: 100% !important;
        margin-bottom: 5px;
    }

    form.form-inline .btn {
        width: 100%;
        margin-left: 0 !important;
        margin-top: 5px;
    }

    /* ---- CORREÇÃO DO BOTÃO HAMBÚRGUER ESCONDIDO ----
       Quando a gaveta abrir (mini-navbar), posicionamos o botão fixamente e acima,
       deslocando-o 235px para a direita, assim ele fica fora da área engolida pela barra */
    body.mini-navbar .navbar-minimalize {
        position: fixed !important;
        left: 235px !important;
        top: 15px !important;
        z-index: 100000 !important;
        box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.3);
        border-radius: 4px;
    }
}

/* ====================================================
   Premium Design Tokens (Globais)
   ==================================================== */

/* Ibox Premium */
.premium-ibox {
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    border: none !important;
    margin-bottom: 25px;
    transition: all 0.3s ease;
}

.premium-ibox > .ibox-title {
    border-radius: 12px 12px 0 0 !important;
    border-bottom: none !important;
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    padding: 15px 20px !important;
}

.premium-ibox > .ibox-title h5,
.premium-ibox > .ibox-title h4,
.premium-ibox > .ibox-title h3 {
    color: #fff !important;
    font-weight: 700 !important;
}

.premium-ibox > .ibox-title h5 i,
.premium-ibox > .ibox-title h4 i,
.premium-ibox > .ibox-title h3 i {
    color: rgba(255,255,255,0.90) !important;
}

.premium-ibox > .ibox-title .ibox-tools .label,
.premium-ibox > .ibox-title .ibox-tools .badge {
    background: rgba(255,255,255,0.20) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.30) !important;
}

.premium-ibox > .ibox-title .ibox-tools a,
.premium-ibox > .ibox-title .ibox-tools i {
    color: rgba(255,255,255,0.80) !important;
}

.premium-ibox > .ibox-title .ibox-tools a:hover {
    color: #fff !important;
}

.premium-ibox > .ibox-content {
    border-radius: 0 0 12px 12px !important;
    padding: 20px !important;
}

/* ── Cabeçalhos de tabela dentro de premium-ibox ── */
.premium-ibox .table thead th {
    background-color: #1c84c6 !important;
    color: #fff !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-color: rgba(255,255,255,.15) !important;
    padding: 9px 10px !important;
    vertical-align: middle !important;
}

/* Tabelas com efeito flutuante */
.table-hover-custom tbody tr {
    transition: all 0.2s ease-in-out !important;
}

.table-hover-custom tbody tr:hover {
    background-color: #ffffff !important;
    transform: scale(1.005) translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1) !important;
    z-index: 5;
    position: relative;
    cursor: pointer;
}

.premium-table thead th {
    background-color: #f8f9fa !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.8px !important;
    color: #676a6c !important;
    border-bottom: 2px solid #e7eaec !important;
    padding: 12px 15px !important;
    vertical-align: middle !important;
}

/* Campos de formulário com ícones */
.premium-input-group {
    display: flex;
    width: 100%;
}

.premium-input-group .input-group-addon {
    background-color: #ffffff !important;
    border-color: #eef1f5 !important;
    color: #1a7bb9 !important;
    min-width: 45px;
    border-right: none !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e6e7;
    border-radius: 4px 0 0 4px;
}

.premium-input-group .form-control {
    border-left: none !important;
    height: 42px !important;
    font-size: 14px !important;
}

.premium-input-group .form-control:focus {
    border-color: #eef1f5 !important;
    box-shadow: none !important;
}

/* ══ BLOCO PREMIUM — remover se quiser reverter ══ */
/* Padronização global dos botões de calendário/input-group-addon em todo o sistema */

/* Base: visual premium em TODOS os input-group-addon */
.input-group-addon {
    background-color: #ffffff;
    color: #1a7bb9;
    border: 1px solid #e5e6e7;
    min-width: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0;
    line-height: 1;
}

/* Addon à ESQUERDA (prepend) — cantos arredondados esquerda, sem borda direita */
.input-group-prepend .input-group-addon,
.input-group > .input-group-addon:first-child {
    border-right: none;
    border-radius: 4px 0 0 4px;
}

/* Addon à DIREITA (append) — cantos arredondados direita, sem borda esquerda */
.input-group-append .input-group-addon,
.input-group > .input-group-addon:last-child:not(:first-child) {
    border-left: none;
    border-radius: 0 4px 4px 0;
}
/* ══════════════════════════════════════════════════ */

/* Padronização do input[type=month] na tela Resultados por Vendedor */
#input-mes-ano,
input[type="month"].form-control {
    height: 34px;
    border: 1px solid #e5e6e7 !important;
    border-radius: 4px !important;
    color: #555;
    font-size: 14px;
    padding: 6px 10px;
    background-color: #ffffff;
}
#input-mes-ano:focus,
input[type="month"].form-control:focus {
    border-color: #1c84c6 !important;
    box-shadow: 0 0 0 2px rgba(28,132,198,0.15) !important;
    outline: none;
}

/* Estilo para campos automáticos/bloqueados */
.automated-field {
    background-color: #f8f9fa !important;
    color: #495057 !important;
    font-weight: 600 !important;
    cursor: not-allowed !important;
}

/* ====================================================
   Global Premium Theme — aplicado em todas as telas
   ==================================================== */

/* ── Barra de filtros ── */
.wrapper-content > form.form-inline {
    background: #fff;
    border-radius: 8px;
    padding: 14px 18px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 6px rgba(0,0,0,.07);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

/* ── Alert-info → card premium (cabeçalho navy→teal) ── */
.alert.alert-info.border-info.shadow-sm {
    background: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
    overflow: hidden;
}
.alert.alert-info.border-info.shadow-sm h4.alert-heading {
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}
.alert.alert-info.border-info.shadow-sm h4.alert-heading i {
    color: rgba(255,255,255,.85) !important;
}
.alert.alert-info.border-info.shadow-sm .table-responsive {
    padding: 14px 14px 0 !important;
}
.alert.alert-info.border-info.shadow-sm .d-flex.justify-content-between {
    padding: 10px 14px 12px !important;
}

/* ── Alert-danger → card premium (cabeçalho vermelho escuro) ── */
.alert.alert-danger.border-danger.shadow-sm {
    background: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 0 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
    overflow: hidden;
}
.alert.alert-danger.border-danger.shadow-sm h4.alert-heading {
    background: linear-gradient(135deg, #7b1818 0%, #dc3545 100%) !important;
    color: #fff !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    border-bottom: none !important;
}
.alert.alert-danger.border-danger.shadow-sm h4.alert-heading i {
    color: rgba(255,255,255,.85) !important;
}
.alert.alert-danger.border-danger.shadow-sm .table-responsive {
    padding: 14px 14px 0 !important;
}
.alert.alert-danger.border-danger.shadow-sm .d-flex.justify-content-between {
    padding: 10px 14px 12px !important;
}

/* ── ibox com shadow → cabeçalho premium ── */
.ibox.shadow-sm {
    border-radius: 10px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
}
.ibox.shadow-sm > .ibox-title {
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    border-radius: 10px 10px 0 0 !important;
    border-bottom: none !important;
}
.ibox.shadow-sm > .ibox-title h5 {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
.ibox.shadow-sm > .ibox-title h3 {
    color: #fff !important;
}
.ibox.shadow-sm > .ibox-title h3 i {
    color: rgba(255,255,255,0.90) !important;
}
.ibox.shadow-sm > .ibox-title h4 {
    color: #fff !important;
}
.ibox.shadow-sm > .ibox-title h4 i {
    color: rgba(255,255,255,0.90) !important;
}

/* ── Cabeçalhos de tabela thead-light → azul ── */
thead.thead-light th {
    background-color: #1c84c6 !important;
    color: #fff !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-color: rgba(255,255,255,.15) !important;
    padding: 9px 10px !important;
    vertical-align: middle !important;
}

/* ── Badges de Vendedor ── */
span.badge.badge-primary {
    background: linear-gradient(135deg, #1565c0, #1c84c6) !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
span.badge.badge-info {
    background: linear-gradient(135deg, #006064, #00838f) !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* ── Badges de Status ── */
span.badge.badge-warning {
    background: linear-gradient(135deg, #e65100, #f39c12) !important;
    color: #fff !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}
span.badge.badge-danger {
    background: linear-gradient(135deg, #b71c1c, #e53935) !important;
    border-radius: 20px !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* ── Badge de Período / Neutro ── */
span.badge.badge-secondary {
    background: #e3f2fd !important;
    color: #1565c0 !important;
    border: 1px solid #90caf9 !important;
    border-radius: 20px !important;
    padding: 3px 9px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* ════════════════════════════════════════════════════════════
   IBOX SIMPLES (sem premium-ibox nem shadow-sm) → premium look
   Cobre: Dependentes, Status, Geds, Periodos, Empresas, Cargos
   ════════════════════════════════════════════════════════════ */
.ibox:not(.premium-ibox):not(.shadow-sm) {
    border-radius: 10px !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.10) !important;
    overflow: visible !important;
}
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title {
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    border-bottom: none !important;
    border-radius: 10px 10px 0 0 !important;
    padding: 14px 20px !important;
}
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h5,
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h4,
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h3 {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h5 i,
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h4 i,
.ibox:not(.premium-ibox):not(.shadow-sm) > .ibox-title h3 i {
    color: rgba(255,255,255,.85) !important;
}
/* Cabeçalhos de tabela dentro de ibox simples */
.ibox:not(.premium-ibox):not(.shadow-sm) .table thead th {
    background-color: #1c84c6 !important;
    color: #fff !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-color: rgba(255,255,255,.15) !important;
    padding: 9px 10px !important;
    vertical-align: middle !important;
}

/* ── Cabeçalhos de tabela dentro de premium-ibox (table-hover-custom) ──
   Cobre: PlanosFixo, PlanosInternet, PlanosMoveis, PlanosTv, Seguros, ServicosMoveis
   ════════════════════════════════════════════════════════════ */
.premium-ibox .table-hover-custom thead th {
    background-color: #1c84c6 !important;
    color: #fff !important;
    font-size: 11px !important;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-color: rgba(255,255,255,.15) !important;
    padding: 9px 10px !important;
    vertical-align: middle !important;
}
.premium-ibox .table-hover-custom thead th a {
    color: #fff !important;
    text-decoration: none !important;
}
.premium-ibox .table-hover-custom thead th a:hover {
    color: rgba(255,255,255,.80) !important;
}

/* ── Paginação ── */
.page-item.active .page-link {
    background-color: #1c84c6 !important;
    border-color: #1c84c6 !important;
    color: #fff !important;
}
.page-link {
    color: #1c84c6 !important;
}

/* ════════════════════════════════════════════════════════════
   MODAIS PREMIUM (Bootstrap)
   ════════════════════════════════════════════════════════════ */
.modal-content {
    border: none !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.22) !important;
    overflow: hidden !important;
}
.modal-header {
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    border-bottom: none !important;
    padding: 14px 20px !important;
    border-radius: 0 !important;
}
.modal-title {
    color: #fff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
}
.modal-title i {
    color: rgba(255,255,255,.85) !important;
    margin-right: 6px;
}
.modal-header .close {
    color: #fff !important;
    opacity: .75 !important;
    text-shadow: none !important;
    font-size: 20px !important;
}
.modal-header .close:hover {
    opacity: 1 !important;
}
.modal-body {
    padding: 20px !important;
    background: #fff;
}
.modal-footer {
    background: #f4f6f9 !important;
    border-top: 1px solid #e7eaec !important;
    padding: 12px 20px !important;
    border-radius: 0 !important;
}

/* ════════════════════════════════════════════════════════════
   SWEETALERT PREMIUM
   ════════════════════════════════════════════════════════════ */
.sweet-alert {
    border-radius: 12px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.22) !important;
}
.sweet-alert h2 {
    background: linear-gradient(135deg, #1a334d 0%, #1c84c6 100%) !important;
    color: #fff !important;
    padding: 14px 20px !important;
    margin: 0 0 0 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-radius: 0 !important;
}
.sweet-alert p {
    color: #333 !important;
    padding: 16px 20px 4px !important;
    font-size: 14px !important;
}
.sweet-alert .sa-icon {
    margin: 16px auto 0 !important;
}
.sweet-alert .sa-button-container {
    padding: 12px 20px 16px !important;
}
.sweet-alert button.confirm {
    background-color: #1c84c6 !important;
    border-radius: 6px !important;
    padding: 8px 24px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.sweet-alert button.confirm:hover {
    background-color: #1a7ab8 !important;
}
.sweet-alert button.cancel {
    background-color: #dc3545 !important;
    border-radius: 6px !important;
    padding: 8px 24px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.sweet-alert button.cancel:hover {
    background-color: #c82333 !important;
}

/* ════════════════════════════════════════════════════════════
   TOASTR PREMIUM
   ════════════════════════════════════════════════════════════ */
#toast-container > div {
    border-radius: 8px !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.18) !important;
    padding: 12px 16px 12px 50px !important;
    opacity: 1 !important;
    font-size: 13px !important;
}
#toast-container > .toast-success {
    background-color: #1ab394 !important;
}
#toast-container > .toast-error {
    background-color: #dc3545 !important;
}
#toast-container > .toast-warning {
    background-color: #f39c12 !important;
}
#toast-container > .toast-info {
    background-color: #1c84c6 !important;
}