*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Arial,sans-serif}
body{display:grid;grid-template-rows:auto auto auto 1fr;background:#f3f6f5}
header{display:flex;justify-content:space-between;align-items:center;background:#0b5d46;color:#fff;padding:10px 14px}
header h1{margin:0}header p{margin:3px 0 0;opacity:.8}header a{color:#fff;text-decoration:none}
.controls{display:flex;gap:9px;align-items:end;flex-wrap:wrap;padding:9px 12px;background:#fff}
.controls label{font-size:.8rem}
.controls select,.controls button{display:block;padding:8px;border:1px solid #ccc;border-radius:7px}
.controls button{background:#0b5d46;color:#fff}
.notice{padding:7px 12px;background:#fff4cc;font-size:.78rem}
#map{height:100%;min-height:520px}
.pin{width:17px;height:17px;border-radius:50%;background:#1f8f5f;border:3px solid #fff;box-shadow:0 2px 6px #0005}
.photo{width:48px;height:48px;border:3px solid #fff;border-radius:7px;overflow:hidden;box-shadow:0 2px 8px #0006}
.photo img{width:100%;height:100%;object-fit:cover}
#loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:#073f31;color:#fff;padding:12px;border-radius:8px;z-index:4000}
.hidden{display:none!important}
[hidden]{display:none!important}
#bulkSelect.active{background:#1d4ed8;border-color:#1d4ed8}
#emeraldBulkBar{position:fixed;right:12px;bottom:24px;z-index:5000;width:285px;max-width:calc(100vw - 24px);padding:11px;background:#fff;border:2px solid #1d4ed8;border-radius:12px;box-shadow:0 8px 28px #0006;font-family:Arial,sans-serif}
#emeraldBulkBar strong{display:block;color:#1e3a8a;margin-bottom:8px}
#emeraldBulkBar .bulk-actions{display:grid;gap:7px}
#emeraldBulkBar button{border:0;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}
#emeraldBulkDiscard{background:#8a5a0a;color:#fff}
#emeraldBulkClear{background:#e5e7eb;color:#111}
#emeraldBulkCancel{background:#fff;color:#555;border:1px solid #aaa!important}
#emeraldBulkMessage{display:block;margin-top:7px;font-size:12px}
#cadastralBatch.active{background:#7c3aed;border-color:#7c3aed}
#manualProperty.active{background:#1d4ed8;border-color:#1d4ed8}
#adminTrash{background:#7f1d1d}.controls #adminTrash.active{background:#dc2626;border-color:#dc2626}
#emeraldTrashNotice{position:fixed;left:50%;top:190px;z-index:4900;transform:translateX(-50%);width:min(620px,calc(100vw - 24px));padding:10px 14px;border:2px solid #dc2626;border-radius:11px;background:#fff;color:#7f1d1d;box-shadow:0 7px 24px #0005;text-align:center;font-weight:700}
.emerald-restore-button{width:100%;margin-top:7px;border:0;border-radius:7px;padding:9px;background:#15803d;color:#fff;font-weight:700;cursor:pointer}
#emeraldManualPropertyPanel{position:fixed;right:12px;top:205px;z-index:5200;width:370px;max-width:calc(100vw - 24px);max-height:calc(100vh - 220px);overflow:auto;padding:13px;background:#fff;border:2px solid #1d4ed8;border-radius:13px;box-shadow:0 9px 30px #0007;font-family:Arial,sans-serif}
#emeraldManualPropertyPanel h3{margin:0 0 5px;color:#1e3a8a}#emeraldManualPropertyPanel p{margin:5px 0 10px;font-size:12px;line-height:1.35}
#emeraldManualPropertyPanel label{display:block;margin:9px 0;font-size:12px;font-weight:700}#emeraldManualPropertyPanel input,#emeraldManualPropertyPanel select,#emeraldManualPropertyPanel textarea{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #9ca3af;border-radius:8px;background:#fff}
#emeraldManualPropertyPanel .manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}#emeraldManualPropertyPanel .manual-grid label{margin:3px 0}
#emeraldManualPropertyPanel .manual-actions{display:grid;gap:7px;margin-top:10px}#emeraldManualPropertyPanel button{border:0;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}
#emeraldManualSearch{display:grid;grid-template-columns:1fr auto;gap:6px}#emeraldManualSearch button{margin-top:4px;background:#e5e7eb;color:#111}
#emeraldManualSearchResults{display:grid;gap:4px;margin-top:5px}#emeraldManualSearchResults button{text-align:left;background:#eff6ff;color:#1e3a8a;font-weight:500}
#emeraldManualSave{background:#15803d;color:#fff}#emeraldManualCancel{background:#fff;color:#333;border:1px solid #9ca3af!important}
#emeraldManualDuplicateWarning{padding:9px;background:#fff7ed;border:1px solid #fb923c;border-radius:8px;font-size:12px}#emeraldManualDuplicateWarning img{width:64px;height:48px;object-fit:cover;border-radius:5px;vertical-align:middle;margin-right:6px}
#emeraldManualMessage{display:block;margin-top:8px;font-size:12px}
#emeraldCadastralPanel{position:fixed;right:12px;top:205px;z-index:5100;width:340px;max-width:calc(100vw - 24px);max-height:calc(100vh - 220px);overflow:auto;padding:13px;background:#fff;border:2px solid #7c3aed;border-radius:13px;box-shadow:0 9px 30px #0007;font-family:Arial,sans-serif}
#emeraldCadastralPanel h3{margin:0 0 4px;color:#4c1d95}#emeraldCadastralPanel p{margin:4px 0 10px;font-size:12px;line-height:1.35}
#emeraldCadastralPanel label{display:block;margin:9px 0;font-size:12px;font-weight:700}#emeraldCadastralPanel select,#emeraldCadastralPanel input{display:block;width:100%;margin-top:4px;padding:9px;border:1px solid #aaa;border-radius:8px}
#emeraldCadastralPanel .batch-actions{display:grid;gap:7px;margin-top:10px}#emeraldCadastralPanel button{border:0;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}
#emeraldDrawPolygon{background:#e9d5ff;color:#4c1d95}#emeraldPrepareBatch{background:#7c3aed;color:#fff}#emeraldCloseBatch{background:#eee;color:#333}
#emeraldBatchSummary{padding:9px;background:#f5f3ff;border-radius:8px;font-size:12px}#emeraldBatchMessage{display:block;margin-top:8px;font-size:12px}
@media(max-width:700px){#emeraldBulkBar{left:8px;right:8px;bottom:8px;width:auto}.notice{font-size:.7rem}}
@media(max-width:700px){#emeraldCadastralPanel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:58vh}}
@media(max-width:700px){#emeraldManualPropertyPanel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:72vh}#emeraldManualPropertyPanel .manual-grid{grid-template-columns:1fr}}
@media(max-width:700px){#emeraldTrashNotice{top:auto;bottom:12px;font-size:12px}}
