html, body { height: 100%; }
body { font-family: 'Segoe UI', sans-serif; display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; }
footer { flex-shrink: 0; }
.bg-gradient { background: linear-gradient(45deg, #0d6efd, #6610f2); color: #fff; }
.card-header { font-weight: 600; }
.navbar-brand { font-weight: 700; letter-spacing: 1px; }
.stat-tile { border-radius: 0.75rem; box-shadow: 0 0.75rem 1.25rem rgba(13, 110, 253, 0.12); }
.stat-value { font-size: 1.6rem; font-weight: 700; }
.stat-label { font-size: 0.9rem; color: #6c757d; }
.leaflet-map { height: 300px; border: 1px solid #dee2e6; border-radius: 0.5rem; }
