/**
 * Custom CSS para Área Admin
 * Limitless Theme - Customizações do Layout Admin
 * Layout: Navbar horizontal com menu, sem sidebar lateral, content full width
 */

/* ===================================
   Sticky Footer
   =================================== */

body.admin-sticky-footer {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin: 0;
    overflow-y: auto;
}

/* Navbars no topo - não encolhem */
body.admin-sticky-footer > .navbar.border-bottom {
    flex-shrink: 0;
}

/* Page content - cresce para preencher TODO espaço disponível */
body.admin-sticky-footer > .page-content {
    flex: 1;
    min-height: 0;
}

/* Footer no final - não encolhe e remove margin-top */
body.admin-sticky-footer > .navbar.border-top {
    flex-shrink: 0;
    margin-top: 0 !important;
}

/* ===================================
   Page Content - Full Width (sem sidebar)
   =================================== */

.page-content {
    /* Flex item do sticky footer - cresce para ocupar espaço disponível */
    /* NÃO usar display: flex aqui para evitar conflitos com sticky footer */
}

.content-wrapper {
    width: 100%;
}

.content-inner {
    width: 100%;
}

/* ===================================
   Navbar Horizontal - Multiple Navbars (Small Size)
   =================================== */

/* Ambas as navbars são small */
.navbar.navbar-sm {
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
}

/* Padding 0 para navbars small no layout sticky footer */
body.admin-sticky-footer .navbar.navbar-sm {
    padding: 0;
}

/* ---- Primeiro navbar (.navbar-top) ---- */
.navbar-top {
    border-bottom: 1px solid rgba(0,0,0,0.1) !important;
    padding: 2px;
}

