/* D58 mobile/APK corrections. */
#liveLocationPanel{display:none!important}

/* Header controls must stay below cut-outs/status bars in mobile browsers too. */
@media(max-width:800px){
  .chat-head,.workspace-head,.side-head{box-sizing:border-box!important;padding-top:env(safe-area-inset-top)!important;min-height:calc(68px + env(safe-area-inset-top))!important;height:auto!important}
  .chat-pane,.workspace,.sidebar{height:100dvh!important;max-height:100dvh!important}
  .messages{min-height:0!important}
  .modal-card{padding-top:calc(72px + env(safe-area-inset-top))!important}
  .modal-back,.modal-close{top:calc(10px + env(safe-area-inset-top))!important}
}

/* Three dots stay centered inside their capsule. */
.msg.d13-msg .msg-menu{width:27px!important;height:24px!important;right:5px!important;top:5px!important}
.msg.d13-msg .msg-menu-dots{font-size:8px!important;letter-spacing:.4px!important;line-height:1!important;transform:none!important;white-space:nowrap!important}

/* The admin-only THE BEST OFFER composer remains a compact entry point for emergency help. */
#msgInput[readonly]{cursor:pointer;opacity:.82}

/* Location preview is clickable as one unit; iframe itself never steals the tap. */
.d58-map-preview{position:relative;display:block;width:100%;height:220px;padding:0;border:0;border-radius:12px;overflow:hidden;background:#1b1d1e;color:#fff;cursor:pointer}
.d58-map-preview iframe{width:100%;height:100%;border:0;pointer-events:none;display:block}
.d58-map-preview>span{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:6px 10px;border-radius:999px;background:rgba(10,11,12,.82);border:1px solid rgba(222,177,94,.55);color:#f3dfb4;font-size:.76rem;white-space:nowrap}
.d58-location-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}

.d58-map-screen{position:fixed;inset:0;z-index:5000;background:#101213;display:flex;flex-direction:column;color:#f4efe5}
.d58-map-head{flex:0 0 auto;min-height:60px;padding:calc(8px + env(safe-area-inset-top)) 10px 8px;display:flex;align-items:center;gap:10px;background:#151819;border-bottom:1px solid rgba(202,157,80,.42)}
.d58-map-head>div{display:grid;gap:2px;min-width:0}.d58-map-head strong{font-size:1rem}.d58-map-head span{font-size:.72rem;color:#b9b2a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d58-map-body{position:relative;flex:1 1 auto;min-height:0}.d58-map-body iframe{width:100%;height:100%;border:0;background:#d9d9d9}
.d58-map-actions{flex:0 0 auto;display:flex;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:#151819;border-top:1px solid rgba(202,157,80,.42)}
.d58-map-actions button{flex:1;min-height:44px}

.d58-browser-help summary{cursor:pointer;font-weight:700;color:var(--gold-hi);padding:3px 0}
.d58-install-qr-card{display:grid;gap:9px}.d58-install-qr-card input[type=url]{width:100%}.d58-qr-preview{display:block;width:min(210px,70vw);height:auto;background:#fff;padding:8px;border-radius:13px;margin:10px auto 0}
.d58-upload{position:relative;overflow:hidden;text-align:center}

/* APK has native system-inset padding; do not add the CSS safe-area a second time. */
@media(max-width:800px){
  html.tbo-native .chat-head,html.tbo-native .workspace-head,html.tbo-native .side-head{padding-top:0!important;min-height:68px!important}
  html.tbo-native .modal-card{padding-top:72px!important}
  html.tbo-native .modal-back,html.tbo-native .modal-close{top:10px!important}
}
.d58-map-markers{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.d58-map-marker{position:absolute;transform:translate(-50%,-100%);display:grid;justify-items:center;gap:2px;z-index:2}
.d58-map-marker i{width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#d9a84c;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.45)}
.d58-map-marker.self i{background:#3b86d8}.d58-map-marker b{transform:translateY(2px);padding:2px 5px;border-radius:6px;background:rgba(12,14,15,.84);color:#fff;font-size:.62rem;white-space:nowrap;font-weight:600}
