@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&family=Orbitron:wght@700&display=swap');

:root {
    /* Light Mode */
    --primary-bg: #F0F2F5;
    --secondary-bg: #FFFFFF;
    --sidebar-bg: #1a1c23;
    --accent-color: #00A3FF;
    --text-color: #333333;
    --text-light: #666666;
    --success: #28a745;
    --danger: #dc3545;
    --warning: #ffc107;
    --info: #17a2b8;
    --border-radius: 8px;
    --card-shadow: 0 2px 4px rgba(0,0,0,0.05);
    --transition: all 0.3s ease;
}

.dark-mode {
    --primary-bg: #121212;
    --secondary-bg: #1E1E1E;
    --sidebar-bg: #000000;
    --text-color: #E0E0E0;
    --text-light: #A0A0A0;
    --card-shadow: 0 4px 6px rgba(0,0,0,0.4);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Roboto', sans-serif;
}

body {
    background-color: var(--primary-bg);
    color: var(--text-color);
    transition: var(--transition);
    height: 100vh;
    overflow: hidden;
    display: flex;
}

/* ==========================================
   SIDEBAR
   ========================================== */

#sidebar {
    width: 260px;
    background-color: var(--sidebar-bg);
    color: white;
    display: flex;
    flex-direction: column;
    padding: 20px;
    box-shadow: 2px 0 10px rgba(0,0,0,0.2);
    position: fixed;
    height: 100vh;
    overflow-y: auto;
}

.logo {
    font-family: 'Orbitron', sans-serif;
    font-size: 22px;
    color: var(--accent-color);
    margin-bottom: 40px;
    text-align: center;
    border-bottom: 1px solid #333;
    padding-bottom: 20px;
    font-weight: 700;
}

.menu {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.menu-item {
    display: flex;
    align-items: center;
    padding: 15px;
    color: #ccc;
    text-decoration: none;
    border-radius: var(--border-radius);
    margin-bottom: 5px;
    cursor: pointer;
    transition: var(--transition);
}

.menu-item:hover, 
.menu-item.active {
    background-color: var(--accent-color);
    color: white;
}

.menu-item i {
    margin-right: 15px;
    width: 20px;
    text-align: center;
}

#btn-limpar-tudo {
    border: 1px solid rgba(255,77,77,0.3);
    background: rgba(255,77,77,0.1);
    color: #ff4d4d;
}

#btn-limpar-tudo:hover {
    background: #ff4d4d;
    color: white;
    border-color: #ff4d4d;
}

.user-info {
    margin-top: 20px;
    padding: 15px;
    background: rgba(255,255,255,0.1);
    border-radius: var(--border-radius);
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-info i {
    font-size: 24px;
}

/* ==========================================
   MAIN CONTENT
   ========================================== */

#main-content {
    flex: 1;
    margin-left: 260px;
    padding: 30px;
    overflow-y: auto;
}

.page {
    display: none;
    animation: fadeIn 0.3s ease;
}

.page.active {
    display: block;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================
   HEADER
   ========================================== */

.header-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

/* Cards de Estatísticas de Auditoria */
.stat-card {
    background: linear-gradient(135deg, var(--secondary-bg) 0%, #f8f9fa 100%);
    border: 2px solid #e0e0e0;
    border-radius: 6px;
    padding: 3px 10px 4px 10px;
    min-width: 100px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}

.stat-card-label {
    font-size: 8px;
    font-weight: 600;
    color: #666;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 1px;
    line-height: 1;
}

.stat-card-value {
    font-size: 17px;
    font-weight: 700;
    color: var(--accent-color);
    line-height: 1;
}

.stat-card-auditados {
    border-color: #4caf50;
}

.stat-card-auditados .stat-card-value {
    color: #4caf50;
}

.stat-card-pendentes {
    border-color: #ff9800;
}

.stat-card-pendentes .stat-card-value {
    color: #ff9800;
}

#auditoria-stats-cards {
    animation: fadeInSlide 0.5s ease;
}

@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.page-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--accent-color);
}

.btn-dark-mode {
    background: var(--secondary-bg);
    border: 1px solid #ddd;
    padding: 10px 15px;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: var(--transition);
}

.btn-dark-mode:hover {
    background: var(--accent-color);
    color: white;
    border-color: var(--accent-color);
}

.contestacao-page-shell {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contestacao-dashboard-shell {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contestacao-view-switch {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.contestacao-view-switch-btn {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    border-radius: 10px;
    padding: 12px 18px;
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    transition: all 0.2s ease;
}

.contestacao-view-switch-btn:hover {
    transform: translateY(-1px);
    border-color: #94a3b8;
}

.contestacao-view-switch-btn.active {
    background: linear-gradient(135deg, #0f766e 0%, #115e59 100%);
    color: #fff;
    border-color: #115e59;
    box-shadow: 0 10px 24px rgba(15, 118, 110, 0.18);
}

.contestacao-upload-card,
.contestacao-section-card,
.contestacao-preview-card {
    background: var(--secondary-bg);
    border-radius: 12px;
    box-shadow: var(--card-shadow);
    padding: 20px;
    border: 1px solid #e5e7eb;
}

.contestacao-upload-header,
.contestacao-section-head {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.contestacao-upload-grid,
.contestacao-chart-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

#contestacao .contestacao-chart-grid .chart-wrapper {
    height: 430px;
    min-width: 0;
}

#contestacao .contestacao-chart-grid .chart-wrapper canvas {
    max-height: 340px !important;
}

.contestacao-upload-panel {
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 10px;
    padding: 16px;
}

.contestacao-helper-text,
.contestacao-preview-meta {
    color: var(--text-light);
    font-size: 13px;
}

.contestacao-status-box {
    min-height: 20px;
    margin-top: 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.contestacao-inline-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.contestacao-inline-filters input,
.contestacao-inline-filters select {
    height: 36px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 0 10px;
    background: #fff;
}

.contestacao-inline-filters--dense input,
.contestacao-inline-filters--dense select {
    min-width: 150px;
}

.contestacao-kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.contestacao-table-wrap {
    overflow-x: auto;
    border: 1px solid #dbe3ec;
    border-radius: 12px;
    background: #fff;
}

.contestacao-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.contestacao-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eaf2ff;
    color: #0f172a;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 12px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}

.contestacao-table tbody td {
    padding: 12px;
    border-bottom: 1px solid #eef2f7;
    vertical-align: top;
    line-height: 1.4;
    color: #1f2937;
    background: #fff;
}

.contestacao-table tbody tr:nth-child(even) td {
    background: #f8fbff;
}

.contestacao-table tbody tr:hover td {
    background: #eef6ff;
}

.contestacao-table--preview tbody td:nth-child(5),
.contestacao-table--analitico tbody td:nth-child(7),
.contestacao-table--analitico tbody td:nth-child(11),
.contestacao-table--analitico tbody td:nth-child(19),
.contestacao-table--analitico tbody td:nth-child(20) {
    min-width: 220px;
    white-space: normal;
    word-break: break-word;
}

.contestacao-table--lotes tbody td:nth-child(2) {
    min-width: 280px;
}

.contestacao-table--analitico tbody td:last-child,
.contestacao-table--preview tbody td:last-child {
    white-space: nowrap;
}

.contestacao-preview-errors ul {
    margin: 8px 0 0 18px;
}

@media (max-width: 768px) {
    .contestacao-view-switch-btn {
        width: 100%;
        justify-content: center;
    }

    .contestacao-inline-filters input,
    .contestacao-inline-filters select,
    .contestacao-inline-filters button {
        width: 100%;
    }
}

.contestacao-paginacao {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 16px;
}

.contestacao-paginacao-btn {
    min-width: 36px;
    height: 36px;
    border: 1px solid #cbd5e1;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
}

.contestacao-paginacao-btn.active {
    background: var(--accent-color);
    color: #fff;
    border-color: var(--accent-color);
}

.contestacao-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 24px;
}

.contestacao-modal {
    width: min(1100px, 96vw);
    max-height: 90vh;
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    position: relative;
}

.contestacao-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    border: none;
    background: transparent;
    font-size: 26px;
    cursor: pointer;
}

.contestacao-timeline-wrap {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 18px;
}

.contestacao-timeline-item {
    background: #f8fafc;
    border: 1px solid #dbe3ec;
    border-radius: 12px;
    padding: 14px;
    line-height: 1.5;
}

.contestacao-timeline-item--contestacao {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #93c5fd;
}

/* ==========================================
   METRICS CARDS
   ========================================== */

.metrics-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-bottom: 20px;
}

.metric-card {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.metric-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.comparativo-feedback-card {
    appearance: none;
    font: inherit;
    color: inherit;
    cursor: pointer;
}

.comparativo-feedback-card.comparativo-feedback-card-active {
    border-color: #1d4ed8 !important;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.14), 0 10px 24px rgba(15, 23, 42, 0.1);
    transform: translateY(-2px);
}

.tendencias-feedback-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.tendencias-feedback-card {
    border: 1px solid rgba(148, 163, 184, 0.2);
    padding: 13px 16px;
    min-height: 82px;
}

.tendencias-feedback-card .metric-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.tendencias-feedback-card .metric-value {
    font-size: 24px;
    color: #0f172a;
}

.tendencias-feedback-card .metric-label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tendencias-feedback-detail {
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-light);
    font-weight: 500;
}

.tendencias-feedback-detail:empty {
    display: none;
}

.tendencias-feedback-card-total {
    background: linear-gradient(135deg, rgba(254, 242, 242, 0.98) 0%, rgba(254, 226, 226, 0.98) 100%);
    border-color: rgba(239, 68, 68, 0.22);
}

.tendencias-feedback-card-total .metric-icon {
    background: linear-gradient(135deg, #dc2626 0%, #ef4444 100%);
}

.tendencias-feedback-card-total .metric-value {
    color: #991b1b;
}

.tendencias-feedback-card-aplicado {
    background: linear-gradient(135deg, rgba(240, 253, 244, 0.96) 0%, rgba(220, 252, 231, 0.96) 100%);
    border-color: rgba(34, 197, 94, 0.2);
}

.tendencias-feedback-card-aplicado .metric-icon {
    background: linear-gradient(135deg, #16a34a 0%, #22c55e 100%);
}

.tendencias-feedback-card-aplicado .metric-value small {
    color: #15803d;
}

.tendencias-feedback-card-pendente {
    background: linear-gradient(135deg, rgba(255, 247, 237, 0.96) 0%, rgba(254, 215, 170, 0.92) 100%);
    border-color: rgba(249, 115, 22, 0.2);
}

.tendencias-feedback-card-pendente .metric-icon {
    background: linear-gradient(135deg, #ea580c 0%, #f97316 100%);
}

.tendencias-feedback-card-pendente .metric-value small {
    color: #c2410c;
}

.tendencias-tempo-exp-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin-bottom: 22px;
}

.tendencias-tempo-exp-row {
    display: grid;
    grid-template-columns: minmax(240px, 320px) minmax(260px, 1fr) 78px;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
}

.tendencias-tempo-exp-label {
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.3;
}

.tendencias-tempo-exp-meta {
    margin-top: 3px;
    font-size: 11px;
    font-weight: 500;
    color: #64748b;
}

.tendencias-tempo-exp-track {
    width: 100%;
    height: 22px;
    border-radius: 999px;
    background: #e2e8f0;
    overflow: hidden;
}

.tendencias-tempo-exp-fill {
    height: 100%;
    border-radius: 999px;
    transition: width 0.3s ease;
}

.tendencias-tempo-exp-value {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .tendencias-tempo-exp-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .tendencias-tempo-exp-value {
        text-align: left;
    }
}

.metric-icon {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: white;
}

.metric-info {
    display: flex;
    flex-direction: column;
}

.metric-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--text-color);
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px;
}

/* Porcentagem dentro do metric-value */
.metric-value small {
    font-size: 11px !important;
    opacity: 0.7;
    font-weight: 500;
    white-space: nowrap;
}

.metric-label {
    font-size: 12px;
    color: var(--text-light);
}

/* ==========================================
   STAT CARDS (Rechamada)
   ========================================== */

.stat-card {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: var(--card-shadow);
    transition: var(--transition);
}

.stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0,0,0,0.15);
}

.stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-bottom: 12px;
}

.stat-value {
    font-size: 26px;
    font-weight: 700;
    color: var(--text-color);
    margin-bottom: 6px;
    line-height: 1;
}

.stat-label {
    font-size: 11px;
    color: var(--text-light);
    font-weight: 500;
}

/* ==========================================
   CHARTS
   ========================================== */

.chart-container {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 30px;
    box-shadow: var(--card-shadow);
    margin-bottom: 30px;
}

.chart-container canvas {
    max-height: 400px;
}

/* ==========================================
   FILTERS
   ========================================== */

.filters-area {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.search-input {
    flex: 1;
    min-width: 250px;
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    background: var(--secondary-bg);
    color: var(--text-color);
    font-size: 14px;
}

.filter-select {
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    background: var(--secondary-bg);
    color: var(--text-color);
    font-size: 14px;
    cursor: pointer;
}

/* ==========================================
   BUTTONS
   ========================================== */

.btn-primary {
    background: var(--accent-color);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-primary:hover {
    background: #0088dd;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,163,255,0.3);
}

.btn-secondary {
    background: var(--text-light);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
}

.btn-success {
    background: var(--success);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-success:hover {
    background: #218838;
    transform: translateY(-2px);
}

.btn-danger {
    background: var(--danger);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-weight: 600;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-danger:hover {
    background: #c82333;
    transform: translateY(-2px);
}

.btn-large {
    padding: 15px 30px;
    font-size: 16px;
}

.btn-block {
    width: 100%;
    justify-content: center;
}

.btn-group {
    display: flex;
    gap: 15px;
    margin-bottom: 20px;
}

/* ==========================================
   TABLE
   ========================================== */

.table-container {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
}

.data-table {
    width: 100%;
    border-collapse: collapse;
}

.data-table thead {
    background: var(--accent-color);
    color: white;
}

.data-table thead th {
    padding: 15px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
}

.data-table tbody tr {
    border-bottom: 1px solid #eee;
    transition: var(--transition);
}

.data-table tbody tr:hover {
    background: rgba(0,163,255,0.05);
}

.data-table tbody td {
    padding: 15px;
    color: var(--text-color);
}

/* Colunas com scroll para textos longos */
.cell-scroll {
    max-width: 250px;
    max-height: 60px;
    overflow-y: auto;
    overflow-x: hidden;
    word-wrap: break-word;
    white-space: normal;
    line-height: 1.4;
}

/* Ajuste de largura para colunas específicas */
#report-table th:nth-child(1),  /* Protocolo */
#report-table td:nth-child(1) { min-width: 120px; max-width: 140px; }

#report-table th:nth-child(2),  /* Data */
#report-table td:nth-child(2) { min-width: 140px; max-width: 160px; }

#report-table th:nth-child(3),  /* Caso */
#report-table td:nth-child(3) { min-width: 100px; max-width: 120px; }

#report-table th:nth-child(4),  /* Tipo */
#report-table td:nth-child(4) { min-width: 100px; max-width: 120px; }

#report-table th:nth-child(5),  /* Origem */
#report-table td:nth-child(5) { min-width: 100px; max-width: 120px; }

#report-table th:nth-child(6),  /* Assunto */
#report-table td:nth-child(6) { min-width: 200px; max-width: 300px; }

#report-table th:nth-child(7),  /* Operador */
#report-table td:nth-child(7) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(8),  /* Supervisor */
#report-table td:nth-child(8) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(9),  /* Cliente */
#report-table td:nth-child(9) { min-width: 150px; max-width: 200px; }

#report-table th:nth-child(10), /* CPF/CNPJ */
#report-table td:nth-child(10) { min-width: 120px; max-width: 150px; }

#report-table th:nth-child(11), /* Produto */
#report-table td:nth-child(11) { min-width: 120px; max-width: 160px; }

#report-table th:nth-child(12), /* Cancelamento */
#report-table td:nth-child(12) { min-width: 110px; max-width: 140px; }

#report-table th:nth-child(13), /* Ocorrência */
#report-table td:nth-child(13) { min-width: 150px; max-width: 250px; }

#report-table th:nth-child(14), /* Resultado */
#report-table td:nth-child(14) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(15), /* Atribuído a */
#report-table td:nth-child(15) { min-width: 100px; max-width: 130px; }

#report-table th:nth-child(16), /* Motivo */
#report-table td:nth-child(16) { min-width: 200px; max-width: 350px; }

#report-table th:nth-child(17), /* Ações */
#report-table td:nth-child(17) { min-width: 80px; max-width: 100px; text-align: center; }

/* Ajuste da ordem do relatório geral após inclusão da coluna Categoria */
#report-table th:nth-child(7),
#report-table td:nth-child(7) { min-width: 180px; max-width: 260px; }

#report-table th:nth-child(8),
#report-table td:nth-child(8) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(9),
#report-table td:nth-child(9) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(10),
#report-table td:nth-child(10) { min-width: 150px; max-width: 200px; }

#report-table th:nth-child(11),
#report-table td:nth-child(11) { min-width: 120px; max-width: 150px; }

#report-table th:nth-child(12),
#report-table td:nth-child(12) { min-width: 70px; max-width: 90px; }

#report-table th:nth-child(13),
#report-table td:nth-child(13) { min-width: 90px; max-width: 120px; }

#report-table th:nth-child(14),
#report-table td:nth-child(14) { min-width: 120px; max-width: 160px; }

#report-table th:nth-child(15),
#report-table td:nth-child(15) { min-width: 110px; max-width: 140px; }

#report-table th:nth-child(16),
#report-table td:nth-child(16) { min-width: 150px; max-width: 250px; }

#report-table th:nth-child(17),
#report-table td:nth-child(17) { min-width: 140px; max-width: 180px; }

#report-table th:nth-child(18),
#report-table td:nth-child(18) { min-width: 100px; max-width: 130px; }

#report-table th:nth-child(19),
#report-table td:nth-child(19) { min-width: 200px; max-width: 350px; }

.badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.badge-pendente {
    background: #fff3cd;
    color: #856404;
}

.badge-procedente {
    background: #d4edda;
    color: #155724;
}

.badge-improcedente {
    background: #f8d7da;
    color: #721c24;
}

/* ==========================================
   IMPORT AREA
   ========================================== */

.import-area {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 60vh;
}

.import-card {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 40px;
    box-shadow: var(--card-shadow);
    text-align: center;
    max-width: 600px;
}

.import-card h3 {
    margin-bottom: 20px;
    color: var(--accent-color);
}

.column-list {
    text-align: left;
    margin: 20px 0;
    padding: 20px;
    background: var(--primary-bg);
    border-radius: var(--border-radius);
    max-height: 300px;
    overflow-y: auto;
}

.column-list li {
    padding: 8px 0;
    border-bottom: 1px solid #ddd;
}

.column-list li:last-child {
    border-bottom: none;
}

#importStatus {
    padding: 15px;
    border-radius: var(--border-radius);
    font-weight: 600;
    margin-top: 20px;
}

.status-success {
    background: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.status-error {
    background: #f8d7da;
    color: #721c24;
    border: 1px solid #f5c6cb;
}

.status-info {
    background: #d1ecf1;
    color: #0c5460;
    border: 1px solid #bee5eb;
}

/* ==========================================
   REPORT CARDS
   ========================================== */

.report-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.report-card {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 30px;
    box-shadow: var(--card-shadow);
    text-align: center;
    transition: var(--transition);
}

.report-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.15);
}

.report-card h3 {
    color: var(--accent-color);
    margin-bottom: 10px;
}

.report-card p {
    color: var(--text-light);
    margin-bottom: 20px;
}

/* ==========================================
   MODAL
   ========================================== */

.modal {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal.active {
    display: flex;
}

.modal-content {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    width: 100%;
    max-width: 900px;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3);
}

.modal-large {
    max-width: 1200px;
}

.modal-header {
    padding: 20px 30px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--accent-color);
    color: white;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.modal-header h2 {
    margin: 0;
}

.modal-close {
    background: rgba(255,255,255,0.2);
    border: none;
    color: white;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 20px;
    transition: var(--transition);
}

.modal-close:hover {
    background: rgba(255,255,255,0.3);
}

.modal-body {
    padding: 30px;
}

.audit-client-card {
    position: relative;
}

.audit-client-card-has-history {
    background: #fff1f2 !important;
    border-color: #f8b4c0 !important;
    box-shadow: inset 0 0 0 1px rgba(239, 68, 68, 0.10);
}

.audit-client-card-has-app-call {
    background: #fff7ed !important;
    border-color: #fdba74 !important;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18), 0 8px 20px rgba(245, 158, 11, 0.08);
}

.audit-client-inline-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    flex-wrap: wrap;
}

.audit-client-name-row,
.audit-client-cpf-row,
.audit-client-product-row {
    justify-content: flex-start;
    flex-wrap: nowrap;
}

.audit-client-name-row .copy-icon,
.audit-client-cpf-row .copy-icon {
    margin-left: 6px;
    flex-shrink: 0;
}

.audit-client-cpf-row .cpf-seguro-icon {
    margin-left: 6px;
    flex-shrink: 0;
}

.audit-client-app-call-warning {
    border: 0;
    background: transparent;
    color: #d97706;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    padding: 0;
    margin-left: 4px;
    white-space: nowrap;
}

.audit-client-app-call-warning:hover,
.audit-client-app-call-warning:focus {
    color: #b45309;
    text-decoration: underline;
    outline: none;
}

.audit-client-app-call-popover {
    position: absolute;
    z-index: 100000;
    width: min(320px, calc(100vw - 24px));
    background: #ffffff;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.18);
    overflow: hidden;
}

.audit-client-app-call-popover-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
}

.audit-client-app-call-popover-close {
    border: 0;
    background: transparent;
    color: #9a3412;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0 2px;
}

.audit-client-app-call-popover-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px;
}

.audit-client-app-call-popover-item {
    display: grid;
    gap: 3px;
    font-size: 12px;
    color: #334155;
}

.audit-client-app-call-popover-item strong {
    color: #0f172a;
    font-size: 13px;
}

.audit-client-app-call-popover-item small {
    color: #64748b;
}

.audit-client-card-warning {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
    margin-left: auto;
}

.audit-client-card-warning::before {
    content: '\f071';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

.audit-client-card-button {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 999px;
    padding: 7px 12px;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.audit-client-card-button:hover:not(:disabled) {
    background: #dbeafe;
    border-color: #60a5fa;
}

.audit-client-card-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.audit-client-timeline-modal-content {
    max-width: 1320px;
}

.audit-client-timeline-modal-header {
    background: linear-gradient(135deg, #0f172a 0%, #1d4ed8 100%);
}

.audit-client-timeline-modal-subtitle {
    margin-top: 6px;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
}

.audit-client-timeline-modal-subtitle span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.audit-client-timeline-client-line {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 18px;
    color: #475569;
    font-size: 13px;
}

.audit-client-timeline-client-line span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.audit-client-timeline-summary > .audit-client-timeline-client-line:first-child,
.jornada-header .jornada-cliente-info > div {
    display: none !important;
}

.audit-client-timeline-client-card {
    margin: 0 0 20px;
    padding: 20px 22px;
    border-radius: 14px;
    border: 1px solid #dbeafe;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07);
}

.audit-client-timeline-client-card-title {
    margin-bottom: 14px;
    font-size: 16px;
    font-weight: 700;
    color: #1e3a8a;
}

.audit-client-timeline-client-card .audit-client-timeline-client-line {
    margin-bottom: 0;
    gap: 14px 20px;
    font-size: 15px;
}

.audit-client-timeline-client-card .audit-client-timeline-client-line span {
    color: #475569;
    font-size: 15px;
    line-height: 1.5;
}

.audit-client-timeline-client-card .audit-client-timeline-client-line strong {
    color: #0f172a;
    font-size: 15px;
    font-weight: 700;
}

.audit-client-timeline-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.audit-client-timeline-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

.audit-client-timeline-stat-card-tooltip {
    cursor: help;
    position: relative;
}

.audit-client-timeline-case-tooltip {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    max-width: min(320px, calc(100vw - 48px));
    padding: 12px 14px;
    border-radius: 10px;
    background: #0f172a;
    color: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.35);
    z-index: 30;
}

.audit-client-timeline-stat-card-tooltip:hover .audit-client-timeline-case-tooltip,
.audit-client-timeline-stat-card-tooltip:focus-within .audit-client-timeline-case-tooltip {
    display: block;
}

.audit-client-timeline-case-tooltip::before {
    content: '';
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: #0f172a;
}

.audit-client-timeline-case-tooltip-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.audit-client-timeline-case-tooltip-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 4px 0;
    font-size: 13px;
}

.audit-client-timeline-case-tooltip-row strong {
    font-weight: 800;
}

.audit-client-timeline-case-tooltip-empty {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.82);
}

.audit-client-timeline-stat-card small {
    font-size: 12px;
    color: #64748b;
}

