﻿/* =========================================================
   Ziggurat Admin Panel
   پایه هویت بصری پنل مدیریت
   ========================================================= */

:root {
    --ziggurat-admin-navy: #03101a;
    --ziggurat-admin-navy-soft: #071b2a;
    --ziggurat-admin-primary: #27c2c9;
    --ziggurat-admin-primary-dark: #159ba4;
    --ziggurat-admin-bg: #f7f8f9;
    --ziggurat-admin-surface: #ffffff;
    --ziggurat-admin-text: #172833;
    --ziggurat-admin-muted: #75838d;
    --ziggurat-admin-border: rgba(3, 14, 24, 0.08);
    --ziggurat-admin-radius: 12px;
    --ziggurat-admin-radius-lg: 16px;
    --ziggurat-admin-shadow: 0 8px 24px rgba(3, 14, 24, 0.07);
    --ziggurat-admin-sidebar-width: 260px;
}


/* =========================================================
   ساختار عمومی
   ========================================================= */

html,
body {
    min-height: 100%;
}


    body.ziggurat-admin-body {
        margin: 0;
        color: var(--ziggurat-admin-text);
        background: var(--ziggurat-admin-bg);
    }


.ziggurat-admin-shell {
    min-height: 100vh;
}


/* =========================================================
   Sidebar
   در دسکتاپ در سمت راست فیزیکی صفحه قرار می‌گیرد
   ========================================================= */

.ziggurat-admin-sidebar {
    width: var(--ziggurat-admin-sidebar-width);
    min-height: 100vh;
    flex: 0 0 var(--ziggurat-admin-sidebar-width);
    background: radial-gradient( circle at 20% 10%, rgba(39, 194, 201, 0.10), transparent 25% ), linear-gradient( 180deg, var(--ziggurat-admin-navy) 0%, var(--ziggurat-admin-navy-soft) 100% );
    border-left: 1px solid rgba(255, 255, 255, 0.07);
}


/* =========================================================
   برند پنل
   ========================================================= */

.ziggurat-admin-brand {
    min-height: 76px;
    display: flex;
    align-items: center;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}


.ziggurat-admin-brand-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    color: #ffffff;
    background: rgba(39, 194, 201, 0.13);
    border: 1px solid rgba(39, 194, 201, 0.25);
    border-radius: 11px;
}


    .ziggurat-admin-brand-icon i {
        color: var(--ziggurat-admin-primary);
    }


.ziggurat-admin-brand-title {
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: 700;
}


.ziggurat-admin-brand-subtitle {
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.65rem;
}


/* =========================================================
   Navigation
   ========================================================= */

.ziggurat-admin-nav {
    padding: 1rem 0.75rem;
}


.ziggurat-admin-nav-title {
    display: block;
    margin: 1rem 0.75rem 0.45rem;
    color: rgba(255, 255, 255, 0.36);
    font-size: 0.62rem;
    font-weight: 600;
}


.ziggurat-admin-nav-link {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
    padding: 0.65rem 0.8rem;
    color: rgba(255, 255, 255, 0.72);
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}


    .ziggurat-admin-nav-link i {
        width: 18px;
        color: rgba(255, 255, 255, 0.42);
        text-align: center;
        transition: color 0.2s ease;
    }


    .ziggurat-admin-nav-link:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.055);
    }


        .ziggurat-admin-nav-link:hover i {
            color: var(--ziggurat-admin-primary);
        }


    .ziggurat-admin-nav-link.active {
        color: #ffffff;
        background: rgba(39, 194, 201, 0.12);
        border: 1px solid rgba(39, 194, 201, 0.16);
    }


        .ziggurat-admin-nav-link.active i {
            color: var(--ziggurat-admin-primary);
        }


/* =========================================================
   محدوده اصلی پنل
   ========================================================= */

.ziggurat-admin-main {
    min-width: 0;
    flex: 1 1 auto;
}


/* =========================================================
   Header
   ========================================================= */

.ziggurat-admin-header {
    min-height: 76px;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--ziggurat-admin-border);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}


.ziggurat-admin-page-title {
    margin: 0;
    color: var(--ziggurat-admin-text);
    font-size: 1rem;
    font-weight: 700;
}


.ziggurat-admin-user {
    color: var(--ziggurat-admin-muted);
    font-size: 0.72rem;
}


/* =========================================================
   محتوای صفحه
   ========================================================= */

.ziggurat-admin-content {
    padding: 1.5rem;
}


