/* Custom styling & Bulletproof Colors for Room 309 Mobile App */

@keyframes slideUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes scaleUp {
  from {
    transform: scale(0.92);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

.animate-slide-up {
  animation: slideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.animate-scale-up {
  animation: scaleUp 0.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Hide scrollbar for clean horizontal chips */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* ============================================================== */
/* HERO CARD BULLETPROOF STYLES (Đảm bảo nền tối & chữ trắng 100%) */
/* ============================================================== */
.hero-card {
  background: linear-gradient(135deg, #090d16 0%, #0f172a 45%, #1e1b4b 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.3), 0 8px 10px -6px rgba(15, 23, 42, 0.3) !important;
}

.hero-fund-label {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #cbd5e1 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
}

.hero-fund-amount {
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
}

.hero-stat-box {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  backdrop-filter: blur(8px);
}

.hero-btn-replenish {
  background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(234, 88, 12, 0.35) !important;
  border: none !important;
}

.hero-btn-replenish:active {
  transform: scale(0.98);
  filter: brightness(0.95);
}

/* ============================================================== */
/* LOGO & NAVIGATION */
/* ============================================================== */
.brand-logo {
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 4px 10px rgba(37, 99, 235, 0.3) !important;
}

.fab-btn {
  background: linear-gradient(135deg, #2563eb 0%, #4f46e5 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 25px rgba(37, 99, 235, 0.4) !important;
}

/* Category Radio Active State */
.category-radio:has(input:checked) {
  border-color: #2563eb !important;
  background-color: #eff6ff !important;
  box-shadow: 0 2px 4px rgba(37, 99, 235, 0.12) !important;
}

/* Filter Chip Active State */
.filter-chip.active {
  background-color: #2563eb !important;
  color: #ffffff !important;
}

/* Status Badges */
.badge-received {
  background-color: #dcfce7 !important;
  color: #15803d !important;
  border: 1px solid #bbf7d0 !important;
}

.badge-debt {
  background-color: #ffe4e6 !important;
  color: #be123c !important;
  border: 1px solid #fecdd3 !important;
}

.badge-balanced {
  background-color: #f1f5f9 !important;
  color: #475569 !important;
  border: 1px solid #e2e8f0 !important;
}

/* Smooth Tap Response on Mobile */
button, input, select {
  -webkit-tap-highlight-color: transparent;
}

/* Floating Action Button Safe Area */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  body {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
  }
  #fab-add-expense {
    bottom: calc(1.5rem + env(safe-area-inset-bottom));
  }
}
