/* PAT - Tokens e cores de status (agenda) */

:root {
  --pat-status-agendado-bg: #3b82f6;
  --pat-status-agendado-text: #f8fafc;

  --pat-status-confirmado-bg: #10b981;
  --pat-status-confirmado-text: #ffffff;

  --pat-status-em_atendimento-bg: #0d9488;
  --pat-status-em_atendimento-text: #ffffff;

  --pat-status-concluido-bg: #84cc16;
  --pat-status-concluido-text: #111827;

  --pat-status-aguardando_confirmacao-bg: #f59e0b;
  --pat-status-aguardando_confirmacao-text: #111827;

  --pat-status-cliente_em_espera-bg: #06b6d4;
  --pat-status-cliente_em_espera-text: #ffffff;

  --pat-status-cancelado-bg: #ef4444;
  --pat-status-cancelado-text: #ffffff;

  --pat-status-nao_compareceu-bg: #991b1b;
  --pat-status-nao_compareceu-text: #ffffff;

  --pat-status-reagendado-bg: #a855f7;
  --pat-status-reagendado-text: #ffffff;

  --pat-status-bloqueio-bg: #6b7280;
  --pat-status-bloqueio-text: #ffffff;

  --pat-status-outros-bg: rgba(148, 163, 184, 0.28);
  --pat-status-outros-text: #111827;
}

.pat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.2px;
  white-space: nowrap;
  gap: 6px;
}

.pat-badge::before {
  content: "●";
  font-size: 10px;
  line-height: 1;
  opacity: 0.9;
}

.pat-badge.status-agendado {
  background: var(--pat-status-agendado-bg);
  color: var(--pat-status-agendado-text);
}
.pat-badge.status-agendado::before { content: "○"; }
.pat-badge.status-confirmado {
  background: var(--pat-status-confirmado-bg);
  color: var(--pat-status-confirmado-text);
}
.pat-badge.status-confirmado::before { content: "✓"; }
.pat-badge.status-em_atendimento {
  background: var(--pat-status-em_atendimento-bg);
  color: var(--pat-status-em_atendimento-text);
}
.pat-badge.status-em_atendimento::before { content: "⏱"; }
.pat-badge.status-concluido {
  background: var(--pat-status-concluido-bg);
  color: var(--pat-status-concluido-text);
}
.pat-badge.status-concluido::before { content: "✓"; }
.pat-badge.status-aguardando_confirmacao {
  background: var(--pat-status-aguardando_confirmacao-bg);
  color: var(--pat-status-aguardando_confirmacao-text);
}
.pat-badge.status-aguardando_confirmacao::before { content: "!"; }
.pat-badge.status-cancelado {
  background: var(--pat-status-cancelado-bg);
  color: var(--pat-status-cancelado-text);
}
.pat-badge.status-cancelado::before { content: "✕"; }
.pat-badge.status-nao_compareceu {
  background: var(--pat-status-nao_compareceu-bg);
  color: var(--pat-status-nao_compareceu-text);
}
.pat-badge.status-nao_compareceu::before { content: "✕"; }
.pat-badge.status-reagendado {
  background: var(--pat-status-reagendado-bg);
  color: var(--pat-status-reagendado-text);
}
.pat-badge.status-reagendado::before { content: "↺"; }
.pat-badge.status-remarcado {
  background: var(--pat-status-reagendado-bg);
  color: var(--pat-status-reagendado-text);
}
.pat-badge.status-remarcado::before { content: "↺"; }
.pat-badge.status-bloqueio {
  background: var(--pat-status-bloqueio-bg);
  color: var(--pat-status-bloqueio-text);
}
.pat-badge.status-bloqueio::before { content: "⛔"; }
.pat-badge.status-cliente_em_espera {
  background: var(--pat-status-cliente_em_espera-bg);
  color: var(--pat-status-cliente_em_espera-text);
}
.pat-badge.status-cliente_em_espera::before { content: "●"; }

