.sms-preview[hidden] { display: none; }
.sms-preview { position: fixed; inset: 0; z-index: 20000000; display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; background: rgba(22, 29, 43, .38); backdrop-filter: blur(4px); }
.sms-preview__dialog { width: 100%; max-width: 420px; max-height: calc(100dvh - 40px); overflow: auto; box-sizing: border-box; background: #f3f4f7; border: 1px solid rgba(255, 255, 255, .8); border-radius: 24px; box-shadow: 0 20px 60px rgba(20, 35, 60, .18); color: #252b35; }
.sms-preview__header { padding: 16px 20px 18px; border-bottom: 1px solid #e5e7ed; text-align: center; }
.sms-preview__status { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; font-size: 12px; line-height: 18px; }
.sms-preview__label { display: inline-flex; align-items: center; gap: 6px; color: #6b7280; }
.sms-preview__dot { width: 7px; height: 7px; border-radius: 50%; background: #30bb71; flex: none; }
.sms-preview__header h2 { margin: 0 0 4px; font-size: 19px; font-weight: 600; }
.sms-preview__sender { margin: 0; color: #878d97; font-size: 13px; }
.sms-preview__body { padding: 18px; }
.sms-preview__message { padding: 18px; background: #fff; border-radius: 8px; }
.sms-preview__from { margin: 0 0 14px; color: #878d97; font-size: 12px; }
.sms-preview__intro { margin: 0; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.sms-preview__code { margin: 14px 0; color: #2874ed; text-align: center; font: 700 40px/1.3 Consolas, monospace; letter-spacing: 0; font-variant-numeric: tabular-nums; user-select: text !important; -webkit-user-select: text !important; }
.sms-preview__notice { margin: 0; font-size: 13px; color: #626a76; line-height: 1.9; }
.sms-preview__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; padding-top: 12px; border-top: 1px dashed #e2e5eb; color: #878d97; font-size: 12px; }
.sms-preview__hint { margin: 16px 0 12px; color: #878d97; font-size: 12px; line-height: 1.7; text-align: center; }
.sms-preview__action { display: block; width: 100%; min-height: 48px; margin-top: 0; padding: 12px; border: 0; border-radius: 8px; background: #2874ed; color: #fff; font-size: 16px; font-weight: 600; line-height: 24px; cursor: pointer; }
.sms-preview__action:hover { background: #1d65d7; }
.sms-preview__action:focus-visible { outline: 3px solid #82b0ff; outline-offset: 3px; }
body.sms-preview-open { overflow: hidden; }
@media (max-width: 360px) {
    .sms-preview { padding: 12px; }
    .sms-preview__dialog { max-height: calc(100dvh - 24px); border-radius: 20px; }
    .sms-preview__body, .sms-preview__message { padding: 14px; }
    .sms-preview__code { font-size: 34px; }
    .sms-preview__action { font-size: 15px; }
}
