/*
Theme Name: Marlik Theme
Author: Shalvarak
Description: Marlik try idklike100
Version: 1.0
*/

:root {
  /* Brand Colors */
  --yellow-primary: #F9D300;
  --yellow-dark: #E5BD00;
  --yellow-soft: #FFF7C2;

  /* Neutral */
  --black: #000000;
  --black-soft: #0E0E0E;
  --charcoal: #3A3A3A;
  --gray-light: #E5E5E5;
  --white: #FFFFFF;
    
  /* Semantic */
  --success: #37C871;
  --warning: #FFB43C;
  --error: #E54848;

  /* Typography */
  
  --font-main: 'Vazir', system-ui, sans-serif;
  --font-number: 'VazirFD','Vazir', sans-serif;

  /* Spacing */
  --radius: 12px;
  --padding: 16px;
}

/* Namespace wrapper to avoid conflicts */

/*---------------------------------------------START ADMIN PAGE ----------------------------------*/

.logout-btn{
    position: fixed;
    left: 14px;
    background: #ef4444;
    color: #fff;
    font-size: 13px;
    padding: 6px 12px;
    border-radius: 7px;
    text-decoration: none;
    font-weight: 600;
    font-family: var(--font-main);
    box-shadow: 0 2px 6px rgba(0,0,0,.15);
    z-index: auto;
}


.logout-btn:hover{
    background:#dc2626;
}

.logout-btn:active{
    transform: translateY(1px);
}

/*--------------------------Price Page------------------------*/


/*--------GRID PAGE WRAPPER ---------------*/ 




.ts-admin-wrapper {
    max-width: 1200px;
    margin: 0 auto; 
    padding: 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    font-family: var(--font-main);
}

.ts-admin-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

/* Grid placement */
.ts-grid-last-price { grid-column: 1; grid-row: 1; }
.ts-grid-set-price  { grid-column: 2; grid-row: 1; }
.ts-grid-market     { grid-column: 1; grid-row: 2; }
.ts-grid-mode       { grid-column: 2; grid-row: 2; }

/* Common box styling */
.ts-grid-item {
    background: #ffffff;
    padding: 16px;
    border-radius: 12px;
    border: 1px solid #e5e5e5;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

/* Headings */
.ts-admin-wrapper h2 {
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 600;
    color: #1d2327;
    padding-left: 10px;
    text-align: center;
}

/* Forms */
.ts-admin-wrapper form {
    margin-bottom: 25px;
}

/* Labels */
.ts-admin-wrapper label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    text-align: center;
    color: #444;
}

/* Inputs */
.ts-admin-wrapper input[type="number"] {
    width: 100%;
    padding: 10px 12px;
    margin-bottom: 15px;
    border: 1px solid #ccd0d4;
    border-radius: 6px;
    font-size: 14px;
    transition: all 0.2s ease-in-out;
}

.ts-admin-wrapper input[type="number"]:focus {
    border-color: #2271b1;
    outline: none;
    box-shadow: 0 0 0 2px rgba(34,113,177,0.2);
}

/* Buttons */
.ts-admin-wrapper button {
    padding: 10px 18px;
    margin: 5px 8px 5px 0;
    border-radius: 6px;
    border: none;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: var(--font-main);
}

/* Primary (Open) */
.ts-admin-wrapper .button-primary {
    background: #2271b1;
    color: #fff;
    border: 1px solid #000000;
}

.ts-admin-wrapper .button-primary:hover {
    background: #135e96;
}

/* Secondary (Close) */
.ts-admin-wrapper .button-secondary {
    background: #9e0d0d;
    color: #ffffff;
    border: 1px solid #000000;
}

.ts-admin-wrapper .button-secondary:hover {
    background: #8a1515;
}

/* Status text */
.ts-admin-wrapper p {
    margin-top: 15px;
    font-weight: 600;
    color: #2271b1;
    background: #f0f6fc;
    padding: 10px;
    border-radius: 6px;
    text-align: center;
}

/* Responsive */
@media (max-width: 600px) {
    .ts-admin-wrapper {
        padding: 20px;
    }

    .ts-admin-wrapper button {
        width: 100%;
        margin-bottom: 10px;
    }
}

/* ------- END GRID WRAPPPER -------- */ 
/*--------- START MARKET STATUS BOX -----*/

.ts-grid-market {
    direction: rtl;
}

.market-box {
    background: #fafafa;
    border-radius: 10px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid #e3e3e3;
    box-shadow: 0 3px 10px rgba(0,0,0,0.03);
}

.market-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.market-header h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
}

/* (Optional) status badge if you add it later */
.market-status {
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    border: 1px solid transparent;
}
.market-status-open {
    color: #0a7f3f;
    background: #e7f7ee;
    border-color: #b7e5ca;
}
.market-status-closed {
    color: #b3261e;
    background: #fde7e5;
    border-color: #f6c1bd;
}

.market-form {
    margin: 0;
}

.market-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.market-group {
    flex: 1 1 200px;
    min-width: 0;
}

.market-group-label {
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 4px;
    color: #555;
}

.market-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

/* Smaller buttons for this section */
.button.button-small {
    font-size: 11px;
    line-height: 1.4;
    padding: 3px 8px;
}

/* Custom colors (keeping close to WP admin look) */
.button-success {
    background: #4caf50;
    border-color: #4caf50;
    color: #fff;
}
.button-success:hover {
    background: #449b48;
    border-color: #449b48;
}

.button-danger {
    background: #e53935;
    border-color: #e53935;
    color: #fff;
}
.button-danger:hover {
    background: #cf3330;
    border-color: #cf3330;
}

@media (max-width: 600px) {
    .market-row {
        flex-direction: column;
    }
}
/* END MARKET STATUS *?
/* ====== LAST PRICE BOX ====== */

.ts-grid-last-price {
    direction: rtl;
}

.ts-grid-last-price > h2 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #333;
}

.last-price-box {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e3e3e3;
    padding: 16px 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    font-size: 14px;
    color: #333;
    direction: ltr;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Header: title + product name */
.lp-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 4px;
}

.lp-header strong {
    font-size: 15px;
    font-weight: 700;
    color: #222;
}

.lp-product {
    font-size: 12px;
    color: #777;
}

/* Rows for buy/sell */
.lp-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fafafa;
    border-radius: 6px;
    border: 1px solid #ececec;
    padding: 6px 10px;
}

.lp-label {
    font-size: 13px;
    color: #555;
    font-weight: 600;
}

.lp-value {
    font-weight:700;
    color:#0a7a27;
}

.lp-source {
    font-size:12px;
    color:#666;
    background:#f1f1f1;
    padding:2px 6px;
    border-radius:4px;
}
/* Footer hint / timestamp */
.lp-footer {
    margin-top: 6px;
    text-align: left; /* still fine in RTL, aligns hint under numbers */
}

.lp-hint {
    font-size: 11px;
    color: #999;
}

/* ====== LAST PRICE BOX END ====== */
/* ====== LIVE PRICE MODE  ====== */
.ts-api-prices{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
margin-top:12px;
}

.api-price-card{
background:#fff;
padding:14px;
border-radius:10px;
box-shadow:0 2px 6px rgba(0,0,0,.06);
}

.ts-grid-mode {
    direction: rtl;
}

.ts-grid-mode > h2 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #333;
}

.ts-mode-form {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e3e3e3;
    padding: 18px 18px 16px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* reuse generic form classes if not already included */
/*
.ts-form-row { margin-bottom: 14px; }
.ts-form-label { ... }
.ts-form-field select { ... }
.ts-form-footer { ... }
.ts-button, .ts-button-primary { ... }
*/

.ts-mode-hint {
    font-size: 12px;
    color: #777;
    line-height: 1.7;
    margin: 4px 0 0;
}
.ts-mode-hint strong {
    color: #333;
}

/* ====== LIVE PRICE MODE END ====== */

/* -------- GOLD SETTING ---------*/ 
.ts-grid-set-price {
    direction: rtl;
}

/* Form container */
.ts-price-form {
    background: #ffffff;
    border-radius: 10px;
    border: 1px solid #e3e3e3;
    padding: 20px 18px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

/* Form rows */
.ts-form-row {
    margin-bottom: 14px;
}

/* Labels */
.ts-form-label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #444;
    margin-bottom: 6px;
}

/* Fields */
.ts-form-field {
    width: 100%;
}

.ts-price-form select,
.ts-price-form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    border-radius: 6px;
    border: 1px solid #c9c9c9;
    background: #fafafa;
    font-size: 13px;
    font-family: var(--font-number);
    color: #333;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s;
}

.ts-price-form select:focus,
.ts-price-form input[type="text"]:focus {
    border-color: #1f8f4d;
    outline: none;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(31,143,77,0.15);
}
.ts-step-btn-positive {
    border: 1px solid #1f8f4d;
    background: #1f8f4d;
    color: #fff;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--font-number);
    cursor: pointer;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.15s ease,
        box-shadow 0.25s ease;
    white-space: nowrap;
}
.ts-step-btn-negetive {
    border: 1px solid #000000;
    background: #750f0f;
    color: #fff;
    padding: 9px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    font-family: var(--font-number);
    cursor: pointer;
    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        transform 0.15s ease,
        box-shadow 0.25s ease;
    white-space: nowrap;
}

.ts-step-btn:hover {
    background: #17703c;
    border-color: #17703c;
    box-shadow: 0 4px 10px rgba(31,143,77,0.18);
}

.ts-step-btn:active {
    transform: scale(0.97);
}

.ts-step-btn:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(31,143,77,0.18);
}

/* Inline row for buy/sell */
.ts-form-row-inline {
    display: flex;
    gap: 12px;
}

.ts-form-group {
    flex: 1;
}

/* Button row */
.ts-form-footer {
    margin-top: 18px;
    text-align: center;
}

/* Buttons */
.ts-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    padding: 9px 26px;
    transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.05s;
}

.ts-button-primary {
    background-color: #1f8f4d;
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(16, 112, 60, 0.25);
}

.ts-button-primary:hover {
    background-color: #187542;
    box-shadow: 0 5px 14px rgba(16, 112, 60, 0.32);
}

.ts-button-primary:active {
    transform: translateY(1px);
    box-shadow: 0 3px 8px rgba(16, 112, 60, 0.2);
}

/* Responsive */
@media (max-width: 700px) {
    .ts-form-row-inline {
        flex-direction: column;
    }
}

/* -----END GOLD SETTING------- */

/*-----------------------------------------Price Page END -----------------------------------------------------------*/

/*--------------------------START TIER PAGE  ------------------------*/
.ts-wrapper {
    max-width: 1000px;
    margin: 24px auto;
    direction: rtl;
    font-family: var(--font-main);
}

.ts-wrapper > h2 {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin-bottom: 8px;
}

.ts-description {
    margin-bottom: 18px;
    color: #666;
    font-size: 13px;
    line-height: 1.7;
}

/* ====== TIER CARDS (ACCORDION) ====== */

.tier-card {
    border-radius: 10px;
    border: 1px solid #e3e3e3;
    margin-bottom: 12px;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
    overflow: hidden;
}

