@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn-Medium.woff2") format("woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: "Vazirmatn";
    src: url("../fonts/Vazirmatn-Bold.woff2") format("woff2");
    font-weight: 700 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --ux-bg: #f5f7fb;
    --ux-surface: #ffffff;
    --ux-surface-soft: #f8fafc;
    --ux-text: #182033;
    --ux-muted: #6f7890;
    --ux-subtle: #98a0b3;
    --ux-border: #e5e9f1;
    --ux-primary: #6557e8;
    --ux-primary-soft: #efedff;
    --ux-success: #0f9f75;
    --ux-success-soft: #e8f8f2;
    --ux-info: #1698bb;
    --ux-info-soft: #e8f7fb;
    --ux-warning: #d98919;
    --ux-warning-soft: #fff4e3;
    --ux-danger: #dc5870;
    --ux-danger-soft: #ffedf1;
    --ux-radius-sm: 10px;
    --ux-radius-md: 14px;
    --ux-radius-lg: 18px;
    --ux-shadow: 0 8px 26px rgba(25, 34, 58, .055);
    --ux-sidebar-width: 252px;
}

/* Base */
html, body {
    min-width: 0;
    background: var(--ux-bg);
}
body.utopia-admin,
.utopia-admin button,
.utopia-admin input,
.utopia-admin select,
.utopia-admin textarea,
.utopia-admin .btn,
.utopia-admin .table {
    font-family: "Vazirmatn", Tahoma, sans-serif !important;
}
body.utopia-admin {
    overflow-x: hidden;
    color: var(--ux-text);
    background: var(--ux-bg);
    font-size: 14px;
    font-weight: 400;
}
.utopia-admin *,
.utopia-admin *::before,
.utopia-admin *::after {
    box-sizing: border-box;
}
.utopia-admin img {
    max-width: 100%;
}
.utopia-admin .wrapper,
.utopia-admin .content-wrapper,
.utopia-admin .container-fluid,
.utopia-admin .row,
.utopia-admin [class*="col-"] {
    min-width: 0;
}
.ltr {
    direction: ltr;
    unicode-bidi: isolate;
}
ul {
    padding-inline-start: 0;
}
.dropdown-item {
    text-align: right;
}
.nav {
    padding-inline-start: 0 !important;
}

/* AdminLTE RTL compatibility */
.main-sidebar {
    right: 0;
    left: auto;
}
.sidebar {
    direction: ltr;
}
.sidebar > div:first-child,
.sidebar nav {
    direction: rtl;
}
.nav-sidebar .nav-link > p > .right {
    right: auto;
    left: 1rem;
}
.nav-sidebar > .nav-item .nav-icon {
    margin-right: 0;
    margin-left: .45rem;
}
.card-header > .card-tools {
    right: auto;
    left: 1rem;
}

/* Layout */
.utopia-admin .content-wrapper {
    min-height: 100vh !important;
    margin-left: 0;
    background: var(--ux-bg) !important;
}
.utopia-admin .main-sidebar {
    width: var(--ux-sidebar-width);
    border-left: 1px solid var(--ux-border);
    background: var(--ux-surface) !important;
    box-shadow: -10px 0 32px rgba(22, 30, 50, .04) !important;
}
.utopia-admin .ux-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 74px;
    padding: 13px 16px;
    border-bottom: 1px solid var(--ux-border) !important;
    color: var(--ux-text) !important;
}
.ux-brand-mark {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 14px;
    background: linear-gradient(135deg, #10bdb1, #6858ef);
    box-shadow: 0 8px 20px rgba(89, 78, 212, .22);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}
.ux-brand-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    line-height: 1.35;
}
.ux-brand-copy b {
    color: #20263a;
    font-size: 19px;
    font-weight: 900;
}
.ux-brand-copy small {
    margin-top: 3px;
    color: var(--ux-subtle);
    font-size: 10px;
}
.ux-admin-profile {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 13px 11px 8px;
    padding: 11px;
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-md);
    background: var(--ux-surface-soft);
}
.ux-admin-avatar {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    border-radius: 12px;
    background: var(--ux-primary-soft);
    color: var(--ux-primary);
}
.ux-admin-profile > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
.ux-admin-profile b {
    overflow: hidden;
    color: #2a3044;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-admin-profile small {
    margin-top: 3px;
    color: var(--ux-subtle);
    font-size: 10px;
}
.utopia-admin .sidebar {
    height: calc(100vh - 154px);
    padding: 4px 9px 24px;
    overflow-y: auto;
}
.utopia-admin .nav-sidebar > .nav-item {
    margin-bottom: 3px;
}
.utopia-admin .nav-sidebar .nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 11px;
    border-radius: 10px;
    color: #626b7d !important;
    font-size: 12.5px;
    font-weight: 500;
}
.utopia-admin .nav-sidebar .nav-link p {
    width: 100%;
    margin: 0;
    line-height: 1.7;
}
.utopia-admin .nav-sidebar .nav-link:hover {
    background: #f3f1ff !important;
    color: var(--ux-primary) !important;
}
.utopia-admin .nav-sidebar .menu-open > .nav-link,
.utopia-admin .nav-sidebar .nav-link.active {
    background: var(--ux-primary-soft) !important;
    box-shadow: none;
    color: #5547d4 !important;
    font-weight: 700;
}
.utopia-admin .nav-treeview {
    padding: 4px 12px 4px 0;
    border-right: 1px solid #e3e0fb;
}
.utopia-admin .nav-treeview .nav-link {
    min-height: 38px;
    padding: 7px 10px;
    font-size: 11.5px;
}
.utopia-admin .nav-sidebar .badge {
    margin-right: auto;
    border-radius: 999px;
}