/* =========================================================
   کارت مشترک پنل
   ========================================================= */

.ziggurat-admin-card {
    background: var(--ziggurat-admin-surface);
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: var(--ziggurat-admin-radius-lg);
    box-shadow: var(--ziggurat-admin-shadow);
}


/* =========================================================
   Hint
   برای کمک به مدیر سایت در قسمت‌های نیازمند توضیح
   ========================================================= */

.ziggurat-admin-hint {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.75rem 0.85rem;
    color: #65727c;
    background: rgba(39, 194, 201, 0.055);
    border: 1px solid rgba(39, 194, 201, 0.13);
    border-radius: 9px;
    font-size: 0.7rem;
    line-height: 1.9;
}


    .ziggurat-admin-hint i {
        margin-top: 0.3rem;
        color: var(--ziggurat-admin-primary-dark);
    }


/* =========================================================
   دکمه اصلی پنل
   ========================================================= */

.ziggurat-admin-primary-btn {
    color: #ffffff;
    background: linear-gradient( 135deg, var(--ziggurat-admin-primary), var(--ziggurat-admin-primary-dark) );
    border: 0;
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 600;
}


    .ziggurat-admin-primary-btn:hover,
    .ziggurat-admin-primary-btn:focus {
        color: #ffffff;
        background: var(--ziggurat-admin-primary-dark);
        box-shadow: none;
    }


/* =========================================================
   پایین Sidebar
   ========================================================= */

.ziggurat-admin-sidebar-footer {
    padding: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}


.ziggurat-admin-logout-btn {
    width: 100%;
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.65rem 0.8rem;
    color: rgba(255, 255, 255, 0.68);
    background: transparent;
    border: 0;
    border-radius: 9px;
    font-size: 0.78rem;
    font-weight: 500;
    text-align: right;
    transition: color 0.2s ease, background-color 0.2s ease;
}


    .ziggurat-admin-logout-btn i {
        width: 18px;
        color: rgba(255, 255, 255, 0.40);
        text-align: center;
    }


    .ziggurat-admin-logout-btn:hover {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.055);
    }


        .ziggurat-admin-logout-btn:hover i {
            color: var(--ziggurat-admin-primary);
        }


/* =========================================================
   کاربر واردشده
   ========================================================= */

.ziggurat-admin-user-icon {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-primary-dark);
    background: rgba(39, 194, 201, 0.08);
    border: 1px solid rgba(39, 194, 201, 0.14);
    border-radius: 10px;
}


.ziggurat-admin-username {
    color: var(--ziggurat-admin-text);
    font-size: 0.72rem;
    font-weight: 600;
}


/* =========================================================
   دکمه Menu موبایل
   ========================================================= */

.ziggurat-admin-menu-btn {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--ziggurat-admin-primary-dark);
    background: rgba(39, 194, 201, 0.07);
    border: 1px solid rgba(39, 194, 201, 0.14);
    border-radius: 9px;
}


    .ziggurat-admin-menu-btn:hover,
    .ziggurat-admin-menu-btn:focus {
        color: var(--ziggurat-admin-primary-dark);
        background: rgba(39, 194, 201, 0.12);
        box-shadow: none;
    }


/* =========================================================
   Desktop
   Sidebar در سمت راست فیزیکی صفحه ثابت می‌ماند.
   ========================================================= */

@media (min-width: 992px) {

    .ziggurat-admin-sidebar {
        position: sticky;
        top: 0;
        height: 100vh;
        overflow-y: auto;
        overflow-x: hidden;
    }
}


/* =========================================================
   Mobile / Tablet
   همان Sidebar به Offcanvas تبدیل می‌شود.
   ========================================================= */

@media (max-width: 991.98px) {

    .ziggurat-admin-sidebar {
        --bs-offcanvas-width: min(86vw, 280px);
        min-height: 100dvh;
        color: #ffffff;
        background: radial-gradient( circle at 20% 10%, rgba(39, 194, 201, 0.10), transparent 25% ), linear-gradient( 180deg, var(--ziggurat-admin-navy) 0%, var(--ziggurat-admin-navy-soft) 100% );
    }


    .ziggurat-admin-brand {
        min-height: 68px;
    }
}

/* =========================================================
   FIX - Sidebar دسکتاپ
   Bootstrap برای offcanvas-lg در Desktop بعضی Styleها را
   Override می‌کند؛ این بخش Sidebar اصلی پنل را تثبیت می‌کند.
   ========================================================= */

