:root {
    /* --- Globais e Tipografia --- */
    --font-size: 13px;
    --font-family: 'Inter', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    
    /* --- Paleta de Cores (Corporate Clean com Roxo da Marca) --- */
    --main-color: #5b02c2; /* Roxo Vibrante */
    
    /* Tons de Slate (Cinza Azulado) para Texto */
    --text-color-strong: #1E293B; /* Slate 800 */
    --text-color: #475569;        /* Slate 600 */
    --text-color-light: #94A3B8;  /* Slate 400 */
    
    /* --- Estrutura --- */
    --template-border-color: #E2E8F0;
    --scrollbar-color: #CBD5E1;
    
    /* --- Fundos --- */
    --live-background-color: #F1F5F9; /* Slate 100 */
    
    /* Header */
    --header-height: 56px; /* Altura padrão confortável */
    --header-background-color: #FFFFFF;
    --header-border-bottom: var(--template-border-color);
    --header-logo-border-right: transparent;
    --header-logo-border-bottom: var(--template-border-color);
    --header-logo-background: #FFFFFF;
    --header-track-border-right: var(--template-border-color);
    --header-logo-font-size: 18px;
    --header-text-color: var(--text-color-strong);
    --header-box-display: none;
    --header-box-width: 56px;
    --header-box-background: transparent;
    --header-box-shadow: none;

    /* Buttons (Ajustado para conforto) */
    --button-height: 36px; /* Restaurado para 36px */
    --button-border: #E2E8F0;
    --button-text-color: #475569;
    --button-text-color-hover: #5b02c2;
    --button-background: #FFFFFF;
    --button-border-radius: 6px;
    --button-padding: 12px; /* Restaurado para 12px */
    --button-box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);

    /* Menu */
    --menu-box-shadow: none;
    --menu-master-color-strong: #334155;
    --menu-width: 250px; /* Largura média confortável */
    --menu-border-right: var(--template-border-color);
    --menu-background-color: #FFFFFF;
    --menu-icon-font-size: 15px;
    --menu-background-check: #f3e8ff; /* Tint Roxo */
    --menu-check-color: #5b02c2;
    --menu-button-border-color: var(--button-border);

    /* Submenu */
    --submenu-border-right: var(--template-border-color);
    --submenu-background-color: #FFFFFF;
    --submenu-sub-text-color: #64748B;
    --submenu-text-color: var(--text-color);
    --submenu-text-hover: #5b02c2;
    --submenu-background-check: #f3e8ff;
    --submenu-check-color: #5b02c2;

    /* Top Menu */
    --top-menu-border: var(--template-border-color);
    --top-menu-background-color: #FFFFFF;
    --top-menu-background-check: #f3e8ff;
    --top-menu-check-color: #5b02c2;
    --top-menu-hover-color: #5b02c2;
    --top-menu-color: #64748B;

    /* Top Submenu */
    --top-submenu-background-color: #FFFFFF;
    --top-submenu-text-color: #64748B;
    --top-submenu-text-hover: #5b02c2;
    --top-submenu-background-check: #f3e8ff;
    --top-submenu-check-color: #5b02c2;

    /* Login */
    --login-background-color: var(--live-background-color);
    --login-panel-header-background: #FFFFFF;
    --login-panel-left-background-color: #5b02c2;
    --login-panel-right-background-color: #FFFFFF;
    
    --login-button-background: #5b02c2;
    --login-button-text-color: #FFFFFF;
    
    --login-panel-left-text-header-color: #FFFFFF;
    --login-panel-left-text-header-align: left;
    --login-panel-left-text-header-font-size: 28px;
    --login-panel-left-text-header-font-weight: 700;
    
    --login-panel-left-text-footer-color: #FFFFFF;
    --login-panel-left-text-footer-align: left;
    --login-panel-left-text-footer-font-size: 20px;
    --login-panel-left-text-footer-font-weight: 600;
    
    --login-title-font-size: 24px;
    --login-title-align: center;
    --login-title-font-weight: 700;
    --login-title-color: var(--text-color-strong);

    --login-header-font-size: 13px;
    --login-header-align: left;
    --login-header-color: var(--text-color);
    --login-border-color: var(--template-border-color);

    --login-panel-detail-display: flex;
    --login-panel-detail-display-image: flex;
    --login-panel-detail-display-details: flex;

    --login-panel-detail-image-size: contain;
    --login-panel-detail-image-position: center;
    --login-panel-detail-direction: row;
    --login-panel-max-width: 1000px;
    --login-panel-border-radius: 8px;
    --login-panel-box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --login-form-box-shadow: none;
    --login-link-color: #5b02c2;

    /* Fields (Ajustado para alinhar com botões) */
    --field-border-color: #CBD5E1;
    --field-border-top: 1px;
    --field-border-bottom: 1px;
    --field-border-right: 1px;
    --field-border-left: 1px;
    --field-height: 36px; /* Restaurado para 36px */
    --field-border-radius: 6px;
    --field-placeholder-color: #94A3B8;
    --field-padding-horizontal: 12px; /* Restaurado para 12px */
    --field-padding-vertical: 0px;
    --field-padding: var(--field-padding-vertical) var(--field-padding-horizontal);
    --field-color: #1E293B;
    --field-background: #FFFFFF;
    --field-focus-border-color: #5b02c2;
    
    /* Estados dos campos (NOVO) */
    --field-check-color: #5b02c2;
    --field-disabled-background: #F1F5F9;
    --field-disabled-border: #CBD5E1;
    --field-disabled-text-color: #94A3B8;

    /* Content */
    --content-border-color: #E2E8F0;
    --content-border-radius: 8px;
    --content-background: #FFFFFF;
    --color-overlay: rgba(15, 23, 42, 0.5);
    
    --color-green: #10B981;
    --color-red: #EF4444;
    --color-blue: #3B82F6;
    --color-orange: #F97316;
    --color-sea: #06B6D4;
    --color-purple: #5b02c2;

    /* Modal */
    --modal-background: #FFFFFF;
    --modal-footer-background: #F8FAFC;
    --modal-header-background: #5b02c2;
    --modal-header-color: #FFFFFF;

    --preloader-color: #5b02c2;
    --live-area-width: 100%;
    --login-background-opacity: 1;

    /* Panel */
    --panel-background: #FFFFFF;
    --panel-header-background: #FFFFFF;
    --panel-footer-background: #FFFFFF;
    --panel-header-color: #1E293B;
    --panel-body-padding: 16px;
    --panel-border-radius: 8px;
    --panel-box-shadow: none;
    /*--panel-box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);*/
    --panel-border-color: #E2E8F0;
    
    --panel-header-padding-vertical: 12px;
    --panel-header-padding-horizontal: 16px;
    --panel-header-border-color: #F1F5F9;
    
    /* Variáveis de painel adicionais (NOVO) */
    --panel-padding: 0;
    --panel-footer-align-buttons: right;

    /* Table */
    --tr-hover-background: #F8FAFC;
    --tr-hover-color: #1E293B;
    --tr-even-background: #FFFFFF;
    --tr-odd-background: #FCFCFD;
    --table-body-color: #475569;
    --table-header-color: #1E293B;
    
    /* Variáveis de tabela adicionais (NOVO) */
    --table-header-border-color: #E2E8F0;
    --table-header-background: #F8FAFC;
    --table-header-font-weight: 600;
    --table-header-font-size: 13px;
    --table-header-padding-vertical: 12px;

    --menu-user-splash-background: #F8FAFC;
    --panel-header-font-size: 15px;
    --panel-header-font-weight: 600;
    
    --header-logo-text-color: #1E293B;
    --menu-background-button-circle: #FFFFFF;
    --menu-color-button-circle: #64748B;

    --top-menu-background-button-circle: #FFFFFF;
    --top-menu-color-button-circle: #64748B;

    --submenu-font-size: 13px;
    --submenu-padding-horizontal: 0px;
    --submenu-item-padding-horizontal: 16px;
    --submenu-item-padding-vertical: 8px;
    --modules-button-radius: 6px;

    --header-box-padding-horizontal: 0px;
    --header-box-padding-vertical: 0px;
    --header-logo-padding-horizontal: 0px;
    --header-logo-padding-vertical: 0px;
    --login-panel-left-header-image-position: center;

    --login-text-center-align: center;
    --login-text-center-size: 14px;
    --login-text-center-weight: 500;
    --login-text-center-color: #64748B;

    --panel-row-margin-bottom: 12px;
    
    /* ============ VARIÁVEIS ADICIONAIS CRÍTICAS (NOVO) ============ */
    
    /* Tabs (NOVO) */
    --tab-active-color: #5b02c2;
    --tab-active-background: #f3e8ff;
    --tab-active-border-color: #5b02c2;
    --tab-active-font-weight: 600;
    --tab-font-size: 13px;
    --tab-font-weight: 500;
    --tab-color: #64748B;
    --tab-background: transparent;
    --tab-border-color: #E2E8F0;
    --tab-border-radius: 6px;

    .nav-tabs {
        border-bottom: 2px solid var(--template-border-color) !important;
    }

    .nav-tabs .nav-item {
        margin-bottom: -2px !important;
    }

    .nav-tabs .nav-link {
        font-size: var(--tab-font-size);
        font-weight: var(--tab-font-weight);
        color: var(--tab-color);
        background-color: var(--tab-background);
        border: none !important;
        border-bottom: 1px solid var(--template-border-color) !important;
        padding-top: 7px;
        border-radius: var(--tab-border-radius) var(--tab-border-radius) 0px 0px;
    }

    .nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active {
        color: var(--tab-active-color);
        background-color: transparent !important;
        border-top: none !important;
        border-left: none !important;
        border-right: none !important;
        border-bottom: 2px solid var(--tab-active-color) !important;
        font-weight: var(--tab-active-font-weight) !important;
    }

    .tab-pane{
        border: none !important;
    }

    /* Cores auxiliares (NOVO) */
    --color-fit: #475569;
    
    /* Sombras (NOVO - para consistência) */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    
    /* Espaçamentos (NOVO - opcional mas útil) */
    --spacing-1: 4px;
    --spacing-2: 8px;
    --spacing-3: 12px;
    --spacing-4: 16px;
    --spacing-5: 20px;
    --spacing-6: 24px;
    --spacing-8: 32px;
    
    /* Bordas (NOVO - para consistência) */
    --border-width: 1px;
    --border-width-thick: 2px;
    --border-radius-sm: 4px;
    --border-radius-md: 6px;
    --border-radius-lg: 8px;
    --border-radius-xl: 12px;
    --border-radius-full: 9999px;
    
    /* Transições (NOVO) */
    --transition-fast: 0ms ease;
    --transition-base: 0ms ease;
    --transition-slow: 0ms ease;
    
    /* Animações (NOVO) */
    --focus-ring-color: rgba(91, 2, 194, 0.2);
    --focus-ring-width: 3px;
    
    /* Componentes específicos (NOVO) */
    --card-border-radius: var(--panel-border-radius);
    --card-shadow: var(--panel-box-shadow);
    --input-group-addon-bg: #F1F5F9;
    --dropdown-bg: #FFFFFF;
    --dropdown-border: #E2E8F0;
    --dropdown-shadow: var(--shadow-md);
    
    /* Z-index (NOVO) */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal: 1040;
    --z-popover: 1050;
    --z-tooltip: 1060;

    --name: roxo;

    .tfile_dropzone:hover {
        border-color: var(--main-color);
        background-color: #e9d5ff33;
    }
}