/* Header bar */
.tier-header {
    padding: 10px 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(90deg, #f7f9fb, #eef2f7);
}

.tier-header-main {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.tier-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.tier-badge {
    display: inline-block;
    align-self: flex-start;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    background: #e7f4ff;
    color: #1b6ea8;
}

/* Chevron icon */
.tier-chevron {
    width: 16px;
    height: 16px;
    border-radius: 999px;
    border: 1px solid #c7d0dd;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.tier-chevron::before {
    content: "";
    width: 7px;
    height: 7px;
    border-right: 2px solid #657087;
    border-bottom: 2px solid #657087;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

/* rotated chevron when active */
.tier-header.active .tier-chevron::before {
    transform: rotate(-135deg);
}

/* Content (collapsible) */
.tier-content {
    display: none;
    padding: 10px 14px 12px;
    background: #ffffff;
}

/* When JS toggles active state: show content. 
   Example JS: on click header, toggle 'active' on header and 
   then show/hide next .tier-content */
.tier-header.active + .tier-content {
    display: block;
}

.ts-description p {
    margin: 0 0 6px;
}
/* ====== TABLE STYLING ====== */

.tbl-tiers {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.tbl-tiers thead {
    background: #f4f6f9;
}

.tbl-tiers th,
.tbl-tiers td {
    padding: 8px 6px;
    border-bottom: 1px solid #eceff3;
    text-align: right;
}

.tbl-tiers th {
    font-weight: 600;
    color: #555;
}

.tbl-tiers tbody tr:nth-child(every) {}

.tbl-tiers tbody tr:nth-child(odd) {
    background: #fafbfc;
}

.tier-product {
    font-weight: 600;
    color: #333;
}

/* Inputs inside table */
.tbl-tiers input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #c9c9c9;
    background: #fafafa;
    font-size: 12px;
    color: #333;
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s;
}

.tbl-tiers input[type="text"]::placeholder {
    color: #aaa;
    font-size: 11px;
}

.tbl-tiers input[type="text"]:focus {
    border-color: #1f8f4d;
    outline: none;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(31,143,77,0.15);
}

/* ====== FOOTER BUTTON ====== */

.tiers-footer {
    margin-top: 18px;
    text-align: left; /* still ok in RTL, aligns with table bottom */
}

.ts-btn {
    padding: 9px 20px;
    border-radius: 999px;
    border: none;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.05s;
}

.ts-btn-primary {
    background: #0073aa;
    color: #ffffff;
    box-shadow: 0 4px 10px rgba(0,115,170,0.3);
}

.ts-btn-primary:hover {
    background: #005f8a;
    box-shadow: 0 5px 14px rgba(0,115,170,0.35);
}

.ts-btn-primary:active {
    transform: translateY(1px);
    box-shadow: 0 3px 8px rgba(0,115,170,0.25);
}

/* ====== RESPONSIVE ====== */

@media (max-width: 768px) {
    .ts-wrapper {
        padding: 0 10px;
    }

    .tbl-tiers th,
    .tbl-tiers td {
        padding: 6px 4px;
    }

    .tbl-tiers {
        font-size: 12px;
    }
}





/*--------------------------END TIER PAGE  ------------------------*/

/*------------------------START DEAL PAGE ------------------------*/ 
/*start Deals Section*/

/* Container Layout */
.ts-admin-dashboard {
    padding: 20px;
    max-width: 1600px;
    margin: 0 auto;
    font-family: var(--font-main);
}
.ts-admin-dashboard h1 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);  
  margin: 0;
  font-size: 22px;
}
.ts-dashboard-header {
  position: relative;
  display: flex;
  justify-content: flex-end; /* keep actions aligned right */
  align-items: center;
  border-bottom: 2px solid #eee;
  padding-bottom: 15px;
  margin-bottom: 30px;
}

.ts-dashboard-header h1 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);  
  margin: 0;
  font-size: 22px;
}

.ts-tables-container {
    display: flex;
    gap: 25px;
    align-items: flex-start;
    flex-wrap: wrap; /* Responsive on smaller screens */
}

/* Card Style */
.ts-table-wrapper {
    flex: 1;
    min-width: 450px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    overflow: hidden;
    border: 1px solid #e5e7eb;
}