/* Header */
.utopia-admin .ux-page-header {
    padding: 16px 22px 5px;
}
.ux-page-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.ux-page-title {
    display: flex;
    align-items: center;
    min-width: 0;
    gap: 12px;
}
.ux-menu-toggle {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid var(--ux-border);
    border-radius: 12px;
    background: var(--ux-surface);
    color: var(--ux-primary);
}
.ux-page-title span {
    display: block;
    margin-bottom: 2px;
    color: var(--ux-subtle);
    font-size: 10px;
}
.ux-page-title h1 {
    overflow: hidden;
    margin: 0;
    color: var(--ux-text);
    font-size: 24px;
    font-weight: 900;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-header-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--ux-border);
    border-radius: 999px;
    background: var(--ux-surface);
    color: var(--ux-muted);
    font-size: 10px;
    white-space: nowrap;
}
.ux-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #13ae7e;
    box-shadow: 0 0 0 4px rgba(19, 174, 126, .1);
}
.utopia-admin .ux-content {
    padding: 10px 22px 30px;
}

/* Dashboard */
.ux-dashboard {
    width: 100%;
    max-width: 1540px;
    margin: 0 auto;
    direction: rtl;
}
.ux-welcome-bar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 24px;
    margin-bottom: 12px;
    padding: 19px 20px;
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-lg);
    background: var(--ux-surface);
    box-shadow: var(--ux-shadow);
}
.ux-welcome-kicker {
    display: block;
    margin-bottom: 4px;
    color: var(--ux-primary);
    font-size: 11px;
    font-weight: 700;
}
.ux-welcome-bar h2 {
    margin: 0;
    color: #20263a;
    font-size: 20px;
    font-weight: 900;
    line-height: 1.7;
}
.ux-welcome-bar p {
    margin: 4px 0 0;
    color: var(--ux-muted);
    font-size: 12px;
    line-height: 1.8;
}
.ux-welcome-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
}
.ux-welcome-actions a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--ux-border);
    border-radius: 11px;
    background: var(--ux-surface-soft);
    color: #5e6678;
    font-size: 11.5px;
    font-weight: 700;
    white-space: nowrap;
}
.ux-welcome-actions a:hover {
    border-color: #cbc6f8;
    background: #f2f0ff;
    color: #5547d4;
}
.ux-welcome-actions i {
    color: var(--ux-primary);
    font-size: 14px;
}
.ux-action-notification {
    display: grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 6px;
    border-radius: 999px;
    background: #e94f67;
    color: #fff;
    font-size: 10px;
    font-style: normal;
    line-height: 1;
}

.ux-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}
.ux-summary-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    min-height: 106px;
    padding: 15px;
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-md);
    background: var(--ux-surface);
    box-shadow: 0 5px 18px rgba(25, 34, 58, .035);
}
.ux-summary-icon {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--ux-primary-soft);
    color: var(--ux-primary);
    font-size: 17px;
}
.ux-summary-card > div {
    min-width: 0;
}
.ux-summary-card .ux-card-label {
    display: block;
    overflow: hidden;
    color: var(--ux-muted);
    font-size: 12px;
    line-height: 1.55;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-money {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 6px;
    margin-top: 5px;
    direction: ltr;
    text-align: left;
}
.ux-money-value {
    min-width: 0;
    color: #20263a;
    font-size: clamp(20px, 1.55vw, 27px);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.35px;
    white-space: nowrap;
}
.ux-money-unit {
    flex: 0 0 auto;
    color: var(--ux-subtle);
    font-size: 10px;
    font-weight: 500;
}
.ux-summary-card .ux-card-note {
    display: block;
    margin-top: 4px;
    color: var(--ux-subtle);
    font-size: 10px;
}
.ux-summary-card.green .ux-summary-icon,
.ux-summary-card.mint .ux-summary-icon {
    background: var(--ux-success-soft);
    color: var(--ux-success);
}
.ux-summary-card.cyan .ux-summary-icon {
    background: var(--ux-info-soft);
    color: var(--ux-info);
}
.ux-summary-card.orange .ux-summary-icon {
    background: var(--ux-warning-soft);
    color: var(--ux-warning);
}
.ux-summary-card.red .ux-summary-icon {
    background: var(--ux-danger-soft);
    color: var(--ux-danger);
}
.ux-summary-card.neutral .ux-summary-icon {
    background: #eef1f5;
    color: #687183;
}

.ux-dashboard-row {
    display: grid;
    grid-template-columns: minmax(0, 1.58fr) minmax(300px, .72fr);
    gap: 11px;
    margin-top: 12px;
}
.ux-data-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-lg);
    background: var(--ux-surface);
    box-shadow: var(--ux-shadow);
}
.ux-data-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px 17px;
    border-bottom: 1px solid var(--ux-border);
}
.ux-data-head > div {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
}
.ux-data-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 12px;
    background: var(--ux-primary-soft);
    color: var(--ux-primary);
    font-size: 15px;
}
.ux-data-icon.green {
    background: var(--ux-success-soft);
    color: var(--ux-success);
}
.ux-data-head h3 {
    margin: 0;
    color: #252b3d;
    font-size: 15px;
    font-weight: 900;
}
.ux-data-head p {
    overflow: hidden;
    margin: 3px 0 0;
    color: var(--ux-subtle);
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-live-pill {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--ux-success-soft);
    color: var(--ux-success);
    font-size: 9px;
    font-weight: 700;
}
.ux-live-pill i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #12ad7c;
}

