.visit-page { max-width:1500px; margin:0 auto; }
.visit-page h1 { margin:0 0 8px; }
.visit-filters { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:20px; margin:24px 0 12px; }
.visit-filters label { display:flex; flex:1 1 175px; flex-direction:column; gap:8px; font-size:.85rem; min-width:0; }
.visit-actions { display:flex; flex-wrap:wrap; gap:8px; }
.visit-note { color:var(--md-sys-color-on-surface-variant); line-height:1.7; }
.visit-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:20px 0; }
.visit-summary .md-card { padding:18px; display:flex; flex-direction:column; gap:8px; }
.visit-summary strong { font-size:1.15rem; }
.visit-summary span { font-size:.85rem; color:var(--md-sys-color-on-surface-variant); }
.visit-table-wrap { overflow-x:auto; }
.visit-table { width:100%; border-collapse:collapse; font-size:.85rem; }
.visit-table th,.visit-table td { text-align:left; padding:14px; border-bottom:1px solid var(--md-sys-color-outline-variant); }
.visit-table th { white-space:nowrap; }
.visit-table small { display:block; margin-top:5px; color:var(--md-sys-color-on-surface-variant); }
.visit-empty { padding:28px; text-align:center; }
.visit-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:16px; margin:20px 0; }
@media(max-width:600px) { .visit-filters { padding:14px; } .visit-summary { grid-template-columns:1fr 1fr; } .visit-summary strong { font-size:.95rem; overflow-wrap:anywhere; } }