.audit-client-timeline-stat-card-alert {
    background: linear-gradient(135deg, #fff7ed 0%, #fff1f2 100%);
    border-color: #fecaca;
}

.audit-client-timeline-stat-card-alert-strong {
    background: linear-gradient(135deg, #fff1f2 0%, #ffe4e6 100%);
    border-color: #fca5a5;
}

.audit-client-timeline-stat-card-ok {
    background: linear-gradient(135deg, #ecfdf5 0%, #dcfce7 100%);
    border-color: #86efac;
}

.audit-client-timeline-stat-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    flex-shrink: 0;
}

.audit-client-timeline-stat-icon-blue { background: #e0f2fe; color: #0284c7; }
.audit-client-timeline-stat-icon-violet { background: #ede9fe; color: #7c3aed; }
.audit-client-timeline-stat-icon-orange { background: #ffedd5; color: #f97316; }
.audit-client-timeline-stat-icon-green { background: #dcfce7; color: #16a34a; }
.audit-client-timeline-stat-icon-pink { background: #fce7f3; color: #db2777; }
.audit-client-timeline-stat-icon-gray { background: #f1f5f9; color: #64748b; }
.audit-client-timeline-stat-icon-red-soft { background: #fee2e2; color: #dc2626; }
.audit-client-timeline-stat-icon-red { background: #dc2626; color: #fff; }
.audit-client-timeline-stat-icon-green-strong { background: #16a34a; color: #fff; }

.audit-client-timeline-stat-value {
    font-size: 22px;
    line-height: 1.15;
    font-weight: 800;
    color: #0f172a;
}

.audit-client-timeline-stat-value-danger {
    color: #b91c1c;
}

.audit-client-timeline-stat-value-success {
    color: #15803d;
}

.audit-client-timeline-stat-label {
    margin-top: 4px;
    font-size: 11px;
    color: #64748b;
}

.audit-client-timeline-panel {
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
    overflow: hidden;
}

.audit-client-timeline-panel-title {
    margin: 0;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    color: #0f172a;
    border-bottom: 1px solid #e2e8f0;
}

.audit-client-timeline-panel-title i {
    color: #2563eb;
}

.audit-client-timeline-panel-body {
    padding: 18px;
    background: #f8fafc;
}

.audit-client-timeline-scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 10px;
    scrollbar-gutter: stable both-edges;
}

.audit-client-timeline-scroll::-webkit-scrollbar {
    height: 10px;
}

.audit-client-timeline-scroll::-webkit-scrollbar-track {
    background: #dbe3ef;
    border-radius: 999px;
}

.audit-client-timeline-scroll::-webkit-scrollbar-thumb {
    background: #94a3b8;
    border-radius: 999px;
}

.audit-client-timeline-scroll::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

.audit-client-timeline-panel-body .timeline-container {
    margin: 0;
}

@media (max-width: 768px) {
    .audit-client-inline-row {
        flex-direction: column;
        align-items: stretch;
    }

    .audit-client-cpf-row,
    .audit-client-product-row {
        flex-wrap: wrap;
    }

    .audit-client-card-warning,
    .audit-client-card-button {
        margin-left: 0;
    }

    .audit-client-card-button {
        width: 100%;
        justify-content: center;
    }

    .audit-client-timeline-modal .modal-body {
        padding: 18px;
    }

    .audit-client-timeline-modal-subtitle {
        gap: 8px;
        font-size: 12px;
    }
}

/* ==========================================
   AUDITORIA LAYOUT
   ========================================== */

.audit-container {
    display: grid;
    grid-template-columns: 350px 1fr;
    gap: 20px;
    height: calc(100vh - 150px);
}

.protocol-list {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    overflow-y: auto;
    border: 1px solid #eee;
}

.dark-mode .protocol-list {
    border-color: #333;
}

.protocol-item {
    padding: 15px;
    padding-bottom: 38px; /* Espaço para badge de feedback */
    border-bottom: 1px solid #eee;
    cursor: pointer;
    border-left: 3px solid transparent;
    position: relative;
    min-height: 100px;
}

.dark-mode .protocol-item {
    border-bottom-color: #333;
}

.protocol-item:hover {
    background-color: rgba(0, 163, 255, 0.05);
}

.protocol-item.active {
    background-color: rgba(0, 163, 255, 0.1);
    border-left-color: var(--accent-color);
}

.protocol-item.done {
    opacity: 0.6;
}

/* NOVO: Estilo para protocolos atribuídos a outros usuários */
.protocol-item.atribuido-outro {
    opacity: 0.5;
    filter: grayscale(0.3);
}

.protocol-item.atribuido-outro:hover {
    opacity: 0.7;
}

.protocol-item h4 {
    font-size: 14px;
    font-weight: 700;
}

.protocol-item p {
    font-size: 12px;
    color: var(--text-light);
    margin-top: 4px;
}

.status-badge {
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
    background: #eee;
    color: #555;
}

.status-badge.pendente {
    background: var(--warning);
    color: #333;
}

.status-badge.auditado {
    background: var(--success);
    color: white;
}

.status-badge.atribuido {
    background: #6366f1;
    color: white;
    font-weight: 500;
}

.status-badge.procedente {
    background: #28a745;
    color: white;
    font-weight: 500;
}

.status-badge.grave {
    background: #dc3545;
    color: white;
    font-weight: 500;
}

.status-badge.pontual {
    background: #ff9800;
    color: white;
    font-weight: 500;
}

.status-badge.descarte {
    background: #6c757d;
    color: white;
    font-weight: 500;
}

.status-badge.amostragem {
    background: #999;
    color: white;
    font-weight: 400;
}

/* Badges de Feedback (para cards da fila lateral) */
.feedback-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    position: absolute;
    bottom: 8px;
    right: 8px;
}

.feedback-badge i {
    font-size: 10px;
}

.feedback-badge.feedback-pendente {
    background: #fee;
    color: #c53030;
    border: 1px solid #fc8181;
}

.feedback-badge.feedback-realizado,
.feedback-badge.feedback-aplicado {
    background: #efe;
    color: #22543d;
    border: 1px solid #68d391;
}

.feedback-badge.feedback-ferias {
    background: #eff6ff;
    color: #1e40af;
    border: 1px solid #93c5fd;
}

.feedback-badge.feedback-desligado {
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

.feedback-badge.feedback-afastado {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fcd34d;
}

.dark-mode .feedback-badge.feedback-pendente {
    background: #742a2a;
    color: #feb2b2;
    border-color: #9b2c2c;
}

.dark-mode .feedback-badge.feedback-realizado,
.dark-mode .feedback-badge.feedback-aplicado {
    background: #22543d;
    color: #9ae6b4;
    border-color: #2f855a;
}

.dark-mode .feedback-badge.feedback-ferias {
    background: #1e3a5f;
    color: #93c5fd;
    border-color: #2563eb;
}

.dark-mode .feedback-badge.feedback-desligado {
    background: #7f1d1d;
    color: #fca5a5;
    border-color: #dc2626;
}

.dark-mode .feedback-badge.feedback-afastado {
    background: #78350f;
    color: #fcd34d;
    border-color: #d97706;
}

/* Badge para protocolos com múltiplos casos */
.multi-casos-badge {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, #e74c3c, #c0392b);
    color: #fff;
    font-weight: 600;
    margin-bottom: 5px;
    box-shadow: 0 1px 3px rgba(231, 76, 60, 0.3);
}

.multi-casos-badge i {
    margin-right: 4px;
    font-size: 10px;
}

/* Estilo para cards de protocolo com múltiplos casos */
.protocol-item.multi-casos {
    position: relative;
}

.protocol-item.multi-casos::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.05) 0%, rgba(231, 76, 60, 0.1) 100%);
    pointer-events: none;
    border-radius: inherit;
    z-index: 0;
}

.dark-mode .multi-casos-badge {
    background: linear-gradient(135deg, #c0392b, #992d22);
}

.dark-mode .protocol-item.multi-casos {
    background: linear-gradient(135deg, #2d1f1f 0%, #3d2525 100%) !important;
    border-left: 4px solid #e74c3c !important;
}

.cliente-duplicado-badge {
    display: inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 12px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
    font-weight: 700;
    margin: 0 0 6px;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.25);
}

.cliente-duplicado-badge i {
    margin-right: 4px;
    font-size: 10px;
}

.protocol-item.cliente-duplicado {
    position: relative;
}

.cliente-nome-destaque {
    color: #1d4ed8 !important;
    font-weight: 700;
}

.dark-mode .cliente-duplicado-badge {
    background: linear-gradient(135deg, #1d4ed8, #1e40af);
}

.dark-mode .cliente-nome-destaque {
    color: #93c5fd !important;
}

/* Layout detalhado da auditoria */
.audit-workspace {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 25px;
    box-shadow: var(--card-shadow);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
}

.audit-header {
    display: flex;
    justify-content: space-between;
    border-bottom: 2px solid var(--primary-bg);
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.audit-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    flex: 1;
}

.info-group {
    margin-bottom: 15px;
}

/* Espaçamento extra após o relato do cliente */
.info-group:has(.description-box) {
    margin-bottom: 30px;
}

.info-label {
    font-size: 12px;
    color: var(--text-light);
    font-weight: 500;
    text-transform: uppercase;
}

.info-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-color);
    margin-top: 3px;
}

.copy-icon {
    font-size: 13px;
    color: #999;
    cursor: pointer;
    transition: all 0.2s ease;
    opacity: 0.6;
}

.copy-icon:hover {
    color: var(--accent-color);
    opacity: 1;
    transform: scale(1.1);
}

.cpf-seguro-icon {
    width: 24px;
    height: 24px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    background: #eff6ff;
    color: #2563eb;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    padding: 0;
}

.cpf-seguro-icon:hover {
    background: #dbeafe;
    border-color: #93c5fd;
    color: #1d4ed8;
    transform: scale(1.08);
}

.cpf-seguro-icon i {
    font-size: 11px;
}

.email-bko-seguro-icon {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 7px;
    background: #eff6ff;
    color: #2563eb;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.email-bko-seguro-icon:hover {
    background: #dbeafe;
    color: #1d4ed8;
    transform: translateY(-1px);
}

.email-bko-seguro-icon i {
    font-size: 12px;
}

.email-bko-cobransaas-icon {
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 7px;
    background: #eef2ff;
    color: #4338ca;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.email-bko-cobransaas-icon:hover {
    background: #e0e7ff;
    color: #3730a3;
    transform: translateY(-1px);
}

.email-bko-cobransaas-icon i {
    font-size: 12px;
}

.email-bko-history-head {
    font-weight: 700;
    color: #334155;
    margin-bottom: 4px;
}

.email-bko-caso-link {
    border: 0;
    background: transparent;
    color: #2563eb;
    font-weight: 700;
    padding: 0;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 2px;
}

.email-bko-caso-link:hover {
    color: #1d4ed8;
}

.status-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-align: center;
}

.status-andamento {
    background: #007bff;
    color: white;
}

.status-fechado {
    background: #28a745;
    color: white;
}

.status-aberto {
    background: #ffc107;
    color: #333;
}

.client-card {
    background: rgba(0, 163, 255, 0.05);
    padding: 20px;
    border-radius: var(--border-radius);
    border: 1px solid rgba(0, 163, 255, 0.2);
}

.description-box {
    background: var(--primary-bg);
    padding: 15px;
    border-radius: var(--border-radius);
    /* NOVOS AJUSTES */
    min-height: 250px;       /* Aumenta o espaço vertical inicial para evitar rolagem */
    max-height: 550px;       /* Permite crescer bastante antes de precisar rolar */
    overflow-y: auto;        /* Habilita a rolagem apenas se o texto exceder o limite */
    font-size: 14px;
    line-height: 1.6;        /* Melhora a leitura de textos longos */
    white-space: pre-wrap;
    word-wrap: break-word;   /* Garante que o texto não "estoure" para o lado */
    margin-bottom: 25px;     /* Cria uma distância segura da Ocorrência */
}

.audit-actions {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 2px solid var(--primary-bg);
}

#auditar.modo-demandas-aplicativo .audit-container {
    grid-template-columns: 320px minmax(0, 1fr);
    gap: 16px;
    height: calc(100vh - 138px);
}

#auditar.modo-demandas-aplicativo .protocol-list {
    border-radius: 14px;
}

#auditar.modo-demandas-aplicativo #audit-workspace {
    min-width: 0;
}

#auditar.modo-demandas-aplicativo #audit-detail-content {
    gap: 12px;
    overflow-y: auto;
    padding-right: 4px;
}

#auditar.modo-demandas-aplicativo .audit-detail-header {
    align-items: flex-start;
    gap: 12px;
    padding-bottom: 10px;
    margin-bottom: 4px;
}

#auditar.modo-demandas-aplicativo .audit-detail-header .info-label {
    font-size: 11px;
    letter-spacing: 0.04em;
}

#auditar.modo-demandas-aplicativo .audit-detail-header .info-value {
    margin-top: 2px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-layout {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-body {
    display: none;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary {
    display: grid;
    grid-template-columns: minmax(250px, 1.4fr) minmax(210px, 1fr) minmax(210px, 1fr) minmax(180px, 0.9fr);
    gap: 8px 28px;
    padding: 12px 16px;
    border: 1px solid rgba(0, 163, 255, 0.22);
    border-radius: 14px;
    background: rgba(0, 163, 255, 0.05);
    align-items: start;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-group {
    margin-bottom: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-label {
    font-size: 11px;
    font-weight: 700;
    color: #334155;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-value {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.25;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card {
    grid-column: 1;
    background: transparent;
    border: 0;
    padding: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card .info-group + .info-group {
    margin-top: 8px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid {
    grid-column: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px 0;
    margin-top: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid .info-group {
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-top: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card {
    grid-column: 3;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid {
    grid-column: 3;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 8px 0 !important;
    margin: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card {
    grid-column: 4;
    grid-row: 1;
    margin-top: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group {
    grid-column: 4;
    grid-row: 2;
    min-width: 0;
    margin-bottom: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group {
    grid-column: 1 / -1;
    grid-row: 3;
    min-width: 0;
    margin-top: 0;
    padding-top: 2px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card .info-label,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group .info-label,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid > div .info-label,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid .info-label,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card .info-label,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group .info-label {
    margin-bottom: 2px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid > div .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card .info-value {
    font-size: 13px;
    line-height: 1.35;
    background: transparent !important;
    box-shadow: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card .info-label {
    color: #334155 !important;
    margin-bottom: 2px !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card .info-value {
    font-size: 13px !important;
    font-weight: 600 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card #det-status-auditoria-badge {
    display: inline-flex;
    align-items: center;
    min-height: 0;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 11px;
    line-height: 1.2;
    box-shadow: none;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group .info-value {
    font-weight: 500;
    line-height: 1.35;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group .info-value {
    max-height: 40px;
    overflow-y: auto;
    padding-right: 4px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-main {
    display: grid;
    grid-template-columns: minmax(340px, 0.92fr) minmax(420px, 1.08fr);
    gap: 16px;
    align-items: start;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato,
#auditar.modo-demandas-aplicativo .audit-demandas-form {
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-relato-group,
#auditar.modo-demandas-aplicativo .audit-demandas-form .audit-actions {
    margin: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-relato-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .info-label {
    font-size: 12px;
    font-weight: 700;
    color: #334155;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .description-box {
    min-height: 340px;
    max-height: 420px;
    margin-bottom: 0;
    padding: 14px;
    border: 1px solid #d7deea;
    background: #fff;
    line-height: 1.55;
}

#auditar.modo-demandas-aplicativo .audit-demandas-form .audit-actions {
    border-top: 0;
    padding-top: 0;
}

#auditar.modo-demandas-aplicativo .audit-titulos-horizontal {
    grid-template-columns: minmax(290px, 0.95fr) minmax(260px, 1.05fr);
    gap: 12px;
    margin-bottom: 8px;
}

#auditar.modo-demandas-aplicativo .audit-layout-horizontal {
    grid-template-columns: minmax(290px, 0.95fr) minmax(260px, 1.05fr);
    gap: 12px;
}

#auditar.modo-demandas-aplicativo .resultado-titulo,
#auditar.modo-demandas-aplicativo .motivo-titulo {
    margin-bottom: 0;
}

#auditar.modo-demandas-aplicativo .buttons-area {
    gap: 8px;
}

#auditar.modo-demandas-aplicativo .btn-audit {
    min-height: 40px;
    padding: 10px 12px;
    font-size: 10px;
    gap: 5px;
}

#auditar.modo-demandas-aplicativo .btn-audit i {
    font-size: 12px;
}

#auditar.modo-demandas-aplicativo .motivo-area {
    gap: 10px;
}

#auditar.modo-demandas-aplicativo #motivos-tags-container {
    margin-bottom: 0 !important;
    max-height: 84px !important;
    min-height: 18px !important;
    padding: 6px !important;
}

#auditar.modo-demandas-aplicativo .motivo-area > div[style*="position: relative"] {
    margin-top: 0;
}

#auditar.modo-demandas-aplicativo #motivo-autocomplete-input,
#auditar.modo-demandas-aplicativo #motivo-ghost {
    padding: 10px 12px !important;
    font-size: 13px !important;
}

#auditar.modo-demandas-aplicativo #audit-tabulacao-correta-wrap {
    margin-top: 0;
}

#auditar.modo-demandas-aplicativo #audit-tabulacao-correta-wrap .audit-extra-label {
    margin-bottom: 4px;
}

#auditar.modo-demandas-aplicativo #audit-tabulacao-correta {
    min-height: 38px;
    padding: 8px 10px;
}

#auditar.modo-demandas-aplicativo #audit-aplicativo-extra-wrap {
    margin: 0;
    padding: 10px 12px;
    border-radius: 10px;
}

#auditar.modo-demandas-aplicativo #audit-aplicativo-extra-wrap .audit-extra-title {
    margin-bottom: 8px;
    color: #334155;
}

#auditar.modo-demandas-aplicativo #audit-aplicativo-extra-wrap .audit-extra-row {
    gap: 10px 14px;
}

#auditar.modo-demandas-aplicativo #audit-aplicativo-extra-wrap .audit-extra-checkbox {
    font-size: 12px;
}

#auditar.modo-demandas-aplicativo #audit-app-assunto-real {
    min-width: 190px;
    min-height: 36px;
    padding: 8px 10px;
}

#auditar.modo-demandas-aplicativo #audit-app-assunto-real.app-assunto-real-alerta,
.app-grid-editor-select.app-assunto-real-alerta {
    background: #fee2e2;
    border-color: #ef4444;
    color: #991b1b;
}

#auditar.modo-demandas-aplicativo #audit-app-assunto-real option.app-assunto-real-alerta-opcao,
.app-grid-editor-select option.app-assunto-real-alerta-opcao {
    background: #fee2e2;
    color: #991b1b;
}

#auditar.modo-demandas-aplicativo .audit-comments-box {
    margin-top: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-comments-box label {
    margin-bottom: 6px !important;
}

#auditar.modo-demandas-aplicativo #audit-comments {
    min-height: 66px !important;
    padding: 10px 12px !important;
}

#auditar.modo-demandas-aplicativo .audit-comments-box small,
#auditar.modo-demandas-aplicativo .motivo-area > small {
    margin-top: 4px !important;
    font-size: 11px !important;
}

#auditar.modo-demandas-aplicativo .descarte-feedback {
    padding: 8px 10px;
    margin-bottom: 8px;
    font-size: 12px;
}

#auditar.modo-demandas-aplicativo .descarte-select {
    padding: 8px 10px;
}

#auditar.modo-demandas-aplicativo .audit-app-chamados-wrap {
    margin-top: 12px;
    padding: 12px;
}

#auditar.modo-demandas-aplicativo .audit-app-chamados-grid {
    grid-template-columns: minmax(240px, 1fr) minmax(220px, 0.95fr);
    gap: 12px 14px;
}

#auditar.modo-demandas-aplicativo .audit-app-chamados-field {
    gap: 6px;
}

#auditar.modo-demandas-aplicativo .audit-app-chamados-field label {
    font-size: 11px;
}

#auditar.modo-demandas-aplicativo .audit-app-prefix-input input,
#auditar.modo-demandas-aplicativo .audit-app-error-input-wrap input {
    padding: 10px 12px;
}

#auditar.modo-demandas-aplicativo .audit-app-sla-box {
    min-height: 44px;
    padding: 10px 12px;
}

#auditar.modo-demandas-aplicativo .audit-app-tags {
    min-height: 0;
    gap: 6px;
}

#auditar.modo-demandas-aplicativo .audit-app-error-input-wrap {
    gap: 8px;
}

#auditar.modo-demandas-aplicativo .audit-app-error-input-wrap button {
    min-width: 92px;
}

#auditar.modo-demandas-aplicativo .audit-app-sugestoes {
    gap: 6px;
}

@media (max-width: 1280px) {
    #auditar.modo-demandas-aplicativo .audit-demandas-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group {
        grid-column: auto;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-main,
    #auditar.modo-demandas-aplicativo .audit-layout-horizontal,
    #auditar.modo-demandas-aplicativo .audit-titulos-horizontal {
        grid-template-columns: 1fr;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px 12px !important;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid > div,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 980px) {
    #auditar.modo-demandas-aplicativo .audit-container {
        grid-template-columns: 1fr;
        height: auto;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary {
        grid-template-columns: 1fr;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid {
        grid-template-columns: 1fr;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-relato .description-box {
        min-height: 260px;
        max-height: 320px;
    }

    #auditar.modo-demandas-aplicativo .audit-app-chamados-grid {
        grid-template-columns: 1fr;
    }
}

.audit-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.audit-view-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    border-radius: 999px;
    background: #eef2ff;
    border: 1px solid #dbe4ff;
}

.audit-view-toggle-btn {
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    background: transparent;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.audit-view-toggle-btn.active {
    background: #1d4ed8;
    color: #fff;
    box-shadow: 0 8px 18px rgba(29, 78, 216, 0.18);
}

.demandas-error-filter {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 50;
}

.demandas-error-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    white-space: nowrap;
}

.demandas-error-filter.has-selection .demandas-error-filter-btn {
    border-color: #1d4ed8;
    background: #eff6ff;
    color: #1d4ed8;
}

.demandas-error-filter-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    z-index: 10020;
    width: 310px;
    max-width: min(310px, calc(100vw - 24px));
    padding: 10px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.18);
}

.demandas-error-filter-search {
    width: calc(100% - 20px);
    margin: 8px 10px 10px;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    font-size: 12px;
    outline: none;
}

.demandas-error-filter-search:focus {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.14);
}

.demandas-error-filter-option.is-hidden-by-search {
    display: none !important;
}

.demandas-error-filter-no-results {
    padding: 12px;
    color: #64748b;
    font-size: 12px;
}

.demandas-error-filter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    color: #0f172a;
    font-size: 12px;
}

.demandas-error-filter-head button {
    border: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.demandas-error-filter-options {
    display: flex;
    flex-direction: column;
    gap: 4px;
    max-height: 260px;
    overflow-y: auto;
}

.demandas-error-filter-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 7px 8px;
    border-radius: 8px;
    cursor: pointer;
    color: #1f2937;
    font-size: 12px;
    line-height: 1.25;
}

.demandas-error-filter-option:hover {
    background: #f1f5f9;
}

.demandas-error-filter-option input {
    margin-top: 1px;
}

.demandas-error-filter-empty {
    padding: 14px 8px;
    color: #64748b;
    font-size: 12px;
    text-align: center;
}

.app-demandas-grid-view {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    overflow: hidden;
}

.app-demandas-bulk-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}

.app-demandas-bulk-summary {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #334155;
}

.app-demandas-bulk-summary strong {
    color: #1d4ed8;
    font-size: 15px;
}

.app-demandas-bulk-actions,
.app-demandas-bulk-form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.app-demandas-bulk-actions {
    margin-left: auto;
}

.app-demandas-bulk-toggle,
.app-demandas-bulk-per-page {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #475569;
    font-weight: 700;
}

.app-demandas-bulk-link {
    border: none;
    background: transparent;
    color: #2563eb;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    padding: 0;
}

.app-demandas-bulk-per-page select,
.app-demandas-bulk-form select,
.app-demandas-bulk-form input {
    height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0 12px;
    background: #fff;
    color: #0f172a;
    font-size: 13px;
}

.app-demandas-bulk-form input {
    min-width: 230px;
}

.app-demandas-bulk-form select {
    min-width: 200px;
}

.app-demandas-grid-scroll {
    overflow: auto;
    max-width: 100%;
}


.app-demandas-groups {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    background: #f3f6fb;
}

.app-demandas-group {
    overflow: hidden;
    border: 1px solid #cbd9ee;
    border-left: 5px solid #2563eb;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

.app-demandas-group-header {
    min-height: 76px;
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

.app-demandas-group-toggle {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 20px;
    border: 0;
    background: transparent;
    color: #0f172a;
    cursor: pointer;
    text-align: left;
}

.app-demandas-group-toggle:hover {
    background: #f2f7ff;
}

.app-demandas-group-select-label {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 148px;
    padding: 0 18px;
    border-left: 1px solid #dbe4f0;
    color: #1e40af;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.app-demandas-group-bulk-form {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-left: 1px solid #dbe4f0;
    background: rgba(239, 246, 255, 0.65);
}

.app-demandas-group-bulk-form input,
.app-demandas-group-bulk-form select {
    min-height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    font-size: 12px;
    color: #0f172a;
}

.app-demandas-group-bulk-form input {
    width: 150px;
}

.app-demandas-group-bulk-form select {
    width: 200px;
}

.app-demandas-group-select-label:hover {
    background: #eef5ff;
}

.app-demandas-group-select-all {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #2563eb;
    cursor: pointer;
}

.app-demandas-group-main,
.app-demandas-group-tags,
.app-demandas-group-control {
    display: flex;
    align-items: center;
}

.app-demandas-group-main {
    min-width: 0;
    flex: 1;
    flex-wrap: wrap;
    gap: 10px 14px;
}

.app-demandas-group-tags {
    min-width: 0;
    flex-wrap: wrap;
    gap: 8px;
}

.app-demandas-group-tag {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 7px 11px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1e40af;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.app-demandas-group-tag.is-empty {
    background: #e2e8f0;
    color: #475569;
}

.app-demandas-group-count {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.app-demandas-group-control {
    flex: 0 0 auto;
    gap: 10px;
    color: #475569;
    font-size: 13px;
    font-weight: 800;
}

.app-demandas-group-control i {
    transition: transform 0.2s ease;
}

.app-demandas-group.is-expanded .app-demandas-group-control i {
    transform: rotate(180deg);
}

.app-demandas-group-content {
    border-top: 1px solid #dbe4f0;
}

.app-demandas-group-content[hidden] {
    display: none !important;
}

.app-demandas-grid-table-grouped th {
    top: 0;
}

.app-demandas-grid-table {
    width: 100%;
    min-width: 1620px;
    border-collapse: collapse;
}

.app-demandas-grid-table th,
.app-demandas-grid-table td {
    border-bottom: 1px solid #e5e7eb;
    border-right: 1px solid #eef2f7;
    padding: 12px 10px;
    vertical-align: top;
    text-align: left;
    font-size: 13px;
    color: #1f2937;
    background: #fff;
}

.app-demandas-grid-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8fafc;
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #64748b;
}

.app-demandas-grid-table tr:hover td {
    background: #f8fbff;
}

.app-demandas-grid-table td.is-editable {
    cursor: pointer;
    background-image: linear-gradient(to bottom, rgba(37, 99, 235, 0.02), rgba(37, 99, 235, 0.02));
}

.app-demandas-grid-table td.is-editable:hover {
    background: #eef6ff;
}

.app-demandas-grid-table td.is-editing {
    background: #eff6ff;
    box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.2);
}

.app-grid-cell-value {
    display: block;
    white-space: pre-wrap;
    word-break: break-word;
    line-height: 1.45;
}

.app-demandas-grid-table .app-demandas-col-assunto {
    min-width: 340px;
    width: 340px;
}

.app-demandas-grid-table .app-demandas-col-caso {
    min-width: 120px;
    width: 120px;
}

.app-demandas-grid-table .app-demandas-col-select {
    min-width: 56px;
    width: 56px;
    text-align: center;
}

.app-demandas-grid-table td.app-demandas-col-select {
    vertical-align: middle;
}

.app-demandas-grid-table .app-demandas-col-data {
    min-width: 120px;
    width: 120px;
    white-space: nowrap;
}

.app-demandas-grid-table .app-demandas-col-cpf {
    min-width: 150px;
    width: 150px;
    white-space: nowrap;
}

.app-demandas-grid-table .app-demandas-col-produto {
    min-width: 180px;
    width: 180px;
}

.app-demandas-grid-table .app-demandas-col-chamado,
.app-demandas-grid-table td[data-field="app_numero_chamado"] {
    min-width: 145px;
    width: 145px;
}

.app-demandas-grid-table .app-demandas-col-descricao {
    min-width: 320px;
    width: 320px;
}

.app-grid-cell-value-assunto {
    white-space: normal;
    word-break: normal;
    overflow-wrap: break-word;
    line-height: 1.5;
}

.app-grid-case-link {
    color: #1d4ed8;
    text-decoration: none;
}

.app-grid-case-link:hover {
    text-decoration: underline;
}

.app-grid-cell-value.is-clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
}

.app-grid-expand-btn {
    margin-top: 8px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.app-grid-expand-btn:hover {
    text-decoration: underline;
}

.app-grid-cell-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #94a3b8;
}

.app-grid-editor,
.app-grid-editor-input,
.app-grid-editor-select,
.app-grid-editor-textarea {
    width: 100%;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: 13px;
}

.app-grid-editor-input,
.app-grid-editor-select {
    padding: 8px 10px;
    min-height: 38px;
}

.app-grid-prefix-input {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-width: 125px;
}

.app-grid-prefix-input span {
    display: inline-flex;
    align-items: center;
    padding: 0 9px;
    border: 1px solid #bfdbfe;
    border-right: 0;
    border-radius: 8px 0 0 8px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 800;
    font-size: 12px;
}

.app-grid-prefix-input .app-grid-editor-input {
    border-radius: 0 8px 8px 0;
    min-width: 0;
}

.app-grid-editor-stack {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.app-grid-inline-descarte {
    min-width: 0;
}

.app-grid-editor-textarea {
    min-height: 96px;
    resize: vertical;
    padding: 10px;
    line-height: 1.45;
}

.app-grid-message-editor {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 280px;
}

.app-grid-message-input-wrap {
    align-items: stretch;
}

.app-grid-message-input-wrap .app-grid-editor-input {
    min-height: 38px;
}

.app-grid-message-input-wrap .app-grid-btn {
    padding: 8px 12px;
    white-space: nowrap;
}

.app-grid-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.app-grid-status.pendente {
    background: #fff7ed;
    color: #c2410c;
}

.app-grid-status.historico {
    background: #f1f5f9;
    color: #475569;
}

.app-grid-status.procedente {
    background: #dcfce7;
    color: #166534;
}

.app-grid-status.nao_conformidade_grave {
    background: #fee2e2;
    color: #b91c1c;
}

.app-grid-status.falha_pontual {
    background: #fef3c7;
    color: #b45309;
}

.app-grid-status.descarte {
    background: #e5e7eb;
    color: #374151;
}

.app-grid-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.app-demandas-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

.app-demandas-pagination-pages {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.app-demandas-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.app-demandas-pagination-btn {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.app-demandas-pagination-btn.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.app-demandas-pagination-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .app-demandas-group-header {
        flex-wrap: wrap;
    }

    .app-demandas-group-toggle {
        width: 100%;
        flex-basis: 100%;
        align-items: flex-start;
        padding: 14px;
    }

    .app-demandas-group-select-label {
        width: 100%;
        min-height: 44px;
        justify-content: flex-start;
        padding: 10px 14px;
        border-top: 1px solid #dbe4f0;
        border-left: 0;
    }

    .app-demandas-group-bulk-form {
        width: 100%;
        border-left: 0;
        border-top: 1px solid #dbe4f0;
        flex-wrap: wrap;
    }

    .app-demandas-group-bulk-form input,
    .app-demandas-group-bulk-form select {
        width: 100%;
        flex: 1 1 220px;
        min-width: 0;
    }

    .app-demandas-group-control {
        padding-top: 7px;
    }

    .app-demandas-group-action {
        display: none;
    }

    .app-demandas-bulk-toolbar {
        align-items: flex-start;
    }

    .app-demandas-bulk-actions {
        margin-left: 0;
    }

    .app-demandas-bulk-form,
    .app-demandas-bulk-actions,
    .app-demandas-bulk-summary {
        width: 100%;
    }

    .app-demandas-bulk-form input,
    .app-demandas-bulk-form select {
        flex: 1 1 220px;
        min-width: 0;
    }
}

.app-grid-btn {
    border: 0;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.app-grid-btn:hover {
    transform: translateY(-1px);
}

.app-grid-btn-primary {
    background: #1d4ed8;
    color: #fff;
    box-shadow: 0 10px 18px rgba(29, 78, 216, 0.18);
}

.app-grid-btn-secondary {
    background: #e2e8f0;
    color: #1e293b;
}

.app-grid-empty {
    padding: 48px 24px;
    text-align: center;
    color: #64748b;
}

.app-grid-small {
    font-size: 12px;
    color: #64748b;
}

.audit-app-chamados-wrap {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    background: #f8fbff;
}

.audit-app-chamados-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(240px, 1fr);
    gap: 16px;
}

.audit-app-chamados-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.audit-app-chamados-field label {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #334155;
}

.audit-app-chamados-field small {
    font-size: 11px;
    color: #64748b;
}

.audit-app-chamados-field-full {
    grid-column: 1 / -1;
}

.audit-app-prefix-input {
    display: flex;
    align-items: stretch;
    border: 2px solid #cbd5e0;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}

.audit-app-prefix-input span {
    display: inline-flex;
    align-items: center;
    padding: 0 12px;
    background: #eff6ff;
    color: #1d4ed8;
    font-weight: 700;
    border-right: 1px solid #dbeafe;
}

.audit-app-prefix-input input {
    border: 0;
    padding: 12px;
    font-size: 14px;
    width: 100%;
    outline: none;
    background: transparent;
}

.audit-app-sla-box {
    min-height: 48px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}

.audit-app-sla-box.is-ok {
    background: #dcfce7;
    border-color: #86efac;
}

.audit-app-sla-box.is-late {
    background: #fee2e2;
    border-color: #fca5a5;
}

.audit-app-sla-main {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
}

.audit-app-sla-sub {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    color: #475569;
}

.audit-app-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 18px;
}

.audit-app-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #0f172a;
    font-size: 12px;
    font-weight: 700;
}

.audit-app-tag button {
    border: 0;
    background: transparent;
    color: #dc2626;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    min-height: 18px;
    line-height: 1;
    font-size: 14px;
    font-weight: 700;
    padding: 0 2px;
    border-radius: 999px;
    pointer-events: auto;
    position: relative;
    z-index: 2;
}

.audit-app-tag button:hover {
    background: rgba(220, 38, 38, 0.12);
}

.audit-app-error-input-wrap {
    display: flex;
    gap: 10px;
}

.audit-app-error-input-shell {
    position: relative;
    flex: 1;
    min-width: 0;
}

.audit-app-error-input-wrap input {
    flex: 1;
    width: 100%;
    border: 2px solid #cbd5e0;
    border-radius: 8px;
    padding: 12px;
    font-size: 14px;
    background: #fff;
}

.audit-app-error-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 40;
    max-height: 280px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
    padding: 8px;
}

.audit-app-error-dropdown.show {
    display: block;
}

.audit-app-error-dropdown-empty,
.audit-app-error-dropdown-hint {
    padding: 10px 12px;
    font-size: 12px;
    color: #64748b;
    line-height: 1.4;
}

.audit-app-error-dropdown-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.audit-app-error-dropdown-item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
    transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
    cursor: pointer;
}