.ux-balance-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    padding: 12px;
}
.ux-balance-item {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    grid-template-areas:
        "logo name"
        "logo values";
    align-items: center;
    min-width: 0;
    min-height: 94px;
    padding: 12px;
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-md);
    background: var(--ux-surface-soft);
}
.ux-balance-item.premium,
.ux-balance-item.hotvoucher {
    border-color: #ddd9fb;
    background: #f8f7ff;
}
.ux-balance-logo {
    grid-area: logo;
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--ux-border);
    border-radius: 12px;
    background: #fff;
}
.ux-balance-logo img {
    width: 34px;
    height: 34px;
    object-fit: contain;
    border-radius: 7px;
}
.ux-balance-name {
    grid-area: name;
    min-width: 0;
    padding-right: 10px;
}
.ux-balance-name b {
    display: block;
    overflow: hidden;
    color: #252b3d;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-balance-name span {
    display: block;
    margin-top: 2px;
    color: var(--ux-subtle);
    font-size: 9px;
}
.ux-balance-amount {
    grid-area: values;
    min-width: 0;
    padding-top: 7px;
    padding-right: 10px;
    border-top: 1px dashed #e2e6ee;
}
.ux-balance-primary,
.ux-balance-rial {
    display: flex;
    min-width: 0;
    align-items: baseline;
    justify-content: flex-start;
    gap: 5px;
    direction: ltr;
    text-align: left;
}
.ux-balance-primary strong {
    color: #182033;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.25;
    white-space: nowrap;
}
.ux-balance-primary small {
    color: var(--ux-muted);
    font-size: 9px;
}
.ux-balance-rial {
    margin-top: 4px;
    color: #677188;
    font-size: 12px;
    font-weight: 500;
}
.ux-balance-rial strong {
    color: #424b60;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.ux-no-data {
    grid-column: 1 / -1;
    padding: 28px;
    color: var(--ux-muted);
    font-size: 12px;
    text-align: center;
}

