/* _content/DoroPlatform.Web/Components/Account/Pages/Login.razor.rz.scp.css */
.login-page[b-k2vwmj8j41] {
    min-height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.login-card[b-k2vwmj8j41] {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(5, 39, 103, 0.15);
    padding: 2.5rem 2rem;
    width: 100%;
    max-width: 400px;
}

.login-brand[b-k2vwmj8j41] {
    text-align: center;
    margin-bottom: 1.75rem;
}

.login-logo[b-k2vwmj8j41] {
    width: 64px;
    height: 64px;
    border-radius: 14px;
    margin-bottom: 0.75rem;
}

.login-title[b-k2vwmj8j41] {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
    background: linear-gradient(135deg, #052767, #3a0647);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.login-subtitle[b-k2vwmj8j41] {
    color: #6c757d;
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
}

.login-submit[b-k2vwmj8j41] {
    margin-top: 0.5rem;
    background: linear-gradient(135deg, #052767, #3a0647);
    border: none;
}

    .login-submit:hover[b-k2vwmj8j41], .login-submit:focus[b-k2vwmj8j41] {
        background: linear-gradient(135deg, #041d52, #2e0538);
    }

.login-links[b-k2vwmj8j41] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
    font-size: 0.9rem;
}

    .login-links a[b-k2vwmj8j41] {
        color: #052767;
        text-decoration: none;
    }

        .login-links a:hover[b-k2vwmj8j41] {
            text-decoration: underline;
        }
/* _content/DoroPlatform.Web/Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-zfa2oafhdn] {
    position: relative;
    display: flex;
    flex-direction: row;
}

main[b-zfa2oafhdn] {
    flex: 1;
    min-width: 0;
}

/* صفحات ما قبل تسجيل الدخول (دخول/تسجيل/استعادة كلمة مرور...) — بلا شريط جانبي ولا شريط علوي إطلاقاً */
.auth-only-main[b-zfa2oafhdn] {
    display: flex;
    justify-content: center;
    padding-top: 3rem;
    background: linear-gradient(135deg, #f5f7fb 0%, #eef1f8 100%);
}

.sidebar[b-zfa2oafhdn] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
    height: 100vh;
    position: sticky;
    top: 0;
    flex-shrink: 0;
}

.top-row[b-zfa2oafhdn] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: space-between;
    gap: 1rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

/* بدون هذا التجميع، توزيع space-between على 3 عناصر مباشرة (البحث + الذكاء الاصطناعي + الإشعارات) كان
   يدفع أيقونة الذكاء الاصطناعي لمنتصف الشريط بعيداً عن جرس الإشعارات بدل أن تكون ملاصقة له. */
.top-row-icons[b-zfa2oafhdn] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-shrink: 0;
}

    .top-row[b-zfa2oafhdn]  a, .top-row[b-zfa2oafhdn]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-zfa2oafhdn]  a:hover, .top-row[b-zfa2oafhdn]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-zfa2oafhdn]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-zfa2oafhdn] {
        justify-content: space-between;
    }

    .top-row[b-zfa2oafhdn]  a, .top-row[b-zfa2oafhdn]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .top-row[b-zfa2oafhdn] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-zfa2oafhdn]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-zfa2oafhdn], article[b-zfa2oafhdn] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}

/* جوال: الشريط الجانبي يتحوّل لشريط تبويبات سفلي ثابت — هذه القواعد يجب أن تكون هنا بالذات (CSS المعزول
   بنفس ملف MainLayout) لا في app.css العام، لأن ".sidebar" هنا معزول (Scoped) ويُرسَم بمحدِّد أعلى تخصيصاً
   [b-xxxxx]؛ أي محاولة تجاوزه من ملف عام عادي تخسر التنافس رغم صحة الشرط الشرطي (@media) فتُطبَّق القاعدة
   الأصلية دائماً. عناصر التنقّل الداخلية (NavItem) تبقى مُنسَّقة من app.css كما هي (مكوّن ابن، لا يُصاغ من هنا). */
