/* ==========================================================
   XUI Dialog — مودال تایید / پیام (جایگزین confirm و alert مرورگر)
   رنگ‌ها و فونت از متغیرهای استایل افزونه گرفته می‌شود و
   در صورت نبودن متغیر، مقدار پیش‌فرض همان رنگ‌های افزونه است.
   ========================================================== */
.xui-dlg-overlay {
    position: fixed; inset: 0; z-index: 2147483000;
    display: flex; align-items: center; justify-content: center;
    padding: 16px; box-sizing: border-box;
    background: rgba(17, 24, 39, 0);
    backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px);
    transition: background .18s ease, backdrop-filter .18s ease;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    direction: rtl;
}
.xui-dlg-overlay.xui-dlg-in {
    background: rgba(17, 24, 39, .55);
    backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px);
}
.xui-dlg-overlay *, .xui-dlg-overlay *::before, .xui-dlg-overlay *::after { box-sizing: border-box; font-family: inherit; }

.xui-dlg {
    width: 100%; max-width: 400px; max-height: 90vh; overflow-y: auto;
    background: var(--xui-card, #ffffff);
    color: var(--xui-text, #1f2937);
    border-radius: var(--xui-radius, 12px); padding: 0 0 20px;
    text-align: center; border: 1px solid var(--xui-border, #e5e7eb);
    border-top: 4px solid var(--xui-primary, #37517D);
    box-shadow: 0 20px 40px rgba(44, 64, 99, .28), 0 2px 8px rgba(0, 0, 0, .06);
    transform: translateY(14px) scale(.96); opacity: 0;
    transition: transform .2s cubic-bezier(.2, .9, .3, 1.2), opacity .18s ease;
    outline: none;
}
.xui-dlg > * { margin-left: 24px; margin-right: 24px; }
.xui-dlg-overlay.xui-dlg-in .xui-dlg { transform: none; opacity: 1; }

.xui-dlg-icon {
    width: 56px; height: 56px; margin: 24px auto 14px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; font-weight: 800; line-height: 1;
    background: rgba(55, 81, 125, .10); color: var(--xui-primary, #37517D);
    border: 2px solid rgba(55, 81, 125, .18);
}
/* انواع مختلف فقط رنگ نماد را عوض می‌کنند؛ دکمه‌ها همیشه آبی قالب هستند */
.xui-dlg-danger  .xui-dlg-icon, .xui-dlg-error .xui-dlg-icon { background: rgba(239, 68, 68, .10); color: var(--xui-danger, #ef4444); border-color: rgba(239, 68, 68, .22); }
.xui-dlg-warning .xui-dlg-icon { background: rgba(245, 158, 11, .12); color: #d97706; border-color: rgba(245, 158, 11, .25); }
.xui-dlg-success .xui-dlg-icon { background: rgba(16, 185, 129, .10); color: var(--xui-success, #10b981); border-color: rgba(16, 185, 129, .22); }
.xui-dlg-danger, .xui-dlg-error { border-top-color: var(--xui-primary-dark, #2c4063); }

.xui-dlg-title   { margin-top: 0; margin-bottom: 8px; font-size: 16px; font-weight: 800; color: var(--xui-primary-dark, #2c4063); line-height: 1.6; }
.xui-dlg-message { margin-top: 0; margin-bottom: 0; font-size: 13px; line-height: 1.9; color: var(--xui-text-muted, #6b7280); white-space: pre-line; word-break: break-word; }

.xui-dlg-actions { display: flex; gap: 10px; margin-top: 22px; }
.xui-dlg-btn {
    flex: 1 1 0; min-height: 42px; padding: 9px 16px;
    border: 1px solid transparent; border-radius: 10px;
    font-size: 13px; font-weight: 700; cursor: pointer; line-height: 1.4;
    transition: background .15s ease, transform .15s ease, box-shadow .15s ease;
}
.xui-dlg-btn:focus-visible { outline: 3px solid rgba(55, 81, 125, .35); outline-offset: 2px; }
.xui-dlg-btn:active { transform: translateY(1px); }

.xui-dlg-btn-cancel { background: #fff; color: var(--xui-primary, #37517D); border-color: var(--xui-primary, #37517D); }
.xui-dlg-btn-cancel:hover { background: rgba(55, 81, 125, .08); }

.xui-dlg-btn-ok { background: var(--xui-primary, #37517D); color: #fff; box-shadow: 0 2px 6px rgba(55, 81, 125, .25); }
.xui-dlg-btn-ok:hover { background: var(--xui-primary-dark, #2c4063); box-shadow: 0 4px 10px rgba(55, 81, 125, .32); }

html.xui-dlg-open, html.xui-dlg-open body { overflow: hidden !important; }

@media (max-width: 420px) {
    .xui-dlg > * { margin-left: 18px; margin-right: 18px; }
    .xui-dlg-actions { flex-direction: column-reverse; }
}
@media (prefers-reduced-motion: reduce) {
    .xui-dlg-overlay, .xui-dlg { transition: none; }
}

/* برجسته‌شدن لحظه‌ای ردیفی که بدون رفرش به‌روز شده */
@keyframes xui-live-flash { 0% { background-color: rgba(16, 185, 129, .22); } 100% { background-color: transparent; } }
.xui-live-flash, .xui-live-flash > td { animation: xui-live-flash 1.4s ease-out; }
@media (prefers-reduced-motion: reduce) { .xui-live-flash, .xui-live-flash > td { animation: none; } }