.card-header {
    position: relative;
    padding: 20px;
    background: #f9fafb;
    border-bottom: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.card-header > .count-badge.neutral {
    order: 3; /* move to right */
}

.card-header > h2 {
    order: 2;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.card-header > .header-stats {
    order: 1; /* move to left */
}

/* keep title centered absolutely */
.card-header h2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-size: 18px;
    color: #1f2937;
}

/* left side stats */
.header-stats {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* badges */
.count-badge{
    padding:4px 10px;
    border-radius:14px;
    font-size:12px;
    font-weight:600;
    color:#fff;
    display:inline-flex;
    align-items:center;
}

/* pending count (right) */
.count-badge.neutral{ background:#3b82f6; }

/* admin bought */
.count-badge.buy{ background:#16a34a; }

/* admin sold */
.count-badge.sell{ background:#ef4444; }

/* positive balance */
.count-badge.positive{ background:#10b981; }

/* negative balance */
.count-badge.negative{ background:#dc2626; }

/* balanced */
.count-badge.balanced{ background:#6b7280; }

/* Table Styling */
.table-responsive {
    overflow-x: auto;
}

.ts-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
    direction: ltr;           /* force LTR column flow */
}

.ts-table th {
    position: sticky;
    top: 0;
    z-index: 1;               /* keep above rows */
    background: #fff;         /* must have background */
    color: #6b7280;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 12px;
    padding: 15px 20px;
    text-align: center;
    border-bottom: 2px solid #f3f4f6;
}
.ts-table td {
    padding: 18px 20px;
    border-bottom: 1px solid #f3f4f6;
    font-size: 14px;
    color: #374151;
    vertical-align: middle;
    font-family: var(--font-number);
    text-align: center;       /* center cell text */
}

.ts-table tr:hover {
    background-color: #f9fafb;
}

/* Data Specific Styling */
.price-cell {
    font-family: var(--font-main);
    font-weight: bold;
    color: #111827;
}

.product-tag {
    background: #eff6ff;
    color: #1e40af;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
}
/* Status Badges */
.status-badge {
    padding: 5px 12px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 600;
}
.status-badge.buy { background: #dcfce7; color: #166534; } /* Green */
.status-badge.sell { background: #fee2e2; color: #991b1b; } /* Red */

/* Buttons */
.ts-approve-btn {
    background: #10b981;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    transition: 0.2s;
}

.ts-approve-btn:hover {
    background: #059669;
    transform: translateY(-1px);
}


.ts-history-trigger {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    margin-left: 15px;
    margin-top: 50px;
    transition: 0.3s;
    margin-right: 30px;
    font-family: var(--font-main);
}
.ts-history-trigger:hover { background: #2563eb; }

/* Modal Overlay */
.ts-modal-overlay {
    display: none; /* Hidden by default */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    align-items: center;
    justify-content: center;
}


/* Modal Content Box */
.ts-modal-content {
    background-color: #fff;
    width: 80%;
    max-width: 1000px;
    max-height: 85vh;
    border-radius: 15px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    animation: slideUp 0.3s ease-out;
}





/* ----------- --- END DEAL PAGE --------------- */ 

/* ----------------- START USERS PAGE ----------- */
.uap-page-actions {
    max-width: 1200px;
    margin: 20px auto 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    direction: rtl;
}

.uap-top-btn {
    border: none;
    border-radius: 12px;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 600;
    font-family: var(--font-main);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.22s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.uap-top-btn .uap-btn-icon {
    font-size: 15px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Primary button */
.uap-top-btn-primary {
    background: linear-gradient(135deg, #0f9d58, #138a4f);
    color: #fff;
}

.uap-top-btn-primary:hover {
    background: linear-gradient(135deg, #0c8a4d, #107744);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(15,157,88,0.25);
}

/* Secondary button */
.uap-top-btn-secondary {
    background: #ffffff;
    color: #2f3a45;
    border: 1px solid #d9e0e7;
}

.uap-top-btn-secondary:hover {
    background: #f7f9fb;
    border-color: #c5d0da;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.08);
}

.uap-top-btn:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}


.uap-modal{
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    background:rgba(0,0,0,0.4);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

/* Modal Box */
.uap-modal-content{
    background:#fff;
    width:350px;
    padding:20px;
    direction: rtl;
    border-radius:8px;
    max-height:80vh;
    box-shadow:0 4px 12px rgba(0,0,0,0.2);
    position:relative;
    animation:modalIn .25s ease;
}

.uap-modal-content.uap-wide{
    width:850px;
}

.uap-balance-list-wrapper {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #e3e7ee;
    background: #fafbfc;
}

/* header: title + pill */
.uap-balance-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.uap-balance-header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

.uap-balance-pill {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e6f2ff;
    color: #225c9b;
    border: 1px solid #c2ddff;
}

/* loading state */
.uap-balance-loading {
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f5f7fb;
    color: #555;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* simple spinner dot */
.uap-spinner {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #c0d4ff;
    border-top-color: #3b82f6;
    animation: uap-spin 0.9s linear infinite;
}

@keyframes uap-spin {
    to { transform: rotate(360deg); }
}

/* table container with subtle scroll if many products */
.uap-balance-table-wrapper {
    margin-top: 8px;
    max-height: 220px;
    overflow: auto;
    border-radius: 6px;
    border: 1px solid #e4e8f0;
    background: #fff;
}

/* table */
#uap-balance-table {
    width: 100%;
    border-collapse: collapse;
}

#uap-balance-table thead tr {
    background: #f4f6fb;
}

#uap-balance-table th,
#uap-balance-table td {
    padding: 7px 10px;
    font-size: 12px;
    text-align: center;
    border-bottom: 1px solid #eef0f5;
}

/* header cells */
#uap-balance-table th {
    font-weight: 600;
    color: #444;
}

/* rows styling */
#uap-balance-table tbody tr {
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.05s ease;
}

#uap-balance-table tbody tr:nth-child(odd) {
    background: #fcfdff;
}

#uap-balance-table tbody tr:hover {
    background: #e9f3ff;
    transform: translateY(-1px);
}

/* balance column: slightly different color */
#uap-balance-table td:nth-child(2) {
    font-family: monospace;
    color: #1d4ed8;
}

/* hint text */
.uap-balance-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #777;
}

@keyframes modalIn {
    from { opacity:0; transform:scale(0.95); }
    to { opacity:1; transform:scale(1); }
}

.uap-close{
    position:absolute;
    top:10px;
    right:10px;
    font-size:18px;
    cursor:pointer;
}
.transactions-scroll{
    max-height:65vh;
    overflow-y:auto;
    padding-right:10px;
}


.send_message-modal-overlay {
    position: fixed;
    inset: 0; /* top:0; right:0; bottom:0; left:0 */
    background: rgba(15, 23, 42, 0.55);  /* dim dark overlay */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    display: none;              /* JS sets to flex when opened */
    align-items: center;        /* vertical centering */
    justify-content: center;    /* horizontal centering */
    z-index: 99998;
    padding: 16px;
}


.send_message-modal-content {
    width: min(560px, 100%);
    max-height: 80vh;
    background: #ffffff;
    border-radius: 16px;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.25),
        0 0 0 1px rgba(148, 163, 184, 0.18);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: send_message-fade-in 0.18s ease-out;
}

/* Header */
.send_message-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-bottom: 1px solid #e2e8f0;
    background: linear-gradient(90deg, #f9fafb, #edf2ff);
}

.send_message-modal-header h3 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
}

/* Close X */
.send_message-close-x {
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #64748b;
    padding: 2px 6px;
    border-radius: 999px;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.send_message-close-x:hover {
    background-color: #e5e7eb;
    color: #111827;
}

/* Body */
.send_message-modal-body {
    padding: 18px 20px 20px;
    direction: rtl;
    text-align: right;
    box-sizing: border-box;
}


.send_message-form {
    margin: 0;
}

/* Form rows */
.send_message-form-row {
    margin-bottom: 16px;
}

.send_message-form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    margin-bottom: 6px;
}

/* Textarea */
.send_message-form-row textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 10px;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    font-size: 13px;
    background: #f8fafc;
    color: #0f172a;
    resize: vertical;
    min-height: 140px;
    outline: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease,
        transform 0.08s ease;
}

.send_message-form-row textarea::placeholder {
    color: #94a3b8;
}

.send_message-form-row textarea:focus {
    border-color: #2563eb;
    background-color: #ffffff;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
    transform: translateY(-1px);
}

.send_message-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
}

/* Close button */
.send_message-close-btn {
    border: 1px solid #e2e8f0;
    background: #f9fafb;
    color: #475569;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.send_message-close-btn:hover {
    background: #e5e7eb;
    border-color: #cbd5e1;
}

/* Submit button – match WP .button-primary but nicer corners */
.send_message-submit-btn {
    padding: 6px 18px;
    font-size: 13px;
    border-radius: 8px;
    line-height: 1.9;
}

/* Entry animation */
@keyframes send_message-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


.ts-modal-content-create-user {
    width: min(400px, 100%);
    max-height: 70vh;
    background: #ffffff;
    border-radius: 16px;
    box-shadow:
        0 24px 60px rgba(15, 23, 42, 0.25),
        0 0 0 1px rgba(148, 163, 184, 0.18);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: ts-modal-fade-in 0.18s ease-out;
}

@keyframes slideUp {
    from { transform: translateY(30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}


.ts-modal-header {
    padding: 20px 25px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ts-modal-header h2{

    margin: auto;
}
.ts-modal-header h3 {
    margin: auto;
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
}

.ts-modal-overlay-creater_user {
    position: fixed;
    inset: 0;                       /* top:0; right:0; bottom:0; left:0 */
    background: rgba(15, 23, 42, 0.55);  /* dim background */
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px); /* For Safari support */
    display: flex;                  /* Changed from 'none' to 'flex' */
    align-items: center;            /* vertical centering */
    justify-content: center;        /* horizontal centering */
    z-index: 99999;
    padding: 16px;
}
/* make modal body scroll */
.uap-create-user-wrapper {
    padding: 18px 20px 20px;
    direction: rtl;
    text-align: right;
    box-sizing: border-box;
    max-width: 600px;
    margin: 0 auto;
}

/* Header */



/* Close X button */
.ts-close-x {
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #64748b;
    padding: 2px 6px;
    border-radius: 999px;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ts-close-x:hover {
    background-color: #e5e7eb;
    color: #111827;
}


.uap-create-user-form {
    margin: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* Rows */
.uap-form-row {
    display: flex;
    flex-direction: column;
}

/* Labels */
.uap-form-row label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #475569;
    margin-bottom: 4px;
}

/* Required star */
.uap-required {
    color: #e11d48;
    margin-right: 2px;
}

/* Inputs & select */
.uap-form-row input[type="text"],
.uap-form-row input[type="tel"],
.uap-form-row input[type="number"],
.uap-form-row input[type="password"],
.uap-form-row select {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    font-size: 13px;
    background: #f8fafc;
    color: #0f172a;
    outline: none;
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        background-color 0.15s ease,
        transform 0.08s ease;
}

/* Placeholder */
.uap-form-row input::placeholder {
    color: #94a3b8;
}

/* Focus styles */
.uap-form-row input:focus,
.uap-form-row select:focus {
    border-color: #2563eb;
    background-color: #ffffff;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
    transform: translateY(-1px);
}

/* Select caret */
.uap-form-row select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image:
        linear-gradient(45deg, transparent 50%, #64748b 50%),
        linear-gradient(135deg, #64748b 50%, transparent 50%);
    background-position: calc(8px) 52%, calc(16px) 52%;
    background-size: 7px 7px, 7px 7px;
    background-repeat: no-repeat;
    padding-right: 26px;
}

/* Actions row */
.uap-form-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
}

/* Close button */
.uap-form-actions .close-btn {
    border: 1px solid #e2e8f0;
    background: #f9fafb;
    color: #475569;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.uap-form-actions .close-btn:hover {
    background: #e5e7eb;
    border-color: #cbd5e1;
}

/* Submit button (WordPress .button-primary friendly) */
.uap-submit-btn {
    padding: 6px 18px;
    font-size: 13px;
    border-radius: 8px;
    line-height: 1.9;
}

/* Small animation for modal entry */
@keyframes ts-modal-fade-in {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* --------------------------------------------Start User PAGE ----------------------------------------------------- */
/* --------------------------------------- CALCULATOR --------------------------------------- */ 
.gold-calc-container {
    max-width: 520px;
    margin: 24px auto;
    padding: 18px 16px;
    direction: rtl;
    background: #ffffff;
    border-radius: 14px;
    border: 1px solid #f0f0f0;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    font-family: var(--font-main);
    box-sizing: border-box;
}

/* Title */
.calc-title {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #222;
    position: relative;
}

.calc-title::after {
    content: "";
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: linear-gradient(90deg, #caa53d, #e5c15c);
    display: block;
    margin: 7px auto 0;
}

/* Grid */
.calc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    margin-bottom: 12px;
}

/* Field */
.calc-field {
    display: flex;
    flex-direction: column;
}

.calc-field label {
    font-weight: 600;
    margin-bottom: 5px;
    color: #555;
    font-size: 11px;
}

/* Inputs */
.calc-field input {
    height: 40px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid #e3e3e3;
    font-size: 13px;
    transition: all 0.2s ease;
    background-color: #fafafa;
    box-sizing: border-box;
}

.calc-field input:hover {
    border-color: #d1d1d1;
}

.calc-field input:focus {
    border-color: #caa53d;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(202,165,61,0.12);
}

.calc-field input[readonly] {
    background: #f4f4f4;
}

/* Quick add section */
.quick-add-box {
    background: #faf8f1;
    border: 1px solid #f1e3b7;
    border-radius: 10px;
    padding: 10px;
}

.quick-add-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
}

.quick-btn {
    flex: 1 1 calc(50% - 3px);
    height: 24px;
    border: none;
    border-radius: 999px;
    background: linear-gradient(180deg, #d8b24b, #c39a31);
    color: #fff;
    font-size: 11px;
    font-family: var(--font-number);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 2px 6px rgba(195,154,49,0.25);
}

.quick-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(195,154,49,0.3);
}

.quick-btn:active {
    transform: scale(0.97);
}

/* Results */
.calc-results {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 10px;
}

.result-box {
    padding: 12px 10px;
    border-radius: 12px;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Payment box */
.result-box:first-child {
    background: linear-gradient(180deg, #f8f8f8, #f1f1f1);
    border: 1px solid #ececec;
}

/* Profit box */
.result-box:last-child {
    background: linear-gradient(180deg, #f2fff6, #e7fff0);
    border: 1px solid #c9f0d7;
}

/* Small top glow */
.result-box::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 3px;
    background: rgba(255,255,255,0.6);
}

.result-box span {
    display: block;
    font-size: 11px;
    color: #777;
    margin-bottom: 4px;
}

/* Default number */
.result-box strong {
    font-size: 18px;
    font-weight: 800;
    direction: ltr;
    letter-spacing: 0.3px;
}

/* Payment number */
#yourpay {
    color: #222;
}

/* Profit number */
#totalProfit {
    color: #16a34a; /* green */
}

/* Mobile */
@media (max-width: 767px) {

    .gold-calc-container {
        margin: 1px 10px;
        padding: 14px 12px;
        border-radius: 12px;
    }

    .calc-grid {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .calc-title {
        font-size: 17px;
    }

    .calc-field input {
        height: 23px;
        font-size: 13px;
        font-family: var(--font-number);
    }

    .calc-results {
        gap: 8px;
    }

    .result-box {
        padding: 10px 8px;
    }

    .result-box strong {
        font-size: 16px;
    }
}
/* ---------------------------------- END CALCULATOR ----------------------------- */ 
/* -------------------------------- CALL PAGE ----------------------------*/ 

.textcall {
    direction: rtl;
    max-width: 600px;
    margin: 10px auto 2px;
    padding: 10px 10px;
    font-family: inherit;
    background: #f7f7f7;
    border: 4px solid #d9d9d9;
    border-radius: 13px;
}
.textcall2 {
    direction: rtl;
    max-width: 600px;
    margin: 60px auto 2px;
    padding: 15px;
    font-family: inherit;
    background: #f7f7f7;
    border: 4px solid #d9d9d9;
    border-radius: 13px;
}
.textcall,
.textcall2 {
    /* ...your existing styles... */
    box-shadow:
        0 12px 24px rgba(0, 0, 0, 0.12),
        0 2px 4px rgba(0, 0, 0, 0.06);
}

.phone{
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}

.phone:hover{
    text-decoration: underline;
}
/*------------------------------ END CALL PAGE --------------------------------- */
/*------------------------------- HISTOY -----------------------------*/ 
.transaction-container{
    max-width: 100%;
    background: #f7f7f7;
    border-radius: 6px;
    box-sizing: border-box;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    text-align: center;
    font-family: var(--font-main);
}

/* search */

/* table (desktop) */
.transaction-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    box-sizing: border-box;
}

.transaction-table th{
    background:#ececec;
    border:1px solid #d8d8d8;
    padding:10px;
}

.transaction-table td{
    border:1px solid #e2e2e2;
    padding:10px;
}

.transaction-table td:nth-child(3),
.transaction-table td:nth-child(4),
.transaction-table td:nth-child(5),
.transaction-table td:nth-child(6),
.transaction-table td:nth-child(7){
    font-family: var(--font-number);
}
#uapUserSearch{
    width:300px;
    padding:8px 12px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:15px;
}
#uapUserHistorySearch{
    padding:8px 12px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:15px;
    direction: rtl;
}

.uap-toolbar{
    margin-bottom:15px;
}

.row-buy.completed-row{
    background:#c8efc8;
}

.row-sell.completed-row{
    background:#f3c6c6;
}


.tx-card {
    direction: rtl;
    text-align: right;

    background: #c6f7ce;               /* main light green like your screenshot */
    border-radius: 18px;
    padding: 12px 14px 10px;
    margin-bottom: 12px;

    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.09);
    border: 1px solid rgba(46, 125, 50, 0.18);

    font-size: 13px;
    line-height: 1.7;
    max-width: 420px;
    margin-inline: auto;
}
.tx-card.rejected-row {
    background: #ffffff !important;
    border-color: rgba(239, 68, 68, 0.35); /* optional: red-ish border */
}
/* header line */

.tx-card__header {
    font-size: 11.5px;
    color: #1f2933;
}

.tx-card__header-label {
    font-weight: 600;
}

.tx-card__header-date {
    font-family: var(--font-number, inherit);
    color:#16a34a;
}

.tx-card__header-balance{
  font-family: var(--font-number, inherit);
}

.tx-card__header-balance--positive{ color:#16a34a; } /* green */
.tx-card__header-balance--negative{ color:#dc2626; } /* red */
/* meta row: type + product */

.tx-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 6px;
}

.tx-card__col {
    flex: 1 1 0;
}

.tx-card__meta-label {
    font-size: 11px;
    color: #4b5563;
    margin-bottom: 2px;
}

.tx-card__meta-value {
    font-weight: 600;
    color: #111827;
}

/* divider */

.tx-card__divider {
    height: 1px;
    background: rgba(148, 163, 184, 0.55);
    margin: 6px 0 8px;
}

/* rows (weight & fee) */

.tx-card__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;

    background: #ffffff;
    border-radius: 999px;
    padding: 5px 12px;
    margin-bottom: 5px;

    font-size: 12px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.tx-card__row-label {
    color: #4b5563;
}

.tx-card__row-label{
    display:flex;
    align-items:center;
    gap:6px;

    color:#4b5563;
}

.tx-row-icon{
    width:14px;
    height:14px;

    object-fit:contain;
    flex-shrink:0;
}
.tx-card__row-value {
    font-family: var(--font-number, inherit);
    font-weight: 600;
    color: #111827;
}

/* balance before */

.status-success {
     color: #000000;
     font-weight: bold;
}

.status-pending { color: #a56800; font-weight: bold; }
.status-failed { color: #000000; }
.status-default   { color: #000; } 

.row-buy{
    background:#e8f7e8;
}

.row-sell{
    background:#f9e8e8;
}


.row-pending{
    background: #ccbdac;
}
.row-pending.completed-row{
    background: #c8efc8;
}

.rejected-row{
    background:#ffffff;
}

.tx-card__balance {
    font-size: 11.5px;
    color: #4b5563;
    margin-top: 2px;
}

.tx-card__balance span {
    font-family: var(--font-number, inherit);
    font-weight: 600;
}

/* status button */

.tx-card__status {
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

.tx-card__status-btn {
    border: none;
    outline: none;

    padding: 6px 22px;
    border-radius: 999px;

    font-size: 13px;
    font-weight: 600;
    cursor: default;
    font-family: var(--font-main);

    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* default background if no extra class */
.tx-card__status-btn {
    background: #16a34a;   /* green */
    color: #ffffff;
}

/* success (done) */
.tx-card__status-btn.status-success {
    background: #16a34a;
    color: #000000;
}

.tx-card__status-btn.status-success::after {
    content: "✓";
    font-size: 13px;
}

/* rejected */
.tx-card__status-btn.status-failed {
    background: #ff00005d;   /* red */
    color: #000000;
}

.tx-card__status-btn.status-.status-failed {
    content: "✕";
    font-size: 13px;
}

/* pending */
.tx-card__status-btn.status-pending {
    background: #ff84008a;   /* amber / yellow */
    color: #000000;
}

.tx-card__status-btn.status-pending::after {
    font-size: 13px;
}

/* optional: shrink slightly on very small screens */

@media (max-width: 360px) {
    .tx-card {
        padding: 10px 10px 8px;
        font-size: 12px;
    }

    .tx-card__row {
        font-size: 11px;
    }

    .tx-card__status-btn {
        font-size: 12px;
        padding-inline: 18px;
    }
}

/* ------------------------------ END HISTORY --------------------------------*/
/* -------------------------------- DEAL PAGE -------------------------------------------------*/


.change {
    margin-top: 50px;
    font-size: 18px;
    border-right: 4px solid #4e73df;
    padding-right: 10px;
    background-color: #74747425;
    direction: rtl;
    border-radius: 12px;
}


.username{
    position: fixed;
    left: 65px; /* moves it next to the logout button */
    color: #000;
    margin-top: 9px;
    font-size: 13px;
    border-radius: 7px;
    background: #f3f4f6;
    font-weight: 600;
    font-family: var(--font-main);
    z-index: auto;
}

.refresh-btn{
    position: fixed;
    left: 20px;        /* position before the username */
    top: 14px;         /* match vertical alignment */
    
    width: 36px;
    height: 36px;
    background: #ffffff;

    display: flex;
    align-items: center;
    justify-content: center;

    cursor: pointer;
    text-decoration: none;

    transition: transform .25s ease, box-shadow .25s ease;
}


/* icon inside */
.refresh-icon{
    width:18px;
    height:18px;
    display:block;
    transition: transform .4s ease;
}

/* hover / focus styles */
.refresh-btn:hover,
.refresh-btn:focus-visible {
    background: #eff6ff;
    box-shadow: 0 4px 12px rgba(0,0,0,.18);
    outline: none;
}

/* rotate only the icon, not the whole button */
.refresh-btn:hover .refresh-icon{
    transform: rotate(180deg);
}
/* active (click) state */
.refresh-btn:active {
    transform: scale(0.96);
    box-shadow: 0 1px 3px rgba(0,0,0,.2);
}

.deal-container {
    max-width: 500px;
    margin: 4px auto;
    font-family: var(--font-main);
}

.deal-buttons {
    display: flex;
    gap: 12px;
    margin-top: 15px;
}

.deal-btn {
    width: 100%;
    padding: 16px 15px;
    border: none;
    border-radius: 14px;
    cursor: pointer;
    color: #fff;
    font-family: var(--font-main);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    position: relative;
    overflow: hidden;
}

/* Light glossy gradient */
.deal-btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: rgba(255,255,255,0.08);
    pointer-events: none;
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}

/* Button label (top text) */
.deal-btn .big-text {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.3px;
}

/* Price text */
.deal-btn .price-text {
    font-size: 22px;
    font-weight: 650;
    margin-top: -7px;
}

/* BUY BUTTON */
.buy-btn {
    background: linear-gradient(145deg, #0b5ed7, #0a58ca);
}

/* SELL BUTTON */
.sell-btn {
    background: linear-gradient(145deg, #d03140, #bb2d3b);
}

/* Hover effect */
.deal-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.14);
}

/* Active press */
.deal-btn:active {
    transform: translateY(1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}

.product-text {
    text-align: center;
    font-family: var(--font-main);
    font-size: 24px;
}
.big-text {
    font-size: 22px;
    font-family: var(--font-main);
}

.price-text {
    font-size: 16px;
    opacity: 0.9;
    font-family: var(--font-number);
}

/* MODAL */
.modal-overlay {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.55);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99998;
}

.modal-box {
    background: white;
    padding: 25px;
    border-radius: 10px;
    max-width: 350px;
    width: 70%;
    text-align: center;
}
.modal-box h2 {
    margin-bottom: 15px;
}

.modal-price {
    color: #000000;
    margin-bottom: 15px;
    font-family: var(--font-number);
    font-weight: bold;
    transition: color 0.2s ease-out;
}

.modal-timer {
    margin: 10px 0 15px 0;
    padding: 8px 12px;
    background: #f5f5f5;
    border-radius: 6px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #333;
}
.price-arrow {
    margin-right: 6px;      /* adjust for RTL/LTR as you like */
    font-weight: bold;
    opacity: 0.9;
}

/* arrow colors (if you want them distinct) */
.arrow-up {
    color: #0a7c2f;
}

.arrow-down {
    color: #b30000;
}
.price-up {
    color: #0a7c2f;                  /* green text */
    animation: flash-up 0.6s ease-out;
}

/* Price down: flash red background then fade */
.price-down {
    color: #b30000;                  /* red text */
    animation: flash-down 0.6s ease-out;
}

@keyframes flash-up {
    0%   { background-color: rgba(0, 255, 0, 0.2); }
    100% { background-color: transparent; }
}

@keyframes flash-down {
    0%   { background-color: rgba(255, 0, 0, 0.2); }
    100% { background-color: transparent; }
}

.modal-timer span#modalCountdown {
    color: #d9534f; /* red */
    font-size: 18px;
    font-weight: 900;
}

.amount-input {
    width: 100%;
    padding: 10px;
    font-size: 18px;
    font-family: var(--font-number);
    margin: 10px 0 20px;
    border: 3px solid #b3b3b3;
    border-radius: 8px;
    box-sizing: border-box;
}


/* glossy top highlight */
.submit-btn,
.close-btn {
    width: 100%;
    border: none;
    border-radius: 8px;
    padding: 11px 14px;
    cursor: pointer;
    font-family: var(--font-main);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: background-color 0.18s ease, transform 0.08s ease, box-shadow 0.18s ease;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

/* Primary action */
.submit-btn {
    background-color: #198754; /* Bootstrap-like green */
}

/* Subtle hover + press */
.submit-btn:hover {
    background-color: #157347;
}

.submit-btn:active {
    transform: translateY(1px);
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

/* Secondary / neutral action */
.close-btn {
    margin-top: 8px;
    background-color: #6c757d;
    font-weight: 500;
}

/* Subtle hover + press */
.close-btn:hover {
    background-color: #5c636a;
}

.close-btn:active {
    transform: translateY(1px);
    box-shadow: 0 0 0 rgba(0,0,0,0);
}

/* Disabled state (optional) */
.submit-btn:disabled,
.close-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}


.market-closed-box {
    text-align: center;
    padding: 20px;
    background: #ffe4e4;
    border-radius: 10px;
}

#dealModalStep3 { padding: 10px 4px; text-align: center; }

.wait-title {
  margin: 8px 0 14px;
  font-size: 18px;
  font-weight: 700;
}

.wait-spinner-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 10px 0 16px;
  direction: rtl;
}

/* سه نقطه متحرک */
.wait-dots {
  display: inline-flex;
  gap: 4px;
}

.wait-dots span {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background-color: #3b82f6;
  animation: wait-bounce 0.8s infinite ease-in-out;
}

.wait-dots span:nth-child(2) {
  animation-delay: 0.15s;
}
.wait-dots span:nth-child(3) {
  animation-delay: 0.3s;
}

@keyframes wait-bounce {
  0%, 80%, 100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  40% {
    transform: translateY(-4px);
    opacity: 1;
  }
}

.wait-timer {
  font-size: 0.9rem;
  color: #4b5563;
  display: flex;
  align-items: baseline;
  gap: 4px;
}



.wait-timer strong {
  font-weight: 700;
  font-size: 1rem;
  color: #111827;
}

.wait-status{
  margin: 10px auto 0;
  max-width: 380px;
  padding: 12px 12px;
  border-radius: 12px;
  line-height: 1.9;
  font-size: 14px;
  border: 1px solid transparent;
}



.wait-status--info{
  background: rgb(255, 255, 255);
  border-color: rgb(0, 0, 0);
  color: #030507;
}

.wait-status--success {
  position: relative;
  padding-right: 34px;
  color: #16a34a;
  font-weight: 600;
}

.wait-status--success::before {
  content: "✓";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  font-size: 24px;
  color: #22c55e;
  animation: checkPop 0.4s ease-out forwards;
}

@keyframes checkPop {
  0%   { transform: translateY(-50%) scale(0); }
  70%  { transform: translateY(-50%) scale(1.3); }
  100% { transform: translateY(-50%) scale(1); }
}
.wait-status--success::after {
  content: "";
  position: absolute;
  right: -4px;
  top: 50%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(34,197,94,0.2);
  transform: translateY(-50%) scale(0);
  animation: pulseRing 0.5s ease-out forwards;
}

@keyframes pulseRing {
  0%   { transform: translateY(-50%) scale(0); opacity:1; }
  100% { transform: translateY(-50%) scale(1.6); opacity:0; }
}
.wait-status--danger {
  position: relative;
  padding-right: 34px;
  color: #dc2626;
  font-weight: 600;
}

.wait-status--danger::before {
  content: "✕";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  font-size: 24px;
  color: #ef4444;
  animation: denyPop 0.4s ease-out forwards;
}

@keyframes denyPop {
  0%   { transform: translateY(-50%) scale(0); }
  70%  { transform: translateY(-50%) scale(1.3); }
  100% { transform: translateY(-50%) scale(1); }
}

.wait-status--danger::after {
  content: "";
  position: absolute;
  right: -4px;
  top: 50%;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(239,68,68,0.2);
  transform: translateY(-50%) scale(0);
  animation: denyPulse 0.5s ease-out forwards;
}

@keyframes denyPulse {
  0%   { transform: translateY(-50%) scale(0); opacity:1; }
  100% { transform: translateY(-50%) scale(1.6); opacity:0; }
}

.wait-actions{ margin-top: 14px; }


.deal-error-overlay {
  position: fixed;
  inset: 0;                 /* top:0 right:0 bottom:0 left:0 */
  background: rgba(0,0,0,0.5);
  display: none;            /* hidden by default */
  align-items: center;      /* center vertically */
  justify-content: center;  /* center horizontally */
  z-index: 99999;            /* above everything else */
}

/* Error box in the middle */
.deal-error-box {
  max-width: 90%;
  width: 360px;
  background: #fff;
  border-radius: 10px;
  padding: 16px 20px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  text-align: center;
  direction: rtl;
  font-family: inherit;
}

/* Error text style */
.deal-error-box #dealErrorMessage {
  margin: 0;
  font-size: 14px;
  color: #b71c1c;  /* red text */
}

/* Optional: error highlight on inputs */
.deal-input-error {
  border-color: #e53935 !important;
  box-shadow: 0 0 0 2px rgba(229,57,53,0.2);
}


/* محتوای کلی Step 2 */
#dealModalStep2 {
    text-align: center;
    padding: 20px 24px;
    direction: rtl;
    font-family: inherit;
}

/* عنوان/متن اصلی بالای Step 2 */
#dealModalStep2 > p:first-of-type {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 16px;
    color: #333;
}

/* باکس خلاصه سفارش */
.confirm-summary {
    background-color: #f9fafb;
    border-radius: 10px;
    padding: 16px 18px;
    margin: 0 auto 16px auto;
    max-width: 360px;
    text-align: right;
    border: 2px solid #1d2127a2;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    border-radius: 5px;
}

/* هر خط از خلاصه */
.confirm-summary p {
    margin: 6px 0;
    font-size: 0.95rem;
    color: #444;
    display: flex;
    direction: rtl;
    justify-content: space-between;
    align-items: baseline;
}





.confirm-summary strong {
    font-weight: 600;
    color: #111827;
    margin-right: 6px;
}


#confirmprice {
    color: #2563eb;
}

#price_place {
    margin: 8px 0 18px 0;
    font-size: 0.9rem;
    color: #6b7280;
}


#dealModalStep2 .submit-btn,
#dealModalStep2 .close-btn {
    min-width: 130px;
    padding: 8px 18px;
    font-size: 0.95rem;
    border-radius: 6px;
    margin: 0 6px;
    margin-top: 4px;
}

