/* PR7 CRM V12.13.3
   Identidade visual das etapas do funil.
   Este arquivo é somente visual e não altera dados ou regras do CRM.
*/

:root {
  --stage-green: #178a55;
  --stage-green-deep: #0f6c41;
  --stage-green-bg: #effaf4;
  --stage-green-border: #9fd7b9;

  --stage-red: #c5353f;
  --stage-red-deep: #9e2630;
  --stage-red-bg: #fff2f3;
  --stage-red-border: #efb1b6;

  --stage-yellow: #a97816;
  --stage-yellow-deep: #80580b;
  --stage-yellow-bg: #fff9e9;
  --stage-yellow-border: #ead08a;

  --stage-blue: #2d6eb5;
  --stage-blue-deep: #1e578f;
  --stage-blue-bg: #f1f7ff;
  --stage-blue-border: #b8d1ef;

  --stage-gray: #6f7782;
  --stage-gray-deep: #515862;
  --stage-gray-bg: #f5f6f7;
  --stage-gray-border: #d7dbe0;
}

/* Colunas recebem um detalhe discreto para facilitar a leitura */
.kanban-column.stage-success { border-top: 3px solid var(--stage-green); }
.kanban-column.stage-danger  { border-top: 3px solid var(--stage-red); }
.kanban-column.stage-warning { border-top: 3px solid var(--stage-yellow); }
.kanban-column.stage-info    { border-top: 3px solid var(--stage-blue); }
.kanban-column.stage-neutral { border-top: 3px solid var(--stage-gray); }

.kanban-column.stage-success .kanban-header h4 { color: var(--stage-green-deep); }
.kanban-column.stage-danger .kanban-header h4  { color: var(--stage-red-deep); }
.kanban-column.stage-warning .kanban-header h4 { color: var(--stage-yellow-deep); }
.kanban-column.stage-info .kanban-header h4    { color: var(--stage-blue-deep); }
.kanban-column.stage-neutral .kanban-header h4 { color: var(--stage-gray-deep); }

/* Card de etapa */
.kanban-card {
  position: relative;
  overflow: hidden;
  border-left-width: 4px !important;
}

.kanban-card.stage-success {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-green-bg) 100%);
  border-color: var(--stage-green-border) !important;
  border-left-color: var(--stage-green) !important;
}

.kanban-card.stage-danger {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-red-bg) 100%);
  border-color: var(--stage-red-border) !important;
  border-left-color: var(--stage-red) !important;
}

.kanban-card.stage-warning {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-yellow-bg) 100%);
  border-color: var(--stage-yellow-border) !important;
  border-left-color: var(--stage-yellow) !important;
}

.kanban-card.stage-info {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-blue-bg) 100%);
  border-color: var(--stage-blue-border) !important;
  border-left-color: var(--stage-blue) !important;
}

.kanban-card.stage-neutral {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-gray-bg) 100%);
  border-color: var(--stage-gray-border) !important;
  border-left-color: var(--stage-gray) !important;
}

.kanban-card.stage-success:hover { box-shadow: 0 18px 34px rgba(23,138,85,.17); }
.kanban-card.stage-danger:hover  { box-shadow: 0 18px 34px rgba(197,53,63,.17); }
.kanban-card.stage-warning:hover { box-shadow: 0 18px 34px rgba(169,120,22,.16); }
.kanban-card.stage-info:hover    { box-shadow: 0 18px 34px rgba(45,110,181,.16); }
.kanban-card.stage-neutral:hover { box-shadow: 0 18px 34px rgba(81,88,98,.12); }

.kanban-stage-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 21px;
  padding: 4px 8px;
  margin-bottom: 8px;
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .06em;
}

.stage-success .kanban-stage-label {
  color: var(--stage-green-deep);
  background: #dff4e8;
  border: 1px solid #b7dfc8;
}

.stage-danger .kanban-stage-label {
  color: var(--stage-red-deep);
  background: #ffe0e3;
  border: 1px solid #f1b9be;
}

.stage-warning .kanban-stage-label {
  color: var(--stage-yellow-deep);
  background: #fff0bd;
  border: 1px solid #ead08a;
}

.stage-neutral .kanban-stage-label {
  color: var(--stage-gray-deep);
  background: #e9ebed;
  border: 1px solid #d5d9de;
}

/* Mesma lógica visual na coluna "Etapa" da listagem de leads */
.stage-badge.stage-success {
  color: var(--stage-green-deep);
  background: var(--stage-green-bg);
  border-color: var(--stage-green-border);
}
.stage-badge.stage-danger {
  color: var(--stage-red-deep);
  background: var(--stage-red-bg);
  border-color: var(--stage-red-border);
}
.stage-badge.stage-warning {
  color: var(--stage-yellow-deep);
  background: var(--stage-yellow-bg);
  border-color: var(--stage-yellow-border);
}
.stage-badge.stage-info {
  color: var(--stage-blue-deep);
  background: var(--stage-blue-bg);
  border-color: var(--stage-blue-border);
}
.stage-badge.stage-neutral {
  color: var(--stage-gray-deep);
  background: var(--stage-gray-bg);
  border-color: var(--stage-gray-border);
}

/* Confirmação visual ao mover um card */
.kanban-card.stage-change-flash {
  animation: pr7StageFlash .85s ease;
}