@media (max-width: 767.98px) {
    .page[b-zfa2oafhdn] {
        flex-direction: column;
    }

    .sidebar[b-zfa2oafhdn] {
        position: fixed;
        inset-inline: 0;
        bottom: 0;
        top: auto;
        height: 4.5rem;
        width: 100%;
        z-index: 1030;
        box-shadow: 0 -2px 12px rgba(0,0,0,0.25);
    }

    main[b-zfa2oafhdn] {
        padding-bottom: 4.5rem;
    }
}

#blazor-error-ui[b-zfa2oafhdn] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-zfa2oafhdn] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }
/* _content/DoroPlatform.Web/Components/Layout/NavGroup.razor.rz.scp.css */
.nav-group-toggle[b-e6d07ow01v] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.nav-group-row[b-e6d07ow01v] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline-end: 0.4rem;
}

    .nav-group-row .nav-link[b-e6d07ow01v] {
        flex: 1 1 auto;
        min-width: 0;
    }

.nav-group-chevron[b-e6d07ow01v] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
    cursor: pointer;
    opacity: 0.65;
    border-radius: 6px;
}

    .nav-group-chevron:hover[b-e6d07ow01v] {
        opacity: 1;
        background: rgba(255,255,255,0.08);
    }

    .nav-group-chevron svg[b-e6d07ow01v] {
        width: 15px;
        height: 15px;
        transition: transform 0.15s ease;
    }

.nav-submenu[b-e6d07ow01v] {
    display: none;
    flex-direction: column;
}

    .nav-submenu[b-e6d07ow01v]  .nav-item {
        padding-inline-start: 1.6rem;
    }

    .nav-submenu[b-e6d07ow01v]  .nav-link {
        font-size: 0.92rem;
    }

.nav-group-toggle:checked ~ .nav-submenu[b-e6d07ow01v] {
    display: flex;
}

.nav-group-toggle:checked ~ .nav-group-row .nav-group-chevron svg[b-e6d07ow01v] {
    transform: rotate(180deg);
}

/* وضع الطي الكامل للشريط (أيقونات فقط) وتابلت: لا معنى لسهم توسيع لا يظهر بجواره نص — نُخفيه ونُبقي
   المجموعة دائماً موسَّعة كي لا تختفي عناصرها الفرعية عن المستخدم بلا طريقة للوصول إليها. */
:global(.sidebar-inner:has(.nav-collapse-input:checked)) .nav-group-chevron[b-e6d07ow01v],
:global(.sidebar-inner:has(.nav-collapse-input:checked)) .nav-submenu[b-e6d07ow01v]  .nav-item {
    padding-inline-start: 0;
}

:global(.sidebar-inner:has(.nav-collapse-input:checked)) .nav-group-chevron[b-e6d07ow01v] {
    display: none;
}

:global(.sidebar-inner:has(.nav-collapse-input:checked)) .nav-submenu[b-e6d07ow01v] {
    display: flex;
}

/* جوال (شريط تبويبات سفلي أفقي): لا مساحة/فائدة لأكورديون رأسي هنا — كل عناصر المجموعة تظهر
   دائماً كأزرار مسطَّحة متتالية بلا سهم طي، بنفس ما كانت عليه قبل التجميع. */
