/* A dedicated bottom strip keeps the floating action away from map controls.
   Bottom padding and scroll padding keep the footer and focused controls reachable. */
body { padding-bottom:calc(76px + env(safe-area-inset-bottom)); }
html { scroll-padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
.support-dock {
  position:fixed; inset-inline:0; bottom:0; z-index:30;
  display:flex; justify-content:flex-end;
  padding:8px max(16px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom));
  background:#edf7fc; border-top:1px solid #d9eaf4;
}
#support-open {
  display:flex; align-items:center; gap:8px; min-height:44px;
  padding:10px 16px; border:1px solid #c7deec; border-radius:24px;
  background:#fff; color:#006e9e; box-shadow:0 4px 16px #174a6c18;
  font-family:inherit; font-size:14px; font-weight:600; line-height:1.5; cursor:pointer;
}
#support-open svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; flex:none; }
#support-dialog {
  box-sizing:border-box; width:min(480px,calc(100vw - 24px));
  max-height:calc(100dvh - 32px); margin:auto; overflow:auto;
  padding:22px; border:1px solid #d3e8f5; border-radius:22px;
  background:#fff; color:#213448; box-shadow:0 20px 80px #10354b40;
  font-family:inherit; overscroll-behavior:contain;
}
#support-dialog::backdrop { background:#10354b70; }
.support-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
#support-title { margin:0; font-size:20px; line-height:1.5; }
#support-close { min-width:44px; min-height:44px; border:0; border-radius:12px; background:#edf7fc; color:#24516b; font-size:26px; cursor:pointer; }
#support-privacy { font-size:13px; line-height:1.7; margin:10px 0 16px; }
#support-form label { display:block; margin:12px 0 6px; font-size:14px; font-weight:600; }
#support-form input:not([type=hidden]), #support-form select, #support-form textarea {
  box-sizing:border-box; display:block; width:100%; min-height:44px;
  padding:10px 12px; border:1px solid #bad4e3; border-radius:12px;
  background:#f8fcff; color:#213448; font:inherit; font-size:16px; line-height:1.5;
}
#support-form textarea { resize:vertical; }
#support-form [hidden] { display:none!important; }
#support-send { width:100%; min-height:48px; margin-top:18px; padding:12px; border:0; border-radius:14px; background:#0085be; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
#support-send:disabled { opacity:.65; cursor:wait; }
#support-status { margin:12px 0 0; font-size:14px; line-height:1.7; }
#support-open:focus-visible, #support-dialog :focus-visible { outline:3px solid #0085be; outline-offset:3px; }
@media(max-width:375px) { #support-dialog { padding:16px; } #support-title { font-size:18px; } }