.container-login .login-content [page-name="LoginForm"] .card {
    border: none !important;
}
.container-login .login-content [page-name="LoginForm"] .card-footer {
    border: none !important;
}



/* ============================================
   ESTILOS PARA TABELAS (TDataGrid) - FormBuilder
   Aplica apenas em tabelas dentro de fb-field-container
   ============================================ */

/* Container da tabela dentro do FormBuilder */
.fb-field-container .fb-inline-field-container .table-responsive {
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #FFFFFF !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1) !important;
    margin-bottom: 20px !important;
}

/* Tabela base */
.fb-field-container .fb-inline-field-container .table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
}

/* Header da tabela */
.fb-field-container .fb-inline-field-container .table thead th {
    background: #F8FAFC !important;
    color: #1E293B !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    padding: 12px 16px !important;
    border-bottom: 2px solid #E2E8F0 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    white-space: nowrap !important;
    user-select: none !important;
}

/* Primeira coluna do header */
.fb-field-container .fb-inline-field-container .table thead th:first-child {
    border-top-left-radius: 8px !important;
}

/* Última coluna do header */
.fb-field-container .fb-inline-field-container .table thead th:last-child {
    border-top-right-radius: 8px !important;
}

/* Colunas de ação no header (ícones editar/excluir) */
.fb-field-container .fb-inline-field-container .table thead th.tdatagrid_action {
    background: #F8FAFC !important;
    padding: 8px 4px !important;
    text-align: center !important;
    width: 28px !important;
    min-width: 28px !important;
}