@media (max-width: 767.98px) {
    .nav-group[b-e6d07ow01v] {
        display: contents;
    }

    .nav-group-chevron[b-e6d07ow01v] {
        display: none;
    }

    .nav-submenu[b-e6d07ow01v] {
        display: flex;
        flex-direction: row;
    }

        .nav-submenu[b-e6d07ow01v]  .nav-item {
            padding-inline-start: 0.5rem;
        }
}
/* _content/DoroPlatform.Web/Components/Layout/NavMenu.razor.rz.scp.css */
.nav-collapse-input[b-xhe6hxasxa] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.sidebar-inner[b-xhe6hxasxa] {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 230px;
    transition: width 0.2s ease;
    overflow: hidden;
    position: relative;

    /* متغيّرات مشتركة لألوان حالات عناصر القائمة (hover/active/focus) — تُستهلك هنا وفي app.css العام
       (النطاق الوحيد لـ.nav-item/.nav-link المتعلق بالشريط الجانبي، راجع تعليق app.css). التوريث عبر شجرة
       DOM غير متأثر بعزل CSS الخاص بـBlazor (العزل يقيّد أي محدِّدات تُطابق، لا توريث المتغيّرات)، فتصل هذه
       القيم لعناصر NavItem/NavGroup الفرعية رغم أنها مكوّنات مختلفة تمامًا — تحقّقتُ من هذا فعليًا بالمتصفح.
       نطاقها هنا (لا :root) عمدًا: قصرها على الشريط الجانبي فقط، فلا خطر تسرّبها لأي ".nav-item"/".nav-link"
       من Bootstrap بصفحات أخرى (نفس قيد التسرّب الموثَّق أعلى app.css). */
    --nav-hover-bg: rgba(255, 255, 255, 0.09);
    --nav-active-bg: rgba(255, 255, 255, 0.16);
    --nav-accent: #7dd3fc;
    --nav-sublevel-color: #9da3b0;
    --nav-toggle-btn-bg: rgba(255, 255, 255, 0.08);
    --nav-toggle-btn-hover-bg: rgba(255, 255, 255, 0.18);
}

.sidebar-inner:has(.nav-collapse-input:checked)[b-xhe6hxasxa] {
    width: 68px;
}

.sidebar-inner:has(.nav-collapse-input:checked) .navbar-brand span:not(.brand-dot)[b-xhe6hxasxa] {
    display: none;
}

.sidebar-inner:has(.nav-collapse-input:checked) .brand-row[b-xhe6hxasxa] {
    justify-content: center;
    padding: 0;
}

.sidebar-inner:has(.nav-collapse-input:checked) .navbar-brand[b-xhe6hxasxa] {
    flex: 0 0 auto;
}

.brand-row[b-xhe6hxasxa] {
    height: 3.5rem;
    min-height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.75rem;
    background-color: rgba(0,0,0,0.35);
}

.navbar-brand[b-xhe6hxasxa] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: white;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    overflow: hidden;
    white-space: nowrap;
    min-width: 0;
    flex: 1 1 auto;
}

.navbar-brand span:not(.brand-dot)[b-xhe6hxasxa] {
    overflow: hidden;
    text-overflow: ellipsis;
}

.brand-dot[b-xhe6hxasxa] {
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 50%;
    background: #7dd3fc;
    flex-shrink: 0;
}

