:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18352c;background:#f5f7f3;font-synthesis:none;text-rendering:optimizeLegibility;--green:#1f6b4e;--muted:#53665b;--line:#dfe8e1}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--green)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #1b7960;outline-offset:3px}input,select,textarea{width:100%;border:1px solid #c9d7cd;border-radius:11px;padding:11px 12px;background:#fff;color:#18352c;min-height:44px}textarea{resize:vertical;line-height:1.5}input[type=checkbox]{width:21px;min-height:21px;align-self:flex-start;accent-color:var(--green)}input[type=search]{background:#f6f8f5;min-height:48px;border-color:var(--line)}p{line-height:1.55}h1,h2,p{margin-top:0}h2{font-size:1.35rem}small{line-height:1.5}.muted{color:var(--muted)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border-bottom:1px solid var(--line);min-height:82px;padding:15px max(24px,calc((100vw - 1440px)/2 + 36px))}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:var(--green);color:#fff;font-size:32px}.brand strong{font-size:1.15rem}.brand small{display:block;letter-spacing:.12em;font-size:.62rem;color:var(--muted);margin-top:5px}.topbar nav{display:flex;gap:8px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:6px;min-height:44px;border-radius:11px;padding:10px 14px;font-size:.83rem;font-weight:600;text-decoration:none;border:1px solid transparent}.secondary{background:#f0f5f1;color:#315543;border-color:var(--line)}.primary{background:var(--green);color:#fff}.text-button{background:transparent;border:0;padding:10px 5px;min-height:44px;color:var(--green);font-size:.8rem;text-decoration:underline}main{max-width:1440px;margin:auto;padding:32px 36px}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.intro h1{font-size:clamp(1.65rem,2.4vw,2rem);letter-spacing:-.035em;margin-bottom:8px}.intro p{color:var(--muted);font-size:.9rem;margin:0}.progress-card{min-width:280px;max-width:350px;display:grid;grid-template-columns:1fr auto;gap:5px 20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 20px}.progress-card .eyebrow{grid-column:1/-1;font-size:.65rem;letter-spacing:.1em;color:var(--muted)}.progress-card strong{font-size:1.05rem;color:var(--green)}.progress-card>span{font-size:.8rem}progress{width:100%;height:7px;grid-column:1/-1;accent-color:#37a878;border:0;border-radius:5px;overflow:hidden}progress::-webkit-progress-bar{background:#e8eee9}progress::-webkit-progress-value{background:#37a878}progress::-moz-progress-bar{background:#37a878}.workspace{position:relative;display:grid;grid-template-columns:355px minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 24px;background:#fff;padding:24px;border-radius:26px;border:1px solid #e6ebe5;box-shadow:0 12px 32px #18392d08;align-items:start}.search-area{grid-column:1;grid-row:1}.map-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:12px 0 18px}.map-filter-label{width:100%;font-size:.72rem;color:var(--muted)}.chip{border:0;border-radius:22px;min-height:44px;padding:7px 10px;background:#f1f5f1;color:#315543;font-size:.73rem}.chip[aria-pressed=true]{background:var(--green);color:#fff}.map-area{grid-column:2;grid-row:1/3;min-width:0;position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#eaf1e9}.map-area #map{height:min(72vh,740px);min-height:550px;width:100%}.legend{display:flex;justify-content:center;gap:14px;background:#fff;padding:10px 12px;font-size:.75rem;border-top:1px solid var(--line)}.legend span:first-child{color:#246e4f}.legend span:last-child{color:#745116}.map-notice{position:absolute;top:12px;left:12px;right:54px;z-index:2;background:#fffffff0;border:1px solid var(--line);padding:10px;border-radius:10px;font-size:.75rem;pointer-events:none}.detail-area{grid-column:2;grid-row:3;min-width:0;border:1px solid var(--line);border-radius:18px;padding:22px;margin-top:20px;background:#fff}.card-placeholder{padding:10px 0;color:var(--muted)}.card-placeholder>span{font-size:28px;color:var(--green)}.card-placeholder h2{margin:10px 0}.list-area{grid-column:1;grid-row:2/4;min-width:0}.origin-controls{display:flex;flex-direction:column;gap:8px;padding-bottom:18px}.origin-controls>.button{width:100%}.origin-summary{background:#eef5ef;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}.origin-controls>small{font-size:.7rem}.manual-editor{border:1px solid var(--line);background:#f7faf6;padding:14px;border-radius:12px;display:flex;flex-direction:column;gap:10px;font-size:.8rem}.manual-editor p{margin-bottom:0}.list-heading{font-size:.9rem;letter-spacing:.02em;margin:8px 0}.result-count{font-size:.75rem;color:var(--muted);margin-bottom:12px}.municipality-list{list-style:none;padding:0;margin:0;max-height:500px;overflow-y:auto;scrollbar-gutter:stable}.municipality-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;background:#fff;border-radius:11px;min-height:48px;padding:10px 9px;margin-bottom:3px;font-size:.82rem}.municipality-row:hover{background:#f5f8f3}.municipality-row[aria-pressed=true]{border-color:#6c9c7e;background:#f0f6f1}.municipality-name{flex:1}.distance{font-size:.73rem;color:var(--muted);white-space:nowrap}.pending-dot{color:#92691c}.visited-dot{color:#267955}.pagination{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.pagination>span{width:100%;font-size:.73rem;color:var(--muted);margin-bottom:3px}.pagination .button{font-size:.74rem;padding:9px 12px}.visited-cta{margin-top:16px;width:100%;color:#315543;background:#edf4ee;border:1px solid var(--line)}.empty{font-size:.85rem;background:#f6f8f5;padding:18px;border-radius:12px}.field{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600}.field:has([type=checkbox]){flex-direction:row;align-items:flex-start;font-weight:400;margin:15px 0}.visit-form{display:flex;flex-direction:column;gap:12px}.visit-form .notice{font-size:.72rem;margin:0}.form-actions{display:flex;gap:10px;flex-wrap:wrap}.status-tag{display:inline-block;background:#eff4e9;color:#735013;border-radius:15px;padding:6px 9px;font-size:.65rem;font-weight:700;margin-bottom:12px}.status-tag.visited{background:#eaf4ed;color:#256849}.detail-area h2{margin-bottom:7px;font-size:1.5rem}.detail-area>p{font-size:.8rem}.maps-links{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.maps-links small{flex-basis:100%;font-size:.72rem}.current-version{font-size:.75rem;margin-bottom:14px;color:var(--muted)}.current-version summary{cursor:pointer;padding:5px 0}.current-version p{margin:8px 0}.saved-notes{white-space:pre-wrap;overflow-wrap:anywhere}.notice{background:#eef4eb;border:1px solid #ccdcca;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:.85rem;line-height:1.55}.notice p{margin:0 0 8px}.notice.error{background:#fff0eb;border-color:#b95f3d;color:#843b21}.notice[hidden],[hidden]{display:none!important}.form-validation{margin:0;color:#745116;font-size:.8rem}.modal{max-width:min(95vw,680px);max-height:90vh;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 20px 70px #102c2340;color:#18352c}.modal::backdrop{background:#102c2360}.modal>.button{margin:8px 8px 0 0}.modal>.field{margin:12px 0}.modal p{font-size:.85rem}.import-preview{max-height:40vh;overflow:auto;border:1px solid var(--line);padding:12px;margin-top:14px;border-radius:10px}.import-preview li{border-bottom:1px solid var(--line);padding:10px 0}.import-preview li p{font-size:.75rem}.login-card{max-width:420px;margin:12vh auto;padding:28px;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 15px 60px #18392d0c}.login-card h1{margin:18px 0 8px}.login-card form{display:flex;flex-direction:column;gap:18px}.login-card>p{margin-bottom:28px}.loading{text-align:center;padding-top:20vh}footer{color:var(--muted);font-size:.68rem;line-height:1.65;padding:16px 6px}footer .button{display:inline;padding:0;min-height:0;font-size:inherit;font-weight:400}footer>span{margin-right:4px}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:1000;background:#fff;padding:12px;top:8px;left:8px}@media(min-width:1250px){.detail-area{position:absolute;grid-column:auto;grid-row:auto;top:230px;right:42px;z-index:3;width:365px;max-height:560px;overflow:auto;margin:0;box-shadow:0 12px 35px #18392d20}.map-area #map{height:840px;min-height:720px}}@media(max-width:850px){.topbar{padding:14px 20px;align-items:flex-start}.topbar nav{gap:4px;justify-content:flex-end;max-width:190px}.topbar nav .button{font-size:.7rem;min-height:36px;padding:8px}.brand strong{font-size:1rem}.brand small{font-size:.55rem}.brand{gap:9px}.brand-mark{width:40px;height:40px}main{padding:24px 20px}.intro{display:block;margin-bottom:20px}.intro h1{max-width:300px;font-size:1.65rem}.intro p{font-size:.8rem}.progress-card{margin-top:18px;max-width:none;width:100%}.workspace{display:flex;flex-direction:column;background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;gap:16px}.workspace>section{width:100%}.search-area{order:0}.map-area{order:1}.detail-area{order:2;margin:0;padding:18px}.list-area{order:3}.map-area #map{height:320px;min-height:300px}.map-filters{margin-bottom:0}.chip{font-size:.75rem;padding:8px 12px}.list-area{padding:4px 0}.municipality-list{max-height:430px}.municipality-row{background:#fff;margin-bottom:5px;min-height:48px}.origin-controls{gap:8px}.list-heading{font-size:1rem}.detail-area:has(.card-placeholder){padding:16px}.card-placeholder{padding:0}.card-placeholder h2{font-size:1rem}.card-placeholder p{font-size:.8rem;margin-bottom:0}.modal{padding:20px}.map-notice{font-size:.68rem}.legend{font-size:.7rem}.login-card{margin:10vh 20px;max-width:none}}@media(max-width:380px){.topbar{padding:12px;flex-wrap:wrap}.topbar nav{max-width:none;width:100%}.brand small{font-size:.55rem}main{padding:22px 14px}.chip{font-size:.7rem;padding:7px 9px}.maps-links>.button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
