#drCheckerPage { padding-bottom: 32px; }
#drCheckerPage .heading { align-items: center; flex-wrap: wrap; }
#drCheckerPage .dr-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#drCheckerPage .dr-link { color: var(--cyan); text-underline-offset: 3px; }
#drCheckerPage .dr-message { padding: 12px 16px; margin-top: 16px; border: 1px solid var(--amber); color: var(--text); overflow-wrap: anywhere; }
#drCheckerPage .dr-settings { margin-top: 18px; padding: 16px; }
#drCheckerPage summary { cursor: pointer; min-height: 28px; color: var(--cyan); }
#drCheckerPage summary .secondary { margin-left: 12px; }
#drCheckerPage .dr-key-form { display: grid; gap: 8px; max-width: 760px; padding-top: 12px; }
#drCheckerPage .dr-key-intro { margin-bottom: 8px; color: var(--text); }
#drCheckerPage .dr-key-controls { display: flex; flex-wrap: wrap; gap: 8px; }
#drCheckerPage .dr-key-controls input { flex: 1 1 220px; min-width: 0; padding: 12px; }
#drCheckerPage .dr-stats { margin-top: 18px; }
#drCheckerPage .dr-run-panel { margin: 16px 0; padding: 14px 16px; }
#drCheckerPage .dr-run-header { display: flex; gap: 12px; justify-content: space-between; align-items: center; }
#drCheckerPage .dr-run-header p { margin: 0; color: var(--text); }
#drCheckerPage progress { display: block; width: 100%; height: 6px; margin-top: 12px; border: 0; appearance: none; background: var(--line); accent-color: var(--cyan); }
#drCheckerPage progress::-webkit-progress-bar { background: var(--line); }
#drCheckerPage progress::-webkit-progress-value { background: var(--cyan); }
#drCheckerPage progress::-moz-progress-bar { background: var(--cyan); }
#drCheckerPage .dr-filters { display: grid; grid-template-columns: minmax(180px,2fr) repeat(3,minmax(135px,1fr)); gap: 12px; padding: 16px; border-bottom: 1px solid var(--line); }
#drCheckerPage .dr-filters label { display: grid; gap: 6px; font-size: .875rem; }
#drCheckerPage .dr-filters input, #drCheckerPage .dr-filters select { width: 100%; min-width: 0; padding: 10px; }
#drCheckerPage .dr-table { width: 100%; min-width: 0; }
#drCheckerPage .dr-table th { font-size: .8rem; letter-spacing: .05em; }
#drCheckerPage .dr-table td { font-size: .9rem; }
#drCheckerPage .dr-table td:first-child { max-width: 320px; }
#drCheckerPage .domain { overflow-wrap: anywhere; }
#drCheckerPage .dr-value { display: flex; gap: 12px; align-items: center; min-width: 120px; }
#drCheckerPage .dr-value b { font-family: var(--font-display); font-size: 1.1rem; color: var(--cyan); min-width: 3ch; }
#drCheckerPage .dr-meter { width: 70px; height: 5px; background: var(--line); }
#drCheckerPage .dr-meter i { display: block; height: 100%; background: var(--cyan); }
#drCheckerPage .dr-state { font-size: .875rem; color: var(--muted); }
#drCheckerPage .dr-ready { color: var(--green); }
#drCheckerPage .dr-queued, #drCheckerPage .dr-checking { color: var(--cyan); }
#drCheckerPage .dr-error { color: #ffb194; max-width: 270px; white-space: normal; }
#drCheckerPage .dr-pagination { padding: 14px 16px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
#drCheckerPage button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
#drCheckerPage .secondary { font-size: .9rem; }
@media (max-width: 1100px) {
  #drCheckerPage .dr-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #drCheckerPage .dr-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  #drCheckerPage .dr-table td:first-child { max-width: none; }
  #drCheckerPage .dr-run-header, #drCheckerPage .dr-pagination { align-items: flex-start; flex-direction: column; }
  #drCheckerPage .dr-table-panel { overflow: hidden; }
  #drCheckerPage .dr-filters input, #drCheckerPage .dr-filters select { font-size: 1rem; }
}
@media (max-width: 480px) {
  #drCheckerPage .heading > .dr-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  #drCheckerPage .dr-filters { grid-template-columns: 1fr; }
  #drCheckerPage .dr-key-controls { flex-direction: column; }
  #drCheckerPage .dr-key-controls input { flex: auto; }
}