@media (min-width: 992px) {

    .ziggurat-admin-sidebar.offcanvas-lg {
        position: sticky !important;
        top: 0 !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        width: var(--ziggurat-admin-sidebar-width) !important;
        min-width: var(--ziggurat-admin-sidebar-width) !important;
        max-width: var(--ziggurat-admin-sidebar-width) !important;
        flex: 0 0 var(--ziggurat-admin-sidebar-width) !important;
        height: 100vh !important;
        min-height: 100vh !important;
        visibility: visible !important;
        transform: none !important;
        overflow-y: auto;
        overflow-x: hidden;
        background: radial-gradient( circle at 20% 10%, rgba(39, 194, 201, 0.10), transparent 25% ), linear-gradient( 180deg, var(--ziggurat-admin-navy) 0%, var(--ziggurat-admin-navy-soft) 100% ) !important;
        border-left: 1px solid rgba(255, 255, 255, 0.07) !important;
    }
}

/* =========================================================
   Login Page
   صفحه ورود پنل مدیریت با هویت بصری سایت زیگورات
   ========================================================= */

.ziggurat-admin-login-body {
    min-height: 100vh;
    margin: 0;
    background: radial-gradient( circle at 15% 20%, rgba(39, 194, 201, 0.15), transparent 25% ), radial-gradient( circle at 85% 80%, rgba(39, 194, 201, 0.07), transparent 28% ), linear-gradient( 145deg, #03101a 0%, #061b29 55%, #082433 100% );
}


/* صفحه اصلی Login */
.ziggurat-admin-login-page {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 2rem 0;
    overflow: hidden;
}


    /* Pattern صنعتی بسیار ظریف */
    .ziggurat-admin-login-page::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient( rgba(255, 255, 255, 0.025) 1px, transparent 1px ), linear-gradient( 90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px );
        background-size: 42px 42px;
        pointer-events: none;
    }


    /* محتوا بالاتر از Pattern قرار می‌گیرد */
    .ziggurat-admin-login-page > .container {
        position: relative;
        z-index: 2;
    }


/* =========================================================
   کارت Login
   ========================================================= */

.ziggurat-admin-login-card {
    padding: 2rem;
    background: linear-gradient( 145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.045) );
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 22px;
    box-shadow: 0 28px 65px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.09);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
}


/* =========================================================
   برند
   ========================================================= */

.ziggurat-admin-login-brand {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    margin-bottom: 2rem;
}


.ziggurat-admin-login-brand-icon {
    width: 52px;
    height: 52px;
    flex: 0 0 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #31d1d9;
    background: rgba(39, 194, 201, 0.12);
    border: 1px solid rgba(39, 194, 201, 0.28);
    border-radius: 14px;
    font-size: 1.25rem;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 22px rgba(0, 0, 0, 0.12);
}


.ziggurat-admin-login-brand h1 {
    margin: 0 0 0.15rem;
    color: #ffffff;
    font-size: 1rem;
    font-weight: 700;
}


.ziggurat-admin-login-brand span {
    color: rgba(255, 255, 255, 0.48);
    font-size: 0.67rem;
}


/* =========================================================
   Heading
   ========================================================= */

.ziggurat-admin-login-heading {
    margin-bottom: 1.6rem;
}


    .ziggurat-admin-login-heading h2 {
        margin-bottom: 0.55rem;
        color: #ffffff;
        font-size: 1.35rem;
        font-weight: 700;
    }


    .ziggurat-admin-login-heading p {
        margin: 0;
        color: rgba(255, 255, 255, 0.58);
        font-size: 0.73rem;
        line-height: 2;
    }


/* =========================================================
   Label
   ========================================================= */

.ziggurat-admin-login-label {
    display: block;
    margin-bottom: 0.45rem;
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.72rem;
    font-weight: 500;
}


/* =========================================================
   Input
   ========================================================= */

.ziggurat-admin-login-input-wrapper {
    position: relative;
}


.ziggurat-admin-login-input-icon {
    position: absolute;
    top: 50%;
    right: 0.9rem;
    z-index: 2;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.42);
    font-size: 0.8rem;
    pointer-events: none;
}


