* { font-family: 'Inter', sans-serif; }
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: #13131f; }
::-webkit-scrollbar-thumb { background: #3a3a60; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #7c3aed; }
.sidebar-item { transition: all 0.2s ease; }
.sidebar-item:hover, .sidebar-item.active { background: rgba(124,58,237,0.15); color: #a78bfa; border-left: 3px solid #7c3aed; }
.sidebar-item { border-left: 3px solid transparent; }
.kanban-card { cursor: grab; transition: all 0.2s; }
.kanban-card:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(124,58,237,0.3); }
.kanban-card.dragging { opacity: 0.5; cursor: grabbing; }
.kanban-col.drag-over { background: rgba(124,58,237,0.1); border: 2px dashed #7c3aed; }
.modal-overlay { backdrop-filter: blur(8px); background: rgba(13,13,20,0.85); }
.glass-card { background: rgba(30,30,53,0.7); backdrop-filter: blur(12px); border: 1px solid rgba(124,58,237,0.15); }
.stat-card { background: linear-gradient(135deg, #1a1a2e 0%, #1e1e35 100%); border: 1px solid rgba(124,58,237,0.2); }
.badge-vip { background: linear-gradient(135deg, #f59e0b, #d97706); }
.badge-recorrente { background: linear-gradient(135deg, #10b981, #059669); }
.badge-novo { background: linear-gradient(135deg, #3b82f6, #2563eb); }
.badge-inativo { background: linear-gradient(135deg, #6b7280, #4b5563); }
.progress-bar { background: linear-gradient(90deg, #7c3aed, #a78bfa); }
.temp-quente { background: rgba(239,68,68,0.15); color: #f87171; border: 1px solid rgba(239,68,68,0.3); }
.temp-morno { background: rgba(245,158,11,0.15); color: #fbbf24; border: 1px solid rgba(245,158,11,0.3); }
.temp-frio { background: rgba(59,130,246,0.15); color: #60a5fa; border: 1px solid rgba(59,130,246,0.3); }
input, select, textarea { background: #1a1a2e !important; border: 1px solid rgba(124,58,237,0.3) !important; color: #e2e8f0 !important; }
input::placeholder, textarea::placeholder { color: #6b7280 !important; }
input:focus, select:focus, textarea:focus { border-color: #7c3aed !important; outline: none !important; box-shadow: 0 0 0 2px rgba(124,58,237,0.2) !important; }
.nav-badge { background: #7c3aed; font-size: 10px; padding: 1px 5px; border-radius: 9999px; }
.chart-container { position: relative; }
.priority-alta { border-left: 3px solid #ef4444; }
.priority-media { border-left: 3px solid #f59e0b; }
.priority-baixa { border-left: 3px solid #10b981; }
@keyframes pulse-dot { 0%,100%{opacity:1} 50%{opacity:0.4} }
.pulse-dot { animation: pulse-dot 1.5s infinite; }
@keyframes slide-in { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
.slide-in { animation: slide-in 0.3s ease forwards; }
.tab-btn.active-tab { background: #7c3aed; color: white; }
.tab-btn { transition: all 0.2s; }
.toggle-sidebar { display:none; }
@media (max-width:768px) {
  .toggle-sidebar { display:flex; }
  #sidebar { transform: translateX(-100%); transition: transform 0.3s; position: fixed; z-index: 50; }
  #sidebar.open { transform: translateX(0); }
  #sidebar-backdrop { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); backdrop-filter: blur(2px); z-index: 45; }
  #sidebar.open + #sidebar-backdrop { display: block; }
  .icon-btn { min-width: 36px; min-height: 36px; }
}

/* Modal animation */
.modal-overlay > div { animation: modal-in 0.2s ease-out; }
@keyframes modal-in { from { opacity: 0; transform: scale(0.96) translateY(8px); } to { opacity: 1; transform: scale(1) translateY(0); } }

/* Focus visible para teclado */
button:focus-visible, a:focus-visible { outline: 2px solid #7c3aed; outline-offset: 2px; border-radius: 4px; }

/* Truncate longo em cards */
.truncate-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Stat card menos saturado (roxo só em hover/active) */
.stat-card { background: #1a1a2e; border: 1px solid rgba(74,74,114,0.35); }

/* Toast container */
#toast-container { position: fixed; bottom: 1rem; right: 1rem; z-index: 100; display: flex; flex-direction: column; gap: 0.5rem; max-width: calc(100vw - 2rem); pointer-events: none; }
.toast { background: #1e1e35; border: 1px solid rgba(74,74,114,0.5); border-left-width: 3px; padding: 0.75rem 1rem; border-radius: 8px; min-width: 260px; display: flex; align-items: center; gap: 0.625rem; animation: toast-in 0.25s ease-out forwards; box-shadow: 0 10px 25px rgba(0,0,0,0.4); pointer-events: auto; color: #e2e8f0; font-size: 14px; }
.toast-success { border-left-color: #10b981; }
.toast-error { border-left-color: #ef4444; }
.toast-info { border-left-color: #7c3aed; }
.toast.toast-out { animation: toast-out 0.25s ease-in forwards; }
@keyframes toast-in { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: translateX(0); } }
@keyframes toast-out { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(40px); } }

/* Busy state — botão em loading */
button[data-busy="1"] { opacity: 0.7; cursor: wait; pointer-events: none; }