#dealModalStep2 #finalConfirmYes.submit-btn {
    background-color: #16a34a;  
    border-color: #16a34a;
}

#dealModalStep2 #finalConfirmYes.submit-btn:hover {
    background-color: #15803d;
    border-color: #15803d;
}


#dealModalStep2 #finalConfirmNo.close-btn {
    background-color: #ffbebe;
    color: #000000;
    border: 1px solid #ff00006e;
}

#dealModalStep2 #finalConfirmNo.close-btn:hover {
    background-color: #f3f4f6;
}





.balance-section2 {
    margin: 16px 0;
    text-align: center;
}

.balance-row2 {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.balance-toggle-btn2 {
    border-radius: 999px;
    padding: 8px 18px;
    background: #ffffff;              /* light/white pill */
    color: #2563eb;                   /* blue text/icon */
    border: 1px solid #2563eb;
    direction: rtl;
    font-family: var(--font-main);
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.06);
    transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px; /* spacing between label, value, and icon */
}

.balance-toggle-btn2:hover {
     background: #eff6ff;
    transform: translateY(-1px);
}

.balance-toggle-btn2:active {
    transform: scale(0.97);
}

/* Label text */
.balance-label2 {
    margin: 0;
    font-size: 13px;
     color: #2563eb;
}