.audit-app-error-dropdown-item:hover {
    border-color: #93c5fd;
    box-shadow: 0 10px 20px rgba(37, 99, 235, 0.10);
    transform: translateY(-1px);
}

.audit-app-error-dropdown-item.is-selected {
    background: linear-gradient(180deg, #eff6ff 0%, #dbeafe 100%);
    border-color: #60a5fa;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.14);
}

.audit-app-error-dropdown-label {
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.45;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.audit-app-error-dropdown-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.audit-app-error-dropdown-btn {
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    padding: 5px 10px;
    line-height: 1;
    transition: all 0.16s ease;
}

.audit-app-error-dropdown-btn.use {
    background: #e0ecff;
    border-color: #bfd7ff;
    color: #1d4ed8;
}

.audit-app-error-dropdown-btn.use:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
    color: #fff;
}


.audit-app-error-dropdown-btn.edit {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #c2410c;
}

.audit-app-error-dropdown-btn.edit:hover {
    background: #ea580c;
    border-color: #ea580c;
    color: #fff;
}

.audit-app-error-dropdown-btn.delete {
    background: #fff1f2;
    border-color: #fecdd3;
    color: #dc2626;
}

.audit-app-error-dropdown-btn.delete:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}

.audit-app-error-dropdown-status {
    font-size: 12px;
    font-weight: 800;
    color: #0f766e;
    background: #dcfce7;
    border: 1px solid #86efac;
    border-radius: 999px;
    padding: 5px 10px;
    white-space: nowrap;
}

.audit-app-error-input-wrap button {
    border: 0;
    border-radius: 8px;
    padding: 0 16px;
    background: #1d4ed8;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.audit-app-error-input-wrap button:disabled {
    opacity: 0.55;
    cursor: default;
}

.audit-app-sugestoes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.audit-app-sugestao-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #dbeafe;
    color: #1e293b;
    font-size: 12px;
}

.dark-mode .audit-app-error-input-wrap input {
    background: #111a28;
    border-color: #2a3a50;
    color: #e5edf7;
}

.dark-mode .audit-app-error-dropdown {
    background: #111a28;
    border-color: #2a3a50;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.38);
}

.dark-mode .audit-app-error-dropdown-item {
    background: linear-gradient(180deg, #152030 0%, #111a28 100%);
    border-color: #243348;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.24);
}

.dark-mode .audit-app-error-dropdown-item:hover {
    border-color: #3b82f6;
    box-shadow: 0 14px 24px rgba(0, 0, 0, 0.3);
}

.dark-mode .audit-app-error-dropdown-item.is-selected {
    background: rgba(37, 99, 235, 0.16);
    border-color: rgba(147, 197, 253, 0.4);
}

.dark-mode .audit-app-error-dropdown-label {
    color: #e5edf7;
}

.dark-mode .audit-app-error-dropdown-empty,
.dark-mode .audit-app-error-dropdown-hint {
    color: #9db1c9;
}

.dark-mode .audit-app-error-dropdown-btn.use {
    background: rgba(37, 99, 235, 0.16);
    border-color: rgba(96, 165, 250, 0.35);
    color: #bfdbfe;
}

.dark-mode .audit-app-error-dropdown-btn.use:hover {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}


.dark-mode .audit-app-error-dropdown-btn.edit {
    background: rgba(234, 88, 12, 0.14);
    border-color: rgba(251, 146, 60, 0.34);
    color: #fdba74;
}

.dark-mode .audit-app-error-dropdown-btn.edit:hover {
    background: #ea580c;
    border-color: #ea580c;
    color: #fff;
}

.dark-mode .audit-app-error-dropdown-btn.delete {
    background: rgba(220, 38, 38, 0.14);
    border-color: rgba(248, 113, 113, 0.32);
    color: #fca5a5;
}

.dark-mode .audit-app-error-dropdown-btn.delete:hover {
    background: #dc2626;
    border-color: #dc2626;
    color: #fff;
}

.dark-mode .audit-app-error-dropdown-status {
    background: rgba(22, 163, 74, 0.16);
    border-color: rgba(74, 222, 128, 0.35);
    color: #86efac;
}

.audit-app-sugestao-chip button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
}

.audit-app-sugestao-adicionar {
    color: #1d4ed8;
}

.audit-app-sugestao-editar {
    color: #c2410c;
}

.audit-app-sugestao-excluir {
    color: #dc2626;
}

.app-demandas-chamados-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px 8px;
}

.app-demandas-chamados-header h3 {
    margin: 0;
    font-size: 18px;
    color: #0f172a;
}

.app-demandas-chamados-header span {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
}

.app-demandas-sla-badge {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
}

.app-demandas-sla-badge.is-ok {
    background: #dcfce7;
    color: #166534;
}

.app-demandas-sla-badge.is-late {
    background: #fee2e2;
    color: #b91c1c;
}

.app-chamado-status-select {
    min-width: 240px;
    width: 100%;
    padding: 8px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    font-size: 12px;
    font-weight: 700;
}

.app-chamado-status-select.is-saving {
    opacity: 0.7;
    cursor: wait;
}

.app-chamado-status-select.app-chamado-status-select--success {
    background: #dcfce7;
    border-color: #86efac;
    color: #166534;
}

.app-chamado-status-select.app-chamado-status-select--danger {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #b91c1c;
}

.app-chamado-status-select.app-chamado-status-select--warning {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #b45309;
}

@media (max-width: 960px) {
    .audit-header-actions {
        align-items: stretch;
    }

    .audit-view-toggle {
        width: 100%;
        justify-content: space-between;
    }

    .audit-view-toggle-btn {
        flex: 1;
        text-align: center;
    }

    .audit-app-chamados-grid {
        grid-template-columns: 1fr;
    }
}

/* Títulos lado a lado */
.audit-titulos-horizontal {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 15px;
    margin-bottom: 10px;
    align-items: center;
}

.resultado-titulo {
    font-size: 16px;
    font-weight: 700;
    color: var(--text-color);
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.motivo-titulo {
    font-size: 12px;
    color: var(--text-light);
    font-weight: 500;
    text-transform: uppercase;
    margin: 0;
}

.audit-layout-horizontal {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 15px;
    align-items: start;
}

.buttons-area {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.motivo-area > div[style*="position: relative"] {
    margin-top: 2px;
}

.motivo-area {
    display: flex;
    flex-direction: column;
    /* Altura removida para ajuste automático */
}

.motivo-area textarea {
    /* Removido flex: 1 para não expandir desnecessariamente */
    min-height: 80px;
    max-height: 150px;
}

.descarte-select {
    width: 100%;
    padding: 10px;
    border: 2px solid #6c757d;
    border-radius: 6px;
    background: #f8f9fa;
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

.descarte-feedback {
    background: #fff3cd;
    border-left: 4px solid #ff9800;
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 4px;
    color: #856404;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
    animation: slideInDown 0.3s ease;
}

.descarte-feedback i {
    color: #ff9800;
    animation: bounce 1s infinite;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}

.btn-group-audit {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 15px;
}

.btn-group {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.btn {
    padding: 10px 20px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
}

.btn-audit {
    padding: 12px 15px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 11px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    white-space: nowrap;
}

.btn-audit:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.btn-audit i {
    font-size: 14px;
}

.btn-success {
    background-color: var(--success);
    color: white;
}

.btn-success:hover {
    background-color: #218838;
}

.btn-warning-grave {
    background-color: #dc3545;
    color: white;
}

.btn-warning-grave:hover {
    background-color: #c82333;
}

.btn-warning-pontual {
    background-color: #ff9800;
    color: white;
}

.btn-warning-pontual:hover {
    background-color: #e68900;
}

.btn-descarte {
    background-color: #6c757d;
    color: white;
}

.btn-descarte:hover {
    background-color: #5a6268;
}

.btn-danger {
    background-color: var(--danger);
    color: white;
}

.btn-outline {
    background: transparent;
    border: 1px solid var(--text-light);
    color: var(--text-color);
}

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

textarea.audit-note {
    width: 100%;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #ccc;
    background: var(--primary-bg);
    color: var(--text-color);
    resize: vertical;
    min-height: 80px;
}

#empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    color: var(--text-light);
}

.auditoria-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.info-section {
    background: var(--primary-bg);
    padding: 20px;
    border-radius: var(--border-radius);
    margin-bottom: 15px;
}

.info-section h3 {
    color: var(--accent-color);
    margin-bottom: 15px;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.info-section p {
    margin-bottom: 8px;
    line-height: 1.6;
}

.info-section strong {
    color: var(--text-color);
    display: inline-block;
    min-width: 120px;
}

.description-box {
    background: var(--secondary-bg);
    padding: 15px;
    border-radius: var(--border-radius);
    border: 1px solid #ddd;
    min-height: 100px;
    max-height: 500px;
    overflow-y: auto;
    line-height: 1.6;
    white-space: pre-wrap;
    word-wrap: break-word;
}

.auditoria-bottom {
    background: var(--primary-bg);
    padding: 25px;
    border-radius: var(--border-radius);
}

.auditoria-bottom h3 {
    color: var(--accent-color);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--text-color);
}

.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    background: var(--secondary-bg);
    color: var(--text-color);
    font-family: inherit;
    resize: vertical;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 1024px) {
    .auditoria-grid {
        grid-template-columns: 1fr;
    }
    
    #sidebar {
        width: 200px;
    }
    
    #main-content {
        margin-left: 200px;
    }
}

@media (max-width: 768px) {
    #sidebar {
        position: fixed;
        left: -260px;
        transition: left 0.3s;
        z-index: 1000;
    }
    
    #sidebar.open {
        left: 0;
    }
    
    #main-content {
        margin-left: 0;
    }
    
    .metrics-grid {
        grid-template-columns: 1fr;
    }
    
    .filters-area {
        flex-direction: column;
    }
    
    .search-input {
        width: 100%;
    }
    
    .btn-group {
        flex-direction: column;
    }
}

/*
 * Estilo para botões de ação na tabela de relatórios
 */
.btn-acao {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px 8px;
    margin: 0 2px;
    font-size: 18px;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
    vertical-align: middle;
    outline: none;
}
.btn-acao.btn-excluir {
    color: #dc3545;
}
.btn-acao.btn-excluir:hover {
    background: #ffeaea;
    color: #fff;
    background-color: #dc3545;
}
.btn-acao.btn-desfazer {
    color: #007bff;
}
.btn-acao.btn-desfazer:hover {
    background: #eaf4ff;
    color: #fff;
    background-color: #007bff;
}

/* Alinhar coluna de ações */
#report-table td:last-child, #report-table th:last-child {
    text-align: center;
    min-width: 80px;
}

/* ============================================================
   LAYOUT DO DASHBOARD (GRÁFICO + TABELA LATERAL)
   ============================================================ */

/* 1. O Grid Principal */
.dashboard-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)); /* Padrão: 2 colunas (gráfico + tabela de barras) */
    gap: 20px;
    align-items: start;
    width: 100%;
}

/* Quando a tabela de detalhes abre, mantém 2 colunas mas troca tabela de barras por detalhes */
.dashboard-split.has-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Ocultar a tabela de barras quando has-details está ativo */
.dashboard-split.has-details .produto-bars-wrapper {
    display: none;
}

/* 2. Os Cartões (Caixa do Gráfico e Caixa da Tabela) */
.chart-wrapper, .details-wrapper {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 15px;
    box-shadow: var(--card-shadow);
    width: 100%;
    
    /* ESTABILIDADE: Altura fixa e Flexbox */
    height: 450px; 
    overflow: hidden; 
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.chart-wrapper.auditoria-exportable,
.comparativo-voz-card.auditoria-exportable,
.comparativo-assuntos-card.auditoria-exportable {
    position: relative;
}

.auditoria-chart-export-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
    height: 30px;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: #64748b;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 8;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(6px);
    transition: color 0.2s ease, background 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
    opacity: 0.7;
}

.auditoria-chart-export-btn:hover {
    opacity: 1;
    color: #0f4c81;
    background: rgba(255, 255, 255, 0.96);
    transform: translateY(-1px);
}

.auditoria-chart-export-btn:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
    opacity: 1;
}

.auditoria-chart-export-btn.is-loading {
    cursor: wait;
    opacity: 1;
}

.auditoria-exporting-image .auditoria-chart-export-btn {
    visibility: hidden !important;
}

/* Ajuste específico para details-wrapper permitir mais espaço */
.details-wrapper {
    height: 650px; /* Aumentado de 450px para 650px */
    max-height: 80vh; /* Garante que não ultrapasse a altura da tela */
}

/* Wrapper especial para gráficos de motivos (mais alto) */
.chart-wrapper:has(#chartMotivosReteuNao),
.chart-wrapper:has(#chartMotivosReteuSim) {
    height: auto;
    min-height: 250px;
    min-width: 0;
    padding: 6px;
    overflow: visible;
}

/* Wrapper especial para container de stats/jornada do recontato */
.chart-wrapper:has(#rechamada-stats-container),
#rechamada-stats-wrapper {
    height: auto !important;
    min-height: 200px;
    overflow: visible !important;
}

/* Wrapper especial para tabela de supervisores (cresce conforme conteúdo) */
.chart-wrapper:has(#supervisor-stats-container) {
    height: auto;
    min-height: 300px;
    overflow: visible;
}

/* Wrapper especial para tabela TOP 10 Ofensores (cresce conforme conteúdo) */
.chart-wrapper:has(#top10-ofensores-container) {
    height: auto;
    min-height: 300px;
    overflow: visible;
}

/* Wrapper especial para tabela TOP 10 Clientes Rechamada (cresce conforme conteúdo) */
.chart-wrapper:has(#top10-clientes-rechamada) {
    height: auto;
    min-height: 300px;
    overflow: visible;
}

/* Ajustes específicos da aba Sumario Operador */
#sumario-operador .chart-wrapper {
    height: auto;
    min-height: 0;
    overflow: visible;
}

#sumario-operador .chart-wrapper:first-of-type {
    margin-top: 14px !important;
    padding: 14px 16px 10px;
}

#sumario-operador .chart-wrapper + .chart-wrapper {
    margin-top: 12px !important;
    padding: 14px 16px 12px;
}

#sumario-operador #sumario-operador-resumo {
    gap: 12px !important;
    padding: 8px 6px 0 !important;
}

#sumario-operador #sumario-operador-container .table-responsive {
    max-height: 72vh !important;
    overflow: auto !important;
    width: 100% !important;
    border: 1px solid #edf2f7;
    border-radius: 12px;
}

#tabela-sumario-operador {
    width: 100% !important;
    min-width: 1320px;
}

#tabela-sumario-operador th:nth-child(2),
#tabela-sumario-operador td:nth-child(2) {
    min-width: 320px;
    white-space: nowrap;
}


/* ==========================================
   SUMÁRIO OPERADOR - Foco + distribuição por assunto
   ========================================== */

#tabela-sumario-operador .sumario-operador-row {
    cursor: pointer;
    transition: background-color .18s ease, box-shadow .18s ease;
}

#tabela-sumario-operador .sumario-operador-row:hover td {
    background: #f0f8ff !important;
}

#tabela-sumario-operador .sumario-op-row-focus td {
    background: #f0f8ff !important;
}

#tabela-sumario-operador .sumario-op-row-focus td:first-child {
    border-left: 3px solid #00A3FF;
    padding-left: 9px;
}

#tabela-sumario-operador .sumario-op-row-hidden {
    display: none !important;
}

.sumario-op-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    color: #00A3FF;
    font-size: 10px;
    opacity: .75;
}

.painel-assuntos {
    margin-top: 8px;
}

.painel-inner {
    padding: 14px 16px 16px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .06);
}

.painel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.painel-title {
    font-size: 14px;
    font-weight: 800;
    color: #111827;
    display: flex;
    align-items: center;
    gap: 7px;
}

.painel-title i {
    color: #0077B6;
}

.painel-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.painel-total {
    font-size: 12px;
    color: #64748b;
    font-weight: 600;
}

.painel-total strong {
    color: #111827;
}

.btn-fechar-sumario-assuntos {
    background: none;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 11px;
    color: #64748b;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
}

.btn-fechar-sumario-assuntos:hover {
    background: #f8fafc;
    color: #334155;
}

/*
   TABELA COMPACTA:
   Este é o ponto que evita aquele espaçamento gigante entre Assunto, Qtd e %.
*/
.sumario-assunto-table-wrap {
    overflow-x: auto;
    border-radius: 8px;
    border: 1px solid #f1f5f9;
    max-width: 900px;
    width: 100%;
    margin: 0 auto;
}

.sumario-assunto-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
}

.sumario-assunto-table th {
    padding: 8px 12px;
    text-align: left;
    font-weight: 700;
    color: #475569;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
    text-transform: uppercase;
}

.sumario-assunto-table td {
    padding: 7px 12px;
    border-bottom: 1px solid #f8fafc;
    color: #1f2937;
}

.sumario-assunto-table th:nth-child(2),
.sumario-assunto-table td:nth-child(2) {
    text-align: center;
    font-weight: 700;
    color: #334155;
}

.sumario-assunto-table th:nth-child(3),
.sumario-assunto-table td:nth-child(3) {
    text-align: center;
}

.sumario-assunto-bar-wrap {
    display: flex;
    align-items: center;
    gap: 7px;
}

.sumario-assunto-bar-bg {
    flex: 1;
    background: #e5e7eb;
    border-radius: 999px;
    height: 7px;
    min-width: 120px;
}

