/* =========================================================
   RESET / BASE
========================================================= */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
}

body {
  background: #f3f6fb;
  color: #222;
  padding: 20px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
}

a {
  color: inherit;
}

.container {
  width: 95%;
  max-width: 1400px;
  margin: 20px auto;
}

p {
  line-height: 1.5;
  color: #475569;
}

small {
  color: #64748b;
}

/* =========================================================
   HEADER / TOPO DO SISTEMA
========================================================= */

.top-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #0f172a;
  color: #ffffff;
  padding: 18px 22px;
  border-radius: 14px;
  margin-bottom: 18px;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.15);
}

.top-header-left h1 {
  margin: 0;
  font-size: 22px;
  font-weight: 800;
  color: #ffffff;
}

.top-header-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.user-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.2;
}

.user-info strong {
  color: #ffffff;
  font-size: 15px;
}

.user-info span {
  color: #cbd5e1;
  font-size: 13px;
}

.btn-logout {
  display: inline-block;
  background: #dc2626;
  color: #ffffff;
  text-decoration: none;
  padding: 9px 13px;
  border-radius: 9px;
  font-weight: 700;
  font-size: 14px;
  transition: 0.15s ease;
}

.btn-logout:hover {
  background: #b91c1c;
}

/* Compatibilidade com header antigo */
header {
  background: linear-gradient(135deg, #1d4ed8, #2563eb);
  color: white;
  padding: 25px;
  border-radius: 14px;
  margin-bottom: 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.12);
}

header h1 {
  margin-bottom: 8px;
  font-size: 28px;
}

.top-bar {
  margin-top: 15px;
}



/* =========================================================
   CARDS / BLOCOS
========================================================= */

.card {
  background: #ffffff;
  padding: 20px;
  border-radius: 14px;
  margin-bottom: 20px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.card h2 {
  margin-bottom: 15px;
  color: #1e3a8a;
}

.card p {
  margin-bottom: 10px;
}

/* =========================================================
   FORMULÁRIOS
========================================================= */

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
  margin-bottom: 10px;
}

.form-group {
  display: flex;
  flex-direction: column;
}

.full {
  grid-column: 1 / -1;
}

label {
  font-weight: bold;
  margin-bottom: 6px;
  color: #334155;
}

input,
textarea,
select {
  width: 100%;
  padding: 11px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  font-size: 15px;
  background: #ffffff;
  color: #1e293b;
  outline: none;
  font-family: inherit;
}

textarea {
  min-height: 110px;
  resize: vertical;
}

input:focus,
textarea:focus,
select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

/* =========================================================
   BOTÕES
========================================================= */

.buttons {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 15px;
}

button,
.actions a,
.btn-primary,
.btn-success,
.btn-warning,
.btn-danger,
.btn-secondary {
  border: none;
  padding: 9px 13px;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  line-height: 1.2;
  font-family: inherit;
  transition: 0.15s ease;
}

button:hover,
.actions a:hover,
.btn-primary:hover,
.btn-success:hover,
.btn-warning:hover,
.btn-danger:hover,
.btn-secondary:hover {
  filter: brightness(0.95);
}

.btn-primary {
  background: #2563eb;
  color: #ffffff;
}

.btn-success {
  background: #16a34a;
  color: #ffffff;
}

.btn-warning {
  background: #f59e0b;
  color: #ffffff;
}

.btn-danger {
  background: #dc2626;
  color: #ffffff;
}

.btn-secondary {
  background: #475569;
  color: #ffffff;
}

/* =========================================================
   ALERTAS / MENSAGENS
========================================================= */

.alert {
  padding: 12px 14px;
  border-radius: 10px;
  margin-bottom: 16px;
  font-weight: 600;
}

.alert-success {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #86efac;
}

.alert-error,
.alert-danger {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fca5a5;
}

.lixeira-aviso {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  padding: 12px 14px;
  border-radius: 12px;
  margin-bottom: 15px;
}

.lixeira-aviso strong {
  color: #c2410c;
}

/* =========================================================
   ESTATÍSTICAS
========================================================= */

.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 15px;
  margin-bottom: 20px;
}

.stat-box {
  background: #ffffff;
  border-radius: 14px;
  padding: 18px;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.stat-box h3 {
  font-size: 14px;
  color: #64748b;
  margin-bottom: 8px;
}

.stat-box strong {
  font-size: 26px;
  color: #1e3a8a;
}

.stat-box small {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 13px;
}

.valor-positivo {
  color: #16a34a !important;
}

.valor-negativo {
  color: #dc2626 !important;
}

/* =========================================================
   TABELAS
========================================================= */

.table-wrapper {
  width: 100%;
  overflow-x: auto;
}

table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
}

th,
td {
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
}

th {
  background: #eff6ff;
  color: #1e3a8a;
  font-weight: 800;
}

tr:hover td {
  background: #f8fafc;
}

.empty {
  text-align: center;
  color: #64748b;
  padding: 25px;
  font-style: italic;
}

.actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.linha-atrasada {
  background: #fff7ed;
}

/* =========================================================
   BADGES / STATUS / PRIORIDADES
========================================================= */

.badge {
  padding: 5px 9px;
  border-radius: 999px;
  color: white;
  font-size: 12px;
  font-weight: bold;
  display: inline-block;
  line-height: 1.2;
}

.status-pendente {
  background: #f59e0b;
}

.status-andamento {
  background: #2563eb;
}

.status-concluida {
  background: #16a34a;
}

.status-atrasada {
  background: #dc2626;
}

.status-cancelado {
  background: #64748b;
}

.badge-etapa {
  background: #475569;
}

.prioridade-baixa {
  background: #16a34a;
}

.prioridade-media {
  background: #f59e0b;
}

.prioridade-alta {
  background: #dc2626;
}

/* =========================================================
   LOGIN
========================================================= */

.login-wrapper {
  max-width: 430px;
  margin: 60px auto;
  background: white;
  padding: 28px;
  border-radius: 16px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}

/* =========================================================
   GRÁFICOS / DASHBOARD
========================================================= */

.charts-grid,
.dashboard-charts,
.meu-painel-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 18px;
  margin-bottom: 20px;
}

.chart-box {
  background: #ffffff;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  border: 1px solid #e2e8f0;
  min-height: 360px;
}

.chart-box h2 {
  color: #1e3a8a;
  font-size: 18px;
  margin-bottom: 12px;
}

.chart-container {
  position: relative;
  height: 310px;
  width: 100%;
}

.chart-box-wide {
  grid-column: 1 / -1;
}

.dashboard-hero,
.meu-painel-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.dashboard-hero {
  background: linear-gradient(135deg, #ffffff, #eff6ff);
  border: 1px solid #dbeafe;
}

.meu-painel-hero {
  background: linear-gradient(135deg, #ffffff, #f0fdf4);
  border: 1px solid #bbf7d0;
}

.dashboard-hero h2,
.dashboard-section-title h2,
.meu-painel-titulo h2 {
  color: #1e3a8a;
  margin-bottom: 6px;
}

.meu-painel-hero h2,
.meu-painel-charts .chart-box h2 {
  color: #166534;
}

.dashboard-hero-actions,
.meu-painel-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.dashboard-section-title,
.meu-painel-titulo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

/* =========================================================
   PROGRESSO / PRAZOS
========================================================= */

.progress-wrapper {
  background: #e2e8f0;
  border-radius: 999px;
  overflow: hidden;
  height: 14px;
  width: 100%;
  min-width: 120px;
  margin-bottom: 6px;
}

.progress-bar {
  height: 100%;
  border-radius: 999px;
  transition: width 0.3s ease;
}

.progress-baixo {
  background: #16a34a;
}

.progress-medio {
  background: #f59e0b;
}

.progress-alto {
  background: #dc2626;
}

.progress-info {
  font-size: 12px;
  color: #475569;
  line-height: 1.4;
}

.data-criacao {
  font-size: 12px;
  color: #475569;
}

/* =========================================================
   CAMPOS EXTRAS
========================================================= */

.campo-extra-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 15px;
}

.linha-extra {
  border: none;
  border-top: 1px solid #e2e8f0;
  margin: 20px 0;
}

.campos-extras-lista {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px dashed #cbd5e1;
}

.campo-extra-visual {
  background: #f8fafc;
  border-left: 4px solid #2563eb;
  padding: 8px 10px;
  margin-top: 8px;
  border-radius: 8px;
}

.campo-extra-visual strong {
  color: #1e3a8a;
  font-size: 13px;
}

.campo-extra-visual span {
  color: #334155;
  font-size: 13px;
  line-height: 1.4;
}

/* =========================================================
   PERMISSÕES / CHECKBOXES
========================================================= */

.permission-box {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-top: 5px;
}

.permission-box label {
  font-weight: normal;
  display: flex;
  align-items: center;
  gap: 6px;
}

.permission-box input {
  width: auto;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.checkbox-card {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: 0.15s ease;
}

.checkbox-card:hover {
  background: #eff6ff;
  border-color: #93c5fd;
}

.checkbox-card input {
  width: auto;
  margin: 0;
}

.checkbox-card span {
  color: #1e293b;
  font-size: 14px;
}

/* =========================================================
   DRE
========================================================= */

.filtro-dre {
  margin-top: 15px;
}

.dre-box {
  background: #f8fafc;
  border-radius: 14px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
}

.dre-linha,
.dre-subitem {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 15px;
  border-bottom: 1px solid #e2e8f0;
}

.dre-linha span,
.dre-subitem span {
  color: #334155;
}

.dre-linha strong,
.dre-subitem strong {
  white-space: nowrap;
}

.dre-subitem {
  padding-left: 35px;
  background: white;
  font-size: 14px;
}

.dre-total {
  background: #eff6ff;
  font-weight: bold;
}

.dre-final {
  font-size: 18px;
  font-weight: bold;
  background: #f1f5f9;
}

.dre-positivo strong {
  color: #16a34a;
}

.dre-negativo strong {
  color: #dc2626;
}

/* =========================================================
   FUNIL
========================================================= */

.funil-board {
  display: grid;
  grid-template-columns: repeat(7, minmax(240px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 15px;
}

.funil-coluna {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  min-height: 350px;
  padding: 12px;
}

.funil-coluna-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #eff6ff;
  color: #1e3a8a;
  padding: 10px;
  border-radius: 10px;
  margin-bottom: 12px;
}

.funil-coluna-header h3 {
  font-size: 15px;
}

.funil-coluna-header span {
  background: #2563eb;
  color: white;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 12px;
  font-weight: bold;
}

.funil-card {
  background: white;
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 12px;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
  border-left: 4px solid #2563eb;
}

.funil-card-topo {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-start;
  margin-bottom: 8px;
}

.funil-card p {
  font-size: 13px;
  color: #334155;
  margin-bottom: 6px;
}

.funil-vazio {
  color: #64748b;
  font-size: 14px;
  text-align: center;
  padding: 20px 5px;
  border: 1px dashed #cbd5e1;
  border-radius: 10px;
  background: white;
}

/* =========================================================
   CALENDÁRIO DA AGENDA / CRM
========================================================= */

.calendario-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.calendario-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.calendario-filtro {
  margin-top: 15px;
}

.calendario-titulo-mes {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 15px;
}

.calendario-titulo-mes h2 {
  margin: 0;
  color: #1e3a8a;
}

.calendario-titulo-mes span {
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 12px;
  font-size: 13px;
  font-weight: bold;
}

.calendario-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
  color: #475569;
  font-size: 13px;
}

.calendario-legenda span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 5px 9px;
}

.legenda-cor {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  display: inline-block;
}

.calendario-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(145px, 1fr));
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  overflow: hidden;
  background: #e2e8f0;
  gap: 1px;
}

.calendario-dia-semana {
  background: #1e3a8a;
  color: white;
  font-weight: bold;
  text-align: center;
  padding: 12px 8px;
  font-size: 13px;
}

.calendario-dia {
  background: #ffffff;
  min-height: 170px;
  padding: 10px;
  position: relative;
  display: flex;
  flex-direction: column;
}

.calendario-vazio {
  background: #f8fafc;
}

.calendario-hoje {
  background: #eff6ff;
  box-shadow: inset 0 0 0 2px #2563eb;
}

.calendario-dia-numero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.calendario-dia-numero strong {
  color: #1e293b;
  font-size: 15px;
}

.calendario-dia-numero span {
  background: #2563eb;
  color: white;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: bold;
}

