/* =========================================================
   Clínica SaaS — Estilos custom
   Sobre Tailwind via CDN. Mantenha curto e específico.
   ========================================================= */

:root {
  --brand-50:  #f0fdfa;
  --brand-100: #ccfbf1;
  --brand-500: #14b8a6;
  --brand-600: #0d9488;
  --brand-700: #0f766e;
  --brand-800: #115e59;
}

html, body {
  font-family: 'Manrope', system-ui, -apple-system, sans-serif;
  font-feature-settings: 'cv11', 'ss01';
  -webkit-font-smoothing: antialiased;
}

/* Scrollbar refinada */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 5px; border: 2px solid #f1f5f9; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Inputs default style */
.input {
  @apply block w-full rounded-lg border-slate-300 bg-white px-3.5 py-2.5 text-sm text-slate-900
         shadow-sm placeholder-slate-400
         focus:border-brand-600 focus:ring-2 focus:ring-brand-600/20
         disabled:bg-slate-50 disabled:text-slate-500;
}
.label {
  @apply block text-sm font-medium text-slate-700 mb-1.5;
}
.btn {
  @apply inline-flex items-center justify-center gap-2 rounded-lg px-4 py-2.5 text-sm font-semibold
         transition-all focus:outline-none focus:ring-2 focus:ring-offset-2;
}
.btn-primary {
  @apply btn bg-brand-600 text-white hover:bg-brand-700 focus:ring-brand-600
         shadow-sm;
}
.btn-secondary {
  @apply btn bg-white text-slate-700 ring-1 ring-inset ring-slate-300 hover:bg-slate-50;
}
.btn-danger {
  @apply btn bg-red-600 text-white hover:bg-red-700 focus:ring-red-600;
}
.card {
  @apply bg-white rounded-xl ring-1 ring-slate-200/70 shadow-sm;
}
.badge {
  @apply inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium;
}
.badge-success { @apply badge bg-emerald-50 text-emerald-700 ring-1 ring-inset ring-emerald-200; }
.badge-warn    { @apply badge bg-amber-50  text-amber-700  ring-1 ring-inset ring-amber-200; }
.badge-danger  { @apply badge bg-red-50    text-red-700    ring-1 ring-inset ring-red-200; }
.badge-neutral { @apply badge bg-slate-100 text-slate-700  ring-1 ring-inset ring-slate-200; }

/* Animações suaves */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
.fade-up { animation: fade-up 200ms ease-out both; }

/* Loading skeleton */
@keyframes shimmer {
  0% { background-position: -1000px 0; }
  100% { background-position: 1000px 0; }
}
.skeleton {
  background: linear-gradient(90deg, #f1f5f9 0px, #e2e8f0 40px, #f1f5f9 80px);
  background-size: 1000px 100%;
  animation: shimmer 1.6s infinite linear;
  border-radius: 6px;
}

/* Print: para imprimir documentos médicos */
@media print {
  body { background: white !important; }
  .no-print { display: none !important; }
  .print-block { display: block !important; }
}