.pat-legend-item.status-agendado {
  background: var(--pat-status-agendado-bg);
  color: var(--pat-status-agendado-text);
  border-color: transparent;
}
.pat-legend-item.status-confirmado {
  background: var(--pat-status-confirmado-bg);
  color: var(--pat-status-confirmado-text);
  border-color: transparent;
}
.pat-legend-item.status-em_atendimento {
  background: var(--pat-status-em_atendimento-bg);
  color: var(--pat-status-em_atendimento-text);
  border-color: transparent;
}
.pat-legend-item.status-concluido {
  background: var(--pat-status-concluido-bg);
  color: var(--pat-status-concluido-text);
  border-color: transparent;
}
.pat-legend-item.status-aguardando_confirmacao {
  background: var(--pat-status-aguardando_confirmacao-bg);
  color: var(--pat-status-aguardando_confirmacao-text);
  border-color: transparent;
}
.pat-legend-item.status-cliente_em_espera {
  background: var(--pat-status-cliente_em_espera-bg);
  color: var(--pat-status-cliente_em_espera-text);
  border-color: transparent;
}
.pat-legend-item.status-cancelado {
  background: var(--pat-status-cancelado-bg);
  color: var(--pat-status-cancelado-text);
  border-color: transparent;
}
.pat-legend-item.status-nao_compareceu {
  background: var(--pat-status-nao_compareceu-bg);
  color: var(--pat-status-nao_compareceu-text);
  border-color: transparent;
}
.pat-legend-item.status-reagendado,
.pat-legend-item.status-remarcado {
  background: var(--pat-status-reagendado-bg);
  color: var(--pat-status-reagendado-text);
  border-color: transparent;
}
.pat-legend-item.status-bloqueio {
  background: var(--pat-status-bloqueio-bg);
  color: var(--pat-status-bloqueio-text);
  border-color: transparent;
}

.pat-vevent::before {
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: 12px;
  opacity: 0.9;
}

.pat-vevent.status-agendado::before { content: "○"; }
.pat-vevent.status-confirmado::before { content: "✓"; }
.pat-vevent.status-em_atendimento::before { content: "⏱"; }
.pat-vevent.status-concluido::before { content: "✓"; }
.pat-vevent.status-aguardando_confirmacao::before { content: "!"; }
.pat-vevent.status-cancelado::before { content: "✕"; }
.pat-vevent.status-nao_compareceu::before { content: "✕"; }
.pat-vevent.status-reagendado::before { content: "↺"; }
.pat-vevent.status-remarcado::before { content: "↺"; }
.pat-vevent.status-bloqueio::before { content: "⛔"; }
.pat-vevent.status-cliente_em_espera::before { content: "●"; }

.pat-booking {
  position: relative;
  border-left: 6px solid rgba(17, 24, 39, 0.10);
}

.pat-booking.status-agendado { border-left-color: var(--pat-status-agendado-bg); }
.pat-booking.status-confirmado { border-left-color: var(--pat-status-confirmado-bg); }
.pat-booking.status-em_atendimento { border-left-color: var(--pat-status-em_atendimento-bg); }
.pat-booking.status-concluido { border-left-color: var(--pat-status-concluido-bg); }
.pat-booking.status-aguardando_confirmacao { border-left-color: var(--pat-status-aguardando_confirmacao-bg); }
.pat-booking.status-cancelado { border-left-color: var(--pat-status-cancelado-bg); }
.pat-booking.status-nao_compareceu { border-left-color: var(--pat-status-nao_compareceu-bg); }
.pat-booking.status-reagendado { border-left-color: var(--pat-status-reagendado-bg); }
.pat-booking.status-remarcado { border-left-color: var(--pat-status-reagendado-bg); }
.pat-booking.status-bloqueio { border-left-color: rgba(107, 114, 128, 0.65); }
.pat-booking.status-cliente_em_espera { border-left-color: var(--pat-status-cliente_em_espera-bg); }

.pat-vevent {
  border-left: 6px solid rgba(17, 24, 39, 0.10);
}

.pat-vevent.status-agendado { border-left-color: var(--pat-status-agendado-bg); }
.pat-vevent.status-confirmado { border-left-color: var(--pat-status-confirmado-bg); }
.pat-vevent.status-em_atendimento { border-left-color: var(--pat-status-em_atendimento-bg); }
.pat-vevent.status-concluido { border-left-color: var(--pat-status-concluido-bg); }
.pat-vevent.status-aguardando_confirmacao { border-left-color: var(--pat-status-aguardando_confirmacao-bg); }
.pat-vevent.status-cancelado { border-left-color: var(--pat-status-cancelado-bg); }
.pat-vevent.status-nao_compareceu { border-left-color: var(--pat-status-nao_compareceu-bg); }
.pat-vevent.status-reagendado { border-left-color: var(--pat-status-reagendado-bg); }
.pat-vevent.status-remarcado { border-left-color: var(--pat-status-reagendado-bg); }
.pat-vevent.status-bloqueio { border-left-color: rgba(107, 114, 128, 0.65); }
.pat-vevent.status-cliente_em_espera { border-left-color: var(--pat-status-cliente_em_espera-bg); }