.collapse-btn[b-xhe6hxasxa] {
    background: var(--nav-toggle-btn-bg);
    border: none;
    color: #d7d7d7;
    border-radius: 6px;
    width: 1.9rem;
    height: 1.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.collapse-btn:hover[b-xhe6hxasxa] {
    background: var(--nav-toggle-btn-hover-bg);
    color: white;
}

.collapse-btn svg[b-xhe6hxasxa] {
    width: 1.1rem;
    height: 1.1rem;
    transition: transform 0.2s ease;
}

.sidebar-inner:has(.nav-collapse-input:checked) .collapse-btn svg[b-xhe6hxasxa] {
    transform: rotate(180deg);
}

.nav-scrollable[b-xhe6hxasxa] {
    flex: 1;
    display: flex;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0.6rem 0;
}

/* القائمة الفرعية العادية (أسفل الرابط، عرض سطح المكتب الكامل) لم تعد تحتاج إلغاء overflow إطلاقًا —
   ارتفاعها الأقصى محسوب ديناميكيًا (NavMenu.razor <script>) ليبقى دومًا داخل الجزء المرئي من
   .nav-scrollable، فتُغلق overflow-y:auto دائمًا بلا استثناء (هذا تحديدًا ما أنهى إزاحة الـ15px).

   الاستثناء الوحيد المتبقي: الشريط المطوي يدويًا لأيقونات فقط، حيث القائمة الفرعية تطفو جانبياً
   (right:100%) خارج حدود الشريط كليًا — تلك تحديدًا تحتاج إلغاء القص، لذا الشرط هنا مقيَّد بحالة
   الطي معًا (:has مزدوج) لا بفتح المجموعة وحدها كما كان سابقًا. حالة التابلت (طي تلقائي) لها
   استثناء مطابق مقيَّد بنفس نطاق @media الخاص بها أدناه، لا هنا. */
.sidebar-inner:has(.nav-collapse-input:checked):has(.nav-group-toggle:checked)[b-xhe6hxasxa] {
    overflow: visible;
}

/* .nav-collapse-input طرف شقيق لـ.nav-scrollable (كلاهما أبناء .sidebar-inner مباشرة)، لا سلف/حفيد —
   فـ":has(.nav-collapse-input:checked)" لا يمكن أن يُطابق أبدًا لو أُلحق بـ.nav-scrollable مباشرة (خطأ
   بنيوي اكتشفته أثناء التنفيذ). الصيغة الصحيحة: شرط الطي عبر السلف المشترك .sidebar-inner، ثم :has
   منفصلة على .nav-scrollable نفسها لشرط فتح المجموعة (group-toggle فعلاً من نسل nav-scrollable). */
.sidebar-inner:has(.nav-collapse-input:checked) .nav-scrollable:has(.nav-group-toggle:checked)[b-xhe6hxasxa] {
    overflow: visible;
}

.nav-spacer[b-xhe6hxasxa] {
    flex: 1;
}

/* أنماط عناصر التنقّل نفسها (.nav-item, .nav-link, .nav-icon, .nav-label) عامة بالعمد
   في wwwroot/app.css — انظر التعليق هناك (سبب متعلق بعزل CSS الخاص بمكوّن NavItem الفرعي). */

/* تابلت: نفس معالجة الطي اليدوي (أيقونات فقط) لكن دائماً بهذا المدى — أُبقيت هنا (لا 767.98px) لأنها
   تخص عرض الشريط الجانبي وهو لا يزال شريطاً جانبياً بهذا العرض (المعالجة الكبرى للجوال أدناه). */
@media (min-width: 768px) and (max-width: 1024.98px) {
    .sidebar-inner[b-xhe6hxasxa] {
        width: 68px;
    }

    .sidebar-inner .nav-label[b-xhe6hxasxa],
    .sidebar-inner .navbar-brand span:not(.brand-dot)[b-xhe6hxasxa] {
        display: none;
    }

    .sidebar-inner .collapse-btn[b-xhe6hxasxa] {
        display: none;
    }

    /* استثناء overflow مطابق لحالة الطي اليدوي أعلاه، لكن مقيَّد بمدى التابلت لا بـ:has(.nav-collapse-input) —
       التابلت يفرض العرض الضيق تلقائيًا بعرض الشاشة فقط، بغضّ النظر عن حالة checkbox الطي. بلا هذا كانت
       القائمة الفرعية الجانبية هنا (app.css، نفس نمط right:100% خارج حدود الشريط) تُقص تمامًا وتصبح غير
       قابلة للنقر (اكتُشف فعليًا بالمتصفح: elementsFromPoint لم يجدها إطلاقًا رغم rect صحيح ظاهريًا —
       overflow-x:hidden يقصّها فعلاً، والمقارنة الهندسية وحدها [getBoundingClientRect] لا تكشف قصّاً كهذا). */
    .sidebar-inner:has(.nav-group-toggle:checked)[b-xhe6hxasxa] {
        overflow: visible;
    }

    .nav-scrollable:has(.nav-group-toggle:checked)[b-xhe6hxasxa] {
        overflow: visible;
    }
}

/* جوال: الشريط الجانبي يتحوّل لشريط تبويبات سفلي ثابت — القواعد الفعلية لموضع/ارتفاع ".sidebar" نفسه
   بملف MainLayout.razor.css (هو من يملكه)؛ هنا فقط ما يخص محتوى NavMenu الداخلي (هذا الملف يملكه). */
@media (max-width: 767.98px) {
    .sidebar-inner[b-xhe6hxasxa] {
        display: block;
        width: 100%;
        height: 4.5rem;
        overflow: hidden;
    }

    .brand-row[b-xhe6hxasxa] {
        display: none;
    }

    .nav-scrollable[b-xhe6hxasxa] {
        flex: none;
        /* !important ضروري هنا: العنصر يحمل صنف Bootstrap ".flex-column" الذي يضبط flex-direction بـ !important أيضاً */
        flex-direction: row !important;
        height: 4.5rem;
        overflow-x: auto;
        overflow-y: hidden;
        align-items: center;
        padding: 0.25rem 0.25rem calc(0.25rem + env(safe-area-inset-bottom, 0px));
    }
}
/* _content/DoroPlatform.Web/Components/Pages/Bookings.razor.rz.scp.css */
/* بطاقات حجوزات اليوم/القادمة — تصميم مستلهَم من مرفق مرجعي (شارة وقت + شريط تقدّم دفع + زر تعديل دائري)
   بدل الصندوق النصي البسيط السابق، مع الإبقاء على كل البيانات نفسها. */
.dp-booking-card[b-zsyludw1v7] {
    background: white;
    border: 1px solid #edf0f3;
    border-radius: 12px;
    padding: 0.75rem 0.9rem;
    margin-bottom: 0.65rem;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.dp-booking-card-top[b-zsyludw1v7] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.4rem;
}

.dp-booking-time-badge[b-zsyludw1v7] {
    background: linear-gradient(135deg, #0d6efd, #6ea8fe);
    color: white;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.25rem 0.6rem;
    border-radius: 999px;
}

.dp-booking-edit-btn[b-zsyludw1v7] {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid #dee2e6;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

    .dp-booking-edit-btn:hover[b-zsyludw1v7] {
        background: #f1f3f5;
    }

.dp-booking-client[b-zsyludw1v7] {
    font-size: 0.92rem;
    margin-bottom: 0.25rem;
}

.dp-booking-status[b-zsyludw1v7] {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    margin-inline-start: 0.4rem;
}

.dp-status-Temporary[b-zsyludw1v7] { background: #fff3cd; color: #7a5c00; }
.dp-status-Confirmed[b-zsyludw1v7] { background: #d1e7dd; color: #0a5c36; }
.dp-status-Postponed[b-zsyludw1v7] { background: #e2e3e5; color: #41464b; }
.dp-status-Done[b-zsyludw1v7] { background: #cfe2ff; color: #084298; }
.dp-status-Cancelled[b-zsyludw1v7] { background: #f8d7da; color: #842029; }

.dp-booking-meta[b-zsyludw1v7] {
    display: flex;
    gap: 0.9rem;
    flex-wrap: wrap;
    font-size: 0.78rem;
    color: #6c757d;
    margin-bottom: 0.5rem;
}

.dp-booking-payment-bar[b-zsyludw1v7] {
    height: 6px;
    border-radius: 999px;
    background: #eef0f2;
    overflow: hidden;
    margin-bottom: 0.25rem;
}

.dp-booking-payment-fill[b-zsyludw1v7] {
    height: 100%;
    background: linear-gradient(90deg, #20c997, #0d6efd);
    border-radius: 999px;
    transition: width 0.4s ease;
}

.dp-booking-payment-text[b-zsyludw1v7] {
    font-size: 0.72rem;
    color: #6c757d;
    text-align: left;
}
/* _content/DoroPlatform.Web/Components/Pages/Home.razor.rz.scp.css */
/* كل بطاقات الإحصائيات (أرصدة الخزينة + بطاقات التشغيل) بصف أفقي واحد دائماً بنفس الحجم — تتقلّص معاً
   بدل الانتقال لصف جديد؛ تمرير أفقي كحل احتياطي فقط بشاشات ضيقة جداً (جوال) بدل كسر التخطيط. */
.dp-stat-row[b-e0e4aefkuw] {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem;
    overflow-x: auto;
    padding-bottom: 2px;
}

.dp-stat-row .dp-stat-card[b-e0e4aefkuw] {
    flex: 1 1 0;
    min-width: 118px;
}

.dp-stat-card[b-e0e4aefkuw] {
    background: white;
    border: 1px solid #edf0f3;
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    height: 100%;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.dp-stat-card-primary[b-e0e4aefkuw] {
    border-color: #a9c6ff;
    background: #dbe6ff;
}

.dp-stat-icon[b-e0e4aefkuw] {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    margin: 0 auto 0.5rem auto;
}

/* أيقونة بسيطة صغيرة داخل البطاقة نفسها بدل عنوان نصي كامل (الأعمال السريعة/أفضل العملاء) — لا تؤثر
   على حجم أو تباعد عناصر القائمة أسفلها، فقط شريط صغير أعلى البطاقة. */
.dp-section-icon-inline[b-e0e4aefkuw] {
    width: 26px;
    height: 26px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    background: #f1f3f5;
    margin: 0.6rem 0.6rem 0.3rem auto;
}

.dp-panel[b-e0e4aefkuw] {
    background: white;
    border: 1px solid #edf0f3;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    overflow: hidden;
}

/* بطاقة "الأعمال السريعة" مصغَّرة عمداً (عمود أضيق + عناصر أدمج) لإفساح المجال لبطاقة الرسوم البيانية */
.dp-panel-compact .list-group-item[b-e0e4aefkuw] {
    padding: 0.5rem 0.75rem;
    font-size: 0.82rem;
}

.dp-panel-compact .list-group-item .small[b-e0e4aefkuw] {
    font-size: 0.7rem;
}

.dp-chart-panel[b-e0e4aefkuw] {
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

/* أعمدة الرسم البياني — تدرّج لوني وحواف مدوَّرة وانتقال متحرّك سلس عند تغيّر الارتفاع (تبديل المؤشر/الفترة)
   لإعطاء إحساساً أكثر حيوية بدل الأعمدة المسطَّحة الثابتة. */
.dp-bar-row[b-e0e4aefkuw] {
    align-items: flex-end;
}

.dp-bar[b-e0e4aefkuw] {
    background: linear-gradient(180deg, #6ea8fe 0%, #0d6efd 100%);
    border-radius: 8px 8px 3px 3px;
    transition: height 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.dp-bar-negative[b-e0e4aefkuw] {
    background: linear-gradient(180deg, #f398a0 0%, #dc3545 100%);
}

.dp-line-chart[b-e0e4aefkuw] {
    width: 100%;
    height: 280px;
}
/* _content/DoroPlatform.Web/Components/Shared/GlobalSearch.razor.rz.scp.css */
.gsearch-wrapper[b-ida2lywf06] {
    position: relative;
    flex: 1 1 auto;
    max-width: 380px;
}

.gsearch-input-group[b-ida2lywf06] {
    position: relative;
    display: flex;
    align-items: center;
}

.gsearch-icon[b-ida2lywf06] {
    position: absolute;
    inset-inline-start: 0.6rem;
    color: #adb5bd;
    pointer-events: none;
}

.gsearch-input[b-ida2lywf06] {
    width: 100%;
    padding: 0.4rem 2rem 0.4rem 2rem;
    border-radius: 999px;
    border: 1px solid #dee2e6;
    background: #f8f9fa;
    font-size: 0.85rem;
}

    .gsearch-input:focus[b-ida2lywf06] {
        outline: none;
        border-color: #86b7fe;
        background: white;
    }

.gsearch-spinner[b-ida2lywf06] {
    position: absolute;
    inset-inline-end: 0.6rem;
    width: 14px;
    height: 14px;
    border: 2px solid #dee2e6;
    border-top-color: #495057;
    border-radius: 50%;
    animation: gsearch-spin-b-ida2lywf06 0.7s linear infinite;
}

@keyframes gsearch-spin-b-ida2lywf06 {
    to { transform: rotate(360deg); }
}

.gsearch-backdrop[b-ida2lywf06] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.gsearch-dropdown[b-ida2lywf06] {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-start: 0;
    width: 100%;
    min-width: 320px;
    max-width: 90vw;
    background: white;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    z-index: 1050;
    max-height: 420px;
    overflow-y: auto;
}

.gsearch-group-title[b-ida2lywf06] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #6c757d;
    padding: 0.5rem 0.9rem 0.2rem;
    background: #f8f9fa;
}

.gsearch-item[b-ida2lywf06] {
    padding: 0.5rem 0.9rem;
    border-bottom: 1px solid #f2f2f2;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

    .gsearch-item:hover[b-ida2lywf06] {
        background: #eef5ff;
    }

@media (max-width: 767.98px) {
    .gsearch-wrapper[b-ida2lywf06] {
        max-width: none;
    }
}
/* _content/DoroPlatform.Web/Components/Shared/Modal.razor.rz.scp.css */
.dp-modal-backdrop[b-aczfaryqwd] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
    padding: 2rem 1rem;
}

.dp-modal-dialog[b-aczfaryqwd] {
    background: white;
    border-radius: 8px;
    width: 100%;
    max-width: 800px;
    max-height: calc(100vh - 4rem);
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
}

.dp-modal-header[b-aczfaryqwd] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e6ecf2;
}

.dp-modal-body[b-aczfaryqwd] {
    padding: 1.25rem;
    overflow-y: auto;
}

/* نافذة حرة التحجيم (Resizable="true") — JS يحوّلها لموضع/حجم ثابتين (position:fixed) عند أول ظهور
   بدل الاعتماد على توسيط flex بالحاوية، حتى تصبح قابلة للسحب من زواياها الأربع كنافذة سطح مكتب. */
.dp-modal-resizable[b-aczfaryqwd] {
    max-width: none;
    min-width: 400px;
    min-height: 300px;
}

.dp-resize-handle[b-aczfaryqwd] {
    position: absolute;
    width: 16px;
    height: 16px;
    z-index: 20;
}

.dp-resize-nw[b-aczfaryqwd] { top: -6px; left: -6px; cursor: nwse-resize; }
.dp-resize-ne[b-aczfaryqwd] { top: -6px; right: -6px; cursor: nesw-resize; }
.dp-resize-sw[b-aczfaryqwd] { bottom: -6px; left: -6px; cursor: nesw-resize; }
.dp-resize-se[b-aczfaryqwd] { bottom: -6px; right: -6px; cursor: nwse-resize; }
/* _content/DoroPlatform.Web/Components/Shared/NotificationBell.razor.rz.scp.css */
/* .notif-bell-wrapper و.notif-bell-btn انتقلا لـ wwwroot/app.css العام — يشتركهما هذا المكوّن
   و AiAssistantWidget معاً، وأنماط .razor.css المعزولة هنا لا تصل لمكوّن آخر يستخدم نفس اسم الصنف. */

.notif-badge[b-iq32ur8v06] {
    position: absolute;
    top: 0;
    inset-inline-end: 0;
    background: #dc3545;
    color: white;
    border-radius: 999px;
    font-size: 0.65rem;
    line-height: 1;
    padding: 2px 5px;
    min-width: 16px;
    text-align: center;
}

.notif-backdrop[b-iq32ur8v06] {
    position: fixed;
    inset: 0;
    z-index: 1040;
}

.notif-dropdown[b-iq32ur8v06] {
    position: absolute;
    top: calc(100% + 8px);
    inset-inline-end: 0;
    width: 320px;
    max-width: 90vw;
    background: white;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2);
    z-index: 1050;
    overflow: hidden;
}

.notif-dropdown-header[b-iq32ur8v06] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid #eee;
}

.notif-list[b-iq32ur8v06] {
    max-height: 360px;
    overflow-y: auto;
}

.notif-item[b-iq32ur8v06] {
    padding: 0.6rem 0.9rem;
    border-bottom: 1px solid #f2f2f2;
    cursor: pointer;
}

    .notif-item:hover[b-iq32ur8v06] {
        background: #f8f9fa;
    }

    .notif-item.unread[b-iq32ur8v06] {
        background: #eef5ff;
    }
/* _content/DoroPlatform.Web/Components/Shared/RichTextEditor.razor.rz.scp.css */
.dp-color-swatch[b-0li7szwns5] {
    width: 20px;
    height: 20px;
    padding: 0;
    border: 1px solid #ccc;
    border-radius: 3px;
    cursor: pointer;
}

.dp-color-swatch:hover[b-0li7szwns5] {
    border-color: #888;
}
