/* === Login Page === */
.login-screen {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
  background: radial-gradient(circle at top right, rgba(124, 92, 252, 0.1), transparent),
              radial-gradient(circle at bottom left, rgba(124, 92, 252, 0.05), transparent);
}

.login-avatar-grid {
  display: flex;
  gap: 2rem;
  margin-bottom: 3rem;
}

.login-avatar {
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  border: 4px solid var(--color-bg-tertiary);
  cursor: pointer;
  transition: var(--transition-base);
  position: relative;
}

.login-avatar.selected {
  border-color: var(--color-accent-primary);
  transform: scale(1.1);
}

.pin-display {
  display: flex;
  gap: 1rem;
  margin-bottom: 2.5rem;
}

.pin-dot {
  width: 1rem;
  height: 1rem;
  border-radius: var(--radius-full);
  background-color: var(--color-bg-tertiary);
  transition: var(--transition-fast);
}

.pin-dot.filled {
  background-color: var(--color-accent-primary);
  box-shadow: 0 0 10px var(--color-accent-primary);
}

.pin-keypad {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  width: 100%;
  max-width: 250px;
}

.pin-key {
  width: 4rem;
  height: 4rem;
  border-radius: var(--radius-full);
  background-color: var(--color-bg-secondary);
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 500;
  transition: var(--transition-fast);
}

.pin-key:active {
  background-color: var(--color-accent-primary);
  color: white;
}

/* === Dashboard === */
.dashboard-header {
  padding: 2rem 1.5rem;
}

.dashboard-title {
  font-size: var(--font-size-3xl);
  font-family: 'Lexend', sans-serif;
  margin-bottom: 0.5rem;
}

.balance-card {
  margin: 0 1.5rem 2rem;
  background: linear-gradient(135deg, var(--color-bg-secondary), #1A1D26);
  position: relative;
  overflow: hidden;
}

.balance-amount {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  font-family: 'Lexend', sans-serif;
}

.balance-progress-container {
  height: 6px;
  background-color: var(--color-bg-tertiary);
  border-radius: 3px;
  margin: 1.5rem 0 0.5rem;
  overflow: hidden;
}

.balance-progress {
  height: 100%;
  background: linear-gradient(90deg, var(--color-accent-primary), var(--color-accent-green));
  transition: width 1s var(--transition-slow);
}

.section-title {
  font-size: var(--font-size-lg);
  font-weight: 600;
  margin: 0 1.5rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.expense-list {
  padding: 0 1.5rem 6rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.expense-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  background-color: var(--color-bg-secondary);
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
}

.expense-icon {
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-bg-tertiary);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 1rem;
  font-size: 1.25rem;
}

.expense-info { flex: 1; }
.expense-desc { font-weight: 600; font-size: var(--font-size-sm); }
.expense-meta { font-size: var(--font-size-xs); color: var(--color-text-secondary); }
.expense-amt { font-weight: 700; text-align: right; }

/* === Add Expense Page === */
.add-expense-page {
  padding: 2rem 1.5rem;
  flex: 1;
}

.voice-btn-container {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
}

.voice-btn {
  width: 5rem;
  height: 5rem;
  border-radius: var(--radius-full);
  background: linear-gradient(135deg, var(--color-accent-primary), #6366F1);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  box-shadow: 0 10px 25px rgba(124, 92, 252, 0.4);
}

.voice-btn.listening {
  animation: pulsePurple 1.5s infinite;
}

/* === History === */
.history-filters {
  display: flex;
  gap: 0.5rem;
  padding: 0 1.5rem 1.5rem;
  overflow-x: auto;
  scrollbar-width: none;
}

.month-filter {
  padding: 0.5rem 1rem;
  background-color: var(--color-bg-secondary);
  border-radius: var(--radius-full);
  font-size: var(--font-size-xs);
  white-space: nowrap;
  border: 1px solid var(--color-border);
}

.month-filter.active {
  background-color: var(--color-accent-primary);
  border-color: var(--color-accent-primary);
  color: white;
}
