.patent-records {
  margin-top:2rem;
  min-width:0;
  color:var(--white);
  font-family:var(--font-sans)
}
.pf-heading {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:start;
  margin-bottom:1.25rem
}
.pf-heading h3 {
  font:600 1.45rem/1.2 var(--font-display);
  margin:0 0 .4rem
}
.pf-heading p,.pf-note {
  color:var(--text-lighter);
  font-size:.8rem;
  line-height:1.55;
  margin:.25rem 0
}
.pf-badge {
  border:1px solid var(--border-light);
  border-radius:99px;
  padding:.35rem .65rem;
  font-size:.7rem;
  white-space:nowrap;
  color:var(--blue)
}
.pf-controls {
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  margin-bottom:1rem
}
.pf-controls label {
  display:flex;
  flex-direction:column;
  gap:.35rem;
  font-size:.7rem;
  font-weight:600;
  color:var(--text-light)
}
.pf-controls select,.patent-records button {
  font:500 .8rem var(--font-sans);
  background:var(--surface-card);
  color:var(--white);
  border:1px solid var(--border-light);
  border-radius:7px;
  padding:.6rem .8rem;
  min-height:40px
}
.patent-records button {
  cursor:pointer
}
.patent-records button:disabled {
  opacity:.4;
  cursor:default
}
.patent-records :is(button,select,a):focus-visible {
  outline:2px solid var(--blue);
  outline-offset:3px
}
.pf-result {
  font-size:.85rem;
  margin:1rem 0
}
.pf-table-wrap {
  overflow-x:auto
}
.pf-table {
  width:100%;
  border-collapse:collapse;
  font-size:.78rem;
  text-align:left
}
.pf-table th {
  font-weight:500;
  color:var(--text-lighter);
  padding:.8rem .7rem;
  border-bottom:1px solid var(--border-light);
  font-size:.68rem;
  white-space:nowrap
}
.pf-table td {
  padding:.9rem .7rem;
  border-bottom:1px solid var(--border-light);
  vertical-align:top;
  font-variant-numeric:tabular-nums
}
.pf-table td:first-child {
  min-width:235px;
  max-width:400px
}
.pf-table td:nth-last-child(-n+2) {
  white-space:nowrap
}
.pf-table a {
  color:var(--blue);
  text-decoration:none;
  font-weight:600
}
.pf-table small {
  display:block;
  color:var(--text-lighter);
  font-size:.65rem;
  margin-top:.25rem
}
.pf-title {
  display:block;
  font-size:.82rem;
  line-height:1.4;
  margin-bottom:.3rem
}
.pf-status {
  display:inline-block;
  padding:.2rem .45rem;
  background:var(--navy-lighter);
  border-radius:5px;
  font-size:.65rem
}
.pf-granted {
  color:var(--blue)
}
.pf-territories {
  max-width:185px;
  min-width:70px;
  line-height:1.8
}
.pf-territories abbr {
  text-decoration:none;
  cursor:help;
  font-size:.7rem
}
.pf-pagination {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1rem 0
}
.pf-pagination span {
  font-size:.72rem;
  color:var(--text-lighter)
}
@media(max-width:600px) {
  .pf-heading {
    display:block
  }
  .pf-badge {
    display:none
  }
  .pf-controls {
    gap:.5rem
  }
  .pf-controls label {
    flex:1;
    min-width:110px
  }
  .pf-pagination {
    gap:.5rem
  }
  .pf-note {
    font-size:.7rem
  }
}
