.abc-wrap{max-width:1040px;margin:2rem auto;padding:0 1rem;color:#233b30}.abc-heading{margin:0 0 1.5rem}.abc-heading h2,.abc-auth h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;margin:.4rem 0 1rem}.abc-eyebrow{font-size:.72rem;letter-spacing:.13em;font-weight:750;color:#476b55}.abc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.abc-card{border:1px solid #d9e2da;border-radius:14px;padding:1.5rem;background:#fff;box-shadow:0 4px 16px rgba(20,45,30,.04)}.abc-card h3{font-size:1.3rem;margin:.25rem 0 .75rem}.abc-card p{overflow-wrap:anywhere}.abc-site{font-size:.76rem;letter-spacing:.08em;font-weight:750;color:#54735a}.abc-muted{font-size:.87rem;color:#536458}.abc-auth{max-width:540px}.abc-auth form{display:flex;flex-direction:column;gap:.7rem}.abc-auth label{font-weight:650;font-size:.92rem}.abc-auth input:not([type=checkbox]),.abc-auth textarea{width:100%;box-sizing:border-box;border:1px solid #aabcae;border-radius:8px;padding:.7rem;font:inherit;background:#fff;color:#233b30}.abc-auth input:focus-visible,.abc-auth textarea:focus-visible{outline:3px solid #9ac1a0;outline-offset:2px}.abc-auth button{border:0;border-radius:8px;background:#245d40;color:white;font-weight:700;padding:.85rem 1rem;cursor:pointer;min-height:44px}.abc-auth button:hover{background:#19462f}.abc-auth button:focus-visible{outline:3px solid #9ac1a0;outline-offset:2px}.abc-auth hr{border:0;border-top:1px solid #e2e9e2;margin:1.5rem 0}.abc-check{display:flex;gap:.6rem;align-items:flex-start;font-weight:500!important}.abc-check input{margin-top:.3rem}.abc-notice{background:#edf4ef;border-left:3px solid #316849;padding:.8rem 1rem;border-radius:4px}@media(max-width:600px){.abc-wrap{margin:1rem auto}.abc-card{padding:1.15rem}}

/* v0.3 map and office controls */
.abc-wrap{max-width:1200px;margin:24px auto;padding:clamp(12px,3vw,32px);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#18352b;line-height:1.55}
.abc-wrap h2{font-size:clamp(26px,4vw,40px);line-height:1.15;margin:8px 0 16px}.abc-eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:#385e49}
.abc-map{border:1px solid #cbd7ce;border-radius:16px;background:#f7f9f5;padding:16px;position:relative;color:#18352b}
.abc-map-tools{display:flex;gap:16px;flex-wrap:wrap;align-items:end;justify-content:space-between}.abc-map-tools label{display:block;flex:1;min-width:180px;font-weight:600}.abc-map input[type=search]{display:block;width:100%;min-height:46px;padding:10px 12px;border:1px solid #789181;border-radius:8px;background:#fff;color:#18352b;font:inherit}
.abc-map button,.abc-admin button{cursor:pointer;font:inherit}.abc-zoom{display:flex;gap:6px}.abc-zoom button,.abc-search-results button,.abc-dialog-close{min-height:44px;min-width:44px;border:1px solid #3b604c;border-radius:8px;padding:8px 14px;background:#fff;color:#244533;font-weight:600}
.abc-map-viewport{overflow:auto;max-height:70vh;max-height:70dvh;min-height:220px;border:1px solid #9eae9d;border-radius:10px;background:#e7ebdf;overscroll-behavior:contain;cursor:grab;position:relative;scrollbar-width:auto}
.abc-map-stage{position:relative;width:100%;min-width:100%;line-height:0;isolation:isolate}.abc-map-image{display:block;width:100%!important;max-width:none!important;height:auto!important;user-select:none;-webkit-user-drag:none;pointer-events:none}.abc-hotspots{position:absolute;inset:0;pointer-events:none}
.abc-map .abc-hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:grid;place-items:center;min-width:44px;height:44px;padding:3px 6px;line-height:1;border:2px solid #fff;border-radius:50%;background:#244e3ee8;color:#fff;box-shadow:0 2px 5px #0006;font-size:12px;font-weight:700;cursor:pointer;touch-action:manipulation}
.abc-map .abc-hotspot:hover,.abc-map .abc-hotspot:focus-visible,.abc-map .abc-hotspot.is-selected{z-index:5;background:#8c4316;outline:3px solid #f8d781;outline-offset:2px}
.abc-map :focus-visible,.abc-wrap :focus-visible,.abc-admin :focus-visible{outline:3px solid #a04a16;outline-offset:3px}.abc-map-status{min-height:1.5em;font-size:14px;margin:8px 0}.abc-map .abc-muted{font-size:13px;margin:10px 0;color:#4c6458}
.abc-search-results{padding:0;list-style:none;max-height:240px;overflow:auto;margin:8px 0}.abc-search-results button{text-align:left;width:100%;margin:3px 0}
.abc-profile-dialog{border:0;border-radius:18px;padding:0;max-width:480px;width:calc(100% - 32px);max-height:85vh;color:#18352b;background:#fff;box-shadow:0 16px 80px #0005}.abc-profile-dialog::backdrop{background:#102c24b3}.abc-profile-dialog .abc-card{border:0;margin:0;padding:26px;overflow-wrap:anywhere}.abc-profile-dialog h3{font-size:27px;line-height:1.25;margin:12px 0}.abc-dialog-close{margin-bottom:22px}.abc-profile-dialog p:empty{display:none}.abc-site{font-weight:750;letter-spacing:.09em;color:#496445}.abc-profile-dialog a{color:#27513c;text-decoration:underline}
.abc-directory-list{margin:20px 0}.abc-directory-list summary{cursor:pointer;padding:12px;background:#edf2e9;border-radius:8px}.abc-directory-list article{margin:12px 0}
.abc-admin{max-width:1300px}.abc-admin .abc-card{background:#fff;border:1px solid #cbd7ce;border-radius:10px;padding:20px;margin:18px 0;max-width:none}.abc-admin label{display:block;margin:10px 0}.abc-admin input[type=email],.abc-admin input[type=tel]{display:block;min-width:min(100%,300px);min-height:40px}.abc-admin .abc-check{display:flex;align-items:center;gap:8px}.abc-coordinate-fields{display:flex;gap:16px;flex-wrap:wrap}.abc-coordinate-fields input{width:110px;min-height:40px}
@media(max-width:600px){.abc-map{padding:10px}.abc-map-tools{gap:10px}.abc-zoom{width:100%}.abc-zoom button:last-child{flex:1}.abc-map-viewport{max-height:65vh;max-height:65dvh}.abc-profile-dialog .abc-card{padding:22px}.abc-wrap{margin:12px auto}}
@media(prefers-reduced-motion:reduce){.abc-map *{scroll-behavior:auto!important}}

.abc-wrap.abc-auth{max-width:540px}
.abc-map,.abc-map *{box-sizing:border-box}
