.suniva-nearby-toggle {
    position: absolute; right: 14px; bottom: 98px; z-index: 1180;
    display: grid; place-items: center; width: 66px; height: 66px;
    padding: 7px; border: 2px solid #d7ad53; border-radius: 50%;
    color: #183b49; background: rgba(255,250,237,.96);
    box-shadow: 0 8px 22px rgba(36,49,43,.22); font-weight: 800;
}
.suniva-nearby-toggle > span { font-size: 22px; line-height: 1; }
.suniva-nearby-toggle > small { font-size: 9px; white-space: nowrap; }
.suniva-nearby-toggle.is-sharing { color: #fff; background: #197b68; border-color: #bfe7d8; }
.suniva-nearby-toggle[data-count]::after {
    content: attr(data-count); position: absolute; top: -7px; right: -5px;
    min-width: 25px; height: 25px; padding: 0 6px; border: 2px solid #fff;
    border-radius: 999px; color: #fff; background: #d84b4b; line-height: 21px;
}
.suniva-nearby-sheet[hidden] { display: none !important; }
.suniva-nearby-sheet { position: fixed; inset: 0; z-index: 200000; }
.suniva-nearby-sheet__backdrop { position: absolute; inset: 0; width: 100%; border: 0; background: rgba(8,29,36,.42); }
.suniva-nearby-sheet__panel {
    position: absolute; left: 50%; bottom: 0; width: min(100%,430px); max-height: min(78dvh,680px);
    padding: 22px 20px calc(22px + env(safe-area-inset-bottom)); overflow: auto;
    transform: translateX(-50%); border: 1px solid #dfbf78; border-radius: 28px 28px 0 0;
    color: #173847; background: #fffaf0; box-shadow: 0 -16px 50px rgba(19,43,48,.28);
}
.suniva-nearby-sheet__panel::before { content:""; display:block; width:46px; height:5px; margin:-10px auto 18px; border-radius:9px; background:#c8cbc5; }
.suniva-nearby-sheet__close { position:absolute; top:15px; right:16px; width:38px; height:38px; border:0; border-radius:50%; font-size:28px; color:#46616b; background:#edf0eb; }
.suniva-nearby-settings > small, .suniva-nearby-profile header small { color:#a2741c; font-size:11px; font-weight:900; letter-spacing:.12em; }
.suniva-nearby-settings h2, .suniva-nearby-profile h2 { margin:4px 42px 8px 0; font-size:24px; }
.suniva-nearby-settings p, .suniva-nearby-profile p { line-height:1.65; }
.suniva-nearby-share-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0; }
.suniva-nearby-share-options button, .suniva-nearby-quick button {
    min-height:46px; padding:9px; border:1px solid #d8bd82; border-radius:14px; color:#204553; background:#fff;
}
.suniva-nearby-share-options button.is-selected { color:#fff; background:#197b68; border-color:#197b68; }
.suniva-nearby-notice { padding:10px 12px; border-radius:12px; color:#175d4f; background:#e4f3ec; font-weight:700; }
.suniva-nearby-privacy { color:#687a7c; font-size:12px; }
.suniva-nearby-person-wrap { border:0 !important; background:transparent !important; }
.suniva-nearby-person { position:relative; display:block; width:50px; height:50px; padding:3px; border:2px solid #fff8dc; border-radius:50%; background:#1d7e69; box-shadow:0 0 0 3px #d2a03b,0 8px 16px rgba(20,48,51,.28); }
.suniva-nearby-person img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.suniva-nearby-person span { position:absolute; left:50%; bottom:-12px; transform:translateX(-50%); max-width:112px; overflow:hidden; padding:3px 7px; border-radius:9px; color:#fff; background:#176b5c; font-size:10px; font-weight:700; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; box-shadow:0 2px 6px rgba(20,48,51,.24); }
.suniva-nearby-profile header { display:flex; align-items:center; gap:14px; padding-right:34px; }
.suniva-nearby-profile header img { width:68px; height:68px; border:3px solid #fff; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px #c79334; }
.suniva-nearby-profile h2 { margin-right:0; }
.suniva-nearby-quick { display:flex; gap:7px; overflow:auto; margin:14px 0; padding-bottom:3px; }
.suniva-nearby-quick button { flex:0 0 auto; min-height:38px; font-size:12px; }
.suniva-nearby-profile textarea { width:100%; min-height:82px; padding:12px; resize:vertical; border:1px solid #c8d0ca; border-radius:14px; font:inherit; background:#fff; }
.suniva-nearby-send { width:100%; min-height:50px; margin-top:10px; border:0; border-radius:15px; color:#fff; background:#197b68; font-size:16px; font-weight:900; }
.suniva-nearby-status { min-height:1.4em; margin:8px 0; color:#176b5c; font-size:13px; font-weight:700; text-align:center; }
.suniva-nearby-full { display:block; color:#315b69; text-align:center; }
@media (max-width: 767px) { .suniva-nearby-toggle { right:10px; bottom:max(82px,calc(68px + env(safe-area-inset-bottom))); } }