/* Células do corpo da tabela */
.fb-field-container .fb-inline-field-container .table tbody td {
    padding: 12px 16px !important;
    color: #475569 !important;
    font-size: 14px !important;
    border-bottom: 1px solid #F1F5F9 !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    vertical-align: top !important;
}


table.tfieldlist td.field {
    vertical-align: top !important;
}

/* Linhas alternadas (zebra striping) */
.fb-field-container .fb-inline-field-container .table-striped tbody tr:nth-of-type(odd) {
    background-color: #FCFCFD !important;
}

.fb-field-container .fb-inline-field-container .table-striped tbody tr:nth-of-type(even) {
    background-color: #FFFFFF !important;
}

/* Hover nas linhas */
.fb-field-container .fb-inline-field-container .table-hover tbody tr:hover {
    background-color: #F8FAFC !important;
    cursor: pointer !important;
}

/* Última linha da tabela */
.fb-field-container .fb-inline-field-container .table tbody tr:last-child td {
    border-bottom: none !important;
}

/* Primeira célula da última linha */
.fb-field-container .fb-inline-field-container .table tbody tr:last-child td:first-child {
    border-bottom-left-radius: 8px !important;
}

/* Última célula da última linha */
.fb-field-container .fb-inline-field-container .table tbody tr:last-child td:last-child {
    border-bottom-right-radius: 8px !important;
}

