.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);
  background: color-mix(in srgb, var(--surface-primary) 88%, transparent);
  color: var(--text-secondary);
  padding: 1rem 0;
}

.footer .footer-content {
  gap: 0.5rem;
  font-size: var(--font-size-sm);
}

.footer-link {
  color: var(--secondary-900);
  font-weight: 600;
  text-decoration: none;
}

.footer-link:hover,
.footer-link:focus-visible {
  text-decoration: underline;
}

.footer-separator {
  color: var(--text-muted);
  opacity: 0.75;
}

.form-group {
  margin-bottom: 1rem;
}

.form-label {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--text-primary);
  font-size: var(--font-size-sm);
  font-weight: 600;
}

.subtitle {
  margin: 0 0 1rem;
  color: var(--text-secondary);
  line-height: var(--line-height-normal);
}

.filter-control {
  width: 100%;
  /* Высоту задаёт компонент, а не страница.
     ------------------------------------------------------------------
     Раньше здесь её не было вовсе: размер получался из паддинга, и каждая
     страница дописывала свой. Замер 17.08.2026 — одно и то же поле:
     «Документы» 34, «Контрагенты» 35, «Объекты» 34, «Финансы» 40,
     «Приборы» 40, кабинет 40. Ни 34, ни 35 никто не выбирал осознанно —
     так сложилось из чужих отступов.

     Ступеней две (`--control-h`, `--control-h-sm`, см. variables.css).
     Плотным контекстам достаточно переключить токен, а не сочинять
     размер заново. `min-height`, а не `height`: полю с переносом
     (textarea с этим классом) высота не должна мешать. */
  min-height: var(--control-h);
  background-color: var(--input-bg);
  color: var(--text-primary);
  border: 1px solid var(--input-border);
  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;
}

/* Наведение вело на --border-color-strong, а он в светлой теме СВЕТЛЕЕ
   рамки покоя (#cbd5e1 против #64748b): контраст рамки к полю падал
   3,86 → 1,25 — наведение гасило поле вместо подсветки. Подмес заливки к
   белому делал то же с фоном (1,04). Замер 23.08.2026. Ведём рамку на
   --input-border-hover: светлая #334155, тёмная slate-300. */
.filter-control:not(:disabled):hover {
  border-color: var(--input-border-hover);
}

/* Кольцо — outline, непрозрачное, по правилу из docs/UI-POLISH.md
   (раздел «Правило про кольцо фокуса»). Здесь стояла тень с 0,45:
   1,83/2,29 к карточке при норме 3,0 — ровно тот способ, который правило
   запретило 17.08, и стоял он на 300 полях. Тот же цвет без прозрачности:
   4,76 в светлой, 5,71 в тёмной. 23.08.2026 */
.filter-control:focus {
  outline: 2px solid var(--focus-ring-color);
  outline-offset: 0;
  border-color: var(--input-border-hover);
}

.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;
  }
}
