/*
 * SADU Unified Theme — 2026
 * هوية موحدة لجميع صفحات نظام ثرا:
 * موف داكن + موف أساسي + موف فاتح + أبيض.
 */

:root {
    --sadu-purple-950: #251044;
    --sadu-purple-900: #351060;
    --sadu-purple-850: #431575;
    --sadu-purple-800: #502080;
    --sadu-purple-700: #6524A0;
    --sadu-purple-600: #7731B9;
    --sadu-purple-500: #9650DE;
    --sadu-purple-400: #B084E7;
    --sadu-purple-300: #D0B5F0;
    --sadu-purple-200: #E7D7F7;
    --sadu-purple-150: #F0E7FA;
    --sadu-purple-100: #F7F1FC;
    --sadu-purple-50: #FDFBFF;
    --sadu-white: #FFFFFF;
    --sadu-ink: #2F2338;
    --sadu-muted: #74677E;
    --sadu-border: #E4D9ED;
    --sadu-shadow-sm: 0 4px 14px rgba(55, 29, 78, .07);
    --sadu-shadow-md: 0 10px 30px rgba(55, 29, 78, .10);
    --sadu-shadow-lg: 0 20px 52px rgba(46, 22, 68, .15);
    --sadu-radius-sm: 10px;
    --sadu-radius-md: 16px;
    --sadu-radius-lg: 24px;

    /* توحيد أسماء المتغيرات القديمة الموجودة في الصفحات. */
    --primary: var(--sadu-purple-700) !important;
    --primary-rgb: 94, 52, 127 !important;
    --primary-dark: var(--sadu-purple-900) !important;
    --primary-light: var(--sadu-purple-500) !important;
    --primary-lighter: var(--sadu-purple-300) !important;
    --secondary: var(--sadu-purple-500) !important;
    --accent: var(--sadu-purple-400) !important;
    --accent-gold: var(--sadu-purple-400) !important;
    --accent-bronze: var(--sadu-purple-600) !important;
    --gold: var(--sadu-purple-400) !important;
    --p: var(--sadu-purple-700) !important;
    --pd: var(--sadu-purple-900) !important;
    --pm: var(--sadu-purple-500) !important;
    --pl: var(--sadu-purple-100) !important;
    --ps: var(--sadu-purple-200) !important;
    --pp: var(--sadu-purple-50) !important;
    --bg: var(--sadu-purple-100) !important;
    --bg-primary: #F7F3FA !important;
    --bg-secondary: var(--sadu-purple-100) !important;
    --bg-card: var(--sadu-white) !important;
    --card: var(--sadu-white) !important;
    --text: var(--sadu-ink) !important;
    --text-primary: var(--sadu-ink) !important;
    --text-secondary: #695B73 !important;
    --text-tertiary: #95869F !important;
    --muted: var(--sadu-muted) !important;
    --border: var(--sadu-border) !important;
    --border-color: var(--sadu-border) !important;
    --shadow: var(--sadu-shadow-md) !important;
    --shadow-sm: var(--sadu-shadow-sm) !important;
    --shadow-md: var(--sadu-shadow-md) !important;
    --shadow-lg: var(--sadu-shadow-lg) !important;
    --shadow-xl: 0 18px 46px rgba(46, 22, 68, .18) !important;
    --shadow-2xl: 0 26px 68px rgba(46, 22, 68, .22) !important;
}

[data-theme="dark"] {
    --bg-primary: #170C22 !important;
    --bg-secondary: #21122F !important;
    --bg-card: #2B193B !important;
    --card: #2B193B !important;
    --text: #FCF9FE !important;
    --text-primary: #FCF9FE !important;
    --text-secondary: #D8C9E3 !important;
    --text-tertiary: #AA98B7 !important;
    --muted: #C2B2CE !important;
    --border: #4B335D !important;
    --border-color: #4B335D !important;
}

html {
    background: #F4EEF8;
    color-scheme: light;
}

html[data-theme="dark"] {
    color-scheme: dark;
}