/* Campos hidden dentro das células */
.fb-field-container .fb-inline-field-container .table tbody td input[type="hidden"] {
    display: none !important;
}

/* Bordas da tabela */
.fb-field-container .fb-inline-field-container .table-bordered {
    border: 1px solid #E2E8F0 !important;
    border-radius: 8px !important;
}

.fb-field-container .fb-inline-field-container .table-bordered th,
.fb-field-container .fb-inline-field-container .table-bordered td {
    border-left: none !important;
    border-right: none !important;
}

/* Células clicáveis */
.fb-field-container .fb-inline-field-container .table tbody td[href] {
    cursor: pointer !important;
    transition: background-color 0.2s ease !important;
}

/* Células com links de edição */
.fb-field-container .fb-inline-field-container .table tbody td[generator="adianti"] {
    position: relative !important;
}



/* Alinha campos de resultado (ex: totais e somatórios) à direita da linha,
   sobrescrevendo o layout padrão do Adianti/MadBuilder (float + inline-block) */
.row-align-right {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.row-align-right .fb-field-container {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}

.row-align-right .fb-inline-field-container {
    float: none !important;
}







/* Responsividade para tabelas */
@media (max-width: 768px) {
    .fb-field-container .fb-inline-field-container .table-responsive {
        border-radius: 6px !important;
    }
    
    .fb-field-container .fb-inline-field-container .table thead th,
    .fb-field-container .fb-inline-field-container .table tbody td {
        padding: 10px 12px !important;
        font-size: 13px !important;
    }
    
    .fb-field-container .fb-inline-field-container .table tbody td.action a {
        width: 28px !important;
        height: 28px !important;
    }
    
    .fb-field-container .fb-inline-field-container .table tbody td.action a i {
        font-size: 14px !important;
    }
}

/* Tabelas dentro de panels */
.panel .fb-field-container .fb-inline-field-container .table-responsive {
    margin: 0 !important;
    border-radius: 0 0 8px 8px !important;
}

.panel .fb-field-container .fb-inline-field-container .table thead th:first-child {
    border-top-left-radius: 0 !important;
}

.panel .fb-field-container .fb-inline-field-container .table thead th:last-child {
    border-top-right-radius: 0 !important;
}

/* Estados especiais */
.fb-field-container .fb-inline-field-container .table tbody tr.selected {
    background-color: #f3e8ff !important;
}

.fb-field-container .fb-inline-field-container .table tbody tr.selected:hover {
    background-color: #ede9fe !important;
}

/* Loading state */
.fb-field-container .fb-inline-field-container .table tbody tr.loading td {
    opacity: 0.5 !important;
    pointer-events: none !important;
}

/* Ícone dentro do botão - força cor branca */
.fb-field-container .fb-inline-field-container button.btn-success i[class*="fa-"],
.fb-field-container .fb-inline-field-container button.btn-success i.fa-edit,
.fb-field-container .fb-inline-field-container button.btn-success i.far,
.fb-field-container .fb-inline-field-container button.btn-success i.fas,
.fb-field-container .fb-inline-field-container button.btn-success span i {
    color: #FFFFFF !important;
}