.navbar-top .container {
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Seletor de Contexto/Filial - largura fixa 208px */
.navbar-top .navbar-brand {
    max-width: 208px;
    min-width: 208px;
}

/* ---- Segundo navbar (.navbar-menu) ---- */
.navbar.navbar-sm.navbar-expand-xl.navbar-light.border-bottom.navbar-menu {
    padding: 6px 0px;
}

.navbar-menu {
    background-color: #fff;
}

.navbar-menu .container {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.navbar-menu .navbar-nav {
    justify-content: flex-start !important;
    gap: 4px;
    margin-left: -8px;
}

.navbar-menu .navbar-nav-link {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    color: rgba(0,0,0,0.7);
    transition: all 0.15s ease-in-out;
}

/* ---- Estilos compartilhados ---- */
.navbar .container-fluid {
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.navbar .navbar-nav .navbar-nav-link {
    padding: 0.5rem 1rem;
    color: rgba(0,0,0,0.7);
    transition: all 0.15s ease-in-out;
}

.navbar .navbar-nav .navbar-nav-link:hover {
    background-color: rgba(0,0,0,0.05);
    color: #000;
}

.navbar .navbar-nav .navbar-nav-link.active {
    background-color: rgba(33,150,243,0.1);
    color: #2196f3;
    font-weight: 500;
}

.navbar .navbar-nav .navbar-nav-link i {
    font-size: 1.125rem;
}

/* Dropdown do menu */
.navbar .navbar-nav .dropdown-menu {
    margin-top: 0.5rem;
    border: 1px solid rgba(0,0,0,0.1);
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15);
}

.navbar .navbar-nav .dropdown-item.active {
    background-color: rgba(33,150,243,0.1);
    color: #2196f3;
}

/* ===================================
   Content Area
   =================================== */

.content {
    padding-top: 0;
    padding-bottom: 1.5rem;
}

.content.pt-0 {
    padding-top: 0 !important;
}

/* ===================================
   Responsividade
   =================================== */

/* Responsividade básica - Bootstrap .container já gerencia max-width */

/* Mobile - Menu horizontal oculto em telas pequenas */
@media (max-width: 1199.98px) {
    .navbar .navbar-nav.d-none.d-xl-flex {
        display: none !important;
    }
}

/* ===================================
   Tabelas (Tema Limitless)
   =================================== */

.table {
    --bs-table-bg: transparent;
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color: inherit;
    --bs-table-striped-bg: rgba(0, 0, 0, 0.0125);
    --bs-table-active-color: inherit;
    --bs-table-active-bg: rgba(0, 0, 0, 0.025);
    --bs-table-hover-color: inherit;
    --bs-table-hover-bg: rgba(0, 0, 0, 0.0375);
    width: 100%;
    margin-bottom: 1rem;
    color: inherit;
    vertical-align: middle;
    border-color: #ddd;
}

.table > :not(caption) > * > * {
    padding: 0.75rem 1rem;
    background-color: var(--bs-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.table > thead {
    vertical-align: bottom;
}

.table > thead > tr > th {
    font-weight: 600;
    color: #333;
    background-color: #f8f9fa !important;
    border-bottom: 2px solid #dee2e6;
}

.table-striped > tbody > tr:nth-of-type(odd) {
    --bs-table-accent-bg: var(--bs-table-striped-bg);
}

.table-hover > tbody > tr:hover {
    --bs-table-accent-bg: var(--bs-table-hover-bg);
    cursor: pointer;
}

/* Botões nas tabelas */
.table .btn {
    padding: 0.3125rem 0.625rem;
    font-size: 0.8125rem;
}

.table .btn-sm {
    padding: 0.1875rem 0.5rem;
    font-size: 0.75rem;
}

/* Badges nas tabelas */
.table .badge {
    font-size: 0.75rem;
    padding: 0.3125rem 0.5rem;
}

/* Table responsive */
.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 991.98px) {
    .table-responsive {
        border: 1px solid #dee2e6;
        border-radius: 0.375rem;
    }
}

/* ===================================
   Cards (melhorias)
   =================================== */

.card {
    box-shadow: 0 0.125rem 0.25rem rgba(0,0,0,0.075);
    border: 1px solid rgba(0,0,0,0.1);
    margin-bottom: 1.25rem;
}

.card-header {
    background-color: #fff;
    border-bottom: 1px solid rgba(0,0,0,0.1);
    padding: 1rem 1.25rem;
}

.card-body {
    padding: 1.25rem;
}

.card-footer {
    background-color: #f8f9fa;
    border-top: 1px solid rgba(0,0,0,0.1);
    padding: 1rem 1.25rem;
}

/* ===================================
   Page Title
   =================================== */

.page-title {
    padding: 1.5rem 1.5rem 1.25rem 1.5rem;
}

.page-title .page-header-content {
    width: 100%;
}

.page-title h4 {
    color: #333;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
}

.page-title h4 i {
    color: #2196f3;
    font-size: 1.375rem;
    vertical-align: middle;
}

.page-title h4 .text-muted {
    font-size: 1.25rem;
    font-weight: 400;
}

/* Botões no page header */
.page-header-content .btn {
    white-space: nowrap;
}

/* ===================================
   Forms (melhorias)
   =================================== */

.form-control:focus {
    border-color: #2196f3;
    box-shadow: 0 0 0 0.2rem rgba(33, 150, 243, 0.25);
}

.form-label {
    font-weight: 500;
    margin-bottom: 0.375rem;
    color: #333;
}

/* ===================================
   Botões (consistência)
   =================================== */

.btn {
    font-weight: 500;
    transition: all 0.15s ease-in-out;
}

.btn-primary {
    background-color: #2196f3;
    border-color: #2196f3;
}

.btn-primary:hover {
    background-color: #0d8aee;
    border-color: #0c82e0;
}

.btn-warning {
    background-color: #ff9800;
    border-color: #ff9800;
    color: #fff;
}

.btn-warning:hover {
    background-color: #fb8c00;
    border-color: #f57c00;
    color: #fff;
}

/* ===================================
   Footer - Tamanho Reduzido (50%)
   =================================== */

.navbar.navbar-sm.navbar-light.border-top {
    padding: 0;
    margin-top: 2rem;
    font-size: 0.6875rem;
    min-height: auto;
}

.navbar.navbar-sm .text-muted {
    font-size: 0.6875rem;
}

.navbar.navbar-sm.border-top .navbar-nav-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.6875rem;
}

.navbar.navbar-sm.border-top .container {
    padding: 0.3rem 1rem;
}

/* Notificações - Posição absoluta para não afetar layout */
#notificacoes {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 9999;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* ===================================
   Drawer (Painel Lateral)
   =================================== */

/* Drawer Keyframes */
@keyframes drawerSlideIn {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

@keyframes drawerSlideOut {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
}

@keyframes backdropFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes backdropFadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* Drawer Backdrop */
.drawer-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    opacity: 0;
    pointer-events: none;
}

.drawer-backdrop.show {
    animation: backdropFadeIn 250ms ease forwards;
    pointer-events: auto;
}

.drawer-backdrop.closing {
    animation: backdropFadeOut 250ms ease forwards;
    pointer-events: none;
}

/* Drawer */
.drawer {
    position: fixed;
    top: 0;
    height: 100%;
    background-color: #fff;
    z-index: 1050;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.drawer-right {
    right: 0;
    width: 45%;
    max-width: 762px;
    transform: translateX(100%);
}

.drawer-right.show {
    animation: drawerSlideIn 250ms ease forwards;
}

.drawer-right.closing {
    animation: drawerSlideOut 250ms ease forwards;
}

/* Drawer Header */
.drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    background-color: #f8f9fa;
    flex-shrink: 0;
}

.drawer-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 500;
    color: #333;
}

.drawer-close-btn {
    width: 60px;
    height: 60px;
    border: none;
    background-color: transparent;
    font-size: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background-color 0.2s;
    color: #333;
    flex-shrink: 0;
}

.drawer-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.1);
}

