/* ================================================= */
/* ===                 TABLES.CSS                === */
/* ================================================= */

/* --- Container e Estrutura --- */
.table-container {
    background: var(--content-bg-color); padding: 20px; border-radius: 8px;
    box-shadow: 0 0 15px var(--box-shadow-color); overflow-x: auto; transition: background-color 0.3s;
}
.table-container.overflow-visible { overflow: visible; }

table { width: 100%; border-collapse: collapse; }
th, td {
    padding: 12px 15px; text-align: left; border-bottom: 1px solid var(--table-border-color); vertical-align: middle;
}
th {
    background-color: var(--primary-color); color: var(--text-light-color); font-weight: bold;
}

/* --- Correção Visual de Cabeçalho (Borda Direita) --- */
thead th:nth-child(2) { border-right: none; }
thead th:nth-child(3) { padding-left: 0; }
tbody td:nth-child(2) + td { padding-left: 0; }

/* --- Status e Cores de Linha --- */
tr.status-active { background-color: var(--status-active-bg); }
tr.status-warning { background-color: var(--status-warning-bg); }
tr.status-expired { background-color: var(--status-expired-bg); }
tr.status-expiring-app { background-color: var(--status-expiring-app-bg); }
tr.status-app-expired { background-color: var(--status-expired-bg); }
tr.selected { background-color: rgba(52, 152, 219, 0.2) !important; }
tr:hover { background-color: rgba(52, 152, 219, 0.1); }

/* --- Colunas Específicas --- */
.anotacoes-col {
    max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center;
}
thead th:last-child { text-align: center; }

.dias-restantes-col, .servidor-col, .preco-col {
    min-width: 130px; text-align: center; white-space: nowrap;
}
#dias-restantes-header:hover { background-color: #2980b9; }
thead .app-expiring-header { display: none; }

/* --- Bulk Actions Toolbar --- */
.bulk-actions-toolbar {
    display: flex; align-items: center; justify-content: space-between;
    padding: 10px 15px; background-color: var(--primary-color); color: var(--text-light-color);
    border-radius: 8px; margin-bottom: 20px;
}
.bulk-actions-toolbar #bulk-counter { font-weight: bold; }
.bulk-actions-buttons { display: flex; align-items: center; gap: 10px; }
table input[type="checkbox"] { width: 18px; height: 18px; cursor: pointer; }

/* --- Barra de Ferramentas (Search e Botões) --- */
.toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; flex-wrap: wrap; gap: 15px; }
.toolbar-actions { display: flex; gap: 15px; }

.search-container { position: relative; display: flex; align-items: center; }
.search-container i.fa-search { position: absolute; left: 15px; color: #aaa; }
#search-input {
    padding: 10px 15px 10px 40px; border: 1px solid var(--input-border-color);
    border-radius: 20px; width: 100%; max-width: 300px;
    border-top-right-radius: 0; border-bottom-right-radius: 0;
    background-color: var(--content-bg-color); color: var(--text-color); height: 38px;
}

