/* 学术站的访客页样式：只保留「访问历史」页那部分。
   卡片本身的观感已进组件库（vendor/gintmr-ui/src/components/visitor-card.css）。 */

.visitor-page-button:focus-visible, .visitor-page-jump input:focus-visible, .visitor-table-scroll:focus-visible { outline: 2px solid var(--gintmr_ui-link); outline-offset: 4px; border-radius: .2rem; }
.visitor-history-card { padding: 1.2rem 1.4rem; }
.visitor-history-heading { margin-bottom: 1rem; }
.visitor-history-meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: .4rem; }
.visitor-history-meta .visitor-detail-note { margin: 0; }
.visitor-detail-note { margin: .25rem 0 .6rem; color: var(--gintmr_ui-secondary); font-size: .72rem; line-height: 1.7; }
.visitor-table-scroll { width: 100%; overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--gintmr_ui-line) transparent; }
.visitor-table { width: 100%; margin: 0; border-collapse: collapse; font-size: .8rem; text-align: left; }
.visitor-table th, .visitor-table td { padding: .55rem .8rem; line-height: 1.65; vertical-align: top; border-bottom: 1px solid color-mix(in srgb, var(--gintmr_ui-line) 50%, transparent); }
.visitor-table th:first-child, .visitor-table td:first-child { padding-left: 0; }
.visitor-table th:last-child, .visitor-table td:last-child { padding-right: 0; }
.visitor-table thead th { color: var(--gintmr_ui-secondary); font-size: .72rem; font-weight: 400; white-space: nowrap; }
.visitor-table tbody th { font-weight: 400; }
.visitor-table tbody tr:last-child > * { border-bottom: 0; }
.visitor-activity-table time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.visitor-activity-table td:last-child { white-space: nowrap; }
.visitor-activity-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; margin-top: .75rem; }
.visitor-activity-controls > p { margin: 0; }
.visitor-page-button { border: 1px solid var(--gintmr_ui-line); border-radius: .45rem; background: transparent; color: var(--gintmr_ui-link); font: inherit; font-size: .75rem; padding: .35rem .85rem; cursor: pointer; }
.visitor-page-button:hover:not(:disabled) { background: color-mix(in srgb, var(--gintmr_ui-link) 7%, transparent); }
.visitor-page-button:disabled { color: var(--gintmr_ui-secondary); opacity: .5; cursor: default; }
.visitor-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .7rem 1rem; margin-top: .8rem; }
.visitor-page-navigation, .visitor-page-jump { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin: 0; }
.visitor-page-label { color: var(--gintmr_ui-secondary); font-size: .73rem; font-variant-numeric: tabular-nums; }
.visitor-page-jump label { color: var(--gintmr_ui-secondary); font-size: .73rem; }
.visitor-page-jump input { width: 4.2rem; min-width: 0; padding: .35rem .4rem; border: 1px solid var(--gintmr_ui-line); border-radius: .35rem; background: color-mix(in srgb, var(--gintmr_ui-bg) 70%, transparent); color: var(--gintmr_ui-fg); font: inherit; font-size: .75rem; font-variant-numeric: tabular-nums; }
.visitor-page-jump input:disabled { opacity: .5; }
.visitor-section [hidden] { display: none !important; }
@media (max-width: 760px) {
  .visitor-card, .visitor-history-card { padding: 1rem; }
  .visitor-table { font-size: .76rem; }
  .visitor-table th, .visitor-table td { padding: .5rem .6rem; }
}
@media (max-width: 420px) {
  .visitor-table th, .visitor-table td { padding-inline: .35rem; }
  .visitor-pagination { align-items: stretch; }
  .visitor-page-navigation { width: 100%; justify-content: space-between; }
  .visitor-page-button { min-height: 2.5rem; }
  .visitor-page-jump { width: 100%; justify-content: flex-end; }
  .visitor-table thead th, .visitor-activity-table time { white-space: normal; }
}