body {
    color: var(--text-primary, var(--sadu-ink)) !important;
    font-family: "Tajawal", "Cairo", Tahoma, Arial, sans-serif !important;
    background:
        radial-gradient(circle at 7% 7%, rgba(170, 136, 197, .20), transparent 24%),
        radial-gradient(circle at 92% 86%, rgba(113, 71, 149, .09), transparent 28%),
        linear-gradient(145deg, #FDFBFF 0%, #F4EEF8 52%, #EEE4F5 100%) !important;
    background-attachment: fixed !important;
}

[data-theme="dark"] body {
    background:
        radial-gradient(circle at 8% 10%, rgba(138, 98, 170, .18), transparent 26%),
        linear-gradient(145deg, #160B20, #251332) !important;
}

body::before {
    background:
        radial-gradient(circle at 16% 18%, rgba(170, 136, 197, .10), transparent 36%),
        radial-gradient(circle at 80% 72%, rgba(94, 52, 127, .08), transparent 42%) !important;
}

::selection {
    color: #fff;
    background: var(--sadu-purple-600);
}

* {
    scrollbar-color: var(--sadu-purple-500) var(--sadu-purple-100);
}

*::-webkit-scrollbar {
    width: 9px;
    height: 9px;
}

*::-webkit-scrollbar-track {
    background: var(--sadu-purple-100);
}

*::-webkit-scrollbar-thumb {
    border: 2px solid var(--sadu-purple-100);
    border-radius: 20px;
    background: linear-gradient(180deg, var(--sadu-purple-600), var(--sadu-purple-400));
}

a {
    color: var(--sadu-purple-700);
}

a:hover {
    color: var(--sadu-purple-900);
}

/* القوائم الجانبية */
.sidebar,
aside.sidebar {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .10) !important;
    background:
        radial-gradient(circle at 12% 4%, rgba(255, 255, 255, .12), transparent 20%),
        linear-gradient(180deg, var(--sadu-purple-950) 0%, var(--sadu-purple-800) 50%, var(--sadu-purple-600) 100%) !important;
    box-shadow: 0 22px 55px rgba(40, 19, 61, .26) !important;
}

.sidebar .logo,
.sidebar .logo-box,
.sidebar .sidebar-header {
    border-color: rgba(255, 255, 255, .13) !important;
}

.sidebar .logo,
.sidebar .logo-box {
    color: #fff !important;
    background: rgba(255, 255, 255, .10) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12) !important;
}

.sidebar img[src*="sadu-logo-white"] {
    filter: drop-shadow(0 7px 15px rgba(24, 8, 37, .20));
}

.sidebar .logo-text,
.sidebar .logo-text *,
.sidebar .nm,
.sidebar h1,
.sidebar h2,
.sidebar h3 {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.sidebar .sidebar-subtitle,
.sidebar .nav-title,
.sidebar .mgr,
.sidebar small {
    color: rgba(255, 255, 255, .68) !important;
}

.sidebar .nav-title::after,
.sidebar-header::after {
    background: linear-gradient(90deg, var(--sadu-purple-300), transparent) !important;
}

.sidebar a,
.sidebar .nav-link {
    color: rgba(255, 255, 255, .86) !important;
    border-color: transparent !important;
    background: transparent !important;
}

.sidebar a:hover,
.sidebar a.active,
.sidebar .nav-link:hover,
.sidebar .nav-link.active {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .20) !important;
    background: linear-gradient(135deg, rgba(201, 178, 220, .36), rgba(255, 255, 255, .14)) !important;
    box-shadow: 0 10px 25px rgba(25, 8, 37, .20) !important;
}

.sidebar a i,
.sidebar .nav-link .icon {
    color: var(--sadu-purple-200) !important;
}

.sidebar a:hover i,
.sidebar a.active i,
.sidebar .nav-link:hover .icon,
.sidebar .nav-link.active .icon {
    color: #fff !important;
}

/* الشريط العلوي والعناوين */
.topbar {
    border-color: rgba(94, 52, 127, .12) !important;
    background: rgba(255, 255, 255, .90) !important;
    box-shadow: 0 9px 28px rgba(55, 29, 78, .08) !important;
    backdrop-filter: blur(18px);
}

[data-theme="dark"] .topbar {
    background: rgba(43, 25, 59, .92) !important;
}

.page-header,
.page-head,
.header-top,
.report-head,
.cphead,
.inv-head,
header.head,
.top-header,
section.head,
.wrap > .head,
.content > .top,
.wrap > .top,
.shell > .top,
.page > .head {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .14) !important;
    background:
        radial-gradient(circle at 10% 10%, rgba(255, 255, 255, .15), transparent 24%),
        radial-gradient(circle at 92% 105%, rgba(201, 178, 220, .30), transparent 33%),
        linear-gradient(128deg, var(--sadu-purple-950) 0%, var(--sadu-purple-700) 55%, var(--sadu-purple-500) 100%) !important;
    box-shadow: 0 18px 46px rgba(55, 29, 78, .18) !important;
}

