.cm-pwa-entry { display: block; min-height: 44px; padding: 11px 14px; border: 1px solid #e4dfd7; border-radius: 12px; background: #f8f6f2; color: #30273c; font: 500 13px/1.4 Inter, system-ui, sans-serif; text-align: left; cursor: pointer; }
.chat-app__drawer-footer .cm-pwa-entry { width: 100%; margin-bottom: 8px; }
.topbar > .cm-pwa-entry { flex-shrink: 0; }
.cm-pwa-dialog { box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - max(32px, env(safe-area-inset-top)) - max(32px, env(safe-area-inset-bottom))); margin: auto; padding: 24px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #e4dfd7; border-radius: 24px; background: #fff; color: #211e29; font: 15px/1.6 Inter, system-ui, sans-serif; text-align: left; box-shadow: 0 24px 100px #0003; }
.cm-pwa-dialog::backdrop { background: #211e2966; }
.cm-pwa-heading { display: grid; grid-template-columns: 48px minmax(0, 1fr) 44px; align-items: center; gap: 10px; }
.cm-pwa-heading h2 { margin: 0; color: inherit; font: 650 20px/1.25 Inter, system-ui, sans-serif; letter-spacing: -.3px; }
.cm-pwa-logo { width: 48px; height: 48px; border-radius: 12px; }
.cm-pwa-close { min-width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 50%; color: #423a4b; background: #f8f6f2; font: 26px/1 system-ui, sans-serif; cursor: pointer; }
.cm-pwa-help { margin: 22px 0 16px; }
.cm-pwa-note { color: #665e6c; font-size: 13px; }
.cm-pwa-status { padding: 12px; border-radius: 12px; background: #f8f6f2; font-size: 13px; }
.cm-pwa-actions { display: grid; gap: 10px; margin-top: 20px; }
.cm-pwa-action, .cm-pwa-secondary { min-height: 48px; padding: 12px 16px; border: 1px solid #30273c; border-radius: 14px; background: #30273c; color: #fff; font: 600 14px/1.4 Inter, system-ui, sans-serif; cursor: pointer; }
.cm-pwa-secondary { background: #fff; color: #30273c; border-color: #ddd5e5; }
.cm-pwa-dialog [hidden] { display: none !important; }
.cm-pwa-dialog button:disabled { opacity: .55; cursor: wait; }
.cm-pwa-entry:focus-visible, .cm-pwa-dialog button:focus-visible { outline: 3px solid #7a5cff; outline-offset: 3px; }
/* Scope phone safe areas to installed mode; preserve ordinary browser layout. */
html.cm-pwa-standalone .chat-app__header { padding-top: max(8px, env(safe-area-inset-top)); padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
html.cm-pwa-standalone .brand-chat--app .brand-chat__conversation { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); padding-bottom: max(16px, env(safe-area-inset-bottom)); }
html.cm-pwa-standalone:not(.has-chat-app) body { padding-top: max(18px, env(safe-area-inset-top)); padding-bottom: max(32px, env(safe-area-inset-bottom)); }
@media (max-width: 380px) { .cm-pwa-dialog { padding: 18px; } .cm-pwa-heading h2 { font-size: 18px; } }