.btn-paste {
    background-color: #f0f0f0; border: 1px solid var(--input-border-color);
    color: var(--secondary-color); cursor: pointer; height: 38px; width: 40px;
    border-top-right-radius: 20px; border-bottom-right-radius: 20px; margin-left: -1px;
    display: flex; align-items: center; justify-content: center; transition: background-color 0.3s;
}
.btn-paste:hover { background-color: #e0e0e0; }
html[data-theme='dark'] .btn-paste { background-color: var(--secondary-color); color: var(--text-light-color); border-color: var(--input-border-color); }
html[data-theme='dark'] .btn-paste:hover { background-color: #4a627a; }

/* --- Copy e Detalhes --- */
.table-copy-container { display: flex; align-items: center; justify-content: flex-start; }
.table-copy-container span { flex-grow: 0; }
.copy-btn { margin-left: 15px; cursor: pointer; color: var(--primary-color); transition: color 0.3s, transform 0.2s; }
.copy-btn:hover { transform: scale(1.2); }


/* --- Sticky Header --- */
.sticky-header {
    position: -webkit-sticky; position: sticky; top: 0; z-index: 1020;
    background: var(--background-color);
}

/* --- Ações e Dropdowns (Lógica Desktop) --- */
.action-icons i { cursor: pointer; transition: color 0.2s, transform 0.2s; }
.action-icons i + i { margin-left: 15px; }
.action-icons i:hover { transform: scale(1.2); }
.edit-btn { color: var(--primary-color); }
.delete-btn { color: var(--danger-color); }
.user-action-link { cursor: pointer; text-decoration: none !important; color: inherit !important; cursor: default; }

.actions-cell { text-align: center; }
.actions-dropdown { position: relative; display: none; justify-content: flex-end; }
.actions-toggle-btn { background: none; border: 1px solid var(--input-border-color); border-radius: 5px; padding: 5px 10px; cursor: pointer; }
.dropdown-menu {
    display: none; position: absolute; top: 100%; right: 0;
    background-color: var(--content-bg-color); border-radius: 5px;
    box-shadow: 0 4px 12px var(--box-shadow-color); z-index: 1010;
    min-width: 150px; border: 1px solid #eee; padding: 5px 0;
}
.actions-dropdown.open .dropdown-menu { display: block; }
.dropdown-menu i { cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 10px 15px; color: var(--text-color); transition: background-color 0.2s; }
.dropdown-menu i:hover { background-color: rgba(52, 152, 219, 0.1); }
html[data-theme='dark'] .actions-toggle-btn { color: var(--text-color); border-color: var(--text-color); }

/* --- Detalhes da Linha (Expandível) --- */
.toggle-details-btn {
    cursor: pointer; font-size: 1.2em; color: var(--primary-color);
    transition: transform 0.3s; display: inline-block; width: 20px; text-align: center;
}
.toggle-details-btn.expanded { transform: rotate(135deg); color: var(--danger-color); }

.child-row td {
    padding: 20px 15px; background-color: var(--content-bg-color); border-top: 2px solid var(--primary-color);
}
@media (min-width: 769px) { .child-row td { padding: 20px 30px 20px 60px; } }

.details-content { display: grid; gap: 12px 20px; grid-template-columns: 1fr; text-align: left; padding: 15px; }
.detail-item { display: flex; align-items: flex-start; }
.dado-item, .detail-item { border-bottom: none !important; padding-bottom: 5px; margin-bottom: 5px; }
.detail-item strong { color: var(--text-color); font-size: 0.9em; margin-right: 8px; white-space: nowrap; }
.detail-item span { text-align: left; word-break: break-all; }
.detail-item .copy-btn { margin-left: 15px; }
.full-width-detail { grid-column: 1 / -1; }
.details-content hr { grid-column: 1 / -1; border: none; border-top: 1px solid #eee; margin: 5px 0; }

@media (min-width: 600px) { .details-content { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .details-content { grid-template-columns: repeat(3, 1fr); } }

/* --- RESPONSIVIDADE MOBILE DA TABELA (O Pulo do Gato) --- */
@media (max-width: 768px) {
    /* Esconde elementos não vitais */
    .hide-on-mobile { display: none; }
    #vencimento-contrato-header { display: none !important; }
    
    /* Ajuste da Toolbar */
    .toolbar { flex-direction: column; align-items: stretch; }
    .search-container { width: 100%; }
    .toolbar-actions { order: 2; flex-direction: column; }
    .btn-action { justify-content: center; } /* Centraliza texto dos botões no mobile */
    
    /* Layout da Tabela */
    table td { padding-left: 8px; padding-right: 8px; }
    .sticky-header { position: static; } /* Remove header fixo se quebrar layout */
    
    /* IMPORTANTE: Troca ícones por Dropdown */
    .action-icons { display: none; }
    .actions-dropdown { display: flex; }
    
    /* Correção do Botão Copiar na 4ª Coluna (Evita quebra de layout) */
    td:nth-child(4) > .table-copy-container > .copy-btn { display: none; }
    
    /* Links clicáveis */
    .user-action-link { cursor: pointer !important; }

/* Ajuste Botões Bulk Mobile */
    #bulk-send-msg-btn, #bulk-delete-btn, #bulk-copy-numbers-btn, #bulk-advance-btn, #bulk-renew-btn, #bulk-renew-advanced-btn { width: 44px; height: 44px; padding: 0; justify-content: center; align-items: center; }
    #bulk-send-msg-btn span, #bulk-delete-btn span, #bulk-copy-numbers-btn span, #bulk-advance-btn span, #bulk-renew-btn span,  #bulk-renew-advanced-btn span { display: none; }
    #bulk-send-msg-btn i, #bulk-delete-btn i, #bulk-copy-numbers-btn i, #bulk-advance-btn i, #bulk-renew-btn i,  #bulk-renew-advanced-btn i { margin: 0; font-size: 1.2rem; }

}
/* Desktop volta ao normal */
@media (min-width: 769px) { 
    .action-icons { display: block; } 
    .actions-dropdown { display: none; } 
}