.ziggurat-admin-login-input {
    min-height: 48px;
    padding-right: 2.6rem;
    color: #ffffff;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 10px;
    font-size: 0.78rem;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}


    .ziggurat-admin-login-input:hover {
        border-color: rgba(39, 194, 201, 0.32);
    }


    .ziggurat-admin-login-input:focus {
        color: #ffffff;
        background: rgba(255, 255, 255, 0.075);
        border-color: rgba(39, 194, 201, 0.65);
        box-shadow: 0 0 0 3px rgba(39, 194, 201, 0.09);
    }


    .ziggurat-admin-login-input::placeholder {
        color: rgba(255, 255, 255, 0.30);
    }


    /* Autofill مرورگر */
    .ziggurat-admin-login-input:-webkit-autofill,
    .ziggurat-admin-login-input:-webkit-autofill:hover,
    .ziggurat-admin-login-input:-webkit-autofill:focus {
        -webkit-text-fill-color: #ffffff;
        box-shadow: 0 0 0 1000px #0a2635 inset;
        transition: background-color 5000s ease-in-out 0s;
    }


/* =========================================================
   Remember Me
   ========================================================= */

.ziggurat-admin-login-checkbox {
    cursor: pointer;
    background-color: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.20);
}


    .ziggurat-admin-login-checkbox:checked {
        background-color: var(--ziggurat-admin-primary-dark);
        border-color: var(--ziggurat-admin-primary-dark);
    }


    .ziggurat-admin-login-checkbox:focus {
        border-color: var(--ziggurat-admin-primary);
        box-shadow: 0 0 0 0.2rem rgba(39, 194, 201, 0.10);
    }


.ziggurat-admin-login-remember {
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.7rem;
    cursor: pointer;
}


/* =========================================================
   Submit
   ========================================================= */

.ziggurat-admin-login-submit {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    color: #ffffff;
    background: linear-gradient( 135deg, #27c2c9 0%, #159ba4 100% );
    border: 1px solid rgba(39, 194, 201, 0.50);
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(21, 155, 164, 0.22);
    transition: transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}


    .ziggurat-admin-login-submit:hover,
    .ziggurat-admin-login-submit:focus {
        color: #ffffff;
        background: linear-gradient( 135deg, #2bd0d8 0%, #159ba4 100% );
        transform: translateY(-2px);
        box-shadow: 0 16px 32px rgba(21, 155, 164, 0.28);
    }


/* =========================================================
   Validation
   ========================================================= */

.ziggurat-admin-login-validation {
    margin-bottom: 1rem;
    padding: 0.7rem 0.8rem;
    color: #ffd6d6;
    background: rgba(220, 53, 69, 0.10);
    border: 1px solid rgba(220, 53, 69, 0.22);
    border-radius: 9px;
    font-size: 0.68rem;
}


    .ziggurat-admin-login-validation:empty {
        display: none;
    }


    .ziggurat-admin-login-validation ul {
        margin: 0;
        padding-right: 1rem;
    }


.ziggurat-admin-login-field-validation {
    display: block;
    margin-top: 0.35rem;
    color: #ffb9b9;
    font-size: 0.63rem;
}


/* =========================================================
   Hint پایین فرم
   ========================================================= */

.ziggurat-admin-login-hint {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    margin-top: 1.4rem;
    padding-top: 1rem;
    color: rgba(255, 255, 255, 0.40);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.62rem;
    line-height: 1.8;
}


    .ziggurat-admin-login-hint i {
        margin-top: 0.25rem;
        color: var(--ziggurat-admin-primary);
    }


/* =========================================================
   Mobile
   ========================================================= */

@media (max-width: 575.98px) {

    .ziggurat-admin-login-page {
        padding: 1rem 0;
    }


    .ziggurat-admin-login-card {
        padding: 1.4rem;
        border-radius: 18px;
    }


    .ziggurat-admin-login-brand {
        margin-bottom: 1.5rem;
    }


    .ziggurat-admin-login-brand-icon {
        width: 46px;
        height: 46px;
        flex-basis: 46px;
    }


    .ziggurat-admin-login-heading h2 {
        font-size: 1.15rem;
    }


    .ziggurat-admin-login-heading p {
        font-size: 0.68rem;
    }
}

/* =========================================================
   FIX FINAL - Admin Sidebar در موبایل
   Sidebar از سمت راست فیزیکی صفحه باز و بسته می‌شود.
   ========================================================= */

@media (max-width: 991.98px) {

    .ziggurat-admin-shell {
        display: block !important;
        width: 100%;
        min-width: 0;
    }

    .ziggurat-admin-main {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
    }

    .ziggurat-admin-header,
    .ziggurat-admin-content {
        width: 100%;
        max-width: 100%;
    }


    /* Sidebar بسته */
    .ziggurat-admin-sidebar.offcanvas-lg {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        left: auto !important;
        z-index: 1045 !important;
        width: min(86vw, 280px) !important;
        min-width: min(86vw, 280px) !important;
        max-width: 280px !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        flex: none !important;
        display: flex !important;
        visibility: hidden;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease-in-out, visibility 0.3s ease-in-out;
        overflow-y: auto;
        overflow-x: hidden;
        background: radial-gradient( circle at 20% 10%, rgba(39, 194, 201, 0.10), transparent 25% ), linear-gradient( 180deg, var(--ziggurat-admin-navy) 0%, var(--ziggurat-admin-navy-soft) 100% ) !important;
        border-left: 1px solid rgba(255, 255, 255, 0.07) !important;
    }


        /* هنگام شروع باز شدن */
        .ziggurat-admin-sidebar.offcanvas-lg.showing {
            visibility: visible !important;
            transform: translateX(0) !important;
        }


        /* Sidebar باز */
        .ziggurat-admin-sidebar.offcanvas-lg.show {
            visibility: visible !important;
            transform: translateX(0) !important;
        }


        /* هنگام بسته شدن */
        .ziggurat-admin-sidebar.offcanvas-lg.hiding {
            visibility: visible !important;
            transform: translateX(100%) !important;
        }


    .ziggurat-admin-header {
        min-height: 64px;
    }

    .ziggurat-admin-content {
        padding: 1rem;
    }

    .ziggurat-admin-page-title {
        font-size: 0.9rem;
    }

    .ziggurat-admin-card {
        width: 100%;
        max-width: 100%;
    }
}

/* =========================================================
   Sidebar Scrollbar
   Scrollbar در لبه سمت راست فیزیکی Sidebar قرار می‌گیرد.
   محتوای داخلی همچنان RTL باقی می‌ماند.
   ========================================================= */

.ziggurat-admin-sidebar {
    direction: ltr;
    scrollbar-width: thin;
    scrollbar-color: rgba(39, 194, 201, 0.28) transparent;
}


.ziggurat-admin-sidebar-inner {
    direction: rtl;
}


/* Chrome / Edge */
.ziggurat-admin-sidebar::-webkit-scrollbar {
    width: 4px;
}


.ziggurat-admin-sidebar::-webkit-scrollbar-track {
    background: transparent;
}


.ziggurat-admin-sidebar::-webkit-scrollbar-thumb {
    background: rgba(39, 194, 201, 0.24);
    border-radius: 999px;
}


    .ziggurat-admin-sidebar::-webkit-scrollbar-thumb:hover {
        background: rgba(39, 194, 201, 0.42);
    }

/* =========================================================
   Sidebar Brand
   آیکون و عنوان به‌صورت یک واحد منظم نمایش داده می‌شوند.
   ========================================================= */

.ziggurat-admin-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}


.ziggurat-admin-brand-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}


