:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#243c36;background:#f5f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{background:white;border:1px solid #d8e1da;border-radius:10px;padding:11px 15px;color:#244b3d}button:hover{background:#edf3ed}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #2d7665;outline-offset:3px}header{height:90px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde4dc;background:#fff}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#244b3d;font-size:34px}.brand span{font-size:22px;font-weight:750;letter-spacing:4px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}#role{font-size:12px;border:1px solid #d8e1da;border-radius:30px;padding:8px 13px}main{max-width:1440px;margin:auto;padding:40px 5%}.intro{display:flex;align-items:center;justify-content:space-between;gap:18px}.eyebrow{font-size:10px;letter-spacing:2px;color:#6a8376;font-weight:700}h1{font-size:36px;letter-spacing:-1.2px;font-weight:600;margin:12px 0}p{color:#748178;font-size:14px;line-height:1.6}h2{font-size:18px;font-weight:600;margin:0 0 8px}.notice{background:#fcf0d6;border:1px solid #e8d9b7;padding:12px 16px;border-radius:10px;font-size:12px;margin:18px 0;display:flex;align-items:center;gap:15px;flex-wrap:wrap}[hidden]{display:none!important}#error{background:#fbe2dc;padding:16px;margin:18px 0;border-radius:10px}.toolbar{display:flex;gap:18px;margin:26px 0}.toolbar label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#708176}.toolbar select,.toolbar input{border:1px solid #dce3db;border-radius:9px;padding:13px 14px;background:white;min-width:165px;color:#284438}.search{flex:1}.search input{width:100%}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.map-panel,aside{background:white;border:1px solid #dee4db;border-radius:16px;overflow:hidden}.map-top{padding:21px 24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.map-top span{font-size:12px;color:#849087}.zoom{display:flex;gap:4px}.zoom button{padding:7px 10px;font-size:13px}.map-scroll{overflow:auto;background:#edf1e9;min-height:340px;max-height:600px;display:block}#map{display:block;width:100%;min-height:360px}.plot{stroke:#fff;stroke-width:1.3;cursor:pointer;transition:opacity .15s;vector-effect:non-scaling-stroke}.plot:hover,.plot.selected{stroke:#1d4c3b;stroke-width:3}.plot.dim{opacity:.13;pointer-events:none}.plot-label{font-size:6px;fill:#244638;pointer-events:none;font-weight:650}.free{fill:#a9ceb0;background:#a9ceb0}.reserved{fill:#efcf88;background:#efcf88}.sold{fill:#dca69c;background:#dca69c}.unknown{fill:#c8cfd0;background:#c8cfd0}.legend{display:flex;flex-wrap:wrap;gap:18px;padding:20px 24px 4px;font-size:11px}.legend span{display:flex;gap:7px;align-items:center}.legend i{width:9px;height:9px;border-radius:3px}.hint{font-size:11px;margin:12px 24px 20px}aside{padding:26px;min-height:345px;position:sticky;top:20px}aside .empty-icon{font-size:42px;color:#729e81;margin:30px 0 22px}aside p{font-size:13px}aside h3{font-size:14px;margin-top:26px}.cadastre{font-size:13px;overflow-wrap:anywhere;font-weight:600;line-height:1.7;margin:20px 0}.badge{display:inline-block;border-radius:5px;padding:6px 9px;font-size:11px;color:#294c3d}.area-value{font-size:35px;letter-spacing:-1px;margin:25px 0 5px}.area-value small{font-size:15px}.muted{color:#809085;font-size:11px}.doc{padding:12px 0;border-bottom:1px solid #eee;font-size:12px}.doc button{font-size:11px;margin:8px 5px 0 0;padding:7px 10px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:32px 0 15px}.section-heading span{font-size:12px;color:#728276}.plot-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.plot-card{text-align:left;padding:17px;background:white}.plot-card strong{display:block;font-size:14px;margin:8px 0}.plot-card small{color:#718478;font-size:10px}.plot-card.selected{border:2px solid #326d52;padding:16px}footer{color:#8b968e;font-size:10px;line-height:1.6;margin-top:35px}dialog{width:min(900px,95vw);height:85vh;border:1px solid #ccd7cc;border-radius:14px;padding:15px}dialog iframe{width:100%;height:calc(100% - 50px);border:0;margin-top:10px}dialog::backdrop{background:#14291c88}@media(max-width:900px){.layout{grid-template-columns:1fr 260px}.plot-list{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){header{height:70px}main{padding:26px 5%}h1{font-size:28px}.intro{align-items:flex-start}.intro>button{font-size:0;padding:12px}.intro>button::after{content:'↻';font-size:20px}.toolbar{flex-wrap:wrap;gap:12px}.toolbar label{flex:1}.toolbar .search{order:3;flex-basis:100%}.toolbar select{min-width:0;width:100%}.layout{grid-template-columns:1fr}.map-top{padding:17px}.map-scroll{min-height:240px}#map{min-height:270px}aside{position:static;min-height:0}.plot-list{grid-template-columns:repeat(2,1fr)}.legend{padding:17px;gap:12px}.hint{margin:0 17px 17px}.intro p{font-size:12px}.brand span{font-size:18px}}
.layout{display:block}body.modal-open{position:fixed;width:100%;overflow:hidden}button{touch-action:manipulation}.map-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.zoom button{min-width:44px;min-height:44px}.plot-card{min-width:0}.plot-card small{overflow-wrap:anywhere}
.plot-dialog{width:min(480px,calc(100% - 32px));height:fit-content;max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:24px;color:#243c36;box-shadow:0 24px 90px #132d3540;overscroll-behavior:contain}.plot-dialog[open]{animation:sheet-in .18s ease-out}.plot-dialog::backdrop{background:#14291c88;backdrop-filter:blur(3px)}
.dialog-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#fff;z-index:1;border-bottom:1px solid #edf0e9}.dialog-header>span{font-size:10px;letter-spacing:1.5px;color:#748178;font-weight:650}#close-plot{font-size:27px;line-height:1;width:44px;height:44px;padding:0;border-radius:50%;background:#f3f5f0;border:0;flex-shrink:0}
#details{padding:24px}#details h2{font-size:28px;margin:16px 0 0}#details h3{font-size:16px;margin-top:26px}#details p{font-size:14px}#details .muted{font-size:12px}#details .badge{font-size:12px;padding:8px 12px}#details .cadastre{font-size:16px;margin:10px 0 22px;letter-spacing:.2px}#details .area-value{margin-top:20px}#details .doc{font-size:14px}#details .doc button{min-height:44px;font-size:13px}.sheet-handle{display:none}
@keyframes sheet-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.plot-dialog[open]{animation:none}}
@media(max-width:650px){
header{height:64px;padding:0 16px;gap:12px}.brand{font-size:28px;gap:8px}.brand span{font-size:16px;letter-spacing:3px}.brand small{font-size:7px;letter-spacing:1px}#role{font-size:10px;padding:7px 9px;white-space:nowrap}
main{padding:22px 16px max(24px,env(safe-area-inset-bottom))}.eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:26px;margin:9px 0;letter-spacing:-.8px}.intro{gap:8px}.intro p{font-size:12px;margin:8px 0 0}.intro>button{min-width:44px;min-height:44px;padding:8px;flex-shrink:0}
.notice{font-size:11px;gap:8px;margin:16px 0;padding:11px 12px}.notice button{min-height:44px;font-size:12px;padding:8px 12px}.toolbar{margin:18px 0;gap:12px}.toolbar label{font-size:12px;min-width:0}.toolbar input,.toolbar select{font-size:16px;min-height:48px;padding:11px 12px}.search input{min-width:0}.search input::placeholder{font-size:13px}
.map-top{padding:14px 12px;gap:8px}.map-top h2{font-size:16px}.map-top span{font-size:10px}.zoom{gap:3px}.zoom button{padding:5px;min-width:40px;font-size:12px}.zoom #reset{min-width:48px}.map-scroll{min-height:280px;max-height:65dvh}#map{min-height:300px}.legend{gap:12px 16px;padding:15px 12px;font-size:11px}.hint{margin:0 12px 15px;line-height:1.6}
.plot-card{padding:13px}.plot-card.selected{padding:12px}.plot-card small{font-size:11px}.plot-card p{margin:9px 0 0}
.plot-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:24px 24px 0 0;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom)}.sheet-handle{display:block;width:36px;height:4px;background:#dbe1d8;border-radius:8px;margin:10px auto 0}.dialog-header{padding:8px 16px}.dialog-header>span{font-size:9px}#details{padding:20px 20px 28px}
dialog:not(.plot-dialog){width:100%;max-width:100%;height:92dvh;max-height:92dvh;margin:auto 0 0;border-radius:18px 18px 0 0}dialog:not(.plot-dialog)>button{min-height:44px}
}


