
/* =====================================================
   TECFLUX | REGISTRAR VENDA
   Tema profissional - azul corporativo e verde
   Arquivo: app/lib/include/css/venda.css
   ===================================================== */

:root {
    --tv-blue: #2164b5;
    --tv-blue-dark: #174b8b;
    --tv-blue-light: #edf5ff;
    --tv-green: #12a765;
    --tv-green-dark: #07864e;
    --tv-green-light: #edf9f3;
    --tv-text: #263e5a;
    --tv-muted: #6c8099;
    --tv-border: #dce6f2;
    --tv-bg: #f4f7fc;
    --tv-white: #ffffff;
}



/* =====================================================
   1. JANELA / MODAL
   O :has() limita os estilos à janela que contém
   o formulário TabVendaForm.
   ===================================================== */

.twindow:has(#form_TabVendaForm),
.modal:has(#form_TabVendaForm),
.ui-dialog:has(#form_TabVendaForm) {
    border: 1px solid #dce6f2 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: var(--tv-white) !important;
    box-shadow: 0 14px 40px rgba(24, 54, 91, .16) !important;
}

/* Cabeçalho azul */
.twindow:has(#form_TabVendaForm) .twindow-title,
.modal:has(#form_TabVendaForm) .modal-header,
.ui-dialog:has(#form_TabVendaForm) .ui-dialog-titlebar {
    background: linear-gradient(110deg, #174b8b, #2875cf) !important;
    color: #fff !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.15) !important;
    min-height: 58px;
    padding: 15px 24px !important;
    box-sizing: border-box;
}

/* Texto do título */
.twindow:has(#form_TabVendaForm) .twindow-title *,
.modal:has(#form_TabVendaForm) .modal-header *,
.ui-dialog:has(#form_TabVendaForm) .ui-dialog-titlebar {
    color: #fff !important;
    font-weight: 700 !important;
}

/* Botão fechar */
.twindow:has(#form_TabVendaForm) .twindow-title button,
.twindow:has(#form_TabVendaForm) .twindow-title .close,
.modal:has(#form_TabVendaForm) .modal-header .btn-close {
    opacity: .95;
}

/* Corpo da janela */
.twindow:has(#form_TabVendaForm) .twindow-content,
.modal:has(#form_TabVendaForm) .modal-body,
.ui-dialog:has(#form_TabVendaForm) .ui-dialog-content {
    background: var(--tv-bg) !important;
}

/* =====================================================
   2. FORMULÁRIO PRINCIPAL
   ===================================================== */

#form_TabVendaForm {
    width: 100%;
    box-sizing: border-box;
    padding: 24px 28px 20px !important;
    background: var(--tv-bg) !important;
    color: var(--tv-text) !important;
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
}

/* Espaçamento das linhas */
#form_TabVendaForm .row {
    margin-bottom: 12px;
}

/* Rótulos normais e obrigatórios */
#form_TabVendaForm label,
#form_TabVendaForm label.required,
#form_TabVendaForm .control-label {
    display: inline-block;
    margin-bottom: 6px !important;
    color: #365879 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.4;
}

/* Elimina o vermelho aplicado aos rótulos, sem
   alterar as mensagens de erro do sistema. */
#form_TabVendaForm label:not(.text-danger) {
    color: #365879 !important;
}

/* =====================================================
   3. CAMPOS DE ENTRADA
   ===================================================== */

#form_TabVendaForm input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
#form_TabVendaForm select,
#form_TabVendaForm textarea {
    min-height: 40px;
    max-width: 100%;
    box-sizing: border-box;
    padding: 9px 12px !important;
    border: 1px solid #d6e2f0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: #29415e !important;
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 13px !important;
    box-shadow: 0 1px 2px rgba(31, 59, 92, .035) !important;
    transition: border-color .18s ease,
                box-shadow .18s ease;
}

/* Texto de orientação dentro dos campos */
#form_TabVendaForm input::placeholder,
#form_TabVendaForm textarea::placeholder {
    color: #9aaabe !important;
    opacity: 1;
}

/* Foco */
#form_TabVendaForm input:focus,
#form_TabVendaForm select:focus,
#form_TabVendaForm textarea:focus {
    outline: none !important;
    border-color: #4387d3 !important;
    box-shadow: 0 0 0 3px rgba(33, 100, 181, .10) !important;
}

/* Campo de observação */
#form_TabVendaForm textarea {
    min-height: 64px;
    resize: vertical;
}

/* =====================================================
   4. SEPARADORES E TÍTULOS DE SEÇÃO
   ===================================================== */

#form_TabVendaForm hr {
    height: 0;
    border: 0 !important;
    border-top: 1px solid #dce6f2 !important;
    margin: 22px 0 !important;
}

/* Títulos produzidos pelo TFormSeparator */
#form_TabVendaForm .tformseparator {
    display: block;
    padding: 8px 0 13px !important;
    margin: 14px 0 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #dce6f2 !important;
    background: transparent !important;
    color: #174f91 !important;
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
}

/* =====================================================
   5. BOTÕES
   ===================================================== */

#form_TabVendaForm .btn {
    min-height: 38px;
    padding: 9px 15px !important;
    border-radius: 9px !important;
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.3;
    box-shadow: none !important;
    transition: background-color .18s ease,
                border-color .18s ease,
                box-shadow .18s ease;
}

