.ddqx-residency { display: grid; gap: 1.5rem; }
.ddqx-residency__header > * { margin-block: 0 0.5rem; }
.ddqx-residency__controls { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; align-items: end; }
.ddqx-residency__controls label { display: grid; gap: 0.35rem; font-weight: 600; }
.ddqx-residency__controls select,
.ddqx-residency__controls input,
.ddqx-residency__controls button,
.ddqx-residency__more button,
.ddqx-residency__program-actions button,
.ddqx-residency__compare-head button { min-height: 2.75rem; font: inherit; }
.ddqx-residency__geography { border: 1px solid color-mix(in srgb, currentColor 22%, transparent); border-radius: 0.75rem; padding: 1rem; }
.ddqx-residency__geography h4 { margin-bottom: 0.6rem; }
.ddqx-residency__note,
.ddqx-residency__meta { opacity: 0.75; font-size: 0.925rem; }
.ddqx-residency__states { display: grid; grid-template-columns: repeat(auto-fit, minmax(4.4rem, 1fr)); gap: 0.45rem; }
.ddqx-residency__states button { display: flex; justify-content: space-between; gap: 0.5rem; min-height: 2.6rem; align-items: center; border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: 0.45rem; background: transparent; color: inherit; padding: 0.45rem 0.6rem; cursor: pointer; }
.ddqx-residency__states button[aria-pressed="true"] { outline: 3px solid currentColor; outline-offset: 1px; }
.ddqx-residency__states button:focus-visible,
.ddqx-residency__controls :focus-visible,
.ddqx-residency__program-actions :focus-visible,
.ddqx-residency__more :focus-visible,
.ddqx-residency__compare-head :focus-visible { outline: 3px solid currentColor; outline-offset: 2px; }
.ddqx-residency__territories { margin-top: 1rem; }
.ddqx-residency__territories summary { cursor: pointer; font-weight: 600; margin-bottom: 0.7rem; }
.ddqx-residency__programs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1rem; }
.ddqx-residency__program { border: 1px solid color-mix(in srgb, currentColor 18%, transparent); border-radius: 0.75rem; padding: 1rem; }
.ddqx-residency__program h3 { margin-top: 0; }
.ddqx-residency__program-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; align-items: center; margin-top: 0.8rem; }
.ddqx-residency__program-actions button[aria-pressed="true"] { font-weight: 700; }
.ddqx-residency__empty { grid-column: 1 / -1; }
.ddqx-residency__more { display: flex; justify-content: center; }
.ddqx-residency__compare { border: 1px solid color-mix(in srgb, currentColor 24%, transparent); border-radius: 0.75rem; padding: 1rem; }
.ddqx-residency__compare-head { display: flex; gap: 1rem; align-items: start; justify-content: space-between; }
.ddqx-residency__compare-head h3 { margin-top: 0; }
.ddqx-residency__compare-table-wrap { overflow-x: auto; }
.ddqx-residency__comparison-table { width: 100%; border-collapse: collapse; min-width: 42rem; }
.ddqx-residency__comparison-table caption { text-align: left; font-weight: 600; margin-bottom: 0.5rem; }
.ddqx-residency__comparison-table th,
.ddqx-residency__comparison-table td { border-bottom: 1px solid color-mix(in srgb, currentColor 18%, transparent); padding: 0.7rem; text-align: left; vertical-align: top; }
.ddqx-residency__comparison-table tbody th { width: 9rem; }
.ddqx-residency__preview-warning { border-left: 4px solid currentColor; padding: 0.65rem 0.85rem; background: color-mix(in srgb, currentColor 7%, transparent); }
@media (max-width: 540px) {
  .ddqx-residency__states { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ddqx-residency__compare-head { display: grid; }
}
