html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.analytics-dashboard {
  max-width: 1600px;
  margin: 0 auto;
}

.analytics-hero {
  background: linear-gradient(135deg, #f8fbff 0%, #ffffff 55%, #f4f8ff 100%);
}

.analytics-stat {
  border-left: 4px solid #dbe5f0;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.analytics-stat:hover {
  transform: translateY(-2px);
}

.analytics-stat .card-body {
  padding: 1.25rem;
}

.analytics-stat-inflow {
  border-left-color: #16a34a;
}

.analytics-stat-outflow {
  border-left-color: #dc2626;
}

.analytics-stat-net {
  border-left-color: #2563eb;
}

.analytics-stat-expense {
  border-left-color: #d97706;
}

.analytics-stat-label {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c7a89;
  margin-bottom: 0.55rem;
}

.analytics-stat-value {
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.15;
  margin-bottom: 0.35rem;
}

.analytics-stat-meta {
  font-size: 0.82rem;
  color: #8b98a7;
}

.text-purple {
  color: #7c3aed !important;
}

.analytics-table-wrap {
  max-height: 420px;
  overflow-y: auto;
}

.analytics-progress {
  min-width: 76px;
  max-width: 120px;
  height: 0.45rem;
}

.currency-toggle .btn {
  min-width: 72px;
}

.analytics-dashboard .table thead th {
  font-size: 0.8rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.analytics-dashboard .table tbody td {
  font-size: 0.92rem;
}

.analytics-dashboard .card-header h2,
.analytics-dashboard .card-header .h5 {
  color: #10233f;
}

#monthlyChart,
#groupPieChart,
#categoryPieChart,
#trendChart {
  width: 100% !important;
}