/* Value text */
.balance-value2 {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    font-family: var(--font-number);
    color: #04b33e;
    transition: filter 0.25s ease, opacity 0.25s ease;
}
.balance-sign-label2 {
    font-size: 12px;
    font-weight: 500;
    margin: 0;
}
/* Blurred state */
.balance-value2.blurred2 {
    filter: blur(6px);
    opacity: 0.8;
}

.balance-sign-label2.blurred2 {
    filter: blur(6px);
    opacity: 0.8;
}
.balance-positive {
    color: #04b33e;  /* green */
}

.balance-negative {
    color: #ef4444;  /* red */
}


.expired-box {
    background: #ffffff;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
    font-size: 15px;
    color: #c00;
    margin-top: 10px;
    font-weight: bold;
}


@media (min-width: 768px) {
    .modal-box {
        width: 30%;
        max-width: 300px;
        max-height: fit-content;
        margin-bottom: 30px;
    }
    .modal-box h2 {
        margin-bottom: 1px;
        margin-top: -3px;
    }

    .modal-price {
        color: #000000;
        margin-bottom: 3px;
        margin-top: 3px;
        font-family: var(--font-number);
        font-weight: bold;
    }

    .modal-timer {
        margin: 4px 0 4px 0;
        padding: 4px 4px;
        background: #f5f5f5;
        border-radius: 6px;
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        color: #333;
    }

    .modal-timer span#modalCountdown {
        color: #d9534f; /* red */
        font-size: 18px;
        font-weight: 900;
    }

    .amount-input {
        width: 100%;
        padding: 10px;
        font-size: 18px;
        margin: 10px 0 20px;
        border: 3px solid #b3b3b3;
        border-radius: 8px;
        box-sizing: border-box;
    }

    .submit-btn {
        width: 100%;
        background: #198754;
        color: white;
        padding: 12px;
        border-radius: 8px;
        border: none;
        font-size: 18px;
        cursor: pointer;
    }

    .close-btn {
        margin-top: 10px;
        width: 100%;
        background: #6c757d;
        color: white;
        padding: 10px;
        border-radius: 8px;
        border: none;
        font-size: 16px;
        cursor: pointer;
    }

    .market-closed-box {
        text-align: center;
        padding: 20px;
        background: #ffe4e4;
        border-radius: 10px;
    }
}


/*----------------------------END DEAL PAGE-----------------------------*/
/* ----------------------------------------- TRANSFER PAGE ------------------------------ */
.transferpage-wrapper {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 16px;
    direction: rtl;
    font-family: inherit;
}



.transferpage-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.transferpage-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1f2933;
    margin: 0;
}

.transferpage-create-btn {
    padding: 10px 20px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #1f9d55, #0b8457);
    color: #fff;
    font-size: 0.95rem;
    font-family: var(--font-main);
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(15, 128, 80, 0.25);
    transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
    white-space: nowrap;
}

.transferpage-create-btn:hover {
    background: linear-gradient(135deg, #18a05d, #0a7550);
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 128, 80, 0.3);
}

.transferpage-create-btn:active {
    transform: translateY(0);
    box-shadow: 0 3px 7px rgba(15, 128, 80, 0.25);
}

/* Flash / Alert message */

.transferpage-alert {
    margin-bottom: 20px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
}

.transferpage-alert.success {
    background-color: #e6f9f0;
    color: #166534;
    border: 1px solid #a7f3d0;
}

.transferpage-alert.error {
    background-color: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

/* ===========================
   Cards
   =========================== */

.transferpage-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 16px 18px 18px;
    margin-bottom: 24px;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
    border: 1px solid #e5e7eb;
}

.transferpage-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.transferpage-card-header h2 {
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
    margin: 0;
}

/* Empty states */

.transferpage-empty {
    padding: 14px 12px;
    border-radius: 10px;
    background-color: #f9fafb;
    border: 1px dashed #d1d5db;
    color: #4b5563;
    font-size: 0.9rem;
    text-align: center;
}

/* ===========================
   Table
   =========================== */

.transferpage-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

.transferpage-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}

.transferpage-table thead {
    background-color: #f3f4f6;
}

.transferpage-table th,
.transferpage-table td {
    padding: 10px 8px;
    text-align: right;
    border-bottom: 1px solid #e5e7eb;
    white-space: nowrap;
}

.transferpage-table th {
    font-weight: 600;
    color: #4b5563;
    font-size: 0.8rem;
}

.transferpage-table tbody tr:nth-child(even) {
    background-color: #fafafa;
}

.transferpage-table tbody tr:hover {
    background-color: #f1f5f9;
}

/* Row base class you already output via PHP */
.transferpage-row {
    transition: background-color 0.15s ease;
}

/* ===========================
   Buttons in table
   =========================== */

.transferpage-confirm-btn {
    padding: 6px 12px;
    border-radius: 7px;
    border: none;
    background-color: #0ea5e9;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s ease, transform 0.08s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 6px rgba(14, 165, 233, 0.3);
}

.transferpage-confirm-btn:hover {
    background-color: #0284c7;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(14, 165, 233, 0.3);
}

.transferpage-confirm-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(14, 165, 233, 0.25);
}

/* ===========================
   Modal
   =========================== */

/* ===========================
   Transfer Modal – Layout & Style
   =========================== */

.transferpage-modal {
    position: fixed;
    inset: 0;
    background-color: rgba(15, 23, 42, 0.55);
    display: none; /* toggled to flex in JS */
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 16px;
    direction: rtl;
    font-family: inherit;
}

.transferpage-modal-box {
    background-color: #ffffff;
    border-radius: 14px;
    max-width: 480px;
    width: 100%;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.4);
    padding: 16px 18px 20px;
    position: relative;
}

/* Header with step badge */

.transferpage-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 14px;
}

.transferpage-modal-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.transferpage-modal-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 700;
    box-shadow: 0 3px 8px rgba(34, 197, 94, 0.5);
}

.transferpage-modal-title h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: #111827;
}

.transferpage-modal-title p {
    margin: 2px 0 0;
    font-size: 0.8rem;
    color: #6b7280;
}

/* Close button */