.calendario-eventos {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.calendario-evento {
  text-decoration: none;
  color: #ffffff;
  border-radius: 9px;
  padding: 7px 8px;
  font-size: 12px;
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 5px;
  align-items: center;
  line-height: 1.25;
  box-shadow: 0 3px 8px rgba(15, 23, 42, 0.12);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.calendario-evento:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 12px rgba(15, 23, 42, 0.18);
}

.cal-evento-status,
.cal-evento-hora {
  font-weight: bold;
}

.cal-evento-titulo,
.calendario-evento small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendario-evento small {
  grid-column: 1 / -1;
  color: rgba(255, 255, 255, 0.9);
}

.calendario-dia-acoes {
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px dashed #cbd5e1;
}

.calendario-dia-acoes a {
  color: #2563eb;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
}

.calendario-dia-acoes a:hover {
  text-decoration: underline;
}

/* Cores por tipo */

.cal-tipo-compromisso {
  background: #0f766e;
}

.cal-tipo-ligacao {
  background: #2563eb;
}

.cal-tipo-whatsapp {
  background: #16a34a;
}

.cal-tipo-email {
  background: #7c3aed;
}

.cal-tipo-reuniao {
  background: #ea580c;
}

.cal-tipo-tarefa {
  background: #475569;
}

.cal-tipo-retorno {
  background: #0891b2;
}

.cal-tipo-cobranca {
  background: #dc2626;
}

.cal-tipo-outro {
  background: #64748b;
}

/* Borda lateral por prioridade */

.cal-prioridade-alta {
  border-left: 5px solid #7f1d1d;
}

.cal-prioridade-media {
  border-left: 5px solid #facc15;
}

.cal-prioridade-baixa {
  border-left: 5px solid #bbf7d0;
}

/* =========================================================
   NAVBAR ANTIGA - DESATIVADA DE FORMA SEGURA
   Mantida apenas para não quebrar se algum arquivo antigo usar.
========================================================= */

.navbar {
  background: #ffffff;
  border-radius: 14px;
  padding: 10px 14px;
  margin-bottom: 20px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.navbar a {
  text-decoration: none;
}

.navbar-brand a {
  color: #1e3a8a;
  font-weight: bold;
  font-size: 18px;
}

.navbar-links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.nav-link,
.nav-dropbtn {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
  padding: 10px 12px;
  border-radius: 9px;
  font-weight: bold;
  font-size: 14px;
  text-decoration: none;
  cursor: pointer;
}

.nav-link:hover,
.nav-dropbtn:hover,
.nav-link.active {
  background: #2563eb;
  color: white;
}

.nav-dropdown {
  position: relative;
}

.nav-dropdown-content {
  display: none;
  position: absolute;
  top: 42px;
  left: 0;
  min-width: 210px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
  padding: 8px;
  z-index: 1000;
}

.nav-dropdown:hover .nav-dropdown-content {
  display: block;
}

.nav-dropdown-content a {
  display: block;
  text-decoration: none;
  color: #334155;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: bold;
}

.nav-dropdown-content a:hover {
  background: #eff6ff;
  color: #1d4ed8;
}

.navbar-user {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}

.user-chip {
  display: flex;
  align-items: center;
  gap: 7px;
  background: #f1f5f9;
  color: #334155;
  padding: 7px 9px;
  border-radius: 999px;
  font-weight: bold;
  font-size: 13px;
  white-space: nowrap;
}

.user-avatar {
  width: 26px;
  height: 26px;
  background: #2563eb;
  color: white;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.logout-link {
  text-decoration: none;
  background: #dc2626;
  color: white;
  padding: 9px 12px;
  border-radius: 9px;
  font-weight: bold;
  font-size: 14px;
}

.logout-link:hover {
  background: #991b1b;
}

.menu-toggle,
.menu-mobile-btn {
  display: none;
}
/* =========================================================
   IMPRESSÃO
========================================================= */

@media print {
  body {
    background: #ffffff !important;
    padding: 0;
  }

  .no-print,
  .top-header,
  .menu-topo,
  .menu-sistema,
  .menu-superior,
  .navbar,
  .buttons {
    display: none !important;
  }

  .container {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .card,
  .stat-box,
  .chart-box {
    box-shadow: none !important;
    border: 1px solid #ddd !important;
  }

  table {
    min-width: 0;
  }
}

/* =========================================================
   MENU SUPERIOR HORIZONTAL ORGANIZADO
========================================================= */

.menu-topo {
  width: 100%;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 10px;
  margin: 0 0 20px 0;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  position: sticky;
  top: 10px;
  z-index: 3000;
}

.menu-topo *,
.menu-topo *::before,
.menu-topo *::after {
  box-sizing: border-box;
}

.menu-topo-esquerda {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.menu-topo-direita {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.menu-link,
.menu-dropbtn,
.menu-sair {
  min-height: 40px;
  padding: 10px 13px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: #334155;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  font-family: Arial, Helvetica, sans-serif;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1;
  white-space: nowrap;
  transition: 0.15s ease;
}

.menu-link:hover,
.menu-dropbtn:hover,
.menu-link.menu-ativo,
.menu-dropdown.dropdown-ativo > .menu-dropbtn {
  background: #2563eb;
  color: #ffffff;
  border-color: #2563eb;
}

.menu-dropbtn span {
  font-size: 12px;
  opacity: 0.85;
}

.menu-dropdown {
  position: relative;
  display: inline-flex;
}

.menu-dropdown-conteudo {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 230px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 8px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18);
  z-index: 5000;
}

.menu-dropdown-conteudo::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

.menu-dropdown:hover .menu-dropdown-conteudo {
  display: block;
}

.menu-dropdown-conteudo a {
  display: flex;
  align-items: center;
  min-height: 39px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #334155;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
  transition: 0.15s ease;
}

.menu-dropdown-conteudo a:hover,
.menu-dropdown-conteudo a.menu-ativo {
  background: #eff6ff;
  color: #1d4ed8;
}

.menu-sair {
  background: #dc2626;
  color: #ffffff;
  border-color: #dc2626;
}

.menu-sair:hover {
  background: #991b1b;
  border-color: #991b1b;
}

/* =========================================================
   RESPONSIVO GERAL
========================================================= */

@media (max-width: 1100px) {
  .funil-board {
    grid-template-columns: repeat(7, 240px);
  }

  .calendario-grid {
    grid-template-columns: repeat(7, minmax(180px, 1fr));
    overflow-x: auto;
  }

  .calendario-dia {
    min-width: 180px;
  }
}

@media (max-width: 1050px) {
  .menu-topo {
    position: static;
    align-items: stretch;
    flex-direction: column;
  }

  .menu-topo-esquerda,
  .menu-topo-direita {
    width: 100%;
  }

  .menu-topo-esquerda {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .menu-dropdown {
    width: 100%;
    display: block;
  }

  .menu-link,
  .menu-dropbtn,
  .menu-sair {
    width: 100%;
    justify-content: space-between;
    background: #f8fafc;
    border-color: #e2e8f0;
  }

  .menu-sair {
    justify-content: center;
    background: #dc2626;
    border-color: #dc2626;
    color: #ffffff;
  }

  .menu-dropdown-conteudo {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: 6px;
    box-shadow: none;
    background: #f8fafc;
    border-radius: 12px;
  }

  .menu-dropdown-conteudo::before {
    display: none;
  }

  .menu-dropdown:hover .menu-dropdown-conteudo {
    display: block;
  }

  .menu-dropdown-conteudo a {
    background: #ffffff;
    margin-bottom: 5px;
  }

  .menu-dropdown-conteudo a:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 950px) {
  .charts-grid,
  .dashboard-charts,
  .meu-painel-charts {
    grid-template-columns: 1fr;
  }

  .chart-container {
    height: 280px;
  }

  .stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .navbar {
    align-items: stretch;
  }

  .navbar-links,
  .navbar-user {
    width: 100%;
  }
}

@media (max-width: 768px) {
  body {
    padding: 12px;
  }

  .container {
    width: 100%;
    margin: 0 auto;
  }

  .top-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .top-header-right {
    width: 100%;
    justify-content: space-between;
  }

  .user-info {
    align-items: flex-start;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .dre-linha,
  .dre-subitem {
    flex-direction: column;
    gap: 4px;
  }

  .calendario-grid {
    display: block;
    border: none;
    background: transparent;
  }

  .calendario-dia-semana,
  .calendario-vazio {
    display: none;
  }

  .calendario-dia {
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    margin-bottom: 12px;
    min-height: auto;
  }

  .calendario-dia-numero strong::before {
    content: "Dia ";
  }
}

@media (max-width: 620px) {
  .dashboard-hero-actions,
  .meu-painel-acoes {
    width: 100%;
  }

  .dashboard-hero-actions a,
  .meu-painel-acoes a {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 600px) {
  .stats {
    grid-template-columns: 1fr;
  }

  .buttons {
    flex-direction: column;
  }

  .buttons a,
  .buttons button,
  .btn-primary,
  .btn-secondary,
  .btn-success,
  .btn-danger,
  .btn-warning {
    width: 100%;
    text-align: center;
  }

  table {
    min-width: 850px;
  }
}

@media (max-width: 560px) {
  .menu-topo-esquerda {
    grid-template-columns: 1fr;
  }

  .menu-link,
  .menu-dropbtn,
  .menu-sair {
    font-size: 13px;
  }
}

@media (max-width: 520px) {
  .top-header-left h1 {
    font-size: 19px;
  }

  .chart-container {
    height: 260px;
  }

  .card {
    padding: 16px;
  }

  .stat-box strong {
    font-size: 23px;
  }
}
/* =========================================================
   MENU MODERNO - SISTEMA GESTOR
========================================================= */

.menu-moderno {
  width: 100%;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  margin: 0 0 22px 0;
  padding: 10px;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.10);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  position: sticky;
  top: 10px;
  z-index: 4000;
  backdrop-filter: blur(10px);
}

.menu-moderno *,
.menu-moderno *::before,
.menu-moderno *::after {
  box-sizing: border-box;
}

.menu-marca {
  flex-shrink: 0;
}

.menu-marca a {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.menu-marca-icone {
  width: 42px;
  height: 42px;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: -0.5px;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.28);
}

.menu-marca-texto {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.menu-marca-texto strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 900;
  white-space: nowrap;
}

.menu-marca-texto small {
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

.menu-area {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.menu-item,
.menu-botao {
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 13px;
  border: 1px solid transparent;
  background: transparent;
  color: #334155;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 850;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1;
  white-space: nowrap;
  transition: 0.16s ease;
}

.menu-item:hover,
.menu-botao:hover,
.menu-item.menu-ativo,
.menu-drop.dropdown-ativo > .menu-botao {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.menu-ico {
  font-size: 15px;
  line-height: 1;
}

.seta {
  font-size: 11px;
  color: inherit;
  opacity: 0.8;
  margin-left: 2px;
}

.menu-drop {
  position: relative;
  display: inline-flex;
}

.menu-sub {
  display: none;
  position: absolute;
  top: calc(100% + 9px);
  left: 0;
  min-width: 265px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 9px;
  box-shadow: 0 22px 45px rgba(15, 23, 42, 0.18);
  z-index: 6000;
}

.menu-sub::before {
  content: "";
  position: absolute;
  top: -11px;
  left: 0;
  right: 0;
  height: 11px;
}

.menu-drop:hover .menu-sub {
  display: block;
  animation: menuFadeIn 0.14s ease-out;
}

@keyframes menuFadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.menu-sub-direita {
  left: auto;
  right: 0;
}

.menu-sub-titulo {
  padding: 8px 10px 7px;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.menu-sub a {
  min-height: 40px;
  padding: 10px 11px;
  border-radius: 11px;
  color: #334155;
  text-decoration: none;
  font-size: 14px;
  font-weight: 750;
  display: flex;
  align-items: center;
  gap: 9px;
  transition: 0.15s ease;
}

.menu-sub a span {
  width: 20px;
  text-align: center;
  flex-shrink: 0;
}

.menu-sub a:hover,
.menu-sub a.menu-ativo {
  background: #eff6ff;
  color: #1d4ed8;
}

.menu-user-card {
  background: linear-gradient(135deg, #eff6ff, #f5f3ff);
  border: 1px solid #dbeafe;
  border-radius: 14px;
  padding: 12px;
  margin-bottom: 8px;
}

.menu-user-card strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  margin-bottom: 3px;
}

.menu-user-card small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.menu-avatar {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
}

.menu-link-sair {
  background: #fef2f2 !important;
  color: #b91c1c !important;
}

.menu-link-sair:hover {
  background: #dc2626 !important;
  color: #ffffff !important;
}

/* Esconde visualmente menus antigos se ainda aparecerem */
.menu-topo,
.menu-sistema,
.menu-superior {
  display: none;
}

/* =========================================================
   RESPONSIVO - MENU MODERNO
========================================================= */

@media (max-width: 1180px) {
  .menu-moderno {
    align-items: stretch;
    flex-direction: column;
    position: static;
  }

  .menu-marca {
    width: 100%;
  }

  .menu-marca a {
    justify-content: flex-start;
  }

  .menu-area {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .menu-item,
  .menu-botao {
    width: 100%;
    justify-content: space-between;
    background: #f8fafc;
    border-color: #e2e8f0;
  }

  .menu-drop {
    width: 100%;
    display: block;
  }

  .menu-sub,
  .menu-sub-direita {
    position: static;
    width: 100%;
    min-width: 0;
    margin-top: 6px;
    box-shadow: none;
    background: #f8fafc;
    border-radius: 14px;
  }

  .menu-sub::before {
    display: none;
  }

  .menu-sub a {
    background: #ffffff;
    margin-bottom: 5px;
  }

  .menu-sub a:last-child {
    margin-bottom: 0;
  }
}

@media (max-width: 760px) {
  .menu-area {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-marca-texto strong {
    font-size: 14px;
  }

  .menu-marca-texto small {
    font-size: 10px;
  }
}

@media (max-width: 520px) {
  .menu-area {
    grid-template-columns: 1fr;
  }

  .menu-moderno {
    border-radius: 14px;
    padding: 8px;
  }

  .menu-item,
  .menu-botao {
    min-height: 40px;
    font-size: 13px;
  }
}

/* =========================================================
   HEADER MODERNO - SISTEMA GESTOR
========================================================= */

.header-moderno {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(147, 197, 253, 0.42), transparent 32%),
    linear-gradient(135deg, #0f172a 0%, #1d4ed8 52%, #7c3aed 100%);
  color: #ffffff;
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 18px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.20);
}

.header-moderno *,
.header-moderno *::before,
.header-moderno *::after {
  box-sizing: border-box;
}

.header-bg-detalhe {
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  opacity: 0.35;
  filter: blur(1px);
}

.header-bg-detalhe-1 {
  width: 210px;
  height: 210px;
  background: rgba(255, 255, 255, 0.16);
  right: -60px;
  top: -80px;
}

.header-bg-detalhe-2 {
  width: 150px;
  height: 150px;
  background: rgba(59, 130, 246, 0.32);
  right: 170px;
  bottom: -70px;
}

.header-conteudo {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
}

.header-principal {
  max-width: 760px;
}

.header-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #dbeafe;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 13px;
}

.header-dot {
  width: 8px;
  height: 8px;
  background: #22c55e;
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.16);
}

.header-principal h1 {
  color: #ffffff;
  font-size: 34px;
  line-height: 1.12;
  margin: 0 0 9px 0;
  letter-spacing: -0.04em;
}

.header-principal p {
  color: #dbeafe;
  font-size: 15px;
  max-width: 660px;
  margin: 0 0 16px 0;
}

.header-info-lista {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.header-info-lista span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #e0f2fe;
  font-size: 13px;
  font-weight: 700;
}

.header-info-lista strong {
  color: #ffffff;
  font-weight: 900;
}

.header-info-lista em {
  font-style: normal;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
}

.header-badge-admin {
  background: #fef3c7;
  color: #92400e;
}

.header-badge-user {
  background: #dcfce7;
  color: #166534;
}

.header-lateral {
  min-width: 280px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
}

.header-card-usuario {
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 18px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 11px;
  backdrop-filter: blur(10px);
}

.header-avatar {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.92);
  color: #1d4ed8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.18);
}

.header-card-usuario strong {
  display: block;
  color: #ffffff;
  font-size: 14px;
  margin-bottom: 3px;
}

.header-card-usuario small {
  color: #c7d2fe;
  font-size: 12px;
  font-weight: 800;
}

.header-acoes {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.header-btn {
  min-height: 42px;
  padding: 11px 13px;
  border-radius: 13px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.16s ease;
}

.header-btn:hover {
  transform: translateY(-1px);
}

.header-btn-claro {
  background: rgba(255, 255, 255, 0.92);
  color: #1d4ed8;
}

.header-btn-destaque {
  background: #22c55e;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(34, 197, 94, 0.25);
}

.header-btn-destaque:hover {
  background: #16a34a;
}

/* Esconde headers antigos se ainda existirem */
.top-header {
  display: none;
}

/* =========================================================
   RESPONSIVO - HEADER MODERNO
========================================================= */

@media (max-width: 900px) {
  .header-conteudo {
    flex-direction: column;
  }

  .header-lateral {
    min-width: 0;
  }

  .header-acoes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .header-moderno {
    padding: 22px;
    border-radius: 18px;
  }

  .header-principal h1 {
    font-size: 27px;
  }

  .header-principal p {
    font-size: 14px;
  }

  .header-info-lista {
    align-items: stretch;
    flex-direction: column;
  }

  .header-info-lista span {
    border-radius: 14px;
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .header-acoes {
    grid-template-columns: 1fr;
  }

  .header-card-usuario {
    align-items: flex-start;
  }
}

/* =========================================================
   FOOTER / RODAPÉ DO SISTEMA
========================================================= */

.footer-sistema {
  margin-top: 26px;
  padding: 0 0 6px 0;
}

.footer-conteudo {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 15px 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-bloco {
  display: flex;
  align-items: center;
  gap: 10px;
}

.footer-logo {
  width: 38px;
  height: 38px;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 7px 16px rgba(37, 99, 235, 0.22);
  flex-shrink: 0;
}

.footer-bloco-principal div {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.footer-bloco-principal strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
}

.footer-bloco-principal span {
  color: #64748b;
  font-size: 12px;
  font-weight: 600;
}

.footer-desenvolvedor {
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-align: center;
}

.footer-desenvolvedor span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.footer-desenvolvedor strong {
  color: #1d4ed8;
  font-size: 13px;
  font-weight: 900;
}

.footer-copy {
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: right;
}

.footer-copy span {
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}

.footer-copy small {
  color: #64748b;
  font-size: 11px;
  font-weight: 600;
}

/* =========================================================
   RESPONSIVO - FOOTER
========================================================= */

@media (max-width: 760px) {
  .footer-conteudo {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
  }

  .footer-bloco,
  .footer-copy,
  .footer-desenvolvedor {
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .footer-bloco-principal {
    flex-direction: column;
  }

  .footer-copy {
    align-items: center;
  }
}
/* =========================================================
   MÓDULO DE TICKETS
========================================================= */

.tickets-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 22px;
}

.tickets-topo h2 {
  margin: 0 0 5px 0;
  color: #0f172a;
  font-size: 27px;
  letter-spacing: -0.03em;
}

.tickets-topo p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 600;
}

.tickets-resumo {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.ticket-kpi {
  background: linear-gradient(135deg, #f8fafc, #ffffff);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.ticket-kpi span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.ticket-kpi strong {
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.tickets-filtros {
  display: grid;
  grid-template-columns: 1.5fr 0.8fr 0.8fr auto;
  align-items: end;
  gap: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 20px;
}

.tickets-filtros .form-grupo {
  margin-bottom: 0;
}

.tickets-filtros-acoes {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tickets-lista {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.ticket-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
  transition: 0.16s ease;
}

.ticket-card:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.ticket-card-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.ticket-id {
  display: inline-flex;
  color: #2563eb;
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 7px;
}

.ticket-card h3,
.ticket-view-header h3 {
  margin: 0;
  color: #0f172a;
  font-size: 19px;
  letter-spacing: -0.02em;
}

.ticket-badges {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}

.ticket-status,
.ticket-prioridade {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.ticket-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.ticket-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.ticket-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.ticket-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.ticket-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.ticket-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.ticket-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.ticket-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.ticket-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.ticket-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

.ticket-descricao {
  color: #475569;
  font-size: 14px;
  line-height: 1.55;
  margin: 10px 0 15px 0;
}

.ticket-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.ticket-info-grid div,
.ticket-view-info div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 11px;
}

.ticket-info-grid span,
.ticket-view-info span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.ticket-info-grid strong,
.ticket-view-info strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
}

.ticket-acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 15px;
  flex-wrap: wrap;
}

.ticket-acoes-topo {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tickets-vazio {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  padding: 28px;
  text-align: center;
}

.tickets-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  margin-bottom: 6px;
}

.tickets-vazio p {
  color: #64748b;
  margin: 0 0 16px 0;
  font-weight: 600;
}

.formulario-ticket {
  width: 100%;
}

.grid-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.form-grupo {
  margin-bottom: 16px;
}

.form-grupo label {
  display: block;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 7px;
}

.form-grupo input,
.form-grupo select,
.form-grupo textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 13px;
  padding: 11px 12px;
  color: #0f172a;
  background: #ffffff;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.form-grupo input,
.form-grupo select {
  min-height: 44px;
}

.form-grupo textarea {
  resize: vertical;
  min-height: 130px;
}

.form-grupo input:focus,
.form-grupo select:focus,
.form-grupo textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.acoes-form {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
  flex-wrap: wrap;
}

.btn-primario,
.btn-secundario,
.btn-perigo {
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 12px;
  border: none;
  text-decoration: none;
  cursor: pointer;
  font-size: 14px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: 0.16s ease;
  white-space: nowrap;
}

.btn-primario {
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.22);
}

.btn-primario:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.28);
}

.btn-secundario {
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #cbd5e1;
}

.btn-secundario:hover {
  background: #e2e8f0;
}

.btn-perigo {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

.btn-perigo:hover {
  background: #dc2626;
  color: #ffffff;
  border-color: #dc2626;
}

.alerta {
  padding: 13px 15px;
  border-radius: 14px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 800;
}

.alerta.erro {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #b91c1c;
}

.alerta.sucesso {
  background: #dcfce7;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.ticket-view {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.ticket-view-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e8f0;
  margin-bottom: 16px;
}

.ticket-view-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.ticket-view-descricao {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
}

.ticket-view-descricao h4 {
  margin: 0 0 10px 0;
  color: #0f172a;
  font-size: 16px;
}

.ticket-view-descricao p {
  margin: 0;
  color: #334155;
  line-height: 1.65;
  font-size: 14px;
  font-weight: 600;
}

.texto-muted {
  color: #64748b !important;
}

/* =========================================================
   RESPONSIVO - TICKETS
========================================================= */

@media (max-width: 980px) {
  .tickets-resumo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tickets-filtros {
    grid-template-columns: 1fr 1fr;
  }

  .tickets-filtros-acoes {
    grid-column: 1 / -1;
  }

  .ticket-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ticket-view-info {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .tickets-topo,
  .ticket-card-topo,
  .ticket-view-header {
    flex-direction: column;
    align-items: stretch;
  }

  .tickets-resumo,
  .tickets-filtros,
  .ticket-info-grid,
  .ticket-view-info,
  .grid-form {
    grid-template-columns: 1fr;
  }

  .ticket-badges,
  .ticket-acoes,
  .ticket-acoes-topo,
  .acoes-form {
    justify-content: stretch;
    flex-direction: column;
    align-items: stretch;
  }

  .btn-primario,
  .btn-secundario,
  .btn-perigo {
    width: 100%;
  }
}
/* =========================================================
   AVISO DE TICKETS EM ABERTO NO MENU
========================================================= */

.menu-botao-com-badge {
  position: relative;
  gap: 7px;
}

.menu-badge-ticket {
  min-width: 21px;
  height: 21px;
  padding: 0 6px;
  border-radius: 999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 11px;
  font-weight: 950;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.16);
  animation: menuTicketPulse 1.8s infinite;
}

@keyframes menuTicketPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.35);
  }

  70% {
    box-shadow: 0 0 0 7px rgba(220, 38, 38, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
  }
}

.menu-alerta-ticket {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 12px;
  padding: 10px 11px;
  margin: 8px 10px 10px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.menu-alerta-ticket strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  background: #dc2626;
  color: #ffffff;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  margin-right: 4px;
}

.menu-sub-badge {
  margin-left: auto;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #dc2626;
  color: #ffffff;
  font-size: 11px;
  font-weight: 950;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.menu-sub a {
  position: relative;
}

@media (max-width: 768px) {
  .menu-badge-ticket {
    min-width: 19px;
    height: 19px;
    font-size: 10px;
  }

  .menu-alerta-ticket {
    margin: 8px 0 10px 0;
  }
}
/* =========================================================
   DASHBOARD ATUALIZADA - VISÃO GERAL DO SISTEMA
========================================================= */

.dashboard-hero {
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, 0.22), transparent 34%),
    linear-gradient(135deg, #0f172a, #1d4ed8 55%, #7c3aed);
  color: #ffffff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  box-shadow: 0 18px 38px rgba(30, 64, 175, 0.24);
  overflow: hidden;
  position: relative;
}

.dashboard-hero::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  right: -80px;
  top: -90px;
}

.dashboard-hero > div {
  position: relative;
  z-index: 2;
}

.dashboard-label {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 7px 10px;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.dashboard-hero h1 {
  margin: 0 0 9px 0;
  font-size: 33px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.dashboard-hero p {
  margin: 0;
  color: #dbeafe;
  line-height: 1.6;
  max-width: 680px;
  font-size: 15px;
  font-weight: 600;
}

.dashboard-hero-card {
  min-width: 190px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 20px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  backdrop-filter: blur(12px);
}

.dashboard-hero-card span {
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.dashboard-hero-card strong {
  color: #ffffff;
  font-size: 25px;
  font-weight: 950;
}

.dashboard-hero-card small {
  color: #dbeafe;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-alerta-tickets {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-alerta-tickets strong {
  display: block;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 4px;
}

.dashboard-alerta-tickets p {
  margin: 0;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-grid-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.dashboard-kpi {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 17px;
  display: flex;
  align-items: center;
  gap: 13px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
  transition: 0.16s ease;
  min-height: 98px;
}

.dashboard-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(15, 23, 42, 0.09);
}

.dashboard-kpi-icone {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  flex: 0 0 auto;
}

.dashboard-kpi span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.dashboard-kpi strong {
  color: #0f172a;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.dashboard-kpi-money {
  font-size: 18px !important;
  letter-spacing: -0.03em !important;
}

.kpi-azul .dashboard-kpi-icone {
  background: #dbeafe;
  color: #1d4ed8;
}

.kpi-amarelo .dashboard-kpi-icone {
  background: #fef3c7;
  color: #92400e;
}

.kpi-vermelho .dashboard-kpi-icone {
  background: #fee2e2;
  color: #991b1b;
}

.kpi-roxo .dashboard-kpi-icone {
  background: #ede9fe;
  color: #6d28d9;
}

.kpi-verde .dashboard-kpi-icone {
  background: #dcfce7;
  color: #166534;
}

.kpi-cinza .dashboard-kpi-icone {
  background: #f1f5f9;
  color: #334155;
}

.kpi-laranja .dashboard-kpi-icone {
  background: #ffedd5;
  color: #c2410c;
}

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-main-grid-secundario {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.dashboard-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.dashboard-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.dashboard-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-link {
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.dashboard-link:hover {
  text-decoration: underline;
}

.dashboard-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

.dashboard-empty strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  margin-bottom: 6px;
}

.dashboard-empty p {
  color: #64748b;
  margin: 0 0 14px 0;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dashboard-ticket-item {
  display: block;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 14px;
  transition: 0.16s ease;
}

.dashboard-ticket-item:hover {
  border-color: #bfdbfe;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.09);
  transform: translateY(-1px);
}

.dashboard-ticket-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.dashboard-ticket-id {
  display: inline-flex;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.dashboard-ticket-item strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 5px;
}

.dashboard-ticket-item p {
  margin: 0 0 10px 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.dashboard-ticket-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.dash-status,
.dash-prioridade {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.dash-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.dash-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.dash-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.dash-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.dash-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.dash-status-pendente,
.dash-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.dash-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.dash-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.dash-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.dash-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

.dashboard-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-mini-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 17px;
  padding: 15px;
}

.dashboard-mini-card span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.dashboard-mini-card strong {
  color: #0f172a;
  font-size: 27px;
  font-weight: 950;
}

.dashboard-mini-card.destaque {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.dashboard-action-full {
  margin-top: 14px;
  min-height: 44px;
  width: 100%;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  text-decoration: none;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.20);
}

.dashboard-lista-simples {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dashboard-simple-item {
  text-decoration: none;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: 0.16s ease;
}

.dashboard-simple-item:hover {
  background: #ffffff;
  border-color: #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.07);
}

.dashboard-simple-item strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 4px;
}

.dashboard-simple-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.dashboard-simple-item small {
  color: #2563eb;
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}

.dashboard-financeiro {
  margin-bottom: 18px;
}

.dashboard-financeiro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-financeiro-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 18px;
}

.dashboard-financeiro-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 7px;
}

.dashboard-financeiro-item strong {
  display: block;
  color: #0f172a;
  font-size: 25px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.dashboard-financeiro-item.positivo {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.dashboard-financeiro-item.positivo strong {
  color: #166534;
}

.dashboard-financeiro-item.negativo {
  background: #fef2f2;
  border-color: #fecaca;
}

.dashboard-financeiro-item.negativo strong {
  color: #991b1b;
}

/* =========================================================
   RESPONSIVO - DASHBOARD ATUALIZADA
========================================================= */

@media (max-width: 1100px) {
  .dashboard-grid-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-main-grid,
  .dashboard-main-grid-secundario {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .dashboard-hero {
    flex-direction: column;
    padding: 22px;
  }

  .dashboard-hero h1 {
    font-size: 27px;
  }

  .dashboard-hero-card {
    min-width: 0;
  }

  .dashboard-alerta-tickets {
    flex-direction: column;
    align-items: stretch;
  }

  .dashboard-grid-kpis,
  .dashboard-mini-grid,
  .dashboard-financeiro-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card-header,
  .dashboard-ticket-topo,
  .dashboard-simple-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-ticket-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-kpi {
    min-height: auto;
  }
}
/* =========================================================
   MEU PAINEL - ATUALIZADO COM TICKETS, METAS E AGENDA
========================================================= */

.meu-hero {
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, 0.24), transparent 34%),
    linear-gradient(135deg, #0f172a, #1d4ed8 56%, #7c3aed);
  color: #ffffff;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 20px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  box-shadow: 0 18px 38px rgba(30, 64, 175, 0.24);
  overflow: hidden;
  position: relative;
}

.meu-hero::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  right: -90px;
  top: -90px;
}

.meu-hero > * {
  position: relative;
  z-index: 2;
}

.meu-hero-avatar {
  width: 76px;
  height: 76px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  color: #1d4ed8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 950;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.24);
}

.meu-hero-info span {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 7px 10px;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.meu-hero-info h1 {
  margin: 0 0 8px 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.meu-hero-info p {
  margin: 0;
  color: #dbeafe;
  line-height: 1.55;
  max-width: 720px;
  font-size: 15px;
  font-weight: 600;
}

.meu-hero-tags {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.meu-hero-tags small {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #e0e7ff;
  font-size: 12px;
  font-weight: 850;
}

.meu-hero-data {
  min-width: 170px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 20px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  backdrop-filter: blur(12px);
}

.meu-hero-data span {
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.meu-hero-data strong {
  color: #ffffff;
  font-size: 24px;
  font-weight: 950;
}

.meu-hero-data small {
  color: #dbeafe;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
}

.meu-alerta {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.meu-alerta strong {
  display: block;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 4px;
}

.meu-alerta p {
  margin: 0;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}

.meu-atalhos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.meu-atalho {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
  transition: 0.16s ease;
}

.meu-atalho:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.09);
}

.meu-atalho span {
  width: 44px;
  height: 44px;
  border-radius: 15px;
  background: #eff6ff;
  color: #1d4ed8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 4px;
}

.meu-atalho strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.meu-atalho small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.meu-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}

.meu-kpi {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.meu-kpi-icone {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.meu-kpi span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.meu-kpi strong {
  color: #0f172a;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.meu-kpi.kpi-azul .meu-kpi-icone {
  background: #dbeafe;
  color: #1d4ed8;
}

.meu-kpi.kpi-amarelo .meu-kpi-icone {
  background: #fef3c7;
  color: #92400e;
}

.meu-kpi.kpi-vermelho .meu-kpi-icone {
  background: #fee2e2;
  color: #991b1b;
}

.meu-kpi.kpi-roxo .meu-kpi-icone {
  background: #ede9fe;
  color: #6d28d9;
}

.meu-kpi.kpi-verde .meu-kpi-icone {
  background: #dcfce7;
  color: #166534;
}

.meu-kpi.kpi-cinza .meu-kpi-icone {
  background: #f1f5f9;
  color: #334155;
}

.meu-grid-principal {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 18px;
  margin-bottom: 18px;
}

.meu-grid-secundario {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.meu-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.meu-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.meu-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.meu-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.meu-link {
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.meu-link:hover {
  text-decoration: underline;
}

.meu-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

.meu-empty strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  margin-bottom: 6px;
}

.meu-empty p {
  color: #64748b;
  margin: 0;
  font-size: 13px;
  font-weight: 650;
}

.meu-lista-tickets {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.meu-ticket-item {
  display: block;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 14px;
  transition: 0.16s ease;
}

.meu-ticket-item:hover {
  border-color: #bfdbfe;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.09);
  transform: translateY(-1px);
}

.meu-ticket-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.meu-ticket-id {
  display: inline-flex;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.meu-ticket-item strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 5px;
}

.meu-ticket-item p {
  margin: 0 0 10px 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.meu-ticket-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.meu-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.meu-status,
.meu-prioridade {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.meu-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.meu-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.meu-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.meu-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.meu-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.meu-status-pendente,
.meu-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.meu-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.meu-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.meu-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.meu-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

.meu-lista-simples {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.meu-simple-item {
  text-decoration: none;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: 0.16s ease;
}

.meu-simple-item:hover {
  background: #ffffff;
  border-color: #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.07);
}

.meu-simple-item strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 4px;
}

.meu-simple-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.meu-simple-item small {
  color: #2563eb;
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}

/* =========================================================
   RESPONSIVO - MEU PAINEL
========================================================= */

@media (max-width: 1180px) {
  .meu-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .meu-atalhos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meu-grid-principal,
  .meu-grid-secundario {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .meu-hero {
    grid-template-columns: 1fr;
    text-align: left;
    padding: 22px;
  }

  .meu-hero-avatar {
    width: 66px;
    height: 66px;
    border-radius: 20px;
    font-size: 29px;
  }

  .meu-hero-info h1 {
    font-size: 27px;
  }

  .meu-hero-data {
    min-width: 0;
  }

  .meu-alerta {
    flex-direction: column;
    align-items: stretch;
  }

  .meu-kpis,
  .meu-atalhos {
    grid-template-columns: 1fr;
  }

  .meu-card-header,
  .meu-ticket-topo,
  .meu-simple-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .meu-ticket-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* =========================================================
   REFINAMENTO TICKETS - RESPONSÁVEL POR USUÁRIO
========================================================= */

.tickets-filtros-com-responsavel {
  grid-template-columns: 1.3fr 0.75fr 0.75fr 1fr auto;
}

.ticket-login,
.ticket-email {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  margin-top: 3px;
}

.ticket-email {
  color: #475569;
}

.form-grupo select option {
  font-weight: 600;
}

@media (max-width: 1100px) {
  .tickets-filtros-com-responsavel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tickets-filtros-com-responsavel .tickets-filtros-acoes {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .tickets-filtros-com-responsavel {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   DASHBOARD COMPLETA - KPIS, CARDS E GRÁFICOS
========================================================= */

.dashboard-hero {
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, 0.22), transparent 34%),
    linear-gradient(135deg, #0f172a, #1d4ed8 55%, #7c3aed);
  color: #ffffff;
  border-radius: 24px;
  padding: 28px;
  margin-bottom: 22px;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 22px;
  box-shadow: 0 18px 38px rgba(30, 64, 175, 0.24);
  overflow: hidden;
  position: relative;
}

.dashboard-hero::after {
  content: "";
  position: absolute;
  width: 230px;
  height: 230px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  right: -80px;
  top: -90px;
}

.dashboard-hero > div {
  position: relative;
  z-index: 2;
}

.dashboard-label {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  padding: 7px 10px;
  color: #dbeafe;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 12px;
}

.dashboard-hero h1 {
  margin: 0 0 9px 0;
  font-size: 33px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.dashboard-hero p {
  margin: 0;
  color: #dbeafe;
  line-height: 1.6;
  max-width: 680px;
  font-size: 15px;
  font-weight: 600;
}

.dashboard-hero-card {
  min-width: 190px;
  background: rgba(255, 255, 255, 0.13);
  border: 1px solid rgba(255, 255, 255, 0.19);
  border-radius: 20px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  backdrop-filter: blur(12px);
}

.dashboard-hero-card span {
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.dashboard-hero-card strong {
  color: #ffffff;
  font-size: 25px;
  font-weight: 950;
}

.dashboard-hero-card small {
  color: #dbeafe;
  margin-top: 4px;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-alerta-tickets {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dashboard-alerta-tickets strong {
  display: block;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 4px;
}

.dashboard-alerta-tickets p {
  margin: 0;
  color: #b91c1c;
  font-size: 13px;
  font-weight: 700;
}

.dashboard-grid-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.dashboard-kpi {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 17px;
  display: flex;
  align-items: center;
  gap: 13px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
  transition: 0.16s ease;
  min-height: 98px;
}

.dashboard-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 30px rgba(15, 23, 42, 0.09);
}

.dashboard-kpi-icone {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 23px;
  flex: 0 0 auto;
}

.dashboard-kpi span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.dashboard-kpi strong {
  color: #0f172a;
  font-size: 27px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.dashboard-kpi-money {
  font-size: 18px !important;
  letter-spacing: -0.03em !important;
}

.kpi-azul .dashboard-kpi-icone {
  background: #dbeafe;
  color: #1d4ed8;
}

.kpi-amarelo .dashboard-kpi-icone {
  background: #fef3c7;
  color: #92400e;
}

.kpi-vermelho .dashboard-kpi-icone {
  background: #fee2e2;
  color: #991b1b;
}

.kpi-roxo .dashboard-kpi-icone {
  background: #ede9fe;
  color: #6d28d9;
}

.kpi-verde .dashboard-kpi-icone {
  background: #dcfce7;
  color: #166534;
}

.kpi-cinza .dashboard-kpi-icone {
  background: #f1f5f9;
  color: #334155;
}

.kpi-laranja .dashboard-kpi-icone {
  background: #ffedd5;
  color: #c2410c;
}

/* =========================================================
   GRÁFICOS DA DASHBOARD
========================================================= */

.dashboard-graficos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-graficos-secundarios {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-grafico-card {
  overflow: hidden;
}

.dashboard-chart-box {
  position: relative;
  width: 100%;
  height: 330px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
}

.dashboard-chart-box-menor {
  height: 270px;
}

.dashboard-grafico-card .dashboard-card-header {
  margin-bottom: 14px;
}

.dashboard-grafico-card h2 {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dashboard-grafico-card h2::before {
  content: "📊";
  font-size: 18px;
}

/* =========================================================
   CARDS, LISTAS E SEÇÕES
========================================================= */

.dashboard-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-main-grid-secundario {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dashboard-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.05);
}

.dashboard-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.dashboard-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.dashboard-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-link {
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.dashboard-link:hover {
  text-decoration: underline;
}

.dashboard-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

.dashboard-empty strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  margin-bottom: 6px;
}

.dashboard-empty p {
  color: #64748b;
  margin: 0 0 14px 0;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dashboard-ticket-item {
  display: block;
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 14px;
  transition: 0.16s ease;
}

.dashboard-ticket-item:hover {
  border-color: #bfdbfe;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.09);
  transform: translateY(-1px);
}

.dashboard-ticket-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}

.dashboard-ticket-id {
  display: inline-flex;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.dashboard-ticket-item strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
  margin-bottom: 5px;
}

.dashboard-ticket-item p {
  margin: 0 0 10px 0;
  color: #475569;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.dashboard-ticket-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.dash-status,
.dash-prioridade {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.dash-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.dash-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.dash-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.dash-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.dash-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.dash-status-pendente,
.dash-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.dash-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.dash-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.dash-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.dash-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

.dashboard-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-mini-card {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 17px;
  padding: 15px;
}

.dashboard-mini-card span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
}

.dashboard-mini-card strong {
  color: #0f172a;
  font-size: 27px;
  font-weight: 950;
}

.dashboard-mini-card.destaque {
  background: #eff6ff;
  border-color: #bfdbfe;
}

.dashboard-action-full {
  margin-top: 14px;
  min-height: 44px;
  width: 100%;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  color: #ffffff;
  text-decoration: none;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.20);
}

.dashboard-lista-simples {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dashboard-simple-item {
  text-decoration: none;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  transition: 0.16s ease;
}

.dashboard-simple-item:hover {
  background: #ffffff;
  border-color: #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.07);
}

.dashboard-simple-item strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 4px;
}

.dashboard-simple-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.dashboard-simple-item small {
  color: #2563eb;
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}

/* =========================================================
   FINANCEIRO
========================================================= */

.dashboard-financeiro {
  margin-bottom: 18px;
}

.dashboard-financeiro-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-financeiro-item {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 18px;
}

.dashboard-financeiro-item span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 7px;
}

.dashboard-financeiro-item strong {
  display: block;
  color: #0f172a;
  font-size: 25px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.dashboard-financeiro-item.positivo {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.dashboard-financeiro-item.positivo strong {
  color: #166534;
}

.dashboard-financeiro-item.negativo {
  background: #fef2f2;
  border-color: #fecaca;
}

.dashboard-financeiro-item.negativo strong {
  color: #991b1b;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 1100px) {
  .dashboard-grid-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-main-grid,
  .dashboard-main-grid-secundario,
  .dashboard-graficos,
  .dashboard-graficos-secundarios {
    grid-template-columns: 1fr;
  }

  .dashboard-chart-box,
  .dashboard-chart-box-menor {
    height: 300px;
  }
}

@media (max-width: 760px) {
  .dashboard-hero {
    flex-direction: column;
    padding: 22px;
  }

  .dashboard-hero h1 {
    font-size: 27px;
  }

  .dashboard-hero-card {
    min-width: 0;
  }

  .dashboard-alerta-tickets {
    flex-direction: column;
    align-items: stretch;
  }

  .dashboard-grid-kpis,
  .dashboard-mini-grid,
  .dashboard-financeiro-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card-header,
  .dashboard-ticket-topo,
  .dashboard-simple-item {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-ticket-meta {
    flex-direction: column;
    align-items: flex-start;
  }

  .dashboard-kpi {
    min-height: auto;
  }

  .dashboard-chart-box,
  .dashboard-chart-box-menor {
    height: 260px;
    padding: 10px;
  }
}
/* =========================================================
   MEU PAINEL CLEAN - COM GRÁFICOS
========================================================= */

.meu-clean-hero {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 24px;
  margin-bottom: 18px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.meu-clean-avatar {
  width: 72px;
  height: 72px;
  border-radius: 22px;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  font-weight: 950;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.22);
}

.meu-clean-info span {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 9px;
}

.meu-clean-info h1 {
  margin: 0 0 6px 0;
  color: #0f172a;
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: -0.04em;
}

.meu-clean-info p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.meu-clean-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.meu-clean-tags small {
  background: #f8fafc;
  color: #475569;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 850;
}

.meu-clean-data {
  min-width: 150px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
}

.meu-clean-data span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.meu-clean-data strong {
  display: block;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.meu-clean-data small {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 750;
  margin-top: 3px;
}

/* KPIs */

.meu-clean-resumo {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.meu-clean-kpi {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.meu-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 7px;
}

.meu-clean-kpi strong {
  display: block;
  color: #0f172a;
  font-size: 31px;
  font-weight: 950;
  letter-spacing: -0.045em;
}

.meu-clean-kpi small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  margin-top: 4px;
}

/* Alertas */

.meu-clean-alertas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.meu-clean-alertas div {
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  border-radius: 18px;
  padding: 15px;
}

.meu-clean-alertas strong {
  display: block;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 4px;
}

.meu-clean-alertas p {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
}

/* Atalhos */

.meu-clean-atalhos {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}

.meu-clean-atalhos a {
  min-height: 42px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  text-decoration: none;
  border-radius: 999px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.04);
  transition: 0.16s ease;
}

.meu-clean-atalhos a:hover {
  border-color: #bfdbfe;
  color: #1d4ed8;
  transform: translateY(-1px);
}

.meu-clean-atalhos span {
  font-size: 17px;
}

/* Cards e gráficos */

.meu-clean-graficos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.meu-clean-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 18px;
  margin-bottom: 18px;
}

.meu-clean-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.meu-clean-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.meu-clean-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 19px;
  letter-spacing: -0.03em;
}

.meu-clean-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.meu-clean-card-header a {
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.meu-clean-card-header a:hover {
  text-decoration: underline;
}

.meu-clean-percentual {
  min-width: 58px;
  height: 42px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 950;
}

.meu-clean-chart {
  position: relative;
  width: 100%;
  height: 300px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 14px;
}

/* Listas */

.meu-clean-empty {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 22px;
  text-align: center;
}

.meu-clean-empty strong {
  display: block;
  color: #0f172a;
  font-size: 15px;
  margin-bottom: 6px;
}

.meu-clean-empty p {
  color: #64748b;
  margin: 0;
  font-size: 13px;
  font-weight: 650;
}

.meu-clean-lista,
.meu-clean-lista-simples {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.meu-clean-ticket {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 14px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  transition: 0.16s ease;
}

.meu-clean-ticket:hover {
  border-color: #bfdbfe;
  box-shadow: 0 10px 22px rgba(37, 99, 235, 0.08);
  transform: translateY(-1px);
}

.meu-clean-id {
  display: inline-flex;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
  margin-bottom: 7px;
}

.meu-clean-ticket strong,
.meu-clean-lista-simples strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  margin-bottom: 4px;
}

.meu-clean-ticket p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.meu-clean-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.meu-clean-badges small,
.meu-clean-lista-simples small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.meu-clean-lista-simples a {
  text-decoration: none;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  transition: 0.16s ease;
}

.meu-clean-lista-simples a:hover {
  background: #ffffff;
  border-color: #bfdbfe;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.07);
}

.meu-clean-lista-simples span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.meu-clean-lista-simples small {
  color: #2563eb;
  background: #eff6ff;
}

/* Badges reaproveitados */

.meu-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.meu-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.meu-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.meu-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.meu-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.meu-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.meu-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.meu-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.meu-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.meu-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

/* Responsivo */

@media (max-width: 1100px) {
  .meu-clean-resumo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meu-clean-graficos,
  .meu-clean-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .meu-clean-hero {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .meu-clean-avatar {
    width: 64px;
    height: 64px;
    border-radius: 20px;
    font-size: 28px;
  }

  .meu-clean-info h1 {
    font-size: 26px;
  }

  .meu-clean-data {
    min-width: 0;
  }

  .meu-clean-resumo,
  .meu-clean-alertas {
    grid-template-columns: 1fr;
  }

  .meu-clean-card-header,
  .meu-clean-ticket,
  .meu-clean-lista-simples a {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: flex-start;
  }

  .meu-clean-badges {
    align-items: flex-start;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .meu-clean-chart {
    height: 260px;
    padding: 10px;
  }
}
/* =========================================================
   TICKETS CLEAN - CENTRAL DE SOLICITAÇÕES
========================================================= */

.tickets-clean-hero {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.tickets-clean-label {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.tickets-clean-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.tickets-clean-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.tickets-clean-hero-acoes {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Feedback */

.tickets-clean-feedback {
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 850;
}

.tickets-clean-feedback.sucesso {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

/* Botões */

.tickets-clean-btn-primary,
.tickets-clean-btn-secondary,
.tickets-clean-btn-danger {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.tickets-clean-btn-primary {
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.20);
}

.tickets-clean-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.26);
}

.tickets-clean-btn-secondary {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.tickets-clean-btn-secondary:hover {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.tickets-clean-btn-danger {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.tickets-clean-btn-danger:hover {
  background: #fee2e2;
  color: #7f1d1d;
}

/* KPIs */

.tickets-clean-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.tickets-clean-kpi {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
  transition: 0.16s ease;
  position: relative;
  overflow: hidden;
}

.tickets-clean-kpi::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #94a3b8;
}

.tickets-clean-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.tickets-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.tickets-clean-kpi strong {
  display: block;
  color: #0f172a;
  font-size: 29px;
  font-weight: 950;
  letter-spacing: -0.045em;
}

.tickets-clean-kpi small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  margin-top: 4px;
}

.tickets-clean-kpi.azul::before {
  background: #2563eb;
}

.tickets-clean-kpi.amarelo::before {
  background: #f59e0b;
}

.tickets-clean-kpi.roxo::before {
  background: #7c3aed;
}

.tickets-clean-kpi.vermelho::before {
  background: #dc2626;
}

.tickets-clean-kpi.laranja::before {
  background: #f97316;
}

/* Cards */

.tickets-clean-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.tickets-clean-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.tickets-clean-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.tickets-clean-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.tickets-clean-limpar {
  color: #2563eb;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.tickets-clean-limpar:hover {
  text-decoration: underline;
}

/* Filtros */

.tickets-clean-filtros {
  display: grid;
  grid-template-columns: 1.4fr 0.75fr 0.75fr 1fr auto;
  gap: 12px;
  align-items: end;
}

.tickets-clean-filtros .form-grupo {
  margin: 0;
}

.tickets-clean-filtros label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 6px;
}

.tickets-clean-filtros input,
.tickets-clean-filtros select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.tickets-clean-filtros input:focus,
.tickets-clean-filtros select:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.tickets-clean-filtros-acoes {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Legenda */

.tickets-clean-legenda {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.tickets-clean-legenda span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tickets-clean-legenda i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
}

.legenda-atrasado {
  background: #dc2626;
}

.legenda-hoje {
  background: #f59e0b;
}

.legenda-ok {
  background: #16a34a;
}

/* Lista */

.tickets-clean-lista {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tickets-clean-item {
  display: grid;
  grid-template-columns: 6px 1fr;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.16s ease;
}

.tickets-clean-item:hover {
  border-color: #bfdbfe;
  box-shadow: 0 14px 28px rgba(37, 99, 235, 0.08);
  transform: translateY(-1px);
}

.tickets-clean-item-barra {
  width: 6px;
}

.tickets-clean-item-barra.ticket-prazo-atrasado {
  background: #dc2626;
}

.tickets-clean-item-barra.ticket-prazo-hoje {
  background: #f59e0b;
}

.tickets-clean-item-barra.ticket-prazo-proximo {
  background: #f97316;
}

.tickets-clean-item-barra.ticket-prazo-ok {
  background: #16a34a;
}

.tickets-clean-item-barra.ticket-prazo-neutro {
  background: #94a3b8;
}

.tickets-clean-item-conteudo {
  padding: 16px;
}

.tickets-clean-item-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}

.tickets-clean-id-linha {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  flex-wrap: wrap;
}

.tickets-clean-id {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.tickets-clean-prazo {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.tickets-clean-prazo.ticket-prazo-atrasado {
  background: #fef2f2;
  color: #991b1b;
}

.tickets-clean-prazo.ticket-prazo-hoje {
  background: #fef3c7;
  color: #92400e;
}

.tickets-clean-prazo.ticket-prazo-proximo {
  background: #fff7ed;
  color: #c2410c;
}

.tickets-clean-prazo.ticket-prazo-ok {
  background: #dcfce7;
  color: #166534;
}

.tickets-clean-prazo.ticket-prazo-neutro {
  background: #f1f5f9;
  color: #475569;
}

.tickets-clean-item h3 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.tickets-clean-badges {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ticket-status,
.ticket-prioridade {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.ticket-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.ticket-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.ticket-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.ticket-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.ticket-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.ticket-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.ticket-prioridade-baixa {
  background: #ecfdf5;
  color: #047857;
}

.ticket-prioridade-media {
  background: #eff6ff;
  color: #1d4ed8;
}

.ticket-prioridade-alta {
  background: #fff7ed;
  color: #c2410c;
}

.ticket-prioridade-urgente {
  background: #fef2f2;
  color: #b91c1c;
}

.tickets-clean-descricao {
  margin: 0 0 14px 0;
  color: #475569;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

/* Metadados */

.tickets-clean-meta {
  display: grid;
  grid-template-columns: 1.15fr repeat(3, minmax(0, 1fr));
  gap: 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 14px;
}

.tickets-clean-meta > div {
  min-width: 0;
}

.tickets-clean-meta span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.tickets-clean-meta strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
  word-break: break-word;
}

.tickets-clean-meta small {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  margin-top: 2px;
}

.tickets-clean-pessoa {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 9px;
}

.tickets-clean-avatar.pequeno {
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: linear-gradient(135deg, #2563eb, #7c3aed);
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(37, 99, 235, 0.18);
}

/* Ações */

.tickets-clean-acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

/* Vazio */

.tickets-clean-vazio {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  padding: 34px 20px;
  text-align: center;
}

.tickets-clean-vazio-icone {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: #eff6ff;
  color: #1d4ed8;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 12px;
}

.tickets-clean-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
  margin-bottom: 6px;
}

.tickets-clean-vazio p {
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  margin: 0 auto 16px auto;
  max-width: 520px;
  line-height: 1.55;
}

/* Compatibilidade com nomes antigos */

.ticket-login,
.ticket-email {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  margin-top: 3px;
}

/* Responsivo */

@media (max-width: 1200px) {
  .tickets-clean-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tickets-clean-filtros {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tickets-clean-filtros-acoes {
    grid-column: 1 / -1;
  }

  .tickets-clean-meta {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .tickets-clean-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .tickets-clean-hero h1 {
    font-size: 28px;
  }

  .tickets-clean-kpis,
  .tickets-clean-filtros,
  .tickets-clean-meta {
    grid-template-columns: 1fr;
  }

  .tickets-clean-card-header,
  .tickets-clean-item-topo {
    flex-direction: column;
    align-items: flex-start;
  }

  .tickets-clean-badges {
    justify-content: flex-start;
  }

  .tickets-clean-acoes {
    justify-content: flex-start;
  }

  .tickets-clean-btn-primary,
  .tickets-clean-btn-secondary,
  .tickets-clean-btn-danger,
  .tickets-clean-filtros-acoes {
    width: 100%;
  }

  .tickets-clean-filtros-acoes {
    flex-direction: column;
  }
}
/* =========================================================
   MENU COMPACTO - CABER MELHOR NA TELA
========================================================= */

.menu-moderno {
  min-height: 58px;
  padding: 8px 12px;
  gap: 10px;
  align-items: center;
}

.menu-marca {
  flex: 0 0 auto;
}

.menu-marca a {
  gap: 8px;
}

.menu-marca-icone {
  width: 34px;
  height: 34px;
  min-width: 34px;
  border-radius: 11px;
  font-size: 13px;
}

.menu-marca-texto strong {
  font-size: 13px;
  line-height: 1.1;
}

.menu-marca-texto small {
  font-size: 10px;
  line-height: 1.1;
}

.menu-area {
  gap: 4px;
  align-items: center;
  flex-wrap: nowrap;
  overflow: visible;
}

.menu-item,
.menu-botao {
  min-height: 36px;
  padding: 8px 9px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 850;
  gap: 5px;
  white-space: nowrap;
}

.menu-ico {
  font-size: 15px;
  line-height: 1;
}

.menu-botao .seta,
.seta {
  font-size: 10px;
  margin-left: 2px;
}

.menu-avatar {
  width: 25px;
  height: 25px;
  min-width: 25px;
  font-size: 11px;
}

.menu-usuario-botao {
  padding-left: 7px;
}

.menu-drop {
  position: relative;
}

.menu-sub {
  min-width: 210px;
  padding: 8px;
  border-radius: 16px;
}

.menu-sub-titulo {
  font-size: 10px;
  padding: 6px 8px 5px 8px;
  margin-bottom: 4px;
}

.menu-sub a {
  min-height: 34px;
  padding: 8px 9px;
  border-radius: 11px;
  font-size: 12px;
  gap: 7px;
}

.menu-sub a span {
  font-size: 14px;
}

.menu-user-card {
  padding: 10px;
  border-radius: 13px;
}

.menu-user-card strong {
  font-size: 13px;
}

.menu-user-card small {
  font-size: 11px;
}

.menu-sub-divisor {
  margin: 6px 0;
}

.menu-badge-ticket,
.menu-badge {
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  margin-left: 3px;
}

/* Reduz levemente o texto da marca em telas médias */
@media (max-width: 1200px) {
  .menu-marca-texto small {
    display: none;
  }

  .menu-marca-texto strong {
    font-size: 12px;
  }

  .menu-item,
  .menu-botao {
    padding: 8px 8px;
    font-size: 11.5px;
  }

  .menu-ico {
    font-size: 14px;
  }
}

/* Em telas menores, mantém compacto e evita quebrar tudo */
@media (max-width: 980px) {
  .menu-moderno {
    align-items: flex-start;
  }

  .menu-area {
    flex-wrap: wrap;
    gap: 6px;
  }

  .menu-item,
  .menu-botao {
    min-height: 35px;
  }
}
/* =========================================================
   DROPDOWNS MAIS COMPACTOS
========================================================= */

.menu-sub {
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.14);
}

.menu-sub a {
  line-height: 1.15;
}

.menu-sub-direita {
  right: 0;
  left: auto;
}

.menu-alerta-ticket {
  padding: 8px 9px;
  margin: 6px 8px 8px 8px;
  font-size: 11px;
  border-radius: 10px;
}

.menu-alerta-ticket strong {
  min-width: 18px;
  height: 18px;
  font-size: 10px;
}
/* =========================================================
   AGENDA CLEAN - VISUAL MODERNO
========================================================= */

.agenda-clean-hero {
  background:
    radial-gradient(circle at top left, rgba(22, 163, 74, 0.13), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.agenda-clean-label {
  display: inline-flex;
  align-items: center;
  background: #f0fdf4;
  color: #166534;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.agenda-clean-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.agenda-clean-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.agenda-clean-hero-acoes {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Feedback */

.agenda-clean-feedback {
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 850;
}

.agenda-clean-feedback.sucesso {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

/* Botões */

.agenda-clean-btn-primary,
.agenda-clean-btn-secondary,
.agenda-clean-btn-danger {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.agenda-clean-btn-primary {
  background: linear-gradient(135deg, #16a34a, #2563eb);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(22, 163, 74, 0.18);
}

.agenda-clean-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(22, 163, 74, 0.24);
}

.agenda-clean-btn-secondary {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.agenda-clean-btn-secondary:hover {
  border-color: #bbf7d0;
  color: #166534;
  background: #f0fdf4;
}

.agenda-clean-btn-danger {
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.agenda-clean-btn-danger:hover {
  background: #fee2e2;
}

/* KPIs */

.agenda-clean-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.agenda-clean-kpi {
  text-decoration: none;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.045);
  transition: 0.16s ease;
  position: relative;
  overflow: hidden;
}

.agenda-clean-kpi::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: #94a3b8;
}

.agenda-clean-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.agenda-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.agenda-clean-kpi strong {
  display: block;
  color: #0f172a;
  font-size: 29px;
  font-weight: 950;
  letter-spacing: -0.045em;
}

.agenda-clean-kpi small {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
  margin-top: 4px;
}

.agenda-clean-kpi.azul::before {
  background: #2563eb;
}

.agenda-clean-kpi.amarelo::before {
  background: #f59e0b;
}

.agenda-clean-kpi.verde::before {
  background: #16a34a;
}

.agenda-clean-kpi.vermelho::before {
  background: #dc2626;
}

.agenda-clean-kpi.roxo::before {
  background: #7c3aed;
}

/* Cards */

.agenda-clean-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.agenda-clean-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.agenda-clean-card-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.agenda-clean-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.agenda-clean-limpar {
  color: #16a34a;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}

.agenda-clean-limpar:hover {
  text-decoration: underline;
}

/* Filtros */

.agenda-clean-filtros {
  display: grid;
  grid-template-columns: 1.5fr 0.75fr 0.85fr auto;
  gap: 12px;
  align-items: end;
}

.agenda-clean-filtros .form-grupo {
  margin: 0;
}

.agenda-clean-filtros label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 6px;
}

.agenda-clean-filtros input,
.agenda-clean-filtros select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.agenda-clean-filtros input:focus,
.agenda-clean-filtros select:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
}

.agenda-clean-filtros-acoes {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Legenda */

.agenda-clean-legenda {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
}

.agenda-clean-legenda span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.agenda-clean-legenda i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
}

.agenda-legenda-atrasado {
  background: #dc2626;
}

.agenda-legenda-hoje {
  background: #f59e0b;
}

.agenda-legenda-futuro {
  background: #16a34a;
}

/* Lista */

.agenda-clean-lista {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.agenda-clean-item {
  display: grid;
  grid-template-columns: 6px 100px 1fr;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.16s ease;
}

.agenda-clean-item:hover {
  border-color: #bbf7d0;
  box-shadow: 0 14px 28px rgba(22, 163, 74, 0.08);
  transform: translateY(-1px);
}

.agenda-clean-barra.agenda-tempo-atrasado {
  background: #dc2626;
}

.agenda-clean-barra.agenda-tempo-hoje {
  background: #f59e0b;
}

.agenda-clean-barra.agenda-tempo-futuro {
  background: #16a34a;
}

.agenda-clean-barra.agenda-tempo-neutro {
  background: #94a3b8;
}

.agenda-clean-hora {
  background: #f8fafc;
  border-right: 1px solid #e2e8f0;
  padding: 14px 10px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.agenda-clean-hora strong {
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.agenda-clean-hora span {
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  margin-top: 4px;
}

.agenda-clean-conteudo {
  padding: 15px;
}

.agenda-clean-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.agenda-clean-id-row {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}

.agenda-clean-id,
.agenda-clean-tempo {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 950;
}

.agenda-clean-id {
  background: #eff6ff;
  color: #1d4ed8;
  border: 1px solid #bfdbfe;
}

.agenda-clean-tempo.agenda-tempo-atrasado {
  background: #fef2f2;
  color: #991b1b;
}

.agenda-clean-tempo.agenda-tempo-hoje {
  background: #fef3c7;
  color: #92400e;
}

.agenda-clean-tempo.agenda-tempo-futuro {
  background: #dcfce7;
  color: #166534;
}

.agenda-clean-tempo.agenda-tempo-neutro {
  background: #f1f5f9;
  color: #475569;
}

.agenda-clean-topo h3 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.agenda-clean-topo p {
  margin: 6px 0 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.agenda-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.agenda-status-agendado {
  background: #dbeafe;
  color: #1d4ed8;
}

.agenda-status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.agenda-status-concluido {
  background: #dcfce7;
  color: #166534;
}

.agenda-status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.agenda-status-padrao {
  background: #f1f5f9;
  color: #334155;
}

.agenda-clean-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 12px;
  margin-bottom: 12px;
}

.agenda-clean-meta span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}

.agenda-clean-meta strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
  word-break: break-word;
}

.agenda-clean-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

/* Vazio */

.agenda-clean-vazio {
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  padding: 34px 20px;
  text-align: center;
}

.agenda-clean-vazio-icone {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: #f0fdf4;
  color: #166534;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 12px;
}

.agenda-clean-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
  margin-bottom: 6px;
}

.agenda-clean-vazio p {
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  margin: 0 auto 16px auto;
  max-width: 520px;
  line-height: 1.55;
}

/* Responsivo */

@media (max-width: 1200px) {
  .agenda-clean-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .agenda-clean-filtros {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .agenda-clean-filtros-acoes {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .agenda-clean-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .agenda-clean-hero h1 {
    font-size: 28px;
  }

  .agenda-clean-kpis,
  .agenda-clean-filtros,
  .agenda-clean-meta {
    grid-template-columns: 1fr;
  }

  .agenda-clean-card-header,
  .agenda-clean-topo {
    flex-direction: column;
    align-items: flex-start;
  }

  .agenda-clean-item {
    grid-template-columns: 5px 1fr;
  }

  .agenda-clean-hora {
    grid-column: 2;
    border-right: 0;
    border-bottom: 1px solid #e2e8f0;
    text-align: left;
    align-items: flex-start;
  }

  .agenda-clean-conteudo {
    grid-column: 2;
  }

  .agenda-clean-acoes {
    justify-content: flex-start;
  }

  .agenda-clean-btn-primary,
  .agenda-clean-btn-secondary,
  .agenda-clean-btn-danger,
  .agenda-clean-filtros-acoes {
    width: 100%;
  }

  .agenda-clean-filtros-acoes {
    flex-direction: column;
  }
}
/* =========================================================
   AGENDA - FORMULÁRIO DE EDIÇÃO
========================================================= */

.agenda-form-hero {
  background:
    radial-gradient(circle at top left, rgba(22, 163, 74, 0.13), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.agenda-form-hero span {
  display: inline-flex;
  align-items: center;
  background: #f0fdf4;
  color: #166534;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.agenda-form-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 31px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.agenda-form-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.agenda-form-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 22px;
  margin-bottom: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.agenda-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.agenda-form-col-full {
  grid-column: 1 / -1;
}

.agenda-form-grupo label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 7px;
}

.agenda-form-grupo input,
.agenda-form-grupo select,
.agenda-form-grupo textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  padding: 11px 12px;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.agenda-form-grupo input,
.agenda-form-grupo select {
  min-height: 46px;
}

.agenda-form-grupo textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.5;
}

.agenda-form-grupo input:focus,
.agenda-form-grupo select:focus,
.agenda-form-grupo textarea:focus {
  border-color: #16a34a;
  box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.12);
}

.agenda-form-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 8px;
}

.agenda-form-btn-primary,
.agenda-form-btn-secondary {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.agenda-form-btn-primary {
  background: linear-gradient(135deg, #16a34a, #2563eb);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(22, 163, 74, 0.18);
}

.agenda-form-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(22, 163, 74, 0.24);
}

.agenda-form-btn-secondary {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.agenda-form-btn-secondary:hover {
  border-color: #bbf7d0;
  color: #166534;
  background: #f0fdf4;
}

.agenda-form-alerta {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 850;
}

@media (max-width: 760px) {
  .agenda-form-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .agenda-form-hero h1 {
    font-size: 26px;
  }

  .agenda-form-grid {
    grid-template-columns: 1fr;
  }

  .agenda-form-acoes,
  .agenda-form-btn-primary,
  .agenda-form-btn-secondary {
    width: 100%;
  }

  .agenda-form-acoes {
    flex-direction: column-reverse;
  }
}
/* =========================================================
   AGENDA - FEEDBACK DE ERRO
========================================================= */

.agenda-clean-feedback.erro {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}
/* =========================================================
   TICKETS - VISUAL SIMPLES E MODERNO
========================================================= */

.tickets-clean-hero {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.tickets-clean-hero span {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.tickets-clean-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 31px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.tickets-clean-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.tickets-clean-hero-acoes {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tickets-clean-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.tickets-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.tickets-card-header h2 {
  margin: 0 0 5px 0;
  color: #0f172a;
  font-size: 20px;
  font-weight: 950;
}

.tickets-card-header p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
}

.tickets-btn-primary,
.tickets-btn-secondary,
.tickets-limpar {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.tickets-btn-primary {
  background: linear-gradient(135deg, #2563eb, #16a34a);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.tickets-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.24);
}

.tickets-btn-secondary,
.tickets-limpar {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.tickets-btn-secondary:hover,
.tickets-limpar:hover {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.tickets-feedback {
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 850;
}

.tickets-feedback.sucesso {
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  color: #166534;
}

.tickets-feedback.erro {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.tickets-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.tickets-kpi {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.tickets-kpi span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 8px;
}

.tickets-kpi strong {
  display: block;
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
  margin-bottom: 7px;
}

.tickets-kpi small {
  color: #94a3b8;
  font-size: 12px;
  font-weight: 750;
}

.tickets-kpi.azul {
  border-color: #bfdbfe;
}

.tickets-kpi.amarelo {
  border-color: #fde68a;
}

.tickets-kpi.verde {
  border-color: #bbf7d0;
}

.tickets-kpi.vermelho {
  border-color: #fecaca;
}

.tickets-filtros {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr auto;
  gap: 12px;
  align-items: end;
}

.form-grupo label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 7px;
}

.form-grupo input,
.form-grupo select,
.form-grupo textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  padding: 11px 12px;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.form-grupo input,
.form-grupo select {
  min-height: 46px;
}

.form-grupo textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.5;
}

.form-grupo input:focus,
.form-grupo select:focus,
.form-grupo textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.form-ajuda {
  display: block;
  margin-top: 6px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.tickets-filtros-acoes {
  display: flex;
  gap: 8px;
}

.tickets-lista-simples {
  display: grid;
  gap: 12px;
}

.ticket-linha-simples {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
  transition: 0.16s ease;
}

.ticket-linha-simples:hover {
  transform: translateY(-1px);
  border-color: #bfdbfe;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.07);
}

.ticket-linha-info {
  min-width: 0;
  flex: 1;
}

.ticket-linha-topo {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.ticket-numero {
  background: #f1f5f9;
  color: #334155;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 950;
}

.ticket-linha-info h3 {
  margin: 0 0 8px 0;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.3;
}

.ticket-descricao-preview {
  margin: 0 0 8px 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.ticket-linha-meta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  color: #64748b;
  font-size: 13px;
  font-weight: 700;
}

.ticket-linha-meta strong {
  color: #334155;
}

.ticket-status,
.ticket-prioridade,
.ticket-fotos-badge {
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.ticket-fotos-badge {
  background: #f8fafc;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.status-aberto,
.status-novo,
.status-pendente {
  background: #dbeafe;
  color: #1d4ed8;
}

.status-em-andamento,
.status-andamento {
  background: #fef3c7;
  color: #92400e;
}

.status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.status-concluido,
.status-finalizado {
  background: #dcfce7;
  color: #166534;
}

.status-cancelado {
  background: #fee2e2;
  color: #991b1b;
}

.prioridade-baixa {
  background: #dcfce7;
  color: #166534;
}

.prioridade-media {
  background: #dbeafe;
  color: #1d4ed8;
}

.prioridade-alta {
  background: #ffedd5;
  color: #c2410c;
}

.prioridade-urgente {
  background: #fee2e2;
  color: #b91c1c;
}

.ticket-linha-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ticket-btn,
.ticket-btn-danger {
  min-height: 38px;
  border-radius: 12px;
  padding: 9px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.ticket-btn {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.ticket-btn:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.ticket-btn-danger {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
}

.ticket-btn-danger:hover {
  background: #ffe4e6;
  color: #9f1239;
}

.tickets-vazio {
  background: #ffffff;
  border: 1px dashed #cbd5e1;
  border-radius: 18px;
  padding: 28px;
  text-align: center;
  color: #64748b;
}

.tickets-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  margin-bottom: 6px;
}

/* =========================================================
   TICKETS - ANEXOS / FOTOS
========================================================= */

.ticket-anexos-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 18px;
  margin-top: 18px;
  margin-bottom: 18px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.ticket-anexos-header {
  margin-bottom: 14px;
}

.ticket-anexos-header h2 {
  margin: 0 0 4px 0;
  color: #0f172a;
  font-size: 20px;
  font-weight: 950;
}

.ticket-anexos-header p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
}

.ticket-anexos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}

.ticket-anexo-item {
  display: block;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  aspect-ratio: 1 / 1;
  transition: 0.16s ease;
}

.ticket-anexo-item:hover {
  transform: translateY(-2px);
  border-color: #93c5fd;
  box-shadow: 0 12px 24px rgba(37, 99, 235, 0.12);
}

.ticket-anexo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 980px) {
  .tickets-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tickets-filtros {
    grid-template-columns: 1fr 1fr;
  }

  .tickets-filtros-acoes {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .tickets-clean-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .tickets-clean-hero h1 {
    font-size: 26px;
  }

  .tickets-kpis {
    grid-template-columns: 1fr;
  }

  .tickets-filtros {
    grid-template-columns: 1fr;
  }

  .tickets-filtros-acoes,
  .tickets-btn-primary,
  .tickets-btn-secondary {
    width: 100%;
  }

  .ticket-linha-simples {
    flex-direction: column;
    align-items: stretch;
  }

  .ticket-linha-acoes {
    justify-content: stretch;
  }

  .ticket-btn,
  .ticket-btn-danger {
    flex: 1;
  }

  .ticket-linha-meta {
    flex-direction: column;
    gap: 4px;
  }
}
/* =========================================================
   TICKETS - FORMULÁRIO NOVO / EDITAR
========================================================= */

.ticket-form-hero {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.ticket-form-hero span {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.ticket-form-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 31px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.ticket-form-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.ticket-form-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 22px;
  margin-bottom: 18px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.ticket-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ticket-form-col-full {
  grid-column: 1 / -1;
}

.ticket-form-grupo label {
  display: block;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  margin-bottom: 7px;
}

.ticket-form-grupo input,
.ticket-form-grupo select,
.ticket-form-grupo textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  background: #ffffff;
  color: #0f172a;
  border-radius: 14px;
  padding: 11px 12px;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: 0.16s ease;
}

.ticket-form-grupo input,
.ticket-form-grupo select {
  min-height: 46px;
}

.ticket-form-grupo textarea {
  resize: vertical;
  min-height: 150px;
  line-height: 1.5;
}

.ticket-form-grupo input[type="file"] {
  padding: 10px;
  background: #f8fafc;
  cursor: pointer;
}

.ticket-form-grupo input:focus,
.ticket-form-grupo select:focus,
.ticket-form-grupo textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.ticket-form-acoes {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 8px;
}

.ticket-form-btn-primary,
.ticket-form-btn-secondary {
  min-height: 42px;
  border-radius: 14px;
  padding: 10px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.ticket-form-btn-primary {
  background: linear-gradient(135deg, #2563eb, #16a34a);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.ticket-form-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.24);
}

.ticket-form-btn-secondary {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.ticket-form-btn-secondary:hover {
  border-color: #bfdbfe;
  color: #1d4ed8;
  background: #eff6ff;
}

.ticket-form-alerta {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
  border-radius: 18px;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 14px;
  font-weight: 850;
}

@media (max-width: 760px) {
  .ticket-form-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .ticket-form-hero h1 {
    font-size: 26px;
  }

  .ticket-form-grid {
    grid-template-columns: 1fr;
  }

  .ticket-form-acoes,
  .ticket-form-btn-primary,
  .ticket-form-btn-secondary {
    width: 100%;
  }

  .ticket-form-acoes {
    flex-direction: column-reverse;
  }
}
/* =========================================================
   TICKETS - VISUALIZAÇÃO
========================================================= */

.ticket-view-hero {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, 0.14), transparent 34%),
    linear-gradient(135deg, #ffffff, #f8fafc);
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 26px;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.ticket-view-hero span {
  display: inline-flex;
  align-items: center;
  background: #eff6ff;
  color: #1d4ed8;
  border-radius: 999px;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}

.ticket-view-hero h1 {
  margin: 0 0 7px 0;
  color: #0f172a;
  font-size: 31px;
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.ticket-view-hero p {
  margin: 0;
  color: #64748b;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.ticket-view-acoes-topo {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.ticket-view-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 18px;
  margin-bottom: 18px;
}

.ticket-view-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 9px 22px rgba(15, 23, 42, 0.045);
}

.ticket-view-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.ticket-view-header > div {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.ticket-view-main h2 {
  margin: 0 0 14px 0;
  color: #0f172a;
  font-size: 24px;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

.ticket-view-descricao {
  color: #334155;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.7;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 16px;
  min-height: 160px;
}

.ticket-view-descricao em {
  color: #94a3b8;
}

.ticket-view-side h3 {
  margin: 0 0 14px 0;
  color: #0f172a;
  font-size: 19px;
  font-weight: 950;
}

.ticket-view-info-lista {
  display: grid;
  gap: 10px;
}

.ticket-view-info-lista div {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 12px;
}

.ticket-view-info-lista span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 5px;
}

.ticket-view-info-lista strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  word-break: break-word;
}

.ticket-view-acoes-baixo {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 16px;
  margin-bottom: 18px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.04);
}

.ticket-form-hero-acoes {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .ticket-view-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ticket-view-hero {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px;
  }

  .ticket-view-hero h1 {
    font-size: 26px;
  }

  .ticket-view-acoes-topo,
  .ticket-form-hero-acoes,
  .ticket-view-acoes-baixo,
  .ticket-form-btn-primary,
  .ticket-form-btn-secondary,
  .ticket-btn-danger {
    width: 100%;
  }

  .ticket-view-acoes-topo,
  .ticket-form-hero-acoes,
  .ticket-view-acoes-baixo {
    flex-direction: column;
  }
}
/* =========================================================
   TICKETS - GERENCIAMENTO DE FOTOS
========================================================= */

.ticket-anexos-grid-gerenciar {
  align-items: start;
}

.ticket-anexo-gerenciar {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 8px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.ticket-anexo-gerenciar .ticket-anexo-item {
  margin-bottom: 8px;
}

.ticket-anexo-acoes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ticket-anexo-btn,
.ticket-anexo-btn-danger {
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  transition: 0.16s ease;
  text-align: center;
}

.ticket-anexo-btn {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.ticket-anexo-btn:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.ticket-anexo-btn-danger {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
}

.ticket-anexo-btn-danger:hover {
  background: #ffe4e6;
  color: #9f1239;
}

@media (max-width: 520px) {
  .ticket-anexo-acoes {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   TICKETS - PRÉ-VISUALIZAÇÃO ANTES DO UPLOAD
========================================================= */

.ticket-preview-lista {
  display: none;
  margin-top: 12px;
  gap: 10px;
}

.ticket-preview-lista.ativo {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.ticket-preview-item {
  position: relative;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.ticket-preview-item img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
  background: #f8fafc;
}

.ticket-preview-info {
  padding: 9px;
  display: grid;
  gap: 4px;
}

.ticket-preview-info strong {
  color: #0f172a;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  word-break: break-word;
}

.ticket-preview-info span {
  color: #64748b;
  font-size: 11px;
  font-weight: 750;
}

.ticket-preview-remover {
  width: calc(100% - 16px);
  min-height: 34px;
  margin: 0 8px 8px 8px;
  border: 1px solid #fecdd3;
  border-radius: 12px;
  background: #fff1f2;
  color: #be123c;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  transition: 0.16s ease;
}

.ticket-preview-remover:hover {
  background: #ffe4e6;
  color: #9f1239;
}

/* =========================================================
   TICKETS - GERENCIAMENTO DE FOTOS JÁ ENVIADAS
========================================================= */

.ticket-anexos-grid-gerenciar {
  align-items: start;
}

.ticket-anexo-gerenciar {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  padding: 8px;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}

.ticket-anexo-gerenciar .ticket-anexo-item {
  margin-bottom: 8px;
}

.ticket-anexo-acoes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.ticket-anexo-btn,
.ticket-anexo-btn-danger {
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  transition: 0.16s ease;
  text-align: center;
}

.ticket-anexo-btn {
  background: #ffffff;
  color: #334155;
  border: 1px solid #e2e8f0;
}

.ticket-anexo-btn:hover {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
}

.ticket-anexo-btn-danger {
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
}

.ticket-anexo-btn-danger:hover {
  background: #ffe4e6;
  color: #9f1239;
}

@media (max-width: 520px) {
  .ticket-preview-lista.ativo {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ticket-preview-item img {
    height: 110px;
  }

  .ticket-anexo-acoes {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   TICKETS - LIGHTBOX / VISUALIZAÇÃO AMPLIADA
========================================================= */

body.ticket-lightbox-aberto {
  overflow: hidden;
}

.ticket-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 22px;
}

.ticket-lightbox.ativo {
  display: flex;
}

.ticket-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.82);
  backdrop-filter: blur(6px);
}

.ticket-lightbox-conteudo {
  position: relative;
  z-index: 2;
  width: min(1100px, 96vw);
  max-height: 92vh;
  background: #020617;
  border: 1px solid rgba(226, 232, 240, 0.18);
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.ticket-lightbox-imagem-wrap {
  min-height: 280px;
  max-height: calc(92vh - 76px);
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at center, rgba(30, 41, 59, 0.75), #020617);
}

.ticket-lightbox-imagem-wrap img {
  max-width: 100%;
  max-height: calc(92vh - 76px);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.ticket-lightbox-fechar {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 5;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(226, 232, 240, 0.24);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.75);
  color: #ffffff;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
  transition: 0.16s ease;
}

.ticket-lightbox-fechar:hover {
  background: rgba(239, 68, 68, 0.9);
  border-color: rgba(254, 202, 202, 0.75);
  transform: scale(1.04);
}

.ticket-lightbox-nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  transform: translateY(-50%);
  width: 48px;
  height: 58px;
  border: 1px solid rgba(226, 232, 240, 0.22);
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.72);
  color: #ffffff;
  font-size: 44px;
  line-height: 1;
  cursor: pointer;
  transition: 0.16s ease;
}

.ticket-lightbox-nav:hover {
  background: rgba(37, 99, 235, 0.9);
  border-color: rgba(191, 219, 254, 0.85);
  transform: translateY(-50%) scale(1.04);
}

.ticket-lightbox-prev {
  left: 16px;
}

.ticket-lightbox-next {
  right: 16px;
}

.ticket-lightbox-rodape {
  min-height: 66px;
  padding: 14px 18px;
  background: rgba(2, 6, 23, 0.96);
  border-top: 1px solid rgba(226, 232, 240, 0.14);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.ticket-lightbox-rodape strong {
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  word-break: break-word;
}

.ticket-lightbox-rodape span {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 760px) {
  .ticket-lightbox {
    padding: 10px;
  }

  .ticket-lightbox-conteudo {
    width: 100%;
    max-height: 94vh;
    border-radius: 18px;
  }

  .ticket-lightbox-imagem-wrap {
    min-height: 240px;
    max-height: calc(94vh - 76px);
  }

  .ticket-lightbox-imagem-wrap img {
    max-height: calc(94vh - 76px);
  }

  .ticket-lightbox-nav {
    width: 42px;
    height: 52px;
    font-size: 38px;
    border-radius: 15px;
  }

  .ticket-lightbox-prev {
    left: 8px;
  }

  .ticket-lightbox-next {
    right: 8px;
  }

  .ticket-lightbox-fechar {
    top: 10px;
    right: 10px;
    width: 39px;
    height: 39px;
    font-size: 28px;
  }

  .ticket-lightbox-rodape {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}
/* =========================================================
   TICKETS - BOTÃO DE DOWNLOAD DE ANEXOS
========================================================= */

.ticket-anexo-btn-download {
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  transition: 0.16s ease;
  text-align: center;
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.ticket-anexo-btn-download:hover {
  background: #d1fae5;
  color: #065f46;
  border-color: #6ee7b7;
}

.ticket-anexo-acoes.com-download {
  grid-template-columns: 1fr 1fr 1fr;
}

@media (max-width: 620px) {
  .ticket-anexo-acoes.com-download {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   TICKETS - BOTÃO DE DOWNLOAD DE ANEXOS
========================================================= */

.ticket-anexo-btn-download {
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 12px;
  font-weight: 950;
  transition: 0.16s ease;
  text-align: center;
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

.ticket-anexo-btn-download:hover {
  background: #d1fae5;
  color: #065f46;
  border-color: #6ee7b7;
}

.ticket-anexo-acoes.com-download {
  grid-template-columns: 1fr 1fr 1fr;
}

.ticket-anexo-acoes-ver.com-download {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 620px) {
  .ticket-anexo-acoes.com-download,
  .ticket-anexo-acoes-ver.com-download {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   TICKETS - COMENTÁRIOS / HISTÓRICO
========================================================= */

.ticket-comentarios-card {
  margin-top: 18px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  padding: 18px;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.05);
}

.ticket-comentarios-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}

.ticket-comentarios-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: 20px;
  font-weight: 950;
}

.ticket-comentarios-header p {
  margin: 5px 0 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.ticket-comentario-form {
  display: grid;
  gap: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  padding: 14px;
  margin-bottom: 18px;
}

.ticket-comentario-form textarea {
  resize: vertical;
  min-height: 110px;
}

.ticket-comentario-acoes {
  display: flex;
  justify-content: flex-end;
}

.ticket-comentarios-lista {
  display: grid;
  gap: 12px;
}

.ticket-comentario-item {
  position: relative;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 5px solid #2563eb;
  border-radius: 18px;
  padding: 14px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}

.ticket-comentario-item.tipo-comentario {
  border-left-color: #2563eb;
}

.ticket-comentario-item.tipo-andamento {
  border-left-color: #7c3aed;
}

.ticket-comentario-item.tipo-retorno {
  border-left-color: #0891b2;
}

.ticket-comentario-item.tipo-interno {
  border-left-color: #f59e0b;
}

.ticket-comentario-item.tipo-conclusao {
  border-left-color: #16a34a;
}

.ticket-comentario-topo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 10px;
}

.ticket-comentario-topo div {
  display: grid;
  gap: 3px;
}

.ticket-comentario-topo strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}

.ticket-comentario-topo span {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.ticket-comentario-topo em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.ticket-comentario-texto {
  color: #334155;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 600;
  word-break: break-word;
}

@media (max-width: 620px) {
  .ticket-comentarios-card {
    padding: 14px;
    border-radius: 18px;
  }

  .ticket-comentarios-header {
    flex-direction: column;
  }

  .ticket-comentario-topo {
    flex-direction: column;
    gap: 8px;
  }

  .ticket-comentario-acoes {
    justify-content: stretch;
  }

  .ticket-comentario-acoes .ticket-form-btn-primary {
    width: 100%;
  }
}
/* =========================================================
   TICKETS - EXCLUSÃO DE COMENTÁRIOS
========================================================= */

.ticket-comentario-topo-acoes {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.ticket-comentario-btn-excluir {
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #fff1f2;
  color: #be123c;
  border: 1px solid #fecdd3;
  text-decoration: none;
  font-size: 11px;
  font-weight: 950;
  transition: 0.16s ease;
  white-space: nowrap;
}

.ticket-comentario-btn-excluir:hover {
  background: #ffe4e6;
  color: #9f1239;
  border-color: #fda4af;
}

@media (max-width: 620px) {
  .ticket-comentario-topo-acoes {
    justify-content: flex-start;
  }
}
/* =========================================================
   METAS - DASHBOARD E PROGRESSO REAL
========================================================= */

.metas-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px;
  background: linear-gradient(135deg, #0f172a, #1d4ed8);
  border-radius: 24px;
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.16);
}

.metas-hero span {
  display: inline-block;
  margin-bottom: 7px;
  color: #bfdbfe;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.metas-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: 28px;
  font-weight: 950;
}

.metas-hero p {
  max-width: 650px;
  margin: 8px 0 0 0;
  color: #dbeafe;
  font-size: 14px;
  font-weight: 600;
}

.metas-hero-acoes {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.metas-dashboard {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.metas-card-resumo {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.metas-card-resumo span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.metas-card-resumo strong {
  display: block;
  margin-top: 8px;
  color: #0f172a;
  font-size: 30px;
  font-weight: 950;
  line-height: 1;
}

.metas-card-resumo small {
  display: block;
  margin-top: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.metas-card-resumo.alerta {
  border-color: #fecdd3;
  background: #fff1f2;
}

.metas-card-resumo.alerta strong {
  color: #be123c;
}

.metas-card-resumo.aviso {
  border-color: #fde68a;
  background: #fffbeb;
}

.metas-card-resumo.aviso strong {
  color: #b45309;
}

.metas-lista {
  display: grid;
  gap: 14px;
}

.meta-item {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.04);
}

.meta-item-topo {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.meta-setor {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 11px;
  font-weight: 950;
}

.meta-item h3 {
  margin: 8px 0 0 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.meta-item p {
  margin: 7px 0 0 0;
  color: #64748b;
  font-size: 13px;
  line-height: 1.45;
  font-weight: 600;
}

.meta-info-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.meta-info-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 12px;
}

.meta-info-box strong {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.meta-info-box span {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
}

.meta-info-box small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 11px;
  font-weight: 750;
}

.meta-progress-area {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.meta-progress-label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.meta-progress-label strong {
  color: #334155;
  font-size: 12px;
  font-weight: 950;
}

.meta-progress-label span {
  color: #0f172a;
  font-size: 12px;
  font-weight: 950;
}

.progress-wrapper {
  width: 100%;
  height: 12px;
  overflow: hidden;
  background: #e2e8f0;
  border-radius: 999px;
}

.progress-wrapper-prazo {
  height: 8px;
}

.progress-bar {
  height: 100%;
  border-radius: 999px;
  transition: width 0.25s ease;
}

.progress-baixo {
  background: #2563eb;
}

.progress-medio {
  background: #f59e0b;
}

.progress-alto {
  background: #dc2626;
}

.progress-concluido {
  background: #16a34a;
}

.meta-colaboradores {
  padding: 11px 12px;
  border-radius: 16px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 650;
  margin-bottom: 14px;
}

.meta-colaboradores strong {
  color: #0f172a;
  font-weight: 950;
}

.meta-atualizar-linha {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
}

.meta-atualizar-form {
  display: grid;
  gap: 6px;
  flex: 1;
  min-width: 260px;
}

.meta-atualizar-form label {
  color: #334155;
  font-size: 12px;
  font-weight: 950;
}

.meta-atualizar-form div {
  display: flex;
  gap: 8px;
}

.meta-atualizar-form input {
  width: 180px;
  max-width: 100%;
}

.meta-actions {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.badge.status-concluida {
  background: #dcfce7;
  color: #166534;
}

.badge.status-atrasada {
  background: #fee2e2;
  color: #991b1b;
}

.badge.status-andamento {
  background: #dbeafe;
  color: #1d4ed8;
}

.badge.status-pendente {
  background: #fef3c7;
  color: #92400e;
}

@media (max-width: 1100px) {
  .metas-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meta-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .metas-hero {
    flex-direction: column;
    border-radius: 18px;
  }

  .metas-hero-acoes {
    width: 100%;
    justify-content: stretch;
  }

  .metas-hero-acoes a {
    flex: 1;
    text-align: center;
  }

  .metas-dashboard {
    grid-template-columns: 1fr;
  }

  .meta-item-topo {
    flex-direction: column;
  }

  .meta-info-grid {
    grid-template-columns: 1fr;
  }

  .meta-atualizar-linha {
    align-items: stretch;
  }

  .meta-atualizar-form div {
    flex-direction: column;
  }

  .meta-atualizar-form input {
    width: 100%;
  }

  .meta-actions {
    justify-content: stretch;
  }

  .meta-actions a {
    flex: 1;
    text-align: center;
  }
}
/* =========================================================
   METAS - NOVA META
========================================================= */

.nova-meta-card {
  border-radius: 24px;
}

.nova-meta-card textarea {
  resize: vertical;
  min-height: 110px;
}

.nova-meta-card small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 650;
}

.nova-meta-colaboradores {
  margin-top: 18px;
  padding: 16px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.nova-meta-colaboradores-topo {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.nova-meta-colaboradores h3 {
  margin: 0;
  color: #0f172a;
  font-size: 17px;
  font-weight: 950;
}

.nova-meta-colaboradores p {
  margin: 5px 0 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.nova-meta-usuarios-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.nova-meta-usuario-item {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  cursor: pointer;
  transition: 0.16s ease;
}

.nova-meta-usuario-item:hover {
  border-color: #93c5fd;
  background: #eff6ff;
}

.nova-meta-usuario-item input {
  width: auto;
  accent-color: #2563eb;
}

.nova-meta-usuario-item span {
  color: #334155;
  font-size: 13px;
  font-weight: 800;
}

.nova-meta-buttons {
  margin-top: 18px;
}

@media (max-width: 900px) {
  .nova-meta-usuarios-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .nova-meta-usuarios-grid {
    grid-template-columns: 1fr;
  }

  .nova-meta-buttons {
    display: grid;
  }

  .nova-meta-buttons a,
  .nova-meta-buttons button {
    width: 100%;
    text-align: center;
  }
}
/* =========================================================
   METAS - EDITAR META
========================================================= */

.nova-meta-card input[type="date"],
.nova-meta-card select,
.nova-meta-card textarea {
  width: 100%;
}

.nova-meta-card textarea {
  resize: vertical;
}

.nova-meta-usuario-item input:checked + span {
  color: #1d4ed8;
  font-weight: 950;
}

.nova-meta-usuario-item:has(input:checked) {
  background: #eff6ff;
  border-color: #93c5fd;
}
/* =========================================================
   METAS - LIXEIRA
========================================================= */

.lixeira-metas-hero {
  background: linear-gradient(135deg, #3f3f46, #991b1b);
}

.lixeira-meta-item {
  border-color: #fecaca;
  background: #fffafa;
}

.lixeira-meta-item .meta-setor {
  background: #fee2e2;
  color: #991b1b;
}

.lixeira-meta-actions {
  justify-content: flex-end;
  margin-top: 14px;
}

.lixeira-meta-actions .btn-danger {
  background: #991b1b;
}

.lixeira-meta-actions .btn-danger:hover {
  background: #7f1d1d;
}

@media (max-width: 700px) {
  .lixeira-meta-actions {
    justify-content: stretch;
  }

  .lixeira-meta-actions a {
    flex: 1;
    text-align: center;
  }
}
/* =========================================================
   METAS - CONCLUÍDAS
========================================================= */

.metas-concluidas-hero {
  background: linear-gradient(135deg, #064e3b, #16a34a);
}

.meta-concluida-item {
  border-color: #bbf7d0;
  background: #f7fff9;
}

.meta-concluida-item .meta-setor {
  background: #dcfce7;
  color: #166534;
}

.sucesso-card {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.sucesso-card strong {
  color: #15803d;
}

.meta-concluida-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.meta-concluida-footer .meta-actions {
  justify-content: flex-end;
}

@media (max-width: 700px) {
  .meta-concluida-footer {
    align-items: stretch;
  }

  .meta-concluida-footer .badge {
    width: 100%;
    text-align: center;
  }

  .meta-concluida-footer .meta-actions {
    width: 100%;
    justify-content: stretch;
  }

  .meta-concluida-footer .meta-actions a {
    flex: 1;
    text-align: center;
  }
}
/* =========================================================
   METAS - RELATÓRIO
========================================================= */

.relatorio-metas-hero {
  background: linear-gradient(135deg, #1e1b4b, #2563eb);
}

.relatorio-dashboard {
  margin-bottom: 18px;
}

.relatorio-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.relatorio-kpi-card {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.relatorio-kpi-card span {
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.relatorio-kpi-card strong {
  display: block;
  margin-top: 8px;
  color: #0f172a;
  font-size: 26px;
  font-weight: 950;
  line-height: 1;
}

.relatorio-kpi-card small {
  display: block;
  margin-top: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.relatorio-kpi-card.destaque {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.relatorio-progress {
  margin-top: 12px;
  height: 10px;
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
}

.relatorio-table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
}

.relatorio-table thead th {
  padding: 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  text-align: left;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.relatorio-table tbody td {
  padding: 12px;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
  font-size: 13px;
  font-weight: 650;
  vertical-align: top;
}

.relatorio-table tbody tr:hover {
  background: #f8fafc;
}

.relatorio-table td strong {
  color: #0f172a;
  font-weight: 950;
}

.relatorio-table td small {
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 11px;
  font-weight: 650;
}

.relatorio-table-progress {
  width: 140px;
  height: 8px;
  margin-top: 7px;
}

@media (max-width: 1100px) {
  .relatorio-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .relatorio-kpis {
    grid-template-columns: 1fr;
  }
}

@media print {
  body {
    background: #ffffff !important;
  }

  .container {
    width: 100%;
    max-width: none;
  }

  header,
  nav,
  .menu,
  .metas-hero-acoes,
  .buttons,
  .btn-primary,
  .btn-secondary,
  .btn-success,
  .btn-danger,
  .btn-warning {
    display: none !important;
  }

  .metas-hero,
  .relatorio-metas-hero {
    background: #ffffff !important;
    color: #0f172a !important;
    box-shadow: none !important;
    border: 1px solid #e2e8f0;
  }

  .metas-hero h1,
  .metas-hero p,
  .metas-hero span {
    color: #0f172a !important;
  }

  .card,
  .metas-card-resumo,
  .relatorio-kpi-card {
    box-shadow: none !important;
    break-inside: avoid;
  }

  .relatorio-table {
    min-width: 100%;
    font-size: 11px;
  }

  .relatorio-table thead th,
  .relatorio-table tbody td {
    padding: 7px;
  }
}
/* =========================================================
   METAS - MELHORIA VISUAL DA LISTAGEM
   Versão visual mais limpa e moderna
========================================================= */

.metas-hero {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  margin: 18px 0 20px;
  border-radius: 28px;
  background: linear-gradient(135deg, #1d4ed8, #7c3aed);
  box-shadow: 0 24px 55px rgba(37, 99, 235, 0.22);
  color: #ffffff;
}

.metas-hero::before {
  content: "";
  position: absolute;
  inset: auto -90px -130px auto;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
}

.metas-hero::after {
  content: "";
  position: absolute;
  top: -90px;
  left: 45%;
  width: 180px;
  height: 180px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
}

.metas-hero > div {
  position: relative;
  z-index: 1;
}

.metas-hero span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  color: #eff6ff;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.metas-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 950;
  line-height: 1.05;
}

.metas-hero p {
  max-width: 680px;
  margin: 12px 0 0;
  color: #dbeafe;
  font-size: 15px;
  font-weight: 650;
  line-height: 1.55;
}

.metas-hero-acoes {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 250px;
}

.metas-hero-acoes a {
  box-shadow: 0 12px 24px rgba(15, 23, 42, 0.16);
}

/* =========================================================
   DASHBOARD DE RESUMO
========================================================= */

.metas-dashboard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 18px;
}

.metas-card-resumo {
  position: relative;
  overflow: hidden;
  min-height: 118px;
  padding: 18px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

.metas-card-resumo::after {
  content: "";
  position: absolute;
  right: -34px;
  bottom: -38px;
  width: 110px;
  height: 110px;
  border-radius: 999px;
  background: #eff6ff;
}

.metas-card-resumo span {
  position: relative;
  z-index: 1;
  display: block;
  color: #64748b;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.metas-card-resumo strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 10px;
  color: #0f172a;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}

.metas-card-resumo small {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 9px;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.metas-card-resumo.alerta {
  border-color: #fecaca;
  background: #fff7f7;
}

.metas-card-resumo.alerta::after {
  background: #fee2e2;
}

.metas-card-resumo.alerta strong {
  color: #b91c1c;
}

.metas-card-resumo.sucesso-card {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.metas-card-resumo.sucesso-card::after {
  background: #dcfce7;
}

.metas-card-resumo.sucesso-card strong {
  color: #15803d;
}

/* =========================================================
   CARDS PRINCIPAIS DE METAS
========================================================= */

.metas-lista {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.meta-item {
  position: relative;
  overflow: hidden;
  padding: 20px;
  border: 1px solid #e2e8f0;
  border-left: 6px solid #2563eb;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 16px 35px rgba(15, 23, 42, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.meta-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 22px 48px rgba(15, 23, 42, 0.09);
  border-color: #bfdbfe;
}

.meta-item::before {
  content: "";
  position: absolute;
  top: -70px;
  right: -70px;
  width: 170px;
  height: 170px;
  border-radius: 999px;
  background: #eff6ff;
  opacity: 0.8;
}

.meta-item-topo {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.meta-item-topo h3 {
  margin: 9px 0 7px;
  color: #0f172a;
  font-size: 21px;
  font-weight: 950;
  line-height: 1.2;
}

.meta-item-topo p {
  max-width: 780px;
  margin: 0;
  color: #475569;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.55;
}

.meta-setor {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: #e0f2fe;
  color: #0369a1;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

/* =========================================================
   BADGES / STATUS
========================================================= */

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.045em;
  white-space: nowrap;
}

.status-concluida {
  background: #dcfce7;
  color: #166534;
}

.status-andamento {
  background: #dbeafe;
  color: #1d4ed8;
}

.status-pendente {
  background: #fef3c7;
  color: #92400e;
}

.status-atrasada {
  background: #fee2e2;
  color: #991b1b;
}

/* =========================================================
   INFORMAÇÕES DA META
========================================================= */

.meta-info-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.meta-info-box {
  min-height: 78px;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #f8fafc;
}

.meta-info-box strong {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.045em;
}

.meta-info-box span {
  display: block;
  margin-top: 7px;
  color: #0f172a;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.2;
}

.meta-info-box small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-weight: 700;
}

/* =========================================================
   PROGRESSO
========================================================= */

.meta-progress-area {
  position: relative;
  z-index: 1;
  margin-top: 16px;
  padding: 15px;
  border: 1px solid #e2e8f0;
  border-radius: 20px;
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}

.meta-progress-bloco {
  width: 100%;
}

.meta-progress-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.meta-progress-label strong {
  color: #334155;
  font-size: 13px;
  font-weight: 950;
}

.meta-progress-label span {
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}

.progress-wrapper {
  overflow: hidden;
  width: 100%;
  height: 12px;
  border-radius: 999px;
  background: #e2e8f0;
}

.progress-bar {
  height: 100%;
  min-width: 0;
  border-radius: 999px;
  background: #2563eb;
  transition: width 0.3s ease;
}

.progress-baixo {
  background: linear-gradient(90deg, #ef4444, #f97316);
}

.progress-medio {
  background: linear-gradient(90deg, #f59e0b, #eab308);
}

.progress-alto {
  background: linear-gradient(90deg, #2563eb, #06b6d4);
}

.progress-concluido {
  background: linear-gradient(90deg, #16a34a, #22c55e);
}

/* =========================================================
   COLABORADORES
========================================================= */

.meta-colaboradores {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: #f1f5f9;
  color: #334155;
  font-size: 13px;
  line-height: 1.45;
}

.meta-colaboradores strong {
  color: #0f172a;
  font-weight: 950;
}

.meta-colaboradores span {
  color: #475569;
  font-weight: 700;
}

/* =========================================================
   AÇÕES
========================================================= */

.actions,
.meta-actions {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 16px;
}

.btn-primary,
.btn-secondary,
.btn-success,
.btn-danger,
.btn-warning {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 13px;
  border: 0;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.btn-primary:hover,
.btn-secondary:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-warning:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: #2563eb;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(37, 99, 235, 0.18);
}

.btn-primary:hover {
  background: #1d4ed8;
}

.btn-secondary {
  background: #e2e8f0;
  color: #0f172a;
}

.btn-secondary:hover {
  background: #cbd5e1;
}

.btn-success {
  background: #16a34a;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(22, 163, 74, 0.18);
}

.btn-success:hover {
  background: #15803d;
}

.btn-danger {
  background: #dc2626;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(220, 38, 38, 0.16);
}

.btn-danger:hover {
  background: #b91c1c;
}

.btn-warning {
  background: #f59e0b;
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(245, 158, 11, 0.18);
}

.btn-warning:hover {
  background: #d97706;
}

/* =========================================================
   FILTROS / CARDS PADRÃO
========================================================= */

.card {
  padding: 22px;
  border: 1px solid #e2e8f0;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 15px 35px rgba(15, 23, 42, 0.055);
  margin-bottom: 18px;
}

.card h2 {
  margin: 0 0 8px;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.card > p {
  margin: 0 0 16px;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.form-group label {
  display: block;
  margin-bottom: 7px;
  color: #334155;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 13px;
  background: #ffffff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
}

.buttons {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 16px;
}

/* =========================================================
   FEEDBACK / EMPTY
========================================================= */

.tickets-feedback {
  padding: 14px 16px;
  border-radius: 16px;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 850;
}

.tickets-feedback.sucesso {
  border: 1px solid #bbf7d0;
  background: #f0fdf4;
  color: #166534;
}

.tickets-feedback.erro {
  border: 1px solid #fecaca;
  background: #fef2f2;
  color: #991b1b;
}

.empty {
  padding: 26px;
  border: 1px dashed #cbd5e1;
  border-radius: 20px;
  background: #f8fafc;
  color: #64748b;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}

/* =========================================================
   RESPONSIVO
========================================================= */

@media (max-width: 1100px) {
  .metas-dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .meta-info-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metas-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .metas-hero-acoes {
    justify-content: flex-start;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .metas-hero {
    padding: 22px;
    border-radius: 22px;
  }

  .metas-dashboard {
    grid-template-columns: 1fr;
  }

  .meta-item {
    padding: 16px;
    border-radius: 20px;
  }

  .meta-item-topo {
    flex-direction: column;
  }

  .meta-info-grid {
    grid-template-columns: 1fr;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .actions,
  .meta-actions,
  .buttons,
  .metas-hero-acoes {
    width: 100%;
  }

  .actions a,
  .meta-actions a,
  .buttons a,
  .buttons button,
  .metas-hero-acoes a {
    width: 100%;
    text-align: center;
  }

  .meta-colaboradores {
    flex-direction: column;
  }
}
/* =========================================================
   METAS.PHP - AJUSTES COMPLEMENTARES DO NOVO LAYOUT
========================================================= */

.metas-dashboard-secundario {
  margin-top: -4px;
}

.metas-area-listagem {
  margin-top: 18px;
}

.metas-listagem-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

.metas-listagem-topo h2 {
  margin-bottom: 4px;
}

.metas-listagem-topo p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 700;
}

.meta-descricao-vazia {
  color: #94a3b8 !important;
  font-style: italic;
}

.meta-card-atrasada {
  border-left-color: #dc2626;
}

.meta-card-atrasada::before {
  background: #fee2e2;
}

.meta-card-andamento {
  border-left-color: #2563eb;
}

.meta-card-andamento::before {
  background: #dbeafe;
}

.meta-card-pendente {
  border-left-color: #f59e0b;
}

.meta-card-pendente::before {
  background: #fef3c7;
}

@media (max-width: 700px) {
  .metas-listagem-topo {
    flex-direction: column;
  }
}
/* =========================================================
   CHECKLIST DE ANDAMENTO DA META
========================================================= */

.checklist-card {
  margin-top: 18px;
}

.checklist-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.checklist-topo h2 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.checklist-topo p {
  max-width: 720px;
  margin: 0;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.5;
}

.checklist-percentual {
  min-width: 155px;
  padding: 14px;
  border-radius: 18px;
  background: #eff6ff;
  text-align: center;
}

.checklist-percentual strong {
  display: block;
  color: #1d4ed8;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}

.checklist-percentual span {
  display: block;
  margin-top: 7px;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
}

.checklist-progress-area {
  margin-bottom: 16px;
}

.checklist-lista {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.checklist-empty {
  margin-bottom: 4px;
}

.checklist-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  background: #ffffff;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.checklist-item:hover {
  border-color: #bfdbfe;
  background: #f8fafc;
}

.checklist-item.concluido {
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.checklist-checkbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  border: 2px solid #94a3b8;
  border-radius: 10px;
  color: #ffffff;
  background: #ffffff;
  font-size: 18px;
  font-weight: 950;
  text-decoration: none;
}

.checklist-item.concluido .checklist-checkbox {
  border-color: #16a34a;
  background: #16a34a;
}

.checklist-texto {
  flex: 1;
  min-width: 0;
}

.checklist-texto strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.checklist-item.concluido .checklist-texto strong {
  color: #166534;
  text-decoration: line-through;
  text-decoration-thickness: 2px;
}

.checklist-texto span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

.checklist-excluir {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 10px;
  border-radius: 10px;
  background: #fee2e2;
  color: #991b1b;
  font-size: 12px;
  font-weight: 950;
  text-decoration: none;
}

.checklist-excluir:hover {
  background: #fecaca;
}

.checklist-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: end;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #e2e8f0;
}

.checklist-form .form-group {
  margin: 0;
}

.colaboradores-checklist-edicao {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.colaborador-check-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #e2e8f0;
  border-radius: 13px;
  background: #f8fafc;
  color: #334155;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.colaborador-check-item input {
  width: auto;
  min-height: auto;
}

.meta-progress-origem {
  display: block;
  margin-top: 8px;
  color: #64748b;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .colaboradores-checklist-edicao {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .checklist-topo {
    flex-direction: column;
  }

  .checklist-percentual {
    width: 100%;
  }

  .checklist-item {
    align-items: flex-start;
  }

  .checklist-form {
    grid-template-columns: 1fr;
  }

  .checklist-form button {
    width: 100%;
  }

  .checklist-excluir {
    align-self: flex-start;
  }

  .colaboradores-checklist-edicao {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   ALERTAS DO DASHBOARD - AGENDA E METAS
========================================================= */

.dashboard-alerta-agenda {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
}

.dashboard-alerta-agenda strong {
  color: #9a3412;
}

.dashboard-alerta-agenda p {
  color: #c2410c;
}

.dashboard-alerta-metas {
  border-color: #ddd6fe;
  background: linear-gradient(135deg, #f5f3ff, #ede9fe);
}

.dashboard-alerta-metas strong {
  color: #5b21b6;
}

.dashboard-alerta-metas p {
  color: #6d28d9;
}
/* =========================================================
   MEU PAINEL - ALERTAS E KPIS APRIMORADOS
========================================================= */

.meu-kpi-alerta {
  border-color: #fed7aa !important;
  background: linear-gradient(135deg, #fff7ed, #ffedd5) !important;
}

.meu-kpi-alerta span,
.meu-kpi-alerta small {
  color: #c2410c !important;
}

.meu-kpi-alerta strong {
  color: #9a3412 !important;
}

.meu-kpi-perigo {
  border-color: #fecaca !important;
  background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
}

.meu-kpi-perigo span,
.meu-kpi-perigo small {
  color: #b91c1c !important;
}

.meu-kpi-perigo strong {
  color: #991b1b !important;
}

.meu-clean-alertas-novo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.meu-alerta-item {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
}

.meu-alerta-item strong {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.meu-alerta-item p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.meu-alerta-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 10px;
  background: #0f172a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.meu-alerta-item a:hover {
  filter: brightness(1.05);
}

.meu-alerta-perigo {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.meu-alerta-perigo strong {
  color: #991b1b;
}

.meu-alerta-perigo p {
  color: #b91c1c;
}

.meu-alerta-perigo a {
  background: #dc2626;
}

.meu-alerta-info {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
}

.meu-alerta-info strong {
  color: #1d4ed8;
}

.meu-alerta-info p {
  color: #2563eb;
}

.meu-alerta-info a {
  background: #2563eb;
}

.meu-alerta-agenda {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
}

.meu-alerta-agenda strong {
  color: #9a3412;
}

.meu-alerta-agenda p {
  color: #c2410c;
}

.meu-alerta-agenda a {
  background: #ea580c;
}

.meu-alerta-metas {
  border-color: #ddd6fe;
  background: linear-gradient(135deg, #f5f3ff, #ede9fe);
}

.meu-alerta-metas strong {
  color: #5b21b6;
}

.meu-alerta-metas p {
  color: #6d28d9;
}

.meu-alerta-metas a {
  background: #7c3aed;
}

@media (max-width: 800px) {
  .meu-clean-alertas-novo {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   MEU PAINEL - AGENDAMENTOS PENDENTES
========================================================= */

.agenda-pendente-atrasada {
  border-left: 5px solid #dc2626 !important;
  background: #fef2f2 !important;
}

.agenda-pendente-atrasada strong {
  color: #991b1b !important;
}

.agenda-pendente-atrasada small {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

.agenda-pendente-hoje {
  border-left: 5px solid #ea580c !important;
  background: #fff7ed !important;
}

.agenda-pendente-hoje strong {
  color: #9a3412 !important;
}

.agenda-pendente-hoje small {
  color: #c2410c !important;
  font-weight: 900 !important;
}

.agenda-pendente-futura {
  border-left: 5px solid #2563eb !important;
  background: #eff6ff !important;
}

.agenda-pendente-futura strong {
  color: #1d4ed8 !important;
}

.agenda-pendente-futura small {
  color: #2563eb !important;
  font-weight: 900 !important;
}
/* =========================================================
   MEU PAINEL - ALERTAS, KPIS E AGENDAMENTOS PENDENTES
========================================================= */

.meu-kpi-alerta {
  border-color: #fed7aa !important;
  background: linear-gradient(135deg, #fff7ed, #ffedd5) !important;
}

.meu-kpi-alerta span,
.meu-kpi-alerta small {
  color: #c2410c !important;
}

.meu-kpi-alerta strong {
  color: #9a3412 !important;
}

.meu-kpi-perigo {
  border-color: #fecaca !important;
  background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
}

.meu-kpi-perigo span,
.meu-kpi-perigo small {
  color: #b91c1c !important;
}

.meu-kpi-perigo strong {
  color: #991b1b !important;
}

.meu-clean-alertas-novo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.meu-alerta-item {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
}

.meu-alerta-item strong {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.meu-alerta-item p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.meu-alerta-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 10px;
  background: #0f172a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.meu-alerta-item a:hover {
  filter: brightness(1.05);
}

.meu-alerta-perigo {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.meu-alerta-perigo strong {
  color: #991b1b;
}

.meu-alerta-perigo p {
  color: #b91c1c;
}

.meu-alerta-perigo a {
  background: #dc2626;
}

.meu-alerta-info {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
}

.meu-alerta-info strong {
  color: #1d4ed8;
}

.meu-alerta-info p {
  color: #2563eb;
}

.meu-alerta-info a {
  background: #2563eb;
}

.meu-alerta-agenda {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
}

.meu-alerta-agenda strong {
  color: #9a3412;
}

.meu-alerta-agenda p {
  color: #c2410c;
}

.meu-alerta-agenda a {
  background: #ea580c;
}

.meu-alerta-metas {
  border-color: #ddd6fe;
  background: linear-gradient(135deg, #f5f3ff, #ede9fe);
}

.meu-alerta-metas strong {
  color: #5b21b6;
}

.meu-alerta-metas p {
  color: #6d28d9;
}

.meu-alerta-metas a {
  background: #7c3aed;
}

.agenda-pendente-atrasada {
  border-left: 5px solid #dc2626 !important;
  background: #fef2f2 !important;
}

.agenda-pendente-atrasada strong {
  color: #991b1b !important;
}

.agenda-pendente-atrasada small {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

.agenda-pendente-hoje {
  border-left: 5px solid #ea580c !important;
  background: #fff7ed !important;
}

.agenda-pendente-hoje strong {
  color: #9a3412 !important;
}

.agenda-pendente-hoje small {
  color: #c2410c !important;
  font-weight: 900 !important;
}

.agenda-pendente-futura {
  border-left: 5px solid #2563eb !important;
  background: #eff6ff !important;
}

.agenda-pendente-futura strong {
  color: #1d4ed8 !important;
}

.agenda-pendente-futura small {
  color: #2563eb !important;
  font-weight: 900 !important;
}

@media (max-width: 800px) {
  .meu-clean-alertas-novo {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   MEU PAINEL - ALERTAS, KPIS E AGENDAMENTOS PENDENTES
========================================================= */

.meu-kpi-alerta {
  border-color: #fed7aa !important;
  background: linear-gradient(135deg, #fff7ed, #ffedd5) !important;
}

.meu-kpi-alerta span,
.meu-kpi-alerta small {
  color: #c2410c !important;
}

.meu-kpi-alerta strong {
  color: #9a3412 !important;
}

.meu-kpi-perigo {
  border-color: #fecaca !important;
  background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
}

.meu-kpi-perigo span,
.meu-kpi-perigo small {
  color: #b91c1c !important;
}

.meu-kpi-perigo strong {
  color: #991b1b !important;
}

.meu-clean-alertas-novo {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.meu-alerta-item {
  padding: 16px;
  border: 1px solid #e2e8f0;
  border-radius: 18px;
  background: #ffffff;
}

.meu-alerta-item strong {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.meu-alerta-item p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.meu-alerta-item a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 10px;
  background: #0f172a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.meu-alerta-item a:hover {
  filter: brightness(1.05);
}

.meu-alerta-perigo {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.meu-alerta-perigo strong {
  color: #991b1b;
}

.meu-alerta-perigo p {
  color: #b91c1c;
}

.meu-alerta-perigo a {
  background: #dc2626;
}

.meu-alerta-info {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
}

.meu-alerta-info strong {
  color: #1d4ed8;
}

.meu-alerta-info p {
  color: #2563eb;
}

.meu-alerta-info a {
  background: #2563eb;
}

.meu-alerta-agenda {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
}

.meu-alerta-agenda strong {
  color: #9a3412;
}

.meu-alerta-agenda p {
  color: #c2410c;
}

.meu-alerta-agenda a {
  background: #ea580c;
}

.meu-alerta-metas {
  border-color: #ddd6fe;
  background: linear-gradient(135deg, #f5f3ff, #ede9fe);
}

.meu-alerta-metas strong {
  color: #5b21b6;
}

.meu-alerta-metas p {
  color: #6d28d9;
}

.meu-alerta-metas a {
  background: #7c3aed;
}

.agenda-pendente-atrasada {
  border-left: 5px solid #dc2626 !important;
  background: #fef2f2 !important;
}

.agenda-pendente-atrasada strong {
  color: #991b1b !important;
}

.agenda-pendente-atrasada small {
  color: #b91c1c !important;
  font-weight: 900 !important;
}

.agenda-pendente-hoje {
  border-left: 5px solid #ea580c !important;
  background: #fff7ed !important;
}

.agenda-pendente-hoje strong {
  color: #9a3412 !important;
}

.agenda-pendente-hoje small {
  color: #c2410c !important;
  font-weight: 900 !important;
}

.agenda-pendente-futura {
  border-left: 5px solid #2563eb !important;
  background: #eff6ff !important;
}

.agenda-pendente-futura strong {
  color: #1d4ed8 !important;
}

.agenda-pendente-futura small {
  color: #2563eb !important;
  font-weight: 900 !important;
}

@media (max-width: 800px) {
  .meu-clean-alertas-novo {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   DASHBOARD GERAL
========================================================= */

.dashboard-hero {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 18px 0;
  padding: 22px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.dashboard-avatar {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: #0f172a;
  font-size: 28px;
  font-weight: 950;
}

.dashboard-hero-info {
  flex: 1;
}

.dashboard-hero-info span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.dashboard-hero-info h1 {
  margin: 4px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.dashboard-hero-info p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.dashboard-tags {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.dashboard-tags small {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #e2e8f0;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-data {
  text-align: right;
}

.dashboard-data span,
.dashboard-data small {
  display: block;
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-data strong {
  display: block;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.dashboard-kpis,
.dashboard-mini-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.dashboard-kpi,
.dashboard-mini-kpis div {
  padding: 18px;
  border-radius: 20px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.dashboard-kpi span,
.dashboard-mini-kpis span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.dashboard-kpi strong,
.dashboard-mini-kpis strong {
  display: block;
  margin: 6px 0;
  color: #0f172a;
  font-size: 32px;
  font-weight: 950;
}

.dashboard-kpi small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.dashboard-kpi-alerta {
  border-color: #fed7aa !important;
  background: linear-gradient(135deg, #fff7ed, #ffedd5) !important;
}

.dashboard-kpi-alerta span,
.dashboard-kpi-alerta small {
  color: #c2410c !important;
}

.dashboard-kpi-alerta strong {
  color: #9a3412 !important;
}

.dashboard-kpi-perigo {
  border-color: #fecaca !important;
  background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
}

.dashboard-kpi-perigo span,
.dashboard-kpi-perigo small {
  color: #b91c1c !important;
}

.dashboard-kpi-perigo strong {
  color: #991b1b !important;
}

.dashboard-alertas {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.dashboard-alerta {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid #e2e8f0;
  background: #ffffff;
}

.dashboard-alerta strong {
  display: block;
  margin-bottom: 5px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.dashboard-alerta p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.45;
}

.dashboard-alerta a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 10px;
  background: #0f172a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.dashboard-alerta-perigo {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.dashboard-alerta-perigo strong {
  color: #991b1b;
}

.dashboard-alerta-perigo p {
  color: #b91c1c;
}

.dashboard-alerta-perigo a {
  background: #dc2626;
}

.dashboard-alerta-agenda {
  border-color: #fed7aa;
  background: linear-gradient(135deg, #fff7ed, #ffedd5);
}

.dashboard-alerta-agenda strong {
  color: #9a3412;
}

.dashboard-alerta-agenda p {
  color: #c2410c;
}

.dashboard-alerta-agenda a {
  background: #ea580c;
}

.dashboard-atalhos {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}

.dashboard-atalhos a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px;
  border-radius: 16px;
  background: #ffffff;
  color: #0f172a;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 25px rgba(15, 23, 42, .05);
}

.dashboard-atalhos span {
  font-size: 20px;
}

.dashboard-graficos,
.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 18px 0;
}

.dashboard-card {
  padding: 18px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.dashboard-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}

.dashboard-card-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.dashboard-card-header p {
  margin: 3px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-card-header a {
  color: #2563eb;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}

.dashboard-percentual {
  color: #16a34a;
  font-size: 24px;
  font-weight: 950;
}

.dashboard-chart {
  height: 280px;
}

.dashboard-empty {
  padding: 18px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
}

.dashboard-empty strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}

.dashboard-empty p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.dashboard-lista,
.dashboard-lista-simples {
  display: grid;
  gap: 10px;
}

.dashboard-ticket,
.dashboard-lista-simples a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 13px;
  border-radius: 15px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #0f172a;
  text-decoration: none;
}

.dashboard-ticket strong,
.dashboard-lista-simples strong {
  display: block;
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
}

.dashboard-ticket p,
.dashboard-lista-simples span {
  display: block;
  margin: 4px 0 0;
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
}

.dashboard-id {
  display: inline-block;
  margin-bottom: 4px;
  color: #2563eb;
  font-size: 12px;
  font-weight: 950;
}

.dashboard-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

.dashboard-badges small,
.dashboard-lista-simples small {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 900;
}

.dash-status-aberto,
.dash-status-andamento,
.dash-status-aguardando,
.dash-status-concluido,
.dash-status-cancelado,
.dash-status-padrao,
.dash-prioridade-baixa,
.dash-prioridade-media,
.dash-prioridade-alta,
.dash-prioridade-urgente {
  display: inline-flex;
  padding: 5px 8px;
  border-radius: 999px;
}

.dash-status-aberto {
  background: #dbeafe;
  color: #1d4ed8;
}

.dash-status-andamento {
  background: #ffedd5;
  color: #c2410c;
}

.dash-status-aguardando {
  background: #ede9fe;
  color: #6d28d9;
}

.dash-status-concluido {
  background: #dcfce7;
  color: #15803d;
}

.dash-status-cancelado {
  background: #fee2e2;
  color: #b91c1c;
}

.dash-status-padrao {
  background: #e2e8f0;
  color: #475569;
}

.dash-prioridade-baixa {
  background: #dcfce7;
  color: #15803d;
}

.dash-prioridade-media {
  background: #fef3c7;
  color: #b45309;
}

.dash-prioridade-alta {
  background: #ffedd5;
  color: #c2410c;
}

.dash-prioridade-urgente {
  background: #fee2e2;
  color: #b91c1c;
}

.dashboard-agenda-atrasada {
  border-left: 5px solid #dc2626 !important;
  background: #fef2f2 !important;
}

.dashboard-agenda-atrasada strong,
.dashboard-agenda-atrasada small {
  color: #991b1b !important;
}

.dashboard-agenda-hoje {
  border-left: 5px solid #ea580c !important;
  background: #fff7ed !important;
}

.dashboard-agenda-hoje strong,
.dashboard-agenda-hoje small {
  color: #9a3412 !important;
}

.dashboard-agenda-futura {
  border-left: 5px solid #2563eb !important;
  background: #eff6ff !important;
}

.dashboard-agenda-futura strong,
.dashboard-agenda-futura small {
  color: #1d4ed8 !important;
}

@media (max-width: 1000px) {
  .dashboard-kpis,
  .dashboard-mini-kpis,
  .dashboard-alertas,
  .dashboard-atalhos,
  .dashboard-graficos,
  .dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-hero {
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .dashboard-hero {
    flex-direction: column;
  }

  .dashboard-data {
    text-align: left;
  }

  .dashboard-kpis,
  .dashboard-mini-kpis,
  .dashboard-alertas,
  .dashboard-atalhos,
  .dashboard-graficos,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card-header {
    flex-direction: column;
  }

  .dashboard-ticket,
  .dashboard-lista-simples a {
    flex-direction: column;
  }

  .dashboard-badges {
    align-items: flex-start;
  }
}
/* =========================================================
   AGENDA - MELHORIAS DE COMPATIBILIDADE VISUAL
========================================================= */

.agenda-clean-feedback.sucesso {
  margin: 14px 0;
  padding: 14px 16px;
  border-radius: 14px;
  background: #dcfce7;
  color: #166534;
  font-size: 14px;
  font-weight: 900;
  border: 1px solid #bbf7d0;
}

.agenda-tempo-atrasado {
  background: #dc2626 !important;
  color: #ffffff !important;
}

.agenda-tempo-hoje {
  background: #ea580c !important;
  color: #ffffff !important;
}

.agenda-tempo-futuro {
  background: #2563eb !important;
  color: #ffffff !important;
}

.agenda-tempo-neutro {
  background: #64748b !important;
  color: #ffffff !important;
}

.agenda-clean-barra.agenda-tempo-atrasado {
  background: #dc2626 !important;
}

.agenda-clean-barra.agenda-tempo-hoje {
  background: #ea580c !important;
}

.agenda-clean-barra.agenda-tempo-futuro {
  background: #2563eb !important;
}

.agenda-clean-barra.agenda-tempo-neutro {
  background: #94a3b8 !important;
}

.agenda-status-agendado {
  background: #dbeafe !important;
  color: #1d4ed8 !important;
}

.agenda-status-andamento {
  background: #ffedd5 !important;
  color: #c2410c !important;
}

.agenda-status-concluido {
  background: #dcfce7 !important;
  color: #15803d !important;
}

.agenda-status-cancelado {
  background: #fee2e2 !important;
  color: #b91c1c !important;
}

.agenda-status-padrao {
  background: #e2e8f0 !important;
  color: #475569 !important;
}

.agenda-clean-kpi.azul {
  border-color: #bfdbfe !important;
  background: linear-gradient(135deg, #eff6ff, #dbeafe) !important;
}

.agenda-clean-kpi.azul strong,
.agenda-clean-kpi.azul span {
  color: #1d4ed8 !important;
}

.agenda-clean-kpi.amarelo {
  border-color: #fde68a !important;
  background: linear-gradient(135deg, #fffbeb, #fef3c7) !important;
}

.agenda-clean-kpi.amarelo strong,
.agenda-clean-kpi.amarelo span {
  color: #b45309 !important;
}

.agenda-clean-kpi.verde {
  border-color: #bbf7d0 !important;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7) !important;
}

.agenda-clean-kpi.verde strong,
.agenda-clean-kpi.verde span {
  color: #15803d !important;
}

.agenda-clean-kpi.vermelho {
  border-color: #fecaca !important;
  background: linear-gradient(135deg, #fef2f2, #fee2e2) !important;
}

.agenda-clean-kpi.vermelho strong,
.agenda-clean-kpi.vermelho span {
  color: #b91c1c !important;
}

.agenda-clean-kpi.roxo {
  border-color: #ddd6fe !important;
  background: linear-gradient(135deg, #f5f3ff, #ede9fe) !important;
}

.agenda-clean-kpi.roxo strong,
.agenda-clean-kpi.roxo span {
  color: #6d28d9 !important;
}

.agenda-legenda-atrasado {
  background: #dc2626 !important;
}

.agenda-legenda-hoje {
  background: #ea580c !important;
}

.agenda-legenda-futuro {
  background: #2563eb !important;
}
/* =========================================================
   NOVO AGENDAMENTO - TELA MELHORADA
========================================================= */

.novo-agendamento-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.novo-agendamento-hero span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.novo-agendamento-hero h1 {
  margin: 5px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.novo-agendamento-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.novo-agendamento-hero-info {
  min-width: 170px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .1);
  text-align: right;
}

.novo-agendamento-hero-info strong,
.novo-agendamento-hero-info small {
  display: block;
}

.novo-agendamento-hero-info strong {
  color: #ffffff;
  font-size: 18px;
  font-weight: 950;
}

.novo-agendamento-hero-info small {
  margin-top: 4px;
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 800;
}

.novo-agendamento-card {
  margin: 18px 0;
  padding: 22px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

.novo-agendamento-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
}

.novo-agendamento-card-header h2 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.novo-agendamento-card-header p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.novo-agendamento-card-header strong {
  color: #2563eb;
}

.novo-agendamento-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 950;
}

.novo-agendamento-form {
  display: grid;
  gap: 18px;
}

.novo-agendamento-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.novo-agendamento-grid .form-grupo,
.novo-agendamento-form .form-grupo {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.novo-agendamento-grid .form-grupo.full {
  grid-column: 1 / -1;
}

.novo-agendamento-grid label,
.novo-agendamento-form label {
  color: #0f172a;
  font-size: 13px;
  font-weight: 900;
}

.novo-agendamento-grid input,
.novo-agendamento-grid select,
.novo-agendamento-grid textarea {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #cbd5e1;
  border-radius: 13px;
  background: #ffffff;
  color: #0f172a;
  font-size: 14px;
  font-weight: 650;
  outline: none;
  transition: .2s ease;
}

.novo-agendamento-grid textarea {
  min-height: 120px;
  resize: vertical;
}

.novo-agendamento-grid input:focus,
.novo-agendamento-grid select:focus,
.novo-agendamento-grid textarea:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
}

.novo-agendamento-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.novo-agendamento-checkbox-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 12px;
  border-radius: 13px;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  cursor: pointer;
}

.novo-agendamento-checkbox-card input {
  width: auto !important;
  min-height: auto !important;
}

.novo-agendamento-checkbox-card span {
  color: #0f172a;
  font-size: 13px;
  font-weight: 850;
}

.novo-agendamento-checkbox-card:has(input:checked) {
  border-color: #2563eb;
  background: #eff6ff;
}

.novo-agendamento-grid small {
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.novo-agendamento-info-box {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
}

.novo-agendamento-info-box strong {
  grid-column: 1 / -1;
  color: #0f172a;
  font-size: 13px;
  font-weight: 950;
}

.novo-agendamento-info-box div {
  display: grid;
  gap: 4px;
}

.novo-agendamento-info-box span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.novo-agendamento-info-box code {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  padding: 5px 7px;
  border-radius: 8px;
  background: #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 850;
  overflow-wrap: anywhere;
}

.novo-agendamento-buttons,
.novo-agendamento-acoes {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.novo-agendamento-btn-primary,
.novo-agendamento-btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 15px;
  border-radius: 13px;
  border: none;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}

.novo-agendamento-btn-primary {
  background: #2563eb;
  color: #ffffff;
}

.novo-agendamento-btn-secondary {
  background: #f1f5f9;
  color: #0f172a;
  border: 1px solid #e2e8f0;
}

.novo-agendamento-btn-primary:hover,
.novo-agendamento-btn-secondary:hover {
  filter: brightness(.98);
  transform: translateY(-1px);
}

.novo-agendamento-alerta,
.novo-agendamento-mini-alerta {
  margin: 14px 0;
  padding: 14px;
  border-radius: 16px;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #9a3412;
  font-size: 13px;
  font-weight: 750;
}

.novo-agendamento-alerta strong {
  font-weight: 950;
}

.novo-agendamento-vazio {
  text-align: center;
  padding: 26px;
}

.novo-agendamento-vazio div {
  font-size: 42px;
  margin-bottom: 8px;
}

.novo-agendamento-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.novo-agendamento-vazio p {
  max-width: 720px;
  margin: 10px auto;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .novo-agendamento-hero {
    flex-direction: column;
    align-items: flex-start;
  }

  .novo-agendamento-hero-info {
    text-align: left;
  }

  .novo-agendamento-grid,
  .novo-agendamento-info-box {
    grid-template-columns: 1fr;
  }

  .novo-agendamento-checkbox-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .novo-agendamento-checkbox-grid {
    grid-template-columns: 1fr;
  }

  .novo-agendamento-card-header {
    flex-direction: column;
  }
}
/* =========================================================
   CALENDÁRIO DA AGENDA - MELHORIAS VISUAIS
========================================================= */

.calendario-clean-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.calendario-clean-hero span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.calendario-clean-hero h1 {
  margin: 5px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.calendario-clean-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.calendario-clean-mes-atual {
  min-width: 150px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .12);
  text-align: right;
}

.calendario-clean-mes-atual strong,
.calendario-clean-mes-atual small {
  display: block;
}

.calendario-clean-mes-atual strong {
  color: #ffffff;
  font-size: 20px;
  font-weight: 950;
}

.calendario-clean-mes-atual small {
  color: #cbd5e1;
  font-size: 13px;
  font-weight: 800;
}

.calendario-clean-card {
  margin: 18px 0;
  padding: 20px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

.calendario-clean-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.calendario-clean-kpi {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.calendario-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.calendario-clean-kpi strong {
  display: block;
  margin: 5px 0;
  color: #0f172a;
  font-size: 30px;
  font-weight: 950;
}

.calendario-clean-kpi small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.calendario-clean-kpi.azul {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #dbeafe);
}

.calendario-clean-kpi.azul span,
.calendario-clean-kpi.azul strong {
  color: #1d4ed8;
}

.calendario-clean-kpi.vermelho {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.calendario-clean-kpi.vermelho span,
.calendario-clean-kpi.vermelho strong {
  color: #b91c1c;
}

.calendario-clean-kpi.verde {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
}

.calendario-clean-kpi.verde span,
.calendario-clean-kpi.verde strong {
  color: #15803d;
}

.calendario-clean-vazio {
  padding: 28px;
  text-align: center;
}

.calendario-clean-vazio div {
  margin-bottom: 8px;
  font-size: 42px;
}

.calendario-clean-vazio strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.calendario-clean-vazio p {
  max-width: 760px;
  margin: 10px auto;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.calendario-topo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.calendario-topo h2,
.calendario-titulo-mes h2 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.calendario-topo p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.calendario-topo p strong {
  color: #2563eb;
}

.calendario-acoes,
.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.calendario-filtro {
  display: grid;
  gap: 14px;
}

.calendario-titulo-mes {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.calendario-titulo-mes span {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 900;
}

.calendario-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.calendario-legenda span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #475569;
  font-size: 12px;
  font-weight: 850;
}

.legenda-cor {
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.calendario-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.calendario-dia-semana {
  padding: 10px;
  border-radius: 12px;
  background: #0f172a;
  color: #ffffff;
  text-align: center;
  font-size: 12px;
  font-weight: 950;
}

.calendario-dia {
  min-height: 155px;
  padding: 10px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.calendario-vazio {
  background: transparent;
  border: 1px dashed #e2e8f0;
}

.calendario-hoje {
  border-color: #2563eb;
  background: #eff6ff;
  box-shadow: inset 0 0 0 2px rgba(37, 99, 235, .12);
}

.calendario-dia-numero {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.calendario-dia-numero strong {
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.calendario-dia-numero span {
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 950;
}

.calendario-eventos {
  display: grid;
  gap: 6px;
  flex: 1;
}

.calendario-evento {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 5px;
  align-items: center;
  padding: 7px;
  border-radius: 11px;
  color: #ffffff;
  text-decoration: none;
  font-size: 11px;
  font-weight: 850;
  overflow: hidden;
}

.calendario-evento small {
  grid-column: 1 / -1;
  color: rgba(255,255,255,.9);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.25;
}

.cal-evento-status {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 950;
}

.cal-evento-hora {
  font-weight: 950;
}

.cal-evento-titulo {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendario-dia-acoes {
  margin-top: auto;
}

.calendario-dia-acoes a {
  display: flex;
  justify-content: center;
  padding: 7px;
  border-radius: 10px;
  background: #ffffff;
  color: #2563eb;
  border: 1px solid #bfdbfe;
  text-decoration: none;
  font-size: 11px;
  font-weight: 950;
}

.cal-tipo-compromisso {
  background: #2563eb;
}

.cal-tipo-ligacao {
  background: #0891b2;
}

.cal-tipo-whatsapp {
  background: #16a34a;
}

.cal-tipo-email {
  background: #7c3aed;
}

.cal-tipo-reuniao {
  background: #9333ea;
}

.cal-tipo-tarefa {
  background: #475569;
}

.cal-tipo-retorno {
  background: #ea580c;
}

.cal-tipo-cobranca {
  background: #dc2626;
}

.cal-tipo-outro {
  background: #64748b;
}

.cal-prioridade-baixa {
  box-shadow: inset 4px 0 0 rgba(255,255,255,.35);
}

.cal-prioridade-media {
  box-shadow: inset 4px 0 0 #facc15;
}

.cal-prioridade-alta {
  box-shadow: inset 4px 0 0 #fb923c;
}

.cal-prioridade-urgente {
  box-shadow: inset 4px 0 0 #ffffff, 0 0 0 2px rgba(220, 38, 38, .18);
}

.cal-status-concluido {
  opacity: .72;
}

.cal-status-cancelado {
  opacity: .55;
  text-decoration: line-through;
}

.cal-status-andamento {
  filter: saturate(1.15);
}

.cal-status-pendente {
  opacity: 1;
}

@media (max-width: 1100px) {
  .calendario-clean-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .calendario-grid {
    overflow-x: auto;
    grid-template-columns: repeat(7, minmax(150px, 1fr));
    padding-bottom: 6px;
  }
}

@media (max-width: 700px) {
  .calendario-clean-hero,
  .calendario-topo,
  .calendario-titulo-mes {
    flex-direction: column;
    align-items: flex-start;
  }

  .calendario-clean-mes-atual {
    text-align: left;
  }

  .calendario-clean-kpis {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   FUNIL - AGENDA / CRM MELHORADO
========================================================= */

.funil-clean-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.funil-clean-hero span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.funil-clean-hero h1 {
  margin: 5px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.funil-clean-resumo {
  min-width: 150px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  text-align: right;
}

.funil-clean-resumo strong,
.funil-clean-resumo small {
  display: block;
}

.funil-clean-resumo strong {
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-resumo small {
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 850;
}

.funil-clean-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.funil-clean-kpi {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.funil-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.funil-clean-kpi strong {
  display: block;
  margin: 5px 0;
  color: #0f172a;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-kpi small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.funil-clean-kpi.verde {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
}

.funil-clean-kpi.verde span,
.funil-clean-kpi.verde strong {
  color: #15803d;
}

.funil-clean-kpi.vermelho {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.funil-clean-kpi.vermelho span,
.funil-clean-kpi.vermelho strong {
  color: #b91c1c;
}

.funil-clean-kpi.amarelo {
  border-color: #fde68a;
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
}

.funil-clean-kpi.amarelo span,
.funil-clean-kpi.amarelo strong {
  color: #b45309;
}

.funil-clean-card {
  margin: 18px 0;
  padding: 20px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

.funil-clean-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.funil-clean-topo h2 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.funil-clean-topo p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.funil-clean-topo p strong {
  color: #2563eb;
}

.funil-clean-vazio-geral {
  padding: 28px;
  text-align: center;
}

.funil-clean-vazio-geral div {
  margin-bottom: 8px;
  font-size: 42px;
}

.funil-clean-vazio-geral strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.funil-clean-vazio-geral p {
  max-width: 760px;
  margin: 10px auto;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.funil-board-clean {
  margin-top: 18px;
  padding-bottom: 12px;
  overflow-x: auto;
}

.funil-board {
  display: grid;
  grid-template-columns: repeat(7, minmax(280px, 1fr));
  gap: 14px;
  align-items: flex-start;
}

.funil-coluna {
  min-height: 280px;
  padding: 14px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.funil-coluna-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.funil-coluna-header h3 {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.funil-coluna-header span {
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 950;
}

.funil-vazio {
  padding: 16px;
  border-radius: 14px;
  border: 1px dashed #cbd5e1;
  background: #ffffff;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.funil-card {
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.funil-card.funil-status-concluido {
  opacity: .78;
  border-color: #bbf7d0;
}

.funil-card.funil-status-cancelado {
  opacity: .65;
  border-color: #fecaca;
}

.funil-card.funil-status-andamento {
  border-color: #fed7aa;
}

.funil-card-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.funil-card-topo strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.35;
}

.funil-card p {
  margin: 7px 0;
  color: #475569;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.funil-card p strong {
  color: #0f172a;
  font-weight: 950;
}

.badge,
.funil-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.prioridade-baixa {
  background: #dcfce7;
  color: #15803d;
}

.prioridade-media {
  background: #fef3c7;
  color: #b45309;
}

.prioridade-alta {
  background: #ffedd5;
  color: #c2410c;
}

.prioridade-urgente {
  background: #fee2e2;
  color: #b91c1c;
}

.funil-status-pendente {
  background: #dbeafe;
  color: #1d4ed8;
}

.funil-status-andamento {
  background: #ffedd5;
  color: #c2410c;
}

.funil-status-concluido {
  background: #dcfce7;
  color: #15803d;
}

.funil-status-cancelado {
  background: #fee2e2;
  color: #b91c1c;
}

.funil-card .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

@media (max-width: 1100px) {
  .funil-clean-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .funil-board {
    grid-template-columns: repeat(7, minmax(260px, 1fr));
  }
}

@media (max-width: 700px) {
  .funil-clean-hero,
  .funil-clean-topo {
    flex-direction: column;
    align-items: flex-start;
  }

  .funil-clean-resumo {
    text-align: left;
  }

  .funil-clean-kpis {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   EDITAR AGENDAMENTO - MELHORIAS VISUAIS
========================================================= */

.editar-agenda-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.editar-agenda-hero span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.editar-agenda-hero h1 {
  margin: 5px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.editar-agenda-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.editar-agenda-resumo {
  min-width: 150px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  text-align: right;
}

.editar-agenda-resumo strong,
.editar-agenda-resumo small {
  display: block;
}

.editar-agenda-resumo strong {
  color: #ffffff;
  font-size: 28px;
  font-weight: 950;
}

.editar-agenda-resumo small {
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 850;
}

.editar-agenda-card {
  margin: 18px 0;
  padding: 20px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

.editar-agenda-topo {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 18px;
}

.editar-agenda-topo h2 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.editar-agenda-topo p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.editar-agenda-topo p strong {
  color: #2563eb;
}

.editar-agenda-aviso {
  padding: 14px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  color: #64748b;
  font-size: 13px;
  font-weight: 800;
}

@media (max-width: 700px) {
  .editar-agenda-hero,
  .editar-agenda-topo {
    flex-direction: column;
    align-items: flex-start;
  }

  .editar-agenda-resumo {
    text-align: left;
  }
}
/* =========================================================
   FUNIL - AGENDA / CRM MELHORADO
========================================================= */

.funil-clean-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 18px 0;
  padding: 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #0f172a, #1e293b);
  color: #ffffff;
}

.funil-clean-hero span {
  display: block;
  color: #93c5fd;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.funil-clean-hero h1 {
  margin: 5px 0;
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-hero p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14px;
  font-weight: 650;
}

.funil-clean-resumo {
  min-width: 150px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  text-align: right;
}

.funil-clean-resumo strong,
.funil-clean-resumo small {
  display: block;
}

.funil-clean-resumo strong {
  color: #ffffff;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-resumo small {
  color: #cbd5e1;
  font-size: 12px;
  font-weight: 850;
}

.funil-clean-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.funil-clean-kpi {
  padding: 18px;
  border-radius: 20px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.funil-clean-kpi span {
  display: block;
  color: #64748b;
  font-size: 13px;
  font-weight: 900;
}

.funil-clean-kpi strong {
  display: block;
  margin: 5px 0;
  color: #0f172a;
  font-size: 30px;
  font-weight: 950;
}

.funil-clean-kpi small {
  color: #64748b;
  font-size: 12px;
  font-weight: 750;
}

.funil-clean-kpi.verde {
  border-color: #bbf7d0;
  background: linear-gradient(135deg, #f0fdf4, #dcfce7);
}

.funil-clean-kpi.verde span,
.funil-clean-kpi.verde strong {
  color: #15803d;
}

.funil-clean-kpi.vermelho {
  border-color: #fecaca;
  background: linear-gradient(135deg, #fef2f2, #fee2e2);
}

.funil-clean-kpi.vermelho span,
.funil-clean-kpi.vermelho strong {
  color: #b91c1c;
}

.funil-clean-kpi.amarelo {
  border-color: #fde68a;
  background: linear-gradient(135deg, #fffbeb, #fef3c7);
}

.funil-clean-kpi.amarelo span,
.funil-clean-kpi.amarelo strong {
  color: #b45309;
}

.funil-clean-card {
  margin: 18px 0;
  padding: 20px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 12px 35px rgba(15, 23, 42, .07);
}

.funil-clean-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.funil-clean-topo h2 {
  margin: 0;
  color: #0f172a;
  font-size: 22px;
  font-weight: 950;
}

.funil-clean-topo p {
  margin: 5px 0 0;
  color: #64748b;
  font-size: 13px;
  font-weight: 650;
}

.funil-clean-topo p strong {
  color: #2563eb;
}

.funil-clean-vazio-geral {
  padding: 28px;
  text-align: center;
}

.funil-clean-vazio-geral div {
  margin-bottom: 8px;
  font-size: 42px;
}

.funil-clean-vazio-geral strong {
  display: block;
  color: #0f172a;
  font-size: 18px;
  font-weight: 950;
}

.funil-clean-vazio-geral p {
  max-width: 760px;
  margin: 10px auto;
  color: #64748b;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.55;
}

.funil-board-clean {
  margin-top: 18px;
  padding-bottom: 12px;
  overflow-x: auto;
}

.funil-board {
  display: grid;
  grid-template-columns: repeat(7, minmax(280px, 1fr));
  gap: 14px;
  align-items: flex-start;
}

.funil-coluna {
  min-height: 280px;
  padding: 14px;
  border-radius: 22px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
}

.funil-coluna-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

.funil-coluna-header h3 {
  margin: 0;
  color: #0f172a;
  font-size: 15px;
  font-weight: 950;
}

.funil-coluna-header span {
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: #2563eb;
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 950;
}

.funil-vazio {
  padding: 16px;
  border-radius: 14px;
  border: 1px dashed #cbd5e1;
  background: #ffffff;
  color: #94a3b8;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}

.funil-card {
  margin-bottom: 12px;
  padding: 14px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.funil-card.funil-status-concluido {
  opacity: .78;
  border-color: #bbf7d0;
}

.funil-card.funil-status-cancelado {
  opacity: .65;
  border-color: #fecaca;
}

.funil-card.funil-status-andamento {
  border-color: #fed7aa;
}

.funil-card-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.funil-card-topo strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.35;
}

.funil-card p {
  margin: 7px 0;
  color: #475569;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
}

.funil-card p strong {
  color: #0f172a;
  font-weight: 950;
}

.badge,
.funil-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}

.prioridade-baixa {
  background: #dcfce7;
  color: #15803d;
}

.prioridade-media {
  background: #fef3c7;
  color: #b45309;
}

.prioridade-alta {
  background: #ffedd5;
  color: #c2410c;
}

.prioridade-urgente {
  background: #fee2e2;
  color: #b91c1c;
}

.funil-status-pendente {
  background: #dbeafe;
  color: #1d4ed8;
}

.funil-status-andamento {
  background: #ffedd5;
  color: #c2410c;
}

.funil-status-concluido {
  background: #dcfce7;
  color: #15803d;
}

.funil-status-cancelado {
  background: #fee2e2;
  color: #b91c1c;
}

.funil-card .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

@media (max-width: 1100px) {
  .funil-clean-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .funil-board {
    grid-template-columns: repeat(7, minmax(260px, 1fr));
  }
}

@media (max-width: 700px) {
  .funil-clean-hero,
  .funil-clean-topo {
    flex-direction: column;
    align-items: flex-start;
  }

  .funil-clean-resumo {
    text-align: left;
  }

  .funil-clean-kpis {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   AÇÕES RÁPIDAS NO CALENDÁRIO
========================================================= */

.calendario-evento {
  position: relative;
  display: block;
}

.cal-evento-link {
  display: block;
  color: inherit;
  text-decoration: none;
  padding-right: 42px;
}

.cal-evento-acoes {
  position: absolute;
  top: 5px;
  right: 5px;
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity .2s ease;
}

.calendario-evento:hover .cal-evento-acoes {
  opacity: 1;
}

.cal-evento-acao {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 11px;
  font-weight: 950;
  text-decoration: none;
  line-height: 1;
  box-shadow: 0 2px 6px rgba(15, 23, 42, .18);
}

.cal-evento-acao.concluir {
  background: #16a34a;
}

.cal-evento-acao.concluir:hover {
  background: #15803d;
}

.cal-evento-acao.remover {
  background: #dc2626;
}

.cal-evento-acao.remover:hover {
  background: #b91c1c;
}

@media (max-width: 700px) {
  .cal-evento-acoes {
    opacity: 1;
  }

  .cal-evento-link {
    padding-right: 46px;
  }
}
/* =========================================================
   EDITAR AGENDAMENTO - AJUSTES VISUAIS
========================================================= */

.editar-agenda-info-box {
  margin: 22px 0;
  padding: 16px;
  border-radius: 14px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  display: grid;
  gap: 8px;
}

.editar-agenda-info-box strong {
  display: block;
  margin-bottom: 6px;
  color: #0f172a;
}

.editar-agenda-info-box div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 13px;
}

.editar-agenda-info-box span {
  color: #64748b;
}

.editar-agenda-info-box code {
  padding: 2px 7px;
  border-radius: 999px;
  background: #e2e8f0;
  color: #334155;
  font-size: 12px;
}

.editar-agenda-aviso {
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff7ed;
  color: #9a3412;
  border: 1px solid #fed7aa;
  margin-bottom: 14px;
}

.checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 8px;
}

.checkbox-card {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  cursor: pointer;
}

.checkbox-card:hover {
  background: #f8fafc;
  border-color: #cbd5e1;
}

.checkbox-card input {
  width: auto;
}
/* =========================================================
   FUNIL - AJUSTES DE RETORNO / NOVO POR ETAPA
========================================================= */

.funil-coluna-novo {
  margin: 10px 0 12px;
}

.funil-coluna-novo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 12px;
  padding: 9px 10px;
  background: #f0fdf4;
  color: #15803d;
  border: 1px dashed #86efac;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
  transition: 0.2s ease;
}

.funil-coluna-novo a:hover {
  background: #dcfce7;
  border-color: #22c55e;
  transform: translateY(-1px);
}

.funil-card .actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.funil-card .actions a {
  flex: 1;
  min-width: 82px;
  text-align: center;
}

@media (max-width: 768px) {
  .funil-card .actions {
    flex-direction: column;
  }

  .funil-card .actions a {
    width: 100%;
  }
}
.analise-dre {
  display: grid;
  gap: 10px;
}

.analise-item {
  padding: 12px 14px;
  border-radius: 10px;
  font-weight: 700;
  border: 1px solid transparent;
}

.analise-positivo {
  color: #166534;
  background: #dcfce7;
  border-color: #86efac;
}

.analise-negativo {
  color: #991b1b;
  background: #fee2e2;
  border-color: #fecaca;
}

.analise-alerta {
  color: #92400e;
  background: #fef3c7;
  border-color: #fcd34d;
}

.analise-neutro {
  color: #334155;
  background: #f1f5f9;
  border-color: #cbd5e1;
}
/* =========================================================
   Categoria DRE - Lançamentos do período
   Visual limpo com bolinha colorida
========================================================= */

.categoria-dre-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 190px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.categoria-dre-chip:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.categoria-dre-bolinha {
  width: 9px;
  height: 9px;
  min-width: 9px;
  min-height: 9px;
  border-radius: 999px;
  display: inline-block;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 3px rgba(148, 163, 184, 0.25);
}

.categoria-dre-texto {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.categoria-dre-sem-categoria {
  color: #64748b;
  background: #f1f5f9;
  border-color: #e2e8f0;
}

/* Ajuste opcional para a célula da coluna categoria */
table td .categoria-dre-chip {
  margin: 0;
}
/* =========================================================
   Categoria DRE - Lançamentos do período
   Visual limpo com bolinha colorida
========================================================= */

.categoria-dre-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 190px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.categoria-dre-chip:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
}

.categoria-dre-bolinha {
  width: 9px;
  height: 9px;
  min-width: 9px;
  min-height: 9px;
  border-radius: 999px;
  display: inline-block;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 3px rgba(148, 163, 184, 0.25);
}

.categoria-dre-texto {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.categoria-dre-sem-categoria {
  color: #64748b;
  background: #f1f5f9;
  border-color: #e2e8f0;
}

table td .categoria-dre-chip {
  margin: 0;
}
.categoria-dre-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.categoria-dre-chip-vazia {
  background: #f8fafc;
  color: #64748b;
}

.categoria-dre-bolinha {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
}

.categoria-dre-texto {
  line-height: 1;
}

.actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.btn-small {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  background: #e2e8f0;
  color: #0f172a;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
}

.btn-small:hover {
  background: #cbd5e1;
}

.btn-danger {
  background: #dc2626;
  color: #ffffff;
}

.btn-danger:hover {
  background: #b91c1c;
}

.valor-positivo {
  color: #16a34a;
}

.valor-negativo {
  color: #dc2626;
}
.categoria-dre-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.categoria-dre-chip-vazia {
  background: #f8fafc;
  color: #64748b;
  opacity: 0.75;
}

.categoria-dre-bolinha {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  display: inline-block;
  flex: 0 0 auto;
}

.categoria-dre-texto {
  line-height: 1;
}

.actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.btn-small {
  display: inline-block;
  padding: 6px 10px;
  border-radius: 6px;
  background: #e2e8f0;
  color: #0f172a;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-size: 12px;
}

.btn-small:hover {
  background: #cbd5e1;
}

.btn-danger {
  background: #dc2626;
  color: #ffffff;
}

.btn-danger:hover {
  background: #b91c1c;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.badge-success {
  background: #dcfce7;
  color: #166534;
}

.badge-muted {
  background: #f1f5f9;
  color: #64748b;
}
body .cf-paginacao {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 18px !important;
  padding: 14px !important;
  border: 2px solid #2563eb !important;
  border-radius: 12px !important;
  background: #eff6ff !important;
}

body .cf-paginacao-info {
  color: #1e3a8a !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}

body .cf-paginacao-links {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

body .cf-paginacao-links a,
body .cf-paginacao-links span {
  display: inline-block !important;
  padding: 9px 12px !important;
  border-radius: 9px !important;
  border: 1px solid #2563eb !important;
  background: #ffffff !important;
  color: #1e3a8a !important;
  text-decoration: none !important;
  font-weight: 900 !important;
  font-size: .9rem !important;
}

body .cf-paginacao-links span.ativo {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

body .cf-paginacao-links span.desabilitado {
  background: #e2e8f0 !important;
  color: #64748b !important;
  border-color: #cbd5e1 !important;
}

body .cf-coluna-body {
  height: 70vh !important;
  max-height: 720px !important;
  min-height: 420px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: auto !important;
}
.cf-coluna-body {
  padding: 10px;
  height: 70vh;
  max-height: 720px;
  min-height: 420px;
  overflow-y: scroll;
  overflow-x: hidden;
}

