:root{
  --bg:#102d1f;--panel:#173b29;--txt:#fff;--muted:#c8d8ce;--line:rgba(255,255,255,.12);
  --green:#2ecc71;--red:#e74c3c;--yellow:#f1c40f;--orange:#e67e22;--gray:#7f8c8d;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#0e251a,#163a29);color:var(--txt)}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;background:#0b2217;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
h1{margin:0;font-size:24px}.topbar p{margin:3px 0 0;color:var(--muted)}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:13px}.legend span{display:flex;align-items:center;gap:6px}.dot{width:14px;height:14px;border-radius:4px;display:inline-block;border:1px solid rgba(255,255,255,.6)}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:16px 24px}.card{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:14px;padding:14px}.card small{display:block;color:var(--muted);font-size:12px}.card strong{font-size:21px;margin-top:6px;display:block}
.toolbar{display:flex;gap:10px;padding:0 24px 16px;flex-wrap:wrap}.toolbar input,.toolbar select,.toolbar button,.map-actions button{border:0;border-radius:10px;padding:11px 12px;font-size:14px}.toolbar input{flex:1;min-width:220px}.toolbar button,.map-actions button{cursor:pointer;background:#e9f3ee}.toolbar #btn-editar{background:#ffc857;color:#201600;font-weight:bold}.toolbar .success{background:var(--green);color:#062112;font-weight:bold}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px;padding:0 24px 24px}.map-card,.side{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:18px;padding:14px}.side{height:fit-content;position:sticky;top:104px}.side h2{font-size:18px;margin:0 0 12px}
.map-actions{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}.map-actions span{margin-left:auto;font-size:12px;color:var(--muted)}
#map-viewport{position:relative;width:100%;height:calc(100vh - 250px);min-height:520px;overflow:hidden;background:#fff;border-radius:14px;cursor:grab;touch-action:none}#map-viewport.arrastando{cursor:grabbing}
#map-content{position:absolute;left:0;top:0;width:100%;transform-origin:0 0}#mapa-base{display:block;width:100%;height:auto;user-select:none;pointer-events:none}#lotes-layer{position:absolute;inset:0;pointer-events:none}.lote{position:absolute;border:2px solid rgba(0,0,0,.65);border-radius:5px;opacity:.62;cursor:pointer;pointer-events:auto;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#111;text-shadow:0 1px 1px rgba(255,255,255,.8);transition:opacity .15s, box-shadow .15s;min-width:8px;min-height:8px}.lote:hover,.lote.ativo{opacity:.98;z-index:10;box-shadow:0 0 0 3px #fff,0 8px 18px rgba(0,0,0,.35)}.lote.oculto{display:none}.lote.foco{box-shadow:0 0 0 4px #fff,0 0 0 8px #111;opacity:1;z-index:20}
.disponivel{background:var(--green)}.vendido{background:var(--red)}.proposta{background:var(--yellow)}.reservado{background:var(--orange)}.indisponivel{background:var(--gray)}.sem-dados{background:#d9d9d9;outline:2px dashed #111}
.detalhe{background:rgba(255,255,255,.08);border:1px solid var(--line);border-radius:12px;padding:14px;line-height:1.65}.detalhe.vazio{color:var(--muted)}.status,.badge{display:inline-block;padding:3px 8px;border-radius:999px;color:#111;font-weight:bold}.detalhe b{color:#fff}
.resumo-status{margin-top:16px}.resumo-status h3,.editor h3{margin:0 0 10px;font-size:16px}.resumo-linha{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}.resumo-linha span{display:flex;align-items:center;gap:7px}.resumo-linha b{font-size:16px}
.editor{margin-top:16px;background:rgba(0,0,0,.22);border-radius:12px;padding:12px}.hidden{display:none!important}.editor p{font-size:12px;color:var(--muted)}.editor button{width:100%;padding:10px;border-radius:10px;border:0;font-weight:bold;cursor:pointer}.editor textarea{width:100%;height:190px;margin-top:10px;border-radius:10px;padding:10px;font-family:Consolas,monospace;font-size:11px}.editing .lote{resize:both;overflow:hidden;opacity:.8}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:200;padding:18px}.modal-box{width:min(520px,96vw);background:#102d1f;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 60px rgba(0,0,0,.45);padding:22px;position:relative}.modal-close{position:absolute;right:12px;top:10px;background:transparent;color:#fff;border:0;font-size:32px;cursor:pointer}.modal h2{margin:0 0 8px}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.modal-item{background:rgba(255,255,255,.08);border-radius:12px;padding:10px}.modal-item small{display:block;color:var(--muted);font-size:12px}.modal-item strong{font-size:16px}.modal-actions{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.modal-actions button{border:0;border-radius:10px;padding:10px 12px;cursor:pointer;font-weight:bold}
body.tv-mode .topbar, body.tv-mode .toolbar, body.tv-mode .side{display:none}body.tv-mode .cards{grid-template-columns:repeat(6,1fr);padding:12px}body.tv-mode .layout{display:block;padding:0 12px 12px}body.tv-mode #map-viewport{height:calc(100vh - 105px);min-height:0}.fullscreen .map-card{position:fixed;inset:0;z-index:150;border-radius:0}.fullscreen #map-viewport{height:calc(100vh - 72px);min-height:0}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.layout{grid-template-columns:1fr}.side{position:static}#map-viewport{height:70vh;min-height:430px}.map-actions span{width:100%;margin-left:0}}
@media(max-width:700px){.topbar{display:block}.legend{margin-top:12px}.cards{grid-template-columns:repeat(2,1fr);padding:12px}.layout{padding:0 12px 12px}.toolbar{padding:0 12px 12px}.card strong{font-size:18px}.modal-grid{grid-template-columns:1fr}}
