.visits-v2 .visits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0}
.visits-v2 label{display:flex;flex-direction:column;gap:.35rem}
.visits-v2 input,.visits-v2 select,.visits-v2 textarea{max-width:100%;min-width:0;box-sizing:border-box}
.visits-v2 .visits-field-error{color:#b42318;font-size:.875rem;line-height:1.4}
.visits-v2 .visits-field-error[hidden]{display:none}
.visits-v2 input[aria-invalid="true"]{border-color:#b42318}
@media(prefers-color-scheme:dark){.visits-v2 .visits-field-error{color:#fda29b}.visits-v2 input[aria-invalid="true"]{border-color:#fda29b}}
.visits-v2 .visits-wide{grid-column:1/-1}
.visits-v2 .visits-table{overflow:auto;margin:1rem 0}
.visits-v2 .visits-table table{min-width:850px;width:100%;border-collapse:collapse}
.visits-v2 .visits-table td,.visits-v2 .visits-table th{padding:.65rem;text-align:left;vertical-align:top;border-bottom:1px solid #d7e0e9}
.visits-v2 pre{white-space:pre-wrap;overflow-wrap:anywhere}
.visits-v2 .visits-map-canvas{width:100%;height:360px;min-height:280px;background:#edf2f5}
.visits-v2 .visits-map-panel{border:1px solid #cbd8e3;padding:1rem;margin:1rem 0;border-radius:.5rem}
.visits-v2 .visits-map-suggestions{display:flex;flex-direction:column;gap:.25rem}
.visits-v2 .visits-map-suggestions button{text-align:left;white-space:normal}
.visits-v2 label:has(>.visits-map-suggestions){position:relative}
.visits-v2 .visits-map-suggestions:empty{display:none}
.visits-v2 .visits-map-suggestions{position:absolute;top:100%;left:0;right:0;z-index:30;max-height:260px;overflow:auto;background:#fff;color:#172b3a;border:1px solid #cbd5df;border-radius:.4rem;box-shadow:0 5px 18px #142b4226;gap:0}
.visits-v2 .visits-map-suggestions button{display:block;width:100%;padding:.65rem .8rem;background:#fff;color:#172b3a;border:0;border-radius:0;text-align:left;font-weight:400;line-height:1.4;min-height:42px;box-shadow:none}
.visits-v2 .visits-map-suggestions button:hover,.visits-v2 .visits-map-suggestions button:focus,.visits-v2 .visits-map-suggestions button[aria-selected=true]{background:#e9f1f8;color:#102d46;outline:2px solid #527d9e;outline-offset:-2px}
.visits-v2 .visits-map-tools,.visits-v2 .visits-row-actions,.visits-v2 .visits-date-row{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:.6rem 0}
.visits-v2 .visits-map-tools button,.visits-v2 .visits-row-actions button{padding:.4rem .65rem;font-size:.9rem;min-height:36px;white-space:normal}
.visits-v2 [data-map-tool]{background:#edf2f6;color:#1e3b50;border:1px solid #aec1d0}
.visits-v2 [data-map-tool][aria-pressed=true]{background:#205f8a;color:#fff;border-color:#205f8a;box-shadow:0 0 0 2px #b8d5e9}
.visits-v2 [data-catalog][aria-pressed=true]{background:#dcebf5;color:#153d5c;border:2px solid #326b91;box-shadow:0 2px 5px #173e5d26}
.visits-v2 .visits-primary{background:#126f47;color:#fff;border:2px solid #0b5233;font-weight:700;margin-left:.4rem}
.visits-v2 .visits-date-row label{flex:1;min-width:160px}
.visits-v2 .visits-map-panel p{font-size:.9rem;margin:.6rem 0}
.visits-v2 .visits-map-canvas{height:300px;min-height:240px;border-radius:.35rem}
.visits-v2 .visits-methods{font-size:.9rem;margin:.7rem 0;color:inherit}
.visits-price-reference{font-size:.9rem;margin:.6rem 0}
@media(prefers-color-scheme:dark){.visits-v2 .visits-map-suggestions,.visits-v2 .visits-map-suggestions button{background:#1d2b36;color:#edf3f7;border-color:#5b7183}.visits-v2 .visits-map-suggestions button:hover,.visits-v2 .visits-map-suggestions button:focus,.visits-v2 .visits-map-suggestions button[aria-selected=true]{background:#334b60;color:#fff}}
@media(max-width:600px){.visits-v2 .visits-row-actions{max-width:230px}.visits-v2 .visits-map-tools button{flex:1}.visits-v2 .visits-map-panel{padding:.65rem}.visits-v2 .visits-table td{padding:.45rem}}
.visits-reminder{position:fixed;right:1rem;bottom:1rem;z-index:1000;max-width:420px;width:calc(100% - 2rem);padding:1rem;background:#fff;border:1px solid #9bb8ce;box-shadow:0 6px 24px #18364c33;border-radius:.5rem;box-sizing:border-box;color:#17354c}
.visits-reminder button{margin:.25rem}
@media(max-width:480px){.visits-v2 .visits-grid{grid-template-columns:1fr}.visits-v2 .visits-map-canvas{height:300px}.visits-reminder{right:.5rem;bottom:.5rem;width:calc(100% - 1rem)}}