.transferpage-modal-close {
    border: none;
    background: transparent;
    font-size: 1.4rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
    padding: 0 4px;
    transition: color 0.2s ease, transform 0.1s ease;
}

.transferpage-modal-close:hover {
    color: #ef4444;
    transform: scale(1.05);
}

/* ===========================
   Form inside modal
   =========================== */

.transferpage-form {
    margin-top: 4px;
}

.transferpage-form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 12px;
}

.transferpage-form-labelrow {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 5px;
}

.transferpage-form-group label {
    font-size: 0.85rem;
    color: #4b5563;
    font-weight: 600;
}

.transferpage-form-help {
    font-size: 0.75rem;
    color: #9ca3af;
}

/* Text inputs & textarea */

.transferpage-form-group input,
.transferpage-form-group textarea {
    border-radius: 8px;
    border: 1px solid #d1d5db;
    padding: 8px 10px;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    font-family: inherit;
    background-color: #f9fafb;
}

.transferpage-form-group textarea {
    min-height: 80px;
    resize: vertical;
}

.transferpage-form-group input:focus,
.transferpage-form-group textarea:focus {
    border-color: #0ea5e9;
    box-shadow: 0 0 0 1px rgba(14, 165, 233, 0.25);
    background-color: #ffffff;
}

/* Inline input with addon (amount + unit) */

.transferpage-input-inline {
    display: flex;
    align-items: center;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background-color: #f9fafb;
    overflow: hidden;
}

.transferpage-input-inline input {
    border: none;
    border-radius: 0;
    flex: 1;
    padding: 8px 10px;
    background: transparent;
}

.transferpage-input-inline input:focus {
    box-shadow: none;
}

.transferpage-input-addon {
    padding: 0 10px;
    font-size: 0.8rem;
    color: #6b7280;
    border-right: 1px solid #e5e7eb; /* RTL: addon on left visually */
    background-color: #f3f4f6;
}

/* Info box */

.transferpage-info-box {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 6px 0 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid #bfdbfe;
    background-color: #eff6ff;
}

.transferpage-info-icon {
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background-color: #2563eb;
    color: #ffffff;
    font-size: 0.8rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.transferpage-info-text p {
    margin: 0;
    font-size: 0.78rem;
    color: #1f2937;
    line-height: 1.6;
}

/* Form actions (buttons) */

.transferpage-form-actions {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 6px;
}

.transferpage-submit-btn {
    padding: 8px 16px;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
    font-size: 0.9rem;
    font-family: var(--font-main);
    font-weight: 600;
    cursor: pointer;
    box-shadow: 0 3px 9px rgba(34, 197, 94, 0.35);
    transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
}

.transferpage-submit-btn:hover {
    background: linear-gradient(135deg, #22c55e, #15803d);
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(34, 197, 94, 0.4);
}

.transferpage-submit-btn:active {
    transform: translateY(0);
    box-shadow: 0 3px 9px rgba(34, 197, 94, 0.3);
}

.transferpage-cancel-btn {
    padding: 8px 14px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background-color: #f9fafb;
    color: #374151;
    font-size: 0.85rem;
    font-family: var(--font-main);
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.transferpage-cancel-btn:hover {
    background-color: #e5e7eb;
    border-color: #9ca3af;
}

/* ===========================
   Responsive (Modal & Filter)
   =========================== */

@media (max-width: 768px) {
    .transferpage-modal-box {
        max-width: 100%;
        padding: 14px 12px 18px;
    }

    .transferpage-modal-header {
        align-items: flex-start;
    }

    .transferpage-form-actions {
        flex-direction: row;
        justify-content: flex-end;
    }

    .transferpage-filter-form {
        flex-direction: column;
        align-items: stretch;
    }

    .transferpage-filter-btn {
        width: 100%;
        text-align: center;
    }
}

/* --------------------------------------------------------  END TRANSFER PAGE ------------------------------------------------------------ */
/* ------------------------------------------------------------ PROILE PAGE ------------------------------------------------------------ */
.profile-wrapper {
    direction: rtl;
    max-width: 600px;
    margin: 40px auto 80px;
    padding: 15px;
    font-family: inherit;
    background: #f7f7f7;
    border: 4px solid #d9d9d9;
    border-radius: 13px;
}

.profile-header {
    display: flex;
    align-items: center;
    gap: 15px;
    background: #fff;
    padding: 20px;
    border-radius: 14px;
    box-shadow: 0 10px 1px rgba(0, 0, 0, 0.274);
    margin-bottom: 20px;
}

.avatar-circle {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: #4e73df;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 26px;
    font-weight: bold;
}

.profile-basic-info h2 {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
}

.profile-basic-info p {
    margin: 4px 0 0;
    color: #555;
}

.profile-section {
    background: #fff;
    padding: 20px;
    border-radius: 14px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.07);
    margin-bottom: 20px;
}

.profile-section h3 {
    margin: 0 0 15px;
    font-size: 18px;
    border-right: 4px solid #4e73df;
    padding-right: 10px;
    background-color: #74747425;
}

.profile-row {
    display: flex;
    justify-content: space-between;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}

.profile-row:last-child {
    border-bottom: none;
}

.label {
    font-weight: 600;
    color: #333;
}

.value {
    font-weight: 600;
    color: #000000;
}

.balance-section .balance-box {
    text-align: center;
    padding: 20px 0;
}


.balance-label {
    color: #666;
    font-size: 15px;
}
.menu-icon{
    color: #ef4444;   /* any color you want */
    font-weight: bold;
    font-size: 18px;  /* optional */
}
.balance-value {
    display: block;
    margin-top: 10px;
    font-size: 24px;
    font-family: var(--font-number);
    font-weight: bold;
}

.balance-positive {
    color: #2ecc71; /* green */
}

.balance-negative {
    color: #e74c3c; /* red */
}

.balance-sign-label {
    display: block;
    font-size: 18px;
}
/* -----------------------------------------  END PROILE PAGE --------------------------------------------- */
/* ----------------------------------------- Change PASS PAGE --------------------------------------------- */

body.sidebar-open .reset_pass_modal,
body.sidebar-open .reset_pass_modal * {
    pointer-events: auto !important;
}
.reset_pass_modal {
    position: fixed;
    inset: 0;
    z-index: 1200; 
    
    display: flex;
    align-items: center;
    justify-content: center;

    /* Hidden by default (Overrides inline style smoothly) */
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.25s ease;
    direction: rtl;
}

/* OPENED MODAL */
.reset_pass_modal.active {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Backdrop Overlay */
.reset_pass_backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.45); 
    backdrop-filter: blur(2px);
}

/* Modal Box */
.reset_pass_dialog {
    position: relative;
    width: min(420px, calc(100% - 32px));
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.2);
    z-index: 2;


    transform: translateY(20px) scale(0.95);
    transition: all 0.25s ease;
}

.reset_pass_modal.active .reset_pass_dialog {
    transform: translateY(0) scale(1);
}


.reset_pass_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e7eb;
}

.reset_pass_title {
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
}

.reset_pass_close {
    background: transparent;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #64748b;
    padding: 0;
}

.reset_pass_form {
    padding: 20px;
}

.reset_pass_field {
    margin-bottom: 15px;
}

.reset_pass_label {
    display: block;
    font-size: 13px;
    color: #334155;
    margin-bottom: 6px;
}

.reset_pass_input {
    width: 100%;
    height: 44px;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    padding: 0 12px;
    font-size: 14px;
    outline: none;
    box-sizing: border-box;
}

.reset_pass_input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.reset_pass_hint {
    margin-top: 5px;
    font-size: 11px;
    font-family: var(--font-main);
    color: #64748b;
}

.reset_pass_actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

.reset_pass_btn_primary,
.reset_pass_btn_secondary {
    flex: 1;
    height: 44px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    font-family: var(--font-main);
    border: none;
}

.reset_pass_btn_primary {
    background: #0f172a;
    color: #fff;
}

.reset_pass_btn_secondary {
    background: #f1f5f9;
    color: #334155;
    border: 1px solid #e2e8f0;
}

.reset_pass_note {
    margin-top: 15px;
    font-size: 12px;
    color: #64748b;
    text-align: center;
}




/* Message Box Base */
.reset_pass_message {
    padding: 12px 16px;
    margin-bottom: 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    line-height: 1.6;
    font-family: var(--font-main);
    
    
    animation: resetPassMsgFadeIn 0.3s ease-out forwards;
}


.reset_pass_message.is-loading {
    background-color: #f8fafc; 
    color: #475569;
    border: 1px solid #e2e8f0;
}


.reset_pass_message.is-success {
    background-color: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}


.reset_pass_message.is-error {
    background-color: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}

/* Keyframes for Animation */
@keyframes resetPassMsgFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* ----------------------------------------- END CHANGE PASS PAGE --------------------------------------------- */
/* ------------------------------------------------- SIDEBAR PAGE ------------------------------------------------------------ */
#menu-toggle{
    position: fixed;
    top: 16px;
    right: 16px;

    width: 44px;
    height: 44px;

    border: none;
    border-radius: 12px;

    background: #2563eb;
    color: #ffffff;

    font-size: 22px;
    cursor: pointer;

    z-index: 1101;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.28);

    transition:
        transform 0.2s ease,
        background 0.2s ease,
        box-shadow 0.2s ease;
}

#menu-toggle:hover{
    background: #1d4ed8;
    transform: translateY(-1px);
}

#menu-toggle:active{
    transform: scale(0.96);
}

/* =========================
   OVERLAY
========================= */

.sidebar-overlay{
    position: fixed;
    inset: 0;

    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(2px);

    opacity: 0;
    visibility: hidden;

    transition: all 0.25s ease;

    z-index: 1090;
}

.sidebar-overlay.active{
    opacity: 1;
    visibility: visible;
}

/* =========================
   SIDEBAR
========================= */

#sidebar{
    position: fixed;

    top: 0;
    right: -280px;

    width: 260px;
    height: 100vh;

    background: #ffffff;

    border-left: 1px solid #e5e7eb;

    box-shadow:
        -10px 0 30px rgba(15, 23, 42, 0.12);

    transition: right 0.28s ease;

    z-index: 1100;

    padding: 18px 12px 24px;

    display: flex;
    flex-direction: column;
    gap: 10px;   
}

/* OPENED */
#sidebar.active{
    right: 0;
}

/* =========================
   SIDEBAR TITLE (optional)
========================= */

.sidebar-header{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;

  padding: 10px 8px 14px;
  margin-bottom: 6px;

  border-bottom: 1px solid #e5e7eb;
}

/* Logo sizing */
.sidebar-logo{
  width: 78px;
  height: 78px;
  object-fit: contain;
  display: block;
}

.sidebar-title{
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  text-align: center;
  margin-bottom: 0;   /* changed (header controls spacing) */
  padding-right: 0;   /* optional */
}
/* =========================
   MENU BUTTONS
========================= */

.sidebar-btn{
    display: flex;
    align-items: center;
    justify-content: flex-start;

    gap: 10px;

    padding: 10px 12px;
    margin-bottom: 10px;

    background: #f8fafc;
    direction: rtl;

    border: 1px solid #e5e7eb;
    border-radius: 14px;
    font-family: var(--font-main);

    color: #111827;
    text-decoration: none;

    font-size: 14px;
    font-weight: 600;
}

