/* =============================================================================
 * app-dialog.css — نافذة التأكيد/التنبيه والرسائل المنبثقة، لكل البرنامج
 *
 * بلا اعتماد على Bootstrap JS ولا على أي مكتبة: صفحات الاختبار والموقع لا
 * تُحمّل ملف Bootstrap JS أصلاً، وأي نافذة مبنية عليه لن تعمل فيها.
 * ========================================================================== */

.appd-root {
    --appd-primary: #5E72E4;
    --appd-danger:  #F5365C;
    --appd-success: #2DCE89;
    --appd-warning: #FB6340;
    --appd-info:    #11CDEF;
    --appd-ink:     #32325D;
    --appd-muted:   #67748E;
}

/* ---------- الخلفية المعتمة ---------- */
.appd-backdrop {
    position: fixed;
    top: 0; right: 0; bottom: 0; left: 0;   /* بديل صريح للمتصفحات التي لا تعرف inset */
    inset: 0;
    z-index: 2050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: rgba(20, 22, 38, .55);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity .18s ease;
}
.appd-backdrop.is-open { opacity: 1; }

/* ---------- البطاقة ---------- */
.appd-card {
    width: 100%;
    max-width: 25rem;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0 24px 56px rgba(0, 0, 0, .3);
    padding: 1.75rem 1.5rem 1.25rem;
    text-align: center;
    transform: translateY(14px) scale(.97);
    transition: transform .2s cubic-bezier(.2, .8, .3, 1);
    font-family: inherit;
}
.appd-backdrop.is-open .appd-card { transform: none; }

/* ---------- الأيقونة ---------- */
.appd-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1;
}
.appd-icon svg { width: 30px; height: 30px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

.appd-type-confirm .appd-icon { background: linear-gradient(310deg, #825EE4, var(--appd-primary)); }
.appd-type-danger  .appd-icon { background: linear-gradient(310deg, #F56036, var(--appd-danger)); }
.appd-type-success .appd-icon { background: linear-gradient(310deg, #2DCECC, var(--appd-success)); }
.appd-type-warning .appd-icon { background: linear-gradient(310deg, #FBB140, var(--appd-warning)); }
.appd-type-info    .appd-icon { background: linear-gradient(310deg, #2152FF, var(--appd-info)); }

/* ---------- النص ---------- */
.appd-title {
    margin: 0 0 .4rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--appd-ink);
}
.appd-message {
    margin: 0;
    font-size: .9rem;
    line-height: 1.75;
    color: var(--appd-muted);
    /* رسائل التأكيد قد تحمل اسماً طويلاً بلا مسافات */
    overflow-wrap: anywhere;
}

/* ---------- الأزرار ---------- */
.appd-actions {
    margin-top: 1.5rem;
    display: flex;
    gap: .6rem;
}
.appd-btn {
    flex: 1 1 0;
    min-height: 2.6rem;
    padding: .55rem 1rem;
    border: 0;
    border-radius: .6rem;
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
    transition: filter .15s ease, box-shadow .15s ease;
    font-family: inherit;
}
.appd-btn:focus-visible { outline: 2px solid var(--appd-primary); outline-offset: 2px; }
.appd-btn:hover { filter: brightness(1.06); }

.appd-btn-cancel {
    background: #F1F3F9;
    color: var(--appd-muted);
}
.appd-btn-ok { color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .16); }
.appd-type-confirm .appd-btn-ok { background: linear-gradient(310deg, #825EE4, var(--appd-primary)); }
.appd-type-danger  .appd-btn-ok { background: linear-gradient(310deg, #F56036, var(--appd-danger)); }
.appd-type-success .appd-btn-ok { background: linear-gradient(310deg, #2DCECC, var(--appd-success)); }
.appd-type-warning .appd-btn-ok { background: linear-gradient(310deg, #FBB140, var(--appd-warning)); }
.appd-type-info    .appd-btn-ok { background: linear-gradient(310deg, #2152FF, var(--appd-info)); }

/* الشاشات الصغيرة: زر التأكيد أعلى وزر الإلغاء أسفله */
@media (max-width: 400px) {
    .appd-actions { flex-direction: column-reverse; }
}

/* ---------- الرسائل المنبثقة ---------- */
.appd-toasts {
    position: fixed;
    top: 1rem;
    left: 0; right: 0;
    inset-inline: 0;
    z-index: 2060;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .5rem;
    padding: 0 1rem;
    pointer-events: none;
}
.appd-toast {
    pointer-events: auto;
    width: 100%;
    max-width: 26rem;
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    padding: .75rem .9rem;
    border-radius: .7rem;
    background: #fff;
    color: var(--appd-ink);
    font-size: .85rem;
    line-height: 1.7;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
    /* منطقية فقط: إضافة border-left بجانبها تترك خطاً أزرق على الحافة
       المقابلة في الواجهة العربية لأن التلوين يجري على الحافة المنطقية */
    border-inline-start: 4px solid var(--appd-info);
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity .2s ease, transform .2s ease;
    overflow-wrap: anywhere;
}
.appd-toast.is-open { opacity: 1; transform: none; }
.appd-toast--success { border-inline-start-color: var(--appd-success); }
.appd-toast--danger  { border-inline-start-color: var(--appd-danger); }
.appd-toast--warning { border-inline-start-color: var(--appd-warning); }
.appd-toast--info    { border-inline-start-color: var(--appd-info); }

.appd-toast-dot {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: .15rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: var(--appd-info);
}
.appd-toast--success .appd-toast-dot { background: var(--appd-success); }
.appd-toast--danger  .appd-toast-dot { background: var(--appd-danger); }
.appd-toast--warning .appd-toast-dot { background: var(--appd-warning); }
.appd-toast-dot svg { width: 11px; height: 11px; stroke: currentColor; fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }

.appd-toast-body { flex: 1 1 auto; }
.appd-toast-close {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: var(--appd-muted);
    font-size: 1.1rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 .2rem;
}

/* لا تُطبع النوافذ ولا الرسائل على الورق */
@media print {
    .appd-backdrop, .appd-toasts { display: none !important; }
}