.sumario-assunto-bar-fill {
    height: 7px;
    border-radius: 999px;
    background: linear-gradient(90deg, #00A3FF, #0077B6);
}

.sumario-assunto-bar-pct {
    font-weight: 600;
    color: #64748b;
    font-size: 11px;
    white-space: nowrap;
    min-width: 42px;
    text-align: right;
}


/* Estilo para mensagem de "sem dados" */
.no-data-message {
    text-align: center;
    color: #999;
    padding: 40px 20px;
    font-style: italic;
    font-size: 14px;
}

/* Responsividade para os gráficos de motivos */
@media (max-width: 1200px) {
    .chart-wrapper:has(#chartMotivosReteuNao),
    .chart-wrapper:has(#chartMotivosReteuSim) {
        min-height: auto;
    }
    
    .chart-wrapper h4 {
        font-size: 14px !important;
    }
}

/* 3. Ajuste do Gráfico */
.chart-wrapper canvas {
    max-height: 360px !important;
    width: 100% !important;
    margin: 0 auto;
    flex-grow: 0;
}

/* Canvas maior para gráficos de motivos */
.chart-wrapper:has(#chartMotivosReteuNao) canvas,
.chart-wrapper:has(#chartMotivosReteuSim) canvas {
    max-height: 300px !important;
    width: 100% !important;
    margin: 0 auto;
}

.chart-instruction {
    margin-top: auto;
    text-align: center;
    font-size: 12px;
    color: #999;
    padding-top: 10px;
}

/* 4. Estilo da Tabela Lateral (Detalhes) */
.details-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    flex-shrink: 0; /* Não deixa o cabeçalho encolher */
}

.details-header h3 {
    margin: 0;
    font-size: 16px;
    color: var(--accent-color);
}

.btn-close-details {
    background: none;
    border: none;
    cursor: pointer;
    color: #999;
    font-size: 16px;
}

/* Área de rolagem interna */
.table-responsive-mini {
    flex: 1; /* Ocupa o resto do espaço */
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 5px;
    border-top: 1px solid #eee;
}

/* ==========================================
   TABELA DE BARRAS DE DADOS POR PRODUTO
   ========================================== */
.produto-bars-wrapper {
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    padding: 15px;
    box-shadow: var(--card-shadow);
    width: 100%;
    height: 450px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.produto-bars-container {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 10px;
}

.produto-bars-loading {
    text-align: center;
    padding: 40px 20px;
    color: #999;
    font-size: 14px;
}

.produto-bars-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.produto-bar-item {
    background: var(--primary-bg);
    border-radius: 8px;
    padding: 12px;
    transition: all 0.2s ease;
}

.produto-bar-item:hover {
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.produto-bar-header {
    font-weight: 600;
    font-size: 13px;
    color: var(--text-color);
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(0,0,0,0.1);
}

.produto-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 12px;
}

.produto-bar-row:last-child {
    margin-bottom: 0;
}

.produto-bar-icon {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    color: white;
    flex-shrink: 0;
}

.produto-bar-icon.ncg {
    background-color: #dc3545;
}

.produto-bar-icon.falha {
    background-color: #ff9800;
}

.produto-bar-icon.procedente {
    background-color: #28a745;
}

.produto-bar-icon.total {
    background-color: #6c757d;
}

.produto-bar-label {
    width: 100px;
    flex-shrink: 0;
    color: var(--text-light);
    font-size: 11px;
}

.produto-bar-visual {
    flex: 1;
    height: 16px;
    background-color: rgba(0,0,0,0.05);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.produto-bar-fill {
    height: 100%;
    border-radius: 8px;
    transition: width 0.5s ease;
    position: relative;
}

.produto-bar-fill.ncg {
    background: linear-gradient(90deg, #dc3545 0%, #c82333 100%);
}

.produto-bar-fill.falha {
    background: linear-gradient(90deg, #ff9800 0%, #fb8c00 100%);
}

.produto-bar-fill.procedente {
    background: linear-gradient(90deg, #28a745 0%, #218838 100%);
}

.produto-bar-fill.total {
    background: linear-gradient(90deg, #6c757d 0%, #5a6268 100%);
}

.produto-bar-value {
    min-width: 60px;
    text-align: right;
    font-weight: 600;
    color: var(--text-color);
    flex-shrink: 0;
    font-size: 12px;
}

.produto-bar-percentage {
    color: var(--text-light);
    font-size: 11px;
    margin-left: 4px;
}

/* Dark mode adjustments */
.dark-mode .produto-bar-item {
    background: #2a2a2a;
}

.dark-mode .produto-bar-header {
    border-bottom-color: rgba(255,255,255,0.1);
}

.dark-mode .produto-bar-visual {
    background-color: rgba(255,255,255,0.05);
}

/* Área de rolagem interna */
.table-responsive-mini {
    flex: 1; /* Ocupa o resto do espaço */
    overflow-y: auto;
    overflow-x: hidden;
    margin-top: 5px;
    border-top: 1px solid #eee;
    min-height: 0;
}

/* A Mini Tabela */
.mini-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* OBRIGATÓRIO: Trava a largura */
    height: auto !important;
    min-height: 0 !important;
}

/* ==========================================
   BOTÕES DE FILTRO DE CATEGORIA (Motivos)
   ========================================== */
.btn-filtro-categoria {
    background: #E3F2FD;
    color: #00A3FF;
    border: 2px solid #B3E5FC;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.btn-filtro-categoria:hover {
    background: #BBDEFB;
    border-color: #81D4FA;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.12);
}

.btn-filtro-categoria.active {
    background: linear-gradient(135deg, #1565C0 0%, #0D47A1 100%);
    color: white;
    border-color: #0D47A1;
    box-shadow: 0 6px 12px rgba(13, 71, 161, 0.4);
    transform: scale(1.05);
}

.btn-filtro-categoria.active:hover {
    background: linear-gradient(135deg, #0D47A1 0%, #01579B 100%);
    box-shadow: 0 8px 16px rgba(13, 71, 161, 0.5);
}

.btn-filtro-categoria i {
    font-size: 14px;
}

.dark-mode .btn-filtro-categoria {
    background: #1E3A5F;
    color: #64B5F6;
    border-color: #2E5A8F;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.dark-mode .btn-filtro-categoria:hover {
    background: #2E5A8F;
    border-color: #3D7ABF;
}

.dark-mode .btn-filtro-categoria.active {
    background: linear-gradient(135deg, #1976D2 0%, #1565C0 100%);
    color: white;
    border-color: #1565C0;
    box-shadow: 0 6px 12px rgba(25, 118, 210, 0.6);
}

.mini-table th {
    position: sticky;
    top: 0;
    background: #f8f9fa;
    z-index: 5;
    padding: 10px 5px;
    font-size: 11px;
    color: #666;
    font-weight: 700;
    text-transform: uppercase;
    border-bottom: 2px solid #ddd;
}

.mini-table td {
    padding: 8px 5px;
    border-bottom: 1px solid #eee;
    font-size: 11px;
    color: var(--text-color);
    
    /* Quebra de linha forçada */
    word-wrap: break-word; 
    white-space: normal;
    overflow-wrap: break-word;
    vertical-align: top;
}

.table-responsive-mini .mini-table thead {
    display: table-header-group;
}

.table-responsive-mini .mini-table tbody {
    display: table-row-group;
    height: auto !important;
}

.table-responsive-mini .mini-table tr {
    display: table-row;
    height: auto !important;
}

.mini-table tr:hover {
    background-color: rgba(0,0,0,0.02);
}

/* Larguras Travadas da Mini Tabela */
.mini-table th:nth-child(1) { width: 16%; } /* Protocolo */
.mini-table th:nth-child(2) { width: 18%; } /* Assunto */
.mini-table th:nth-child(3) { width: 14%; } /* Categoria */
.mini-table th:nth-child(4) { width: 12%; } /* Caso */
.mini-table th:nth-child(5) { width: 18%; } /* Operador */
.mini-table th:nth-child(6) { width: 22%; } /* Motivo */

/* Responsividade */
@media (max-width: 1200px) {
    .dashboard-split {
        grid-template-columns: 1fr;
    }
    
    .dashboard-split.has-details {
        grid-template-columns: 1fr;
    }
    
    .chart-wrapper, .details-wrapper {
        height: auto;
        min-height: 500px; /* Aumentado para acomodar mais linhas */
    }
    
    .details-wrapper {
        max-height: 70vh; /* Garante que não ultrapasse a altura da tela */
    }
    
    /* Ajustes para a tabela de barras por produto */
    .produto-bars-wrapper {
        height: auto;
        min-height: 300px;
    }
    
    .produto-bar-label {
        width: 80px;
        font-size: 10px;
    }
    
    .produto-bar-value {
        min-width: 50px;
        font-size: 11px;
    }
}

@media (max-width: 768px) {
    .dashboard-split {
        grid-template-columns: 1fr;
    }
    
    .produto-bars-wrapper {
        height: auto;
        min-height: 250px;
    }
    
    .produto-bar-row {
        flex-wrap: wrap;
    }
    
    .produto-bar-label {
        width: 100%;
        margin-bottom: 4px;
    }
    
    .produto-bar-visual {
        flex: 1;
        min-width: 150px;
    }
}

/* --- TORNAR OS CARDS CLICÁVEIS --- */

/* Apenas os cards de resultado (ignorando Total e Pendentes por enquanto) */
.metric-card[onclick] {
    cursor: pointer;
    transition: all 0.2s ease;
    border: 2px solid transparent; /* Prepara borda para não pular */
}

/* Efeito ao passar o mouse */
.metric-card[onclick]:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.1);
}

/* Quando o card estiver selecionado (Ativo) */
.metric-card.active-card {
    border-color: #666; /* Borda destaque */
    background-color: #f8f9fa;
    transform: scale(1.02);
}

/* Cores específicas de borda ativa para cada tipo */
.metric-card.active-procedente { border-color: #28a745 !important; background: #e8f5e9 !important; }
.metric-card.active-grave { border-color: #dc3545 !important; background: #f8d7da !important; }
.metric-card.active-pontual { border-color: #ff9800 !important; background: #fff3cd !important; }
.metric-card.active-descarte { border-color: #6c757d !important; background: #e2e3e5 !important; }

/* ============================================================
   ESTILOS DOS NOVOS FILTROS GLOBAIS (ADICIONAR NO FINAL)
   ============================================================ */

/* 1. A Barra de Ferramentas (Container) */
.filters-container {
    background-color: var(--secondary-bg);
    padding: 8px 12px;
    border-radius: var(--border-radius);
    box-shadow: var(--card-shadow);
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
    border: 1px solid #eee;
    flex-wrap: wrap;
    
    /* STICKY: Mantém os filtros visíveis ao fazer scroll */
    position: sticky;
    top: 0;
    z-index: 100;
    transition: box-shadow 0.3s ease;
}

/* Adiciona sombra mais forte quando os filtros estão "grudados" no topo */
.filters-container.is-stuck {
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

/* Estado colapsado dos filtros */
.filters-container.collapsed {
    padding: 0;
    margin-bottom: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    min-height: 0;
    height: 0;
    overflow: visible;
}

.filters-container.collapsed .filter-dropdown,
.filters-container.collapsed .filter-period-wrapper,
.filters-container.collapsed #active-filters-badges,
.filters-container.collapsed #ultima-importacao {
    display: none;
}

.filters-container.collapsed .btn-toggle-filters {
    position: sticky;
    top: 15px;
    z-index: 1000;
    box-shadow: 0 0 0 4px rgba(0, 163, 255, 0.3),
                0 8px 24px rgba(0, 163, 255, 0.7);
    animation: pulseButton 2s ease-in-out infinite;
}

@keyframes pulseButton {
    0%, 100% {
        box-shadow: 0 0 0 4px rgba(0, 163, 255, 0.3),
                    0 8px 24px rgba(0, 163, 255, 0.7);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(0, 163, 255, 0.5),
                    0 12px 36px rgba(0, 163, 255, 0.9);
    }
}

/* Botão de Toggle Filtros */
.btn-toggle-filters {
    background: var(--accent-color);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 163, 255, 0.3);
    flex-shrink: 0;
    font-size: 16px;
}

.btn-toggle-filters:hover {
    background: #0088dd;
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 163, 255, 0.5);
}

.btn-toggle-filters i {
    transition: transform 0.3s ease;
    font-size: 14px;
}

.filters-container.collapsed .btn-toggle-filters i {
    transform: rotate(180deg);
}

/* Última Importação */
#ultima-importacao {
    font-size: 10px;
    color: #666;
    font-style: italic;
    padding: 4px 8px;
    background: #f8f9fa;
    border-radius: 4px;
    border: 1px solid #e0e0e0;
    margin-left: auto;
    white-space: nowrap;
}

.dark-mode #ultima-importacao {
    color: #a0a0a0;
    background: #2a2a2a;
    border-color: #404040;
}

.periodo-preset-btn {
    display: flex;
    align-items: center;
    width: 100%;
    border: 0;
    background: transparent;
    color: #2563eb;
    font-size: 13px;
    font-weight: 800;
    text-align: left;
    padding: 4px 2px;
    border-radius: 6px;
    cursor: pointer;
}

.periodo-preset-btn:hover,
.periodo-preset-btn:focus {
    background: #eff6ff;
    color: #1d4ed8;
    outline: none;
}

.dark-mode #painel-filtros-avancados-periodo {
    background: #1f2937 !important;
    border-color: #374151 !important;
}

.dark-mode .periodo-preset-btn {
    color: #93c5fd;
}

.dark-mode .periodo-preset-btn:hover,
.dark-mode .periodo-preset-btn:focus {
    background: rgba(59, 130, 246, 0.16);
    color: #bfdbfe;
}

@media (max-width: 760px) {
    #painel-filtros-avancados-periodo {
        left: 0 !important;
        right: auto !important;
        width: calc(100vw - 32px) !important;
    }

    #painel-filtros-avancados-periodo > div {
        grid-template-columns: 1fr !important;
    }

    #painel-filtros-avancados-periodo > div > div:first-child {
        border-right: 0 !important;
        border-bottom: 1px solid #e5e7eb;
        padding-right: 0 !important;
        padding-bottom: 14px;
    }
}

/* Dark Mode adjustment */
.dark-mode .filters-container {
    border-color: #333;
}

/* 2. Botões de Filtro (Dropdown Trigger) */
.filter-btn {
    background-color: var(--primary-bg);
    border: 1px solid #ddd;
    padding: 4px 8px;
    border-radius: var(--border-radius);
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: 4px;
    transition: var(--transition);
}

.filter-btn:hover {
    background-color: #e2e6ea;
    border-color: #ccc;
}

.dark-mode .filter-btn:hover {
    background-color: #333;
    border-color: #555;
}

.filter-btn i {
    color: var(--accent-color);
}

/* 3. O Menu Dropdown (A mágica de aparecer/sumir) */
.filter-dropdown {
    position: relative;
}

.dropdown-content {
    display: none; /* Começa escondido */
    position: absolute;
    top: 120%; /* Fica logo abaixo do botão */
    left: 0;
    background-color: var(--secondary-bg);
    min-width: 280px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    z-index: 1000; /* Garante que fique por cima de tudo */
    border-radius: var(--border-radius);
    border: 1px solid #eee;
    overflow: hidden; /* Para bordas arredondadas */
    animation: fadeInDrop 0.2s ease;
}

.dark-mode .dropdown-content {
    border-color: #333;
    box-shadow: 0 10px 25px rgba(0,0,0,0.5);
}

/* Classe adicionada pelo JS para mostrar o menu */
.dropdown-content.show {
    display: block;
}

@keyframes fadeInDrop {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* 4. Elementos Internos do Menu */
.dropdown-search {
    padding: 12px;
    background-color: var(--primary-bg);
    border-bottom: 1px solid #eee;
}

.dark-mode .dropdown-search {
    border-bottom-color: #333;
}

.dropdown-search input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    outline: none;
    background: var(--secondary-bg);
    color: var(--text-color);
}

.dropdown-search input:focus {
    border-color: var(--accent-color);
}

.checkbox-list {
    max-height: 250px;
    overflow-y: auto;
    padding: 10px 0;
}

.checkbox-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 15px;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-color);
    transition: background 0.1s;
}

.checkbox-item:hover {
    background-color: rgba(0, 163, 255, 0.1);
}

.checkbox-item input[type="checkbox"] {
    accent-color: var(--accent-color);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* 5. Rodapé do Menu (Botões de Ação) */
.dropdown-actions {
    padding: 12px;
    border-top: 1px solid #eee;
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: var(--secondary-bg);
}

.dark-mode .dropdown-actions {
    border-top-color: #333;
}

.dropdown-select-all {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 600;
    color: var(--text-color);
    cursor: pointer;
    user-select: none;
}

.dropdown-select-all input {
    margin: 0;
    cursor: pointer;
}

.dropdown-actions .btn-apply {
    margin-left: auto;
}

.btn-small {
    padding: 4px 8px;
    border: 1px solid #ddd;
    background: var(--primary-bg);
    border-radius: 4px;
    cursor: pointer;
    font-size: 10px;
    font-weight: 600;
    color: var(--text-color);
}

.btn-small:hover {
    background: #ddd;
}

.btn-small.btn-apply {
    background: var(--accent-color);
    color: white;
    border: none;
}

.btn-small.btn-apply:hover {
    background: #0088dd;
}

.btn-small.btn-clear-all {
    background: transparent;
    color: #999;
    border: 1px solid #ddd;
    transition: all 0.2s ease;
}

.btn-small.btn-clear-all:hover {
    background: #f8f9fa;
    color: #dc3545;
    border-color: #dc3545;
}

.btn-small.btn-clear-all i {
    margin-right: 4px;
}

/* 6. Badges (Etiquetas dos filtros ativos) */
#active-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-left: 8px;
}

.badge {
    /* Sobrescrevendo estilo genérico para badge de filtro */
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background-color: rgba(0, 163, 255, 0.1);
    color: var(--accent-color);
    border: 1px solid rgba(0, 163, 255, 0.2);
    padding: 4px 10px;
    border-radius: 16px;
    font-size: 11px;
    font-weight: 600;
}

/* Ajuste Visual do Filtro de Período */
.filter-period-wrapper {
    display: flex;
    align-items: center;
    background-color: var(--primary-bg);
    border: 1px solid #ddd;
    padding: 3px 8px;
    border-radius: var(--border-radius);
    gap: 6px;
    color: var(--text-color);
    font-size: 11px;
    font-weight: 600;
}

.filter-period-wrapper input[type="date"] {
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 3px 5px;
    background: var(--secondary-bg);
    color: var(--text-color);
    outline: none;
    font-family: inherit;
    font-size: 11px;
    max-width: 115px;
}

.dark-mode .filter-period-wrapper {
    background-color: #333;
    border-color: #555;
}

.dark-mode .filter-period-wrapper input[type="date"] {
    background-color: #1e1e1e;
    border-color: #444;
    color: white;
}

/* ============================================================
   GRÁFICOS LADO A LADO (TOP 10 ASSUNTOS + RETENÇÃO)
   ============================================================ */

.charts-row {
    display: grid;
    gap: 15px;
    margin-top: 25px;
}

/* Override específico para os chart-wrappers dentro de charts-row */
.charts-row > .chart-wrapper {
    padding: 18px !important;
}

/* Título dos gráficos lado a lado */
.charts-row > .chart-wrapper .section-title,
.charts-row > .chart-wrapper > h3.section-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 14px;
    font-weight: 700;
    color: var(--accent-color);
}

.charts-row > .chart-wrapper .section-title i,
.charts-row > .chart-wrapper > h3.section-title i {
    font-size: 16px;
}

/* Responsividade: Em telas menores, empilha os gráficos */
@media (max-width: 1024px) {
    .charts-row {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   FEEDBACK E QUESTIONAMENTOS
   ============================================ */

.feedback-section {
    margin-top: 20px;
    padding: 16px;
    background: #f0f9ff;
    border-radius: 8px;
    border: 1px solid #e5e7eb;
    border-left: 4px solid #0284c7;
}

.dark-mode .feedback-section {
    background: #1e3a5f;
    border-color: #2563eb;
}

.feedback-section h4 {
    color: #0284c7;
    font-size: 14px;
    font-weight: 600;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dark-mode .feedback-section h4 {
    color: #60a5fa;
}

.feedback-options {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.feedback-option {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.feedback-option label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--text-color);
    font-weight: 500;
    font-size: 13px;
}

.feedback-option input[type="checkbox"],
.feedback-option input[type="radio"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.feedback-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    background: var(--secondary-bg);
    transition: all 0.2s;
    margin-bottom: 6px;
}

.feedback-radio-label:hover {
    border-color: var(--accent-color);
    background: #f0f9ff;
}

.dark-mode .feedback-radio-label:hover {
    background: #1e3a5f;
}

.feedback-radio-label:has(input:checked) {
    border-color: var(--accent-color);
    background: #eff6ff;
    box-shadow: 0 0 0 2px rgba(0, 163, 255, 0.15);
}

.dark-mode .feedback-radio-label:has(input:checked) {
    background: #1e3a5f;
    border-color: #60a5fa;
}

.feedback-radio-text {
    font-weight: 500;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.feedback-option textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    background: var(--secondary-bg);
    color: var(--text-color);
    font-family: inherit;
    font-size: 13px;
    min-height: 60px;
    resize: vertical;
    transition: border-color 0.2s;
}

.feedback-option textarea:focus {
    outline: none;
    border-color: var(--accent-color);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.feedback-option button {
    align-self: flex-start;
    padding: 8px 20px;
    background: var(--accent-color);
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 500;
    font-size: 12px;
    transition: background 0.2s;
    margin-top: 8px;
}

.feedback-option button:hover {
    background: #2563eb;
}

.feedback-option button:active {
    transform: scale(0.98);
}

#container-questionamento {
    margin-top: 12px;
    padding: 12px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 6px;
}

.dark-mode #container-questionamento {
    background: #422006;
    border-color: #f59e0b;
}

#container-questionamento textarea {
    width: 100%;
    min-height: 80px;
    padding: 8px;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-size: 13px;
    font-family: inherit;
    background: var(--secondary-bg);
    color: var(--text-color);
}

#container-questionamento button {
    margin-top: 8px;
}

#lista-feedback {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e5e7eb;
}

.dark-mode #lista-feedback {
    border-top-color: #374151;
}

.feedback-item {
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.feedback-item textarea {
    font-family: inherit;
    font-size: 0.875rem;
}

.feedback-item button {
    font-family: inherit;
    font-size: 0.875rem;
    transition: all 0.2s;
}

.feedback-item button:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.feedback-item button:active {
    transform: translateY(0);
}

@media (max-width: 768px) {
    .feedback-section {
        padding: 12px;
    }
    
    .feedback-option button {
        width: 100%;
    }
}

/* ============================================
   SEÇÃO DE MOVIMENTAÇÃO POR ASSUNTO
   ============================================ */

.assunto-item {
    transition: background 0.2s ease;
}

.assunto-item:hover {
    background: #f9fafb !important;
}

.assunto-item:last-child {
    border-bottom: none !important;
}

/* Scrollbar personalizada para lista de assuntos */
#lista-assuntos-container::-webkit-scrollbar {
    width: 8px;
}

#lista-assuntos-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

#lista-assuntos-container::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

#lista-assuntos-container::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Dark mode para seção de assuntos */
.dark-mode #lista-assuntos-container {
    background: #2a2a2a;
    border-color: #444;
}

.dark-mode .assunto-item {
    border-bottom-color: #444 !important;
}

.dark-mode .assunto-item:hover {
    background: #333 !important;
}

.dark-mode #resumo-selecao {
    background: #1e3a5f;
    border-color: #2563eb;
}
/* ==========================================
   AUTOCOMPLETE DE MOTIVOS
   ========================================== */

.autocomplete-item:hover {
    background: #f8f9fa !important;
}

#motivos-tags-container {
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.dark-mode #autocomplete-motivos {
    background: #2d3748 !important;
    border-color: #4a5568 !important;
    color: #e2e8f0 !important;
}

.dark-mode .autocomplete-item {
    border-bottom-color: #4a5568 !important;
}

.dark-mode .autocomplete-item:hover {
    background: #374151 !important;
}

/* ==========================================
   SISTEMA DE TAGS E AUTOCOMPLETE
   ========================================== */

/* Container de Tags */
#motivos-tags-container {
    min-height: 34px;
    padding: 6px 8px;
    border: 2px dashed #cbd5e0;
    border-radius: 6px;
    background: #f8f9fa;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    transition: all 0.2s;
}

#motivos-tags-container:empty::before {
    content: 'Nenhum motivo selecionado';
    color: #a0aec0;
    font-size: 13px;
    font-style: italic;
}

#motivos-tags-container.has-tags {
    border-style: solid;
    border-color: #667eea;
    background: #e7f3ff;
}

/* Tags individuais */
.motivo-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
    animation: tagSlideIn 0.2s ease-out;
}

.motivo-tag .tag-text {
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.motivo-tag .tag-remove {
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.2s;
    font-size: 16px;
    line-height: 1;
}

.motivo-tag .tag-remove:hover {
    opacity: 1;
    transform: scale(1.2);
}

@keyframes tagSlideIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Dropdown de Autocomplete */
.autocomplete-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: white;
    border: 2px solid #667eea;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    max-height: 420px;
    overflow-y: auto;
    z-index: 1000;
}

.autocomplete-dropdown.open-up {
    top: auto;
    bottom: calc(100% + 4px);
    transform-origin: bottom center;
}

.autocomplete-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    min-height: 140px;
}

.autocomplete-column {
    min-width: 0;
}

.autocomplete-column.especifico {
    border-bottom: 1px solid #dbeafe;
}

.autocomplete-column-header {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    align-items: baseline;
    padding: 8px 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.autocomplete-column.geral .autocomplete-column-header {
    background: #1d4ed8;
    color: #fff;
}

.autocomplete-column.especifico .autocomplete-column-header {
    background: #d9f7f6;
    color: #0f172a;
}

.autocomplete-column-title {
    font-size: 12px;
}

.autocomplete-column-subtitle {
    font-size: 10px;
    font-weight: 600;
    text-transform: none;
    opacity: 0.9;
}

.autocomplete-column-body {
    padding: 0;
}

.autocomplete-column-empty {
    padding: 12px 12px;
    color: #64748b;
    font-size: 11px;
    font-style: italic;
}

.autocomplete-dropdown.active {
    display: block;
    animation: dropdownFadeIn 0.2s ease-out;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.autocomplete-item {
    padding: 9px 12px;
    cursor: pointer;
    border-bottom: 1px solid #e2e8f0;
    transition: background 0.2s;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.autocomplete-item:last-child {
    border-bottom: none;
}

.autocomplete-item-checkbox-wrap {
    flex: 0 0 auto;
    padding-top: 2px;
}

.autocomplete-item-checkbox {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    accent-color: #a855f7;
}

.autocomplete-item-content {
    flex: 1 1 auto;
    min-width: 0;
}

.autocomplete-item:hover,
.autocomplete-item.selected {
    background: #f0f4ff;
}

.autocomplete-item.is-checked {
    background: #fff8cc;
}

.autocomplete-item.is-checked:hover,
.autocomplete-item.is-checked.selected {
    background: #fff1a6;
}

.autocomplete-item-titulo {
    font-weight: 500;
    color: #2d3748;
    margin-bottom: 2px;
    font-size: 13px;
    line-height: 1.3;
}

.autocomplete-item-desc {
    font-size: 11px;
    color: #718096;
    line-height: 1.35;
}

.autocomplete-empty {
    padding: 20px;
    text-align: center;
    color: #a0aec0;
    font-style: italic;
}

/* Input Ghost (texto fantasma) */
#motivo-ghost {
    position: absolute;
    top: 0;
    left: 0;
    color: #cbd5e0 !important;
    background: transparent !important;
    pointer-events: none;
    border: 2px solid transparent !important;
    z-index: 1;
    padding: 10px !important;
    font-size: 13px !important;
}

#motivo-autocomplete-input {
    position: relative;
    z-index: 2;
    background: white !important;
    font-size: 13px !important;
    padding: 10px !important;
}

/* Dark Mode */
.dark-mode #motivos-tags-container {
    background: #2d3748;
    border-color: #4a5568;
}

.dark-mode #motivos-tags-container.has-tags {
    border-color: #667eea;
    background: #374151;
}

.dark-mode .autocomplete-dropdown {
    background: #2d3748;
    border-color: #667eea;
}

.dark-mode .autocomplete-column.especifico {
    border-bottom-color: #4a5568;
}

.dark-mode .autocomplete-column.geral .autocomplete-column-header {
    background: #1e40af;
    color: #f8fafc;
}

.dark-mode .autocomplete-column.especifico .autocomplete-column-header {
    background: #134e4a;
    color: #e2e8f0;
}

.dark-mode .autocomplete-column-empty {
    color: #a0aec0;
}

.dark-mode .autocomplete-item {
    border-bottom-color: #4a5568;
}

.dark-mode .autocomplete-item:hover,
.dark-mode .autocomplete-item.selected {
    background: #374151;
}

.dark-mode .autocomplete-item.is-checked {
    background: #5b4a1f;
}

.dark-mode .autocomplete-item.is-checked:hover,
.dark-mode .autocomplete-item.is-checked.selected {
    background: #715a22;
}

.dark-mode .autocomplete-item-titulo {
    color: #e2e8f0;
}

.dark-mode #motivo-autocomplete-input {
    background: #2d3748 !important;
    color: #e2e8f0 !important;
    border-color: #4a5568 !important;
}

.dark-mode #motivo-ghost {
    color: #4a5568 !important;
}


/* ============================================
   SISTEMA DE NOTIFICAÇÕES
   ============================================ */

.notificacao-wrapper {
    position: relative;
    margin-left: 8px;
    flex-shrink: 0;
}

.notificacao-btn {
    position: relative;
    background: var(--primary-bg);
    border: 1px solid #ddd;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: var(--text-light);
    font-size: 16px;
}

.notificacao-emoji-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    font-size: 16px;
}

.notificacao-btn .notificacao-emoji-icon {
    font-size: 17px;
}

.notificacao-btn:hover {
    background: #e2e6ea;
    border-color: #ccc;
    color: var(--text-color);
    transform: scale(1.05);
}

.dark-mode .notificacao-btn {
    background: #2a2a2a;
    border-color: #444;
    color: #a0a0a0;
}

.dark-mode .notificacao-btn:hover {
    background: #333;
    border-color: #555;
    color: #e0e0e0;
}

.notificacao-btn.has-notifications {
    color: var(--accent-color);
    border-color: var(--accent-color);
    animation: bellPulse 2s ease-in-out infinite;
}

.notificacao-btn.has-notifications .fa-bell {
    animation: bellSwing 1s ease-in-out;
}

@keyframes bellPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(0, 163, 255, 0.2);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(0, 163, 255, 0);
    }
}

@keyframes bellSwing {
    0%, 100% { transform: rotate(0); }
    15% { transform: rotate(12deg); }
    30% { transform: rotate(-10deg); }
    45% { transform: rotate(6deg); }
    60% { transform: rotate(-4deg); }
    75% { transform: rotate(2deg); }
}

/* Badge numérico */
.notificacao-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: #dc3545;
    color: white;
    font-size: 10px;
    font-weight: 700;
    min-width: 18px;
    height: 18px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
    border: 2px solid var(--secondary-bg);
    animation: badgeBounce 0.3s ease;
}

@keyframes badgeBounce {
    0% { transform: scale(0); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Dropdown de notificações */
.notificacao-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    width: 380px;
    max-height: 480px;
    background: var(--secondary-bg);
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    border: 1px solid #e5e7eb;
    z-index: 2000;
    overflow: hidden;
    animation: notifDropIn 0.25s ease;
}

.notificacao-dropdown.show {
    display: flex;
    flex-direction: column;
}

.dark-mode .notificacao-dropdown {
    border-color: #374151;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

@keyframes notifDropIn {
    from {
        opacity: 0;
        transform: translateY(-8px) scale(0.96);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Header do dropdown */
.notificacao-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #e5e7eb;
    background: #f8fafc;
    flex-shrink: 0;
}

.dark-mode .notificacao-header {
    background: #1f2937;
    border-bottom-color: #374151;
}

.notificacao-header > span {
    font-weight: 700;
    font-size: 14px;
    color: var(--text-color);
    display: flex;
    align-items: center;
    gap: 8px;
}

.notificacao-header > span i {
    color: var(--accent-color);
}

.notificacao-marcar-lidas {
    background: none;
    border: none;
    color: var(--accent-color);
    font-size: 11px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 4px;
}

.notificacao-marcar-lidas:hover {
    background: rgba(0, 163, 255, 0.1);
}

/* Lista de notificações */
.notificacao-lista {
    overflow-y: auto;
    flex: 1;
    max-height: 400px;
}

.notificacao-lista::-webkit-scrollbar {
    width: 6px;
}

.notificacao-lista::-webkit-scrollbar-track {
    background: transparent;
}

.notificacao-lista::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 3px;
}

.dark-mode .notificacao-lista::-webkit-scrollbar-thumb {
    background: #4b5563;
}

.notificacao-vazia {
    text-align: center;
    color: #9ca3af;
    padding: 40px 20px;
    font-size: 13px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.notificacao-vazia i {
    font-size: 24px;
    color: #d1d5db;
}

/* Item de notificação */
.notificacao-item {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: background 0.15s ease;
    border-bottom: 1px solid #f3f4f6;
}

.notificacao-item:last-child {
    border-bottom: none;
}

.notificacao-item:hover {
    background: #f0f9ff;
}

.dark-mode .notificacao-item {
    border-bottom-color: #1f2937;
}

.dark-mode .notificacao-item:hover {
    background: #1e3a5f;
}

.notificacao-item-icone {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.dark-mode .notificacao-item-icone {
    background: #374151;
}

.notificacao-item-conteudo {
    flex: 1;
    min-width: 0;
}

.notificacao-item-titulo {
    font-weight: 600;
    font-size: 12px;
    color: var(--text-color);
    margin-bottom: 2px;
}

.notificacao-item-msg {
    font-size: 12px;
    color: var(--text-light);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.validacao-auditoria-item .notificacao-item-msg {
    display: block;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    overflow: visible;
}

.validacao-auditoria-item .validacao-meta {
    display: block;
    font-size: 11px;
    line-height: 1.4;
    color: #475569;
    margin-top: 2px;
}

.dark-mode .validacao-auditoria-item .validacao-meta {
    color: #cbd5e1;
}

.notificacao-item-tempo {
    font-size: 10px;
    color: #9ca3af;
    margin-top: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Highlight temporário ao navegar via notificação */
.protocol-item.notification-highlight {
    animation: highlightFlash 3s ease;
}

@keyframes highlightFlash {
    0%, 100% {
        background: transparent;
        box-shadow: none;
    }
    10%, 30%, 50% {
        background: rgba(0, 163, 255, 0.15);
        box-shadow: inset 0 0 0 2px var(--accent-color);
    }
    20%, 40% {
        background: transparent;
        box-shadow: none;
    }
    60% {
        background: rgba(0, 163, 255, 0.08);
        box-shadow: none;
    }
}

/* ============================================================================
   ESTILOS ABA TENDÊNCIAS
   ============================================================================ */

/* Cabeçalho da página */
.page-header {
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--primary-bg);
}

.page-header h2 {
    color: var(--text-color);
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 5px 0;
}

/* Heatmap */
.heatmap-container {
    padding: 20px;
    background: var(--secondary-bg);
    border-radius: var(--border-radius);
    overflow-x: auto;
}

.heatmap-grid {
    display: inline-block;
    min-width: 100%;
}

.heatmap-header,
.heatmap-row {
    display: flex;
    align-items: stretch;
}

.heatmap-cell {
    padding: 12px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    min-width: 100px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
}

.heatmap-corner {
    background: var(--primary-bg);
    font-weight: 700;
    min-width: 150px;
}

.heatmap-col-header {
    background: var(--primary-bg);
    color: var(--text-color);
    font-weight: 700;
    writing-mode: horizontal-tb;
}

.heatmap-row-header {
    background: var(--primary-bg);
    color: var(--text-color);
    font-weight: 700;
    min-width: 150px;
    text-align: left;
    justify-content: flex-start;
}

.heatmap-data {
    cursor: help;
    transition: all 0.2s ease;
    font-size: 14px;
}

.heatmap-data:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10;
    position: relative;
}

/* Indicador de carregamento */
.loading-indicator {
    text-align: center;
    padding: 40px;
    color: var(--text-light);
    font-size: 14px;
}

.loading-indicator i {
    font-size: 24px;
    margin-bottom: 10px;
    display: block;
}

/* Dark mode para heatmap */
.dark-mode .heatmap-cell {
    border-color: rgba(255, 255, 255, 0.08);
}

.dark-mode .heatmap-corner,
.dark-mode .heatmap-col-header,
.dark-mode .heatmap-row-header {
    background: #2a2a2a;
}

/* Responsividade para heatmap */
@media (max-width: 1200px) {
    .heatmap-cell {
        min-width: 80px;
        padding: 10px;
        font-size: 12px;
    }
    
    .heatmap-row-header {
        min-width: 120px;
    }
}

/* Responsivo */
@media (max-width: 768px) {
    .notificacao-dropdown {
        width: 300px;
        right: -50px;
    }
}

/* ============================================================================
   JORNADA DO CLIENTE - LINHA DO TEMPO DINÂMICA (FCR Drill-down)
   ============================================================================ */

/* Container principal da jornada */
.jornada-cliente-container {
    padding: 20px;
    animation: fadeIn 0.3s ease;
}

/* Cabeçalho com botão voltar */
.jornada-header {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e0e0e0;
}

.btn-voltar-visao-geral {
    background: #6c757d;
    color: white;
    border: none;
    padding: 10px 16px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
}

.btn-voltar-visao-geral:hover {
    background: #5a6268;
    transform: translateX(-2px);
}

.jornada-cliente-info h3 {
    margin: 0;
    color: #333;
    font-size: 18px;
}

.jornada-cpf-cnpj {
    color: #666;
    font-size: 13px;
}

/* Cards de estatísticas da jornada */
.jornada-stats-cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

.jornada-stat-card {
    background: white;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid #e8e8e8;
    transition: all 0.2s ease;
}

.jornada-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.jornada-stat-icon {
    width: 50px;
    height: 50px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.jornada-stat-icon i {
    font-size: 22px;
}

.jornada-stat-content {
    flex: 1;
}

.jornada-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
}

.jornada-stat-value small {
    font-size: 14px;
    font-weight: 500;
    color: #666;
}

.jornada-stat-label {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
}

/* Seção da timeline */
.timeline-section {
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    border: 1px solid #e8e8e8;
}

.timeline-title {
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #333;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.timeline-title i {
    color: #2196F3;
}

.timeline-legenda {
    margin-left: auto;
    display: flex;
    gap: 15px;
    font-size: 12px;
    font-weight: normal;
    color: #666;
}

.legenda-item {
    display: flex;
    align-items: center;
    gap: 5px;
}

.legenda-cor {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    display: inline-block;
}

.legenda-verde {
    background: #4CAF50;
}

.legenda-vermelho {
    background: #f44336;
}

/* Container da timeline horizontal */
.timeline-container {
    overflow-x: auto;
    padding: 30px 0 20px 0;
    background: #f8f9fa;
    border-radius: 8px;
}

.timeline-wrapper {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    min-width: max-content;
    padding: 10px 30px;
    position: relative;
}

/* Linha conectora base - linha horizontal contínua */
.timeline-wrapper::before {
    content: '';
    position: absolute;
    top: 62px;
    left: 30px;
    right: 30px;
    height: 4px;
    background: #e0e0e0;
    border-radius: 2px;
    z-index: 0;
}

/* Cada item da timeline */
.timeline-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 200px;
    max-width: 220px;
    position: relative;
    padding: 0 10px;
    flex-shrink: 0;
}

/* Data do contato - no topo */
.timeline-date {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 12px;
    text-align: center;
    white-space: nowrap;
}

/* Marcador (bolinha numerada) */
.timeline-marker {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    position: relative;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: transform 0.2s ease;
    border: 3px solid white;
}

.timeline-marker:hover {
    transform: scale(1.15);
}

.timeline-marker-green {
    background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);
    color: white;
}

.timeline-marker-red {
    background: linear-gradient(135deg, #f44336 0%, #C62828 100%);
    color: white;
}

.timeline-numero {
    font-weight: 700;
    font-size: 16px;
}

/* Indicador de Gap entre contatos - no conector */
.timeline-gap {
    position: absolute;
    top: 28px;
    left: calc(100% - 40px);
    transform: translateX(0);
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    z-index: 3;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.gap-normal {
    background: #e3f2fd;
    color: #1565C0;
    border: 2px solid #90CAF9;
}

.gap-critico {
    background: #ffebee;
    color: #C62828;
    border: 2px solid #EF9A9A;
    animation: pulse 2s infinite;
}

.gap-label-critico {
    font-weight: 700;
}

@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

/* Conteúdo do item - abaixo do marcador */
.timeline-content {
    margin-top: 20px;
    text-align: center;
    width: 100%;
}

.timeline-protocolo {
    font-size: 13px;
    color: #555;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.timeline-canal {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    border-radius: 15px;
    color: white;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.timeline-assunto {
    font-size: 12px;
    color: #333;
    font-weight: 600;
    margin-top: 10px;
    line-height: 1.4;
    word-break: break-word;
    padding: 8px;
    background: white;
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.timeline-tabulacao {
    font-size: 10px;
    color: #888;
    margin-top: 6px;
    word-break: break-word;
    font-style: italic;
}

.timeline-empty {
    text-align: center;
    padding: 40px;
    color: #999;
    font-style: italic;
}

/* Responsividade da jornada */
@media (max-width: 1200px) {
    .jornada-stats-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .jornada-stats-cards {
        grid-template-columns: 1fr;
    }
    
    .jornada-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .timeline-legenda {
        margin-left: 0;
        margin-top: 10px;
    }
    
    .timeline-item {
        min-width: 170px;
    }
}

/* Dark mode para jornada */
.dark-mode .jornada-cliente-container {
    color: #e0e0e0;
}

.dark-mode .jornada-header {
    border-bottom-color: #444;
}

.dark-mode .jornada-cliente-info h3 {
    color: #e0e0e0;
}

.dark-mode .jornada-cpf-cnpj {
    color: #aaa;
}

.dark-mode .jornada-stat-card {
    background: #2a2a2a;
    border-color: #444;
}

.dark-mode .jornada-stat-value {
    color: #e0e0e0;
}

.dark-mode .timeline-section {
    background: #2a2a2a;
    border-color: #444;
}

.dark-mode .timeline-container {
    background: #1e1e1e;
}

.dark-mode .timeline-wrapper::before {
    background: #444;
}

.dark-mode .timeline-title {
    color: #e0e0e0;
}

.dark-mode .timeline-date {
    color: #e0e0e0;
}

.dark-mode .timeline-assunto {
    color: #e0e0e0;
    background: #333;
    border-color: #444;
}
.autocomplete-grid.single-column {
    grid-template-columns: 1fr;
}

#tabela-operadores .operador-row {
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

#tabela-operadores .operador-row:hover {
    box-shadow: inset 0 0 0 9999px rgba(0, 163, 255, 0.04);
}

#tabela-operadores .operador-row.is-selected {
    background: rgba(0, 163, 255, 0.14) !important;
    box-shadow: inset 3px 0 0 #00a3ff;
}

/* Ajustes específicos da aba Auditoria por Operador */
#visao-operador .chart-wrapper {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

#visao-operador .chart-wrapper:first-of-type {
    margin-top: 14px !important;
    padding: 14px 16px 10px !important;
}

#visao-operador .chart-wrapper + .chart-wrapper {
    margin-top: 12px !important;
    padding: 14px 16px 12px !important;
}

#visao-operador #visao-operador-resumo {
    gap: 12px !important;
    padding: 8px 6px 0 !important;
}

#visao-operador #visao-operador-container .table-responsive {
    max-height: 76vh !important;
    overflow: auto !important;
    width: 100% !important;
}

