/* NLG KPI — thin custom layer only. Tailwind handles the rest. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Scrollbar */
::-webkit-scrollbar { width: 5px; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 99px; }

/* Progress bar */
.progress-bar  { width: 100%; height: 6px; background: #e2e8f0; border-radius: 99px; overflow: hidden; }
.progress-fill { height: 100%; border-radius: 99px; transition: width 0.3s ease; }

/* Inline table edit input */
.td-inline-input { padding: 0.25rem 0.375rem; border: 1px solid #e2e8f0; border-radius: 8px; font-size: 0.8125rem; font-family: inherit; outline: none; background: #fff; }
.td-inline-input:focus { border-color: #6366f1; box-shadow: 0 0 0 3px rgba(99,102,241,0.1); }

/* Animations */
@keyframes fade-in  { from { opacity: 0; transform: translateY(4px);  } to { opacity: 1; transform: translateY(0); } }
@keyframes slide-up { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade  { animation: fade-in  0.2s ease both; }
.animate-slide { animation: slide-up 0.3s ease both; }
