:root {
    --nexa-gold: #c7a13a;
    --nexa-dark: #2e2e2e;
    --nexa-success: #2e7d32;
    --nexa-danger: #c62828;
    --nexa-warning: #ef8f00;
    --nexa-bg: #f8f8f8;
    --nexa-border: #e3e3e3;
    --nexa-text: #202020;
}

html,
body {
    direction: rtl;
    font-family:
        Vazirmatn,
        IRANSans,
        Segoe UI,
        Tahoma,
        sans-serif;
    background: var(--nexa-bg);
    color: var(--nexa-text);
}

.nexa-input {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--nexa-border);
    border-radius: 10px;
    padding: 8px 12px;
    background: #fff;
    outline: none;
    text-align: right;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease;
}

.nexa-input:focus {
    border-color: var(--nexa-gold);
    box-shadow: 0 0 0 3px rgba(199, 161, 58, 0.16);
}

.nexa-number-input {
    text-align: end;
    font-variant-numeric: tabular-nums;
}

.nexa-date-picker {
    display: flex;
    align-items: center;
    gap: 6px;
    width: 100%;
}

.nexa-date-button,
.nexa-date-clear {
    border: none;
    border-radius: 10px;
    min-height: 38px;
    padding: 0 12px;
    cursor: pointer;
}

.nexa-date-button {
    background: var(--nexa-dark);
    color: #fff;
}

.nexa-date-clear {
    background: #f1f1f1;
    color: var(--nexa-danger);
    font-size: 20px;
    line-height: 1;
}

.nexa-action-button {
    border: none;
    border-radius: 12px;
    min-height: 38px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    cursor: pointer;
    color: #fff;
    font-weight: 600;
    transition:
        transform 0.12s ease,
        opacity 0.12s ease;
}

.nexa-action-button:hover {
    transform: translateY(-1px);
}

.nexa-action-button:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    transform: none;
}

.nexa-action-primary {
    background: var(--nexa-gold);
}

.nexa-action-success {
    background: var(--nexa-success);
}

.nexa-action-danger {
    background: var(--nexa-danger);
}

.nexa-action-warning {
    background: var(--nexa-warning);
}

.nexa-action-secondary {
    background: var(--nexa-dark);
}

.nexa-action-icon {
    font-size: 16px;
    line-height: 1;
}

.dxbl-grid,
.dxbl-grid table,
.dxbl-text-edit,
.dxbl-spin-edit,
.dxbl-combobox {
    direction: rtl;
    text-align: right;
}

.dxbl-grid td,
.dxbl-grid th {
    text-align: right;
}

.nexa-grid-number {
    text-align: left !important;
    direction: ltr !important;
    font-variant-numeric: tabular-nums;
}

.nexa-dx-number input {
    text-align: left !important;
    direction: ltr !important;
    font-variant-numeric: tabular-nums;
}

.nexa-dx-text input {
    text-align: right !important;
    direction: rtl !important;
}

.nexa-dx-action {
    min-width: 96px;
    border-radius: 12px !important;
    font-weight: 800;
}

.dxbl-spin-edit .dxbl-btn-group {
    display: none !important;
}

.nexa-app-loading {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    direction: rtl;
    font-weight: 800;
    color: #333;
    background: #f7f7f7;
}

.nexa-buy-card {
    background: #f2fbf5;
    border: 2px solid #22a559;
}

.nexa-sell-card {
    background: #fff3f3;
    border: 2px solid #d64545;
}