@media (max-width: 1200px) {
    #visao-operador-detalhes-wrapper > div[style*="grid-template-columns: 1fr 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   Recontato (FCR) - Polish visual incremental
   ========================================================================== */
#rechamada.rechamada-dashboard {
    background: #f3f6fb;
    border-radius: 18px;
    padding: 6px 0 24px;
}

#rechamada .rechamada-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 18px !important;
    margin-bottom: 18px;
    padding: 10px 6px 4px;
}

#rechamada .rechamada-header-main {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
}

#rechamada #rechamada-titulo,
#rechamada .rechamada-title {
    margin: 0 !important;
    font-size: 2rem;
    line-height: 1.08;
    font-weight: 800;
    color: #13315c;
    letter-spacing: -0.02em;
}

#rechamada #rechamada-subtitulo,
#rechamada .rechamada-subtitle {
    margin: 2px 0 0 !important;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #5f7695 !important;
    max-width: 980px;
}

#rechamada .rechamada-actions,
#rechamada #filtro-visao-rechamada,
#rechamada #wrap-acoes-rechamada {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

#rechamada .rechamada-btn,
#rechamada #btn-visao-geral,
#rechamada #btn-visao-procon,
#rechamada #btn-limpar-filtros-rechamada,
#rechamada #btn-filtro-tags-rechamada,
#rechamada #btn-filtro-atribuicao-rechamada,
#rechamada #btn-limpar-tags-rechamada,
#rechamada #btn-aplicar-tags-rechamada,
#rechamada #btn-limpar-atribuicao-rechamada,
#rechamada #btn-aplicar-atribuicao-rechamada {
    min-height: 42px;
    border-radius: 12px !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    letter-spacing: 0.01em;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.06);
}

#rechamada #btn-visao-geral,
#rechamada #btn-visao-procon,
#rechamada #btn-limpar-filtros-rechamada,
#rechamada #btn-filtro-tags-rechamada,
#rechamada #btn-filtro-atribuicao-rechamada {
    transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease !important;
}

#rechamada #btn-visao-geral:hover,
#rechamada #btn-visao-procon:hover,
#rechamada #btn-limpar-filtros-rechamada:hover,
#rechamada #btn-filtro-tags-rechamada:hover,
#rechamada #btn-filtro-atribuicao-rechamada:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

#rechamada #btn-visao-geral.active {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

#rechamada #btn-visao-geral:not(.active) {
    background: #fff !important;
    color: #2563eb !important;
    border-color: #bfdbfe !important;
}

#rechamada #btn-visao-procon.active {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    border-color: #ef4444 !important;
    color: #fff !important;
}

#rechamada #btn-visao-procon:not(.active) {
    background: #fff !important;
    color: #dc2626 !important;
    border-color: #fecaca !important;
}

#rechamada #btn-limpar-filtros-rechamada,
#rechamada #btn-filtro-tags-rechamada,
#rechamada #btn-limpar-tags-rechamada,
#rechamada #btn-filtro-atribuicao-rechamada,
#rechamada #btn-limpar-atribuicao-rechamada {
    background: #fff !important;
    color: #475569 !important;
    border-color: #d6e0eb !important;
}

#rechamada #btn-aplicar-tags-rechamada {
    background: #0f766e !important;
    border-color: #0f766e !important;
    color: #fff !important;
}

#rechamada #btn-aplicar-atribuicao-rechamada {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}

#rechamada .chart-wrapper,
#rechamada .rechamada-card,
#rechamada .rechamada-search-card {
    background: #fff;
    border: 1px solid #dbe4f0;
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

#rechamada .rechamada-search-card {
    padding: 16px 18px !important;
    margin-bottom: 18px !important;
}

#rechamada .rechamada-search-inner {
    max-width: 520px;
}

#rechamada .rechamada-search-label {
    color: #29486f !important;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 8px !important;
}

#rechamada .rechamada-search-label-icon {
    color: #2563eb !important;
}

#rechamada .rechamada-search-input {
    height: 46px !important;
    border: 1px solid #ced9e7 !important;
    border-radius: 14px !important;
    background: #fbfdff !important;
    padding-left: 16px !important;
    padding-right: 44px !important;
    font-size: 14px !important;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

#rechamada .rechamada-search-input:focus {
    border-color: #60a5fa !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.08);
    outline: none;
}

#rechamada .rechamada-search-input-icon {
    color: #94a3b8 !important;
}

#rechamada .rechamada-search-help {
    color: #6b7f99 !important;
    font-size: 11px;
    margin-top: 8px !important;
}

#rechamada .rechamada-search-results {
    border-color: #dbe4f0 !important;
    box-shadow: 0 22px 50px rgba(15, 23, 42, 0.14) !important;
}

#rechamada .rechamada-search-result-item {
    padding: 12px 14px !important;
    border-bottom: 1px solid #edf2f7;
    transition: background-color 0.16s ease;
}

#rechamada .rechamada-search-result-item:hover,
#rechamada .rechamada-search-result-item.is-active {
    background: #f8fbff !important;
}

#rechamada #rechamada-stats-wrapper {
    margin-bottom: 26px !important;
}

#rechamada #rechamada-stats-header,
#rechamada .chart-wrapper .chart-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    flex-wrap: wrap;
    padding: 22px 24px 0;
}

#rechamada #rechamada-stats-header .section-title,
#rechamada .chart-header .section-title {
    margin: 0;
    color: #1d3557;
    font-size: 1.1rem;
    font-weight: 800;
}

#rechamada .rechamada-section-subtitle,
#rechamada .chart-header small {
    color: #6b7f99 !important;
    font-size: 0.84rem;
    line-height: 1.45;
}

#rechamada .rechamada-stats-container {
    overflow: visible !important;
}

#rechamada .rechamada-kpi-grid {
    gap: 14px !important;
    padding: 14px 22px !important;
}

#rechamada .rechamada-kpi-card {
    min-height: 132px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%);
    border: 1px solid #deE7F2;
    border-radius: 18px;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05);
}

#rechamada .rechamada-kpi-card .stat-icon {
    width: 44px;
    height: 44px;
    border-radius: 13px;
}

#rechamada .rechamada-kpi-card .stat-value {
    font-size: clamp(1.55rem, 2.4vw, 1.95rem);
    font-weight: 800;
    line-height: 1.05;
    color: #15345c;
}

#rechamada .rechamada-kpi-card .stat-label {
    color: #55708f;
    font-size: 0.82rem;
    line-height: 1.35;
}

#rechamada .rechamada-kpi-card--danger {
    background: linear-gradient(180deg, #fff7f7 0%, #fff1f1 100%);
    border-color: #f8b4b4;
}

#rechamada .rechamada-kpi-card--danger .stat-value,
#rechamada .rechamada-kpi-card--danger .stat-label {
    color: #ef4444;
}

#rechamada .rechamada-kpi-card--success {
    background: linear-gradient(180deg, #f3fff8 0%, #edfcf2 100%);
    border-color: #9ae6b4;
}

#rechamada .rechamada-kpi-card--success .stat-value,
#rechamada .rechamada-kpi-card--success .stat-label {
    color: #10b981;
}

#rechamada .rechamada-analytics-grid {
    gap: 18px !important;
    padding: 6px 24px 14px !important;
    align-items: start !important;
}

#rechamada .rechamada-analytics-card {
    border-radius: 18px !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.05) !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
    padding-bottom: 16px !important;
}

#rechamada .rechamada-card-header {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
    border-bottom-color: #edf2f7 !important;
}

#rechamada .rechamada-analytics-card > div[style*="display: flex; flex-direction: column; gap: 12px;"],
#rechamada .rechamada-analytics-card > div[style*="display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"] {
    align-self: start;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    align-items: stretch !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] > div {
    min-width: 0 !important;
    padding: 12px 8px !important;
    border-radius: 12px !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] > div i {
    font-size: 21px !important;
    margin-bottom: 6px !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] > div > div:nth-child(2) {
    font-size: 18px !important;
    line-height: 1.05 !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] > div > div:nth-child(3) {
    font-size: 12px !important;
    margin-top: 3px !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] > div > div:nth-child(4) {
    font-size: 11px !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(1),
#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(3) {
    padding-bottom: 14px !important;
}

#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(1) > div[style*="display: flex; flex-direction: column; gap: 12px;"] > div,
#rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(3) > div[style*="display: grid; grid-template-columns: 1fr 1fr; gap: 14px;"] > div {
    margin-bottom: 0 !important;
}

#rechamada .rechamada-panel-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
    gap: 20px !important;
    margin-bottom: 30px !important;
}

#rechamada .rechamada-chart-canvas-wrap {
    padding: 18px 22px 24px !important;
}

#rechamada .rechamada-table-wrap {
    padding: 0 18px 20px;
}

#rechamada .rechamada-table {
    border-collapse: separate;
    border-spacing: 0;
    min-width: 100%;
    overflow: hidden;
    border: 1px solid #e4ebf3;
    border-radius: 14px;
    background: #fff;
}

#rechamada .rechamada-table thead th {
    background: #f8fbff;
    color: #516b89;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e3ebf5;
    font-weight: 800;
}

#rechamada .rechamada-table tbody td {
    border-bottom: 1px solid #eef3f8;
    color: #223b5a;
    vertical-align: middle;
}

#rechamada .rechamada-table tbody tr:last-child td {
    border-bottom: none;
}

#rechamada .rechamada-table-row {
    transition: background-color 0.16s ease, transform 0.16s ease;
}

#rechamada .rechamada-table-row:hover {
    background: #f8fbff !important;
}

#rechamada .rechamada-table-cell--name {
    font-weight: 700;
    color: #13315c;
}

#rechamada .rechamada-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
}

#rechamada .rechamada-badge--count {
    min-width: 34px;
    box-shadow: 0 8px 18px rgba(239, 68, 68, 0.18);
}

#rechamada .rechamada-badge--product {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

#rechamada .rechamada-inline-btn,
#rechamada .btn-ver-detalhes-cliente {
    border-radius: 10px !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.14);
}

#rechamada .rechamada-filter-summary {
    border-radius: 12px !important;
}

#rechamada .loading-indicator,
#rechamada .empty-state,
#rechamada .error-message {
    margin: 18px;
    border-radius: 14px;
    border: 1px dashed #d8e2ee;
    background: #fbfdff;
    color: #5f7695;
    padding: 18px 16px;
    text-align: center;
}

#rechamada .error-message {
    border-color: #fecaca;
    background: #fff7f7;
    color: #b91c1c;
}

#rechamada .empty-state {
    border-color: #dbe7f3;
    background: #f9fbfd;
}

#rechamada .rechamada-filter-wrap {
    position: relative;
    display: flex;
    align-items: center;
}

#rechamada .rechamada-filter-trigger {
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all .2s ease;
}

#rechamada .rechamada-filter-trigger-tags {
    color: #0f766e;
}

#rechamada .rechamada-filter-trigger-tags.is-active {
    box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.10);
}

#rechamada .rechamada-filter-counter {
    display: none;
    color: #fff;
    border-radius: 999px;
    padding: 1px 7px;
    font-size: 11px;
    line-height: 1.35;
}

#rechamada .rechamada-filter-counter-tags {
    background: #0f766e;
}

#rechamada .rechamada-filter-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: 330px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border: 1px solid #dbe3ec;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(15,23,42,.16);
    z-index: 80;
    padding: 12px;
}

#rechamada .rechamada-filter-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
}

#rechamada .rechamada-filter-title-tags i {
    color: #0f766e;
}

#rechamada .rechamada-filter-search {
    width: 100%;
    height: 36px;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 0 10px;
    font-size: 13px;
    box-sizing: border-box;
    margin-bottom: 10px;
    background: #fff;
    color: #0f172a;
}

#rechamada .rechamada-filter-search:focus {
    outline: none;
    border-color: #86b7fe;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.10);
}

#rechamada .rechamada-filter-options {
    display: flex;
    flex-direction: column;
    gap: 7px;
    max-height: 280px;
    overflow: auto;
    padding-right: 4px;
}

#rechamada .rechamada-filter-empty-state {
    font-size: 12px;
    color: #64748b;
    padding: 10px 4px;
}

#rechamada .rechamada-filter-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
    border-top: 1px solid #eef2f7;
    padding-top: 10px;
}

#rechamada .rechamada-filter-actions button {
    padding: 7px 10px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all .16s ease;
}

#rechamada .rechamada-filter-actions button:hover {
    transform: translateY(-1px);
}

#rechamada #btn-aplicar-tags-rechamada {
    padding-inline: 12px;
    border-color: #0f766e;
    background: #0f766e;
    color: #fff;
    font-weight: 800;
}

#rechamada .rechamada-filter-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 10px;
    border: 1px solid #dbe3ec;
    border-radius: 8px;
    background: #fff;
    cursor: pointer;
}

#rechamada .rechamada-filter-option-input {
    margin-top: 2px;
    flex-shrink: 0;
}

#rechamada .rechamada-filter-option-text {
    font-size: 12px;
    font-weight: 600;
    color: #334155;
    line-height: 1.35;
}

#rechamada .rechamada-tag-filter-option.is-selected,
#rechamada .rechamada-tag-filter-option:has(input:checked) {
    background: #ecfdf5 !important;
    border-color: #6ee7b7 !important;
}

#rechamada #dropdown-filtro-tags-rechamada,
#rechamada #dropdown-filtro-atribuicao-rechamada {
    border-color: #dbe4f0 !important;
    box-shadow: 0 20px 44px rgba(15, 23, 42, 0.14) !important;
}

#rechamada #lista-tags-rechamada .rechamada-tag-filter-option,
#rechamada #lista-atribuicao-rechamada .rechamada-atribuicao-filter-option {
    border-radius: 10px !important;
    transition: background-color 0.16s ease, border-color 0.16s ease;
}

#rechamada #lista-tags-rechamada .rechamada-tag-filter-option:hover,
#rechamada #lista-atribuicao-rechamada .rechamada-atribuicao-filter-option:hover {
    background: #f8fbff !important;
    border-color: #bfdbfe !important;
}

.dark-mode #rechamada.rechamada-dashboard {
    background: #0f1724;
}

.dark-mode #rechamada .chart-wrapper,
.dark-mode #rechamada .rechamada-card,
.dark-mode #rechamada .rechamada-search-card,
.dark-mode #rechamada .rechamada-table {
    background: #152030;
    border-color: #243348;
    box-shadow: none;
}

.dark-mode #rechamada #rechamada-titulo,
.dark-mode #rechamada .chart-header .section-title,
.dark-mode #rechamada .rechamada-kpi-card .stat-value,
.dark-mode #rechamada .rechamada-table tbody td,
.dark-mode #rechamada .rechamada-table-cell--name {
    color: #e5edf7;
}

.dark-mode #rechamada #rechamada-subtitulo,
.dark-mode #rechamada .rechamada-section-subtitle,
.dark-mode #rechamada .rechamada-search-help,
.dark-mode #rechamada .rechamada-table thead th {
    color: #9db1c9 !important;
}

.dark-mode #rechamada .rechamada-search-input,
.dark-mode #rechamada #rechamada-cliente-search-results,
.dark-mode #rechamada #dropdown-filtro-tags-rechamada {
    background: #111a28 !important;
    border-color: #2a3a50 !important;
    color: #e5edf7 !important;
}

.dark-mode #rechamada .rechamada-filter-search,
.dark-mode #rechamada .rechamada-filter-dropdown,
.dark-mode #rechamada .rechamada-filter-option,
.dark-mode #rechamada .rechamada-filter-actions button {
    background: #111a28;
    border-color: #2a3a50;
    color: #e5edf7;
}

.dark-mode #rechamada .rechamada-filter-title,
.dark-mode #rechamada .rechamada-filter-option-text {
    color: #e5edf7;
}

.dark-mode #rechamada .rechamada-filter-empty-state {
    color: #9db1c9;
}

.dark-mode #rechamada .rechamada-filter-actions {
    border-top-color: #243348;
}

.dark-mode #rechamada .rechamada-tag-filter-option.is-selected,
.dark-mode #rechamada .rechamada-tag-filter-option:has(input:checked) {
    background: rgba(15, 118, 110, 0.18) !important;
    border-color: rgba(110, 231, 183, 0.45) !important;
}

.timeline-cliente-gestao-grid {
    display: grid;
    grid-template-columns: minmax(280px, 380px) 1fr;
    gap: 14px;
    align-items: start;
}

.timeline-cliente-chip-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.timeline-cliente-chip-group--compact {
    gap: 8px;
}

.timeline-cliente-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    border: 1px solid transparent;
    max-width: 100%;
}

.timeline-cliente-chip i {
    flex-shrink: 0;
}

.timeline-cliente-chip span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.timeline-cliente-chip--tag {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.timeline-cliente-chip--assigned {
    background: #dbeafe;
    color: #1d4ed8;
    border-color: #93c5fd;
}

.timeline-cliente-chip--cause {
    background: #ecfeff;
    color: #0f766e;
    border-color: #99f6e4;
}

.timeline-cliente-chip--category {
    background: #f5f3ff;
    color: #6d28d9;
    border-color: #ddd6fe;
}

.timeline-cliente-chip--status {
    background: #fef3c7;
    color: #92400e;
    border-color: #fcd34d;
}

.timeline-cliente-chip--neutral {
    background: #f8fafc;
    color: #64748b;
    border-color: #cbd5e1;
}

.timeline-cliente-chip.is-empty,
.timeline-cliente-chip--neutral {
    font-weight: 600;
}

.timeline-cliente-note-box {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #78350f;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.5;
    white-space: pre-line;
}

.timeline-cliente-note-box--empty {
    background: #f8fafc;
    border-style: dashed;
    border-color: #cbd5e1;
    color: #64748b;
}

.timeline-cliente-updated-at {
    font-size: 11px;
    color: #64748b;
    margin-top: 8px;
}

.timeline-cliente-tag-options {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 300px;
    overflow: auto;
    padding-right: 4px;
}

.timeline-cliente-tag-options-empty {
    font-size: 12px;
    color: #64748b;
    padding: 10px 4px;
}

.timeline-cliente-tag-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid #dbe2ea;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: background-color 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.timeline-cliente-tag-option:hover {
    background: #f8fbff;
    border-color: #bfdbfe;
}

.timeline-cliente-tag-option.is-selected,
.timeline-cliente-tag-option:has(input:checked) {
    background: #eff6ff;
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.timeline-cliente-tag-option-input {
    margin-top: 2px;
    flex-shrink: 0;
}

.timeline-cliente-tag-option-text {
    font-size: 13px;
    color: #1f2937;
    line-height: 1.45;
}

.dark-mode .timeline-cliente-chip--tag {
    background: rgba(37, 99, 235, 0.18);
    color: #bfdbfe;
    border-color: rgba(147, 197, 253, 0.35);
}

.dark-mode .timeline-cliente-chip--assigned {
    background: rgba(29, 78, 216, 0.22);
    color: #bfdbfe;
    border-color: rgba(147, 197, 253, 0.32);
}

.dark-mode .timeline-cliente-chip--cause {
    background: rgba(15, 118, 110, 0.18);
    color: #99f6e4;
    border-color: rgba(153, 246, 228, 0.28);
}

.dark-mode .timeline-cliente-chip--category {
    background: rgba(109, 40, 217, 0.18);
    color: #ddd6fe;
    border-color: rgba(221, 214, 254, 0.28);
}

.dark-mode .timeline-cliente-chip--status {
    background: rgba(217, 119, 6, 0.2);
    color: #fde68a;
    border-color: rgba(252, 211, 77, 0.34);
}

.dark-mode .timeline-cliente-chip--neutral,
.dark-mode .timeline-cliente-note-box--empty {
    background: #1f2937;
    color: #9db1c9;
    border-color: #334155;
}

.dark-mode .timeline-cliente-note-box {
    background: rgba(120, 53, 15, 0.26);
    color: #fde68a;
    border-color: rgba(253, 230, 138, 0.24);
}

.dark-mode .timeline-cliente-updated-at,
.dark-mode .timeline-cliente-tag-options-empty {
    color: #9db1c9;
}

.dark-mode .timeline-cliente-tag-option {
    background: #111a28;
    border-color: #2a3a50;
}

.dark-mode .timeline-cliente-tag-option:hover {
    background: #17263a;
    border-color: #3b82f6;
}

.dark-mode .timeline-cliente-tag-option.is-selected,
.dark-mode .timeline-cliente-tag-option:has(input:checked) {
    background: rgba(37, 99, 235, 0.18);
    border-color: rgba(147, 197, 253, 0.4);
}

.dark-mode .timeline-cliente-tag-option-text {
    color: #e5edf7;
}

@media (max-width: 900px) {
    .timeline-cliente-gestao-grid {
        grid-template-columns: 1fr;
    }
}

.dark-mode #rechamada .rechamada-table thead th {
    background: #122033;
    border-bottom-color: #243348;
}

.dark-mode #rechamada .rechamada-table tbody td {
    border-bottom-color: #223046;
}

.dark-mode #rechamada .rechamada-table-row:hover {
    background: #17263a !important;
}

@media (max-width: 1280px) {
    #rechamada .rechamada-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    #rechamada .rechamada-analytics-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 980px) {
    #rechamada .rechamada-header {
        align-items: flex-start;
    }

    #rechamada .rechamada-panel-grid {
        grid-template-columns: 1fr !important;
    }

    #rechamada .rechamada-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 640px) {
    #rechamada.rechamada-dashboard {
        padding-bottom: 18px;
    }

    #rechamada .rechamada-header {
        padding-inline: 0;
    }

    #rechamada #rechamada-titulo,
    #rechamada .rechamada-title {
        font-size: 1.55rem;
    }

    #rechamada .rechamada-kpi-grid {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }

    #rechamada .rechamada-analytics-grid {
        padding: 0 16px 18px !important;
    }

    #rechamada .rechamada-analytics-grid > .rechamada-analytics-card:nth-child(2) > div[style*="grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));"] {
        grid-template-columns: 1fr !important;
    }

    #rechamada .chart-wrapper .chart-header,
    #rechamada #rechamada-stats-header {
        padding: 18px 16px 0;
    }

    #rechamada .rechamada-table-wrap,
    #rechamada .rechamada-chart-canvas-wrap {
        padding-left: 14px;
        padding-right: 14px;
    }
}

/* ============================================================
   DASHBOARD - COMPARATIVO ENTRE ASSUNTOS
   ============================================================ */
.comparativo-assuntos-dashboard-action {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
}

.btn-comparativo-assuntos {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-comparativo-assuntos:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.10);
}