.ziggurat-admin-brand-text {
    min-width: 0;
}


.ziggurat-admin-brand-title,
.ziggurat-admin-brand-subtitle {
    white-space: nowrap;
}

/* =========================================================
   Dashboard
   ========================================================= */

.ziggurat-dashboard-stat-card {
    height: 100%;
    min-height: 118px;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.15rem;
    background: #ffffff;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: var(--ziggurat-admin-radius-lg);
    box-shadow: var(--ziggurat-admin-shadow);
}


.ziggurat-dashboard-stat-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-primary-dark);
    background: rgba(39, 194, 201, 0.08);
    border: 1px solid rgba(39, 194, 201, 0.14);
    border-radius: 13px;
    font-size: 1.05rem;
}


.ziggurat-dashboard-stat-card strong {
    display: block;
    margin-bottom: 0.2rem;
    color: var(--ziggurat-admin-text);
    font-size: 1.35rem;
    font-weight: 700;
}


.ziggurat-dashboard-stat-card span {
    color: var(--ziggurat-admin-muted);
    font-size: 0.72rem;
}


/* =========================================================
   Header کارت‌های Dashboard
   ========================================================= */

.ziggurat-dashboard-section-header {
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--ziggurat-admin-border);
}


    .ziggurat-dashboard-section-header h2 {
        margin: 0 0 0.25rem;
        color: var(--ziggurat-admin-text);
        font-size: 0.88rem;
        font-weight: 700;
    }


    .ziggurat-dashboard-section-header p {
        margin: 0;
        color: var(--ziggurat-admin-muted);
        font-size: 0.65rem;
    }


    .ziggurat-dashboard-section-header > i {
        color: var(--ziggurat-admin-primary-dark);
        font-size: 1rem;
    }


