:root{--azul:#13233d;--azul2:#1e3a5f;--verde:#16a34a;--borda:#e6ebf1;--txt:#1b2537;--sub:#667085;--vidro:rgba(255,255,255,.92);--tit:"Plus Jakarta Sans",Inter,system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,system-ui,sans-serif;color:var(--txt);background:#eef2f6;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}
#mapa{position:fixed;inset:0;z-index:1}
.leaflet-tile-pane{filter:saturate(.7) brightness(1.04) contrast(.96)}
/* topo */
.topo{position:fixed;top:12px;left:12px;right:12px;z-index:600;display:flex;align-items:center;gap:11px;padding:5px 16px 5px 5px;border:1px solid rgba(230,235,241,.9);border-radius:999px;background:var(--vidro);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 8px 28px rgba(19,35,61,.13)}
.avatar{flex:0 0 46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--azul2),var(--azul));border:2px solid #fff;box-shadow:0 2px 8px rgba(19,35,61,.25);display:flex;align-items:center;justify-content:center;font-size:21px}
.topo-tx{flex:1;min-width:0}.topo-tx b{display:block;font-family:var(--tit);font-weight:800;font-size:1rem;letter-spacing:-.01em;line-height:1.2}.topo-tx small{color:var(--sub);font-size:.74rem;font-weight:500}
/* alfinetes */
.preco-pino{white-space:nowrap;padding:6px 11px;border-radius:999px;background:#fff;color:var(--azul);font-family:var(--tit);font-weight:800;font-size:.8rem;letter-spacing:-.01em;box-shadow:0 3px 12px rgba(19,35,61,.28),0 0 0 1.5px rgba(19,35,61,.9);transform:translate(-50%,-50%);display:inline-block;transition:transform .15s,background .15s}
.preco-pino.on{background:var(--azul);color:#fff;transform:translate(-50%,-50%) scale(1.1)}
.pino{width:36px;height:36px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 4px 12px rgba(19,35,61,.32);display:flex;align-items:center;justify-content:center;transition:transform .15s}
.pino span{transform:rotate(45deg);font-size:16px;line-height:1}
.pino.recanto{background:#16a34a}.pino.chacara{background:#c2410c}.pino.on{transform:rotate(-45deg) scale(1.22);background:var(--azul)}
.foto-pino{width:50px;height:50px;border-radius:50%;border:3px solid #fff;background:#ddd center/cover;box-shadow:0 4px 14px rgba(19,35,61,.4);transform:translate(-50%,-50%);transition:transform .15s}
.foto-pino.on{transform:translate(-50%,-50%) scale(1.18);border-color:var(--azul)}
/* rodapé */
.rodape{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:600;display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid rgba(230,235,241,.9);border-radius:26px;background:var(--vidro);backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 12px 34px rgba(19,35,61,.18);transition:transform .25s,opacity .25s}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--borda);border-radius:999px;background:#fff;font:inherit;font-size:.78rem;font-weight:600;color:var(--txt);cursor:pointer}
.chip i{font-style:normal;padding:1px 7px;border-radius:999px;background:#f1f4f8;color:var(--sub);font-size:.7rem;font-weight:700}
.chip.on{background:var(--azul);border-color:var(--azul);color:#fff}.chip.on i{background:rgba(255,255,255,.18);color:#fff}
.modos{display:flex;gap:4px}
.modo{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--borda);border-radius:999px;background:#fff;font-family:var(--tit);font-size:.86rem;font-weight:700;color:#4b5565;padding:11px 4px;cursor:pointer}
.modo.on{background:var(--azul);border-color:var(--azul);color:#fff;box-shadow:0 4px 12px rgba(19,35,61,.25)}
/* gaveta */
.gaveta{position:fixed;left:0;right:0;bottom:0;z-index:700;height:74vh;display:flex;flex-direction:column;border-radius:26px 26px 0 0;background:#f7f9fb;box-shadow:0 -10px 40px rgba(19,35,61,.22);transform:translateY(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.gaveta.on{transform:none}
.alca{flex:0 0 auto;width:44px;height:5px;margin:9px auto 4px;border-radius:9px;background:#d3dae3}
.g-topo{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:4px 16px 12px}
.g-topo div{flex:1}.g-topo b{display:block;font-family:var(--tit);font-weight:800;font-size:1.12rem;letter-spacing:-.01em}.g-topo small{color:var(--sub);font-size:.78rem}
.fechar{width:38px;height:38px;border-radius:50%;border:1px solid var(--borda);background:#fff;font-size:16px;cursor:pointer;color:var(--txt)}
.g-lista{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 14px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}
/* anúncio: RESPONSÁVEL em cima · FOTO · INFORMAÇÕES embaixo */
.anuncio{flex:0 0 auto;border:1px solid var(--borda);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(19,35,61,.05);outline:3px solid transparent;transition:outline-color .15s}
.anuncio.on{outline-color:var(--verde)}
.resp{display:flex;align-items:center;gap:10px;padding:10px 12px}
.resp-av{flex:0 0 38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:var(--azul);font-family:var(--tit);font-weight:800;font-size:.82rem;display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:cover;background-position:center}
.resp-tx{flex:1;min-width:0}.resp-tx b{display:block;font-family:var(--tit);font-weight:700;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resp-tx small{color:var(--sub);font-size:.72rem}
.ex{flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;font-size:.62rem;font-weight:800;letter-spacing:.05em}
.foto{position:relative;height:190px;background:#dfe5ec center/cover;display:flex;align-items:center;justify-content:center;font-size:46px;color:rgba(255,255,255,.95)}
.foto.recanto{background-image:linear-gradient(135deg,#86efac,#15803d)}.foto.chacara{background-image:linear-gradient(135deg,#fdba74,#c2410c)}
.foto.casa{background-image:linear-gradient(135deg,#93c5fd,#1d4ed8)}.foto.apto{background-image:linear-gradient(135deg,#c4b5fd,#6d28d9)}
.foto.terreno{background-image:linear-gradient(135deg,#fde68a,#a16207)}.foto.comercial{background-image:linear-gradient(135deg,#cbd5e1,#334155)}
.foto.tem{font-size:0}
.tag{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:rgba(19,35,61,.88);color:#fff;font-size:.64rem;font-weight:800;letter-spacing:.06em;backdrop-filter:blur(4px)}
.cont{position:absolute;bottom:10px;right:10px;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff;font-size:.7rem;font-weight:700}
.setas{position:absolute;inset:auto 0 50% 0;display:flex;justify-content:space-between;padding:0 8px;transform:translateY(50%)}
.setas button{width:32px;height:32px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:15px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}
.info{padding:13px 14px 14px}
.preco{font-family:var(--tit);font-size:1.32rem;font-weight:800;color:var(--azul);letter-spacing:-.02em}
.preco small{font-family:Inter,sans-serif;font-size:.78rem;font-weight:600;color:var(--sub);letter-spacing:0}
.titulo{margin:3px 0 0;font-family:var(--tit);font-size:1rem;font-weight:700;letter-spacing:-.01em}
.bairro{margin:3px 0 0;color:var(--sub);font-size:.8rem}
.carac{display:flex;flex-wrap:wrap;gap:6px;margin:11px 0 0}
.carac span{padding:5px 10px;border-radius:999px;background:#f1f4f8;font-size:.74rem;font-weight:600;color:#344054}
.nota{margin:10px 0 0;padding:8px 10px;border-radius:10px;background:#fffbeb;color:#92400e;font-size:.76rem;font-weight:600}
.acoes{display:flex;gap:8px;margin-top:13px}
.acoes a,.acoes button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border-radius:13px;border:0;text-decoration:none;font:inherit;font-weight:700;font-size:.8rem;cursor:pointer}
.a-wa{background:#25d366;color:#fff}.a-rota{background:#f1f4f8;color:var(--azul)}.a-cal{background:var(--azul);color:#fff}
/* agenda */
.modal{position:fixed;inset:0;z-index:900;display:none;align-items:flex-end;justify-content:center;background:rgba(10,20,35,.45)}
.modal.on{display:flex}
.cal{width:100%;max-width:440px;max-height:92vh;overflow:auto;border-radius:24px 24px 0 0;background:#fff;padding:16px 16px calc(18px + env(safe-area-inset-bottom))}
.cal-topo{display:flex;align-items:center;gap:10px}.cal-topo div{flex:1}.cal-topo b{display:block;font-family:var(--tit);font-weight:800;font-size:1.05rem}.cal-topo small{color:var(--sub);font-size:.78rem}
.mes{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}
.mes b{font-family:var(--tit);font-weight:800;font-size:.98rem}
.mes button{width:34px;height:34px;border-radius:50%;border:1px solid var(--borda);background:#fff;cursor:pointer}
.grade{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.grade .ds{text-align:center;font-size:.68rem;font-weight:700;color:var(--sub);padding:2px 0}
.dia{aspect-ratio:1;border-radius:12px;border:0;font:inherit;font-weight:700;font-size:.86rem;display:flex;align-items:center;justify-content:center;background:#ecfdf3;color:#15803d}
.dia.res{background:#fef2f2;color:#dc2626;text-decoration:line-through}
.dia.pas{background:#f4f6f8;color:#b0b8c4}
.dia.vazio{background:none}
.dia.fds:not(.res):not(.pas){box-shadow:inset 0 0 0 2px #86efac}
.legenda{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0 0;font-size:.74rem;color:var(--sub)}
.legenda span::before{content:"";display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:5px;vertical-align:-1px}
.l-livre::before{background:#bbf7d0}.l-res::before{background:#fecaca}.l-pas::before{background:#e5e7eb}
.cal-acoes{display:flex;gap:8px;margin-top:14px}
.cal-acoes a,.cal-acoes button{flex:1;padding:12px;border-radius:13px;border:0;font:inherit;font-weight:700;font-size:.84rem;text-align:center;text-decoration:none;cursor:pointer}
.dono{margin-top:14px;padding:12px;border-radius:14px;background:#f8fafc;border:1px dashed #cbd5e1;font-size:.78rem;color:#475467}
.dono b{color:var(--azul)}
.cal.editando .dia:not(.pas):not(.vazio){cursor:pointer;outline:2px dashed #94a3b8;outline-offset:-3px}
.leaflet-top.leaflet-left{top:76px}.leaflet-control-attribution{font-size:9px!important}
body.g-aberta .rodape{transform:translateY(calc(100% + 30px))}
@media (min-width:900px){
  .topo{right:auto;width:430px}.rodape{right:auto;width:430px}
  .gaveta{left:12px;right:auto;bottom:12px;top:86px;width:430px;height:auto;border-radius:26px;transform:translateX(-120%)}
  .gaveta.on{transform:none}
  body.g-aberta .rodape{transform:none;opacity:0;pointer-events:none}
  .leaflet-top.leaflet-left{left:454px;top:12px}
  .modal{align-items:center}.cal{border-radius:24px}
}
.ic{width:1.05em;height:1.05em;flex:0 0 auto;vertical-align:-.15em}
.carac span{display:inline-flex;align-items:center;gap:6px}.carac .ic{width:15px;height:15px;color:#13233d;opacity:.8}
.bairro{display:flex;align-items:flex-start;gap:5px}.bairro .ic{width:15px;height:15px;margin-top:1px;color:#e11d48}
.nota{display:flex;gap:7px;align-items:flex-start}.nota .ic{width:16px;height:16px;margin-top:1px}
.acoes .ic{width:18px;height:18px}.modo .ic{width:17px;height:17px}.chip .ic{width:15px;height:15px}
.pino .ic{width:17px;height:17px;color:#fff;transform:rotate(45deg)}.pino span{display:flex}
.foto-ic .ic{width:54px;height:54px;color:rgba(255,255,255,.95);stroke-width:1.5}
.cal-acoes a{display:flex;align-items:center;justify-content:center;gap:6px}
.dest{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0 0}
.dest div{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px;border-radius:12px;background:#f5f7fa;text-align:center}
.dest .ic{width:20px;height:20px;color:#13233d}
.dest span{font-size:.7rem;font-weight:600;line-height:1.25;color:#344054}
.mais{margin:10px 0 0;border-top:1px solid #eef1f5;padding-top:8px}
.mais summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:700;color:#13233d}
.mais summary::-webkit-details-marker{display:none}
.mais summary::after{content:"";width:7px;height:7px;margin-left:auto;border-right:2px solid #667085;border-bottom:2px solid #667085;transform:rotate(45deg);transition:transform .2s}
.mais[open] summary::after{transform:rotate(-135deg)}
.mais summary i{font-style:normal;padding:1px 7px;border-radius:999px;background:#eef1f5;color:#667085;font-size:.7rem}
.mais ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.mais li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:6px 0;border-bottom:1px solid #f0f2f5;font-size:.76rem;color:#344054;line-height:1.25;min-width:0}
.mais li .ic{width:22px;height:22px;padding:4px;border-radius:7px;background:#f1f4f8;color:#13233d}
.obs{display:flex;align-items:flex-start;gap:6px;margin:10px 0 0;font-size:.74rem;color:#92400e;line-height:1.35}
.obs .ic{width:14px;height:14px;margin-top:1px}
.foto.troca{animation:fotoTroca .45s ease}@keyframes fotoTroca{from{opacity:.55}to{opacity:1}}
.foto{touch-action:pan-y}
.preco small{font-size:.74rem}
.preco-det{margin:2px 0 0;font-size:.76rem;color:#667085}.preco-det b{color:#13233d}
.cal-precos{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;padding:9px 11px;border-radius:12px;background:#f5f7fa;font-size:.76rem;color:#475467}.cal-precos b{color:#13233d}
.dia.sel{background:#13233d!important;color:#fff!important;box-shadow:none!important}
.a-wa.apagado{background:#e9edf2!important;color:#667085!important;cursor:default}
.dia{flex-direction:column;gap:1px;line-height:1.05}
.dia small{font-size:.56rem;font-weight:700;opacity:.8;letter-spacing:-.01em}
.dia.mud small{color:#b45309;opacity:1}
.dia.trav{background:#f4f6f8!important;color:#98a2b3!important;cursor:not-allowed!important;outline:0!important}
.l-trav::before{background:#e4e7ec}
.dono-modos{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:12px 0 0;padding:4px;border-radius:14px;background:#f1f4f8}
.dono-modos button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border:0;border-radius:11px;background:none;font:inherit;font-weight:700;font-size:.82rem;color:#475467;cursor:pointer}
.dono-modos button.on{background:#fff;color:#13233d;box-shadow:0 1px 4px rgba(19,35,61,.12)}
.dono-modos .ic{width:16px;height:16px}
.ed-preco{margin:12px 0 0;padding:12px;border-radius:14px;border:1px solid #e6ebf1;background:#fff}
.ed-preco label{display:block;font-size:.8rem;font-weight:700;color:#13233d;margin-bottom:8px;text-transform:none}
.ed-preco div{display:flex;align-items:center;gap:8px}.ed-preco span{font-weight:700;color:#667085}
.ed-preco input{flex:1;min-width:0;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;font:inherit;font-size:1rem;font-weight:700;color:#13233d}
.ed-preco #ok-preco{padding:10px 14px;border:0;border-radius:10px;background:#13233d;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.ed-preco .link{margin-top:8px;padding:0;border:0;background:none;color:#667085;font:inherit;font-size:.76rem;text-decoration:underline;cursor:pointer}
.bt-dono{margin-top:8px;width:100%;padding:10px;border-radius:11px;border:1px solid #cbd5e1;background:#fff;font:inherit;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
#salvar{display:flex;align-items:center;justify-content:center;gap:6px;background:#13233d;color:#fff}
.chip-data{gap:6px}.chip-data .x{margin-left:2px;padding:0 2px;font-weight:800;opacity:.85}
.preco-pino.pdata{background:#16a34a;color:#fff;box-shadow:0 3px 12px rgba(22,163,74,.35),0 0 0 1.5px #fff}
.pino.sem{background:#98a2b3}
.selo-data{display:flex;align-items:center;gap:6px;margin:9px 0 0;padding:7px 10px;border-radius:10px;background:#f5f7fa;color:#475467;font-size:.76rem;font-weight:600}
.selo-data.ok{background:#ecfdf3;color:#15803d}.selo-data .ic{width:15px;height:15px}
.busca-data{position:fixed;inset:0;z-index:850;display:none;align-items:flex-end;justify-content:center;background:rgba(10,20,35,.4)}
.busca-data.on{display:flex}
.bd-caixa{width:100%;max-width:440px;padding:16px 16px calc(18px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#fff;display:flex;flex-direction:column;gap:10px}
.bd-topo{display:flex;align-items:center;justify-content:space-between}.bd-topo b{font-family:var(--tit);font-weight:800;font-size:1.05rem;color:#13233d}
.bd-caixa label{font-size:.78rem;font-weight:700;color:#475467}
.bd-caixa input{padding:12px;border:1px solid #d0d5dd;border-radius:12px;font:inherit;font-size:1rem;color:#13233d;background:#fff}
.dias{display:flex;gap:6px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;padding:2px}.dias::-webkit-scrollbar{display:none}
.dias-g{flex:0 0 auto;padding:0 14px 10px}
.dia-chip{flex:0 0 58px;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 2px;border:1px solid #e6ebf1;border-radius:14px;background:#fff;font:inherit;color:#13233d;cursor:pointer}
.dia-chip span{font-size:.66rem;font-weight:700;color:#667085}.dia-chip b{font-family:var(--tit);font-size:1.05rem;font-weight:800}.dia-chip small{font-size:.6rem;font-weight:700;color:#16a34a}
#vz-dias .dia-chip small{color:#667085}
.dia-chip.fds{background:#f8fafc}.dia-chip.on{background:#13233d;border-color:#13233d;color:#fff}.dia-chip.on span,.dia-chip.on small{color:#cbd5e1}
.bd-linha{display:flex;gap:8px}.bd-linha input{flex:1;min-width:0}
.bd-ok{padding:12px 18px;border:0;border-radius:13px;background:#13233d;color:#fff;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer}
@media (min-width:900px){.busca-data{align-items:center}.bd-caixa{border-radius:24px}}
.fab-data{position:fixed;right:16px;bottom:calc(122px + env(safe-area-inset-bottom));z-index:610;display:flex;align-items:center;gap:8px;padding:12px 16px;border:0;border-radius:999px;background:#16a34a;color:#fff;font-family:var(--tit);font-weight:800;font-size:.9rem;box-shadow:0 8px 22px rgba(22,163,74,.38);cursor:pointer;transition:transform .2s}
.fab-data[hidden]{display:none!important}
.fab-data .ic{width:18px;height:18px}
.fab-data.on{background:#13233d;box-shadow:0 8px 22px rgba(19,35,61,.35)}
.fab-data .x{margin-left:2px;padding-left:8px;border-left:1px solid rgba(255,255,255,.3);font-weight:800}
.fab-data:active{transform:scale(.96)}
@media (min-width:900px){.fab-data{right:24px;bottom:24px}}
.vz-rot{margin:14px 0 6px;font-size:.78rem;font-weight:700;color:#475467}
.horas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.hora{padding:11px 4px;border:1px solid #e6ebf1;border-radius:12px;background:#fff;font:inherit;font-weight:700;font-size:.86rem;color:#13233d;cursor:pointer}
.hora.on{background:#13233d;border-color:#13233d;color:#fff}
.hora.oc{background:#f4f6f8;color:#b0b8c4;text-decoration:line-through;cursor:not-allowed}
.chips{scroll-behavior:auto;-webkit-mask-image:none;mask-image:none}
.chips.borda-dir{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.chips.borda-esq{-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%);mask-image:linear-gradient(90deg,transparent,#000 15%)}
.chips.borda-esq.borda-dir{-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.acoes{flex-wrap:wrap}
.ag-linha{flex:0 0 100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ag-linha button{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 6px;border-radius:13px;font:inherit;font-weight:700;font-size:.8rem;cursor:pointer}
.a-reu{border:1.5px solid #13233d!important;background:#fff;color:#13233d}
#g-dias[hidden]{display:none!important}
.foto.rural{background-image:linear-gradient(135deg,#bef264,#4d7c0f)}.pino.rural{background:#4d7c0f}
.chip-dono:not(.on){border-color:#16a34a;color:#15803d}
.selo-dono{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:3px 8px;border-radius:999px;background:#ecfdf3;color:#15803d;font-size:.62rem;font-weight:800}
.selo-dono .ic{width:12px;height:12px}
.cv-card{max-width:440px}
