.agency-width { width: min(100%, 75rem); margin-inline: auto; padding-inline: 1.5rem; }
.agency-header { background: var(--paper); border-bottom: 1px solid var(--line); }
.agency-header-content { min-height: 4.5rem; padding-block: .65rem; }
.agency-header-content, .agency-nav, .agency-row, .agency-chips, .agency-detail-heading {
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
}
.agency-header-content { gap: .75rem; }
.agency-header h1 { font-size: 1.125rem; margin-right: .4rem; }
.agency-nav { flex: 1; }
.agency-content { padding-block: 1.5rem 4rem; display: grid; gap: 1rem; }
.agency-surface :is(button, .button, input, select) { min-height: 44px; }
.agency-surface .auth { max-width: calc(100% - 2rem); }
.agency-surface .panel { border: 0; }
.agency-surface .panel + .panel { margin-top: 0; }
.agency-surface #status { bottom: 1rem; width: min(calc(100% - 2rem), 46rem); margin: 0 auto 1rem; }
.agency-nav button, .agency-tabs button { border: 0; }
.agency-nav button[aria-current="page"] { background: var(--soft-accent); color: var(--soft-text); }
.agency-chips button { border-radius: 999px; }
.agency-chips [aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.agency-chips button:disabled { cursor: default; opacity: 1; }
.agency-tabs {
  display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--line);
}
.agency-tabs button {
  background: transparent; border: 0; border-bottom: 3px solid transparent; border-radius: 0;
}
.agency-tabs [aria-current="page"] { border-bottom-color: var(--accent); }
.agency-detail-heading h2 { font-size: clamp(1.25rem, 5vw, 1.6rem); }
.agency-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.agency-checklist, .agency-history { display: grid; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.agency-checklist li, .agency-history li { border-top: 1px solid var(--line); padding-top: .55rem; }
.agency-checklist li { display: flex; align-items: center; gap: .5rem; }
.agency-checklist .badge { flex: 0 0 auto; min-width: 1.5rem; text-align: center; }
.agency-history li, .agency-status-line { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .35rem; }
.agency-surface .badge {
  display: inline-block; background: var(--soft-accent); border-radius: 999px; padding: .22rem .6rem;
  color: var(--soft-text); font-size: .8rem; font-weight: 650;
}
.agency-surface .badge.pending { background: var(--warning); color: var(--warn-text); }
.agency-surface .badge.unconfigured { background: var(--background); color: var(--muted); }
.agency-table { background: var(--paper); border-radius: 1rem; overflow: hidden; }
.agency-table-head, .agency-table-row {
  display: grid; grid-template-columns: var(--columns); align-items: center; gap: .75rem;
  padding: .7rem 1.1rem; border-radius: 0; text-align: left;
}
.agency-table { --columns: 2fr 1.1fr 1.2fr 1.4fr .7fr 1.2fr; }
.agency-catalog-table { --columns: 2fr 1.05fr 1fr 1fr 1.25fr 1.05fr; }
.agency-table-head { color: var(--muted); font-size: .8rem; font-weight: 650; }
.agency-table-row { width: 100%; border: 0; border-top: 1px solid var(--line); }
.agency-table-row:focus-visible { outline-offset: -3px; }
.agency-table-row span { overflow-wrap: anywhere; }
.agency-table-row span:first-child { font-weight: 650; }
.agency-surface .agency-form { width: min(100%, 43rem); }
.agency-surface :is(.agency-form, dialog) textarea { resize: vertical; min-height: 6rem; }
.agency-surface fieldset { margin: 0; min-width: 0; border: 0; padding: 0; }
.agency-surface fieldset legend { margin-bottom: .4rem; padding: 0; }
.agency-checks { display: flex; flex-wrap: wrap; gap: .35rem; }
.agency-checks label { display: flex; align-items: center; min-height: 44px; gap: .35rem; padding: .25rem .45rem; }
.agency-surface input:is([type="checkbox"], [type="radio"]) { width: auto; min-height: 0; }
.agency-surface .agency-option { display: flex; align-items: center; min-height: 44px; gap: .4rem; }
.agency-surface .memo-text { white-space: pre-wrap; overflow-wrap: anywhere; }
.agency-surface .agency-editor-error { color: var(--alert); }
.agency-surface dialog h2:focus { outline: 0; }
@media (max-width: 52rem) {
  .agency-width { padding-inline: 1rem; }
  .agency-grid { grid-template-columns: 1fr; }
  .agency-table-head { display: none; }
  .agency-table-row {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem .8rem;
    padding: .85rem; align-items: start;
  }
  .agency-table-row > span:first-child { grid-column: 1 / -1; }
  .agency-table-row > span:not(:first-child)::before {
    display: block; content: attr(data-label); color: var(--muted); font-size: .76rem;
  }
}
@media (max-width: 26rem) {
  .agency-width { padding-inline: .75rem; }
  .agency-header-content { gap: .35rem; }
  .agency-header-content h1, .agency-nav { flex-basis: 100%; }
  .agency-content { padding-block-start: .85rem; }
  .agency-tabs button { padding-inline: .48rem; }
}
