/* assets/css/style.css - VERSÃO COM HOVER DE BOTÃO MODIFICADO */

/* --- Reset Básico e Padrões --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 1.6;
    background-color: var(--bg-color);
    color: var(--text-color);
    transition: background-color 0.3s ease, color 0.3s ease;
    overflow-x: hidden; /* Previne scroll horizontal geral */
}
a { text-decoration: none; color: var(--link-color); transition: color 0.2s ease, filter 0.2s ease; } /* Adicionado filter na transition */
/* Link Hover - Mantido escurecimento via filter, ou apenas sublinhado */
a:hover {
    text-decoration: underline;
    /* filter: brightness(90%); */ /* Descomente se quiser escurecer o link no hover */
    /* A linha abaixo foi removida pois usava --primary-color-darker */
    /* color: var(--primary-color-darker, #edf2fa); */
}
ul { list-style: none; }
hr { border: 0; height: 1px; background-color: var(--border-color); margin: 1rem 0; }
img { max-width: 100%; height: auto; display: block; }

/* --- Variáveis de Tema --- */
:root {
    /* Cores Light */
    /* --primary-color é definido dinamicamente via inline style no header.php */
    /* --primary-color-darker foi removido/ignorado pois não é mais usado diretamente */
    --bg-color-light: #f8f9fa;
    --text-color-light: #212529;
    --sidebar-bg-light: #ffffff;
    --sidebar-text-light: #343a40;
    --sidebar-hover-bg-light: #e9ecef;
    --header-bg-light: #ffffff;
    --border-color-light: #dee2e6;
    --card-bg-light: #ffffff;
    --button-text-color: #ffffff; /* Cor do texto padrão para botões primários (branco) */
    --link-color-light: var(--primary-color); /* Link usa a cor primária por padrão no tema claro */
    --button-hover-bg-light: #edf2fa; /* Cinza claro para hover no tema claro */

    /* Cores Dark */
    --bg-color-dark: #1a1a1a;
    --text-color-dark: #e8eaed;
    --sidebar-bg-dark: #252526;
    --sidebar-text-dark: #cccccc;
    --sidebar-hover-bg-dark: #3a3a3a;
    --header-bg-dark: #252526;
    --border-color-dark: #444444;
    --card-bg-dark: #2c2c2c;
    --link-color-dark: #60a5fa; /* Azul claro para links no tema escuro */
    --button-hover-bg-dark: #2c2c2c; /* Cinza escuro para hover no tema escuro */

    /* Variáveis Globais (Inicializadas com Light) */
    --bg-color: var(--bg-color-light);
    --text-color: var(--text-color-light);
    --sidebar-bg: var(--sidebar-bg-light);
    --sidebar-text: var(--sidebar-text-light);
    --sidebar-hover-bg: var(--sidebar-hover-bg-light);
    --header-bg: var(--header-bg-light);
    --border-color: var(--border-color-light);
    --card-bg: var(--card-bg-light);
    --link-color: var(--link-color-light);
    --button-hover-bg: var(--button-hover-bg-light); /* Hover de botão inicia como light */
}

.dark-theme {
    --bg-color: var(--bg-color-dark);
    --text-color: var(--text-color-dark);
    --sidebar-bg: var(--sidebar-bg-dark);
    --sidebar-text: var(--sidebar-text-dark);
    --sidebar-hover-bg: var(--sidebar-hover-bg-dark);
    --header-bg: var(--header-bg-dark);
    --border-color: var(--border-color-dark);
    --card-bg: var(--card-bg-dark);
    --link-color: var(--link-color-dark);
    --button-hover-bg: var(--button-hover-bg-dark); /* Define hover de botão para dark */
    /* Para tema escuro, o texto do botão primário no hover (com fundo escuro) deve ser claro */
    /* Poderíamos definir --button-hover-text-dark aqui se necessário */
}

/* Aplica Cores */
body { background-color: var(--bg-color); color: var(--text-color); }
a { color: var(--link-color); }

