/* Site público: topo fixo, mapa ocupando a tela, navegação embaixo, painel deslizante sobre o mapa. */
html,body{height:100%;margin:0}
body{background:var(--canvas);color:var(--ink);font:15px/1.45 var(--font);overflow:hidden;-webkit-tap-highlight-color:transparent}
h1,h2,h3{margin:0;text-wrap:balance}
svg.i{flex:none}

.app{position:fixed;inset:0;display:flex;flex-direction:column}
header{display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);z-index:500;
  padding:calc(env(safe-area-inset-top,0px) + 10px) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}
.marca{display:flex;align-items:center;gap:10px;min-width:0}
.logo{width:36px;height:36px;border-radius:12px;background:linear-gradient(160deg,#143F8C 0%,#071430 100%);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.logo img{width:80%;height:auto;display:block}
.u{background:linear-gradient(180deg,#38A6F5 0%,#1F6FD6 55%,#16A34A 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.marca b{display:block;font-size:17px;font-weight:800;line-height:1.15;letter-spacing:-.01em}
.marca small{display:block;font-size:12px;font-weight:600;color:var(--muted)}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;border:1px solid var(--border);background:#fff;border-radius:12px;padding:0 12px;font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;max-width:44vw;overflow:hidden;text-overflow:ellipsis}
#map{flex:1;min-height:0;background:var(--map)}

/* navegação de baixo + botão registrar */
nav.base{z-index:500;background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
nav.base .in{max-width:520px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
nav.base button{min-height:64px;border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11.5px;font-weight:700;color:var(--muted)}
nav.base button[aria-current="page"]{color:var(--brand)}
.fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:600;height:52px;padding:0 18px;border:0;border-radius:26px;
  background:var(--brand);color:#fff;font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;box-shadow:0 8px 20px rgba(31,111,214,.35)}
.banner{position:fixed;left:50%;transform:translateX(-50%);top:calc(env(safe-area-inset-top,0px) + 72px);z-index:600;background:var(--ink);color:#fff;
  padding:10px 16px;border-radius:12px;font-weight:700;font-size:14px;box-shadow:0 8px 24px rgba(14,26,43,.3);display:flex;gap:12px;align-items:center;max-width:calc(100% - 32px)}
.banner button{background:none;border:0;color:#fff;text-decoration:underline;font-weight:700}
.banner{flex-wrap:wrap;justify-content:center}
.banner .aqui{background:#fff;color:var(--ink);text-decoration:none;border-radius:9px;padding:6px 10px;display:inline-flex;gap:6px;align-items:center}
.loc-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink);border:0;cursor:pointer}
.loc-btn.on{color:var(--brand)}
.me-dot{width:18px;height:18px;border-radius:9px;background:#1D72F3;border:3px solid #fff;box-shadow:0 0 0 2px rgba(29,114,243,.35),0 2px 6px rgba(0,0,0,.3)}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;font-weight:600;color:var(--sub);cursor:pointer}
.chk input{width:20px;height:20px;flex:none;accent-color:var(--brand);margin-top:1px}
.bad.local{background:#E7F0FF;color:#1D4FB8;text-transform:none;letter-spacing:0}
