/* ===========================
   BloomFlow CRM — Layout
   =========================== */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

body {
  font-family: var(--bf-font);
  background: var(--bf-bg);
  color: var(--bf-text-primary);
  overflow-x: hidden;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* Scrollbar */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--bf-surface-3); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--bf-text-muted); }

/* Focus */
input, select, textarea, button { font-family: inherit; outline: none; }
input:focus, select:focus, textarea:focus {
  border-color: var(--bf-rose) !important;
  box-shadow: 0 0 0 2px var(--bf-rose-ghost);
}

/* Animations */
@keyframes fadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fadeInScale { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes slideIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.6; } }

.fade-in { animation: fadeIn var(--bf-transition-slow); }
.slide-in { animation: slideIn var(--bf-transition-slow); }

/* Utility */
.truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Links inside tables */
a { text-decoration: none; }