.page-header *,
.page-head h1,
.page-head h2,
.page-head p,
.header-top h1,
.header-top h2,
.header-top p,
.report-head *,
.cphead *,
.inv-head *,
header.head *,
.top-header h1,
.top-header h2,
.top-header h3,
.top-header p,
section.head *,
.wrap > .head *,
.content > .top *,
.wrap > .top *,
.shell > .top *,
.page > .head * {
    color: #fff !important;
}

.page-title {
    color: #fff !important;
    background: none !important;
    -webkit-text-fill-color: #fff !important;
}

.page-subtitle {
    color: rgba(255, 255, 255, .82) !important;
}

.section-title,
.card-title,
.chart-title,
.modal-title,
.mhead h3,
h1,
h2,
h3 {
    color: var(--text-primary, var(--sadu-ink));
}

.section-title::before,
.section-title::after {
    background: linear-gradient(90deg, var(--sadu-purple-700), var(--sadu-purple-300)) !important;
}

/* البطاقات والحاويات */
.card,
.stat-card,
.summary-card,
.kpi-card,
.chart-card,
.panel,
.box,
.form-card,
.table-card,
.section-card,
.invoice-card,
.project-card,
.client-card,
.investor-card,
.employee-card,
.expense-view-card,
.chart-box,
.stat-box,
.metric-card,
.widget,
.paper,
.cpaper,
.page,
.report,
.modal,
.modal-content,
.mcontent,
.modal-box,
.dialog,
.content-box,
.details-card,
.filter-box,
.filters-box,
.search-box-card {
    border-color: var(--sadu-border) !important;
    background-color: var(--sadu-white) !important;
    box-shadow: var(--sadu-shadow-md) !important;
}

[data-theme="dark"] .card,
[data-theme="dark"] .stat-card,
[data-theme="dark"] .summary-card,
[data-theme="dark"] .kpi-card,
[data-theme="dark"] .chart-card,
[data-theme="dark"] .panel,
[data-theme="dark"] .box,
[data-theme="dark"] .table-card,
[data-theme="dark"] .section-card,
[data-theme="dark"] .invoice-card,
[data-theme="dark"] .project-card,
[data-theme="dark"] .client-card,
[data-theme="dark"] .paper,
[data-theme="dark"] .modal-content {
    background-color: var(--bg-card) !important;
}

.card:hover,
.stat-card:hover,
.kpi-card:hover,
.chart-card:hover,
.invoice-card:hover,
.project-card:hover,
.client-card:hover,
.investor-card:hover,
.employee-card:hover {
    border-color: var(--sadu-purple-300) !important;
}

.card-header,
.panel-header,
.modal-header,
.mhead,
.table-header,
.filter-header,
.section-head {
    border-color: var(--sadu-border) !important;
    background: linear-gradient(135deg, var(--sadu-purple-100), var(--sadu-purple-50)) !important;
}

.stat-icon,
.card-icon,
.metric-icon,
.icon-box,
.sc-icon {
    color: var(--sadu-purple-700) !important;
    background: linear-gradient(135deg, var(--sadu-purple-100), var(--sadu-purple-200)) !important;
}

.meta-box,
.channel-box,
.totals-box,
.approve-card,
.rejected-card,
.notes-box {
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-50) !important;
}

.stat-value,
.metric-value,
.kpi-value,
.sc-val {
    color: var(--sadu-purple-900) !important;
}

.stat-label,
.metric-label,
.kpi-label,
.stat-subtitle,
.sc-label,
.sc-sub {
    color: var(--sadu-muted) !important;
}

/* النماذج */
input,
select,
textarea {
    color: var(--sadu-ink) !important;
    border-color: #DCCEE7 !important;
    background-color: #fff !important;
    box-shadow: inset 0 1px 2px rgba(55, 29, 78, .025) !important;
}

input::placeholder,
textarea::placeholder {
    color: #9D8DA8 !important;
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--sadu-purple-500) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 4px rgba(138, 98, 170, .13) !important;
}

input[readonly],
input:disabled,
select:disabled,
textarea:disabled {
    color: #766A7E !important;
    background: var(--sadu-purple-100) !important;
}

label {
    color: #4A3B53;
}

/* الأزرار */
.btn,
button,
[type="submit"],
[type="button"] {
    border-radius: 11px !important;
}