.btn-comparativo-assuntos-primary {
    background: linear-gradient(135deg, #0077B6 0%, #00A3FF 100%);
    border-color: #0077B6;
    color: #fff;
}

.btn-comparativo-assuntos-secondary {
    background: #fff;
    color: #0f172a;
}

.comparativo-assuntos-header {
    gap: 16px;
    flex-wrap: wrap;
}

.comparativo-assuntos-subtitle {
    margin-top: 4px;
    color: var(--text-light);
    font-size: 13px;
    font-weight: 600;
}

.comparativo-assuntos-container {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.comparativo-assuntos-kpis {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.comparativo-assuntos-kpi {
    background: var(--secondary-bg);
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: var(--card-shadow);
}

.comparativo-assuntos-kpi span {
    display: block;
    color: var(--text-light);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 6px;
}

.comparativo-assuntos-kpi strong {
    display: block;
    color: var(--accent-color);
    font-size: 22px;
    line-height: 1;
}

.comparativo-assuntos-kpi-info strong {
    font-size: 16px;
    color: #0f766e;
}

.comparativo-assuntos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
    gap: 18px;
    align-items: start;
}

.comparativo-assuntos-card {
    background: var(--secondary-bg);
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: var(--card-shadow);
    padding: 16px;
    min-width: 0;
}

.comparativo-assuntos-card-full {
    width: 100%;
}

.comparativo-assuntos-card-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.comparativo-assuntos-card-head h3 {
    margin: 0;
    color: #0f172a;
    font-size: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.comparativo-assuntos-card-head p {
    margin: 4px 0 0;
    color: var(--text-light);
    font-size: 12px;
    font-weight: 600;
}

.comparativo-assuntos-table-wrap {
    overflow-x: auto;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    background: #fff;
}

.comparativo-assuntos-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
}

.comparativo-assuntos-table th {
    background: #f8fafc;
    color: #475569;
    font-weight: 900;
    text-align: left;
    padding: 10px 12px;
    border-bottom: 1px solid #e5e7eb;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.comparativo-assuntos-table td {
    padding: 9px 12px;
    border-bottom: 1px solid #f1f5f9;
    color: #1f2937;
    vertical-align: middle;
}

.comparativo-assuntos-table tbody tr:hover td {
    background: #f8fbff;
}

.comparativo-assuntos-table-geral th:nth-child(1),
.comparativo-assuntos-table-geral td:nth-child(1) {
    width: 60%;
}

.comparativo-assuntos-table-geral th:nth-child(2),
.comparativo-assuntos-table-geral td:nth-child(2) {
    width: 90px;
    text-align: center;
    font-weight: 800;
}

.comparativo-assuntos-table-geral th:nth-child(3),
.comparativo-assuntos-table-geral td:nth-child(3) {
    width: 260px;
}

.comparativo-assuntos-table-comparacao {
    min-width: 780px;
}

.comparativo-assuntos-table-comparacao th:nth-child(1),
.comparativo-assuntos-table-comparacao td:nth-child(1) {
    width: 34%;
}

.comparativo-assuntos-table-comparacao th:nth-child(n+2),
.comparativo-assuntos-table-comparacao td:nth-child(n+2) {
    text-align: center;
}

.comparativo-assuntos-table-comparacao td strong,
.comparativo-assuntos-table-comparacao td small {
    display: block;
}

.comparativo-assuntos-table-comparacao td small {
    margin-top: 3px;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
}

.comparativo-assuntos-bar-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.comparativo-assuntos-bar-bg {
    flex: 1;
    min-width: 120px;
    height: 8px;
    background: #e5e7eb;
    border-radius: 999px;
    overflow: hidden;
}

.comparativo-assuntos-bar-fill {
    height: 8px;
    background: linear-gradient(90deg, #00A3FF, #0077B6);
    border-radius: 999px;
}

.comparativo-assuntos-bar-pct {
    min-width: 46px;
    text-align: right;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.comparativo-assuntos-ver-mais-wrap {
    display: flex;
    justify-content: center;
    margin-top: 12px;
}

.comparativo-assuntos-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 900;
    min-width: 62px;
}

.comparativo-assuntos-badge.positivo,
.comparativo-assuntos-table td.positivo {
    color: #15803d;
}

.comparativo-assuntos-badge.positivo {
    background: #dcfce7;
}

.comparativo-assuntos-badge.negativo,
.comparativo-assuntos-table td.negativo {
    color: #b91c1c;
}

.comparativo-assuntos-badge.negativo {
    background: #fee2e2;
}

.comparativo-assuntos-badge.neutro,
.comparativo-assuntos-table td.neutro {
    color: #475569;
}

.comparativo-assuntos-badge.neutro {
    background: #e2e8f0;
}

.comparativo-assuntos-badge.novo {
    background: #e0f2fe;
    color: #0369a1;
}

.dark-mode .comparativo-assuntos-card,
.dark-mode .comparativo-assuntos-kpi,
.dark-mode .comparativo-assuntos-table-wrap {
    background: var(--secondary-bg);
    border-color: #334155;
}

.dark-mode .comparativo-assuntos-card-head h3,
.dark-mode .comparativo-assuntos-table td {
    color: var(--text-color);
}

.dark-mode .comparativo-assuntos-table th {
    background: #1f2937;
    color: #cbd5e1;
    border-color: #334155;
}

.dark-mode .comparativo-assuntos-table tbody tr:hover td {
    background: #172033;
}

.dark-mode .btn-comparativo-assuntos-secondary {
    background: #1f2937;
    color: #e5e7eb;
    border-color: #334155;
}

@media (max-width: 768px) {
    .comparativo-assuntos-grid {
        grid-template-columns: 1fr;
    }

    .comparativo-assuntos-header,
    .comparativo-assuntos-card-head {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-comparativo-assuntos {
        width: 100%;
    }

    .comparativo-assuntos-table-geral {
        min-width: 680px;
    }
}

/* ==========================================================
   SUMÁRIO OPERADOR - Quartis e média por operador
   ========================================================== */
.sumario-operador-actions-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.sumario-operador-quartis {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px;
    border: 1px solid #dbe3ec;
    border-radius: 999px;
    background: #f8fafc;
    margin-left: 8px;
    vertical-align: middle;
}

.sumario-quartil-btn {
    border: 0;
    background: transparent;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
    border-radius: 999px;
    padding: 7px 10px;
    cursor: pointer;
    line-height: 1;
    transition: all .18s ease;
}

.sumario-quartil-btn:hover {
    background: #e0f2fe;
    color: #0369a1;
}

.sumario-quartil-btn.active {
    background: #0ea5e9;
    color: #fff;
    box-shadow: 0 4px 12px rgba(14, 165, 233, .22);
}

.dark-mode .sumario-operador-quartis {
    background: #111827;
    border-color: #374151;
}

.dark-mode .sumario-quartil-btn {
    color: #cbd5e1;
}

.dark-mode .sumario-quartil-btn:hover {
    background: rgba(14, 165, 233, .16);
    color: #bae6fd;
}

/* ==========================================================
   COMPARATIVO ENTRE ASSUNTOS - Gráfico delta mensal
   ========================================================== */
.comparativo-delta-card {
    margin-top: 18px;
}

.comparativo-delta-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.comparativo-delta-row {
    display: grid;
    grid-template-columns: minmax(260px, 430px) minmax(180px, 1fr) minmax(150px, 210px);
    align-items: center;
    gap: 14px;
    padding: 9px 10px;
    border-bottom: 1px solid #edf2f7;
}

.comparativo-delta-row:last-child {
    border-bottom: 0;
}

.comparativo-delta-assunto {
    font-size: 13px;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comparativo-delta-track {
    height: 12px;
    border-radius: 999px;
    background: #e5e7eb;
    overflow: hidden;
}

.comparativo-delta-fill {
    height: 100%;
    border-radius: 999px;
    background: #94a3b8;
}

.comparativo-delta-row.positivo .comparativo-delta-fill {
    background: #16a34a;
}

.comparativo-delta-row.negativo .comparativo-delta-fill {
    background: #dc2626;
}

.comparativo-delta-valor {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    white-space: nowrap;
    font-size: 13px;
    color: #334155;
}

.comparativo-delta-numero {
    font-size: 14px;
    color: #0f172a;
}

.comparativo-delta-numero span,
.comparativo-delta-sinal,
.comparativo-delta-percentual {
    font-weight: 900;
}

.comparativo-delta-row.positivo .comparativo-delta-sinal,
.comparativo-delta-row.positivo .comparativo-delta-percentual,
.comparativo-delta-row.positivo .comparativo-delta-numero span {
    color: #15803d;
}

.comparativo-delta-row.negativo .comparativo-delta-sinal,
.comparativo-delta-row.negativo .comparativo-delta-percentual,
.comparativo-delta-row.negativo .comparativo-delta-numero span {
    color: #b91c1c;
}

.comparativo-delta-row.neutro .comparativo-delta-sinal,
.comparativo-delta-row.neutro .comparativo-delta-percentual,
.comparativo-delta-row.neutro .comparativo-delta-numero span {
    color: #64748b;
}

.dark-mode .comparativo-delta-row {
    border-bottom-color: #334155;
}

.dark-mode .comparativo-delta-assunto,
.dark-mode .comparativo-delta-numero {
    color: #e5e7eb;
}

.dark-mode .comparativo-delta-track {
    background: #374151;
}

@media (max-width: 900px) {
    .comparativo-delta-row {
        grid-template-columns: 1fr;
        gap: 7px;
        align-items: stretch;
    }

    .comparativo-delta-valor {
        justify-content: flex-start;
    }
}

/* Ajuste final: tabela geral de assuntos sem espaço excessivo entre Assunto, Qtd e % */
.comparativo-assuntos-table-geral {
    width: auto !important;
    min-width: 760px;
    max-width: 940px;
    table-layout: auto;
}

.comparativo-assuntos-table-geral th:nth-child(1),
.comparativo-assuntos-table-geral td:nth-child(1) {
    width: 430px !important;
}

.comparativo-assuntos-table-geral th:nth-child(2),
.comparativo-assuntos-table-geral td:nth-child(2) {
    width: 95px !important;
}

.comparativo-assuntos-table-geral th:nth-child(3),
.comparativo-assuntos-table-geral td:nth-child(3) {
    width: 260px !important;
}


/* =============================
   Comparativo entre Assuntos - refinamentos
   ============================= */
.comparativo-assuntos-kpis-v2 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
}

.comparativo-assuntos-kpi-uniforme,
.comparativo-assuntos-kpi[style*="background"] {
    min-height: 124px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.comparativo-assuntos-kpi-uniforme strong {
    font-size: 2rem;
    line-height: 1.05;
}

.comparativo-assuntos-grid-topo {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.05fr);
    gap: 16px;
}

.comparativo-assuntos-table-wrap {
    overflow-x: auto;
}

.comparativo-assuntos-table {
    table-layout: fixed;
}

.comparativo-assuntos-table-geral {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    table-layout: fixed !important;
}

.comparativo-assuntos-table-geral th,
.comparativo-assuntos-table-geral td {
    padding-top: 8px;
    padding-bottom: 8px;
}

.comparativo-assuntos-table-geral th:nth-child(1),
.comparativo-assuntos-table-geral td:nth-child(1) {
    width: auto !important;
}

.comparativo-assuntos-table-geral th:nth-child(2),
.comparativo-assuntos-table-geral td:nth-child(2) {
    width: 82px !important;
    text-align: center;
}

.comparativo-assuntos-table-geral th:nth-child(3),
.comparativo-assuntos-table-geral td:nth-child(3) {
    width: 210px !important;
}

.comparativo-assuntos-bar-bg {
    min-width: 88px;
}

.comparativo-assuntos-card-head p {
    line-height: 1.35;
}

.comparativo-voz-section {
    padding-bottom: 18px;
}

.comparativo-voz-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.comparativo-voz-card {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
    padding: 16px;
}

.comparativo-voz-kpis {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.comparativo-voz-kpi {
    border: 1px solid #e8edf5;
    border-radius: 12px;
    background: #fbfdff;
    padding: 12px 14px;
}

.comparativo-voz-kpi span {
    display: block;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 6px;
}

.comparativo-voz-kpi strong {
    display: block;
    color: #0f172a;
    font-size: 1.05rem;
    line-height: 1.2;
}

.comparativo-voz-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(260px, .95fr);
    gap: 16px;
}

.comparativo-voz-nuvem {
    min-height: 240px;
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: radial-gradient(circle at 15% 20%, rgba(59,130,246,.10), transparent 36%), #fbfdff;
    padding: 18px 22px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px 18px;
}

.comparativo-voz-word {
    display: inline-block;
    line-height: .95;
    font-weight: 800;
    color: #334155;
}

.comparativo-voz-word.w1 { font-size: 12px; opacity: .72; }
.comparativo-voz-word.w2 { font-size: 15px; opacity: .80; }
.comparativo-voz-word.w3 { font-size: 20px; opacity: .88; }
.comparativo-voz-word.w4 { font-size: 28px; opacity: .94; }
.comparativo-voz-word.w5 { font-size: 38px; opacity: 1; }

.comparativo-voz-word.azul { color: #235fb8; }
.comparativo-voz-word.verde { color: #1f8a70; }
.comparativo-voz-word.roxo { color: #7c3aed; }
.comparativo-voz-word.neutro { color: #475569; }
.comparativo-voz-word.perda.azul,
.comparativo-voz-word.perda.verde,
.comparativo-voz-word.perda.roxo,
.comparativo-voz-word.perda.neutro { filter: saturate(.95); }
.comparativo-voz-word.retencao.azul,
.comparativo-voz-word.retencao.verde,
.comparativo-voz-word.retencao.roxo,
.comparativo-voz-word.retencao.neutro { filter: saturate(1.05); }

.comparativo-voz-top {
    border: 1px solid #e8edf5;
    border-radius: 18px;
    background: #fff;
    padding: 16px;
}

.comparativo-voz-top h4 {
    margin: 0;
    font-size: 1.05rem;
    color: #0f172a;
}

.comparativo-voz-top p {
    margin: 4px 0 14px;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.comparativo-voz-top-list {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.comparativo-voz-top-item {
    display: grid;
    grid-template-columns: 140px minmax(90px, 1fr) 58px;
    gap: 10px;
    align-items: center;
}

.comparativo-voz-top-label {
    font-size: 13px;
    font-weight: 800;
    color: #1f3550;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.comparativo-voz-top-bar {
    height: 12px;
    background: #edf2f7;
    border-radius: 999px;
    overflow: hidden;
}

.comparativo-voz-top-bar span {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #2f6fd0, #78b5ea);
}

.comparativo-voz-top-item strong {
    text-align: right;
    font-size: 12px;
    color: #243b57;
}

.comparativo-voz-foot {
    margin-top: 12px;
    color: #64748b;
    font-size: 12px;
    line-height: 1.45;
    font-weight: 600;
}

@media (max-width: 1180px) {
    .comparativo-assuntos-kpis-v2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .comparativo-voz-grid,
    .comparativo-voz-layout,
    .comparativo-assuntos-grid-topo {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .comparativo-voz-kpis {
        grid-template-columns: 1fr;
    }
    .comparativo-voz-top-item {
        grid-template-columns: 1fr;
        gap: 6px;
    }
    .comparativo-voz-top-item strong {
        text-align: left;
    }
}


/* Correção v2 - Nuvem de palavras: alinhamento da base e contenção horizontal */
.comparativo-voz-card,
.comparativo-voz-layout,
.comparativo-voz-top,
.comparativo-voz-top-list,
.comparativo-voz-top-item,
.comparativo-voz-nuvem {
    min-width: 0;
}

.comparativo-voz-card {
    overflow: hidden;
}

.comparativo-voz-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.comparativo-voz-kpi {
    min-width: 0;
}

.comparativo-voz-kpi strong {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

.comparativo-voz-layout {
    grid-template-columns: minmax(0, 1.35fr) minmax(220px, .85fr);
}

.comparativo-voz-top {
    overflow: hidden;
}

.comparativo-voz-top-item {
    grid-template-columns: minmax(70px, 112px) minmax(64px, 1fr) 48px;
    gap: 8px;
    width: 100%;
}

.comparativo-voz-top-label {
    min-width: 0;
}

.comparativo-voz-top-bar {
    min-width: 0;
}

.comparativo-voz-top-item strong {
    width: 48px;
    min-width: 48px;
    max-width: 48px;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px;
    text-align: right;
}

@media (max-width: 1500px) {
    .comparativo-voz-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1180px) {
    .comparativo-voz-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .comparativo-voz-kpis {
        grid-template-columns: 1fr;
    }
}


/* Ajuste v3: Voz do Cliente sem duplicidade de cards e sem vazamento horizontal */
.comparativo-voz-kpis-resumido {
    grid-template-columns: minmax(150px, .9fr) minmax(180px, 1.1fr) minmax(120px, .75fr);
}

.comparativo-voz-kpis-resumido .comparativo-voz-kpi:first-child strong {
    color: var(--accent-color);
}

.comparativo-voz-top-item {
    grid-template-columns: minmax(88px, 122px) minmax(0, 1fr) minmax(44px, 54px);
    width: 100%;
    min-width: 0;
}

.comparativo-voz-top,
.comparativo-voz-top-list,
.comparativo-voz-top-bar {
    min-width: 0;
    max-width: 100%;
}

.comparativo-voz-top-label {
    min-width: 0;
    max-width: 100%;
}

.comparativo-voz-top-item strong {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 768px) {
    .comparativo-voz-kpis-resumido {
        grid-template-columns: 1fr;
    }
}


/* Ajuste v4: rótulos consolidados da nuvem sem quebrar o layout */
.comparativo-voz-top-label {
    white-space: normal;
    line-height: 1.15;
}

.comparativo-voz-top-item {
    align-items: center;
}

/* Ajuste Demandas Aplicativo: card superior compacto em 4 colunas.
   Escopo restrito ao modo Demandas Aplicativo para não alterar Auditar Protocolos. */
#auditar.modo-demandas-aplicativo .audit-demandas-summary {
    grid-template-columns: minmax(255px, 1.35fr) minmax(190px, 0.95fr) minmax(185px, 0.9fr) minmax(170px, 0.85fr) !important;
    grid-auto-rows: min-content;
    gap: 10px 26px !important;
    padding: 12px 14px !important;
    align-items: start !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary.audit-demandas-summary-has-app-call {
    background: #fff7ed !important;
    border-color: #fdba74 !important;
    box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18), 0 8px 20px rgba(245, 158, 11, 0.08);
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .client-card,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-client-meta-grid {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-group {
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-label {
    margin: 0 0 3px !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    letter-spacing: 0.025em;
    color: #0f2f4f !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .info-value {
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.25 !important;
    color: #111827;
    background: transparent !important;
    box-shadow: none !important;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .copy-icon {
    font-size: 12px;
    flex: 0 0 auto;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-cliente {
    grid-column: 1;
    grid-row: 1;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-cpf {
    grid-column: 1;
    grid-row: 2;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-produto {
    grid-column: 1;
    grid-row: 3;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group.demanda-field-assunto {
    grid-column: 1 !important;
    grid-row: 4 !important;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-operador {
    grid-column: 2;
    grid-row: 1;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-caso-filho {
    grid-column: 2;
    grid-row: 2;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-status-atuacao {
    grid-column: 2;
    grid-row: 3;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-origem {
    grid-column: 3;
    grid-row: 1;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-chapa {
    grid-column: 3;
    grid-row: 2;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-produto-atual {
    grid-column: 3;
    grid-row: 3;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-data {
    grid-column: 4;
    grid-row: 1;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-supervisor {
    grid-column: 4;
    grid-row: 2;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-tempo-experiencia {
    display: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid {
    grid-column: 2 / 4 !important;
    grid-row: 4 !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 6px 12px !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid > div {
    min-width: 0 !important;
    margin: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid .info-label {
    font-size: 9px !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid .info-value,
#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid .status-badge {
    padding: 2px 6px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    max-width: 100%;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card {
    grid-column: 4 !important;
    grid-row: 4 !important;
    align-self: start;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card .info-label {
    font-size: 9px !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card #det-status-auditoria-badge {
    display: inline-flex;
    max-width: 100%;
    min-height: 0;
    padding: 2px 7px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    white-space: normal;
    box-shadow: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group.demanda-field-ocorrencia {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    max-height: 28px;
    overflow: hidden;
    margin: 0 !important;
    padding-top: 2px !important;
    border-top: 1px solid rgba(2, 132, 199, 0.12) !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group.audit-ocorrencia-vazia {
    display: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .audit-client-name-row,
#auditar.modo-demandas-aplicativo .audit-demandas-summary .audit-client-product-row,
#auditar.modo-demandas-aplicativo .audit-demandas-summary .audit-client-cpf-row {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .audit-client-app-call-warning {
    flex: 0 0 auto;
    margin-left: 0;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary .audit-client-app-call-warning span {
    display: none;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary #btn-audit-ver-detalhes-cliente {
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 10px;
    white-space: nowrap;
}

#auditar.modo-demandas-aplicativo .audit-demandas-summary #det-produto,
#auditar.modo-demandas-aplicativo .audit-demandas-summary #det-assunto,
#auditar.modo-demandas-aplicativo .audit-demandas-summary #det-produto-atual {
    overflow-wrap: anywhere;
}

@media (max-width: 1280px) {
    #auditar.modo-demandas-aplicativo .audit-demandas-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-cliente,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-cpf,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-produto,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-assunto-group.demanda-field-assunto,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-operador,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-caso-filho,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-status-atuacao,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-origem,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-chapa,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-produto-atual,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-data,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary .demanda-field-supervisor,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-case-meta-grid,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-status-card,
    #auditar.modo-demandas-aplicativo .audit-demandas-summary > .audit-ocorrencia-group.demanda-field-ocorrencia {
        grid-column: auto !important;
        grid-row: auto !important;
    }
}

@media (max-width: 980px) {
    #auditar.modo-demandas-aplicativo .audit-demandas-summary {
        grid-template-columns: 1fr !important;
    }
}

/* Ajuste Demandas Aplicativo v2: rolagem única + modo foco com menu recolhível. */
#sidebar,
#main-content {
    transition: margin-left 0.22s ease, width 0.22s ease, padding 0.22s ease;
}

.sidebar-focus-toggle {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    background: rgba(0, 163, 255, 0.12);
    color: #eaf7ff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 12px;
    margin-bottom: 14px;
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
}

.sidebar-focus-toggle:hover {
    background: var(--accent-color);
    color: #fff;
}

body.auditoria-sidebar-collapsed #sidebar {
    width: 72px;
    padding: 14px 10px;
    overflow-x: hidden;
}

body.auditoria-sidebar-collapsed #main-content {
    margin-left: 72px;
}

body.auditoria-sidebar-collapsed #sidebar .sidebar-focus-toggle {
    width: 52px;
    height: 42px;
    padding: 0;
}

body.auditoria-sidebar-collapsed #sidebar .sidebar-focus-toggle span,
body.auditoria-sidebar-collapsed #sidebar .logo,
body.auditoria-sidebar-collapsed #sidebar .user-info span {
    font-size: 0;
}

body.auditoria-sidebar-collapsed #sidebar .logo {
    margin-bottom: 18px;
    padding-bottom: 14px;
}

body.auditoria-sidebar-collapsed #sidebar .logo i {
    font-size: 23px;
}

body.auditoria-sidebar-collapsed #sidebar .menu-item {
    justify-content: center;
    padding: 14px 0;
    font-size: 0;
}

body.auditoria-sidebar-collapsed #sidebar .menu-item i {
    margin-right: 0;
    width: auto;
    font-size: 18px;
}

body.auditoria-sidebar-collapsed #sidebar .user-info {
    justify-content: center;
    padding: 12px 0;
}

body.pagina-demandas-aplicativo #main-content {
    padding: 18px 22px;
}

body.pagina-demandas-aplicativo .filters-container {
    margin-bottom: 10px;
    position: relative !important;
    top: auto !important;
}

#auditar.modo-demandas-aplicativo .audit-header {
    margin-bottom: 10px;
}

#auditar.modo-demandas-aplicativo .audit-container {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
    align-items: start;
}

#auditar.modo-demandas-aplicativo .protocol-list {
    height: calc(100vh - 255px);
    max-height: calc(100vh - 255px);
    overflow-y: auto;
}

#auditar.modo-demandas-aplicativo #audit-workspace {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px;
}

#auditar.modo-demandas-aplicativo #audit-detail-content {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
}

#auditar.modo-demandas-aplicativo .audit-detail-header {
    padding-bottom: 8px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-layout {
    gap: 10px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-main {
    grid-template-columns: minmax(320px, 0.88fr) minmax(430px, 1.12fr);
    gap: 14px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .description-box {
    min-height: 300px;
    max-height: 390px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato > #audit-app-chamados-wrap {
    display: block;
    margin-top: 12px !important;
    padding: 12px !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato > #audit-app-chamados-wrap[style*="display: none"] {
    display: none !important;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-app-chamados-grid {
    grid-template-columns: minmax(200px, 1fr) minmax(180px, 0.9fr);
    gap: 10px 12px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-app-chamados-field-full {
    grid-column: 1 / -1;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-app-prefix-input input,
#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-app-error-input-wrap input {
    padding: 9px 10px;
}

#auditar.modo-demandas-aplicativo .audit-demandas-relato .audit-app-error-input-wrap button {
    min-width: 84px;
}

#auditar.modo-demandas-aplicativo .audit-layout-horizontal,
#auditar.modo-demandas-aplicativo .audit-titulos-horizontal {
    grid-template-columns: minmax(280px, 0.9fr) minmax(280px, 1.1fr);
}

body.auditoria-sidebar-collapsed #auditar.modo-demandas-aplicativo .audit-container {
    grid-template-columns: 300px minmax(0, 1fr) !important;
}

body.auditoria-sidebar-collapsed #auditar.modo-demandas-aplicativo .audit-demandas-main {
    grid-template-columns: minmax(360px, 0.95fr) minmax(520px, 1.05fr);
}

@media (max-width: 1280px) {
    #auditar.modo-demandas-aplicativo .audit-container {
        grid-template-columns: 280px minmax(0, 1fr) !important;
    }

    #auditar.modo-demandas-aplicativo .protocol-list {
        height: calc(100vh - 270px);
        max-height: calc(100vh - 270px);
    }
}


/* ==========================================
   GESTÃO DE E-MAILS BKO
   ========================================== */
.gestao-emails-bko-page .gestao-emails-wrapper{display:grid;gap:16px}
.gestao-emails-bko-page .gestao-emails-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dce4ec;border-radius:14px;padding:18px 20px;box-shadow:0 6px 18px rgba(15,35,87,.06)}
.gestao-emails-bko-page .gestao-emails-header h1{margin:0;color:#0f3557;font-size:25px}.gestao-emails-bko-page .gestao-emails-header p{margin:5px 0 0;color:#64748b}
.gestao-emails-bko-page .gestao-emails-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
.gestao-emails-bko-page .email-bko-btn{border:1px solid #c9d6e3;background:#fff;color:#174b75;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.gestao-emails-bko-page .email-bko-btn.primary{background:#0095f6;border-color:#0095f6;color:#fff}.gestao-emails-bko-page .email-bko-btn.green{background:#15803d;border-color:#15803d;color:#fff}.gestao-emails-bko-page .email-bko-btn.warn{background:#f59e0b;border-color:#f59e0b;color:#fff}.gestao-emails-bko-page .email-bko-btn.danger{background:#dc2626;border-color:#dc2626;color:#fff}.gestao-emails-bko-page .email-bko-btn:disabled{opacity:.55;cursor:not-allowed}
.gestao-emails-bko-page .emails-kpis{display:grid;grid-template-columns:repeat(8,minmax(120px,1fr));gap:10px}.gestao-emails-bko-page .emails-kpi{background:#fff;border:1px solid #dce4ec;border-radius:13px;padding:12px;box-shadow:0 4px 14px rgba(15,35,87,.05)}.gestao-emails-bko-page .emails-kpi span{display:block;font-size:11px;text-transform:uppercase;color:#64748b;font-weight:800}.gestao-emails-bko-page .emails-kpi strong{display:block;font-size:23px;color:#0f3557;margin-top:4px}
.gestao-emails-bko-page .emails-kpi-progresso-shell{margin-top:10px;background:#fff;border:1px solid #dce4ec;border-radius:13px;padding:12px;box-shadow:0 4px 14px rgba(15,35,87,.05)}.gestao-emails-bko-page .emails-kpi-progresso-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.gestao-emails-bko-page .emails-kpi-progresso-head span{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:800}.gestao-emails-bko-page .emails-kpi-progresso-head strong{font-size:14px;color:#0f3557}.gestao-emails-bko-page .emails-kpi-progresso-track{height:18px;border-radius:999px;background:#e2e8f0;overflow:hidden}.gestao-emails-bko-page .emails-kpi-progresso-fill{height:100%;min-width:0;display:flex;align-items:center;justify-content:flex-end;padding:0 10px;font-size:11px;font-weight:800;transition:width .25s ease}
.gestao-emails-bko-page .emails-distribuicao{background:#fff;border:1px solid #dce4ec;border-radius:14px;padding:14px 16px;display:grid;gap:12px}.gestao-emails-bko-page .emails-distribuicao h3{margin:0;color:#0f3557;font-size:16px}.gestao-emails-bko-page .emails-distribuicao-users{display:flex;flex-wrap:wrap;gap:8px}.gestao-emails-bko-page .emails-distribuicao-users label{background:#f8fafc;border:1px solid #dce4ec;border-radius:999px;padding:7px 10px;font-size:13px;cursor:pointer}.gestao-emails-bko-page .emails-distribuicao-preview{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:10px;color:#334155;font-size:13px;white-space:pre-wrap}
.gestao-emails-bko-page .emails-filtros{display:grid;grid-template-columns:1.5fr repeat(5,minmax(140px,1fr));gap:8px;background:#fff;border:1px solid #dce4ec;border-radius:14px;padding:12px}.gestao-emails-bko-page .emails-filtros input,.gestao-emails-bko-page .emails-filtros select,.gestao-emails-bko-page .emails-detalhe select,.gestao-emails-bko-page .emails-detalhe textarea{border:1px solid #cbd5e1;border-radius:9px;padding:9px 10px;background:#fff;color:#1f2937}
.gestao-emails-bko-page .emails-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;align-items:start}.gestao-emails-bko-page .emails-fila{background:#f8fafc;border:1px solid #dce4ec;border-radius:14px;max-height:calc(100vh - 240px);overflow:auto}.gestao-emails-bko-page .email-card{padding:14px 15px;border-bottom:1px solid #e2e8f0;background:#fff;cursor:pointer}.gestao-emails-bko-page .email-card:hover{background:#f1f8ff}.gestao-emails-bko-page .email-card.active{background:#e8f5ff;box-shadow:inset 4px 0 0 #0095f6}.gestao-emails-bko-page .email-card.realizado{opacity:.75;background:#f2f8f3}.gestao-emails-bko-page .email-card.no-account{box-shadow:inset 4px 0 0 #e0a100}.gestao-emails-bko-page .email-card .case{font-weight:900;color:#0f3557;font-size:16px}.gestao-emails-bko-page .email-card .meta{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gestao-emails-bko-page .email-card .badges,.gestao-emails-bko-page .email-badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.gestao-emails-bko-page .badge{border-radius:999px;padding:3px 8px;font-size:10px;font-weight:900;text-transform:uppercase}.gestao-emails-bko-page .badge.anexo{background:#fff7d6;color:#8a6000}.gestao-emails-bko-page .badge.conta{background:#e6f8ed;color:#166534}.gestao-emails-bko-page .badge.semconta{background:#fff7d6;color:#8a6000;border:1px solid #f1d27a}.gestao-emails-bko-page .badge.dup{background:#fff0ef;color:#d92d20}.gestao-emails-bko-page .badge.status{background:#e0f2fe;color:#075985}.gestao-emails-bko-page .badge.realizado{background:#dff5e6;color:#147a35}.gestao-emails-bko-page .badge.pendente{background:#fff0d7;color:#a65c00}.gestao-emails-bko-page .assunto-numero{background:#fff7b8;border:1px solid #facc15;border-radius:8px;padding:2px 6px;font-weight:900;color:#713f12;display:inline-block}
.gestao-emails-bko-page .emails-detalhe{background:#fff;border:1px solid #dce4ec;border-radius:14px;min-height:560px;box-shadow:0 5px 18px rgba(15,35,87,.06);overflow:hidden}.gestao-emails-bko-page .email-detail-head{display:flex;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #e2e8f0;background:#fbfdff}.gestao-emails-bko-page .email-detail-head h2{margin:0;color:#0095f6;font-size:24px}.gestao-emails-bko-page .email-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:16px;padding:16px}.gestao-emails-bko-page .email-section{border:1px solid #e2e8f0;border-radius:12px;padding:12px;background:#fff}.gestao-emails-bko-page .email-section h3{margin:0 0 9px;font-size:13px;color:#334155;text-transform:uppercase;letter-spacing:.04em}.gestao-emails-bko-page .email-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gestao-emails-bko-page .email-info-grid .label{font-size:10px;color:#64748b;text-transform:uppercase;font-weight:900}.gestao-emails-bko-page .email-info-grid .value{font-size:13px;color:#1f2937;font-weight:650;word-break:break-word}.gestao-emails-bko-page .mail-body{white-space:pre-wrap;line-height:1.65;max-height:440px;overflow:auto;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:14px}.gestao-emails-bko-page .script-box{white-space:pre-wrap;background:#eef7ff;border:1px solid #cfe3f7;border-radius:10px;padding:12px;color:#18324c;font-size:13px}.gestao-emails-bko-page .quick-buttons{display:grid;gap:7px}.gestao-emails-bko-page .sf-link{cursor:pointer;color:#0070d2;font-weight:900;border-radius:6px;padding:1px 4px}.gestao-emails-bko-page .sf-link:hover{background:#e8f4ff;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}.gestao-emails-bko-page .sem-anexo{background:#f1f5f9;border:1px dashed #cbd5e1;color:#475569;border-radius:10px;padding:12px;font-weight:900;text-align:center}
.email-bko-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:99999;display:none;align-items:center;justify-content:center;padding:22px}.email-bko-modal.active{display:flex}.email-bko-modal-card{width:min(1100px,96vw);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;border:1px solid #dce4ec;box-shadow:0 24px 80px rgba(15,23,42,.35)}.email-bko-modal-head{display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid #e2e8f0;background:#f8fafc}.email-bko-modal-body{padding:16px}.email-bko-history-list{display:grid;gap:9px}.email-bko-history-item{border:1px solid #e2e8f0;border-radius:11px;padding:10px;background:#fff}
.email-bko-mini-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1.2}.email-bko-mini-badge.is-danger{background:#fee2e2;color:#b91c1c}.email-bko-mini-badge.is-success{background:#dcfce7;color:#166534}.email-bko-mini-badge.is-neutral{background:#e5e7eb;color:#374151}.email-bko-mini-badge.is-info{background:#dbeafe;color:#1d4ed8}.email-bko-mini-badge.is-danger-soft{background:#fff1f2;color:#be123c}.email-bko-mini-badge.is-success-soft{background:#ecfdf5;color:#047857}.email-bko-mini-badge.is-neutral-soft{background:#f3f4f6;color:#4b5563}
@media(max-width:1200px){.gestao-emails-bko-page .emails-kpis{grid-template-columns:repeat(4,1fr)}.gestao-emails-bko-page .emails-layout,.gestao-emails-bko-page .email-detail-grid{grid-template-columns:1fr}.gestao-emails-bko-page .emails-fila{max-height:420px}.gestao-emails-bko-page .emails-filtros{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.gestao-emails-bko-page .gestao-emails-header{flex-direction:column}.gestao-emails-bko-page .emails-kpis,.gestao-emails-bko-page .emails-filtros{grid-template-columns:1fr}.gestao-emails-bko-page .email-info-grid{grid-template-columns:1fr}}

/* ==========================================
   GESTÃO DE E-MAILS BKO - AJUSTES DE CÓPIA/PERMISSÃO
   ========================================== */
.gestao-emails-bko-page .email-bko-copy-value {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.gestao-emails-bko-page .email-bko-copy-icon {
    border: 0;
    background: #e8f4ff;
    color: #0070d2;
    border-radius: 7px;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .18s ease;
}

.gestao-emails-bko-page .email-bko-copy-icon:hover,
.gestao-emails-bko-page .email-bko-copy-icon:focus {
    background: #cfeaff;
    transform: translateY(-1px);
    outline: none;
}

.gestao-emails-bko-page .emails-bko-manager-only[style*="display: none"] {
    display: none !important;
}

/* ==========================================
   GESTÃO DE E-MAILS BKO - AJUSTE VISÃO STATUS
   ========================================== */
.gestao-emails-bko-page .emails-kpi-abertos {
    border-left: 4px solid #f59e0b;
}
.gestao-emails-bko-page .emails-kpi-novos {
    border-left: 4px solid #0ea5e9;
}
.gestao-emails-bko-page .emails-kpi-em-analise {
    border-left: 4px solid #8b5cf6;
    background: #faf5ff;
}
.gestao-emails-bko-page .emails-kpi-em-analise strong {
    color: #6d28d9;
}
.gestao-emails-bko-page .emails-kpi-leitura {
    border-left: 4px solid #0891b2;
    background: #ecfeff;
}
.gestao-emails-bko-page .emails-kpi-sem-resposta {
    border-left: 4px solid #16a34a;
    background: #f0fdf4;
}
.gestao-emails-bko-page .emails-kpi-realizados-sf {
    border-left: 4px solid #16a34a;
}
.gestao-emails-bko-page .emails-kpi-media-diaria-sf {
    border-left: 4px solid #64748b;
    background: #f8fafc;
}
.gestao-emails-bko-page .emails-kpi-realizados-aud {
    border-left: 4px solid #7c3aed;
}
.gestao-emails-bko-page .emails-kpi-realizados-hoje-aud {
    border-left: 4px solid #14b8a6;
    background: #f0fdfa;
}
.gestao-emails-bko-page .emails-kpi-atribuidas {
    border-left: 4px solid #2563eb;
    background: #eff6ff;
}
.gestao-emails-bko-page .emails-kpi-sem-atribuicao {
    border-left: 4px solid #b91c1c;
    background: #fff1f2;
}
.gestao-emails-bko-page .emails-kpi-realizados-aud strong {
    color: #6d28d9;
}
.gestao-emails-bko-page .emails-kpi-realizados-hoje-aud strong {
    color: #0f766e;
}
.gestao-emails-bko-page .emails-kpi-atribuidas strong {
    color: #1d4ed8;
}
.gestao-emails-bko-page .emails-kpi-sem-atribuicao strong {
    color: #b91c1c;
}
.gestao-emails-bko-page .emails-kpi-realizados-sf strong {
    color: #15803d;
}
.gestao-emails-bko-page .emails-kpi-media-diaria-sf strong {
    color: #334155;
}
.gestao-emails-bko-page .emails-kpi-abertos strong {
    color: #b45309;
}
.gestao-emails-bko-page .emails-kpi-novos strong {
    color: #0369a1;
}
.gestao-emails-bko-page .emails-kpi-leitura strong {
    color: #0e7490;
}
.gestao-emails-bko-page .emails-kpi-sem-resposta strong {
    color: #15803d;
}
.gestao-emails-bko-page .emails-kpi-abertos-sf,
.gestao-emails-bko-page .emails-kpi-realizados-sf-filtrado,
.gestao-emails-bko-page .emails-kpi-media-diaria-sf-filtrado {
    background: #f3f4f6;
    border-left: 4px solid #9ca3af;
}
.gestao-emails-bko-page .emails-kpi-abertos-sf strong,
.gestao-emails-bko-page .emails-kpi-realizados-sf-filtrado strong,
.gestao-emails-bko-page .emails-kpi-media-diaria-sf-filtrado strong {
    color: #4b5563;
}


/* Ajuste Gestão de E-mails BKO - status interno sem dropdown */
.gestao-emails-bko-page .email-bko-status-atual {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
    border: 1px solid #bae6fd;
}

/* ==========================================
   GESTÃO DE E-MAILS BKO - AJUSTE PONTUAL DE ESPAÇAMENTO/DATAS
   ========================================== */
.gestao-emails-bko-page .email-detail-grid {
    align-items: start;
    gap: 12px;
    padding: 12px;
}

.gestao-emails-bko-page .email-section {
    padding: 10px 12px;
}

.gestao-emails-bko-page .email-section h3 {
    margin-bottom: 7px;
}

.gestao-emails-bko-page .email-info-grid {
    gap: 8px 14px;
    align-items: start;
    align-content: start;
}

.gestao-emails-bko-page .email-info-grid .value {
    line-height: 1.25;
}

.gestao-emails-bko-page .email-section.email-bko-anexo-section {
    min-height: 0;
}

.gestao-emails-bko-page .badge.anexo,
.gestao-emails-bko-page .sem-anexo {
    display: inline-flex;
    align-items: center;
    width: auto;
    text-align: left;
    padding: 6px 10px;
}

.gestao-emails-bko-page .email-bko-collapsible {
    padding: 0;
    overflow: hidden;
}

.gestao-emails-bko-page .email-bko-collapse-head {
    width: 100%;
    border: 0;
    background: #f8fafc;
    color: #334155;
    padding: 10px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.gestao-emails-bko-page .email-bko-collapse-head:hover,
.gestao-emails-bko-page .email-bko-collapse-head:focus {
    background: #eef6ff;
    outline: none;
}

.gestao-emails-bko-page .email-bko-collapse-icon {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #e0f2fe;
    color: #075985;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    font-weight: 900;
}

.gestao-emails-bko-page .email-bko-collapse-body {
    display: none;
    padding: 10px 12px 12px;
}

.gestao-emails-bko-page .email-bko-collapsible.is-open .email-bko-collapse-body {
    display: block;
}

/* Ajuste pontual v7 - histórico central e cards recolhíveis */
.gestao-emails-bko-page .email-bko-history-item.central {
    border-left: 4px solid #2563eb;
    background: #f8fbff;
}

.gestao-emails-bko-page .email-bko-collapsible .script-box {
    margin-bottom: 0;
}

/* Ajuste pontual v8: botões de scripts rápidos abertos e somente texto integral recolhido */
.email-bko-scripts-section .quick-buttons {
    margin-top: 8px;
}
.email-bko-script-full {
    margin-top: 10px;
}
.email-bko-script-full .email-bko-collapse-head {
    min-height: 38px;
}

/* Ajuste pontual v9 - performance visual da fila e cores por controle interno */
.gestao-emails-bko-page .email-card{
    transition: background-color .14s ease, box-shadow .14s ease, border-color .14s ease;
}

.gestao-emails-bko-page .email-card.status-controle-em_analise{
    background:#fff7d6 !important;
    border-left:4px solid #f59e0b;
}

.gestao-emails-bko-page .email-card.status-controle-em_analise:hover,
.gestao-emails-bko-page .email-card.status-controle-em_analise.active{
    background:#ffedb0 !important;
    box-shadow:inset 4px 0 0 #f59e0b, 0 0 0 2px rgba(245,158,11,.12);
}

.gestao-emails-bko-page .email-card.status-controle-finalizado,
.gestao-emails-bko-page .email-card.status-controle-aguardando_cliente,
.gestao-emails-bko-page .email-card.status-controle-aguardando_area{
    background:#eaf8ef !important;
    border-left:4px solid #16a34a;
}

.gestao-emails-bko-page .email-card.status-controle-finalizado:hover,
.gestao-emails-bko-page .email-card.status-controle-aguardando_cliente:hover,
.gestao-emails-bko-page .email-card.status-controle-aguardando_area:hover,
.gestao-emails-bko-page .email-card.status-controle-finalizado.active,
.gestao-emails-bko-page .email-card.status-controle-aguardando_cliente.active,
.gestao-emails-bko-page .email-card.status-controle-aguardando_area.active{
    background:#dff5e6 !important;
    box-shadow:inset 4px 0 0 #16a34a, 0 0 0 2px rgba(22,163,74,.10);
}

.gestao-emails-bko-page .email-card.status-controle-novo.active{
    background:#e8f5ff;
    box-shadow:inset 4px 0 0 #0095f6;
}

.gestao-emails-bko-page .badge.status.status-controle-em_analise{
    background:#fef3c7;
    color:#92400e;
}

.gestao-emails-bko-page .badge.status.status-controle-finalizado,
.gestao-emails-bko-page .badge.status.status-controle-aguardando_cliente,
.gestao-emails-bko-page .badge.status.status-controle-aguardando_area{
    background:#dcfce7;
    color:#166534;
}

.gestao-emails-bko-page .email-card.email-card-duplicado{
    background:linear-gradient(135deg,#eef6ff 0%,#dbeafe 100%);
    border-left:4px solid #2563eb;
}

.gestao-emails-bko-page .email-card.email-card-duplicado:hover,
.gestao-emails-bko-page .email-card.email-card-duplicado.active{
    background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%);
    box-shadow:inset 4px 0 0 #2563eb, 0 0 0 2px rgba(37,99,235,.10);
}

.gestao-emails-bko-page .email-card.email-card-status-email-nova{
    background:linear-gradient(135deg,#fff1f2 0%,#ffe4e6 100%) !important;
    border-left:4px solid #dc2626;
}

.gestao-emails-bko-page .email-card.email-card-status-email-nova:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-nova.active{
    background:linear-gradient(135deg,#ffe4e6 0%,#fecdd3 100%) !important;
    box-shadow:inset 4px 0 0 #dc2626, 0 0 0 2px rgba(220,38,38,.10);
}

.gestao-emails-bko-page .email-card.email-card-status-email-em-analise{
    background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 100%) !important;
    border-left:4px solid #f97316;
}

.gestao-emails-bko-page .email-card.email-card-status-email-em-analise:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-em-analise.active{
    background:linear-gradient(135deg,#ffedd5 0%,#fed7aa 100%) !important;
    box-shadow:inset 4px 0 0 #f97316, 0 0 0 2px rgba(249,115,22,.10);
}

.gestao-emails-bko-page .email-card.email-card-status-email-respondido{
    background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%) !important;
    border-left:4px solid #2563eb;
}

.gestao-emails-bko-page .email-card.email-card-status-email-respondido:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-respondido.active{
    background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%) !important;
    box-shadow:inset 4px 0 0 #2563eb, 0 0 0 2px rgba(37,99,235,.10);
}

.gestao-emails-bko-page .email-card.email-card-status-email-leitura{
    background:linear-gradient(135deg,#ecfeff 0%,#cffafe 100%) !important;
    border-left:4px solid #0891b2;
}

.gestao-emails-bko-page .email-card.email-card-status-email-leitura:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-leitura.active{
    background:linear-gradient(135deg,#cffafe 0%,#a5f3fc 100%) !important;
    box-shadow:inset 4px 0 0 #0891b2, 0 0 0 2px rgba(8,145,178,.10);
}

.gestao-emails-bko-page .email-card.email-card-status-email-sem-resposta{
    background:linear-gradient(135deg,#f0fdf4 0%,#dcfce7 100%) !important;
    border-left:4px solid #16a34a;
}

.gestao-emails-bko-page .email-card.email-card-status-email-sem-resposta:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-sem-resposta.active{
    background:linear-gradient(135deg,#dcfce7 0%,#bbf7d0 100%) !important;
    box-shadow:inset 4px 0 0 #16a34a, 0 0 0 2px rgba(22,163,74,.10);
}

.gestao-emails-bko-page .email-card-nova-mensagem-tag{
    display:inline-flex;
    align-items:center;
    margin-left:8px;
    padding:3px 8px;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
    vertical-align:middle;
}

.gestao-emails-bko-page .email-card-nova-mensagem-tag.email-card-status-email-em-analise{
    background:#f97316;
}

.gestao-emails-bko-page .email-card-nova-mensagem-tag.email-card-status-email-respondido{
    background:#2563eb;
}
.gestao-emails-bko-page .email-card-nova-mensagem-tag.email-card-status-email-leitura{
    background:#0891b2;
}
.gestao-emails-bko-page .email-card-nova-mensagem-tag.email-card-status-email-sem-resposta{
    background:#16a34a;
}

.gestao-emails-bko-page .email-bko-controle-bloco{
    border-width:2px;
}

.gestao-emails-bko-page .email-bko-controle-bloco-caso{
    border-color:#bfdbfe;
    background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
}

.gestao-emails-bko-page .email-bko-controle-bloco-email{
    border-color:#fed7aa;
    background:linear-gradient(180deg,#fffaf5 0%,#ffffff 100%);
}

.gestao-emails-bko-page .email-card-duplicado-badge{
    display:inline-flex;
    align-items:center;
    margin-bottom:8px;
    padding:3px 10px;
    border-radius:999px;
    background:#2563eb;
    color:#fff;
    font-size:10px;
    font-weight:900;
    letter-spacing:.02em;
    text-transform:uppercase;
}

.gestao-emails-bko-page .email-card-cliente.is-duplicado{
    color:#1d4ed8;
    font-size:15px;
    font-weight:900;
    line-height:1.25;
    white-space:normal;
    overflow:visible;
    text-overflow:unset;
}

.gestao-emails-bko-page #emails-bko-detalhe.is-loading{
    opacity:.72;
    pointer-events:none;
}

/* ============================================================
   REFINAMENTO VISUAL — CABEÇALHOS DE SEÇÕES DO DASHBOARD
   Não altera funções, dados ou estrutura operacional
   ============================================================ */

.dashboard-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 2px 2px 16px;
    margin-bottom: 14px;
    border-bottom: 1px solid #e7ebf1;
}

.dashboard-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

/* Copia estruturada dos blocos da aba Tendencias. */
#tendencias .tendencias-copy-header {
    position: relative;
    padding-right: 112px;
    min-height: 36px;
}

#tendencias .tendencias-copy-btn {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 92px;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid #bfdbfe;
    border-radius: 9px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 3px 10px rgba(37, 99, 235, 0.08);
    transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

#tendencias .tendencias-copy-btn:hover:not(:disabled) {
    background: #dbeafe;
    border-color: #93c5fd;
    transform: translateY(-1px);
}

#tendencias .tendencias-copy-btn:disabled {
    cursor: wait;
    opacity: .8;
}

#tendencias .dashboard-section-header.tendencias-copy-header .tendencias-copy-btn {
    position: static;
    flex: 0 0 auto;
    margin-left: auto;
}

#tendencias .dashboard-section-header.tendencias-copy-header {
    padding-right: 2px;
}

.dark-mode #tendencias .tendencias-copy-btn {
    border-color: #315a8c;
    background: #172b46;
    color: #bfdbfe;
}

@media (max-width: 640px) {
    #tendencias .tendencias-copy-header {
        padding-right: 0;
        padding-top: 42px;
    }

    #tendencias .dashboard-section-header.tendencias-copy-header {
        padding-top: 2px;
        padding-right: 2px;
        flex-wrap: wrap;
    }

    #tendencias .tendencias-copy-btn {
        top: 0;
        left: 0;
        right: auto;
    }

    #tendencias .dashboard-section-header.tendencias-copy-header .tendencias-copy-btn {
        margin-left: auto;
    }
}

.dashboard-section-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #eef5ff;
    color: #2563eb;
    font-size: 16px;
}

.dashboard-section-text {
    min-width: 0;
}

.dashboard-section-title {
    margin: 0;
    color: #172033;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.dashboard-section-subtitle {
    margin: 4px 0 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 400;
}

.chart-wrapper.dashboard-table-card {
    height: auto;
    min-height: 300px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid #e7ebf1;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05);
}

#supervisor-stats-container {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e5e9f0;
    border-radius: 10px;
}

#supervisor-stats-container table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

#supervisor-stats-container thead th {
    padding: 12px 14px;
    background: #5367d8;
    color: #fff;
    font-size: 12px;
    line-height: 1.25;
    font-weight: 700;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.25);
    white-space: nowrap;
}

#supervisor-stats-container thead th:first-child {
    text-align: left;
}

#supervisor-stats-container tbody td {
    padding: 12px 14px;
    color: #263244;
    font-size: 13px;
    line-height: 1.35;
    border-right: 1px solid #e5e9f0;
    border-bottom: 1px solid #e5e9f0;
    background: #fff;
    vertical-align: middle;
}

#supervisor-stats-container tbody tr:nth-child(even) td {
    background: #f8fafc;
}

#supervisor-stats-container tbody tr:hover td {
    background: #f0f5ff;
}

#supervisor-stats-container tbody td:not(:first-child) {
    text-align: center;
    font-variant-numeric: tabular-nums;
}

#supervisor-stats-container tbody tr:last-child td {
    border-bottom: 0;
}

#supervisor-stats-container th:last-child,
#supervisor-stats-container td:last-child {
    border-right: 0;
}

@media (max-width: 768px) {
    .dashboard-section-header {
        padding-bottom: 12px;
    }

    .dashboard-section-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }

    .dashboard-section-title {
        font-size: 16px;
    }

    .dashboard-section-subtitle {
        font-size: 12px;
    }
}
.controle-supervisores-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.controle-supervisores-view-tabs {
    display: inline-flex;
    gap: 8px;
    margin-top: 6px;
    padding: 6px;
    background: #eef4fb;
    border: 1px solid #d8e5f3;
    border-radius: 999px;
}

.controle-supervisores-view-tab {
    border: 0;
    border-radius: 999px;
    padding: 10px 16px;
    background: transparent;
    color: #35506b;
    font-size: 0.9rem;
    font-weight: 800;
    cursor: pointer;
    transition: all 0.18s ease;
}

.controle-supervisores-view-tab.active {
    background: linear-gradient(135deg, #0f6cbd 0%, #1693e6 100%);
    color: #fff;
    box-shadow: 0 8px 18px rgba(15, 108, 189, 0.22);
}

.controle-supervisores-view-panel {
    display: none;
}

.controle-supervisores-view-panel.active {
    display: block;
}

.controle-supervisores-summary-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.controle-supervisores-summary-card strong {
    font-size: 1.6rem;
    line-height: 1.1;
    color: #0f172a;
}

.controle-supervisores-summary-label {
    font-size: 0.86rem;
    font-weight: 600;
    color: #64748b;
}

.controle-supervisores-card {
    margin-top: 14px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}

.controle-supervisores-card-header {
    padding: 18px 20px 10px;
    border-bottom: 1px solid #eef2f7;
}

.controle-supervisores-card-header h3 {
    margin: 0;
    color: #0f172a;
    font-size: 1.1rem;
}

.controle-supervisores-card-header p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 0.92rem;
}

.controle-supervisores-card-header-comparativo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.controle-supervisores-comparativo-search {
    margin-left: auto;
}

.controle-supervisores-comparativo-search input {
    width: min(320px, 80vw);
    height: 44px;
    border: 1px solid #d7e1ec;
    border-radius: 12px;
    padding: 0 14px;
    background: #fff;
    color: #1e293b;
    font-size: 0.96rem;
    font-weight: 600;
}

.controle-supervisores-comparativo-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}

.controle-supervisores-comparativo-card {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    border: 1px solid #dce7f4;
    border-radius: 18px;
    padding: 18px 20px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
}

.controle-supervisores-comparativo-card-title {
    display: block;
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
}

.controle-supervisores-comparativo-card-values {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
    color: #0f172a;
    font-size: 1rem;
}

.controle-supervisores-comparativo-card-values span {
    font-weight: 700;
}

.controle-supervisores-comparativo-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 16px;
    color: #64748b;
    font-size: 0.88rem;
    font-weight: 700;
}

.controle-supervisores-comparativo-delta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 1.75rem;
    font-weight: 900;
    line-height: 1;
}

.controle-supervisores-comparativo-delta.positivo {
    color: #16a34a;
}

.controle-supervisores-comparativo-delta.negativo {
    color: #dc2626;
}

.controle-supervisores-comparativo-delta.neutro {
    color: #64748b;
}

.controle-supervisores-comparativo-table {
    min-width: 1280px;
}

.controle-supervisores-comparativo-table td:nth-child(2) {
    text-align: left;
}

.controle-supervisores-comparativo-posicao {
    font-weight: 900;
    color: #0f172a;
}

.controle-supervisores-comparativo-variacao {
    font-weight: 900;
}

.controle-supervisores-comparativo-variacao.positivo {
    color: #16a34a;
}

.controle-supervisores-comparativo-variacao.negativo {
    color: #dc2626;
}

.controle-supervisores-comparativo-variacao.neutro {
    color: #64748b;
}

.controle-supervisores-table-wrap {
    overflow-x: auto;
}

.controle-supervisores-table,
.supervisor-daily-table {
    width: 100%;
    min-width: 1500px;
    border-collapse: collapse;
}

.controle-supervisores-table th,
.controle-supervisores-table td,
.supervisor-daily-table th,
.supervisor-daily-table td {
    padding: 12px 10px;
    border-bottom: 1px solid #eef2f7;
    text-align: center;
    vertical-align: middle;
    white-space: nowrap;
}

.controle-supervisores-table th,
.supervisor-daily-table th {
    background: #0f6cbd;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 700;
    position: sticky;
    top: 0;
    z-index: 1;
}

.controle-supervisores-table td.controle-supervisores-supervisor,
.supervisor-resumo-row td:nth-child(2),
.supervisor-daily-table td:first-child {
    text-align: left;
}

.supervisor-resumo-row {
    cursor: pointer;
    transition: background 0.18s ease;
}

.supervisor-resumo-row:nth-child(4n + 1),
.supervisor-resumo-row:nth-child(4n + 2) {
    background: #fbfdff;
}

.supervisor-resumo-row:hover {
    background: #eef6ff;
}

.controle-supervisores-expand-cell {
    width: 54px;
}

.controle-supervisores-toggle {
    width: 34px;
    height: 34px;
    border: 1px solid #dbe3ef;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    cursor: pointer;
    transition: all 0.18s ease;
}

.controle-supervisores-toggle:hover {
    background: #0f6cbd;
    border-color: #0f6cbd;
    color: #fff;
}

.controle-supervisores-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 5px 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}

.controle-supervisores-badge.is-empty {
    background: #cbd5e1;
    color: #334155;
}

.supervisor-detalhe-row {
    background: #f8fbff;
}

.supervisor-detalhe-container {
    padding: 14px;
    background: linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);
    border: 1px solid #d9e7f7;
    border-radius: 14px;
}

