/* Finanzas sin Fugas - Hoja de Estilos Complementaria */
/* Diseñada bajo directrices de @baseline-ui */

:root {
  --sat: env(safe-area-inset-top, 0px);
  --sab: env(safe-area-inset-bottom, 0px);
  --sal: env(safe-area-inset-left, 0px);
  --sar: env(safe-area-inset-right, 0px);
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: #090D16;
  color: #F3F4F6;
  overscroll-behavior-y: none;
}

.tabular-nums {
  font-variant-numeric: tabular-nums;
}

.safe-top {
  padding-top: var(--sat);
}

.safe-bottom {
  padding-bottom: var(--sab);
}

.safe-h-dvh {
  height: 100dvh;
  min-height: -webkit-fill-available;
}

/* Scrollbar sutil para dashboards y listas */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #0B0F17;
}
::-webkit-scrollbar-thumb {
  background: #1F2937;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #374151;
}

/* Transiciones táctiles bajo 200ms (@baseline-ui) */
.touch-press {
  transition: transform 120ms ease-out, opacity 120ms ease-out;
}
.touch-press:active {
  transform: scale(0.97);
  opacity: 0.9;
}

/* Badge de Semáforo de Hábito */
.sem-green {
  background-color: rgba(16, 185, 129, 0.15);
  color: #34D399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}
.sem-yellow {
  background-color: rgba(245, 158, 11, 0.15);
  color: #FBBF24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}
.sem-red {
  background-color: rgba(239, 68, 68, 0.15);
  color: #F87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Animación sutil de entrada para notificaciones de feedback */
@keyframes feedbackSlide {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.feedback-enter {
  animation: feedbackSlide 180ms ease-out forwards;
}