.btn:not(.btn-secondary):not(.btn-light):not(.btn-cancel):not(.btn-danger):not(.danger):not(.delete):not(.btn-delete):not(.reject):not(.br):not(.btn-success):not(.approve):not(.bs):not(.btn-warning):not(.warning):not(.btn-whatsapp),
button:not(.mclose):not(.modal-close):not(.close):not(.btn-secondary):not(.btn-light):not(.btn-cancel):not(.btn-danger):not(.danger):not(.delete):not(.btn-delete):not(.reject):not(.br):not(.btn-success):not(.approve):not(.bs):not(.btn-warning):not(.warning) {
    color: #fff !important;
    border-color: var(--sadu-purple-600) !important;
    background: linear-gradient(135deg, var(--sadu-purple-800), var(--sadu-purple-600)) !important;
}

.btn-primary,
.btn-main,
.btn-save,
.btn-submit,
.btn-new,
.btn-add,
.btn-view,
.action-primary,
.abtn,
.bpm,
.dashboard-action.primary,
form button[type="submit"]:not(.danger):not(.btn-danger):not(.delete):not(.btn-delete):not(.reject):not(.br) {
    color: #fff !important;
    border-color: var(--sadu-purple-600) !important;
    background: linear-gradient(135deg, var(--sadu-purple-800), var(--sadu-purple-600)) !important;
    box-shadow: 0 8px 20px rgba(63, 31, 89, .18) !important;
}

.btn-primary:hover,
.btn-main:hover,
.btn-save:hover,
.btn-submit:hover,
.btn-new:hover,
.btn-add:hover,
.btn-view:hover,
.action-primary:hover,
.abtn:hover,
.bpm:hover,
.dashboard-action.primary:hover,
form button[type="submit"]:not(.danger):not(.btn-danger):not(.delete):not(.btn-delete):not(.reject):not(.br):hover {
    color: #fff !important;
    background: linear-gradient(135deg, var(--sadu-purple-700), var(--sadu-purple-500)) !important;
    transform: translateY(-2px);
}

.btn-secondary,
.btn-light,
.btn-cancel,
.secondary,
.bb {
    color: var(--sadu-purple-800) !important;
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-100) !important;
}

.btn-danger,
.danger,
.delete,
.btn-delete,
.reject,
.br {
    color: #fff !important;
    border-color: #C74C68 !important;
    background: linear-gradient(135deg, #C74C68, #A83350) !important;
}

.btn-success,
.approve,
.bs {
    color: #fff !important;
    border-color: #4E8B74 !important;
    background: linear-gradient(135deg, #55977F, #407560) !important;
}

.btn-warning,
.warning {
    color: #4E3517 !important;
    border-color: #E0BF86 !important;
    background: #F7E9CB !important;
}

.btn-whatsapp,
.whatsapp,
.wa-btn {
    color: #fff !important;
    border-color: #25A85C !important;
    background: #25A85C !important;
}

.dashboard-action {
    border-color: rgba(255, 255, 255, .24) !important;
    background: rgba(255, 255, 255, .13) !important;
}

.dashboard-action.primary {
    border-color: rgba(255, 255, 255, .30) !important;
    background: linear-gradient(135deg, var(--sadu-purple-400), var(--sadu-purple-600)) !important;
}

/* الجداول والقوائم */
table {
    border-color: var(--sadu-border) !important;
    background: #fff;
}

table thead,
table thead tr,
table thead th,
.table-head {
    color: #fff !important;
    border-color: rgba(255, 255, 255, .12) !important;
    background: linear-gradient(135deg, var(--sadu-purple-900), var(--sadu-purple-700)) !important;
}

table thead a,
table thead i {
    color: #fff !important;
}

table tbody td {
    color: #403548;
    border-color: #EEE7F3 !important;
    background-color: #fff;
}

table tbody tr:nth-child(even) td {
    background-color: #FCFAFD;
}

table tbody tr:hover td {
    background-color: var(--sadu-purple-100) !important;
}

.tabs,
.contract-tabs,
.filter-tabs,
.nav-tabs {
    border-color: var(--sadu-border) !important;
    background: rgba(255, 255, 255, .82) !important;
}

.tab,
.contract-tab,
.filter-tab,
.nav-tab {
    color: var(--sadu-muted) !important;
    border-color: transparent !important;
}

.tab.active,
.contract-tab.active,
.filter-tab.active,
.nav-tab.active,
.tab:hover,
.contract-tab:hover,
.filter-tab:hover,
.nav-tab:hover {
    color: #fff !important;
    background: linear-gradient(135deg, var(--sadu-purple-800), var(--sadu-purple-600)) !important;
}

/* الشارات والتنبيهات */
.badge,
.pill,
.status,
.tag {
    border-color: var(--sadu-purple-200) !important;
}

.badge:not(.approved):not(.rejected):not(.active):not(.danger),
.pill:not(.ok):not(.bad):not(.warn),
.status:not(.ok):not(.bad):not(.wait) {
    color: var(--sadu-purple-800) !important;
    background: var(--sadu-purple-100) !important;
}

.alert-success,
.alert.as,
.status.ok,
.pill.ok {
    color: #285E4B !important;
    border-color: #A9CFBF !important;
    background: #EAF6F1 !important;
}

.alert-error,
.alert-danger,
.alert.ae2,
.status.bad,
.pill.bad {
    color: #8F2941 !important;
    border-color: #E5B0BC !important;
    background: #FFF1F4 !important;
}

.alert-warning,
.status.wait,
.pill.warn {
    color: #75531E !important;
    border-color: #E8D09C !important;
    background: #FFF8E8 !important;
}

.info-box,
.note-box,
.hint-box,
.highlight,
.hl,
.app-sec,
.gov,
.appendix {
    color: var(--sadu-ink) !important;
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-50) !important;
}

/* النوافذ المنبثقة */
.modal-overlay,
.overlay,
.modal-backdrop {
    background: rgba(34, 14, 50, .62) !important;
    backdrop-filter: blur(8px);
}

.modal-content,
.modal-box,
.mcontent,
.dialog {
    border: 1px solid var(--sadu-purple-200) !important;
    background: #fff !important;
    box-shadow: 0 28px 80px rgba(33, 13, 49, .30) !important;
}

.mclose,
.modal-close,
.close {
    color: var(--sadu-purple-800) !important;
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-100) !important;
}

