#app_response { max-height:90vh; overflow-y:auto; }
#tfh-location-sharing { margin:8px 0; border-top:1px solid #555; border-bottom:1px solid #555; color:#fff; font:14px/1.45 Arial,sans-serif; }
#tfh-location-modal-root { display:contents; }
:is(#tfh-location-sharing,#tfh-location-modal-root) [hidden] { display:none !important; }
:is(#tfh-location-sharing,#tfh-location-modal-root) button { min-height:44px; padding:10px 12px; border:1px solid #777; border-radius:3px; color:#fff; background:#222; font:inherit; cursor:pointer; }
:is(#tfh-location-sharing,#tfh-location-modal-root) button:focus-visible, #tfh-location-modal-root summary:focus-visible { outline:2px solid #0ff; outline-offset:3px; }
:is(#tfh-location-sharing,#tfh-location-modal-root) button:disabled { opacity:.48; cursor:default; }
#tfh-location-sharing .sharing-launch { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin:0; padding:10px 12px; border:0; background:transparent; text-align:left; }
#tfh-location-sharing [data-sharing-summary] { color:#bbb; font-size:13px; margin-left:8px; }
#tfh-location-sharing .sharing-manage { color:#ccc; font-size:13px; }
#tfh-location-modal-root dialog { width:min(560px,calc(100vw - 24px)); height:82vh; height:82dvh; max-height:calc(100dvh - 32px); box-sizing:border-box; margin:auto; padding:0; border:1px solid #777; border-radius:4px; background:#333; color:#fff; font:16px/1.45 Arial,sans-serif; overflow-y:auto; }
#tfh-location-modal-root dialog::backdrop { background:rgba(0,0,0,.82); }
#tfh-location-modal-root .sharing-modal-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px; border-bottom:1px solid #666; background:#222; }
#tfh-location-modal-root h3 { font-size:22px; line-height:1.25; margin:0; }
#tfh-location-modal-root [data-sharing-close] { flex:0 0 44px; border:0; background:transparent; font-size:24px; }
#tfh-location-modal-root .sharing-body { padding:14px 16px 24px; }
#tfh-location-modal-root p { margin:8px 0; }
#tfh-location-modal-root .sharing-context { color:#ddd; }
#tfh-location-modal-root .sharing-choices { display:grid; gap:8px; margin:20px 0 16px; }
#tfh-location-modal-root [data-sharing-mode] { display:flex; align-items:center; gap:12px; width:100%; min-height:58px; text-align:left; background:#333; border:1px solid #777; }
#tfh-location-modal-root .sharing-check { width:22px; height:22px; flex:0 0 22px; border:2px solid #bbb; border-radius:50%; box-sizing:border-box; display:flex; align-items:center; justify-content:center; }
#tfh-location-modal-root .sharing-selected { margin-left:auto; color:#0ff; font-size:13px; visibility:hidden; }
#tfh-location-modal-root [data-sharing-mode][aria-pressed="true"] { background:#000; border-color:#0ff; font-weight:bold; }
#tfh-location-modal-root [aria-pressed="true"] .sharing-check { border-color:#0ff; color:#000; background:#0ff; }
#tfh-location-modal-root [aria-pressed="true"] .sharing-check::after { content:'✓'; font-size:16px; font-weight:bold; }
#tfh-location-modal-root [aria-pressed="true"] .sharing-selected { visibility:visible; }
#tfh-location-modal-root [data-sharing-status] { color:#fff; }
#tfh-location-modal-root [data-sharing-confirmation] { padding:8px 12px; border-left:2px solid #0ff; background:#222; }
#tfh-location-modal-root .sharing-actions { display:flex; gap:8px; margin:12px 0; }
#tfh-location-modal-root .sharing-actions button { flex:1; }
#tfh-location-modal-root .sharing-help { margin-top:12px; }
#tfh-location-modal-root .sharing-help > summary { cursor:pointer; display:flex; align-items:center; min-height:44px; color:#ddd; font-size:15px; }
#tfh-location-modal-root .sharing-help > summary::after { content:' ＋'; margin-left:6px; }
#tfh-location-modal-root .sharing-help[open] > summary::after { content:' −'; }
#tfh-location-modal-root .sharing-stop-all { margin-top:24px; padding-top:20px; border-top:1px solid #666; }
#tfh-location-modal-root [data-sharing-stop-all] { width:100%; background:#222; border-color:#d77; }
#tfh-location-modal-root .sharing-stop-all p { color:#ccc; font-size:14px; }