/* =========================================================
   نامه‌ها
   ========================================================= */

.ziggurat-dashboard-message-list {
    padding: 0.4rem 1.25rem;
}


.ziggurat-dashboard-message {
    min-height: 76px;
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid var(--ziggurat-admin-border);
}


    .ziggurat-dashboard-message:last-child {
        border-bottom: 0;
    }


.ziggurat-dashboard-message-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-primary-dark);
    background: rgba(39, 194, 201, 0.07);
    border-radius: 10px;
}


.ziggurat-dashboard-message strong {
    color: var(--ziggurat-admin-text);
    font-size: 0.72rem;
}


.ziggurat-dashboard-message p {
    margin: 0.25rem 0 0;
    color: var(--ziggurat-admin-muted);
    font-size: 0.65rem;
}


.ziggurat-dashboard-message-date {
    color: #9aa3aa;
    font-size: 0.58rem;
}


/* =========================================================
   Empty State
   ========================================================= */

.ziggurat-dashboard-empty {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 2rem;
    text-align: center;
}


    .ziggurat-dashboard-empty > i {
        color: rgba(21, 155, 164, 0.45);
        font-size: 2rem;
    }


    .ziggurat-dashboard-empty strong {
        color: var(--ziggurat-admin-text);
        font-size: 0.78rem;
    }


    .ziggurat-dashboard-empty span {
        color: var(--ziggurat-admin-muted);
        font-size: 0.66rem;
    }


/* =========================================================
   خلاصه محتوا
   ========================================================= */

.ziggurat-dashboard-summary {
    padding: 0.5rem 1.25rem;
}


    .ziggurat-dashboard-summary > div {
        min-height: 64px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        border-bottom: 1px solid var(--ziggurat-admin-border);
    }


        .ziggurat-dashboard-summary > div:last-child {
            border-bottom: 0;
        }


    .ziggurat-dashboard-summary span {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        color: var(--ziggurat-admin-muted);
        font-size: 0.7rem;
    }


        .ziggurat-dashboard-summary span i {
            width: 18px;
            color: var(--ziggurat-admin-primary-dark);
            text-align: center;
        }


    .ziggurat-dashboard-summary strong {
        color: var(--ziggurat-admin-text);
        font-size: 0.9rem;
    }


/* =========================================================
   Dashboard Mobile
   ========================================================= */

@media (max-width: 575.98px) {

    .ziggurat-dashboard-stat-card {
        min-height: 100px;
        gap: 0.7rem;
        padding: 0.85rem;
    }


    .ziggurat-dashboard-stat-icon {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
        border-radius: 11px;
        font-size: 0.9rem;
    }


    .ziggurat-dashboard-stat-card strong {
        font-size: 1.05rem;
    }


    .ziggurat-dashboard-section-header {
        padding: 0.9rem 1rem;
    }


    .ziggurat-dashboard-message-list,
    .ziggurat-dashboard-summary {
        padding-right: 1rem;
        padding-left: 1rem;
    }
}

/* =========================================================
   Admin Tables / Forms / Empty States
   ========================================================= */

.ziggurat-admin-table {
    min-width: 720px;
}

    .ziggurat-admin-table thead th {
        padding: 1rem 1.25rem;
        color: #74808a;
        background: #fafbfc;
        border-bottom: 1px solid var(--ziggurat-admin-border);
        font-size: 0.68rem;
        font-weight: 600;
        white-space: nowrap;
    }

    .ziggurat-admin-table tbody td {
        padding: 1rem 1.25rem;
        color: #65717b;
        border-color: var(--ziggurat-admin-border);
        font-size: 0.72rem;
    }

        .ziggurat-admin-table tbody td strong {
            color: var(--ziggurat-admin-text);
            font-weight: 600;
        }

.ziggurat-admin-table-icon {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    color: var(--ziggurat-admin-primary-dark);
    background: rgba(39, 194, 201, 0.07);
    border-radius: 9px;
}

.ziggurat-admin-action-btn {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #66737d;
    background: #ffffff;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 8px;
}

    .ziggurat-admin-action-btn:hover {
        color: var(--ziggurat-admin-primary-dark);
        background: rgba(39, 194, 201, 0.06);
        border-color: rgba(39, 194, 201, 0.22);
    }

.ziggurat-admin-action-danger:hover {
    color: #dc3545;
    background: rgba(220, 53, 69, 0.05);
    border-color: rgba(220, 53, 69, 0.20);
}