.ux-market-list {
    padding: 4px 13px 10px;
}
.ux-market-list article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 68px;
    padding: 9px 1px;
    border-bottom: 1px solid var(--ux-border);
}
.ux-market-list article:last-child {
    border-bottom: 0;
}
.ux-market-list article > span {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}
.ux-market-list img {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 3px;
    border: 1px solid var(--ux-border);
    border-radius: 10px;
    background: #fff;
    object-fit: contain;
}
.ux-market-list b {
    overflow: hidden;
    color: #4d566b;
    font-size: 12px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.ux-market-price {
    display: flex;
    flex: 0 0 auto;
    align-items: baseline;
    gap: 5px;
    direction: ltr;
    color: #20263a;
    text-align: left;
}
.ux-market-price strong {
    font-size: 17px;
    font-weight: 900;
    white-space: nowrap;
}
.ux-market-price small {
    color: var(--ux-subtle);
    font-size: 9px;
}

/* Shared cards, forms and tables */
.utopia-admin .card {
    border: 1px solid var(--ux-border);
    border-radius: var(--ux-radius-lg);
    box-shadow: var(--ux-shadow);
}
.utopia-admin .card-header {
    padding: 15px 17px;
    border-bottom: 1px solid var(--ux-border);
    background: #fff;
}
.utopia-admin .card-body {
    padding: 17px;
}
.utopia-admin .table-responsive {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.utopia-admin .table {
    width: 100%;
    margin-bottom: 0;
    color: #354057;
    font-size: 13px;
}
.utopia-admin .table thead th {
    padding: 12px 10px;
    border-top: 0;
    border-bottom: 1px solid var(--ux-border);
    background: var(--ux-surface-soft);
    color: #687287;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.utopia-admin .table td {
    padding: 12px 10px;
    vertical-align: middle;
    border-color: #edf0f5;
}
.utopia-admin .badge {
    max-width: 100%;
    line-height: 1.45;
    white-space: normal;
}
.utopia-admin .btn {
    min-height: 40px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
}
.utopia-admin .btn-primary {
    border-color: var(--ux-primary);
    background: var(--ux-primary);
}
.utopia-admin .form-control,
.utopia-admin .select2-container--default .select2-selection--single {
    min-height: 44px;
    border-color: #dfe4ed;
    border-radius: 10px;
    background: #fff;
    color: #354057;
    font-size: 13px;
}
.utopia-admin .form-control:focus {
    border-color: #958df1;
    box-shadow: 0 0 0 3px rgba(101, 87, 232, .09);
}

/* Desktop */
@media (min-width: 992px) {
    .utopia-admin .content-wrapper,
    .utopia-admin .main-header,
    .utopia-admin .main-footer {
        margin-right: var(--ux-sidebar-width);
        margin-left: 0;
    }
    .utopia-admin.sidebar-collapse .content-wrapper,
    .utopia-admin.sidebar-collapse .main-header,
    .utopia-admin.sidebar-collapse .main-footer {
        margin-right: 4.6rem;
    }
}

/* Tablet */
@media (max-width: 1199.98px) {
    .ux-welcome-bar {
        grid-template-columns: 1fr;
    }
    .ux-welcome-actions {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .ux-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .ux-dashboard-row {
        grid-template-columns: 1fr;
    }
}

/* Mobile */
@media (max-width: 991.98px) {
    .utopia-admin .main-sidebar,
    .utopia-admin .main-sidebar::before {
        margin-right: calc(-1 * var(--ux-sidebar-width));
        margin-left: 0;
        box-shadow: none !important;
    }
    .utopia-admin.sidebar-open .main-sidebar,
    .utopia-admin.sidebar-open .main-sidebar::before {
        margin-right: 0;
        z-index: 1040;
        box-shadow: -14px 0 35px rgba(14, 21, 38, .18) !important;
    }
    .utopia-admin .content-wrapper,
    .utopia-admin .main-header,
    .utopia-admin .main-footer {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media (max-width: 767.98px) {
    body.utopia-admin {
        font-size: 14px;
    }
    .utopia-admin .ux-page-header {
        padding: 12px 10px 4px;
    }
    .utopia-admin .ux-content {
        padding: 8px 10px 22px;
    }
    .ux-page-heading {
        gap: 10px;
    }
    .ux-header-status {
        display: none;
    }
    .ux-menu-toggle {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
    .ux-page-title span {
        font-size: 9px;
    }
    .ux-page-title h1 {
        font-size: 20px;
    }

    .ux-welcome-bar {
        display: block;
        padding: 15px;
        border-radius: 15px;
    }
    .ux-welcome-bar h2 {
        font-size: 18px;
        line-height: 1.75;
    }
    .ux-welcome-bar p {
        font-size: 12px;
    }
    .ux-welcome-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 14px;
    }
    .ux-welcome-actions a {
        min-width: 0;
        min-height: 46px;
        padding: 8px 7px;
        font-size: 11px;
        line-height: 1.45;
        text-align: center;
        white-space: normal;
    }

    .ux-summary-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .ux-summary-card {
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 88px;
        padding: 12px;
    }
    .ux-summary-icon {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }
    .ux-summary-card .ux-card-label {
        font-size: 12px;
    }
    .ux-money {
        justify-content: flex-start;
        margin-top: 3px;
    }
    .ux-money-value {
        font-size: clamp(20px, 6vw, 25px);
    }
    .ux-money-unit {
        font-size: 10px;
    }
    .ux-summary-card .ux-card-note {
        font-size: 9px;
    }

    .ux-dashboard-row {
        gap: 9px;
        margin-top: 9px;
    }
    .ux-data-head {
        padding: 13px;
    }
    .ux-data-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }
    .ux-data-head h3 {
        font-size: 14px;
    }
    .ux-data-head p {
        max-width: 200px;
        font-size: 9px;
    }

    .ux-balance-list {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 9px;
    }
    .ux-balance-item {
        grid-template-columns: 42px minmax(0, 1fr);
        min-height: 102px;
        padding: 11px;
    }
    .ux-balance-logo {
        width: 42px;
        height: 42px;
    }
    .ux-balance-logo img {
        width: 32px;
        height: 32px;
    }
    .ux-balance-name {
        padding-right: 9px;
    }
    .ux-balance-name b {
        font-size: 14px;
    }
    .ux-balance-amount {
        padding-right: 9px;
    }
    .ux-balance-primary strong {
        font-size: 19px;
    }
    .ux-balance-rial {
        margin-top: 5px;
        font-size: 12px;
    }
    .ux-balance-rial strong {
        font-size: 15px;
    }

    .ux-market-list {
        padding: 3px 11px 8px;
    }
    .ux-market-list article {
        min-height: 64px;
    }
    .ux-market-list b {
        font-size: 12px;
    }
    .ux-market-price strong {
        font-size: 16px;
    }

    .utopia-admin .card {
        border-radius: 15px;
    }
    .utopia-admin .card-body {
        padding: 13px;
    }
    .utopia-admin .table {
        min-width: 760px;
        font-size: 12px;
    }
    .utopia-admin .table th,
    .utopia-admin .table td {
        padding: 10px 8px;
    }
}

@media (max-width: 420px) {
    .ux-welcome-actions {
        grid-template-columns: 1fr;
    }
    .ux-data-head p {
        max-width: 155px;
    }
}


/* ========================================================================== */
/* Emergency readability + reliable mobile sidebar fix                        */
/* ========================================================================== */
body.utopia-admin {
    font-size: 16px;
}
.utopia-admin .nav-sidebar .nav-link {
    min-height: 49px;
    font-size: 15px;
}
.utopia-admin .nav-treeview .nav-link {
    min-height: 43px;
    font-size: 13.5px;
}
.ux-page-title span {
    font-size: 12px;
}
.ux-page-title h1 {
    font-size: 28px;
}
.ux-welcome-kicker {
    font-size: 13px;
}
.ux-welcome-bar h2 {
    font-size: 24px;
}
.ux-welcome-bar p {
    font-size: 14px;
}
.ux-welcome-actions a {
    min-height: 48px;
    font-size: 14px;
}
.ux-summary-card {
    min-height: 122px;
}
.ux-summary-card .ux-card-label {
    font-size: 14px;
}
.ux-money-value {
    font-size: clamp(24px, 1.8vw, 31px);
}
.ux-money-unit,
.ux-summary-card .ux-card-note {
    font-size: 12px;
}
.ux-data-head h3 {
    font-size: 18px;
}
.ux-data-head p {
    font-size: 13px;
}
.ux-live-pill {
    font-size: 11px;
}
.ux-balance-name b {
    font-size: 16px;
}
.ux-balance-name span {
    font-size: 12px;
}
.ux-balance-primary strong {
    font-size: 21px;
}
.ux-balance-primary small {
    font-size: 11px;
}
.ux-balance-rial {
    font-size: 14px;
}
.ux-balance-rial strong {
    font-size: 17px;
}
.ux-market-list b {
    font-size: 14px;
}
.ux-market-price strong {
    font-size: 19px;
}
.ux-market-price small {
    font-size: 11px;
}
.utopia-admin .table {
    font-size: 14px;
}
.utopia-admin .table thead th {
    font-size: 13px;
}
.utopia-admin .btn,
.utopia-admin .form-control,
.utopia-admin .select2-container--default .select2-selection--single {
    font-size: 14px;
}

/* Sidebar overlay used by the explicit mobile toggle. */
.ux-sidebar-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1035;
    display: none;
    background: rgba(15, 23, 42, .42);
}
body.sidebar-open .ux-sidebar-backdrop {
    display: block;
}

@media (max-width: 991.98px) {
    .utopia-admin .main-sidebar {
        position: fixed !important;
        top: 0;
        right: 0 !important;
        bottom: 0;
        left: auto !important;
        z-index: 1040;
        width: var(--ux-sidebar-width);
        margin: 0 !important;
        transform: translateX(105%);
        transition: transform .25s ease;
        visibility: visible !important;
    }
    .utopia-admin.sidebar-open .main-sidebar {
        transform: translateX(0);
    }
    body.sidebar-open {
        overflow: hidden;
    }
}

@media (max-width: 767.98px) {
    body.utopia-admin {
        font-size: 16px;
    }
    .utopia-admin .ux-page-header {
        padding: 14px 12px 5px;
    }
    .utopia-admin .ux-content {
        padding: 10px 12px 26px;
    }
    .ux-page-title span {
        font-size: 11px;
    }
    .ux-page-title h1 {
        font-size: 25px;
    }
    .ux-welcome-bar {
        padding: 18px;
    }
    .ux-welcome-bar h2 {
        font-size: 22px;
    }
    .ux-welcome-bar p {
        font-size: 14px;
    }
    .ux-welcome-actions a {
        min-height: 52px;
        font-size: 14px;
    }
    .ux-summary-card {
        min-height: 108px;
        padding: 15px;
    }
    .ux-summary-card .ux-card-label {
        font-size: 14px;
    }
    .ux-money-value {
        font-size: clamp(24px, 7vw, 30px);
    }
    .ux-money-unit,
    .ux-summary-card .ux-card-note {
        font-size: 12px;
    }
    .ux-data-head h3 {
        font-size: 17px;
    }
    .ux-data-head p {
        max-width: 230px;
        font-size: 12px;
    }
    .ux-balance-item {
        min-height: 116px;
        padding: 14px;
    }
    .ux-balance-name b {
        font-size: 16px;
    }
    .ux-balance-name span {
        font-size: 12px;
    }
    .ux-balance-primary strong {
        font-size: 23px;
    }
    .ux-balance-primary small {
        font-size: 12px;
    }
    .ux-balance-rial strong {
        font-size: 18px;
    }
    .ux-balance-rial span {
        font-size: 13px;
    }
    .ux-market-list b {
        font-size: 14px;
    }
    .ux-market-price strong {
        font-size: 19px;
    }
}


/* ========================================================================== */
/* Final dashboard summary sizing                                              */
/* Only affects the top statistics cards. Wallet, voucher and market values    */
/* remain larger and unchanged.                                                */
/* ========================================================================== */
.ux-summary-card {
    min-height: 104px;
    padding: 14px;
}

.ux-summary-card .ux-card-label {
    font-size: 13px;
}

.ux-summary-card .ux-money-value,
.ux-summary-card .ux-money-value {
    font-size: 20px;
}

.ux-summary-card .ux-money-unit {
    font-size: 10px;
}

.ux-summary-card .ux-card-note {
    font-size: 10px;
}

@media (max-width: 767.98px) {
    .ux-summary-card {
        min-height: 94px;
        padding: 13px;
    }

    .ux-summary-card .ux-card-label {
        font-size: 13px;
    }

    .ux-summary-card .ux-money-value {
        font-size: 21px;
    }

    .ux-summary-card .ux-money-unit,
    .ux-summary-card .ux-card-note {
        font-size: 10px;
    }
}


/* ========================================================================== */
/* Final KPI override — dashboard statistics only                             */
/* ========================================================================== */
body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card {
    min-height: 96px !important;
    padding: 12px 13px !important;
}

body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-card-label {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-money-value {
    font-size: 19px !important;
    line-height: 1.25 !important;
}

body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-money-unit,
body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-card-note {
    font-size: 9px !important;
}

body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-icon {
    width: 42px !important;
    height: 42px !important;
    font-size: 15px !important;
}

@media (max-width: 767.98px) {
    body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card {
        min-height: 88px !important;
        padding: 11px 12px !important;
    }

    body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-card-label {
        font-size: 12px !important;
    }

    body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-money-value {
        font-size: 18px !important;
    }

    body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-money-unit,
    body.utopia-admin .ux-dashboard .ux-summary-grid .ux-summary-card .ux-card-note {
        font-size: 9px !important;
    }
}

/* UtopiaX mobile wallet layout fix - 2026-08-20 */
.ux-wallet-mobile-list { display: grid; gap: 11px; }
.ux-wallet-mobile-item { overflow: hidden; border: 1px solid #e1e5ed; border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(35,38,58,.045); }
.ux-wallet-mobile-item header,
.ux-wallet-mobile-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 10px; padding: 11px 13px; }
.ux-wallet-mobile-item header { border-bottom: 1px solid #edf0f5; }
.ux-wallet-mobile-item small { display: block; margin-bottom: 3px; color: #818797; font-size: 12px; }
.ux-wallet-mobile-item b { color: #282d3e; font-size: 15px; font-weight: 700; }
.ux-wallet-type { justify-self: end; padding: 5px 9px; border-radius: 8px; font-size: 13px; font-weight: 700; }
.ux-wallet-type.increment { background: #e8f8f2; color: #0b9069; }
.ux-wallet-type.decrement { background: #ffedf0; color: #ce4961; }
.ux-wallet-mobile-summary a { color: #4740b8; font-size: 15px; font-weight: 700; }
.ux-wallet-mobile-summary > div:last-child { text-align: left; }
.ux-wallet-mobile-summary strong { color: #202638; font-size: 18px; font-weight: 700; white-space: nowrap; }
.ux-wallet-mobile-summary strong span { color: #858b9b; font-size: 12px; font-weight: 400; }
.ux-wallet-mobile-card-number { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; margin: 0 13px 11px; padding: 12px; border: 1px solid #dcd9fa; border-radius: 12px; background: #f8f7ff; }
.ux-wallet-mobile-card-number small { font-size: 13px; }
.ux-wallet-mobile-card-number b { font-size: 18px; letter-spacing: .4px; }
.ux-copy-card-number { min-height: 42px; padding: 8px 11px; border: 0; border-radius: 10px; background: #5f55df; color: #fff; font-size: 13px; font-weight: 800; white-space: nowrap; }
.ux-wallet-mobile-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0 13px 11px; }
.ux-wallet-mobile-actions .btn { min-height: 42px; padding: 9px 7px; color: #fff !important; font-size: 13px; font-weight: 700; }
.ux-wallet-mobile-actions > .badge { grid-column: 1/-1; justify-self: stretch; padding: 7px 9px; text-align: center; }
.ux-wallet-mobile-actions form { min-width: 0; margin: 0; }
.ux-wallet-mobile-actions form .btn,
.ux-wallet-mobile-actions > .btn { width: 100%; margin: 0 !important; }
.ux-wallet-mobile-details { border-top: 1px solid #edf0f5; }
.ux-wallet-mobile-details summary { padding: 10px 13px; color: #5b52d5; font-size: 14px; font-weight: 700; cursor: pointer; list-style-position: inside; }
.ux-wallet-mobile-details[open] summary { border-bottom: 1px solid #edf0f5; background: #fafafe; }
.ux-wallet-mobile-details > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 8px; padding: 8px 13px; border-bottom: 1px solid #f0f2f6; }
.ux-wallet-mobile-details > div span { color: #7d8393; font-size: 13px; }
.ux-wallet-mobile-details > div b { overflow-wrap: anywhere; font-size: 14px; text-align: left; }
.ux-wallet-mobile-details > .btn { margin: 9px 4px 11px; color: #fff !important; font-size: 13px; }
@media (min-width:768px) { .ux-wallet-mobile-list { display:none !important; } }
@media (max-width:420px) { .ux-wallet-mobile-card-number { grid-template-columns:1fr; } .ux-copy-card-number { width:100%; } }
@media (max-width: 991.98px) {
    .utopia-admin.sidebar-open .main-sidebar,
    .utopia-admin.sidebar-open .main-sidebar::before {
        z-index: 1100;
    }
}

/* UtopiaX Dark Mode — visual layer only */
.ux-header-actions{display:flex;align-items:center;gap:9px}.ux-theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--ux-border);border-radius:12px;background:var(--ux-surface);color:var(--ux-muted);cursor:pointer}.ux-theme-toggle:focus-visible{outline:2px solid var(--ux-primary);outline-offset:2px}.ux-theme-icon-light{display:none}
html[data-ux-theme="dark"]{color-scheme:dark;--ux-bg:#0d1726;--ux-surface:#121f30;--ux-surface-soft:#172538;--ux-text:#edf3fb;--ux-muted:#aab6c8;--ux-subtle:#7f8da3;--ux-border:#253449;--ux-primary:#8b7cf6;--ux-primary-soft:#29264d;--ux-success:#35c796;--ux-success-soft:#173a35;--ux-info:#42b9d7;--ux-info-soft:#173541;--ux-warning:#f1a63b;--ux-warning-soft:#3b3020;--ux-danger:#ef7188;--ux-danger-soft:#402632;--ux-shadow:0 8px 26px rgba(0,0,0,.18)}
html[data-ux-theme="dark"],html[data-ux-theme="dark"] body,html[data-ux-theme="dark"] body.utopia-admin,html[data-ux-theme="dark"] .utopia-admin .wrapper,html[data-ux-theme="dark"] .utopia-admin .content-wrapper{background:var(--ux-bg)!important;color:var(--ux-text)}
html[data-ux-theme="dark"] .utopia-admin .main-sidebar{background:#101c2b!important;border-left-color:var(--ux-border);box-shadow:-10px 0 32px rgba(0,0,0,.16)!important}
html[data-ux-theme="dark"] .ux-brand-copy b,html[data-ux-theme="dark"] .ux-welcome-bar h2,html[data-ux-theme="dark"] .ux-money-value,html[data-ux-theme="dark"] .ux-market-price,html[data-ux-theme="dark"] .ux-market-price strong,html[data-ux-theme="dark"] .card-title,html[data-ux-theme="dark"] h1,html[data-ux-theme="dark"] h2,html[data-ux-theme="dark"] h3,html[data-ux-theme="dark"] h4,html[data-ux-theme="dark"] h5,html[data-ux-theme="dark"] h6,html[data-ux-theme="dark"] label{color:var(--ux-text)!important}
html[data-ux-theme="dark"] .utopia-admin .card,html[data-ux-theme="dark"] .utopia-admin .info-box,html[data-ux-theme="dark"] .utopia-admin .small-box,html[data-ux-theme="dark"] .utopia-admin .modal-content,html[data-ux-theme="dark"] .utopia-admin .dropdown-menu,html[data-ux-theme="dark"] .utopia-admin .list-group-item,html[data-ux-theme="dark"] .utopia-admin .card-header,html[data-ux-theme="dark"] .ux-balance-logo,html[data-ux-theme="dark"] .ux-market-logo,html[data-ux-theme="dark"] .ux-wallet-mobile-item{background:var(--ux-surface)!important;border-color:var(--ux-border)!important;color:var(--ux-text)!important}
html[data-ux-theme="dark"] .utopia-admin .table{color:var(--ux-text)!important}html[data-ux-theme="dark"] .utopia-admin .table td,html[data-ux-theme="dark"] .utopia-admin .table th{border-color:var(--ux-border)!important}html[data-ux-theme="dark"] .utopia-admin .table-striped tbody tr:nth-of-type(odd),html[data-ux-theme="dark"] .utopia-admin .table-hover tbody tr:hover{background:#172538!important;color:var(--ux-text)!important}
html[data-ux-theme="dark"] .utopia-admin .form-control,html[data-ux-theme="dark"] .utopia-admin .custom-select,html[data-ux-theme="dark"] .utopia-admin .select2-selection,html[data-ux-theme="dark"] .utopia-admin .custom-file-label,html[data-ux-theme="dark"] .utopia-admin input,html[data-ux-theme="dark"] .utopia-admin textarea,html[data-ux-theme="dark"] .utopia-admin select{background:#0f1b2a!important;border-color:#314159!important;color:var(--ux-text)!important}
html[data-ux-theme="dark"] .utopia-admin input::placeholder,html[data-ux-theme="dark"] .utopia-admin textarea::placeholder{color:#718096!important}html[data-ux-theme="dark"] .select2-dropdown,html[data-ux-theme="dark"] .select2-results__option{background:#121f30;border-color:var(--ux-border);color:var(--ux-text)}html[data-ux-theme="dark"] .select2-results__option--highlighted{background:var(--ux-primary)!important;color:#fff!important}
html[data-ux-theme="dark"] .utopia-admin .btn-default,html[data-ux-theme="dark"] .utopia-admin .btn-light{background:#172538!important;border-color:var(--ux-border)!important;color:var(--ux-text)!important}html[data-ux-theme="dark"] .utopia-admin .text-dark{color:var(--ux-text)!important}html[data-ux-theme="dark"] .utopia-admin .text-muted{color:var(--ux-muted)!important}html[data-ux-theme="dark"] .utopia-admin hr{border-color:var(--ux-border)}
html[data-ux-theme="dark"] .utopia-admin .nav-sidebar .nav-link{color:#b9c5d6!important}html[data-ux-theme="dark"] .utopia-admin .nav-sidebar .nav-link:hover{background:#17263a!important;color:#fff!important}html[data-ux-theme="dark"] .utopia-admin .nav-sidebar .nav-link.active{background:#29264d!important;color:#a99cff!important}
html[data-ux-theme="dark"] .ux-theme-toggle{background:#29264d;border-color:#514b88;color:#b8adff}html[data-ux-theme="dark"] .ux-theme-icon-dark{display:none}html[data-ux-theme="dark"] .ux-theme-icon-light{display:inline-block}html[data-ux-theme="dark"] .utopia-admin .pagination .page-link{background:var(--ux-surface);border-color:var(--ux-border);color:var(--ux-muted)}html[data-ux-theme="dark"] .utopia-admin .pagination .active .page-link{background:var(--ux-primary);border-color:var(--ux-primary);color:#fff}html[data-ux-theme="dark"] .utopia-admin .modal-header,html[data-ux-theme="dark"] .utopia-admin .modal-footer{border-color:var(--ux-border)}html[data-ux-theme="dark"] .utopia-admin .close{color:#fff;text-shadow:none;opacity:.75}html[data-ux-theme="dark"] .utopia-admin .bg-white{background:var(--ux-surface)!important}
@media(max-width:767.98px){.ux-header-actions{gap:6px}.ux-theme-toggle{width:36px;height:36px;border-radius:11px}}

/* UtopiaX Dark Mode — component coverage 2026-08-29 */
html[data-ux-theme="dark"] .utopia-admin .ux-users-summary,
html[data-ux-theme="dark"] .utopia-admin .ux-users-result-bar,
html[data-ux-theme="dark"] .utopia-admin .ux-users-advanced-filters,
html[data-ux-theme="dark"] .utopia-admin .ux-mobile-table-wrap,
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item,
html[data-ux-theme="dark"] .utopia-admin .ux-mobile-users-table tbody tr,
html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-item,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-card-number,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-details[open] summary,
html[data-ux-theme="dark"] .utopia-admin .voucher-name {
    background: var(--ux-surface-soft) !important;
    border-color: var(--ux-border) !important;
    color: var(--ux-text) !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-summary-item:hover {
    background: #1b2b40 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .2) !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-summary-item span,
html[data-ux-theme="dark"] .utopia-admin .ux-users-result-bar span,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-item small,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-details > div span,
html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-item small,
html[data-ux-theme="dark"] .utopia-admin .ux-data-head p,
html[data-ux-theme="dark"] .utopia-admin .ux-card-note,
html[data-ux-theme="dark"] .utopia-admin .ux-money-unit,
html[data-ux-theme="dark"] .utopia-admin .ux-market-price small {
    color: var(--ux-muted) !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-summary-item strong,
html[data-ux-theme="dark"] .utopia-admin .ux-users-result-bar strong,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-item b,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-summary strong,
html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-title b {
    color: var(--ux-text) !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-welcome-actions a,
html[data-ux-theme="dark"] .utopia-admin .ux-card-label,
html[data-ux-theme="dark"] .utopia-admin .ux-market-list b,
html[data-ux-theme="dark"] .utopia-admin .ux-balance-name span {
    color: #c4cede !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-rate-health {
    border-top-color: var(--ux-border) !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-item.is-success {
    background: var(--ux-success-soft) !important;
    border-color: #286557 !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-item.is-error {
    background: var(--ux-danger-soft) !important;
    border-color: #704052 !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-rate-health-item.is-unknown {
    background: var(--ux-warning-soft) !important;
    border-color: #6b5731 !important;
}

html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.purple i { background:#302b58 !important; color:#b8adff !important; }
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.green i { background:var(--ux-success-soft) !important; color:var(--ux-success) !important; }
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.blue i { background:var(--ux-info-soft) !important; color:var(--ux-info) !important; }
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.gray i { background:#29364a !important; color:#c0cada !important; }
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.orange i { background:var(--ux-warning-soft) !important; color:var(--ux-warning) !important; }
html[data-ux-theme="dark"] .utopia-admin .ux-summary-item.red i { background:var(--ux-danger-soft) !important; color:var(--ux-danger) !important; }

html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-details,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-details > div,
html[data-ux-theme="dark"] .utopia-admin .ux-wallet-mobile-item header {
    border-color: var(--ux-border) !important;
}