/* Botão azul */
#form_TabVendaForm .btn-primary {
    color: #fff !important;
    background: var(--tv-blue) !important;
    border-color: var(--tv-blue) !important;
}

#form_TabVendaForm .btn-primary:hover {
    background: var(--tv-blue-dark) !important;
    border-color: var(--tv-blue-dark) !important;
}

/* Botão verde */
#form_TabVendaForm .btn-success {
    color: #fff !important;
    background: var(--tv-green) !important;
    border-color: var(--tv-green) !important;
}

#form_TabVendaForm .btn-success:hover {
    background: var(--tv-green-dark) !important;
    border-color: var(--tv-green-dark) !important;
}

/* Botões secundários */
#form_TabVendaForm .btn-default,
#form_TabVendaForm .btn-light,
#form_TabVendaForm .btn-secondary {
    color: #365879 !important;
    background: #fff !important;
    border: 1px solid #dce6f2 !important;
}

#form_TabVendaForm .btn-default:hover,
#form_TabVendaForm .btn-light:hover,
#form_TabVendaForm .btn-secondary:hover {
    background: #f2f7fd !important;
    border-color: #b9cee5 !important;
}

/* =====================================================
   6. TABELA DE PRODUTOS
   ===================================================== */

#tb_vendasitens_tb_venda_list {
    width: 100% !important;
    margin-top: 8px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    border: 1px solid #dce6f2 !important;
    border-radius: 10px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    overflow: hidden;
    color: var(--tv-text) !important;
    font-family: "Segoe UI", Arial, sans-serif !important;
    font-size: 12px !important;
}

/* Cabeçalho da tabela */
#tb_vendasitens_tb_venda_list thead th {
    padding: 13px 11px !important;
    background: #edf4fc !important;
    color: #31577f !important;
    border: 0 !important;
    border-bottom: 1px solid #d8e4f2 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-align: left;
    white-space: nowrap;
}

/* Células */
#tb_vendasitens_tb_venda_list tbody td {
    min-height: 38px;
    padding: 11px !important;
    background: #fff !important;
    color: #344a64 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf1f7 !important;
    vertical-align: middle !important;
}

/* Ações de editar e excluir */
#tb_vendasitens_tb_venda_list tbody td:first-child,
#tb_vendasitens_tb_venda_list tbody td:nth-child(2) {
    text-align: center;
}

/* Ícones dentro da tabela */
#tb_vendasitens_tb_venda_list tbody td a {
    text-decoration: none !important;
}

/* Hover das linhas */
#tb_vendasitens_tb_venda_list tbody tr:hover td {
    background: #f3f8ff !important;
}

/* Última linha, que pode ser usada pelo framework
   para apresentar totais */
#tb_vendasitens_tb_venda_list tbody tr:last-child td {
    background: #f0f8f3 !important;
    border-bottom: 0 !important;
}

/* Última célula da linha de total */
#tb_vendasitens_tb_venda_list tbody tr:last-child td:last-child {
    color: #07834d !important;
    font-weight: 700 !important;
    font-size: 14px !important;
}

/* =====================================================
   7. ÁREA DE AÇÕES / RODAPÉ
   ===================================================== */

#form_TabVendaForm .tformaction,
#form_TabVendaForm .tformfooter,
#form_TabVendaForm .form-actions,
#form_TabVendaForm .card-footer {
    padding: 13px 16px !important;
    background: #edf2f9 !important;
    border: 0 !important;
    border-radius: 10px !important;
}

/* =====================================================
   8. RESPONSIVIDADE
   ===================================================== */

@media (max-width: 768px) {
    #form_TabVendaForm {
        padding: 14px !important;
    }

    #form_TabVendaForm .tformseparator {
        font-size: 15px !important;
    }

    #tb_vendasitens_tb_venda_list {
        display: block;
        max-width: 100%;
        overflow-x: auto;
    }

    #tb_vendasitens_tb_venda_list th,
    #tb_vendasitens_tb_venda_list td {
        white-space: nowrap;
    }

    .twindow:has(#form_TabVendaForm),
    .modal:has(#form_TabVendaForm) {
        max-width: 100% !important;
    }
}
