/* Map layers control: business layers */
.mlayers { position: absolute; z-index: 650; right: 10px; bottom: 96px; }
.mlayers .lbtn { width: 58px; height: 58px; border-radius: 12px; border: 0; background: rgba(255,255,255,.96); color: var(--ink); box-shadow: 0 2px 10px rgba(0,0,0,.18), 0 0 0 .5px rgba(0,0,0,.08); cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0; }
.mlayers .lbtn span { font: 600 11px var(--sans, system-ui); }
.mlayers .lbtn:hover, .mlayers .lbtn.on { color: var(--tint); }
.lpanel { position: absolute; right: 68px; bottom: 0; width: 350px; max-height: calc(100vh - 270px); overflow-y: auto; background: rgba(255,255,255,.97); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); border-radius: 14px; box-shadow: 0 16px 48px rgba(0,0,0,.22), 0 0 0 .5px rgba(0,0,0,.08); padding: 12px 14px 14px; font-size: 14px; }
.lhead { display: flex; justify-content: space-between; align-items: center; margin: 4px 0 6px; } .lhead b { font-size: 13px; color: var(--muted); font-weight: 600; }
.lx { border: 0; background: none; font-size: 14px; color: var(--muted); cursor: pointer; padding: 2px 4px; }
.lmodes { display: flex; flex-direction: column; gap: 2px; margin-bottom: 6px; }
.lmode { display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 0; background: none; padding: 7px 8px; border-radius: 9px; cursor: pointer; color: var(--ink); font: inherit; }
.lmode:hover { background: rgba(118,118,128,.08); } .lmode.on { background: rgba(0,113,227,.10); }
.lmode .sw { width: 26px; height: 26px; border-radius: 7px; flex: none; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.15); margin-top: 1px; }
.lmode b { display: block; font-size: 14px; font-weight: 600; } .lmode.on b { color: var(--tint); }
.lmode small, .ltog small { display: block; font-size: 12px; color: var(--muted); line-height: 1.3; font-weight: 400; margin-top: 1px; }
.lrow { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 0 4px; border-top: .5px solid var(--line); }
.lrow .seg button { padding: 4px 10px; font-size: 12px; }
.lnote { font-size: 12px; color: var(--muted); margin: 4px 0 10px; }
.ltog { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 8px 0; border-top: .5px solid var(--line); margin: 0; font-weight: 400; cursor: pointer; }
.ltog input { position: absolute; opacity: 0; width: 0; height: 0; }
.ltog i { width: 38px; height: 22px; border-radius: 11px; background: rgba(120,120,128,.32); position: relative; transition: background .2s; flex: none; }
.ltog i::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.ltog input:checked + i { background: #34C759; } .ltog input:checked + i::after { transform: translateX(16px); }
.ltog input:focus-visible + i { outline: 2px solid var(--tint); outline-offset: 2px; }
.lreset { margin-top: 8px; border: 0; background: none; color: var(--tint); font: 500 13px var(--sans, system-ui); cursor: pointer; padding: 0; }
.wbtouch span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #fff; color: #1E7B34; font: 700 12px var(--sans, system-ui); box-shadow: 0 0 0 2px #34C759, 0 1px 4px rgba(0,0,0,.25); }
@media (max-width: 720px) {
  .mlayers { bottom: calc(45vh + 12px); right: 12px; } .mlayers .lbtn { width: 50px; height: 50px; }
  .lpanel { position: fixed; left: 12px; right: 12px; top: 58px; bottom: auto; width: auto; max-height: calc(55vh - 80px); }
}
