.main-wrapper > .main-content {
  padding-top: 0;
}

.main-content {
  min-width: 0;
}

.container {
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

.footer {
  border-top: 1px solid var(--border-color, #e5e7eb);
  background: color-mix(in srgb, var(--surface-primary, #ffffff) 88%, transparent);
  color: var(--text-secondary, #475569);
  padding: 1rem 0;
}

.footer .footer-content {
  gap: 0.5rem;
  font-size: 0.875rem;
}

.footer-link {
  color: #0f172a;
  font-weight: 600;
  text-decoration: none;
}

.footer-link:hover,
.footer-link:focus-visible {
  text-decoration: underline;
}

.footer-separator {
  color: var(--text-muted, #64748b);
  opacity: 0.75;
}

.form-group {
  margin-bottom: 1rem;
}

.form-label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--text-primary, #111827);
  font-size: 0.9375rem;
  font-weight: 600;
}

.subtitle {
  margin: 0 0 1rem;
  color: var(--text-secondary, #475569);
  line-height: 1.55;
}

.filter-control {
  width: 100%;
  background-color: var(--input-bg, #f9fafb);
  color: var(--text-primary, #111827);
  border: 1px solid var(--input-border, var(--border-color, #cbd5e1));
  border-radius: var(--radius-base, 0.5rem);
  padding: 10px 12px;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

.filter-control:not(:disabled):hover {
  border-color: var(--border-color-strong, #94a3b8);
  background-color: color-mix(in srgb, var(--input-bg, #f9fafb) 82%, var(--surface-primary, #ffffff));
}

.filter-control:focus {
  outline: none;
  border-color: var(--focus-ring-color, #B4BCFC);
  box-shadow: 0 0 0 3px rgba(var(--focus-ring-color-rgb, 180, 188, 252), 0.45);
}

.filter-control[readonly] {
  opacity: 0.9;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 480px) {
  .container {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}