@keyframes pr7StageFlash {
  0%   { transform: scale(.97); filter: brightness(1); }
  38%  { transform: scale(1.035); filter: brightness(1.04); }
  100% { transform: scale(1); filter: brightness(1); }
}

@media (prefers-reduced-motion: reduce) {
  .kanban-card.stage-change-flash { animation: none; }
}

/* Mobile: mantém o destaque sem pesar visualmente */
@media (max-width: 700px) {
  .kanban-card { border-left-width: 4px !important; }
  .kanban-stage-label { font-size: 8px; padding: 4px 7px; }
}
/* =========================================================
   PR7 CRM V12.13.4
   Cores semânticas também no Dashboard
   ========================================================= */

#dashboard-stats .stat-card.dashboard-status {
  position: relative;
  overflow: hidden;
  border-top: 3px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

#dashboard-stats .stat-card.dashboard-status::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: 14px 0 0 14px;
}

#dashboard-stats .stat-card.dashboard-status:hover {
  transform: translateY(-2px);
}

/* Positivo / aprovado / concluído */
#dashboard-stats .stat-card.dashboard-success {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-green-bg) 100%);
  border-color: var(--stage-green-border);
  border-top-color: var(--stage-green);
}
#dashboard-stats .stat-card.dashboard-success::before { background: var(--stage-green); }
#dashboard-stats .stat-card.dashboard-success strong { color: var(--stage-green-deep); }
#dashboard-stats .stat-card.dashboard-success:hover { box-shadow: 0 16px 32px rgba(23,138,85,.14); }

/* Negativo / perdido / distrato */
#dashboard-stats .stat-card.dashboard-danger {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-red-bg) 100%);
  border-color: var(--stage-red-border);
  border-top-color: var(--stage-red);
}
#dashboard-stats .stat-card.dashboard-danger::before { background: var(--stage-red); }
#dashboard-stats .stat-card.dashboard-danger strong { color: var(--stage-red-deep); }
#dashboard-stats .stat-card.dashboard-danger:hover { box-shadow: 0 16px 32px rgba(197,53,63,.14); }

/* Atenção / aguardando */
#dashboard-stats .stat-card.dashboard-warning {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-yellow-bg) 100%);
  border-color: var(--stage-yellow-border);
  border-top-color: var(--stage-yellow);
}
#dashboard-stats .stat-card.dashboard-warning::before { background: var(--stage-yellow); }
#dashboard-stats .stat-card.dashboard-warning strong { color: var(--stage-yellow-deep); }
#dashboard-stats .stat-card.dashboard-warning:hover { box-shadow: 0 16px 32px rgba(169,120,22,.13); }

/* Financeiro / valores */
#dashboard-stats .stat-card.dashboard-money {
  background: linear-gradient(135deg, #ffffff 0%, #f5f0ff 100%);
  border-color: #d9c9ef;
  border-top-color: #7f57b5;
}
#dashboard-stats .stat-card.dashboard-money::before { background: #7f57b5; }
#dashboard-stats .stat-card.dashboard-money strong { color: #68409d; }
#dashboard-stats .stat-card.dashboard-money:hover { box-shadow: 0 16px 32px rgba(104,64,157,.13); }

/* Informativo */
#dashboard-stats .stat-card.dashboard-info {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-blue-bg) 100%);
  border-color: var(--stage-blue-border);
  border-top-color: var(--stage-blue);
}
#dashboard-stats .stat-card.dashboard-info::before { background: var(--stage-blue); }
#dashboard-stats .stat-card.dashboard-info strong { color: var(--stage-blue-deep); }

/* Neutro */
#dashboard-stats .stat-card.dashboard-neutral {
  background: linear-gradient(135deg, #ffffff 0%, var(--stage-gray-bg) 100%);
  border-color: var(--stage-gray-border);
  border-top-color: var(--stage-gray);
}
#dashboard-stats .stat-card.dashboard-neutral::before { background: var(--stage-gray); }
#dashboard-stats .stat-card.dashboard-neutral strong { color: var(--stage-gray-deep); }

/* Funil do Dashboard segue as mesmas cores do Kanban */
#funnel-chart .funnel-level {
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

#funnel-chart .funnel-level:hover {
  transform: scale(1.012);
  filter: brightness(1.02);
}

#funnel-chart .funnel-level.stage-success {
  background: linear-gradient(90deg, var(--stage-green-deep), var(--stage-green));
  box-shadow: 0 8px 18px rgba(23,138,85,.12);
}

#funnel-chart .funnel-level.stage-danger {
  background: linear-gradient(90deg, var(--stage-red-deep), var(--stage-red));
  box-shadow: 0 8px 18px rgba(197,53,63,.12);
}

#funnel-chart .funnel-level.stage-warning {
  background: linear-gradient(90deg, var(--stage-yellow-deep), var(--stage-yellow));
  box-shadow: 0 8px 18px rgba(169,120,22,.11);
}

#funnel-chart .funnel-level.stage-info {
  background: linear-gradient(90deg, var(--stage-blue-deep), var(--stage-blue));
  box-shadow: 0 8px 18px rgba(45,110,181,.11);
}

#funnel-chart .funnel-level.stage-neutral {
  background: linear-gradient(90deg, var(--stage-gray-deep), var(--stage-gray));
}

@media (max-width: 700px) {
  #dashboard-stats .stat-card.dashboard-status {
    border-top-width: 2px;
  }
}
