.visits-page { min-height: 100dvh; background: var(--paper, #f6f8f9); }
.visits-shell { max-width: 1180px; padding-block: 42px 72px; }
.visits-back { color: #496652; font-size: 13px; }
.visits-heading { max-width: 660px; padding-block: 54px 28px; }
.visits-heading h1 { margin: 10px 0 14px; color: #263d30; font-size: clamp(30px, 5vw, 46px); letter-spacing: -.04em; }
.visits-heading p:last-child { color: var(--muted, #718078); font-size: 13px; line-height: 1.9; }
.visits-login { max-width: 560px; padding: 22px; border: 1px solid #dfe8e2; border-radius: 12px; background: #fff; }
.visits-login label { display: block; color: #496652; font-size: 12px; }
.visits-login > div { display: flex; gap: 10px; margin-top: 8px; }
.visits-login input { min-width: 0; flex: 1; padding: 11px 12px; border: 1px solid #ccd9d0; border-radius: 7px; font: inherit; }
.visits-login button { padding: 0 16px; border: 0; border-radius: 7px; color: #fff; background: #426653; font: inherit; cursor: pointer; }
.visits-login button:hover { background: #345540; }
.visits-login button:focus-visible, .visits-login input:focus-visible { outline: 2px solid #89a995; outline-offset: 2px; }
#visits-status { min-height: 19px; margin: 10px 0 0; color: var(--muted, #718078); font-size: 12px; }
.visits-results { margin-top: 18px; padding: 18px; border: 1px solid #dfe8e2; border-radius: 12px; background: #fff; }
.visits-table-wrap { overflow-x: auto; }
.visits-results table { width: 100%; border-collapse: collapse; color: #405b4a; font-size: 12px; }
.visits-results th, .visits-results td { padding: 11px 10px; border-bottom: 1px solid #edf1ee; text-align: left; white-space: nowrap; }
.visits-results th { color: #718078; font-size: 11px; font-weight: 550; }
.visits-results code { color: #52715c; }
.visits-empty { padding: 26px 8px; color: var(--muted, #718078); font-size: 13px; }
.visits-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.visits-actions[hidden], .visits-more[hidden] { display: none; }
.visits-actions button, .visits-more { min-height: 42px; padding: 9px 16px; border: 1px solid #ccd9d0; border-radius: 7px; background: #fff; color: #345540; font: inherit; font-size: 13px; cursor: pointer; }
.visits-more { margin-top: 16px; }
.visits-note { max-width: 830px; margin-top: 22px; color: #5b6d61; font-size: 12px; line-height: 1.9; }
.visits-privacy { margin-top: 24px; color: #5b6d61; font-size: 12px; }
.visits-privacy summary { width: fit-content; padding-block: 8px; cursor: pointer; }
.visits-privacy .visits-note { margin-top: 8px; }
.visits-privacy button { min-height: 42px; padding: 9px 16px; border: 1px solid #ccd9d0; border-radius: 7px; background: #fff; color: #345540; font: inherit; cursor: pointer; }
.visits-privacy summary:focus-visible { outline: 2px solid #426653; outline-offset: 3px; }
.visits-page button:disabled { cursor: wait; opacity: .55; }
.visits-page button:focus-visible, .visits-page a:focus-visible, .visits-table-wrap:focus-visible { outline: 2px solid #426653; outline-offset: 3px; }
@media (max-width: 600px) { .visits-shell { padding: 24px 17px 55px; } .visits-heading { padding-block: 42px 23px; } .visits-login > div { flex-direction: column; } .visits-login button { min-height: 42px; } }
