body{background:#f1f5f7;color:#172d38}.visits-shell{max-width:1250px;margin:auto;padding:30px 20px}.visits-header,.visits-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;flex-wrap:wrap}.visits-header h1{font-size:clamp(26px,4vw,40px);margin:6px 0}.visits-shell .panel{margin:20px 0;padding:24px}.visits-toolbar label{flex:1;min-width:150px}.visits-toolbar button{align-self:end}.visits-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}#map{height:470px;border-radius:14px;background:#dde7e6;z-index:0}.map-note{font-size:13px;color:#52646f}.visit-row{display:grid;grid-template-columns:auto 1fr auto;gap:16px;padding:18px 0;border-top:1px solid #dbe3e8;align-items:start}.visit-row input[type=checkbox]{width:23px;height:23px;accent-color:#198754}.visit-row p{margin:6px 0;font-size:14px}.visit-row textarea{min-height:65px;width:100%;margin:8px 0}.visited{color:#147349}.route-pin{background:#1769aa;color:white;border:2px solid white;border-radius:50%;text-align:center;font-weight:bold;line-height:26px;box-shadow:0 2px 6px #0004}.route-pin.done{background:#198754}#status{padding:10px 0}summary{cursor:pointer;font-weight:700}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}@media(max-width:600px){.visits-shell{padding:16px 10px}.visits-shell .panel{padding:16px}#map{height:360px}.visits-form{grid-template-columns:1fr}.visit-row{grid-template-columns:auto 1fr}.visit-row>a{grid-column:2}}
.directory-summary{padding:16px 18px;border-radius:12px;background:#e6f2ef;color:#165c48;font-weight:700;margin-bottom:20px}.directory-footer{font-size:13px;color:#52646f;padding:0 10px 20px}.source-links{font-size:12px!important}.source-links a{color:#1769aa}.route-navigation{justify-content:flex-start;margin:12px 0 18px}.visits-toolbar select{max-width:100%}#journey{min-width:220px}.visits-toolbar label:has(#journey){flex:2}

#history{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}.visited-card{min-width:0;border:1px solid #dbe3e8;border-radius:12px;padding:16px;background:#f8fbfa;overflow-wrap:anywhere;align-self:start}.visited-card h3{font-size:16px;color:#147349;margin:0 0 8px}.visited-card p{margin:8px 0;font-size:14px}.visited-card .visited-date{color:#52646f;font-size:13px}.visited-card .visited-notes,.visited-notes-full{white-space:pre-wrap}.visited-card details{border-top:1px solid #dbe3e8;padding-top:10px;margin-top:12px}.visited-card summary{font-size:14px;color:#1769aa}.visited-card details[open] summary{margin-bottom:10px}

.draft-status{font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}
.visit-row [data-discard],.visit-row [data-confirm],.visit-row [data-consult]{min-height:44px;margin-block:4px}
.visit-row details p{white-space:pre-wrap;overflow-wrap:anywhere}
