/* v296 合规批次：白底底部弹层（AI 审图说明 / 推送说明 / 通知类型） */
.cmp-overlay { position: fixed; inset: 0; z-index: 10050; background: rgba(0,0,0,0); display: flex; align-items: flex-end; justify-content: center; transition: background .2s; }
.cmp-overlay.in { background: rgba(0,0,0,.38); }
.cmp-sheet { width: 100%; max-width: 480px; background: #fff; border-radius: 22px 22px 0 0; padding: 22px 20px calc(env(safe-area-inset-bottom, 0px) + 18px); transform: translateY(24px); opacity: 0; transition: transform .22s, opacity .22s; text-align: center; color: #0A0A0A; max-height: 88vh; overflow: auto; }
.cmp-overlay.in .cmp-sheet { transform: none; opacity: 1; }
.cmp-ico { width: 52px; height: 52px; border-radius: 16px; background: #F5F5F5; display: inline-flex; align-items: center; justify-content: center; color: #0A0A0A; margin: 4px 0 12px; }
.cmp-title { font-size: 19px; font-weight: 800; margin: 0 0 10px; letter-spacing: -.01em; }
.cmp-title.cmp-left { text-align: left; margin-bottom: 14px; }
.cmp-body { font-size: 15px; line-height: 1.55; margin: 0 0 10px; color: #0A0A0A; text-align: left; }
.cmp-body.cmp-mute { color: #8A8A8A; font-size: 13.5px; }
.cmp-link { border: 0; background: none; font: inherit; font-size: 13.5px; color: #0A0A0A; text-decoration: underline; padding: 2px 0 6px; cursor: pointer; display: block; text-align: left; }
.cmp-primary { width: 100%; height: 50px; border: 0; border-radius: 14px; background: #0A0A0A; color: #fff; font: inherit; font-size: 16px; font-weight: 700; margin-top: 10px; cursor: pointer; }
.cmp-primary[disabled] { opacity: .5; }
.cmp-secondary { width: 100%; height: 46px; border: 0; border-radius: 14px; background: #F5F5F5; color: #0A0A0A; font: inherit; font-size: 15px; font-weight: 600; margin-top: 8px; cursor: pointer; }
.cmp-group { background: #F5F5F5; border-radius: 14px; margin-bottom: 10px; overflow: hidden; }
.cmp-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 0; background: none; font: inherit; padding: 13px 14px; text-align: left; cursor: pointer; color: #0A0A0A; }
.cmp-row + .cmp-row { border-top: 1px solid #EAEAEA; }
.cmp-row-t { display: flex; flex-direction: column; gap: 3px; font-size: 15px; }
.cmp-row-t small { font-size: 12.5px; color: #8A8A8A; line-height: 1.45; }
.cmp-row .v3-switch { flex: none; }
.cmp-foot { font-size: 12.5px; color: #8A8A8A; text-align: left; line-height: 1.5; margin: 4px 2px 6px; }
