.safety-open { color: #a81736; font-size: 11px; font-weight: 700; width: 34px; letter-spacing: .02em; }
.safety-banner { flex: none; margin: 8px 12px 0; padding: 11px 14px; border: 1px solid #cf7485; border-left: 4px solid #ac1937; border-radius: 12px; background: #fff0f2; color: #78172c; font: inherit; font-weight: 600; text-align: left; }
.safety-dialog .space-header h2 { font-size: clamp(20px, 5vw, 27px); }
.safety-warning { padding: 14px; border: 1px solid #cf7485; border-left: 4px solid #ac1937; background: #fff0f2; color: #78172c; border-radius: 12px; line-height: 1.5; }
.safety-call, .space-editor .safety-send { display: inline-flex; justify-content: center; align-items: center; margin: 10px 0; padding: 13px 16px; border: 0; border-radius: 12px; background: #ad1836; color: #fff; font-weight: 600; }
.safety-call:hover, .space-editor .safety-send:hover { background: #83112a; }
.safety-call { text-decoration: none; }
#safety-call-source { display: block; color: var(--rose-deep); font-size: 12px; line-height: 1.5; }
#safety-status { position: sticky; top: 76px; z-index: 3; padding: 12px; border-radius: 12px; border: 1px solid var(--line); background: var(--paper-2); color: var(--rose-deep); line-height: 1.5; }
#safety-status:empty { display: none; }
#safety-location-details { margin: 18px 0; }
#safety-share-location, #safety-clear-location { margin-top: 8px; }
.safety-event { margin: 12px 0; }
.safety-event strong { font-size: 13px; }
.safety-event-body { white-space: pre-line; overflow-wrap: anywhere; line-height: 1.5; font-size: 13px; }
.safety-event a { color: var(--rose-deep); display: block; margin: 10px 0; }
.safety-event button { margin-top: 8px; }
.bubble.safety-sos { background: #fff0f2; color: #68182b; border: 1px solid #cb7284; box-shadow: 0 4px 16px rgba(140, 20, 50, .08); }
.bubble.safety-location { background: #f1e8fc; color: #3f2457; border: 1px solid #c8addf; }
.bubble.safety-sos .message-quote, .bubble.safety-location .message-quote { border-left-color: #9b365d; background: rgba(140, 36, 91, .07); }
@media (max-width: 400px) {
    .safety-open { width: 28px; padding: 4px; }
    .composer-bar { gap: 2px; }
}
