[data-app-message], [data-app-message-consumed] { display: none !important; }
.app-message-popup {
    --message-accent: #2373f4;
    padding: 0; border: 1px solid var(--ui-border, #dce4f0); border-radius: 20px;
    width: min(520px, calc(100vw - 32px)); max-height: min(680px, calc(100dvh - 32px));
    color: var(--ui-text, #172b4d); background: var(--ui-surface, #fff);
    box-shadow: var(--ui-shadow-lg, 0 24px 90px #091d4260); font-family: Vazirmatn, Tahoma, sans-serif;
    text-align: start; direction: rtl; overflow: hidden;
    /* showModal() places this dialog in the browser top layer; no extreme z-index needed. */
}
.app-message-popup[open] { display: flex; flex-direction: column; }
.app-message-popup::backdrop { background: var(--ui-overlay, #08152b99); backdrop-filter: blur(3px); }
.app-message-popup__header {
    flex: none; display: flex; align-items: center; gap: 12px; padding: 20px 24px;
    color: #fff; background: var(--message-accent);
}
.app-message-popup[data-kind="success"] { --message-accent: #147a59; }
.app-message-popup[data-kind="error"] { --message-accent: #bd3d53; }
.app-message-popup[data-kind="warning"] { --message-accent: #a96500; }
.app-message-popup[data-kind="info"] { --message-accent: #1174a8; }
.app-message-popup__title { margin: 0; font-size: 17px; font-weight: 700; color: inherit; }
.app-message-popup__close {
    margin-inline-start: auto; border: 1px solid #ffffff40; background: #ffffff18; color: inherit;
    font: inherit; font-size: 26px; cursor: pointer; line-height: 1; padding: 4px 8px;
    min-width: 40px; min-height: 40px; border-radius: 12px;
}
.app-message-popup__body {
    overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 24px;
    white-space: pre-wrap; overflow-wrap: anywhere; line-height: 2; font-size: 14px;
}
.app-message-popup__footer {
    display: flex; align-items: center; gap: 12px; padding: 16px 24px;
    border-top: 1px solid var(--ui-border, #e8edf5); flex: none;
    background: var(--ui-surface-2, #f8fafc);
}
.app-message-popup__counter { color: var(--ui-muted, #64748b); font-size: 12px; }
.app-message-popup__ack {
    margin-inline-start: auto; background: var(--message-accent); border: 0; border-radius: 10px;
    padding: 9px 22px; color: #fff; font: inherit; cursor: pointer;
    min-height: 44px; font-weight: 700;
}
.app-message-popup__ack:hover { filter: brightness(.92); }
.app-message-popup button:focus-visible { outline: 3px solid var(--ui-primary, #84b4ff); outline-offset: 3px; }
@media (max-width: 575px) {
    .app-message-popup__header, .app-message-popup__body, .app-message-popup__footer { padding: 16px; }
}

.app-message-popup__header {
    color:var(--ui-sidebar-heading,#f8fafc);
    background:var(--ui-sidebar-surface,#0f172a);
    border-bottom:3px solid var(--message-accent);
}
.app-message-popup__close { color:var(--ui-sidebar-copy,#cbd5e1); }
.app-message-popup__close:hover { background:rgba(255,255,255,.16); }

.app-message-popup__header { position:relative; min-height:70px; padding-left:74px; }
.app-message-popup__close { position:absolute; left:18px; right:auto; top:50%; margin:0; transform:translateY(-50%); transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease; }
@media (hover:hover) { .app-message-popup__close:hover { transform:translateY(-50%) rotate(90deg) scale(1.08); background:rgba(255,255,255,.18); box-shadow:0 3px 12px rgba(0,0,0,.16); } }
.app-message-popup__close:active { transform:translateY(-50%) scale(.95); }
@media (max-width:575px) { .app-message-popup__header { padding-left:66px; } .app-message-popup__close { left:14px; } }
@media (prefers-reduced-motion:reduce) { .app-message-popup__close { transition:none; } .app-message-popup__close:is(:hover,:active) { transform:translateY(-50%); } }
