.scanner-archive-controls {
  margin: 1rem 0 1.25rem;
  padding: 1rem;
}
.scanner-archive-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}
.scanner-archive-quick {
  display: flex;
  gap: .55rem;
  flex-wrap: wrap;
}
.scanner-range-button,
.scanner-date-button,
.scanner-day-nav button {
  appearance: none;
  border: 1px solid #c7d4e2;
  border-radius: 999px;
  background: #fff;
  color: #12395f;
  min-height: 42px;
  padding: .62rem .95rem;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}
.scanner-range-button:hover,
.scanner-date-button:hover,
.scanner-day-nav button:hover {
  border-color: #4376a5;
  transform: translateY(-1px);
}
.scanner-range-button.active {
  border-color: #0b4e86;
  background: #0b4e86;
  color: #fff;
}
.scanner-date-picker {
  display: flex;
  align-items: end;
  gap: .55rem;
  flex-wrap: wrap;
}
.scanner-date-field {
  display: grid;
  gap: .3rem;
  color: #36536e;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.scanner-date-field input {
  min-height: 42px;
  border: 1px solid #c7d4e2;
  border-radius: 10px;
  background: #fff;
  color: #172d43;
  padding: .55rem .7rem;
  font: inherit;
  font-weight: 650;
}
.scanner-date-field input:focus,
.scanner-range-button:focus-visible,
.scanner-date-button:focus-visible,
.scanner-day-nav button:focus-visible {
  outline: 3px solid rgba(31, 111, 178, .28);
  outline-offset: 2px;
}
.scanner-day-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  margin-top: .8rem;
}
.scanner-day-nav[hidden] { display: none; }
.scanner-day-nav strong {
  min-width: 12rem;
  text-align: center;
  color: #193d60;
}
.scanner-day-nav button {
  width: 42px;
  padding: 0;
  border-radius: 50%;
  font-size: 1.25rem;
}
.scanner-archive-note {
  margin: .85rem 0 0;
  color: #61778c;
  font-size: .9rem;
}
.scanner-archive-note strong { color: #274a69; }
.scanner-range-badge.archive {
  background: #e6edf5;
  color: #244a6c;
}
.scanner-empty-state {
  border: 1px dashed #c4d2df;
  border-radius: 14px;
  padding: 1.25rem;
  background: #f8fbfd;
  color: #506b83;
}
.scanner-archive-loading #scanner-feed-list {
  opacity: .66;
}
.scanner-side-card .scanner-archive-about {
  color: #526b81;
}
@media (max-width: 720px) {
  .scanner-archive-controls { padding: .85rem; }
  .scanner-archive-toolbar { align-items: stretch; }
  .scanner-archive-quick,
  .scanner-date-picker { width: 100%; }
  .scanner-range-button { flex: 1 1 calc(33.333% - .55rem); padding-inline: .55rem; }
  .scanner-date-field { flex: 1 1 auto; }
  .scanner-date-field input { width: 100%; }
  .scanner-date-button { flex: 0 0 auto; }
  .scanner-day-nav strong { min-width: 0; flex: 1; }
}
@media (max-width: 440px) {
  .scanner-range-button { flex-basis: calc(50% - .55rem); }
  .scanner-date-picker { align-items: stretch; }
  .scanner-date-button { width: 100%; }
}
