.reference-page .container { max-width: 1120px; }
.reference-page .main-content { padding-top: 10px; }
.reference-page h1 { margin: 4px 0 10px; font-size: 24px; text-align: left !important; }
.reference-toolbar { border: 1px solid #a9c0da; background: #f5f8fc; padding: 7px 9px; margin-bottom: 8px; }
.genpon-filters { display: grid; grid-template-columns: 150px 130px 180px minmax(190px, 1fr); gap: 7px; }
.genpon-filters label { font-size: 11px; font-weight: 600; }
.genpon-filters select, .genpon-filters input { box-sizing: border-box; width: 100%; height: 29px; margin-top: 2px; padding: 3px 5px; border: 1px solid #9fb2c8; background: #fff; font-size: 12px; }
.genpon-summary { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; font-size: 12px; }
.genpon-summary .btn, #genpon-more { padding: 4px 10px; font-size: 12px; }
.reference-table { width: 100%; border-collapse: collapse; table-layout: fixed; background: #fff; font-size: 12px; }
.reference-table th { padding: 5px 7px; border: 1px solid #9fb2c8; background: #e7eef7; color: #203f65; text-align: left; }
.reference-table td { padding: 5px 7px; border: 1px solid #c7d2df; vertical-align: top; line-height: 1.45; }
.reference-table tbody tr:nth-child(even) { background: #f8fafc; }
.reference-table tbody tr:hover { background: #fffbdc; }
.reference-table a { display: block; color: #0645ad; text-decoration: none; }
.reference-table a:hover { text-decoration: underline; }
.reference-university { width: 105px; white-space: nowrap; font-weight: 600; }
.reference-year { width: 54px; text-align: center; font-variant-numeric: tabular-nums; }

@media (max-width: 720px) {
  .genpon-filters { grid-template-columns: 1fr 1fr; }
  .reference-table { table-layout: auto; font-size: 11px; }
  .reference-university { width: 78px; white-space: normal; }
  .reference-year { width: 40px; }
}

