/* ExecsPartners Practice Management - Custom Styles */

html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Scrollbar */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: #f3f4f6; }
::-webkit-scrollbar-thumb { background: #d1d5db; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #9ca3af; }

/* Dark sidebar scrollbar */
aside.bg-brand-black ::-webkit-scrollbar-track { background: #171717; }
aside.bg-brand-black ::-webkit-scrollbar-thumb { background: #404040; }

/* Soft shadows */
.shadow-soft {
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* Loading animation */
@keyframes pulse-gold {
  0%, 100% { box-shadow: 0 0 0 0 rgba(242, 169, 0, 0.4); }
  50% { box-shadow: 0 0 0 8px rgba(242, 169, 0, 0); }
}

.pulse-gold { animation: pulse-gold 2s infinite; }

/* Toast notifications */
.toast {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 9999;
  padding: 12px 20px;
  border-radius: 8px;
  background: #0A0A0A;
  color: white;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: translateX(120%);
  transition: transform 0.3s ease;
  max-width: 360px;
  font-size: 13px;
}
.toast.show { transform: translateX(0); }
.toast.success { background: #10b981; }
.toast.error { background: #dc2626; }

/* Forms */
input:focus, select:focus, textarea:focus { box-shadow: 0 0 0 3px rgba(242, 169, 0, 0.15); }

/* Make tables responsive */
@media (max-width: 768px) {
  table { font-size: 12px; }
}

/* Print-friendly */
@media print {
  aside, header, .no-print { display: none !important; }
  main { padding: 0 !important; }
}
