/*
 * ثيم النظام: كحلي هادي. أي لون جديد يتعرّف هون كمتغيّر ويُستخدم بالاسم.
 */

:root,
[data-bs-theme=light] {
    --app-primary: #1f3a5f;
    --app-primary-rgb: 31, 58, 95;
    --app-primary-hover: #182e4b;
    --app-primary-active: #132540;
    --app-primary-soft: #e9eff7;
    --app-header-bg: #0f2238;
    --app-bg: #f5f7fb;
    --app-surface: #ffffff;
    --app-border: #e2e8f0;
    --app-border-strong: #cbd5e1;
    --app-text: #1e293b;
    --app-muted: #64748b;

    --bs-primary: var(--app-primary);
    --bs-primary-rgb: var(--app-primary-rgb);
    --bs-link-color: var(--app-primary);
    --bs-link-color-rgb: var(--app-primary-rgb);
    --bs-link-hover-color: var(--app-primary-hover);
    --bs-body-color: var(--app-text);
    --bs-body-bg: var(--app-surface);
    --bs-border-color: var(--app-border);
    --bs-body-font-family: "IBM Plex Sans Arabic", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
    --bs-body-font-size: .9375rem;
}

body {
    /* أرقام بنفس العرض عشان الأعمدة المالية تيجي تحت بعض */
    font-variant-numeric: tabular-nums;
    background-color: var(--app-bg);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
    color: var(--app-text);
    font-weight: 600;
}

main.bg-light {
    background-color: var(--app-bg) !important;
}

/*
 * Header
 */

.app-header,
.app-header .navbar-brand {
    background-color: var(--app-header-bg);
}

.app-header .navbar-brand {
    font-weight: 600;
    box-shadow: inset -1px 0 0 rgba(255, 255, 255, .06);
}

/*
 * Sidebar
 */

.sidebar {
    background-color: var(--app-surface);
    border-inline-end: 1px solid var(--app-border);
}

.sidebar .nav-link {
    color: var(--app-text);
}

.sidebar .nav-link .bi {
    color: var(--app-muted);
}

.sidebar .nav-link:hover {
    background-color: var(--app-bg);
    color: var(--app-primary);
}

.sidebar .nav-link.active {
    background-color: var(--app-primary-soft);
    color: var(--app-primary);
    font-weight: 600;
}

.sidebar .nav-link.active .bi,
.sidebar .nav-link:hover .bi {
    color: var(--app-primary);
}

.sidebar-heading {
    color: var(--app-muted);
    font-weight: 600;
}

.sidebar hr {
    border-color: var(--app-border);
    opacity: 1;
}

/*
 * الأزرار
 */

.btn-primary {
    --bs-btn-bg: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: var(--app-primary-hover);
    --bs-btn-hover-border-color: var(--app-primary-hover);
    --bs-btn-active-bg: var(--app-primary-active);
    --bs-btn-active-border-color: var(--app-primary-active);
    --bs-btn-disabled-bg: var(--app-primary);
    --bs-btn-disabled-border-color: var(--app-primary);
    --bs-btn-focus-shadow-rgb: var(--app-primary-rgb);
}

.btn-outline-primary {
    --bs-btn-color: var(--app-primary);
    --bs-btn-border-color: var(--app-primary);
    --bs-btn-hover-bg: var(--app-primary);
    --bs-btn-hover-border-color: var(--app-primary);
    --bs-btn-active-bg: var(--app-primary-active);
    --bs-btn-active-border-color: var(--app-primary-active);
}

.btn {
    border-radius: .375rem;
}

/*
 * الفورمات
 */

.form-control,
.form-select,
input,
select,
textarea {
    border-color: var(--app-border-strong);
}

.form-control:focus,
.form-select:focus {
    border-color: var(--app-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--app-primary-rgb), .15);
}

label {
    color: var(--app-text);
    font-weight: 500;
}

/* مسافة بين العنوان والحقل (كانت margin ثابتة على كل الحقول) */
label + input,
label + select,
label + textarea,
label + .form-control,
label + .form-select,
label + .ts-wrapper {
    margin-top: .375rem;
}

/*
 * الكروت والجداول
 */

.card {
    border-color: var(--app-border);
    border-radius: .5rem;
    box-shadow: 0 1px 2px rgba(15, 34, 56, .04);
}

.table {
    --bs-table-border-color: var(--app-border);
}

.table > thead th {
    color: var(--app-muted);
    font-weight: 600;
    font-size: .8125rem;
    background-color: var(--app-bg);
    white-space: nowrap;
}

/* كل جداول النظام: خلفية بيضا وتخطيط هادي بدل الرمادي */
main .table {
    --bs-table-bg: var(--app-surface);
    --bs-table-color: var(--app-text);
    --bs-table-border-color: var(--app-border);
    --bs-table-striped-bg: #f8fafc;
    --bs-table-hover-bg: var(--app-primary-soft);
}

main .table > :not(caption) > * > * {
    vertical-align: middle;
}

main .table-responsive {
    background-color: var(--app-surface);
    border: 1px solid var(--app-border);
    border-radius: .5rem;
}

main .table-responsive > .table {
    margin-bottom: 0;
}

main .card > .table-responsive {
    border: 0;
}

/* أزرار الإجراءات جوّا الجداول: صغيرة ومحدّدة بدل الألوان المليانة */
main .table td .btn:not(.btn-sm):not(.btn-lg) {
    --bs-btn-padding-y: .25rem;
    --bs-btn-padding-x: .5rem;
    --bs-btn-font-size: .875rem;
    margin: 1px 0;
}

main .table td .btn-secondary,
main .table td .btn-info,
main .table td .btn-warning,
main .table td .btn-success {
    --bs-btn-color: var(--app-text);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: var(--app-border-strong);
    --bs-btn-hover-color: var(--app-primary);
    --bs-btn-hover-bg: var(--app-primary-soft);
    --bs-btn-hover-border-color: var(--app-primary);
    --bs-btn-active-color: var(--app-primary);
    --bs-btn-active-bg: var(--app-primary-soft);
    --bs-btn-active-border-color: var(--app-primary);
}

main .table td .btn-danger {
    --bs-btn-color: #b42318;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: #f1b5ae;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #b42318;
    --bs-btn-hover-border-color: #b42318;
}

/* رابط الرقم لمصدره (قيد أو كشف حساب) */
a.drill {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px dotted currentColor;
}

a.drill:hover {
    color: var(--app-primary);
    border-bottom-style: solid;
}

.amount-negative {
    color: #b42318;
}

/*
 * صفحة الدخول
 */

.auth-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

.auth-card {
    width: 100%;
    max-width: 420px;
    box-shadow: 0 4px 16px rgba(15, 34, 56, .08);
}

.auth-logo {
    max-height: 44px;
    max-width: 100%;
}

/*
 * صفحات التفاصيل (مثل القيد)
 */

.entry-meta dt {
    font-size: .8125rem;
    font-weight: 500;
    color: var(--app-muted);
}

.entry-meta dd {
    font-weight: 600;
    margin-bottom: .875rem;
}

.entry-nav,
.entry-actions .entry-print {
    margin-inline-start: auto;
}

.entry-actions .alert {
    margin: 0;
}

/* عمود الإجراءات (آخر عمود) بيضل سطر واحد بدل ما الأزرار تنرص فوق بعض */
main .table td:last-child:has(.btn) {
    white-space: nowrap;
}

/* روابط الأسماء جوّا الجداول (nav-link) بدون الحشوة الزايدة */
main .table td > .nav-link {
    padding: 0;
    font-weight: 500;
    min-width: 10rem;
}