/* Empty State */

.ziggurat-admin-empty-state {
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
    padding: 2rem;
    text-align: center;
}

    .ziggurat-admin-empty-state > i {
        color: rgba(21, 155, 164, 0.40);
        font-size: 2.2rem;
    }

    .ziggurat-admin-empty-state strong {
        color: var(--ziggurat-admin-text);
        font-size: 0.82rem;
    }

    .ziggurat-admin-empty-state span {
        color: var(--ziggurat-admin-muted);
        font-size: 0.68rem;
    }


/* Form */

.ziggurat-admin-form-control {
    min-height: 46px;
    padding: 0.65rem 0.8rem;
    color: var(--ziggurat-admin-text);
    border: 1px solid rgba(3, 14, 24, 0.10);
    border-radius: 9px;
    font-size: 0.78rem;
}

    .ziggurat-admin-form-control:focus {
        border-color: rgba(39, 194, 201, 0.65);
        box-shadow: 0 0 0 3px rgba(39, 194, 201, 0.08);
    }


/* Back Link */

.ziggurat-admin-back-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--ziggurat-admin-primary-dark);
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
}

    .ziggurat-admin-back-link:hover {
        color: #117e85;
    }


/* Mobile */

@media (max-width: 575.98px) {

    .ziggurat-admin-empty-state {
        min-height: 260px;
        padding: 1.5rem;
    }

    .ziggurat-admin-table thead th,
    .ziggurat-admin-table tbody td {
        padding-right: 0.85rem;
        padding-left: 0.85rem;
    }
}
/* =========================================================
   Delete Confirmation Modal
   ========================================================= */

.ziggurat-admin-delete-modal {
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 24px 65px rgba(3, 14, 24, 0.20);
}


.ziggurat-admin-delete-modal-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    color: #dc3545;
    background: rgba(220, 53, 69, 0.07);
    border: 1px solid rgba(220, 53, 69, 0.14);
    border-radius: 14px;
    font-size: 1.15rem;
}


.ziggurat-admin-delete-modal-title {
    margin-bottom: 0.65rem;
    color: var(--ziggurat-admin-text);
    font-size: 1.05rem;
    font-weight: 700;
}


.ziggurat-admin-delete-modal-text {
    color: var(--ziggurat-admin-muted);
    font-size: 0.74rem;
    line-height: 2;
}


    .ziggurat-admin-delete-modal-text strong {
        color: var(--ziggurat-admin-text);
        font-weight: 700;
    }


.ziggurat-admin-delete-confirm-btn {
    color: #ffffff;
    background: #dc3545;
    border: 1px solid #dc3545;
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
}


    .ziggurat-admin-delete-confirm-btn:hover,
    .ziggurat-admin-delete-confirm-btn:focus {
        color: #ffffff;
        background: #bb2d3b;
        border-color: #bb2d3b;
        box-shadow: none;
    }

/* =========================================================
   دکمه انصراف Modal
   ========================================================= */

.ziggurat-admin-modal-cancel-btn {
    color: #52606a;
    background: #f7f9fa;
    border: 1px solid rgba(3, 14, 24, 0.10);
    border-radius: 8px;
    font-size: 0.75rem;
    font-weight: 600;
    transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}


    .ziggurat-admin-modal-cancel-btn:hover,
    .ziggurat-admin-modal-cancel-btn:focus {
        color: var(--ziggurat-admin-primary-dark);
        background: rgba(39, 194, 201, 0.06);
        border-color: rgba(39, 194, 201, 0.24);
        box-shadow: none;
    }

/* =========================================================
   مدیریت محصولات
   ========================================================= */

.ziggurat-admin-product-check {
    display: flex;
    align-items: center;
    gap: .65rem;
    width: 100%;
    padding: .8rem .9rem;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
}

    .ziggurat-admin-product-check:hover {
        border-color: rgba(39, 194, 201, .35);
        background: rgba(39, 194, 201, .03);
    }

.ziggurat-admin-product-main-preview {
    width: 180px;
    height: 135px;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid var(--ziggurat-admin-border);
    background: #f7f8f9;
}

    .ziggurat-admin-product-main-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-admin-product-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: .75rem;
}

.ziggurat-admin-product-media-item {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 10px;
    background: #f7f8f9;
}

    .ziggurat-admin-product-media-item img,
    .ziggurat-admin-product-media-item video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-admin-product-media-remove {
    position: absolute;
    top: .45rem;
    left: .45rem;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(3, 16, 26, .86);
    color: #fff;
}