.supervisor-daily-table th {
    background: #1e88e5;
}

.controle-supervisores-loading,
.controle-supervisores-empty,
.controle-supervisores-error {
    padding: 20px;
    text-align: center;
    font-weight: 600;
}

.controle-supervisores-empty {
    color: #64748b;
}

.controle-supervisores-error {
    color: #b91c1c;
}

@media (max-width: 768px) {
    .controle-supervisores-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    .controle-supervisores-comparativo-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .controle-supervisores-summary-grid {
        grid-template-columns: 1fr;
    }

    .controle-supervisores-view-tabs {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-radius: 16px;
    }

    .controle-supervisores-view-tab {
        text-align: center;
    }
}

/* Base Prioridade Procon - botão isolado, sem afetar demais controles */
.btn-gerar-base-prioridade-procon {
    padding: 8px 14px;
    border-radius: 8px;
    border: 2px solid #15803d;
    background: #ffffff;
    color: #15803d;
    font-weight: 800;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-gerar-base-prioridade-procon:hover {
    background: #15803d;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(21, 128, 61, 0.18);
}

.btn-gerar-base-prioridade-procon:disabled,
.btn-gerar-base-prioridade-procon[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}


/* Base Prioridade Procon - controles isolados */
.btn-gerar-base-prioridade-procon {
    padding: 8px 14px;
    border-radius: 8px;
    border: 2px solid #15803d;
    background: #ffffff;
    color: #15803d;
    font-weight: 800;
    font-size: 12px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.btn-gerar-base-prioridade-procon:hover {
    background: #15803d;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(21, 128, 61, 0.18);
}

.btn-gerar-base-prioridade-procon:disabled,
.btn-gerar-base-prioridade-procon[disabled] {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

.acompanhamento-procon-wrapper {
    border: 1px solid #dbeafe;
    background: #ffffff;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}

.btn-acompanhamento-base-procon {
    border: 2px solid #0f766e;
    background: #ffffff;
    color: #0f766e;
    font-weight: 800;
    border-radius: 8px;
    padding: 8px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.btn-acompanhamento-base-procon:hover {
    background: #0f766e;
    color: #ffffff;
}

.acompanhamento-procon-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.acompanhamento-procon-header h3 {
    margin: 0 0 4px;
    color: #0f172a;
    font-size: 18px;
}

.acompanhamento-procon-header small,
.acompanhamento-procon-meta {
    color: #64748b;
    font-size: 12px;
}

.acompanhamento-procon-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.acompanhamento-procon-actions select,
.acompanhamento-procon-actions button {
    height: 38px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    color: #334155;
    padding: 0 12px;
    font-size: 12px;
    font-weight: 700;
}

.acompanhamento-procon-actions select { min-width: 310px; }
.acompanhamento-procon-actions button { cursor: pointer; }
.acompanhamento-procon-actions button:hover { border-color: #0f766e; color: #0f766e; }

.acompanhamento-procon-feedback {
    padding: 10px 12px;
    border-radius: 10px;
    margin-bottom: 12px;
    font-size: 12px;
    font-weight: 700;
}

.acompanhamento-procon-feedback.aviso { background: #eff6ff; color: #1d4ed8; border: 1px solid #bfdbfe; }
.acompanhamento-procon-feedback.sucesso { background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; }
.acompanhamento-procon-feedback.erro { background: #fef2f2; color: #b91c1c; border: 1px solid #fecaca; }
.acompanhamento-procon-meta { margin-bottom: 12px; }

.acompanhamento-procon-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

.acompanhamento-procon-card {
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    background: #f8fafc;
}

.acompanhamento-procon-card i {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #334155;
}

.acompanhamento-procon-card strong { display: block; font-size: 22px; line-height: 1; color: #0f172a; }
.acompanhamento-procon-card span { display: block; margin-top: 3px; font-size: 12px; color: #64748b; font-weight: 700; }
.acompanhamento-procon-card.resolvido i { background: #dcfce7; color: #15803d; }
.acompanhamento-procon-card.pendente i { background: #fef3c7; color: #b45309; }
.acompanhamento-procon-card.pendente_recontato i { background: #ffedd5; color: #c2410c; }
.acompanhamento-procon-card.virou_procon i { background: #fee2e2; color: #b91c1c; }
.acompanhamento-procon-card.monitoramento i { background: #ede9fe; color: #6d28d9; }

.acompanhamento-procon-filtros {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 12px;
}

.acompanhamento-procon-filtros button {
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #ffffff;
    color: #475569;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.acompanhamento-procon-filtros button.active,
.acompanhamento-procon-filtros button:hover { background: #0f766e; border-color: #0f766e; color: #ffffff; }

.acompanhamento-procon-table-wrap { overflow-x: auto; border: 1px solid #dbe3ec; border-radius: 12px; background: #ffffff; }
.acompanhamento-procon-table { width: 100%; border-collapse: separate; border-spacing: 0; min-width: 1450px; }
.acompanhamento-procon-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #eaf2ff;
    color: #0f172a;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 12px 10px;
    border-bottom: 1px solid #cbd5e1;
    white-space: nowrap;
}
.acompanhamento-procon-table td { padding: 10px; border-bottom: 1px solid #eef2f7; vertical-align: top; font-size: 12px; color: #1f2937; background: #ffffff; }
.acompanhamento-procon-table tbody tr:nth-child(even) td { background: #f8fbff; }
.acompanhamento-procon-resumo { min-width: 320px; white-space: normal; word-break: break-word; }
.acompanhamento-procon-badge { display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.acompanhamento-procon-badge.resolvido { background: #dcfce7; color: #166534; }
.acompanhamento-procon-badge.pendente { background: #fef3c7; color: #92400e; }
.acompanhamento-procon-badge.pendente_recontato { background: #ffedd5; color: #9a3412; }
.acompanhamento-procon-badge.virou_procon { background: #fee2e2; color: #991b1b; }
.acompanhamento-procon-badge.monitoramento { background: #ede9fe; color: #5b21b6; }

@media (max-width: 900px) {
    .acompanhamento-procon-actions,
    .acompanhamento-procon-actions select,
    .acompanhamento-procon-actions button { width: 100%; }
}



/* Ajuste Acompanhamento Procon: botao de retorno para Mencao Procon */
.btn-voltar-mencao-procon {
    border: 1px solid #b91c1c !important;
    background: #ffffff !important;
    color: #b91c1c !important;
    font-weight: 700 !important;
}

.btn-voltar-mencao-procon:hover {
    background: #fee2e2 !important;
    color: #7f1d1d !important;
}


/* ========================================================================== 
   MODULO ISOLADO: GESTAO DE CAMPANHAS
   ========================================================================== */
.campanhas-page .campanhas-shell{display:flex;flex-direction:column;gap:14px}
.campanhas-header-card,.campanhas-card{background:var(--secondary-bg);border:1px solid #e2e8f0;border-radius:12px;box-shadow:var(--card-shadow);padding:16px}
.campanhas-header-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.campanhas-header-card h2{margin:0 0 4px;color:#0f335e;display:flex;align-items:center;gap:10px}
.campanhas-header-card p,.campanhas-card-head p{margin:4px 0 0;color:var(--text-light);font-size:13px}
.campanhas-feedback{padding:12px 14px;border-radius:10px;font-size:13px;font-weight:600}
.campanhas-feedback.ok{background:#e9f9ef;color:#14743a;border:1px solid #b9ebc9}.campanhas-feedback.erro{background:#fff0f0;color:#b42323;border:1px solid #f3c1c1}
.campanhas-loading-card{display:flex;align-items:center;justify-content:center;gap:10px;color:#475569;font-weight:700;min-height:120px}
.campanhas-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}
.campanhas-kpis>div{background:#fff;border:1px solid #e2e8f0;border-left:4px solid var(--accent-color);border-radius:10px;padding:13px 15px;box-shadow:var(--card-shadow)}
.campanhas-kpis strong{display:block;font-size:24px;color:#0f172a}.campanhas-kpis span{display:block;color:var(--text-light);font-size:12px;margin-top:2px}
.campanhas-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.campanhas-card-head h3{margin:0;font-size:17px;color:#12233f}
.campanhas-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:10px;background:#fff}.campanhas-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0}
.campanhas-table th{background:#0aa6f3;color:#fff;padding:11px 10px;font-size:12px;text-align:left;white-space:nowrap}.campanhas-table td{padding:11px 10px;border-bottom:1px solid #edf2f7;font-size:12px;vertical-align:top}.campanhas-table tbody tr:nth-child(even) td{background:#f8fafc}.campanhas-table tbody tr:hover td{background:#eef8ff}
.campanhas-empty{text-align:center;color:var(--text-light);padding:18px!important}.campanhas-btn{border:0;border-radius:8px;min-height:38px;padding:8px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.campanhas-btn-primary{background:var(--accent-color);color:#fff}.campanhas-btn-success{background:#168b42;color:#fff}.campanhas-btn-danger{background:#fff1f2;border:1px solid #fecdd3;color:#be123c}.campanhas-btn-outline{background:#fff;border:1px solid #cbd5e1;color:#334155}.campanhas-btn:hover{filter:brightness(.98);transform:translateY(-1px)}
.campanhas-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:800}.campanhas-badge-ativa{background:#e5f8ed;color:#15803d}.campanhas-badge-rascunho{background:#fff4db;color:#9a6400}.campanhas-badge-encerrada{background:#edf2f7;color:#475569}.campanhas-badge-arquivada{background:#fee2e2;color:#b91c1c}
.campanhas-form-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.campanhas-form-grid-1{grid-template-columns:1fr}.campanhas-form-grid label{display:flex;flex-direction:column;gap:6px;color:#334155;font-size:12px;font-weight:800}.campanhas-form-grid input,.campanhas-form-grid select,.campanhas-form-grid textarea{border:1px solid #cbd5e1;border-radius:8px;padding:9px 10px;background:#fff;color:#0f172a}.campanhas-form-grid select[multiple]{min-height:160px}.campanhas-form-grid textarea{min-height:76px;resize:vertical}.campanhas-form-grid .span-2{grid-column:span 2}.campanhas-form-grid small{color:#64748b;font-weight:500;line-height:1.35}
.campanhas-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}.campanhas-campaign-title{display:flex;align-items:center;gap:14px;justify-content:space-between;flex-wrap:wrap}.campanhas-campaign-title h3{margin:0 0 4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campanhas-campaign-title p{margin:0;color:var(--text-light);font-size:13px}
.campanhas-tabs{display:flex;gap:8px;flex-wrap:wrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:10px}.campanhas-tab{height:36px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#334155;font-weight:800;padding:0 13px;cursor:pointer}.campanhas-tab.active{background:#e8f7ff;border-color:#8bd6fb;color:#087fb9}.campanhas-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:7px;vertical-align:middle}
.campanhas-split{display:grid;grid-template-columns:minmax(290px,.9fr) minmax(430px,1.6fr);gap:14px}.campanhas-history-item{display:grid;grid-template-columns:160px 190px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid #e2e8f0;font-size:12px}.campanhas-history-item:last-child{border-bottom:0}.campanhas-history-item strong{color:#0f172a}.campanhas-history-item span{color:#475569}
@media(max-width:1100px){.campanhas-split{grid-template-columns:1fr}.campanhas-form-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:900px){.campanhas-form-grid{grid-template-columns:1fr}.campanhas-form-grid .span-2{grid-column:auto}.campanhas-history-item{grid-template-columns:1fr}.campanhas-actions{justify-content:stretch}.campanhas-actions .campanhas-btn{width:100%}}

/* Ajuste Gestão de Campanhas - explicações de pontuação diária */
.campanhas-notice{
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid #bae6fd;
    border-radius: 10px;
    background: #eff6ff;
    color: #0f3b5f;
    font-size: 13px;
    line-height: 1.45;
}

/* Ajuste Gestão de Campanhas - acompanhamento compacto e detalhe em popup */
.campanhas-detalhe-diario-cell{
    max-width: 280px;
    min-width: 220px;
}
.campanhas-regras-cell{
    max-width: 260px;
    min-width: 220px;
    white-space: normal;
    line-height: 1.35;
}
.campanhas-dias-resumo{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    max-height: 76px;
    overflow: hidden;
}
.campanhas-dia-chip{
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 3px 6px;
    border-radius: 999px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #334155;
    line-height: 1.15;
    font-size: 10.5px;
    white-space: nowrap;
}
.campanhas-link-btn{
    border: 1px solid #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 999px;
    font-weight: 800;
    font-size: 10.5px;
    cursor: pointer;
    padding: 3px 8px;
    text-align: left;
    white-space: nowrap;
}
.campanhas-link-btn:hover{
    background:#dbeafe;
    text-decoration: none;
}
.campanhas-muted{
    color: #94a3b8;
}
.campanhas-modal-backdrop{
    position: fixed;
    inset: 0;
    background: rgba(15,23,42,.55);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.campanhas-modal-card{
    width: min(760px, 96vw);
    max-height: 86vh;
    overflow: hidden;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(15,23,42,.35);
    display: flex;
    flex-direction: column;
}
.campanhas-modal-head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}
.campanhas-modal-head strong{
    color: #0f172a;
    font-size: 16px;
}
.campanhas-modal-head small{
    color: #64748b;
}
.campanhas-modal-close{
    border: 0;
    background: #fff;
    border: 1px solid #cbd5e1;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #334155;
}
.campanhas-modal-body{
    padding: 16px 20px;
    overflow: auto;
}
.campanhas-detalhe-lista{
    margin: 0;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.campanhas-detalhe-lista li{
    padding: 8px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    line-height: 1.35;
}
.campanhas-table td{
    line-height: 1.35;
}

/* Ajuste campanhas - aviso discreto para período efetivo/zero ABS */
.campanhas-notice-soft{
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #334155;
}
#campanhas-regra-metrica option[value="zero_abs"]{
    font-weight: 700;
}

/* Ajuste Gestão de Campanhas - regra Zero ABS diária */
.campanhas-form-grid .span-3{grid-column:1 / -1}
.campanhas-zeroabs-resumo{
    border:1px solid #bae6fd;
    background:#f0f9ff;
    color:#075985;
    border-radius:10px;
    padding:12px 14px;
    font-size:12px;
    line-height:1.45;
    font-weight:600;
}
.campanhas-zeroabs-resumo strong{color:#0f172a}


/* Gestão de Campanhas - visualização por grupo/ranking e modo somente leitura */
.campanhas-grupo-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:8px;
}
.campanhas-grupo-tab{
    border:1px solid #cbd5e1;
    background:#fff;
    color:#334155;
    border-radius:999px;
    padding:8px 13px;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
}
.campanhas-grupo-tab.active{
    background:#0aa6f3;
    border-color:#0aa6f3;
    color:#fff;
    box-shadow:0 8px 18px rgba(10,166,243,.18);
}
.campanhas-ranking-card .campanhas-table{min-width:720px}
.campanhas-ranking-table th:first-child,
.campanhas-ranking-table td:first-child{width:64px;text-align:center}
.campanhas-card-compact{padding:12px 14px}
.campanhas-readonly-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;
}
.campanhas-readonly-grid>div{
    border:1px solid #e2e8f0;
    border-radius:10px;
    background:#fff;
    padding:12px;
}
.campanhas-readonly-grid strong{
    display:block;
    color:#64748b;
    font-size:11px;
    text-transform:uppercase;
    margin-bottom:5px;
}
.campanhas-readonly-grid span{color:#0f172a;font-weight:700}

/* Ajuste pontual Gestão de Campanhas: ações do título e seleção múltipla de grupos em regras */
.campanhas-title-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.campanhas-regra-grupo-multi{min-height:96px!important;line-height:1.35}
.campanhas-regra-grupo-multi option{padding:6px 8px}
@media(max-width:900px){.campanhas-title-actions{width:100%;justify-content:stretch}.campanhas-title-actions .campanhas-btn{flex:1}}


/* ==========================================================
   CORREÇÃO: BOTÕES DE RESULTADO DA AUDITORIA
   Evita corte do texto "NÃO CONFORMIDADE GRAVE".
   ========================================================== */
.audit-layout-horizontal .buttons-area .btn-audit {
    min-width: 0;
    min-height: 46px;
    height: auto;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.2;
    text-align: center;
    word-break: normal;
    overflow-wrap: anywhere;
}

.audit-layout-horizontal .buttons-area .btn-audit i {
    flex: 0 0 auto;
}

#auditar.modo-demandas-aplicativo .audit-layout-horizontal .buttons-area .btn-audit {
    min-height: 44px;
}


/* ============================================================
   GESTÃO DE E-MAILS — DESEMPENHO DA ALTERNÂNCIA E ASSUNTO VISUAL
   Mantém regras, dados, ações e comportamento operacional.
   ============================================================ */
.gestao-emails-bko-page .email-card .email-card-assunto {
    margin-top: 3px;
    color: #334155;
    font-weight: 800;
    line-height: 1.32;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}

.gestao-emails-bko-page .email-card .email-card-assunto strong {
    color: #0f3557;
    font-weight: 900;
}

.gestao-emails-bko-page .email-card .email-card-assunto-texto,
.gestao-emails-bko-page .email-card .email-card-assunto-texto .assunto-numero {
    font-weight: 800;
}

.gestao-emails-bko-page .email-bko-history-loading {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 12px;
    border: 1px dashed #bfdbfe;
    border-radius: 10px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 13px;
    font-weight: 800;
}

.gestao-emails-bko-page #emails-bko-detalhe {
    position: relative;
}

.gestao-emails-bko-page #emails-bko-detalhe.is-loading {
    opacity: 1;
    pointer-events: auto;
}

.gestao-emails-bko-page #emails-bko-detalhe.is-loading::after {
    content: 'Atualizando histórico...';
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 8;
    padding: 5px 9px;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    background: rgba(239, 246, 255, .96);
    color: #1d4ed8;
    box-shadow: 0 4px 12px rgba(30, 64, 175, .10);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
    pointer-events: none;
}

/* ============================================================
   FILTRO GLOBAL: STATUS DO CASO (SALESFORCE)
   ============================================================ */
#filter-status-caso-global .filter-btn {
    white-space: nowrap;
}

#filter-status-caso-global .filter-btn .fa-clipboard-check {
    color: #dc2626;
}


/* Segmentacao visual: mensagem LEITURA com Caso Pai aberto pertence a NOVOS. */
.gestao-emails-bko-page .email-card.email-card-status-email-leitura-caso-aberto{
    background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%) !important;
    border-left:4px solid #0ea5e9;
}

.gestao-emails-bko-page .email-card.email-card-status-email-leitura-caso-aberto:hover,
.gestao-emails-bko-page .email-card.email-card-status-email-leitura-caso-aberto.active{
    background:linear-gradient(135deg,#e0f2fe 0%,#bae6fd 100%) !important;
    box-shadow:inset 4px 0 0 #0ea5e9, 0 0 0 2px rgba(14,165,233,.10);
}

.gestao-emails-bko-page .email-card-nova-mensagem-tag.email-card-status-email-leitura-caso-aberto{
    background:#0ea5e9;
}


/* ==========================================================
   Gestao de E-mails BKO - Dashboard de Status do Caso Pai
   Isolado das filas operacionais para manter o carregamento leve.
   ========================================================== */
.gestao-emails-bko-page .emails-bko-dashboard-status-caso {
    display: grid;
    gap: 16px;
    width: 100%;
}
.gestao-emails-bko-page .emails-bko-dashboard-status-caso[hidden] { display: none !important; }
.gestao-emails-bko-page .emails-bko-dashboard-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    background: #fff;
    border: 1px solid #dce4ec;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(15,35,87,.05);
}
.gestao-emails-bko-page .emails-bko-dashboard-head h2 {
    margin: 0;
    color: #0f3557;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.gestao-emails-bko-page .emails-bko-dashboard-head p {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 12px;
    line-height: 1.5;
}
.gestao-emails-bko-page .emails-bko-dashboard-periodo {
    flex: 0 0 auto;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}
.gestao-emails-bko-page .emails-bko-dashboard-loading,
.gestao-emails-bko-page .emails-bko-dashboard-erro {
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 700;
}
.gestao-emails-bko-page .emails-bko-dashboard-loading {
    color: #1d4ed8;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.gestao-emails-bko-page .emails-bko-dashboard-erro {
    color: #b91c1c;
    background: #fef2f2;
    border: 1px solid #fecaca;
}
.gestao-emails-bko-page .emails-bko-dashboard-graficos {
    display: grid;
    gap: 16px;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-card {
    background: #fff;
    border: 1px solid #dce4ec;
    border-radius: 14px;
    padding: 14px 16px 16px;
    box-shadow: 0 6px 18px rgba(15,35,87,.05);
    min-width: 0;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-card.is-entrantes { border-left: 4px solid #7c3aed; }
.gestao-emails-bko-page .emails-bko-dashboard-chart-card.is-aberto { border-left: 4px solid #2563eb; }
.gestao-emails-bko-page .emails-bko-dashboard-chart-card.is-fechado { border-left: 4px solid #16a34a; }
.gestao-emails-bko-page .emails-bko-dashboard-chart-card.is-parado { border-left: 4px solid #f59e0b; }
.gestao-emails-bko-page .emails-bko-dashboard-chart-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 8px;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-head span {
    display: block;
    color: #64748b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-head h3 {
    margin: 3px 0 0;
    color: #0f172a;
    font-size: 15px;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-head > strong {
    min-width: 70px;
    text-align: center;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #0f3557;
    padding: 8px 12px;
    font-size: 20px;
    line-height: 1;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-wrap {
    position: relative;
    width: 100%;
    height: 285px;
    min-height: 285px;
}
.gestao-emails-bko-page .emails-bko-dashboard-chart-wrap canvas {
    width: 100% !important;
    height: 100% !important;
}
@media (max-width: 760px) {
    .gestao-emails-bko-page .emails-bko-dashboard-head { flex-direction: column; }
    .gestao-emails-bko-page .emails-bko-dashboard-periodo { white-space: normal; }
    .gestao-emails-bko-page .emails-bko-dashboard-chart-wrap { height: 250px; min-height: 250px; }
}

/* ==========================================================
   Gestao de E-mails BKO - prioridade visual de FINALIZADO
   Mantem NOVA mensagem pendente com prioridade de alerta.
   ========================================================== */
.gestao-emails-bko-page .email-card.status-controle-finalizado:not(.email-card-status-email-nova):not(.email-card-status-email-em-analise) {
    background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%) !important;
}

.gestao-emails-bko-page .email-card.status-controle-finalizado:not(.email-card-status-email-nova):not(.email-card-status-email-em-analise):hover,
.gestao-emails-bko-page .email-card.status-controle-finalizado:not(.email-card-status-email-nova):not(.email-card-status-email-em-analise).active {
    background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%) !important;
}

/* ==========================================================
   Gestao de E-mails BKO - identidade visual por cliente duplicado
   Mantem intactas as cores de fundo ligadas a status e alertas.
   ========================================================== */
.gestao-emails-bko-page .email-card.email-card-grupo-cliente .email-card-cliente.is-duplicado {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin-top: 3px;
    padding: 3px 8px;
    border: 2px solid var(--email-bko-cliente-cor, #2563eb);
    border-radius: 8px;
    background: rgba(255,255,255,.88);
    color: #0f3557;
    box-shadow: 0 1px 3px rgba(15,53,87,.08);
}

.gestao-emails-bko-page .email-card.email-card-grupo-cliente .email-card-cliente.is-duplicado::before {
    content: '';
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 999px;
    background: var(--email-bko-cliente-cor, #2563eb);
    box-shadow: 0 0 0 2px rgba(255,255,255,.9);
}

.gestao-emails-bko-page .email-card.email-card-grupo-cliente .email-card-duplicado-badge {
    border: 1px solid var(--email-bko-cliente-cor, #2563eb);
    box-shadow: inset 4px 0 0 var(--email-bko-cliente-cor, #2563eb);
}



/* ==========================================================
   GESTÃO DE E-MAILS BKO - INTEGRAÇÃO BIBLIOTECA DE SCRIPTS V7
   ========================================================== */
.gestao-emails-bko-page .email-bko-detail-aside {
    align-self: start;
}
.gestao-emails-bko-page .email-bko-priority-section {
    border-color: #b8dff5;
    background: #fbfdff;
}
.gestao-emails-bko-page .email-bko-biblioteca-scripts-btn {
    width: 100%;
    min-height: 44px;
    margin-top: 6px;
    justify-content: center;
    font-size: 13px;
}
.gestao-emails-bko-page .email-bko-scripts-contexto {
    margin-top: 8px;
    padding: 7px 9px;
    border-radius: 8px;
    background: #eef7fd;
    color: #42637a;
    font-size: 11px;
    line-height: 1.35;
}
.gestao-emails-bko-page .email-bko-scripts-subtitle {
    margin: 11px 0 6px;
    color: #64748b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.gestao-emails-bko-page .email-bko-quick-buttons-compact {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.gestao-emails-bko-page .email-bko-quick-buttons-compact .email-bko-btn {
    min-width: 0;
    padding-left: 9px;
    padding-right: 9px;
    font-size: 11px;
}
.gestao-emails-bko-page .email-bko-resumo-prioridade textarea {
    min-height: 72px;
    resize: vertical;
}
@media (max-width: 1200px) {
    .gestao-emails-bko-page .email-bko-quick-buttons-compact {
        grid-template-columns: 1fr;
    }
}


/* Ajuste pontual - Controle interno: FINALIZADO - EM DUPLICIDADE */
.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade {
    background: #14532d !important;
    border-color: #14532d !important;
    color: #ffffff !important;
    font-weight: 800;
    letter-spacing: .01em;
}

.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade:hover,
.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade:focus {
    background: #166534 !important;
    border-color: #166534 !important;
    color: #ffffff !important;
}

.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade strong {
    display: inline-block;
    margin-left: 4px;
    padding: 2px 7px;
    border-radius: 6px;
    background: #ffffff;
    color: #14532d;
    font-size: 1.04em;
    font-weight: 900;
    letter-spacing: .045em;
}

.gestao-emails-bko-page .email-bko-status-atual.email-bko-status-atual-duplicidade {
    background: #14532d;
    color: #ffffff;
    border-color: #14532d;
    font-weight: 900;
}

.gestao-emails-bko-page .email-card.status-controle-finalizado_duplicidade {
    background: #e8f3eb !important;
    border-left: 4px solid #14532d;
}

.gestao-emails-bko-page .email-card.status-controle-finalizado_duplicidade:hover,
.gestao-emails-bko-page .email-card.status-controle-finalizado_duplicidade.active {
    background: #dcecdf !important;
    box-shadow: inset 4px 0 0 #14532d, 0 0 0 2px rgba(20,83,45,.12);
}

.gestao-emails-bko-page .badge.status.status-controle-finalizado_duplicidade {
    background: #14532d;
    color: #ffffff;
    font-weight: 900;
}

/* Ajuste visual pontual - separação do status FINALIZADO - EM DUPLICIDADE */
.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade {
    position: relative;
    margin-top: 10px;
}

.gestao-emails-bko-page .email-bko-btn-finalizado-duplicidade::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: -7px;
    height: 1px;
    background: #dbe3ec;
    pointer-events: none;
}

/* ==========================================
   IMPORTACAO SALESFORCE - LAYOUT E UX
   ========================================== */

.salesforce-import-page {
    max-width: 1480px;
    margin: 0 auto;
}

.salesforce-page-subtitle {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 13px;
    line-height: 1.45;
}

#importar .salesforce-import-area {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
    justify-content: stretch;
    min-height: 0;
}

#importar .import-card {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
}

#importar .salesforce-upload-card {
    grid-column: 1 / -1;
    padding: 28px;
    text-align: center;
    border: 1px solid #e2e8f0;
}

.salesforce-upload-card > .fa-file-excel {
    display: block;
}

#btn-selecionar-arquivo-salesforce:disabled {
    opacity: .72;
    cursor: wait;
    filter: saturate(.75);
}

.salesforce-columns-details {
    max-width: 940px;
    margin: 0 auto 20px;
    border: 1px solid #dbe5ef;
    border-radius: 10px;
    background: #f8fafc;
    text-align: left;
}

.salesforce-columns-details > summary {
    position: relative;
    padding: 13px 44px 13px 16px;
    color: #334155;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
}

.salesforce-columns-details > summary::-webkit-details-marker,
.salesforce-tool-summary::-webkit-details-marker {
    display: none;
}

.salesforce-columns-details > summary::after,
.salesforce-tool-summary::after {
    content: '\f078';
    position: absolute;
    top: 50%;
    right: 18px;
    font-family: 'Font Awesome 5 Free';
    font-size: 12px;
    font-weight: 900;
    transform: translateY(-50%);
    transition: transform .18s ease;
}

.salesforce-columns-details[open] > summary::after,
.salesforce-tool-card[open] > .salesforce-tool-summary::after {
    transform: translateY(-50%) rotate(180deg);
}

#importar .salesforce-columns-details .column-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
    max-height: 280px;
    margin: 0;
    padding: 6px 18px 16px;
    background: transparent;
}

#importar .salesforce-columns-details .column-list li {
    padding: 9px 4px;
    color: #475569;
    font-size: 12px;
    line-height: 1.35;
}

#auditoria-import-lotes-card {
    text-align: left;
}

.salesforce-empty-state {
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: 13px;
    text-align: center;
}

.salesforce-tools-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 8px;
    padding: 2px 2px 0;
}

.salesforce-tools-heading h2 {
    margin: 0;
    color: #1e293b;
    font-size: 18px;
}

.salesforce-tools-heading p {
    margin: 4px 0 0;
    color: #64748b;
    font-size: 12px;
}

#importar .salesforce-tool-card {
    grid-column: span 6;
    overflow: hidden;
    padding: 0;
    border: 1px solid #dbe5ef;
    border-left-width: 4px;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    box-shadow: 0 3px 12px rgba(15, 23, 42, .06);
    transition: box-shadow .18s ease, transform .18s ease;
}

#importar .salesforce-tool-card--wide {
    grid-column: 1 / -1;
}

#importar .salesforce-tool-card--danger { border-left-color: #ef4444; }
#importar .salesforce-tool-card--primary { border-left-color: #3b82f6; }
#importar .salesforce-tool-card--info { border-left-color: #0ea5e9; }
#importar .salesforce-tool-card--warning { border-left-color: #f59e0b; }
#importar .salesforce-tool-card--success { border-left-color: #14b8a6; }

#importar .salesforce-tool-card[open] {
    box-shadow: 0 12px 28px rgba(15, 23, 42, .11);
}

.salesforce-tool-summary {
    position: relative;
    display: block;
    min-height: 86px;
    padding: 18px 54px 16px 20px;
    box-sizing: border-box;
    background: linear-gradient(135deg, rgba(248, 250, 252, .96), rgba(255, 255, 255, .98));
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.salesforce-tool-summary:hover {
    background: #f8fafc;
}

.salesforce-tool-summary:focus-visible,
.salesforce-columns-details > summary:focus-visible {
    outline: 3px solid rgba(14, 165, 233, .28);
    outline-offset: -3px;
}

#importar .salesforce-tool-summary h4 {
    margin: 0 0 5px !important;
    font-size: 15px;
    line-height: 1.35;
}

#importar .salesforce-tool-summary p {
    max-width: 920px;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 12px !important;
    line-height: 1.45;
}

.salesforce-tool-body {
    min-width: 0;
    padding: 20px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

#importar .salesforce-tool-body > :first-child {
    margin-top: 0 !important;
}

#importar .salesforce-tool-body input[type='date'],
#importar .salesforce-tool-body input[type='text'],
#importar .salesforce-tool-body .form-control {
    max-width: 100%;
    min-height: 40px;
    box-sizing: border-box;
}

#lista-assuntos-container,
#lista-tipos-container,
#lista-assuntos-historico-container,
#lista-tipos-historico-container,
#usuarios-backoffice-list {
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

#lista-assuntos-container,
#lista-tipos-container,
#lista-assuntos-historico-container,
#lista-tipos-historico-container {
    max-height: 360px !important;
    border-color: #cbd5e1 !important;
    border-radius: 9px !important;
    background: #fff !important;
}

#importar .assunto-item,
#importar .tipo-item,
#importar .historico-assunto-item,
#importar .historico-tipo-item {
    padding: 11px 13px !important;
    border-bottom-color: #e2e8f0 !important;
    contain: content;
}

#importar .assunto-item label,
#importar .tipo-item label,
#importar .historico-assunto-item label,
#importar .historico-tipo-item label {
    min-height: 38px;
}

#importar .assunto-item input[type='checkbox'],
#importar .tipo-item input[type='checkbox'],
#importar .historico-assunto-item input[type='checkbox'],
#importar .historico-tipo-item input[type='checkbox'] {
    flex: 0 0 18px;
}

#usuarios-backoffice-list {
    max-height: 230px !important;
    padding: 6px !important;
}

#usuarios-backoffice-list label {
    display: flex !important;
    align-items: center;
    min-height: 38px;
    padding: 8px 10px !important;
    margin: 0 0 4px;
    border-radius: 7px !important;
}

#usuarios-backoffice-list label:last-child {
    margin-bottom: 0;
}

.dark-mode .salesforce-page-subtitle,
.dark-mode .salesforce-tools-heading p {
    color: #94a3b8;
}

.dark-mode .salesforce-tools-heading h2 {
    color: #e2e8f0;
}

.dark-mode #importar .salesforce-upload-card,
.dark-mode #importar .salesforce-tool-card,
.dark-mode .salesforce-tool-body {
    background: #1e293b;
    border-color: #334155;
}

.dark-mode .salesforce-tool-summary,
.dark-mode .salesforce-tool-summary:hover,
.dark-mode .salesforce-columns-details,
.dark-mode .salesforce-empty-state {
    background: #172033;
    border-color: #334155;
    color: #cbd5e1;
}

.dark-mode #importar .salesforce-tool-summary p,
.dark-mode #importar .salesforce-columns-details .column-list li {
    color: #94a3b8 !important;
}

@media (max-width: 900px) {
    #importar .salesforce-tool-card {
        grid-column: 1 / -1;
    }

    #importar .salesforce-columns-details .column-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    #importar .salesforce-import-area {
        gap: 12px;
    }

    #importar .salesforce-upload-card {
        padding: 20px 14px;
    }

    .salesforce-tool-summary {
        min-height: 0;
        padding: 16px 46px 14px 15px;
    }

    .salesforce-tool-body {
        padding: 15px;
    }

    #importar .salesforce-tool-body button,
    #importar .salesforce-upload-card > .btn-primary {
        max-width: 100%;
    }
}
