/* =============================================================================
   ParentSystem — UI Enhancements (numbers, forms, tables, dark/light, print)
   Load after design-system.css and theme-variables.css
   ============================================================================= */

:root {
    --ps-num-size-sm: 0.9375rem;
    --ps-num-size-md: 1.0625rem;
    --ps-num-size-lg: 1.25rem;
    --ps-num-size-xl: 1.5rem;
    --ps-table-body-size: 1rem;
    --ps-table-head-size: 0.9375rem;
    --ps-input-size: 1rem;
    --ps-form-gap: var(--ds-space-4, 1rem);
    --ps-num-positive: var(--theme-success, #2e7d32);
    --ps-num-negative: var(--theme-error, #c62828);
    --ps-num-highlight: var(--theme-primary, #1976d2);
    --ps-num-muted: var(--theme-text-secondary, rgba(0, 0, 0, 0.6));
    --ps-num-bg: rgba(var(--theme-primary-rgb, 25, 118, 210), 0.06);
    --ps-form-radius: var(--ds-radius-md, 8px);
    --ps-card-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

[data-theme="dark"] {
    --ps-num-bg: rgba(var(--theme-primary-rgb, 33, 150, 243), 0.12);
    --ps-card-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

/* ─── App shell ───────────────────────────────────────────────────────────── */
.ps-app .mud-main-content {
    padding-bottom: var(--ds-space-6, 1.5rem);
}

.ps-app .mud-container {
    padding-top: var(--ds-space-3, 0.75rem);
}

/* ─── Numbers: display component ─────────────────────────────────────────── */
.num-display {
    font-family: 'IRANSans', Tahoma, sans-serif;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: 0.02em;
    line-height: 1.35;
    font-weight: 600;
    color: var(--theme-text-primary);
    display: inline-block;
}

.num-sm { font-size: var(--ps-num-size-sm); font-weight: 500; }
.num-md { font-size: var(--ps-num-size-md); }
.num-lg { font-size: var(--ps-num-size-lg); font-weight: 700; }
.num-xl { font-size: var(--ps-num-size-xl); font-weight: 700; }

.num-tone-success { color: var(--ps-num-positive) !important; }
.num-tone-warning { color: var(--theme-warning, #ed6c02) !important; }
.num-tone-error { color: var(--ps-num-negative) !important; }
.num-tone-primary { color: var(--theme-primary) !important; }
.num-tone-muted { color: var(--ps-num-muted) !important; font-weight: 500; }

.num-cell,
.td-num,
.mud-table .num-cell {
    font-size: var(--ps-table-body-size) !important;
    font-variant-numeric: tabular-nums !important;
    font-weight: 600 !important;
    text-align: center !important;
    color: var(--theme-text-primary) !important;
}

.num-cell-lg {
    font-size: var(--ps-num-size-lg) !important;
    font-weight: 700 !important;
}

/* جدول‌ها: اعداد خواناتر در تمام صفحات */
.ps-app .mud-table .mud-table-body .mud-table-cell,
.ps-app .mud-table tbody .mud-td,
.ps-app .mud-table tbody td {
    font-size: var(--ps-table-body-size);
    font-variant-numeric: tabular-nums;
}

.ps-app .mud-table .mud-table-head .mud-table-cell,
.ps-app .mud-table thead .mud-th {
    font-size: var(--ps-table-head-size);
    font-weight: 700;
}

.ps-app .mud-table .mud-table-body .mud-table-row:hover {
    background-color: var(--ps-num-bg) !important;
}

[data-theme="dark"] .ps-app .mud-table .mud-table-body .mud-table-row:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.02);
}

/* ردیف جمع / footer */
.ps-app .mud-table tfoot .mud-table-cell,
.ps-app .mud-table .mud-table-foot .mud-table-cell {
    font-size: var(--ps-num-size-md) !important;
    font-weight: 700 !important;
    background: var(--ps-num-bg) !important;
    color: var(--theme-text-primary) !important;
}

/* ─── فرم‌ها ─────────────────────────────────────────────────────────────── */
.ps-form-section {
    border-radius: var(--ps-form-radius);
    border: 1px solid rgba(var(--theme-primary-rgb, 25, 118, 210), 0.15);
    background: var(--theme-surface);
    padding: var(--ps-form-gap);
    margin-bottom: var(--ps-form-gap);
    box-shadow: var(--ps-card-shadow);
}

[data-theme="dark"] .ps-form-section {
    border-color: rgba(255, 255, 255, 0.1);
}

.ps-form-section-title {
    font-family: 'IRANSans', sans-serif;
    font-weight: 700;
    font-size: 1.05rem;
    color: var(--theme-primary);
    margin-bottom: var(--ds-space-3, 0.75rem);
    padding-bottom: var(--ds-space-2, 0.5rem);
    border-bottom: 2px solid rgba(var(--theme-primary-rgb, 25, 118, 210), 0.2);
}

.ps-app .mud-input-control .mud-input,
.ps-app .mud-input-control input,
.ps-app .mud-select .mud-input-slot,
.ps-app .mud-numeric-field input {
    font-size: var(--ps-input-size) !important;
    font-variant-numeric: tabular-nums;
}

.ps-app .mud-input-label,
.ps-app .mud-input-helper-text {
    font-family: 'IRANSans', sans-serif !important;
}

.ps-app .mud-input-outlined .mud-input-outlined-border {
    border-radius: var(--ps-form-radius);
}

.ps-app .mud-input-outlined.mud-input-outlined-focus .mud-input-outlined-border {
    border-width: 2px;
    border-color: var(--theme-primary) !important;
}

.ps-app .filter-paper,
.ps-app .page-filter-card {
    border-radius: var(--ps-form-radius);
    border: 1px solid rgba(var(--theme-primary-rgb, 25, 118, 210), 0.12);
    background: var(--theme-surface) !important;
    box-shadow: var(--ps-card-shadow);
    margin-bottom: var(--ps-form-gap);
}

/* ─── کارت‌ها و هدر صفحه ─────────────────────────────────────────────────── */
.ps-app .page-header-card,
.ps-app .report-header-card {
    background: var(--theme-gradient-primary) !important;
    color: var(--theme-appbar-text) !important;
    border-radius: var(--ps-form-radius);
    margin-bottom: var(--ps-form-gap);
}

.ps-app .page-header-card .mud-typography,
.ps-app .report-header-card .mud-typography {
    color: var(--theme-appbar-text) !important;
}

.ps-app .mud-card {
    border-radius: var(--ps-form-radius);
    overflow: hidden;
}

.ps-app .mud-chip {
    font-variant-numeric: tabular-nums;
    font-weight: 600;
}

/* ─── گزارش‌ها ───────────────────────────────────────────────────────────── */
.report-page .mud-table .mud-table-body .mud-table-cell,
.report-page .mud-td {
    font-size: var(--ps-num-size-sm) !important;
    font-weight: 600 !important;
}

.report-page .page-title {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
}

/* خلاصه KPI در داشبورد */
.home-kpi-value,
.stat-value,
.dashboard-stat-number {
    font-size: var(--ps-num-size-xl) !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
    color: var(--theme-primary) !important;
}

[data-theme="dark"] .home-kpi-value,
[data-theme="dark"] .stat-value {
    color: var(--theme-primary-light, #64b5f6) !important;
}

/* ─── دیالوگ ──────────────────────────────────────────────────────────────── */
.mud-dialog .mud-dialog-title {
    font-family: 'IRANSans', sans-serif;
    font-weight: 700;
}

.mud-dialog-content .mud-input input {
    font-size: var(--ps-input-size) !important;
}

/* ─── Snackbar / دکمه‌ها ─────────────────────────────────────────────────── */
.ps-app .mud-button {
    border-radius: var(--ds-radius-sm, 4px);
    font-weight: 600;
}

/* ─── چاپ: صفحه ───────────────────────────────────────────────────────────── */
@media screen {
    .print-only {
        display: none !important;
    }
}

@media print {
    .print-only {
        display: block !important;
    }

    .ps-app .mud-table .mud-table-body .mud-table-cell,
    .ps-app .mud-table tbody .mud-td {
        font-size: 8pt !important;
        font-weight: 600 !important;
        font-variant-numeric: tabular-nums !important;
    }

    .ps-app .mud-table tfoot .mud-table-cell {
        font-size: 8.5pt !important;
        font-weight: 700 !important;
    }

    .num-display {
        font-size: inherit !important;
        color: #000 !important;
    }
}

/* ─── موبایل ─────────────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    :root {
        --ps-table-body-size: 0.9375rem;
        --ps-num-size-lg: 1.125rem;
    }

    .ps-form-section {
        padding: var(--ds-space-3, 0.75rem);
    }
}

/* حداقل خوانایی برای کلاس‌های size قدیمی در جداول و فرم‌ها */
.ps-app .mud-table .size7,
.ps-app .mud-table .size8,
.ps-app .mud-table .size9,
.ps-app .mud-table .size10,
.ps-app .mud-table .size11 {
    font-size: max(0.875rem, 1em) !important;
}

.ps-app .mud-table .size12,
.ps-app .mud-table .size13 {
    font-size: max(0.9375rem, 1em) !important;
}

.ps-app .filter-paper .mud-input,
.ps-app .page-filter-card .mud-input {
    min-height: 42px;
}

/* هدر صفحات ثبت داده */
.reg-page-header {
    background: var(--theme-gradient-primary) !important;
    color: var(--theme-appbar-text) !important;
    border-radius: var(--ps-form-radius);
    margin-bottom: var(--ps-form-gap);
}

.reg-page-header .mud-typography,
.reg-page-header .mud-icon {
    color: var(--theme-appbar-text) !important;
}

/* داشبورد: اعداد کارت‌های خلاصه */
.home-page-wrapper .home-card-content .mud-text.size10,
.home-page-wrapper .home-card-content .mud-text.size11,
.home-page-wrapper .home-card-content .mud-text.size12 {
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums;
}

.home-header-card {
    border-radius: var(--ps-form-radius);
    box-shadow: var(--ps-card-shadow);
}

/* ─── دیالوگ موبایل تمام‌عرض ─────────────────────────────────────────────── */
@media (max-width: 600px) {
    .mud-dialog {
        margin: 8px !important;
        max-width: calc(100vw - 16px) !important;
        width: calc(100vw - 16px) !important;
    }

    .mud-dialog-content {
        padding: 12px !important;
        max-height: calc(100vh - 180px) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .mud-dialog-actions {
        flex-wrap: wrap;
        gap: 8px;
        padding: 8px 12px !important;
    }

    .mud-dialog-actions .mud-button-root {
        flex: 1 1 auto;
        min-width: 120px;
    }
}

/* ─── Snackbar — خوانایی در تم تاریک/روشن ─────────────────────────────────── */
.mud-snackbar {
    border-radius: 10px !important;
    font-family: 'IRANSans', sans-serif !important;
    font-weight: 600 !important;
    box-shadow: var(--ps-shadow-md) !important;
}

[data-theme="dark"] .mud-snackbar-content-message {
    color: #f8fafc !important;
}

/* ─── فیلدهای فرم — انیمیشن فوکوس ───────────────────────────────────────── */
.ps-app .mud-input-outlined .mud-input-outlined-border {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ps-app .mud-input-outlined.mud-input-focused .mud-input-outlined-border,
.ps-app .mud-input-outlined.mud-input-outlined-focus .mud-input-outlined-border {
    box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb, 37, 99, 235), 0.18) !important;
}

[data-theme="dark"] .ps-app .mud-input-outlined.mud-input-focused .mud-input-outlined-border {
    box-shadow: 0 0 0 3px rgba(var(--theme-primary-rgb, 59, 130, 246), 0.25) !important;
}

/* ─── اسکرول نرم و لمس بهتر ─────────────────────────────────────────────── */
.ps-page,
.mobile-page-container {
    -webkit-overflow-scrolling: touch;
}

/* ─── کارت‌های KPI داشبورد — تم تاریک ───────────────────────────────────── */
[data-theme="dark"] .home-hero {
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .home-initial-loading {
    background: var(--ps-surface, #1a2332);
}

[data-theme="dark"] .home-initial-loading-hint {
    color: var(--theme-text-secondary, #94a3b8);
}

/* ─── بهبود عملکرد: کاهش انیمیشن برای کاربران حساس ─────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .ps-page,
    .login-page .floating-shapes .shape,
    .home-hero-orb {
        animation: none !important;
        transition: none !important;
    }
}