/* الداشبورد */
.sidebar-header::after {
    height: 3px !important;
    border-radius: 999px;
}

.quick-stats .stat-card::after {
    background: var(--sadu-purple-700) !important;
}

.quick-stats .stat-card:nth-child(2)::after {
    background: var(--sadu-purple-600) !important;
}

.quick-stats .stat-card:nth-child(3)::after {
    background: var(--sadu-purple-500) !important;
}

.quick-stats .stat-card:nth-child(4)::after {
    background: var(--sadu-purple-400) !important;
}

.stat-trend.neutral {
    color: var(--sadu-purple-800) !important;
    background: var(--sadu-purple-100) !important;
}

.progress-bar {
    background: var(--sadu-purple-150) !important;
}

.progress-fill {
    background: linear-gradient(90deg, var(--sadu-purple-900), var(--sadu-purple-500), var(--sadu-purple-300)) !important;
}

.chart-card canvas {
    filter: saturate(.92);
}

/* الفواتير والعقود وصفحات الطباعة */
.official-stamp,
.stamp-card,
.stamp {
    border-color: var(--sadu-purple-200) !important;
}

.invoice-number,
.document-number,
.contract-number {
    color: var(--sadu-purple-800) !important;
}

.signature,
.sbox,
.party,
.pbox,
.mi,
.ibox {
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-50) !important;
}

.sec {
    color: var(--sadu-purple-900) !important;
    border-color: var(--sadu-purple-600) !important;
}

.foot,
.inv-footer,
.footer {
    border-color: var(--sadu-purple-200) !important;
    background: var(--sadu-purple-100) !important;
}

@media (max-width: 768px) {
    .page-header,
    .page-head,
    .header-top {
        border-radius: 20px !important;
    }

    .card,
    .stat-card,
    .chart-card,
    .invoice-card,
    .project-card,
    .client-card {
        border-radius: 16px !important;
    }
}

@media print {
    html,
    body {
        background: #fff !important;
    }

    body::before {
        display: none !important;
    }

    .paper,
    .page,
    .report,
    .cpaper {
        border: 0 !important;
        box-shadow: none !important;
    }

    .sidebar,
    .topbar,
    .toolbar,
    .no-print {
        display: none !important;
    }

    table thead,
    table thead tr,
    table thead th,
    .page-header,
    .report-head,
    .cphead,
    .inv-head,
    header.head {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
}

/* الشعار المرفق يحتفظ بألوانه الأصلية. */
img[src*="thra-logo"],img[src="logo.png"],img[src*="asset=sadu-logo-white"]{background:#fff!important;filter:none!important;object-fit:contain;border-radius:8px;}

img[src="thra-logo.png"],img[src="logo.png"]{clip-path:inset(2px);}