/* Estilos de Formulário (Inputs, Selects) */
input, select, textarea {
    color: var(--text-color);
    background-color: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: 4px;
    padding: 0.75rem;
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3); /* Ajustar a cor do shadow se quiser */
}
select {
    appearance: none; -webkit-appearance: none; -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23555' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
    background-repeat: no-repeat; background-position: right 0.75rem center; background-size: 16px 12px;
    padding-right: 2.5rem;
}
.dark-theme select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ccc' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
}
input[type="color"] {
    padding: 0.2rem; height: calc(0.75rem * 2 + 0.4rem + 2px); vertical-align: middle;
    cursor: pointer; border-color: var(--border-color); width: 50px;
}
input[type="color"]:focus { border-color: var(--primary-color); }
input[type="checkbox"] {
     width: auto; accent-color: var(--primary-color); vertical-align: middle;
}


/* --- Botões --- */
button, .btn {
    /* Cor inicial do texto varia se for botão primário ou outro */
    color: var(--button-text-color, #ffffff); /* Padrão branco */
    background-color: var(--primary-color); /* Cor primária como fundo padrão */
    border: 1px solid var(--primary-color); /* Começa com borda da mesma cor */
    padding: 0.6rem 1.2rem;
    border-radius: 4px;
    cursor: pointer; text-decoration: none; font-size: 0.9rem; text-align: center;
    /* Transição atualizada */
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.1s ease, opacity 0.2s ease;
    display: inline-block; vertical-align: middle; font-weight: 500;
}

/* HOVER PADRÃO para botões primários (ou sem classe específica) */
button:hover,
.btn:not(.btn-secondary):not(.btn-warning):not(.btn-danger):not(.btn-delete-config):not(.logout-button):hover,
.btn-primary:hover { /* Garante que .btn-primary também use este hover */
    background-color: var(--button-hover-bg);  /* Usa a variável de hover (cinza claro/escuro) */
    color: var(--primary-color);        /* Texto/ícone pega a cor primária */
    border: 1px solid var(--primary-color); /* Borda com a cor primária */
    opacity: 1;
    text-decoration: none;
}

button:active, .btn:active {
    transform: scale(0.98); /* Efeito de clique */
}

/* Estilos específicos para tipos de botão */
.btn-secondary { background-color: #6c757d; border-color: #6c757d; color: white; }
.btn-secondary:hover { background-color: #5a6268; border-color: #545b62; color: white; opacity: 1; } /* Mantém cor do texto */

.btn-warning { background-color: #ffc107; border-color: #ffc107; color: #212529; }
.btn-warning:hover { background-color: #e0a800; border-color: #d39e00; color: #212529; opacity: 1; } /* Mantém cor do texto */

.btn-danger { background-color: #dc3545; border-color: #dc3545; color: white; }
.btn-danger:hover { background-color: #c82333; border-color: #bd2130; color: white; opacity: 1; } /* Mantém cor do texto */

.btn-delete-config {
    background-color: transparent; color: #dc3545; border: 1px solid #dc3545;
    padding: 0.2rem 0.5rem; margin-left: 10px; vertical-align: middle;
}
.btn-delete-config:hover { background-color: #dc3545; color: white; opacity: 1; } /* Estilo hover próprio */

.btn-add { margin-bottom: 1rem; }
.btn-sm { padding: 0.3rem 0.6rem; font-size: 0.8rem; }

/* Botões Específicos do Header Actions (mantêm estilo próprio) */
.header-actions .logout-button,
#theme-toggle-button {
    color: var(--text-color); border: 1px solid var(--border-color); background-color: transparent;
    display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.8rem;
    font-size: 0.85rem; border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.header-actions .logout-button:hover,
#theme-toggle-button:hover {
    background-color: var(--sidebar-hover-bg); /* Hover padrão cinza */
    color: var(--text-color); /* Cor do texto não muda */
    border-color: var(--border-color);
}
.header-actions .logout-button { color: #dc3545; border-color: #dc3545; }
.header-actions .logout-button:hover { background-color: #dc3545; color: white; border-color: #dc3545; } /* Hover específico */

.header-actions .logout-button i,
#theme-toggle-button i { width: 1em; height: 1em; stroke-width: 2; }


/* --- Layout Principal --- */
.app-container { display: flex; min-height: 100vh; position: relative; }
.sidebar { width: 250px; background-color: var(--sidebar-bg); color: var(--sidebar-text); border-right: 1px solid var(--border-color); position: fixed; left: 0; top: 0; height: 100%; overflow-y: auto; z-index: 1000; display: flex; flex-direction: column; transform: translateX(0); transition: transform 0.3s ease-in-out; }
.main-content { flex-grow: 1; margin-left: 250px; display: flex; flex-direction: column; transition: margin-left 0.3s ease-in-out; min-width: 0; }

/* --- ESTADO ESCONDIDO DA SIDEBAR --- */
body.sidebar-hidden .sidebar { transform: translateX(-100%); }
body.sidebar-hidden .main-content { margin-left: 0; }
/* --- FIM ESTADO ESCONDIDO --- */


/* --- Header Principal --- */
.app-header { background-color: var(--header-bg); padding: 0.8rem 1.5rem; border-bottom: 1px solid var(--border-color); box-shadow: 0 1px 3px rgba(0,0,0,0.05); position: sticky; top: 0; z-index: 999; }
.header-content { display: flex; justify-content: flex-start; align-items: center; min-height: 40px; gap: 1rem; }
.header-content h1 { font-size: 1.4rem; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex-grow: 1; }
.header-actions { display: flex; align-items: center; gap: 0.8rem; margin-left: auto; flex-shrink: 0; }
.header-actions span { font-size: 0.9rem; opacity: 0.9; white-space: nowrap; }


/* --- BOTÃO TOGGLE DA SIDEBAR (DENTRO DO HEADER) --- */
.header-sidebar-toggle { background: transparent; border: none; padding: 5px; margin: 0; margin-right: 0px; color: var(--text-color); cursor: pointer; display: flex; align-items: center; justify-content: center; opacity: 0.7; transition: opacity 0.2s ease, color 0.2s ease; }
.header-sidebar-toggle:hover { opacity: 1; color: var(--primary-color); }
.header-sidebar-toggle i { width: 20px; height: 20px; stroke-width: 2.5; }


/* --- Área de Conteúdo Principal --- */
.content-area { padding: 1.5rem; flex-grow: 1; }
.content-area h2 { margin-bottom: 1rem; font-size: 1.6rem; border-bottom: 1px solid var(--border-color); padding-bottom: 0.5rem; font-weight: 600; }

/* --- Estilos da Sidebar --- */
.sidebar-header { padding: 1rem; text-align: center; flex-shrink: 0; border-bottom: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: calc(40px + 1.6rem + 1px); position: relative; }
.sidebar-logo { max-height: 40px; width: auto; max-width: 85%; margin-bottom: 0.5rem; display: block; }
.sidebar-header h2 { margin: 0; font-size: 1.5rem; color: var(--primary-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
img.sidebar-logo + h2 { display: none; }

/* Navegação Sidebar */
.sidebar-nav { flex-grow: 1; overflow-y: auto; padding: 1rem; }
.sidebar-nav ul { margin-bottom: 1rem; padding: 0; }
.sidebar-nav li { margin-bottom: 0.1rem; }
.sidebar-nav li a { display: flex; align-items: center; padding: 0.8rem 1rem; border-radius: 5px; transition: background-color 0.2s ease, color 0.2s ease; color: var(--sidebar-text); gap: 0.8rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.9rem; }
.sidebar-nav li a:hover { background-color: var(--sidebar-hover-bg); color: var(--text-color); text-decoration: none; }
.sidebar-nav li.active > a { background-color: var(--primary-color); color: var(--button-text-color); font-weight: 600; }
.sidebar-nav li a i { flex-shrink: 0; width: 1.1em; height: 1.1em; stroke-width: 2; color: inherit; opacity: 0.9; transition: color 0.2s ease; }
.sidebar-nav li a span { flex-grow: 1; overflow: hidden; text-overflow: ellipsis; }
.sidebar-nav h3 { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.5px; color: var(--sidebar-text); opacity: 0.7; margin: 1.5rem 0 0.75rem 0; padding-left: 1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidebar-footer { padding: 1rem; text-align: center; font-size: 0.8em; color: var(--sidebar-text); opacity: 0.6; border-top: 1px solid var(--border-color); flex-shrink: 0; }

/* --- Componentes (Forms, Tables, Alerts, Status, etc.) --- */
.form-admin { background-color: var(--card-bg); padding: 1.5rem; border-radius: 8px; border: 1px solid var(--border-color); margin-top: 1rem; max-width: 700px; margin-left: auto; margin-right: auto; }
.form-group { margin-bottom: 1.25rem; }
.form-group label { display: block; margin-bottom: 0.5rem; font-weight: bold; font-size: 0.9rem; }
.form-group textarea { min-height: 80px; resize: vertical; }
.form-group small { display: block; margin-top: 0.4rem; font-size: 0.85em; opacity: 0.8; }
.form-group-checkbox { display: flex; align-items: center; gap: 0.5rem; }
.form-group-checkbox input[type="checkbox"] { width: auto; margin-bottom: 0; }
.form-group-checkbox label { margin-bottom: 0; font-weight: normal; }
.form-actions { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border-color); display: flex; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; }
.current-logo-preview { max-height: 30px; vertical-align: middle; margin-left: 10px; border: 1px solid var(--border-color); padding: 2px; background-color: var(--sidebar-hover-bg); border-radius: 3px; }
img[alt="Logo Escuro"].current-logo-preview { background-color: #333; }
.current-favicon-preview { width: 16px; height: 16px; vertical-align: middle; margin-left: 10px; border: 1px solid var(--border-color); }

.table-admin { width: 100%; border-collapse: collapse; margin-top: 1rem; background-color: var(--card-bg); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); border-radius: 8px; overflow: hidden; font-size: 0.9rem; border: 1px solid var(--border-color); }
.table-admin th, .table-admin td { padding: 0.9rem 1rem; text-align: left; border-bottom: 1px solid var(--border-color); vertical-align: middle; }
.table-admin th { background-color: var(--sidebar-hover-bg); font-weight: 600; white-space: nowrap; }
.table-admin tbody tr:last-child td { border-bottom: none; }
.table-admin tbody tr:hover { background-color: var(--sidebar-hover-bg); }
.table-admin td a.btn { margin-right: 0.5rem; margin-bottom: 0.3rem; }
.table-admin td form { display: inline-block !important; margin: 0; vertical-align: middle; }

.status { padding: 0.2rem 0.5rem; border-radius: 10px; font-size: 0.8em; font-weight: bold; white-space: nowrap; display: inline-block; text-transform: uppercase; letter-spacing: 0.5px; }
.status-active { background-color: #d1e7dd; color: #0f5132; }
.status-inactive { background-color: #f8d7da; color: #842029; }
.status-offline { background-color: #fff3cd; color: #664d03; }
.status-unknown { background-color: #e2e3e5; color: #41464b; }

.module-icon-indicator { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; vertical-align: middle; border: 1px solid rgba(0,0,0,0.1); background-color: #ccc; }
.module-icon-indicator i { color: white; font-size: 12px; width: 1em; height: 1em; }
.table-modules th:first-child, .table-modules td:first-child { width: 50px; text-align: center; }

.alert { padding: 1rem; margin-bottom: 1rem; border: 1px solid transparent; border-radius: 4px; }
.alert-success { color: #0f5132; background-color: #d1e7dd; border-color: #badbcc; }
.alert-error { color: #842029; background-color: #f8d7da; border-color: #f5c2c7; }
.alert-warning { color: #664d03; background-color: #fff3cd; border-color: #ffecb5; }
.alert-info { color: #055160; background-color: #cff4fc; border-color: #b6effb; }

/* --- Responsividade --- */
@media (max-width: 992px) { /* Tablets */ }

@media (max-width: 767px) { /* Mobile */
     .sidebar { transform: translateX(-100%) !important; box-shadow: none !important; width: 85%; max-width: 280px; }
     .main-content, body.sidebar-hidden .main-content { margin-left: 0 !important; }
     .app-header { padding: 0.6rem 1rem; }
     .header-content { gap: 0.5rem; }
     .header-content h1 { font-size: 1.1rem; }
     .header-actions { gap: 0.5rem; }
     .header-actions span { display: none; }
     #theme-toggle-button, .header-actions .logout-button { padding: 0.3rem 0.6rem; font-size: 0.8rem; }
     #theme-toggle-button span { display: none; }
     .header-sidebar-toggle { padding: 3px; }
     .header-sidebar-toggle i { width: 18px; height: 18px; }
     .content-area { padding: 1rem; }
     .content-area h2 { font-size: 1.4rem; }
     .table-admin, .form-admin { font-size: 0.85rem; }
     .table-admin th, .table-admin td { padding: 0.6rem 0.8rem; word-break: break-word; white-space: normal; }
     .form-admin { max-width: none; }
     .table-modules th:nth-child(3), .table-modules td:nth-child(3) { display: none; }
     .form-actions { flex-direction: column; gap: 0.5rem; }
     .form-actions .btn { width: 100%; margin-bottom: 0.5rem; }
}

/* --- Estilos Dashboard Super Admin --- */
.dashboard-grid {
    display: grid;
    /* Cria colunas responsivas: mínimo 280px, máximo 1fr (ocupa espaço igual) */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem; /* Espaçamento entre os cards */
    padding-top: 1rem;
}

.dashboard-card {
    background-color: var(--card-bg);
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    border-top: 4px solid var(--border-color); /* Cor padrão, será sobrescrita pelo style inline */
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s ease-in-out;
    overflow: hidden; /* Garante que elementos filhos não ultrapassem bordas arredondadas */
}

.dashboard-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.dashboard-card .card-header {
    display: flex;
    align-items: center;
    padding: 0.8rem 1rem;
    background-color: var(--sidebar-hover-bg); /* Um fundo leve para o header */
    border-bottom: 1px solid var(--border-color);
    gap: 1rem;
}

.dashboard-card .card-header-icon i {
    width: 2.5rem; /* Tamanho do ícone */
    height: 2.5rem;
    stroke-width: 1.5; /* Espessura do ícone */
}

.dashboard-card .card-header-title {
    flex-grow: 1;
}

.dashboard-card .card-header-title h3 {
    margin: 0 0 0.2rem 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.dashboard-card .status {
    font-size: 0.8em;
    font-weight: bold;
    padding: 0.1rem 0.4rem;
    border-radius: 4px;
    display: inline-block;
    line-height: 1.4;
}
/* Reutiliza cores de status já definidas, mas garante fundo e cor */
.dashboard-card .status-online { color: #0f5132; background-color: #d1e7dd; }
.dashboard-card .status-offline { color: #842029; background-color: #f8d7da; }


.dashboard-card .card-body {
    padding: 1rem;
    flex-grow: 1; /* Faz o corpo ocupar espaço disponível */
}

.dashboard-card .card-body h4 {
    margin-top: 0;
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--text-color);
    opacity: 0.9;
}

.dashboard-card .card-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.6;
    color: var(--text-color);
     opacity: 0.95;
}
.dashboard-card .card-body ul li strong {
     font-weight: 600;
     /* color: var(--primary-color); opcional: destacar números com cor primária */
}


.dashboard-card .card-body .text-warning { color: #664d03; }
.dashboard-card .card-body .text-danger { color: #842029; }


.dashboard-card .card-footer {
    padding: 0.8rem 1rem;
    background-color: var(--sidebar-hover-bg);
    border-top: 1px solid var(--border-color);
    text-align: right;
}
.dashboard-card .card-footer .btn i {
    vertical-align: text-bottom;
    margin-right: 0.3rem;
     width: 1em; height: 1em;
}

/* Alerta de cache pequeno */
.alert.alert-sm {
    padding: 0.5rem 0.8rem;
    font-size: 0.85rem;
}

/* Adicionar em assets/css/style.css */

/* --- Estilos Lista de Notificações --- */
.notifications-list .notification-item {
    border: 1px solid var(--border-color);
    border-left-width: 4px;
    padding: 0.8rem 1rem;
    margin-bottom: 0.8rem;
    border-radius: 4px;
    background-color: var(--card-bg); /* Ou var(--bg-color) */
    transition: background-color 0.2s ease, opacity 0.3s ease; /* Adicionado opacity */
}
.notification-item.status-ativa { border-left-color: var(--primary-color); }
.notification-item.status-lida { border-left-color: var(--border-color); opacity: 0.8; }
.notification-item.status-cancelada { border-left-color: #dc3545; text-decoration: line-through; opacity: 0.6; }

.notification-header { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; flex-wrap: wrap; /* Para telas pequenas */ }
.notification-status-dot {
    width: 9px; /* Aumentei um pouco */
    height: 9px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0; /* Evita que o ponto diminua */
    background-color: var(--border-color); /* Cinza padrão para lida */
}
.status-ativa .notification-status-dot { background-color: var(--primary-color); } /* Cor para ativa */
.status-cancelada .notification-status-dot { background-color: #dc3545; } /* Cor para cancelada */


.notification-title { flex-grow: 1; font-weight: bold; margin-right: 1rem; /* Espaço antes da data */ }
.notification-date { font-size: 0.8em; opacity: 0.7; white-space: nowrap; }
.notification-body {
    font-size: 0.9em;
    padding: 0.8rem 0; /* Aumentei padding */
    border-top: 1px dashed var(--border-color);
    margin-top: 0.8rem;
    clear: both; /* Garante que fique abaixo */
}
.notification-read-date { display: block; font-size: 0.8em; opacity: 0.6; margin-top: 0.5rem; }
.notification-actions { margin-top: 0.5rem; text-align: right; clear: both; padding-top: 0.5rem; }
.notification-actions .btn { margin-left: 0.5rem; }

/* Paginação Básica */
.pagination { list-style: none; padding: 0; margin: 0; }
.pagination li { display: inline; }
.pagination .disabled { opacity: 0.5; cursor: default; }

/* Status geral na tabela de histórico (Super Admin) */
.table-admin .status-ativa { color: var(--primary-color); font-weight: bold; }
.table-admin .status-lida { color: var(--bs-secondary-color, #6c757d); } /* Adapte se não usar BS */
.table-admin .status-cancelada { color: var(--bs-danger, #dc3545); text-decoration: line-through; }

/* Badge sidebar */
.notification-sidebar-badge {
    display: inline-block;
    padding: 0.15em 0.4em;
    font-size: 0.75em;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle; /* Alinhado com o texto */
    border-radius: 0.375rem;
    background-color: #dc3545; /* Vermelho para destaque */
    margin-left: 6px;
    min-width: 18px;
}

/* Filtros */
.notification-filters .btn { margin-right: 0.5rem; }

/* Adicionar em assets/css/style.css */

/* Estilo para status 'Desconhecido' ou 'Indisponível' na lista de módulos */
.table-modules .status-unknown,
.table-modules .status-inactive { /* Usando inactive para resposta inesperada */
    background-color: #fff3cd; /* Amarelo claro (warning) */
    color: #664d03;
}

/* Estilo para status 'Desativado' internamente */
.table-modules .status-disabled {
    background-color: #e2e3e5; /* Cinza claro */
    color: #41464b;
}

/* Estilo para linhas de módulos inativos */
.table-modules tbody tr.module-inactive-row {
    opacity: 0.6; /* Deixa a linha um pouco transparente */
    background-color: #f8f9fa; /* Fundo levemente diferente (para tema claro) */
}
.dark-theme .table-modules tbody tr.module-inactive-row {
     background-color: rgba(44, 44, 44, 0.5); /* Fundo levemente diferente (para tema escuro) */
     opacity: 0.5;
}

.table-modules .module-icon-indicator i { /* Garante que o ícone dentro do indicador apareça */
     display: inline-block;
     vertical-align: middle;
}

/* Ajuste nos botões de ação para caberem melhor */
.table-modules td .btn {
    margin-bottom: 3px; /* Pequena margem inferior */
}
.table-modules td form {
     vertical-align: middle; /* Alinha formulários com botões */
}