/* FACILITAXX DESIGN SYSTEM v2.0 — Blue Corporate Theme */
:root{--fx-primary-900:#0B1426;--fx-primary-800:#0F1D32;--fx-primary-700:#162544;--fx-primary-600:#1E3A5F;--fx-primary-500:#2563EB;--fx-primary-400:#3B82F6;--fx-primary-300:#60A5FA;--fx-primary-200:#93C5FD;--fx-primary-100:#DBEAFE;--fx-primary-50:#EFF6FF;--fx-slate-50:#F8FAFC;--fx-slate-100:#F1F5F9;--fx-slate-200:#E2E8F0;--fx-slate-300:#CBD5E1;--fx-slate-400:#94A3B8;--fx-slate-500:#64748B;--fx-slate-600:#475569;--fx-slate-700:#334155;--fx-white:#FFFFFF;--fx-success:#10B981;--fx-success-light:#ECFDF5;--fx-danger:#F43F5E;--fx-danger-light:#FFF1F2;--fx-warning:#F59E0B;--fx-warning-light:#FFFBEB;--fx-info:#06B6D4;--fx-info-light:#ECFEFF;--fx-font-display:'Outfit',-apple-system,sans-serif;--fx-font-body:'DM Sans',-apple-system,sans-serif;--fx-radius-sm:8px;--fx-radius-md:12px;--fx-radius-lg:16px}
html,body{font-family:var(--fx-font-body)!important;-webkit-font-smoothing:antialiased}
body{background-color:var(--fx-slate-50)!important;color:var(--fx-primary-900)}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--fx-font-display)!important;font-weight:600}
.main-flex-container>.flex-grow-1{background:var(--fx-slate-50)}
#sidebar{background:var(--fx-primary-900)!important;border-right:1px solid rgba(255,255,255,.04);transition:width .3s cubic-bezier(.4,0,.2,1)}
#sidebar h5{font-family:var(--fx-font-display)!important;font-weight:700;letter-spacing:-.5px}
#sidebar hr{border-color:rgba(255,255,255,.06)!important}
#sidebar .nav-link{border-radius:var(--fx-radius-sm);margin-bottom:2px;transition:all .2s;font-size:.85rem;font-weight:500;color:var(--fx-slate-300)!important}
#sidebar .nav-link:hover{background:rgba(255,255,255,.06)!important;color:var(--fx-white)!important}
#sidebar .nav-link.active{background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(37,99,235,.08))!important;color:var(--fx-primary-300)!important;position:relative}
#sidebar .nav-link.active::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:3px;background:var(--fx-primary-400);border-radius:3px}
.nav.flex-column .nav-item .collapse .nav-link.active{background-color:rgba(37,99,235,.12)!important;color:var(--fx-primary-300)!important;border-radius:var(--fx-radius-sm)}
#btnToggleSidebar{background:rgba(255,255,255,.06)!important;border-color:transparent!important;color:var(--fx-slate-400)!important;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s}
#btnToggleSidebar:hover{background:rgba(255,255,255,.1)!important;color:var(--fx-white)!important}
#seletor-contexto-dropdown .btn-outline-warning{background:rgba(245,158,11,.1)!important;border-color:rgba(245,158,11,.2)!important;border-radius:var(--fx-radius-sm);font-weight:600;font-size:.8rem}
#sidebar .badge{font-weight:700;border-radius:10px}
.nav-tabs{border-bottom:none!important;background:var(--fx-slate-100);border-radius:var(--fx-radius-sm);padding:4px;width:fit-content;gap:2px}
.nav-tabs .nav-item{margin-bottom:0}
.nav-tabs .nav-link{border:none!important;border-radius:6px!important;padding:7px 16px!important;font-family:var(--fx-font-display)!important;font-size:.8rem!important;font-weight:600!important;color:var(--fx-slate-500)!important;background:transparent!important;text-transform:none!important;text-shadow:none!important;transition:all .25s;white-space:nowrap}
.nav-tabs .nav-link:hover{color:var(--fx-primary-800)!important;background:rgba(255,255,255,.5)!important}
ul.nav-tabs>li>.nav-link.active,.nav-tabs .nav-link.active{background:var(--fx-white)!important;color:var(--fx-primary-500)!important;box-shadow:0 1px 4px rgba(0,0,0,.06)!important;font-weight:700!important;text-transform:none!important;border-color:transparent!important;text-shadow:none!important}
.nav-pills .nav-link{border-radius:6px!important;font-family:var(--fx-font-display)!important;font-size:.8rem!important;font-weight:600!important;transition:all .25s}
.nav-pills .nav-link.active{background:var(--fx-primary-500)!important;color:var(--fx-white)!important}
.card{border:1px solid var(--fx-slate-200)!important;border-radius:var(--fx-radius-md)!important;transition:all .25s;overflow:hidden}
.card.shadow,.card.shadow-sm{box-shadow:0 1px 3px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.02)!important}
.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.06)!important}
a.card:hover,a .card:hover,.text-decoration-none .card:hover,a.text-decoration-none:hover>.card{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)!important}
.card-header{background:var(--fx-white)!important;border-bottom:1px solid var(--fx-slate-100)!important}
.card-header h5,.card-header h6{font-family:var(--fx-font-display)!important;text-shadow:none!important}
.card-footer{background:var(--fx-white)!important;border-top:1px solid var(--fx-slate-100)!important}
.border-left-primary{border-left:4px solid var(--fx-primary-500)!important}
.border-left-success{border-left:4px solid var(--fx-success)!important}
.border-left-info{border-left:4px solid var(--fx-info)!important}
.border-left-warning{border-left:4px solid var(--fx-warning)!important}
.border-left-danger{border-left:4px solid var(--fx-danger)!important}
.border-left-dark{border-left:4px solid var(--fx-slate-700)!important}
.btn{font-family:var(--fx-font-body);border-radius:var(--fx-radius-sm);font-weight:500;transition:all .2s}
.btn-primary{background:linear-gradient(135deg,var(--fx-primary-500),var(--fx-primary-400))!important;border-color:var(--fx-primary-500)!important;box-shadow:0 2px 8px rgba(37,99,235,.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(37,99,235,.35)!important}
.btn-outline-primary{color:var(--fx-primary-500)!important;border-color:var(--fx-primary-500)!important}
.btn-outline-primary:hover{background:var(--fx-primary-50)!important}
.btn-outline-secondary{color:var(--fx-slate-500)!important;border-color:var(--fx-slate-300)!important}
.btn-outline-secondary:hover{background:var(--fx-slate-100)!important;color:var(--fx-slate-700)!important}
.btn-outline-danger{color:var(--fx-danger)!important;border-color:var(--fx-danger)!important}
.btn-outline-danger:hover{background:var(--fx-danger-light)!important}
.btn-info{background:var(--fx-primary-500)!important;border-color:var(--fx-primary-500)!important;color:var(--fx-white)!important}
.btn-info:hover{background:var(--fx-primary-400)!important}
.btn-danger{background:var(--fx-danger)!important;border-color:var(--fx-danger)!important}
.btn-success{background:var(--fx-success)!important;border-color:var(--fx-success)!important}
.form-control,.form-select{font-family:var(--fx-font-body);border-radius:6px;border:1px solid var(--fx-slate-200);transition:all .2s;color:var(--fx-primary-900)}
.form-control:focus,.form-select:focus{border-color:var(--fx-primary-500)!important;box-shadow:0 0 0 3px rgba(37,99,235,.1)!important}
.form-control::placeholder{color:var(--fx-slate-400)}
.input-group .input-group-text{background:var(--fx-slate-50)!important;border-color:var(--fx-slate-200)!important}
.select2-container--bootstrap-5 .select2-selection{border-radius:6px!important;border-color:var(--fx-slate-200)!important}
.select2-container--bootstrap-5.select2-container--focus .select2-selection,.select2-container--bootstrap-5.select2-container--open .select2-selection{border-color:var(--fx-primary-500)!important;box-shadow:0 0 0 3px rgba(37,99,235,.1)!important}
.list-group-item{border-color:var(--fx-slate-100)!important;transition:background-color .15s}
.list-group-item:hover,.list-group-item-action:hover{background:var(--fx-slate-50)!important}
.clickable-item{border-radius:var(--fx-radius-sm)!important;border:1px solid var(--fx-slate-200)!important;margin-bottom:6px!important;transition:all .2s;background:var(--fx-slate-50)}
.clickable-item:hover{background:var(--fx-white)!important;box-shadow:0 4px 12px rgba(0,0,0,.06);transform:translateY(-1px);border-color:var(--fx-slate-300)!important}
.alert{border-radius:var(--fx-radius-sm)!important;font-family:var(--fx-font-body)}
.alert-success{background:var(--fx-success-light)!important;border-color:rgba(16,185,129,.2)!important;color:#065F46!important}
.alert-danger{background:var(--fx-danger-light)!important;border-color:rgba(244,63,94,.2)!important;color:#9F1239!important}
.alert-warning{background:var(--fx-warning-light)!important;border-color:rgba(245,158,11,.2)!important;color:#92400E!important}
.alert-info,.alert-primary{background:var(--fx-primary-50)!important;border-color:rgba(37,99,235,.15)!important;color:#1E40AF!important}
.badge{font-weight:600;letter-spacing:.3px;border-radius:6px}
.badge.bg-success{background:var(--fx-success)!important}.badge.bg-danger{background:var(--fx-danger)!important}.badge.bg-warning{background:var(--fx-warning)!important}.badge.bg-primary{background:var(--fx-primary-500)!important}.badge.bg-info{background:var(--fx-info)!important}
.text-primary{color:var(--fx-primary-500)!important}.text-gray-800{color:var(--fx-primary-900)!important}.text-gray-300{color:var(--fx-slate-300)!important}
.text-xs{font-family:var(--fx-font-display)!important;font-weight:700!important;letter-spacing:.5px}
.pagination .page-link{border-radius:6px!important;border:1px solid var(--fx-slate-200);color:var(--fx-slate-600);font-weight:600;margin:0 2px;transition:all .2s}
.pagination .page-item.active .page-link{background:var(--fx-primary-500)!important;border-color:var(--fx-primary-500)!important;color:var(--fx-white)!important}
.dropdown-menu{border-radius:var(--fx-radius-md)!important;border:1px solid var(--fx-slate-200)!important;box-shadow:0 10px 25px rgba(0,0,0,.1)!important;padding:6px}
.dropdown-menu-dark{background:var(--fx-primary-800)!important;border-color:rgba(255,255,255,.06)!important}
.dropdown-item{border-radius:6px;transition:background-color .15s;font-size:.85rem}
.modal-content{border-radius:var(--fx-radius-lg)!important;border:none!important;box-shadow:0 25px 60px rgba(0,0,0,.2)!important}
.modal-header{border-bottom:1px solid var(--fx-slate-100)!important}.modal-header .modal-title{font-family:var(--fx-font-display)!important;font-weight:600}
.modal-footer{border-top:1px solid var(--fx-slate-100)!important}
.tooltip-inner{font-family:var(--fx-font-body);border-radius:6px;font-size:.78rem}
.blinking-text{animation:fx-blink 1.5s ease-in-out infinite}.blink-retificar{animation:fx-blink 1.5s ease-in-out infinite}
@keyframes fx-blink{0%,100%{opacity:1}50%{opacity:.35}}
.fx-loading-text{color:var(--fx-primary-500)!important;font-family:var(--fx-font-display)!important}
#btnVoltarTopo{background-color:rgba(37,99,235,.5)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:var(--fx-radius-sm)!important}
#btnVoltarTopo:hover{background-color:rgba(37,99,235,.9)!important}
::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--fx-slate-300);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--fx-slate-400)}
*{scrollbar-width:thin;scrollbar-color:var(--fx-slate-300) transparent}
@media print{#sidebar,#btnVoltarTopo,.fx-loading-overlay{display:none!important}body{background:#fff!important}.card{box-shadow:none!important;border:1px solid #ddd!important}}

/* ═══ TABELAS — PADRÃO GLOBAL v5 ═══ */
.table thead th,.table thead td{font-family:var(--fx-font-display)!important;font-size:.7rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important;color:var(--fx-slate-500)!important;background:var(--fx-slate-50)!important;border-bottom:2px solid var(--fx-slate-200)!important;padding:8px 6px!important;white-space:nowrap}
.table-dark th,.table-dark td,.thead-dark th,.table thead.table-dark th{font-family:var(--fx-font-display)!important;font-size:.7rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important;color:var(--fx-slate-500)!important;background:var(--fx-slate-50)!important;border-bottom:2px solid var(--fx-slate-200)!important;padding:8px 6px!important}
.table-light th,.thead-light th,.table thead.table-light th{font-family:var(--fx-font-display)!important;font-size:.7rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.5px!important;color:var(--fx-slate-500)!important;background:var(--fx-slate-50)!important;border-bottom:2px solid var(--fx-slate-200)!important;padding:8px 6px!important}
.table tbody td{font-size:.8rem!important;padding:6px!important;color:var(--fx-slate-700)!important;border-bottom:1px solid var(--fx-slate-100)!important;vertical-align:middle}
.table tbody tr:hover td{background:var(--fx-slate-50)!important}
.table .badge{font-size:.68rem!important;font-weight:600!important;padding:3px 8px!important;border-radius:6px!important}
.table .btn-sm{padding:3px 7px!important;font-size:.72rem!important;border-radius:6px!important}
.table-striped>tbody>tr:nth-of-type(odd)>*{background-color:transparent!important}
.table-hover>tbody>tr:hover>*{background-color:var(--fx-slate-50)!important}
.table-responsive{border-radius:var(--fx-radius-sm)}

/* ═══ SIDEBAR — REDESIGN v5 ═══ */
#sidebar{background:linear-gradient(180deg,#0B1426 0%,#101D33 50%,#0D1829 100%)!important;border-right:1px solid rgba(37,99,235,.08)!important}
#sidebar .sidebar-brand{border-bottom:none}
#sidebar .header-sep{border-color:rgba(255,255,255,.04)!important;margin:6px 0!important}
#sidebar .nav-link{color:rgba(255,255,255,.6)!important;font-size:.82rem;font-weight:500;border-radius:8px;padding:7px 10px!important;margin-bottom:1px;transition:all .2s}
#sidebar .nav-link:hover{color:rgba(255,255,255,.95)!important;background:rgba(37,99,235,.08)!important}
#sidebar .nav-link.active{background:linear-gradient(135deg,rgba(37,99,235,.15),rgba(37,99,235,.08))!important;color:#93C5FD!important}
#sidebar .nav-link.active::before{background:#3B82F6!important}
#sidebar .nav-link i{opacity:.7;transition:opacity .2s}
#sidebar .nav-link:hover i,#sidebar .nav-link.active i{opacity:1}
#sidebar hr{border-color:rgba(255,255,255,.04)!important}
#sidebar .dropdown-menu-dark{background:#162544!important;border:1px solid rgba(37,99,235,.15)!important;border-radius:10px!important;box-shadow:0 12px 35px rgba(0,0,0,.4)!important}
#sidebar .dropdown-item{border-radius:6px;font-size:.8rem;color:rgba(255,255,255,.7);transition:all .15s}
#sidebar .dropdown-item:hover,#sidebar .dropdown-item.active{background:rgba(37,99,235,.12)!important;color:#93C5FD!important}
#sidebar .sidebar-footer img{transition:opacity .3s}
#sidebar .sidebar-footer img:hover{opacity:1!important}
body.sidebar-collapsed #sidebar .sidebar-brand-text,body.sidebar-collapsed #sidebar .sidebar-tagline{display:none}
body.sidebar-collapsed #sidebar .sidebar-footer{display:none}

/* Modal Baixa Banco — botões centralizados */
#modalBaixaBanco .modal-footer{justify-content:center!important;gap:8px}

/* ═══ BOTÕES DE PERÍODO — fonte branca quando selecionado ═══ */
.btn-group .btn.active,
.btn-group .btn-outline-secondary.active,
.btn-group .btn-outline-primary.active,
.btn-check:checked+.btn-outline-secondary,
.btn-check:checked+.btn-outline-primary,
.btn-outline-secondary.active,
.btn-outline-primary.active,
[data-period].active,
[data-days].active,
[data-range].active {
    color:#fff!important;
    background:var(--fx-primary-500)!important;
    border-color:var(--fx-primary-500)!important;
    box-shadow:0 2px 8px rgba(37,99,235,.3)!important;
}
.btn-group .btn.active:hover,
.btn-outline-secondary.active:hover,
[data-period].active:hover,
[data-days].active:hover {
    color:#fff!important;
    background:var(--fx-primary-400)!important;
}

/* ═══ REGISTRO FISCAL — badge Regime legível ═══ */
.badge.bg-info{background:var(--fx-info)!important;color:#fff!important}
.badge.bg-info.bg-opacity-10{background:var(--fx-info)!important;opacity:1!important;color:#fff!important;border-color:var(--fx-info)!important}
.badge.text-info{color:#fff!important}

/* ═══ LISTA CLIENTES DASHBOARD — padrão v5 ═══ */
.list-group-item .badge{font-weight:600!important}

/* ═══ MINHAS EMPRESAS — forçar contraste ═══ */
.item-empresa .card-header{background:linear-gradient(135deg,#0B1426,#1E3A5F)!important;border-radius:12px 12px 0 0!important}
.item-empresa .card-header strong{color:#93C5FD!important}
.item-empresa .card-header span{color:#E2E8F0!important}
.item-empresa .card-header .badge{background:rgba(37,99,235,.35)!important;color:#fff!important;border:1px solid rgba(59,130,246,.5)!important}
.item-empresa .card-header i{color:#60A5FA!important}

/* ═══ BOTÕES PERÍODO — FORÇAR fonte branca em TODOS os cenários ═══ */
.btn-group>.btn.active,
.btn-group>.btn.active:focus,
.btn-group>.btn.active:hover,
.btn-outline-secondary.active,
.btn-outline-secondary.active:focus,
.btn-outline-secondary.active:hover,
.btn-outline-primary.active,
.btn-outline-primary.active:focus,
.btn-outline-primary.active:hover,
button.active[data-period],
button.active[data-days],
button.active[data-range],
.btn-check:checked+.btn,
.btn-check:active+.btn{
    color:#fff!important;
    background:#2563EB!important;
    border-color:#2563EB!important;
    box-shadow:0 2px 8px rgba(37,99,235,.35)!important;
}

/* ═══ TABELAS GLOBAIS — Estilo unificado "Minhas Tarefas" em TODAS as páginas ═══ */
.table thead th{font-family:var(--fx-font-display)!important;font-size:.7rem!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.5px;color:var(--fx-slate-500)!important;background:var(--fx-slate-50)!important;border-bottom:2px solid var(--fx-slate-200)!important;padding:6px!important}
.table tbody td{font-family:var(--fx-font-body)!important;font-size:.8rem!important;padding:5px 6px!important;color:var(--fx-primary-900)!important;border-bottom:1px solid var(--fx-slate-100)!important}
.table tbody tr:hover td{background:var(--fx-slate-50)!important}
.table .badge{font-size:.66rem!important;font-weight:600!important;padding:2px 7px!important;border-radius:6px!important}
.table .btn-sm{padding:3px 7px!important;font-size:.72rem!important;border-radius:6px!important}
.table-danger td{background:var(--fx-danger-light)!important}
.table-success td{background:var(--fx-success-light)!important}
.table-warning td{background:var(--fx-warning-light)!important}
