/* Identidade visual global clara — Flex Gestor */
:root{--primary-bg:#F6F8FC;--secondary-bg:#F1F5F9;--sidebar-bg:#FFF;--topbar-bg:#FFF;--card-bg:#FFF;--text-color:#172033;--text-muted:#64748B;--text-soft:#94A3B8;--accent-color:#2563EB;--primary:#2563EB;--primary-hover:#1D4ED8;--primary-dark:#1E40AF;--info:#0891B2;--success:#16A34A;--warning:#F59E0B;--danger:#DC2626;--border-color:#E2E8F0;--border-hover:#CBD5E1;--shadow-soft:0 4px 16px rgba(15,23,42,.06)}
body{background:var(--primary-bg);color:var(--text-color)}a{color:var(--primary)}a:hover{color:var(--primary-hover)}h1,h2,h3,h4,h5,h6,.card-title{color:var(--text-color)}.text-muted{color:var(--text-muted)!important}.text-white{color:var(--text-color)!important}
.card,.filtro-container,.table-responsive{background:#FFF;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-soft);color:var(--text-color)}.card-header{background:#F8FAFC;border-bottom:1px solid var(--border-color);color:var(--text-color)}.card-footer{background:#F8FAFC;border-top:1px solid var(--border-color)}
.form-label{color:#475569;font-weight:500}.form-control,.form-select,textarea.form-control{background:#FFF!important;color:var(--text-color)!important;border:1px solid var(--border-hover)!important;border-radius:8px}.form-control::placeholder{color:var(--text-soft);opacity:1}.form-control:focus,.form-select:focus,textarea.form-control:focus{background:#FFF!important;color:var(--text-color)!important;border-color:var(--primary)!important;box-shadow:0 0 0 .22rem rgba(37,99,235,.14)!important}.form-control:disabled,.form-select:disabled{background:#F1F5F9!important;color:var(--text-muted)!important}.input-group-text{background:#F8FAFC!important;color:var(--text-muted)!important;border-color:var(--border-hover)!important}
.btn{border-radius:8px;font-weight:600}.btn-primary,.btn-primary:focus{background:var(--primary);border-color:var(--primary);color:#FFF;box-shadow:none}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#FFF}.btn-success{background:var(--success);border-color:var(--success);color:#FFF}.btn-success:hover{background:#15803D;border-color:#15803D;color:#FFF}.btn-danger{background:var(--danger);border-color:var(--danger);color:#FFF}.btn-danger:hover{background:#B91C1C;border-color:#B91C1C;color:#FFF}.btn-warning{background:var(--warning);border-color:var(--warning);color:#172033}.btn-info{background:var(--info);border-color:var(--info);color:#FFF}.btn-secondary,.btn-outline-secondary{background:#FFF;color:#334155;border-color:var(--border-hover)}.btn-secondary:hover,.btn-outline-secondary:hover{background:#F8FAFC;color:#172033;border-color:#94A3B8}.btn-outline-primary{color:var(--primary);border-color:var(--primary)}.btn-outline-primary:hover{background:var(--primary);color:#FFF}.btn-outline-info{color:var(--info);border-color:var(--info)}.btn-outline-info:hover{background:var(--info);color:#FFF}.btn:disabled,.btn.disabled{background:#E2E8F0;border-color:#E2E8F0;color:#64748B;opacity:1}
.table{color:var(--text-color);margin-bottom:0}.table>thead>tr>th{background:#F8FAFC;color:#475569;border-bottom:1px solid var(--border-color);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.table>tbody>tr>td,.table>tbody>tr>th{background:#FFF!important;color:var(--text-color)!important;border-bottom:1px solid var(--border-color);vertical-align:middle}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background:#F8FAFC!important}.table>tbody>tr:last-child>td,.table>tbody>tr:last-child>th{border-bottom:0}
.badge{padding:.45em .7em;font-weight:600;border-radius:999px}.badge-ativo,.badge.bg-success{background:#DCFCE7!important;color:#166534!important}.badge-inativo,.badge.bg-danger,.badge.text-bg-danger{background:#FEE2E2!important;color:#991B1B!important}.badge.bg-warning{background:#FEF3C7!important;color:#92400E!important}.badge.bg-info{background:#E0F2FE!important;color:#075985!important}.badge.bg-primary{background:#DBEAFE!important;color:#1E40AF!important}.alert-success{background:#F0FDF4;border-color:#BBF7D0;color:#166534}.alert-danger{background:#FEF2F2;border-color:#FECACA;color:#991B1B}.alert-warning{background:#FFFBEB;border-color:#FDE68A;color:#92400E}.alert-info{background:#EFF6FF;border-color:#BFDBFE;color:#1E40AF}
.dropdown-menu,.modal-content{background:#FFF;color:var(--text-color);border:1px solid var(--border-color);box-shadow:var(--shadow-soft)}.dropdown-item{color:#334155}.dropdown-item:hover,.dropdown-item:focus{color:var(--primary);background:#EFF6FF}.dropdown-divider{border-color:var(--border-color)}.modal-header,.modal-footer{background:#FFF;border-color:var(--border-color)}.btn-close,.btn-close-white{filter:none}.nav-tabs{border-color:var(--border-color)}.nav-tabs .nav-link{color:var(--text-muted)}.nav-tabs .nav-link:hover{border-color:transparent;color:var(--primary)}.nav-tabs .nav-link.active{color:var(--primary);background:#FFF;border-color:var(--border-color) var(--border-color) #FFF}.pagination .page-link{color:var(--primary);background:#FFF;border-color:var(--border-color)}.pagination .page-link:hover{color:var(--primary-dark);background:#EFF6FF}.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#FFF}
.card-dashboard{background:#FFF;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-soft)}.card-dashboard .card-title{color:var(--text-muted)}.card-dashboard .card-value{color:var(--text-color);text-shadow:none}.card-dashboard:hover{border-color:var(--border-hover);box-shadow:0 8px 24px rgba(15,23,42,.09)}.card-vencidos{border-left:4px solid var(--danger)}.card-vencidos .card-icon,.card-vencidos .card-value{color:var(--danger)}.card-hoje{border-left:4px solid var(--warning)}.card-hoje .card-icon,.card-hoje .card-value{color:#B45309}.card-proximos{border-left:4px solid var(--success)}.card-proximos .card-icon,.card-proximos .card-value{color:var(--success)}.card-anuais{border-left:4px solid #7C3AED}.card-anuais .card-icon,.card-anuais .card-value{color:#7C3AED}.card-rendimentos,.card-clientes-entradas,.card-revendas,.card-totais{border-left:4px solid var(--primary)}.card-rendimentos .card-icon,.card-rendimentos .card-value,.card-clientes-entradas .card-icon,.card-revendas .card-icon,.card-totais .card-icon{color:var(--primary)}
::-webkit-scrollbar-track{background:#F1F5F9}::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:#94A3B8}@media(max-width:768px){.table-cards tr{background:#FFF!important;border-color:var(--border-color)}.table-cards td{background:transparent!important}.table-cards td:before{color:var(--text-muted)}}

body.login-page{background:#F6F8FC!important;background-image:linear-gradient(135deg,#F6F8FC 0%,#EFF6FF 56%,#FFFFFF 100%)!important;color:var(--text-color);padding-bottom:0}
body.login-page .container{width:100%;max-width:1240px}
body.login-page .login-container{padding:32px 0}
body.login-page .login-content{width:100%;max-width:430px;margin:0 auto}
body.login-page .login-logo{margin-bottom:22px!important}
body.login-page .login-title,body.login-page .login-logo h1{color:var(--text-color)!important;font-weight:800;letter-spacing:0}
body.login-page .login-subtitle,body.login-page .login-logo p{color:var(--text-muted)!important;margin-bottom:0}
body.login-page .login-card{background:#FFFFFF!important;border:1px solid var(--border-color)!important;border-radius:12px;box-shadow:0 20px 50px rgba(15,23,42,.10);backdrop-filter:none;color:var(--text-color)}
body.login-page .login-card .card-body{padding:2rem}
body.login-page .login-card .card-title{color:var(--text-color)!important;font-weight:700;letter-spacing:0}
body.login-page .login-card .form-label{color:#475569!important;text-align:left;width:100%}
body.login-page .login-card .input-group-text{background:#F8FAFC!important;color:var(--primary)!important;border:1px solid var(--border-hover)!important}
body.login-page .login-card .form-control{height:48px;background:#FFFFFF!important;color:var(--text-color)!important;border-color:var(--border-hover)!important}
body.login-page .login-card .form-control:focus{border-color:var(--primary)!important;box-shadow:0 0 0 .22rem rgba(37,99,235,.14)!important}
body.login-page .login-card .btn-lg{padding:.75rem 1rem;text-transform:none;letter-spacing:0}
body.login-page .login-card .btn-outline-success{background:#FFFFFF;color:var(--success);border:1px solid var(--success)}
body.login-page .login-card .btn-outline-success:hover{background:var(--success);color:#FFFFFF}
body.login-page .login-divider{border-color:var(--border-color);opacity:1}
body.login-page .alert{box-shadow:var(--shadow-soft);border-radius:10px}