.sidebar-icon{
    width: 20px;
    height: 20px;
    object-fit: contain;
}
/* hover */
.sidebar-btn:hover{
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;

    transform: translateY(-2px);

    box-shadow:
        0 8px 20px rgba(37, 99, 235, 0.12);
}

/* click feedback */
.sidebar-btn:active{
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(0,0,0,0.08);
}

/* active page */
.sidebar-btn.active{
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    border-color: #2563eb;
    color: #ffffff;

    box-shadow:
        0 10px 24px rgba(37, 99, 235, 0.25);
}

/* red button */
.sidebar-btn.danger:hover{
    background: #fef2f2;
    border-color: #fecaca;
    color: #dc2626;

    box-shadow: 0 8px 18px rgba(220,38,38,0.12);
}

/* disable page interaction when sidebar is open */
body.sidebar-open {
    overflow: hidden;
}

/* prevent clicks on everything */
body.sidebar-open * {
    pointer-events: none;
}

/* BUT allow sidebar + toggle + overlay */
body.sidebar-open #sidebar,
body.sidebar-open #sidebar *,
body.sidebar-open #menu-toggle,
body.sidebar-open .sidebar-overlay {
    pointer-events: auto;
}

/* ----------------------------------------- END SIDEBAR PAGE --------------------------------------------- */
/* ----------------------------------------- MOBILE NAV PAGE --------------------------------------------- */
.mobile-bottom-nav {
    position: fixed;
    bottom: 20px; /* floating like screenshot */
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    background: #0f1624;
    padding: 12px 5px;
    border-radius: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 8px 20px rgba(0,0,0,0.4);
    z-index: 99997;
    direction: rtl; /* RTL text */
}


.mobile-bottom-nav .nav-item {
    flex: 1;
    text-align: center;
    text-decoration: none;
    color: #afc9ff;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
}

.nav-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
    margin-bottom: 2px;
}


.nav-item:hover {
    color: #ffffff;
    transform: scale(1.06);
}
.mobile-bottom-nav .nav-item.active {
    color: #ffffff;
}

/* ----------------------------------------- END MOBILE NAV PAGE --------------------------------------------- */


/* ------------------------------------------------EBD USER SECTIION ---------------------------------------*/



.uap-modal{
    position:fixed;
    top:0; left:0;
    width:100%; height:100%;
    background:rgba(0,0,0,0.4);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
}

/* Modal Box */
.uap-modal-content{
    background:#fff;
    width:350px;
    padding:20px;
    direction: rtl;
    border-radius:8px;
    max-height:80vh;
    box-shadow:0 4px 12px rgba(0,0,0,0.2);
    position:relative;
    animation:modalIn .25s ease;
}

.uap-modal-content.uap-wide{
    width:850px;
}

.uap-balance-list-wrapper {
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid #e3e7ee;
    background: #fafbfc;
}

/* header: title + pill */
.uap-balance-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.uap-balance-header h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

.uap-balance-pill {
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e6f2ff;
    color: #225c9b;
    border: 1px solid #c2ddff;
}

/* loading state */
.uap-balance-loading {
    margin-top: 10px;
    padding: 8px 10px;
    border-radius: 6px;
    background: #f5f7fb;
    color: #555;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* simple spinner dot */
.uap-spinner {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #c0d4ff;
    border-top-color: #3b82f6;
    animation: uap-spin 0.9s linear infinite;
}

@keyframes uap-spin {
    to { transform: rotate(360deg); }
}

/* table container with subtle scroll if many products */
.uap-balance-table-wrapper {
    margin-top: 8px;
    max-height: 220px;
    overflow: auto;
    border-radius: 6px;
    border: 1px solid #e4e8f0;
    background: #fff;
}

/* table */
#uap-balance-table {
    width: 100%;
    border-collapse: collapse;
}

#uap-balance-table thead tr {
    background: #f4f6fb;
}

#uap-balance-table th,
#uap-balance-table td {
    padding: 7px 10px;
    font-size: 12px;
    text-align: center;
    border-bottom: 1px solid #eef0f5;
}

/* header cells */
#uap-balance-table th {
    font-weight: 600;
    color: #444;
}

/* rows styling */
#uap-balance-table tbody tr {
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.05s ease;
}

#uap-balance-table tbody tr:nth-child(odd) {
    background: #fcfdff;
}

#uap-balance-table tbody tr:hover {
    background: #e9f3ff;
    transform: translateY(-1px);
}

/* balance column: slightly different color */
#uap-balance-table td:nth-child(2) {
    font-family: monospace;
    color: #1d4ed8;
}

/* hint text */
.uap-balance-hint {
    display: block;
    margin-top: 6px;
    font-size: 11px;
    color: #777;
}

@keyframes modalIn {
    from { opacity:0; transform:scale(0.95); }
    to { opacity:1; transform:scale(1); }
}

.uap-close{
    position:absolute;
    top:10px;
    right:10px;
    font-size:18px;
    cursor:pointer;
}
.transactions-scroll{
    max-height:65vh;
    overflow-y:auto;
    padding-right:10px;
}
.transaction-btn{
    background:#6a1b9a;
    color:white;
    padding:6px 10px;
    border:none;
    border-radius:5px;
    cursor:pointer;
    margin-right:5px;
}

.transaction-btn:hover{
    background:#4a148c;
}

.change-balance-btn{
    background:#1976d2;
    color:#fff;
    padding:6px 10px;
    border:none;
    border-radius:5px;
    margin-right:5px;
    cursor:pointer;
}

.change-balance-btn:hover{
    background:#0d47a1;
}

.uap-save-btn{
    margin-top:15px;
    width:100%;
    background:#2e7d32;
    color:#fff;
    padding:8px 10px;
    border:none;
    border-radius:5px;
    cursor:pointer;
}

.uap-save-btn:hover{
    background:#1b5e20;
}

#uap_balance_input{
    width:100%;
    padding:6px;
    margin-top:5px;
    border:1px solid #ccc;
    border-radius:4px;
}

.uap-users-wrapper{
    max-width:1200px;
    margin:20px auto;
    background:#fff;
    padding:20px;
    border-radius:10px;
    box-shadow:0 4px 14px rgba(0,0,0,0.05);
    direction: rtl;
}

.uap-title{
    margin-bottom:15px;
    font-size:22px;
}


.uap-table{
    width:100%;
    border-collapse:collapse;
    direction: ltr;
}

.uap-table thead{
    background:#f5f6f8;
}

.uap-table th{
    padding:12px;
    text-align:left;
    font-weight:600;
    text-align: center;  
    border-bottom:2px solid #e5e5e5;
    
}

.uap-table td{
    padding:10px;
    text-align: center; 
    border-bottom:1px solid #eee;
    font-family: var(--font-number);
}

.uap-table tr:hover{
    background:#fafafa;
}

.balance{
    font-weight:600;
    color:#0a7d3b;
}

.tier-select{
    padding:4px 6px;
    border-radius:4px;
}

.delete-btn{
    background:#e53935;
    color:white;
    border:none;
    padding:6px 10px;
    border-radius:5px;
    cursor:pointer;
}

.delete-btn:hover{
    background:#c62828;
}

.uap-action-menu{
    position:relative;
    display:inline-block;
}

.uap-action-toggle{
    background:#37474f;
    color:#fff;
    border:none;
    padding:6px 12px;
    border-radius:5px;
    font-family: var(--font-main);
    cursor:pointer;
}

.uap-action-toggle:hover{
    background:#263238;
}

.uap-action-dropdown{
    display:none;
    position:absolute;
    right:0;
    background:#fff;
    border:1px solid #ddd;
    border-radius:6px;
    box-shadow:0 4px 10px rgba(0,0,0,0.1);
    min-width:160px;
    z-index:10;
}

.uap-action-dropdown button{
    width:100%;
    padding:8px 12px;
    border:none;
    background:none;
    text-align:right;
    font-family: var(--font-main);
    cursor:pointer;
}

.uap-action-dropdown button:hover{
    background:#f5f5f5;
}

.delete-action{
    color:#e53935;
}



/* Main modal window */



/* Form */


/* Actions (buttons row) */



/* Wrapper (inner body) */


/* Form */


/* end create user section */









.ts-modal-body {
    overflow-y: auto; /* Scrollable body */
    padding: 4px;
}

