/* History counts refer to the search/module/editorial subset, before history mode. */
.question-history-filters[hidden], .question-practice-empty[hidden], .question-practice-retry[hidden] { display: none; }
.question-filters, .question-filters.has-module-filter {
  display: grid; grid-template-columns: minmax(160px, 1.6fr) minmax(128px, 1fr) minmax(320px, 2.8fr);
  align-items: end; gap: 12px; padding: 14px; background: var(--paper); backdrop-filter: none;
}
.question-filters.has-module-filter { grid-template-columns: minmax(160px, 1.6fr) minmax(96px, .8fr) minmax(128px, 1fr) minmax(320px, 2.8fr); }
.question-filters [data-question-error-sort][hidden] { display: none; }
.question-filters.has-error-sort { grid-template-columns: minmax(150px, 1.4fr) minmax(128px, 1fr) minmax(128px, 1fr) minmax(320px, 2.8fr); }
.question-filters.has-module-filter.has-error-sort { grid-template-columns: minmax(150px, 1.4fr) minmax(86px, .8fr) minmax(118px, 1fr) minmax(128px, 1fr) minmax(320px, 2.8fr); }
.question-filters label { min-width: 0; font-size: .75rem; gap: 6px; }
.question-filters input, .question-filters select { min-height: 44px; border-radius: 8px; font-size: .82rem; }
.question-history-filters { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; min-width: 0; }
.question-history-filter { display: grid; gap: 6px; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--ink); font: inherit; text-align: left; cursor: pointer; }
.question-history-filter > span { color: var(--muted); font-size: .75rem; font-weight: 700; }
.question-history-filter strong {
  display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 8px 10px;
  border: 1px solid var(--line); border-radius: 8px; background: var(--surface); box-sizing: border-box;
  font-size: .88rem; font-weight: 750; font-variant-numeric: tabular-nums;
}
.question-history-filter[data-history-filter="correct"] strong { border-color: #c9dcd1; background: #f8fbf9; }
.question-history-filter[data-history-filter="incorrect"] strong { border-color: #e4cccc; background: #fdf9f9; }
.question-history-filter[data-history-filter="unanswered"] strong { border-color: #e2dac3; background: #fdfbf6; }
.question-history-filter:hover strong { border-color: var(--accent-deep); }
.question-history-filter[aria-pressed="true"] strong { border-color: var(--accent-deep); box-shadow: inset 0 0 0 1px var(--accent-deep); }
.question-history-filter:focus-visible { outline: none; }
.question-history-filter:focus-visible strong { outline: 3px solid var(--accent); outline-offset: 3px; }
.question-practice-retry { min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--accent-deep); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.question-practice-retry:hover { border-color: var(--accent-deep); background: #e3eef2; }
.question-practice-retry:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.question-practice-empty { grid-column: 1 / -1; margin: 0; color: var(--ink); font-size: .82rem; }
@media (max-width: 1299px) {
  .question-filters, .question-filters.has-module-filter, .question-filters.has-error-sort, .question-filters.has-module-filter.has-error-sort { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .question-filters label:first-child { grid-column: 1 / 5; }
  .question-filters label:has(select[name="status"]) { grid-column: 5 / 7; }
  .question-filters.has-module-filter label:first-child { grid-column: 1 / 4; }
  .question-filters label:has(select[name="module"]) { grid-column: 4 / 5; }
  .question-filters.has-error-sort label:first-child { grid-column: 1 / -1; }
  .question-filters.has-module-filter.has-error-sort label:first-child { grid-column: 1 / 4; }
  .question-filters.has-error-sort label:has(select[name="status"]) { grid-column: 1 / 4; }
  .question-filters.has-module-filter.has-error-sort label:has(select[name="module"]) { grid-column: 4 / 7; }
  .question-filters.has-module-filter.has-error-sort label:has(select[name="status"]) { grid-column: 1 / 4; }
  .question-filters label:has(select[name="error_order"]) { grid-column: 4 / 7; }
  .question-history-filters { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
  .question-filters, .question-filters.has-module-filter, .question-filters.has-error-sort, .question-filters.has-module-filter.has-error-sort { position: relative; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 8px; }
  .question-filters label:first-child, .question-filters.has-module-filter label:first-child { grid-column: 1 / -1; }
  .question-filters label:has(select[name="status"]) { grid-column: 1 / -1; }
  .question-filters.has-module-filter label:has(select[name="module"]) { grid-column: 1 / 3; }
  .question-filters.has-module-filter label:has(select[name="status"]) { grid-column: 3 / 5; }
  .question-filters.has-error-sort label:first-child, .question-filters.has-module-filter.has-error-sort label:first-child { grid-column: 1 / -1; }
  .question-filters.has-error-sort label:has(select[name="status"]) { grid-column: 1 / 3; }
  .question-filters.has-module-filter.has-error-sort label:has(select[name="module"]) { grid-column: 1 / 3; }
  .question-filters.has-module-filter.has-error-sort label:has(select[name="status"]) { grid-column: 3 / 5; }
  .question-filters.has-error-sort label:has(select[name="error_order"]) { grid-column: 3 / 5; }
  .question-filters.has-module-filter.has-error-sort label:has(select[name="error_order"]) { grid-column: 1 / -1; }
  .question-history-filters { gap: 8px; }
  .question-history-filter strong { padding-inline: 2px; font-size: .8rem; }
}
@media print { .question-history-filters, .question-practice-retry { display: none; } }