.ziggurat-admin-dynamic-list {
    display: flex;
    flex-direction: column;
    gap: .65rem;
    max-height: 380px;
    overflow-y: auto;
    padding-left: .25rem;
}

.ziggurat-admin-dynamic-row {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.ziggurat-admin-product-spec-head,
.ziggurat-admin-product-spec-row {
    grid-template-columns: minmax(160px, .8fr) minmax(220px, 1.2fr) auto;
    gap: .65rem;
    align-items: center;
}

.ziggurat-admin-product-spec-head {
    display: grid;
    padding: 0 .25rem .6rem;
    color: var(--ziggurat-admin-muted);
    font-size: .75rem;
    font-weight: 600;
}

.ziggurat-admin-product-spec-row {
    display: grid;
}

.ziggurat-admin-product-thumb {
    width: 56px;
    height: 44px;
    flex: 0 0 auto;
    overflow: hidden;
    border-radius: 7px;
    border: 1px solid var(--ziggurat-admin-border);
    background: #f7f8f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-muted);
}

    .ziggurat-admin-product-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

@media (max-width: 767.98px) {
    .ziggurat-admin-product-spec-row {
        grid-template-columns: 1fr auto;
    }

        .ziggurat-admin-product-spec-row
        [data-specification-value] {
            grid-column: 1 / -1;
            grid-row: 2;
        }

    .ziggurat-admin-dynamic-list {
        max-height: 420px;
    }
}

.ziggurat-admin-customer-logo-preview {
    width: 180px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 10px;
    background: #fff;
}

    .ziggurat-admin-customer-logo-preview img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

.ziggurat-admin-customer-logo-thumb {
    width: 58px;
    height: 46px;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .3rem;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 7px;
    background: #fff;
    color: var(--ziggurat-admin-muted);
}

    .ziggurat-admin-customer-logo-thumb img {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

.ziggurat-admin-project-image-preview {
    width: min(100%, 420px);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 10px;
    background: #f7f8f9;
}

    .ziggurat-admin-project-image-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-admin-project-thumb {
    width: 72px;
    height: 48px;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 7px;
    background: #f7f8f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-muted);
}

    .ziggurat-admin-project-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-admin-spare-part-preview {
    width: min(100%, 420px);
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 10px;
    background: #f7f8f9;
}

    .ziggurat-admin-spare-part-preview img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-admin-spare-part-thumb {
    width: 64px;
    height: 52px;
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid var(--ziggurat-admin-border);
    border-radius: 7px;
    background: #f7f8f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ziggurat-admin-muted);
}

    .ziggurat-admin-spare-part-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/* =========================================================
   Home Content
   ========================================================= */

.ziggurat-home-media-box {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 16px;
    background: #fff;
}

.ziggurat-home-hero-preview,
.ziggurat-home-showcase-preview {
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: #f3f4f6;
}

.ziggurat-home-hero-preview {
    aspect-ratio: 16 / 9;
}

.ziggurat-home-showcase-preview {
    aspect-ratio: 16 / 10;
}

    .ziggurat-home-hero-preview img,
    .ziggurat-home-showcase-preview img,
    .ziggurat-home-showcase-preview video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.ziggurat-home-empty-preview {
    width: 100%;
    height: 100%;
    min-height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #6b7280;
    font-size: 14px;
}

    .ziggurat-home-empty-preview i {
        font-size: 28px;
    }

/* =========================================================
   Contact Requests
   ========================================================= */

.ziggurat-contact-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.ziggurat-contact-status-new {
    background: #e7f8f9;
    color: #087b83;
}

.ziggurat-contact-status-reviewed {
    background: #eef0f2;
    color: #4b5563;
}

.ziggurat-contact-status-replied {
    background: #e8f5ec;
    color: #287a45;
}

.ziggurat-contact-message {
    white-space: pre-wrap;
    line-height: 2;
    overflow-wrap: anywhere;
}

/* =========================================================
   Recycle Bin
   ========================================================= */

.ziggurat-recycle-type,
.ziggurat-recycle-remaining,
.ziggurat-recycle-expired {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}

.ziggurat-recycle-type {
    background: #eef0f2;
    color: #4b5563;
}

.ziggurat-recycle-remaining {
    background: #e7f8f9;
    color: #087b83;
}

.ziggurat-recycle-expired {
    background: #fbe9e9;
    color: #a53a3a;
}