*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:system-ui,Segoe UI,Roboto,Arial}
header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center; /* mantém o título no centro */
  padding:0.8rem 1rem;
  background:#0b7285;
  color:#fff;
}

/* botão hamburguer fixo à esquerda */
header .btn-menu{
  position:absolute;
  left:1rem;
  top:50%;
  transform:translateY(-50%);
  background:none;
  border:none;
  color:#fff;
  font-size:1.4rem;
  cursor:pointer;
  padding:4px;
}

/* espaçador para equilibrar o layout (simétrico ao hambúrguer) */
header .header-spacer{
  width:32px; /* mesmo tamanho aproximado do botão */
}

main{display:flex;min-height:calc(100vh - 120px)}
#sidebar{width:360px;max-width:45vw;border-right:1px solid #e3e3e3;padding:1rem;overflow:auto}
#mapWrap{flex:1;position:relative}
#map{position:absolute;inset:0}
ul{list-style:none;padding:0;margin:0}
li{padding:0.4rem 0;border-bottom:1px dashed #ddd;cursor:pointer}
li:hover{background:#f8f9fa}
footer{height:60px;display:flex;align-items:center;justify-content:center;color:#666;border-top:1px solid #eee}
.sheet{max-width:920px;margin:1rem auto;padding:1rem}
.actions{display:flex;gap:0.5rem}
button{padding:0.5rem 0.8rem;border:1px solid #0b7285;background:#0b7285;color:#fff;border-radius:8px;cursor:pointer}
button:hover{filter:brightness(0.95)}
form input{display:block;width:100%;padding:.5rem;margin:.25rem 0;border:1px solid #ccc;border-radius:6px}
form button{margin-top:.25rem}