.close-modal {
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    color: #9ca3af;
}
.close-modal:hover { color: #ef4444; }







/*------------------------- End Users PAGE------------------------- */









/*---------------------------------------------END ADMIN PAGE ----------------------------------*/
/*---------------------------------------------START USER PAGE ----------------------------------*/

/*---------------------------------------------START LOGIN PAGE ----------------------------------*/


.pwa-sheet[hidden] { display: none !important; }

.pwa-sheet {
  position: fixed;
  inset: 0;
  z-index: 99999;
  direction: rtl;
  font-family: inherit;
}

.pwa-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

.pwa-sheet__panel {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  margin: 0 auto;
  max-width: 520px;
  background: #fff;
  border-radius: 18px 18px 0 0;
  box-shadow: 0 -16px 40px rgba(0,0,0,.18);
  padding: 14px 16px 18px;
  transform: translateY(16px);
  animation: pwaSlideUp .22s ease-out forwards;
}

@keyframes pwaSlideUp {
  to { transform: translateY(0); }
}

.pwa-sheet__grabber{
  width: 44px; height: 5px;
  background: #e6e6e6;
  border-radius: 99px;
  margin: 6px auto 12px;
}

.pwa-sheet__header{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 10px;
}

.pwa-sheet__icon{
  width: 52px; height: 52px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid #eee;
}

.pwa-sheet__title{
  font-size: 16px;
  font-weight: 800;
  color: #111;
}

.pwa-sheet__subtitle{
  font-size: 13px;
  color: #666;
  margin-top: 2px;
}

.pwa-sheet__text{
  margin: 10px 0 12px;
  color: #222;
  font-size: 14px;
  line-height: 1.9;
}

.pwa-sheet__actions{
  display:flex;
  gap: 10px;
  margin-top: 12px;
}

.pwa-btn{
  flex: 1;
  border: 0;
  border-radius: 14px;
  padding: 12px 14px;
  font-weight: 700;
  cursor: pointer;
  font-size: 15px;
}

.pwa-btn--primary{
  background: #4c8bf5;
  color:#fff;
}

.pwa-btn--ghost{
  background: #f2f5fb;
  color:#1f3b76;
}

.pwa-steps{
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.pwa-step{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fafafa;
  font-size: 14px;
}

.pwa-step__badge{
  width: 24px; height: 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 8px;
  background: #111;
  color: #fff;
  font-size: 13px;
  flex: 0 0 24px;
}

.pwa-step__icon{
  margin-right: auto;
  color: #444;
  font-weight: 900;
}


.simple-modal{
  position: fixed;
  inset: 0;
  display: none;              /* hidden by default */
  z-index: 999999;            /* ensure it's above everything */
  direction: rtl;
  font-family: inherit;
}

.simple-modal.is-open{
  display: block;
}

.simple-modal__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}

.simple-modal__dialog{
  position: relative;
  max-width: 420px;
  margin: 10vh auto 0;
  background: #fff;
  border-radius: 12px;
  padding: 18px 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

.simple-modal__title{
  margin: 0 0 10px 0;
  font-size: 18px;
}

.simple-modal__body{
  font-size: 14px;
  line-height: 1.8;
  padding: 10px 12px 40px;
  color: #222;
}

.simple-modal__close{
  position: absolute;
  top: 10px;
  left: 10px;                /* RTL-friendly close position */
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 10px;
  background: #f3f3f3;
  cursor: pointer;
  font-size: 22px;
  line-height: 36px;
}

.login-container {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 25px 15px;
        background: #f4f6f9;
        min-height: 100vh;
        direction: rtl;
}

.login-form {
        width: 100%;
        max-width: 420px;
        background: #ffffff;
        padding: 30px 25px;
        border-radius: 20px;
        box-shadow: 0 8px 25px rgba(0,0,0,0.08);
        animation: fadeIn 0.6s ease;
}

.login-form h2 {
    margin-top: 0;
    margin-bottom: 25px;
    color: #2c3e50;
    font-size: 24px;
}

.login-header{
   text-align:center;
    margin-bottom:20px;
}

.login-logo{
    max-width:90px;
    margin-bottom:10px;
}


.form-error {
    color: #c0392b;
    background: #ffe5e5;
    padding: 4px 8px;
    margin-top: 4px;
    border: none;
    border-radius: 4px;
    font-size: 0.92em;
    font-weight: bold;
    text-align: center;
}

.notice-error {
    padding:5px;
    color: #ff3c3c;
    border: none;
    margin-bottom:15px;
    text-align: right;
    border-radius: 15px;
}

.notice-success {
    padding:5px;
    color: #51f359;
    border: none;
    margin-bottom:15px;
    text-align: right;
    border-radius: 15px;
}

body.login-form {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    
    
}

.login-form button[type="submit"] {
    width: 100%; /* Make button full width */
    padding: 12px 20px;
    background-color: #28a745; /* A nice green for submit */
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 20px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px; /* Space above the button */
}

.login-form button[type="submit"]:hover {
    background-color: #218838; /* Darker green on hover */
}

.accinfo-form {
    background-color: #646464; /* White background for the form */
    padding: 30px;
    border-radius: 8px;
    border: 3px solid #969292;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    max-width: 400px; /* Max width for larger screens */
    width: 100%; /* Take full width up to max-width */
    margin: auto; /* Center the form if container is wider */
    box-sizing: border-box;
}

.accinfo-form h2 {
    margin-top: 0;
    margin-bottom: 25px;
    color: #2c3e50;
    font-size: 24px;
}

.form-group {
    margin-bottom: 20px;
    text-align: right; /* Align labels and inputs to the left */
}

.form-group label {
    display: block; /* Make label a block element */
    margin-bottom: 8px;
    font-weight: bold;
    font-size: 14px;
    color: #555;
}

.form-group input[type="text"],
.form-group input[type="password"] {
    width: 100%; /* Make input fields take full width */
    padding: 12px 15px;
    border: 1px solid #ccc;
    text-align: right;
    border-radius: 5px;
    font-size: 16px;
    box-sizing: border-box; /* Include padding and border in the element's total width */
}

/* Style for input focus */
.form-group input[type="text"]:focus,
.form-group input[type="password"]:focus {
    outline: none;
    border-color: #4a90e2; /* Highlight color on focus */
    box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.3);
}




.form-options {
    margin-top: 15px;
    font-size: 14px;
    display: flex;
    justify-content: space-between;
    text-align: right; /* Space out links */
}

.form-options a {
    color: #007bff; /* Standard link blue */
    text-decoration: none;
    transition: color 0.3s ease;
}

.form-options a:hover {
    color: #0056b3; /* Darker blue on hover */
    text-decoration: underline;
}

/*---------------------------------------------END LOGIN PAGE ----------------------------------*/



/* completed stronger */


.card {
    border-radius: var(--radius-box);
    outline-offset: 2px;
    outline: 0 solid #0000;
    flex-direction: column;
    transition: outline .2s ease-in-out;
    display: flex;
    position: relative;
}



/* end accinfo section */

/* start font section */
@font-face {
    font-family: 'Vazir';
    src: url('assets/fonts/Vazir-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('assets/fonts/Vazir-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('assets/fonts/Vazir.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('assets/fonts/Vazir-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Vazir';
    src: url('assets/fonts/Vazir-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Persian numbers */
@font-face {
    font-family: 'VazirFD';
    src: url('assets/fonts/Vazir-Medium-FD-WOL.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
/* end font section */


.signout-btn {
  background-color: #921c1a;   /* red */
  color: white;
  border: none;
  padding: 10px 18px;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
  justify-content: center;  /* horizontal center */
  align-items: center;      /* vertical center */
  height: 2vh;  
  transition: background-color 0.2s ease, transform 0.1s ease;
}

.signout-btn:hover {
  background-color: #c62828;
}

.signout-btn:active {
  transform: scale(0.96);
}

.signout-btn:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(229,57,53,0.3);
}

/* Make room so last content is not hidden behind menu */
body {
    padding-bottom: 80px; /* height of the bottom menu */
    font-family: 'Vazir', sans-serif;
}
/*-------------------------Admin Section----------------------------------------*/
















/* --- Mobile-Specific Styles (using Media Query) --- */


/* Styles for screens smaller than 768px (typical tablet breakpoint) */


@media (max-width: 767px) {
    body {
        background-color: #ffffff; /* White background for mobile often looks cleaner */
        padding: 15px; /* Add padding to body to prevent content touching screen edges */
        display: block; /* Remove flex centering if not needed */
        min-height: auto; /* Reset min-height */
        
    }
    body.custom-login-page {
        margin: 0;
        padding: 0;
        overflow: hidden; /* prevents tiny iOS scroll from 100vh issues */
    }

    body.custom-login-page .login-container {
        margin: 0;
        padding: 25px 15px;

        /* iOS-friendly viewport units */
        min-height: 100vh;   /* fallback */
        min-height: 100svh;  /* best for “visible” viewport on mobile */
        /* or use 100dvh if you prefer dynamic resizing with browser chrome */
        
        display: flex;
        justify-content: center;
        align-items: center;

        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .login-container {
        display: flex;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        justify-content: center;
        align-items: center;
        padding: 25px 15px;
        background: #f4f6f9;
        min-height: 100vh;
        direction: rtl;
    }
    .login-header {
    text-align: center;
    margin-bottom: 22px;
    }

    .login-logo {
        width: 130px;
        height: 130px;
        object-fit: contain;
        display: block;
        margin: 0 auto 1px;
    }

    .project-name {
        display: inline-block;
        margin: 0;
        padding: 10px 22px;
        font-size: 23px;
        font-weight: 700;
        color: #6f060a;
        background: linear-gradient(135deg, #fffdf7, #f8f1df);
        border: 1.5px solid #e6d3a3;
        border-radius: 14px;
        box-shadow: 0 6px 18px rgba(180, 138, 44, 0.12);
        line-height: 1.6;
    }

    input {
        font-size: 18px ;
        padding: 14px ;
    }

    label {
        font-size: 15px ;
    }

    /* main form */
    .login-form {
        width: 100%;
        max-width: 420px;
        background: #ffffff;
        padding: 30px 25px;
        border-radius: 20px;
        box-shadow: 0 8px 25px rgba(0,0,0,0.08);
        animation: fadeIn 0.6s ease;
    }

    /* smooth fade-in animation */
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(15px); }
        to   { opacity: 1; transform: translateY(0); }
    }

    /* heading */
    .login-form h2 {
        font-size: 24px;
        font-weight: 700;
        margin-bottom: 25px;
        color: #333;
        text-align: center;
    }

    /* input container */
    .form-group {
        margin-bottom: 18px;
    }

    /* inputs */
    .form-group input {
        width: 100%;
        padding: 14px 16px;
        font-size: 16px;
        border: 1.7px solid #e0e0e0;
        border-radius: 12px;
        outline: none;
        transition: 0.3s;
        background: #fafafa;
    }

    .form-group input:focus {
        border-color: #4c8bf5;
        background: #ffffff;
        box-shadow: 0 0 8px rgba(76,139,245,0.15);
    }

    /* error messages */
    .form-error {
        color: #e53935;
        background: #ffeaea;
        padding: 10px 12px;
        border-radius: 10px;
        margin-bottom: 15px;
        font-size: 14px;
        display: block;
    }

    /* button */
    .btn-login {
        width: 100%;
        padding: 14px 20px;
        background: #4c8bf5;
        color: white;
        font-size: 18px;
        font-weight: 600;
        border: none;
        border-radius: 14px;
        cursor: pointer;
        transition: 0.3s ease;
    }

    .btn-login:hover {
        background: #3b78e5;
        box-shadow: 0 6px 15px rgba(76,139,245,0.25);
    }

    .btn-login:active {
        transform: scale(0.98);
    }

    /* footer link */
    .form-options {
        text-align: center;
        margin-top: 18px;
    }

    .form-options a {
        color: #4c8bf5;
        font-size: 15px;
        text-decoration: none;
        transition: 0.3s;
    }

    .form-options a:hover {
        color: #2d6ce0;
    }

    .form-options {
        flex-direction: column; /* Stack links vertically */
        align-items: center; /* Center stacked links */
        margin-top: 15px;
    }

    .form-options a {
        margin-bottom: 10px; /* Space between stacked links */
    }

    .form-options a:last-child {
        margin-bottom: 0; /* No margin on the last link */
    }
    .uap-create-user-wrapper {
        max-width: 100%;
        padding: 18px 16px;
    }
}
    





/* === Transaction card === */


.wrap h1 {
    font-size: 2em;
    margin-bottom: 20px;
    color: #23282d;
}

.wrap h2 {
    font-size: 1.5em;
    margin-top: 30px;
    margin-bottom: 15px;
    color: #23282d;
}

.parent {
    display: flex;
    justify-content: center;
    text-align: center;
    color: #0073aa;
}

.notice {
    padding: 12px 20px;
    border-left: 4px solid;
    margin-bottom: 20px;
    border-radius: 3px;
}

.notice-success {
    background-color: #dff0d8;
    border-color: #46b450;
    color: #3c763d;
}

.notice-error {
    background-color: #f2dede;
    border-color: #dc3232;
    color: #a94442;
}

table.widefat {
    width: 100%;
    border-collapse: collapse;
    margin-top: 15px;
}

table.widefat th,
table.widefat td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
}

table.widefat th {
    background-color: #f1f1f1;
    font-weight: bold;
}

.form-table th {
    width: 200px;
    padding-right: 15px;
    vertical-align: top;
}

.form-table td input,
.form-table td select {
    width: 100%;
    max-width: 400px;
    padding: 6px;
    border: 1px solid #ccd0d4;
    border-radius: 3px;
    box-sizing: border-box;
}

.button-danger {
    background: #dc3232;
    color: #fff;
    border-color: #b92c28;
}

.button-danger:hover {
    background: #b92c28;
    border-color: #992623;
    color: #fff;
}

p {
    margin-top: 15px;
    margin-bottom: 15px;
}






/*---------------------------------------------END USER PAGE ----------------------------------*/
