/* Tema azul profissional - layout base (estilo dashboard corporativo) */
/* Reset básico para evitar espaços no topo/laterais em alguns navegadores */
html,body{margin:0;padding:0}
:root{
	/* Azul corporativo e integração com tema escuro */
	--blue-600:#2563eb;
	--blue-700:#1d4ed8;
	--blue-50:#eef6ff;
	/* Herdar do tema quando disponível */
	--bg: var(--color-background, #f6f7fb);
	--text: var(--color-text, #0f172a);
	--muted: var(--color-text-secondary, #64748b);
	--card: var(--color-surface, #ffffff);
	--border: var(--color-border, #e5e7eb);
	--shadow: 0 2px 8px rgba(2,6,23,.06);
	/* altura do header (ajustada via JS para evitar gaps no topo) */
	--header-h:56px;
	--radius:.5rem;
	--btn-h:38px;
	--btn-sm-h:32px;
	--control-h:38px;
	--control-sm-h:32px;
}
*{box-sizing:border-box}
body.app-body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-family-base, system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif)}
h1,h2,h3,h4{color:var(--text);margin:.25rem 0 .75rem;font-weight:700}
h4{font-size:1.15rem}

/* Header (claro, com borda inferior sutil) */
.app-header{position:sticky;top:0;z-index:1030;background:var(--card);color:var(--text);box-shadow:none;border-bottom:1px solid var(--border);margin-top:0}
.app-header-inner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;max-width:100%}
.app-brand{color:var(--blue-700);text-decoration:none;font-weight:800;letter-spacing:.2px;display:flex;align-items:center}
.app-brand:hover{color:var(--blue-600)}
.app-user{opacity:.9;color:var(--muted)}

/* Wrapper */
.app-wrapper{display:flex;min-height:calc(100vh - var(--header-h))}
.app-wrapper>:first-child{margin-top:0}

/* Sidebar (clara, com destaque azul no ativo) */
.app-sidebar{width:250px;background:var(--card);color:var(--text);flex:0 0 250px;border-right:1px solid var(--border)}
.app-menu{display:flex;flex-direction:column;padding:.5rem 0}
.app-menu-section{padding:.75rem 1rem;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}

/* Correção específica para menu section no modo escuro */
[data-theme="dark"] .app-menu-section{color:#ffffff}
.app-menu-item{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;color:var(--text);text-decoration:none;border-left:4px solid transparent;border-radius:.25rem}
.app-menu-item:hover{background:var(--color-secondary, #f5f7fb);color:var(--text)}
.app-menu-item.active{background:var(--color-primary);color:var(--color-btn-primary-text,#fff);border-left-color:transparent;font-weight:600}
.app-menu-item i{width:1.25rem;text-align:center;color:inherit}
.app-menu-item svg{width:1.1rem;height:1.1rem}

/* Main */
.app-main{flex:1;display:flex;flex-direction:column}
.app-content{padding:1rem 1rem 2rem}
.app-content>*:first-child{margin-top:0}
.app-footer{margin-top:auto;background:var(--card);border-top:1px solid var(--border);padding:.75rem 1rem;color:var(--muted)}

/* Cards, tabelas e utilitários */
.card{border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow);margin-bottom:1rem}
.card-header{padding:.75rem 1rem;border-bottom:1px solid var(--border);font-weight:600}
.card-body{padding:1rem}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:.5rem;border-top:1px solid var(--color-card-border-inner, var(--border))}
.table thead th{background:var(--color-surface);border-bottom:1px solid var(--color-card-border-inner, var(--border))}
.table tbody tr{background:var(--color-background)}
.table tbody tr:nth-child(odd){background:rgba(var(--color-gray-400-rgb, 119,124,124), .05)}
.btn{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;min-height:var(--btn-sm-h);border:1px solid var(--color-primary, var(--blue-600));background:var(--color-primary, var(--blue-600));color:var(--color-btn-primary-text, #fff);border-radius:var(--radius);text-decoration:none;line-height:1.1;font-size:.875rem;white-space:nowrap}
.btn:hover{filter:brightness(0.97)}
.btn-outline-light{border-color:var(--border);color:var(--text);background:var(--card)}
.btn-outline-light:hover{background:var(--color-secondary, #f8fafc)}
.btn-secondary{background:#475569;border-color:#475569}
.btn-primary{background:var(--color-primary, var(--blue-600));border-color:var(--color-primary, var(--blue-600))}
.btn-outline-primary{background:transparent;color:var(--color-primary, var(--blue-600));border-color:var(--color-primary, var(--blue-600))}
.btn-outline-primary:hover{background:var(--color-bg-1, rgba(13,110,253,.08))}
.btn-outline-danger{background:transparent;color:#dc2626;border-color:#fecaca}
.btn-outline-danger:hover{background:#fff1f1}
.btn-outline-success{background:transparent;color:#16a34a;border-color:#bbf7d0}
.btn-outline-success:hover{background:#effaf2}
.btn-sm{padding:.25rem .55rem;min-height:var(--btn-sm-h);font-size:.875rem}
/* Força padronização quando coexistir com CSS do Bootstrap: */
.btn.btn-sm{min-height:var(--btn-sm-h)!important;padding:.25rem .55rem!important;font-size:.875rem!important;line-height:1.1}
/* Ícones dentro de botões alinhados e com espaçamento consistente */
.btn .bi{margin-right:.25rem;flex:0 0 auto}
.btn .ri{margin-right:.25rem;flex:0 0 auto}
.btn-icon{padding:0;min-width:var(--btn-sm-h);width:var(--btn-sm-h);height:var(--btn-sm-h);display:inline-flex;align-items:center;justify-content:center}
.btn-icon .ri{margin-right:0!important;font-size:1.05rem}
.actions-toolbar{display:flex;align-items:center;gap:.5rem}
.actions-table .btn-group{gap:0}
/* Grupo segmentado sem gaps, igual ao padrão da Conciliação */
.actions-table .btn-group>.btn{border-radius:0}
.actions-table .btn-group>.btn + .btn{margin-left:-1px} /* une bordas adjacentes */
.actions-table .btn-group>.btn:first-child{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}
.actions-table .btn-group>.btn:last-child{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}
.actions-table .btn{border-radius:.5rem} /* fallback para casos sem .btn-group */
.form-control{display:block;width:100%;padding:.45rem .65rem;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:var(--radius);min-height:var(--control-h);font-size:.95rem}
.form-check-input{margin-top:.25rem}
.input-group{display:flex;align-items:stretch}
.input-group{width:100%}
.input-group>.form-control{flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}
/* Permitir que selects dentro de input-group se comportem como os inputs, ocupando largura total */
.input-group>.form-select{flex:1 1 auto;border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}
.input-group>.btn{border-top-left-radius:0;border-bottom-left-radius:0;background:var(--card);color:var(--text);border-color:var(--border)}
.input-group>.btn:hover{background:#f8fafc}
/* Garante que input-group-text dos ícones não colapse e mantenha altura/espessura adequada */
.input-group-text, .input-group>span.input-group-text{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-secondary, #f8fafc);border:1px solid var(--border);border-right:0;border-radius:.45rem 0 0 .45rem;padding:.375rem .5rem;white-space:nowrap}
/* Em telas muito estreitas, quebre colunas em 100% e preserve controles digitáveis maiores */
@media (max-width: 575.98px){
	.row.g-3 .col-md-3, .row.g-3 .col-md-6{width:100%;flex:0 0 100%}
	.input-group>.form-control{min-width:0}
}

/* Botão flutuante (FAB) */
.fab{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:50%;background:var(--blue-600);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 6px 14px rgba(2,6,23,.18);z-index:1040}
.fab:hover{filter:brightness(.98)}

/* Ações compactas na tabela */
.btn-group.btn-group-sm .btn{padding:.25rem .4rem}

/* Tiles (cartões compactos com título, ícone e valor) */
.tile{border:1px solid var(--border);border-radius:12px;background:var(--card);box-shadow:var(--shadow);padding:1rem}
.tile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.35rem}
.tile-title{font-weight:600;color:var(--text)}
.tile-sub{color:var(--muted);font-size:.85rem}
.tile-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:.5rem;background:var(--color-bg-1, #eef6ff);color:var(--color-primary, var(--blue-700))}
.tile-value{font-size:1.15rem}
.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}

/* Responsividade */
/* Overlay para o menu em telas pequenas */
.app-overlay{position:fixed;inset:var(--header-h) 0 0 0;background:rgba(15,23,42,.45);display:none;z-index:1055}
.app-overlay.show{display:block}

@media (max-width: 991.98px){
	.app-sidebar{position:fixed;inset:var(--header-h) 0 0 auto;transform:translateX(100%);transition:transform .25s ease;max-width:80vw;z-index:1060}
	.app-sidebar.open{transform:translateX(0)}
}
/* Badges sutil quando sem Bootstrap completo */
.badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;font-size:.75rem;line-height:1}
.bg-success-subtle{background:#e8f7ee}
.bg-danger-subtle{background:#fde8e8}
.bg-warning-subtle{background:#fff7e6}
.bg-secondary-subtle{background:#eef2f7}
.label-chip{display:inline-flex;align-items:center;gap:.25rem;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:999px;padding:.25rem .5rem;font-size:.75rem}
.text-success{color:#16a34a}
.text-danger{color:#dc2626}
.text-warning{color:#b45309}
.text-secondary{color:#475569}
.border{border:1px solid currentColor}
.border-success-subtle{color:#bbf7d0}
.border-danger-subtle{color:#fecaca}
.border-warning-subtle{color:#fde68a}
.border-secondary-subtle{color:#e2e8f0}
/* Badges de status padronizados (contraste AA) */
.badge-status{border:1px solid transparent;font-weight:600}
.badge-status--conciliado{background:rgba(var(--color-success-rgb,33,128,141), .15);color:var(--color-success, #15803d);border-color:rgba(var(--color-success-rgb,33,128,141), .35)}
.badge-status--pendente{background:rgba(var(--color-warning-rgb,168,75,47), .15);color:var(--color-warning, #b45309);border-color:rgba(var(--color-warning-rgb,168,75,47), .35)}
.badge-status--atrasado{background:rgba(var(--color-error-rgb,192,21,47), .15);color:var(--color-error, #991b1b);border-color:rgba(var(--color-error-rgb,192,21,47), .35)}
.badge-status--cancelado{background:var(--color-secondary, #e2e8f0);color:var(--text);border-color:var(--color-card-border, #cbd5e1)}
@media (min-width: 992px){
	#sidebarToggle{display:none}
}

/* Fallback de ícones: quando bootstrap-icons não carrega, usar emojis mínimos */
.bi{font-style:normal;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;line-height:1;font-size:1rem}
.ri{font-style:normal;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:1rem}
.card-header .bi,.card-header .ri{font-size:1.05rem}
.bi-list::before{content:"≡"}
.bi-grid-1x2::before{content:"🏠"}
.bi-shuffle::before{content:"⇄"}
.bi-tags::before{content:"🏷️"}
.bi-person-vcard::before{content:"�"}
.bi-wallet2::before{content:"💼"}
.bi-piggy-bank::before{content:"🐷"}
.bi-arrow-left-right::before{content:"⇄"}
.bi-repeat::before{content:"🔁"}
.bi-car-front::before{content:"�"}
.bi-graph-up-arrow::before{content:"📈"}
.bi-journal-minus::before{content:"➖"}
.bi-journal-plus::before{content:"➕"}
.bi-credit-card::before{content:"💳"}
.bi-arrow-repeat::before{content:"🔁"}
.bi-pie-chart::before{content:"📊"}
.bi-check2-square::before{content:"✅"}
.bi-receipt::before{content:"🧾"}
.bi-patch-check::before{content:"✔️"}
.bi-chat-square-text::before{content:"💬"}
.bi-gear::before{content:"⚙️"}
.bi-box-arrow-right::before{content:"↪️"}
/* Ícones para login */
.bi-eye::before{content:"👁️"}
.bi-eye-slash::before{content:"🙈"}
/* Ícones comuns de ações */
.bi-pencil::before{content:"✏️"}
.bi-printer::before{content:"🖨️"}
.bi-download::before{content:"⬇️"}
.bi-trash::before{content:"🗑️"}
.bi-search::before{content:"🔎"}
.bi-info-circle::before{content:"ℹ️"}
.bi-plus::before{content:"＋"}
.bi-plus-lg::before{content:"＋"}
.bi-graph-up-arrow::before{content:"📈"}
.bi-graph-down-arrow::before{content:"📉"}
/* Ícones de tema */
.bi-moon::before{content:"🌙"}
.bi-sun::before{content:"☀️"}
/* Estados de foco mais sutis */
.btn:focus,.btn:focus-visible{outline:none;box-shadow:0 0 0 2px rgba(13,110,253,.15)}
.form-control:focus,.form-select:focus{outline:none;border-color:var(--color-primary, #93c5fd);box-shadow:0 0 0 3px var(--color-focus-ring, rgba(147,197,253,.35))}
::placeholder{color:var(--muted);opacity:.85}
/* Ícones comuns em categorias */
.bi-briefcase::before{content:"💼"}
.bi-fuel-pump::before{content:"⛽"}
.bi-tools::before{content:"🛠️"}
.bi-building::before{content:"🏢"}
.bi-megaphone::before{content:"📣"}
.bi-bus-front::before{content:"🚌"}

/* Layout de login profissional */
.auth-wrapper{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center}
.auth-card{max-width:920px;width:100%}
.auth-aside{background:linear-gradient(180deg,var(--blue-700),var(--blue-600))}
.auth-aside .brand{font-size:1.25rem;font-weight:700}
.auth-aside .brand i{font-size:1.4rem}
.auth-aside .brand-img{max-height:80px;max-width:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}
.auth-title{font-weight:800}
.auth-subtitle{color:var(--muted);margin-bottom:1rem}

@media (max-width: 767.98px){
	.auth-card{margin:0 1rem}
}

/* ---------------------------- */
/* Fallback utilitários (sem BS) */
/* Container */
.container-fluid{width:100%;padding-left:1rem;padding-right:1rem;margin-left:auto;margin-right:auto}
/* Grid simples */
.row{display:flex;flex-wrap:wrap;margin-left:-.5rem;margin-right:-.5rem}
.row.g-2{margin-left:-.5rem;margin-right:-.5rem}
.row.g-3{margin-left:-.75rem;margin-right:-.75rem}
.row>[class^="col-"],.row>[class*=" col-"]{padding-left:.5rem;padding-right:.5rem;flex:1 0 0%}
.row.g-2>[class^="col-"],.row.g-2>[class*=" col-"]{padding-left:.5rem;padding-right:.5rem}
.row.g-3>[class^="col-"],.row.g-3>[class*=" col-"]{padding-left:.75rem;padding-right:.75rem}
.col-12{flex:0 0 auto;width:100%}
@media (min-width: 768px){
	.col-md-2{flex:0 0 auto;width:16.6667%}
	.col-md-3{flex:0 0 auto;width:25%}
	.col-md-4{flex:0 0 auto;width:33.3333%}
	.col-md-6{flex:0 0 auto;width:50%}
	.col-md-8{flex:0 0 auto;width:66.6667%}
}
/* Spacers */
.mt-1{margin-top:.25rem}
.mt-2{margin-top:.5rem}
.mb-2{margin-bottom:.5rem}
.mb-3{margin-bottom:1rem}
.p-2{padding:.5rem}
.p-3{padding:1rem}
.h-100{height:100%}
.rounded{border-radius:.5rem}
.border{border:1px solid var(--border)}
.bg-white{background:var(--card)}
.bg-light{background:var(--color-secondary, #f8fafc)}
.small{font-size:.875em}
.fw-semibold{font-weight:600}
.fw-bold{font-weight:700}
.text-muted{color:var(--muted)}
.text-end{text-align:right}
.money{white-space:nowrap}
.d-flex{display:flex}
.d-grid{display:grid}
.justify-content-between{justify-content:space-between}
.align-items-center{align-items:center}
.align-items-baseline{align-items:baseline}
.ms-auto{margin-left:auto}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
/* Flex helpers */
.flex-wrap{flex-wrap:wrap}
/* Spacing util classes (margin) */
.mt-0{margin-top:0}
.mt-3{margin-top:1rem}
.mb-0{margin-bottom:0}
.mb-1{margin-bottom:.25rem}
.me-1{margin-inline-end:.25rem}
.me-2{margin-inline-end:.5rem}
.ms-1{margin-inline-start:.25rem}
.ms-2{margin-inline-start:.5rem}

/* Formulário em grade responsiva reutilizável */
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}
.form-group{min-width:0}
.section-title{font-weight:600;color:var(--text);display:flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.25rem;margin:.25rem 0 .75rem}

/* Form/select fallback */
.form-select{display:block;width:100%;padding:.45rem .65rem;border:1px solid #cbd5e1;border-radius:var(--radius);min-height:var(--control-h);font-size:.95rem;background:#fff}

/* Botões utilitários */
.btn-sm{padding:.25rem .5rem;font-size:.875rem}
.btn-primary{background:var(--blue-600);border-color:var(--blue-600)}
.btn-outline-secondary{background:transparent;color:#334155;border-color:#cbd5e1}
.btn-outline-secondary:hover{background:#f8fafc}
.btn-outline-secondary:active{background:#eef2f7}

/* Abas estilo corporativo (linha de guias) */
/* Abas (nav-tabs) no padrão do layout de referência: pílulas com ativo azul e texto branco */
.nav-tabs{border:0;gap:.5rem}
.nav-tabs .nav-link{border:1px solid var(--border);background:#fff;color:#334155;border-radius:999px;padding:.45rem .85rem}
.nav-tabs .nav-link:hover{background:#f8fafc}
.nav-tabs .nav-link.active{background:var(--blue-600);color:#fff;border-color:var(--blue-600)}
.nav-tabs .nav-link.active:hover{filter:brightness(.98)}

/* Mantém também a versão custom antiga .tabs para páginas que usem */
.tabs{display:flex;gap:.5rem;border-bottom:0;margin-bottom:1rem}
.tabs .tab{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;color:#334155;text-decoration:none;border:1px solid var(--border);border-radius:999px}
.tabs .tab:hover{background:#f8fafc}
.tabs .tab.active{color:#fff;background:var(--blue-600);border-color:var(--blue-600)}

/* ========================= */
/* Modo escuro (opcional)    */
/* ========================= */
[data-theme="dark"]{
	--bg:#0b1220;
	--text:#e2e8f0;
	--muted:#94a3b8;
	--card:#0f172a;
	--border:#1e293b;
}
[data-theme="dark"] body.app-body{background:var(--bg);color:var(--text)}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4{color:var(--text)}
[data-theme="dark"] .app-header{background:var(--card);color:var(--text);border-bottom:1px solid var(--border)}
[data-theme="dark"] .app-brand{color:#93c5fd}
[data-theme="dark"] .app-brand:hover{color:#bfdbfe}
[data-theme="dark"] .app-user{color:var(--muted)}
[data-theme="dark"] .app-sidebar{background:var(--card);color:var(--text);border-right:1px solid var(--border)}
[data-theme="dark"] .app-menu-section{color:#8aa0b8}
[data-theme="dark"] .app-menu-item{color:#cbd5e1}
[data-theme="dark"] .app-menu-item i{color:#e2e8f0}
[data-theme="dark"] .app-menu-item:hover{background:#0b1628;color:#f1f5f9}
[data-theme="dark"] .app-menu-item.active{background:#0c1a32;color:#f1f5f9;border-left-color:var(--blue-600)}
[data-theme="dark"] .app-menu-section{color:#93a1b7}
[data-theme="dark"] a{color:#93c5fd}
[data-theme="dark"] a:hover{color:#bfdbfe}
[data-theme="dark"] .small,.small[data-theme]{color:var(--muted)!important}
[data-theme="dark"] .app-footer{background:var(--card);border-top:1px solid var(--border);color:var(--muted)}

[data-theme="dark"] .card{background:var(--card);border-color:var(--border);box-shadow:none}
[data-theme="dark"] .card-header{border-bottom:1px solid var(--border)}
[data-theme="dark"] .card .text-muted{color:#94a3b8!important}
[data-theme="dark"] .text-success{color:#22c55e!important}
[data-theme="dark"] .text-danger{color:#ef4444!important}
[data-theme="dark"] .text-warning{color:#f59e0b!important}
[data-theme="dark"] .text-secondary{color:#a3b1c2!important}

[data-theme="dark"] .table thead th{background:#0b1628;color:#e2e8f0;border-top-color:var(--border)}
[data-theme="dark"] .table th,[data-theme="dark"] .table td{border-top:1px solid #132236}
[data-theme="dark"] .table tbody tr:nth-child(odd){background:#0e1a2d}
[data-theme="dark"] .table tbody tr:hover{background:#0f1f36}

[data-theme="dark"] .bg-white{background:var(--card)!important}
[data-theme="dark"] .bg-light{background:#0b1628!important}

[data-theme="dark"] .form-control,[data-theme="dark"] .form-select{background:#0b1628;color:var(--text);border-color:#263a51}
[data-theme="dark"] .input-group-text, [data-theme="dark"] .input-group>span.input-group-text{background:#0b1628;border-color:#263a51;color:#cbd5e1}
[data-theme="dark"] .form-control::placeholder{color:#7c8aa0}
[data-theme="dark"] .form-control:focus,[data-theme="dark"] .form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.25)}
[data-theme="dark"] .form-label{color:#cbd5e1}

/* Alertas e mensagens no escuro */
[data-theme="dark"] .alert{border-color:var(--border)}
[data-theme="dark"] .alert-primary{background:#0f2847;color:#93c5fd;border-color:#1e40af}
[data-theme="dark"] .alert-success{background:#0f2a1a;color:#34d399;border-color:#065f46}
[data-theme="dark"] .alert-warning{background:#2a2412;color:#f59e0b;border-color:#92400e}
[data-theme="dark"] .alert-danger{background:#2a1414;color:#ef4444;border-color:#b91c1c}
[data-theme="dark"] .alert-info{background:#0f2a47;color:#38bdf8;border-color:#0284c7}

/* Paginação no escuro */
[data-theme="dark"] .pagination .page-link{background:var(--card);border-color:var(--border);color:var(--text)}
[data-theme="dark"] .pagination .page-link:hover{background:#0b1628;border-color:var(--border)}
[data-theme="dark"] .pagination .page-item.active .page-link{background:#2563eb;border-color:#2563eb;color:#fff}

/* Progress bars no escuro */
[data-theme="dark"] .progress{background:#1e293b}
[data-theme="dark"] .progress-bar{background:#2563eb}

/* Classes Bootstrap específicas no escuro */
[data-theme="dark"] .list-group-item{background:var(--card);border-color:var(--border);color:var(--text)}
[data-theme="dark"] .list-group-item:hover{background:#0b1628}
[data-theme="dark"] .list-group-item.active{background:#2563eb;border-color:#2563eb}

/* Breadcrumb no escuro */
[data-theme="dark"] .breadcrumb{background:var(--card)}
[data-theme="dark"] .breadcrumb-item a{color:#93c5fd}

/* Accordion no escuro */
[data-theme="dark"] .accordion-item{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .accordion-button{background:var(--card);color:var(--text);border-color:var(--border)}
[data-theme="dark"] .accordion-button:not(.collapsed){background:#0b1628;color:var(--text)}

/* Spinner/loading no escuro */
[data-theme="dark"] .spinner-border{color:#60a5fa}
[data-theme="dark"] .spinner-grow{color:#60a5fa}

/* Badges Bootstrap padrão no escuro */
[data-theme="dark"] .badge.bg-primary{background:#2563eb!important}
[data-theme="dark"] .badge.bg-secondary{background:#64748b!important}
[data-theme="dark"] .badge.bg-success{background:#16a34a!important}
[data-theme="dark"] .badge.bg-danger{background:#dc2626!important}
[data-theme="dark"] .badge.bg-warning{background:#d97706!important;color:#000!important}
[data-theme="dark"] .badge.bg-info{background:#0891b2!important}
[data-theme="dark"] .badge.bg-light{background:#475569!important}
[data-theme="dark"] .badge.bg-dark{background:#1f2937!important}

/* Offcanvas no escuro */
[data-theme="dark"] .offcanvas{background:var(--card);color:var(--text)}
[data-theme="dark"] .offcanvas-header{border-bottom-color:var(--border)}

/* Toast no escuro */
[data-theme="dark"] .toast{background:var(--card);border-color:var(--border);color:var(--text)}
[data-theme="dark"] .toast-header{background:#0b1628;border-bottom-color:var(--border)}
/* Garante contraste quando toasts usam .bg-light */
[data-theme="dark"] .toast.bg-light{background:var(--card)!important;border-color:var(--border)!important;color:var(--text)!important}
[data-theme="dark"] .toast .btn-close{filter:invert(1) grayscale(100%)}

[data-theme="dark"] .btn-outline-light{border-color:#475569;color:#e2e8f0;background:transparent}
[data-theme="dark"] .btn-outline-light:hover{background:#0b1628}
[data-theme="dark"] .btn-outline-secondary{color:#e2e8f0;border-color:#475569}
[data-theme="dark"] .btn-outline-secondary:hover{background:#0b1628}
[data-theme="dark"] .nav-tabs .nav-link{background:#0b1628;border-color:#263a51;color:#cbd5e1}
[data-theme="dark"] .nav-tabs .nav-link:hover{background:#0f1f36}
[data-theme="dark"] .nav-tabs .nav-link.active{background:#2563eb;border-color:#2563eb;color:#fff}
[data-theme="dark"] .btn-primary{background:#2563eb;border-color:#2563eb}
[data-theme="dark"] .btn{color:#fff}

/* Badges suaves no escuro */
[data-theme="dark"] .bg-success-subtle{background:#0f2a1a}
[data-theme="dark"] .bg-danger-subtle{background:#2a1414}
[data-theme="dark"] .bg-warning-subtle{background:#2a2412}
[data-theme="dark"] .bg-secondary-subtle{background:#0f1b2a}
[data-theme="dark"] .label-chip{background:#0b1628;border-color:#263a51;color:#cbd5e1}
[data-theme="dark"] .tile{background:var(--card);border-color:var(--border);box-shadow:none}
[data-theme="dark"] .tile-icon{background:#0b1628;color:#93c5fd}
[data-theme="dark"] .badge{color:#e2e8f0}
[data-theme="dark"] .border-success-subtle{color:#22c55e}
[data-theme="dark"] .border-danger-subtle{color:#ef4444}
[data-theme="dark"] .border-warning-subtle{color:#f59e0b}
[data-theme="dark"] .border-secondary-subtle{color:#ffffff}
/* Badges de status no escuro (alto contraste) */
[data-theme="dark"] .badge-status--conciliado{background:#0f2a1a;color:#34d399;border-color:#065f46}
[data-theme="dark"] .badge-status--pendente{background:#2a2412;color:#f59e0b;border-color:#92400e}
[data-theme="dark"] .badge-status--atrasado{background:#2a1414;color:#ef4444;border-color:#b91c1c}
[data-theme="dark"] .badge-status--cancelado{background:#0f1b2a;color:#9aa7b9;border-color:#475569}

/* Tooltips no escuro */
[data-theme="dark"] .tooltip .tooltip-inner{background:#1f2937;color:#e5e7eb;border:1px solid #374151}

/* Tabs no escuro */
[data-theme="dark"] .tabs{border-bottom-color:var(--border)}
[data-theme="dark"] .tabs .tab{color:#cbd5e1}
[data-theme="dark"] .tabs .tab:hover{background:#0b1628}
[data-theme="dark"] .tabs .tab.active{color:#bfdbfe;background:#0c1a32;border-bottom-color:var(--blue-600)}

/* Navegação Bootstrap (nav-tabs) no escuro */
[data-theme="dark"] .nav-tabs{border-bottom:1px solid var(--border)}
[data-theme="dark"] .nav-tabs .nav-link{color:#cbd5e1;background:transparent;border:1px solid transparent}
[data-theme="dark"] .nav-tabs .nav-link:hover{background:#0b1628;border-color:var(--border)}
[data-theme="dark"] .nav-tabs .nav-link.active{color:#bfdbfe;background:var(--card);border-color:var(--border) var(--border) var(--card)}

/* Tab content no escuro */
[data-theme="dark"] .tab-content{background:var(--card)}
[data-theme="dark"] .tab-pane{color:var(--text)}

/* Botões no escuro - ajustes adicionais */
[data-theme="dark"] .btn-outline-primary{background:transparent;color:#60a5fa;border-color:#3b82f6}
[data-theme="dark"] .btn-outline-primary:hover{background:#1e40af;color:#fff}
[data-theme="dark"] .btn-outline-danger{background:transparent;color:#f87171;border-color:#ef4444}
[data-theme="dark"] .btn-outline-danger:hover{background:#dc2626;color:#fff}

/* Modais e dropdowns no escuro */
[data-theme="dark"] .modal-content{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .modal-header{border-bottom-color:var(--border)}
[data-theme="dark"] .modal-footer{border-top-color:var(--border)}
[data-theme="dark"] .dropdown-menu{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .dropdown-item{color:var(--text)}
[data-theme="dark"] .dropdown-item:hover{background:#0b1628}

/* Links e textos específicos no escuro */
[data-theme="dark"] .text-primary{color:#60a5fa!important}
[data-theme="dark"] .fw-semibold{color:var(--text)}
[data-theme="dark"] .fw-bold{color:var(--text)}

/* Correção de contraste para textos cinza no escuro */
[data-theme="dark"] .text-muted{color:#9ca3af!important}
[data-theme="dark"] .text-secondary{color:#9ca3af!important}
[data-theme="dark"] .small{color:#e5e7eb!important}
[data-theme="dark"] small{color:#e5e7eb!important}
[data-theme="dark"] .text-gray-600{color:#9ca3af!important}
[data-theme="dark"] .text-gray-500{color:#9ca3af!important}
[data-theme="dark"] .text-dark{color:#e5e7eb!important}

/* Ícones no modo escuro */
[data-theme="dark"] .bi{color:#e5e7eb}
[data-theme="dark"] .text-primary .bi{color:#60a5fa}
[data-theme="dark"] .text-success .bi{color:#34d399}
[data-theme="dark"] .text-warning .bi{color:#fbbf24}
[data-theme="dark"] .text-danger .bi{color:#ef4444}
[data-theme="dark"] .text-info .bi{color:#3b82f6}

/* Ícones específicos de status */
[data-theme="dark"] .btn .bi{color:inherit}
[data-theme="dark"] .badge .bi{color:inherit}
[data-theme="dark"] .card-header .bi{color:#cbd5e1}
[data-theme="dark"] .navbar .bi{color:#e5e7eb}

/* Texto de ajuda e legendas no escuro */
[data-theme="dark"] .form-text{color:#9ca3af!important}
[data-theme="dark"] .help-text{color:#9ca3af!important}
[data-theme="dark"] .caption{color:#9ca3af!important}
[data-theme="dark"] .legend{color:#e5e7eb!important}

/* Placeholders no escuro */
[data-theme="dark"] ::placeholder{color:#6b7280!important;opacity:1}
[data-theme="dark"] .form-control::placeholder{color:#6b7280!important}
[data-theme="dark"] .form-select option{background:var(--card);color:var(--text)}

/* Labels e textos de formulário no escuro */
[data-theme="dark"] .form-label{color:#e5e7eb!important;font-weight:500}
[data-theme="dark"] label{color:#e5e7eb!important}
[data-theme="dark"] .input-group-text{background:var(--card);border-color:var(--border);color:#e5e7eb}

/* Breadcrumb no escuro */
[data-theme="dark"] .breadcrumb{background:transparent}
[data-theme="dark"] .breadcrumb-item{color:#9ca3af}
[data-theme="dark"] .breadcrumb-item.active{color:#e5e7eb}
[data-theme="dark"] .breadcrumb-item+.breadcrumb-item::before{color:#6b7280}

/* Correções específicas para listas e itens */
[data-theme="dark"] .list-group-item{background:var(--card);border-color:var(--border);color:var(--text)}
[data-theme="dark"] .list-group-item:hover{background:#0b1628}
[data-theme="dark"] .list-group-item.active{background:var(--blue-600);border-color:var(--blue-600)}

/* Textos de status e estados no escuro */
[data-theme="dark"] .text-success{color:#34d399!important}
[data-theme="dark"] .text-warning{color:#fbbf24!important}
[data-theme="dark"] .text-danger{color:#ef4444!important}
[data-theme="dark"] .text-info{color:#3b82f6!important}

/* Cards com melhor contraste no escuro */
[data-theme="dark"] .card-title{color:#f9fafb!important}
[data-theme="dark"] .card-subtitle{color:#cbd5e1!important}
[data-theme="dark"] .card-text{color:#e5e7eb!important}

/* Navbar melhorada no escuro */
[data-theme="dark"] .navbar-brand{color:#f9fafb!important}
[data-theme="dark"] .navbar-nav .nav-link{color:#cbd5e1!important}
[data-theme="dark"] .navbar-nav .nav-link:hover{color:#f9fafb!important}
[data-theme="dark"] .navbar-nav .nav-link.active{color:#60a5fa!important}

/* Sidebar e navegação lateral no escuro */
[data-theme="dark"] .sidebar{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .sidebar .nav-link{color:#cbd5e1}
[data-theme="dark"] .sidebar .nav-link:hover{background:#0b1628;color:#f9fafb}
[data-theme="dark"] .sidebar .nav-link.active{background:#1e40af;color:#f9fafb}

/* Paginação no escuro */
[data-theme="dark"] .page-link{background:var(--card);border-color:var(--border);color:#cbd5e1}
[data-theme="dark"] .page-link:hover{background:#0b1628;color:#f9fafb}
[data-theme="dark"] .page-item.active .page-link{background:var(--blue-600);border-color:var(--blue-600)}

/* Alertas com melhor visibilidade no escuro */
[data-theme="dark"] .alert-primary{background:#1e3a8a;border-color:#1d4ed8;color:#bfdbfe}
[data-theme="dark"] .alert-success{background:#064e3b;border-color:#059669;color:#a7f3d0}
[data-theme="dark"] .alert-warning{background:#92400e;border-color:#d97706;color:#fde68a}
[data-theme="dark"] .alert-danger{background:#991b1b;border-color:#dc2626;color:#fecaca}
[data-theme="dark"] .alert-info{background:#1e40af;border-color:#2563eb;color:#bfdbfe}

/* Progress bars no escuro */
[data-theme="dark"] .progress{background:#374151}
[data-theme="dark"] .progress-bar{background:#3b82f6}

/* Correções para elementos específicos do sistema */
[data-theme="dark"] .dashboard-card{background:var(--card);color:var(--text)}
[data-theme="dark"] .dashboard-card .card-title{color:#f9fafb!important}
[data-theme="dark"] .dashboard-card .text-muted{color:#9ca3af!important}

/* Tabelas com melhor contraste no escuro */
[data-theme="dark"] .table th{color:#f3f4f6!important;border-color:var(--border)}
[data-theme="dark"] .table td{color:#e5e7eb!important;border-color:var(--border)}
[data-theme="dark"] .table-striped tbody tr:nth-of-type(odd){background:#0b1628}
[data-theme="dark"] .table-hover tbody tr:hover{background:#1e293b}

/* Inputs e selects com melhor visibilidade no escuro */
[data-theme="dark"] .form-control{background:var(--card);border-color:var(--border);color:#f3f4f6}
[data-theme="dark"] .form-control:focus{background:var(--card);border-color:var(--blue-500);color:#f3f4f6;box-shadow:0 0 0 0.2rem rgba(59, 130, 246, 0.25)}
[data-theme="dark"] .form-select{background:var(--card);border-color:var(--border);color:#f3f4f6}
[data-theme="dark"] .form-select:focus{border-color:var(--blue-500);box-shadow:0 0 0 0.2rem rgba(59, 130, 246, 0.25)}

/* Força texto branco em elementos importantes */
[data-theme="dark"] h1,h2,h3,h4,h5,h6{color:#f9fafb!important}
[data-theme="dark"] .display-1,.display-2,.display-3,.display-4,.display-5,.display-6{color:#f9fafb!important}

/* Ícones de ação e botões de ferramentas */
[data-theme="dark"] .btn-tool{color:#cbd5e1}
[data-theme="dark"] .btn-tool:hover{color:#f9fafb}
[data-theme="dark"] .action-icons .bi{color:#cbd5e1}
[data-theme="dark"] .action-icons .bi:hover{color:#60a5fa}

/* Footer e elementos de rodapé no escuro */
[data-theme="dark"] .footer{background:var(--card);border-top:1px solid var(--border);color:#cbd5e1}
[data-theme="dark"] .footer .text-muted{color:#9ca3af!important}

/* Correção para textos dentro de badges e pills */
[data-theme="dark"] .badge{color:#fff!important}
[data-theme="dark"] .badge.bg-light{background:#374151!important;color:#e5e7eb!important}
[data-theme="dark"] .badge.bg-dark{background:#f9fafb!important;color:#1f2937!important}

/* Spinner e elementos de loading no escuro */
[data-theme="dark"] .spinner-border{color:#60a5fa}
[data-theme="dark"] .spinner-grow{color:#60a5fa}

/* Elementos de filtro e pesquisa no escuro */
[data-theme="dark"] .filter-section{background:var(--card);border:1px solid var(--border)}
[data-theme="dark"] .search-box{background:var(--card);color:var(--text)}
[data-theme="dark"] .search-box .form-control{background:transparent}

/* Tooltips e popovers melhorados no escuro */
[data-theme="dark"] .tooltip-inner{background:#1f2937!important;color:#e5e7eb!important;border:1px solid #374151}
[data-theme="dark"] .popover{background:var(--card);border-color:var(--border)}
[data-theme="dark"] .popover-header{background:#374151;border-bottom-color:var(--border);color:#f3f4f6}
[data-theme="dark"] .popover-body{color:var(--text)}

/* Correções específicas solicitadas pelo usuário */
/* No modo escuro: onde tiver #5c6470 inline, colocar branco */
[data-theme="dark"] *[style*="#5c6470"]{color:#ffffff!important}
[data-theme="dark"] .text-gray-600{color:#ffffff!important}
[data-theme="dark"] .text-gray-500{color:#ffffff!important}
[data-theme="dark"] .text-slate-600{color:#ffffff!important}
[data-theme="dark"] .text-slate-500{color:#ffffff!important}

/* Elementos com cores cinza escuras que devem ser brancos no modo escuro */
[data-theme="dark"] .sidebar-text{color:#ffffff!important}
[data-theme="dark"] .menu-text{color:#ffffff!important}
[data-theme="dark"] .secondary-text{color:#ffffff!important}
[data-theme="dark"] .muted-text{color:#ffffff!important}

/* No modo claro: melhorar contraste de textos brancos */
[data-theme="light"] .text-white{color:#1f2937!important}
[data-theme="light"] .white-text{color:#1f2937!important}
[data-theme="light"] h1,[data-theme="light"] h2,[data-theme="light"] h3,[data-theme="light"] h4,[data-theme="light"] h5,[data-theme="light"] h6{color:var(--text)!important}
[data-theme="light"] .card-title,[data-theme="light"] .card-subtitle,[data-theme="light"] .modal-title,[data-theme="light"] .section-title,[data-theme="light"] .auth-title,[data-theme="light"] .auth-subtitle,[data-theme="light"] .tile-title,[data-theme="light"] .tile-sub{color:var(--text)!important}
/* Corrige títulos/subtítulos com estilos inline em branco no modo claro */
[data-theme="light"] *[style*="color:#fff"],
[data-theme="light"] *[style*="color: #fff"],
[data-theme="light"] *[style*="color:white"],
[data-theme="light"] *[style*="color: white"]{color:var(--text)!important}

/* Correção de elementos específicos do sistema */
[data-theme="dark"] .app-sidebar .nav-link{color:#ffffff!important}
[data-theme="dark"] .app-sidebar .nav-item{color:#ffffff!important}
[data-theme="dark"] .card-subtitle{color:#ffffff!important}
[data-theme="dark"] .small-text{color:#ffffff!important}
[data-theme="dark"] .help-text{color:#ffffff!important}

/* Forçar texto escuro em elementos com fundo claro no modo claro */
[data-theme="light"] .btn-light{color:#1f2937!important}
[data-theme="light"] .bg-light{color:#1f2937!important}
[data-theme="light"] .badge-light{color:#1f2937!important}

/* Correções adicionais para elementos específicos do sistema */
/* Tabelas e listas */
/* Ajuste de contraste no escuro (evita branco puro) */
[data-theme="dark"] .table th{color:#f3f4f6!important}
[data-theme="dark"] .table td{color:#e5e7eb!important}
[data-theme="dark"] .list-group-item{color:#e5e7eb!important}

/* Navegação e menus */
[data-theme="dark"] .nav-link{color:#e5e7eb!important}
[data-theme="dark"] .navbar-nav .nav-link{color:#e5e7eb!important}
[data-theme="dark"] .dropdown-item{color:#e5e7eb!important}

/* Cards e painéis */
[data-theme="dark"] .card-text{color:#ffffff!important}
[data-theme="dark"] .card-body{color:#ffffff!important}

/* Formulários */
[data-theme="dark"] .form-text{color:#ffffff!important}
[data-theme="dark"] .form-label{color:#ffffff!important}

/* Alertas e notificações */
[data-theme="dark"] .alert{color:#ffffff!important}

/* Dashboard específico */
[data-theme="dark"] .dashboard-stat{color:#ffffff!important}
[data-theme="dark"] .stat-label{color:#ffffff!important}
[data-theme="dark"] .stat-value{color:#ffffff!important}

/* Botões e ações */
[data-theme="dark"] .btn-link{color:#ffffff!important}
[data-theme="dark"] .link-secondary{color:#ffffff!important}

/* Textos diversos (evitar seletores muito amplos) */
/* Removido override global para p/span/div que afetava layout. Mantemos ajustes nos componentes. */

/* Regras para cores inline específicas */
[data-theme="dark"] *[style*="color:#5c6470"]{color:#ffffff!important}
[data-theme="dark"] *[style*="color: #5c6470"]{color:#ffffff!important}
[data-theme="dark"] *[style*="color:#64748b"]{color:#ffffff!important}
[data-theme="dark"] *[style*="color: #64748b"]{color:#ffffff!important}
[data-theme="dark"] *[style*="color:#6b7280"]{color:#ffffff!important}
[data-theme="dark"] *[style*="color: #6b7280"]{color:#ffffff!important}

/* Elementos com classes comuns que podem ter texto cinza (alto contraste no escuro) */
[data-theme="dark"] .text-gray,[data-theme="dark"] .text-muted,[data-theme="dark"] .text-secondary{color:#e5e7eb!important}
/* .text-dark no modo escuro deve ser claro, mas não branco puro para não poluir visual */
[data-theme="dark"] .text-dark{color:#f3f4f6!important}

/* Força cores claras em elementos específicos */
/* Sidebar, navegação e menus: tornar textos claros, sem afetar ícones coloridos/botões */
[data-theme="dark"] .sidebar, 
[data-theme="dark"] .sidebar .nav, 
[data-theme="dark"] .sidebar .nav-link,
[data-theme="dark"] .sidebar .nav-item,
[data-theme="dark"] .sidebar .nav-link .label,
[data-theme="dark"] .nav .nav-link,
[data-theme="dark"] .dropdown-item { color:#e5e7eb!important }
[data-theme="dark"] .sidebar .nav-link.active, [data-theme="dark"] .nav .nav-link.active { color:#bfdbfe!important }