.drawer-close-btn i {
    font-size: 1.5rem;
}

/* Drawer Body */
.drawer-body {
    padding: 0 1.5rem;
    overflow-y: auto;
    flex: 1;
}

/* Drawer Tabs */
.drawer-body .nav-tabs {
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* Responsividade do Drawer */
@media (max-width: 991.98px) {
    .drawer-right {
        width: 50%; /* Metade da tela em tablets */
    }
}

@media (max-width: 767.98px) {
    .drawer-right {
        width: 85%; /* Quase tela toda em mobile */
    }
}

/* Drawer empresas — 60% width */
.drawer-right.drawer-empresas {
    width: 60%;
    max-width: none;
}

/* Drawer wide — para telas com muito conteúdo (ex: produção) */
.drawer-right.drawer-wide {
    width: 99%;
    max-width: none;
}

.drawer-right.drawer-wide .drawer-body {
    padding: 0;
}

/* Modal e backdrop acima dos drawers empilhados */
.modal-backdrop {
    z-index: 1075 !important;
}
.modal {
    z-index: 1080 !important;
}

/* Badge bg-info com texto branco (override Bootstrap 5) */
.badge.bg-info,
.btn.bg-info {
    color: #fff !important;
}

/* Badge/btn bg-purple para status Arquivos Compensados */
.bg-purple {
    background-color: #7c3aed !important;
    color: #fff !important;
}

/* ===================================
   Theme: Light (Gold Accent)
   Paleta: #D1A45C (gold), #f5f1eb (bg), #faf8f5 (surface), #202020 (text)
   =================================== */

/* --- Layout & Background --- */
body.admin-sticky-footer { background-color: #f5f1eb; }
.page-content, .content-wrapper, .content-inner { background-color: #f5f1eb; }

/* --- Navbar --- */
.navbar-top {
    background-color: #C6944A !important;
    border-bottom: none !important;
    padding: 0 !important;
    min-height: 0;
}
.navbar-top .container-fluid { padding-top: 2px; padding-bottom: 2px; }
.navbar-top .navbar-brand { padding-top: 0; padding-bottom: 0; color: #FFFFFF !important; }
.navbar-top .navbar-nav-link { padding-top: 4px; padding-bottom: 4px; font-size: 0.8125rem; color: #FFFFFF !important; }
.navbar-top .navbar-nav-link:hover { background-color: rgba(255,255,255,0.15) !important; color: #FFFFFF !important; }
.navbar-top .dropdown-toggle { padding-top: 4px; padding-bottom: 4px; color: #FFFFFF !important; }
.navbar-top .form-select { padding-top: 2px; padding-bottom: 2px; font-size: 0.8125rem; height: auto; background-color: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color: #FFFFFF; }
.navbar-top .form-select:focus { border-color: #FFFFFF; box-shadow: 0 0 0 0.2rem rgba(255,255,255,0.25); }
.navbar-top .text-muted { color: rgba(255,255,255,0.7) !important; }
.navbar-top > .container > a,
.navbar-top > .container > span,
.navbar-top > .container-fluid > a,
.navbar-top > .container-fluid > span,
.navbar-top .navbar-brand a,
.navbar-top .navbar-brand span { color: #FFFFFF; }
.navbar-top .dropdown-menu { background-color: #FFFFFF; border-color: rgba(0,0,0,0.1); }
.navbar-top .dropdown-menu a,
.navbar-top .dropdown-menu span,
.navbar-top .dropdown-menu i { color: #202020 !important; }
.navbar-top .dropdown-menu a:hover { background-color: rgba(209,164,92,0.1); color: #D1A45C !important; }
.navbar-top .dropdown-menu .active,
.navbar-top .dropdown-menu .active i { color: #D1A45C !important; }
.navbar-menu { background-color: #FFFFFF !important; }
.navbar .navbar-nav .navbar-nav-link.active { background-color: rgba(209,164,92,0.1); color: #D1A45C; }
.navbar .navbar-nav .navbar-nav-link:hover { background-color: rgba(209,164,92,0.06); color: #202020; }
.navbar .navbar-nav .dropdown-item.active { background-color: rgba(209,164,92,0.1); color: #D1A45C; }
.navbar .navbar-nav .dropdown-item:hover { background-color: rgba(209,164,92,0.06); }

/* --- Botões --- */
.btn-primary { background-color: #D1A45C; border-color: #D1A45C; color: #FFFFFF; }
.btn-primary:hover, .btn-primary:focus { background-color: #c4943f; border-color: #b8883a; color: #FFFFFF; }
.btn-primary:active, .btn-primary.active { background-color: #b8883a; border-color: #ab7d35; color: #FFFFFF; }
.btn-outline-primary { color: #D1A45C; border-color: #D1A45C; }
.btn-outline-primary:hover, .btn-outline-primary:focus { background-color: #D1A45C; border-color: #D1A45C; color: #FFFFFF; }
.btn-info { background-color: #D1A45C; border-color: #D1A45C; color: #FFFFFF; }
.btn-info:hover { background-color: #c4943f; border-color: #b8883a; color: #FFFFFF; }

/* --- Formulários --- */
.form-control:focus, .form-select:focus { border-color: #D1A45C; box-shadow: 0 0 0 0.2rem rgba(209,164,92,0.25); }

/* --- Cards --- */
.card { background-color: #FFFFFF; border: 1px solid rgba(209,164,92,0.15); }
.card-header { background-color: #FFFFFF; border-bottom: 1px solid rgba(209,164,92,0.12); }
.card-footer { background-color: #faf8f5; border-top: 1px solid rgba(209,164,92,0.12); }
.card .bg-light { background-color: #faf8f5 !important; }

/* --- Page title --- */
.page-title h4 i { color: #D1A45C; }

/* --- Tabelas --- */
.table > thead > tr > th { background-color: #faf8f5 !important; border-bottom: 2px solid rgba(209,164,92,0.3); }
.table-hover > tbody > tr:hover { --bs-table-hover-bg: rgba(209,164,92,0.05); }

/* --- Accent color overrides --- */
.text-primary { color: #D1A45C !important; }
a { color: #D1A45C; }
a:hover { color: #c4943f; }

/* --- Badges --- */
.badge.bg-primary { background-color: #D1A45C !important; color: #FFFFFF !important; }
.badge.bg-info { background-color: #D1A45C !important; color: #FFFFFF !important; }

/* --- bg-warning sempre com texto branco --- */
.bg-warning, .badge.bg-warning, .btn-warning { color: #FFFFFF !important; }
.bg-warning.text-dark { color: #FFFFFF !important; }

/* --- Drawer --- */
.drawer { background-color: #FFFFFF; }
.drawer-header { background-color: #faf8f5; border-bottom-color: rgba(209,164,92,0.2); }
.drawer-backdrop { background-color: rgba(32,32,32,0.4); }
.drawer-body .bg-light { background-color: #faf8f5 !important; }

/* --- Stepper (produção) --- */
.drawer-body [style*="background:linear-gradient(135deg,#f8f9fa,#e9ecef)"] {
    background: linear-gradient(135deg, #faf8f5, #f5f1eb) !important;
}

/* --- Modais --- */
.modal-content { border-color: rgba(209,164,92,0.2); }
.modal-header { background-color: #faf8f5; border-bottom-color: rgba(209,164,92,0.15); }
.modal-footer { background-color: #faf8f5; border-top-color: rgba(209,164,92,0.15); }

/* --- Alerts --- */
.alert-info { background-color: rgba(209,164,92,0.1); border-color: rgba(209,164,92,0.25); color: #8b6914; }

/* --- Progress bars --- */
.progress { background-color: rgba(209,164,92,0.1); }
.progress-bar.bg-info { background-color: #D1A45C !important; }

/* --- Dropdowns --- */
.dropdown-menu { border-color: rgba(209,164,92,0.15); }
.dropdown-item.active, .dropdown-item:active { background-color: rgba(209,164,92,0.1); color: #D1A45C; }

/* --- Pagination --- */
.page-item.active .page-link { background-color: #D1A45C; border-color: #D1A45C; color: #FFFFFF; }
.page-link:hover { color: #c4943f; }

/* --- Footer --- */
.navbar.navbar-sm.navbar-light.border-top { background-color: #faf8f5; border-top-color: rgba(209,164,92,0.2) !important; }

/* --- Seleção / Focus geral --- */
::selection { background-color: rgba(209,164,92,0.25); color: #202020; }
::-moz-selection { background-color: rgba(209,164,92,0.25); color: #202020; }

/* --- Scrollbar (Webkit) --- */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f5f1eb; }
::-webkit-scrollbar-thumb { background: rgba(209,164,92,0.3); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(209,164,92,0.5); }

/* --- Spinner / Loading --- */
.spinner-border.text-primary { color: #D1A45C !important; }

/* --- Noty (notificações toast) --- */
.noty_body { font-family: inherit; }

/* --- Checkbox / Switch accent --- */
.form-check-input:checked { background-color: #D1A45C; border-color: #D1A45C; }
.form-check-input:focus { border-color: #D1A45C; box-shadow: 0 0 0 0.2rem rgba(209,164,92,0.25); }

/* --- Nav tabs --- */
.nav-tabs .nav-link.active { color: #D1A45C; border-bottom-color: #D1A45C; }
.nav-tabs .nav-link:hover { color: #c4943f; }

/* --- List group --- */
.list-group-item.active { background-color: #D1A45C; border-color: #D1A45C; }

/* --- Breadcrumb --- */
.breadcrumb-item.active { color: #D1A45C; }
.breadcrumb-item a { color: #D1A45C; }

/* --- Email composer preview (produção) - ajuste do header teal para gold --- */
/* Os previews são inline JS, mas o header do email real usa wrapEmailTemplate */
