/* Custom overrides complementing Tailwind CDN */
*, *::before, *::after { box-sizing: border-box; }

:root {
  --sidebar-width: 16rem;
}

/* Smooth scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Focus visible only on keyboard nav */
:focus:not(:focus-visible) { outline: none; }

/* Truncate helper */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Chat bubbles */
.bubble-staff {
  background: #3b82f6;
  color: #fff;
  border-radius: 1rem 1rem 0.25rem 1rem;
  max-width: 72%;
  align-self: flex-end;
}
.bubble-operator {
  background: #f1f5f9;
  color: #1e293b;
  border-radius: 1rem 1rem 1rem 0.25rem;
  max-width: 72%;
  align-self: flex-start;
}

@media (prefers-color-scheme: dark) {
  .bubble-operator { background: #334155; color: #e2e8f0; }
}

/* Status color chips */
.status-concluido, .status-acima  { background: #dcfce7; color: #166534; }
.status-atraso,   .status-abaixo  { background: #fee2e2; color: #991b1b; }
.status-andamento,.status-dentro  { background: #dbeafe; color: #1d4ed8; }
.status-sem-valor                 { background: #f1f5f9; color: #64748b; }

/* Calendar cell hover */
.cal-cell:hover { background: #f8fafc; }
