/* خط سرا — رابط یکپارچه عمومی */

:root {
    --color-primary: #076fd4;
    --color-primary-dark: #075eae;
    --color-primary-light: #eaf4ff;
    --color-accent: #0878e8;
    --color-gold: #c9932e;
    --color-success: #1f8a52;
    --color-warning: #b8791a;
    --color-danger: #c0392b;
    --color-bg: #f5f7fa;
    --color-surface: #ffffff;
    --color-border: #e2e8f0;
    --color-text: #172033;
    --color-text-muted: #64748b;
    --radius: 10px;
    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 20px;
    --radius-xl: 24px;
    --shadow: 0 8px 24px rgba(15, 47, 78, 0.08);
    --shadow-card: 0 10px 28px rgba(15, 47, 78, 0.07);
    --shadow-float: 0 22px 56px rgba(10, 31, 52, 0.18);
    --header-h: 78px;
    --bottom-nav-h: 62px;
}

[data-theme="dark"] {
    --color-primary: #2495ff;
    --color-primary-dark: #0878e8;
    --color-primary-light: #112b44;
    --color-accent: #38bdf8;
    --color-bg: #0b111b;
    --color-surface: #111b29;
    --color-border: #26384b;
    --color-text: #eef6ff;
    --color-text-muted: #9fb1c5;
    --shadow: 0 2px 14px rgba(0, 0, 0, 0.4);
}

* { box-sizing: border-box; }
.ui-icon { display:inline-block; flex:0 0 auto; vertical-align:middle; }

html, body, button, input, select, textarea {
    font-family: 'Vazirmatn', 'Vazir', Tahoma, sans-serif !important;
}

body {
    margin: 0;
    font-family: 'Vazirmatn', Tahoma, sans-serif;
    background: var(--color-bg);
    color: var(--color-text);
    direction: rtl;
    line-height: 1.7;
}

a { color: inherit; text-decoration: none; }

.container { max-width: 1440px; margin: 0 auto; padding: 0 20px; }

.muted { color: var(--color-text-muted); }

.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 6px;
    border: 1px solid transparent; border-radius: var(--radius);
    padding: 10px 18px; font-size: 14px; font-family: inherit; cursor: pointer;
    transition: 0.15s ease;
}
.btn-primary { background: var(--color-primary); color: #fff; }
.btn-primary:hover { background: var(--color-primary-dark); }
.btn-accent { background: var(--color-accent); color: #fff; }
.btn-accent:hover { filter: brightness(1.08); }
.btn-ghost { background: transparent; color: var(--color-primary); border-color: var(--color-border); }
.btn-ghost:hover { background: var(--color-primary-light); }
.btn-sm { padding: 7px 14px; font-size: 13px; }
.btn-block { width: 100%; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* -------- Header -------- */
.site-header {
    position:sticky; top:0; z-index:40; height:var(--header-h);
    background:color-mix(in srgb,var(--color-surface) 92%,transparent); border-bottom:1px solid rgba(11,143,243,.12);
    box-shadow:0 8px 30px rgba(49,46,129,.07); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
}
.header-inner { height:100%; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:clamp(20px,3vw,48px); }
.logo { display:flex; align-items:center; gap:11px; flex:none; color:var(--color-text); }
.logo-badge { position:relative; isolation:isolate; display:grid; place-items:center; width:52px; height:52px; border-radius:17px; color:#fff; background:linear-gradient(145deg,#2495ff,#075eae); box-shadow:0 10px 24px rgba(8,120,232,.25); overflow:hidden; }
.logo-badge::after { content:""; position:absolute; z-index:-1; width:42px; height:42px; left:-18px; bottom:-20px; border-radius:50%; background:#14b8a6; opacity:.9; }
.logo-badge i { width:15px; height:5px; margin-bottom:-3px; border-radius:5px; background:rgba(255,255,255,.8); }.logo-badge b { font-size:12px; letter-spacing:.5px; }
.logo-copy { display:flex; flex-direction:column; line-height:1.45; }.logo-copy strong { font-size:16px; font-weight:900; }.logo-copy small { color:var(--color-text-muted); font-size:11px; white-space:nowrap; }
.main-nav { display:flex; align-items:center; justify-content:center; gap:4px; min-width:0; }
.main-nav a { position:relative; display:flex; align-items:center; gap:5px; padding:9px 11px; border-radius:11px; color:var(--color-text-muted); font-size:12px; font-weight:700; white-space:nowrap; transition:.2s ease; }
.main-nav a > span { color:var(--color-primary); font-size:14px; }.main-nav a:hover { color:var(--color-primary); background:var(--color-primary-light); transform:translateY(-1px); }
.main-nav a.active { color:var(--color-primary); background:var(--color-primary-light); }.main-nav a.active::after { content:""; position:absolute; right:12px; left:12px; bottom:-14px; height:3px; border-radius:3px 3px 0 0; background:linear-gradient(90deg,#2495ff,#14b8a6); }
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; }
.icon-btn {
    display:inline-flex; align-items:center; justify-content:center;
    width:40px; height:40px; border-radius:12px; border:1px solid var(--color-border);
    background:var(--color-surface); color:var(--color-text); cursor:pointer; font-size:17px; transition:.2s ease;
}
.icon-btn:hover { background:var(--color-primary-light); border-color:#9fcdf8; transform:translateY(-1px); }
.header-account-btn { display:inline-flex; align-items:center; gap:8px; min-height:42px; padding:7px 13px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#0b8ff3,#075eae); box-shadow:0 8px 20px rgba(8,120,232,.20); font-size:12px; transition:.2s ease; }.header-account-btn:hover { transform:translateY(-1px); box-shadow:0 11px 24px rgba(8,120,232,.28); }.header-account-btn span { display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:rgba(255,255,255,.14); }
.mobile-menu-toggle { display:none; width:42px; height:42px; padding:10px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface); cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:4px; }.mobile-menu-toggle span { display:block; width:19px; height:2px; border-radius:2px; background:var(--color-text); transition:.2s; }
@media (min-width:769px) { .mobile-menu-toggle { display:none !important; } }

/* -------- Layout: sidebar + main -------- */
.lots-page { padding: 24px 0 64px; }
.breadcrumb { font-size: 13px; color: var(--color-text-muted); margin-bottom: 16px; }
.breadcrumb a { color: var(--color-accent); }
.lots-layout { display: grid; grid-template-columns: 300px 1fr 260px; gap: 28px; align-items: start; }

.sidebar { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 16px; position: sticky; top: calc(var(--header-h) + 16px); }
.sidebar-nav { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; }
.sidebar-nav a, .sidebar-nav-action { padding: 10px 12px; border-radius: 8px; font-size: 14px; color: var(--color-text); }
.sidebar-nav-action { width: 100%; border: 0; background: transparent; text-align: right; cursor: pointer; }
.sidebar-nav a:hover, .sidebar-nav a.active, .sidebar-nav-action:hover { background: var(--color-primary-light); color: var(--color-primary); font-weight: 600; }
.sidebar-nav-guest { margin-bottom: 0; }
.promo-card { background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); color: #fff; border-radius: var(--radius); padding: 14px; margin-bottom: 12px; }
.promo-card h4 { margin: 0 0 4px; font-size: 14px; }
.promo-card p { margin: 0; font-size: 12px; opacity: 0.9; }
.sidebar-welcome { background: var(--color-bg-subtle, #f3f3f3); border-radius: var(--radius); padding: 10px 12px; margin-bottom: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.sidebar-welcome-title { font-size: 13px; font-weight: 700; }
.sidebar-welcome-badge { font-size: 11px; font-weight: 700; background: var(--color-accent); color: #fff; border-radius: 999px; padding: 2px 10px; }
.support-card { border: 1px dashed var(--color-border); border-radius: var(--radius); padding: 12px; text-align: center; font-size: 13px; }
.support-card a { display: block; color: var(--color-accent); font-weight: 700; margin-top: 4px; direction: ltr; }

/* Unified account card — it only lives in a real layout column, never over page content. */
.account-sidebar-profile { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin-bottom: 14px; padding: 12px; border: 1px solid var(--color-border); border-radius: 14px; background: linear-gradient(135deg, var(--color-primary-light), var(--color-surface)); }
.account-sidebar-profile > div { min-width: 0; display: flex; flex-direction: column; }
.account-sidebar-profile small { color: var(--color-text-muted); font-size:11px; }
.account-sidebar-profile b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.account-avatar { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, #2495ff, #075eae); font-weight: 900; box-shadow: 0 8px 18px rgba(7, 94, 174, .2); }
.account-role { padding: 3px 8px; border-radius: 999px; background: #dceeff; color: #0878e8; font-size:11px; font-weight: 800; }
.account-online-dot { width: 9px; height: 9px; border-radius: 50%; background: #10b981; box-shadow: 0 0 0 4px rgba(16, 185, 129, .13); }
.account-sidebar-nav { gap: 3px; }
.account-sidebar-nav a, .account-sidebar-nav .sidebar-nav-action { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 8px 10px; border-radius: 10px; font-size: 12px; font-weight: 650; }
.account-sidebar-nav a > span, .account-sidebar-nav button > span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 25px; border-radius: 8px; background: var(--color-primary-light); color: var(--color-primary); }
.account-sidebar-nav .account-primary-link { margin-top: 6px; color: #fff; background: linear-gradient(135deg, #0b8ff3, #075eae); box-shadow: 0 8px 18px rgba(7, 94, 174, .16); }
.account-sidebar-nav .account-primary-link > span { color: #fff; background: rgba(255, 255, 255, .14); }
.account-sidebar-nav .sidebar-nav-action { margin-top: 7px; padding-top: 10px; border-top: 1px solid var(--color-border); color: var(--color-danger); }
.account-guest-card { padding: 8px 4px 16px; text-align: center; }
.account-guest-card > span { display: grid; place-items: center; width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 15px; background: var(--color-primary-light); font-size: 22px; }
.account-guest-card h3 { margin: 0 0 7px; font-size: 15px; }
.account-guest-card p { margin: 0 0 14px; color: var(--color-text-muted); font-size: 11px; line-height: 1.9; }
.account-support-card { margin-top: 14px; border-style: solid; background: var(--color-bg); text-align: right; }
.account-support-card span, .account-support-card small { display: block; }
.account-support-card span { font-size: 12px; font-weight: 800; }
.account-support-card small { margin-top: 2px; color: var(--color-text-muted); font-size:11px; }
.account-support-card a { display: inline-flex; margin-top: 9px; direction: rtl; font-size: 11px; }
#siteSidebar { padding: 14px; border-radius: 18px; }

.lots-main { min-width: 0; }

/* -------- Filter panel -------- */
.filter-panel { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 18px; position: sticky; top: calc(var(--header-h) + 16px); max-height: calc(100vh - var(--header-h) - 32px); overflow-y: auto; }
.filter-panel-head { display: none; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.filter-title { margin: 0 0 12px; font-size: 15px; }
.filter-field { margin-bottom: 12px; }
.filter-field label { display: block; font-size: 12px; color: var(--color-text-muted); margin-bottom: 4px; }
.filter-field input, .filter-field select {
    width: 100%; padding: 9px 10px; border: 1px solid var(--color-border); border-radius: 8px;
    font-family: inherit; font-size: 14px; background: var(--color-surface); color: var(--color-text);
}
.price-range .range-inputs { display: flex; gap: 8px; }
.digit-search-boxes { display: flex; gap: 4px; justify-content: space-between; width: 100%; }
.digit-search-boxes .digit-box {
    flex: 1 1 0; min-width: 0; width: auto; height: 38px; padding: 0; text-align: center; font-size: 16px; font-weight: 600;
}
.filter-actions { display: flex; gap: 8px; margin-top: 4px; }
.filter-panel-close { display: none; }

.prefix-chip-scroll { display: none; gap: 8px; overflow-x: auto; padding: 4px 0 12px; }
.prefix-chip-scroll .chip {
    flex: 0 0 auto; background: var(--color-surface); border: 1px solid var(--color-border);
    border-radius: 20px; padding: 6px 14px; font-size: 13px; white-space: nowrap; cursor: pointer;
}
.prefix-chip-scroll .chip.active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

.results-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; font-size: 13px; color: var(--color-text-muted); }
.results-toolbar select { padding: 6px 10px; border-radius: 8px; border: 1px solid var(--color-border); font-family: inherit; background: var(--color-surface); color: var(--color-text); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.results-toolbar select:focus,
.results-toolbar select:focus-visible { border-color: #2495ff; outline: none; box-shadow: 0 0 0 3px rgba(11, 143, 243, .12); }

/* -------- Desktop table -------- */
.lots-table-wrap { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.lots-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.lots-table thead th { background: var(--color-primary-light); color: var(--color-primary); font-weight: 700; padding: 12px; text-align: right; font-size: 13px; }
.lots-table tbody td { padding: 12px; border-top: 1px solid var(--color-border); vertical-align: middle; }
.lots-table tbody tr:hover { background: var(--color-primary-light); }
.lots-table tbody tr { cursor: pointer; }
.loading-row { text-align: center; padding: 24px; color: var(--color-text-muted); }
.loading-row.is-loading { display:flex; align-items:center; justify-content:center; gap:10px; }
.loading-row.is-loading::before { content:""; width:18px; height:18px; flex:0 0 18px; border:2px solid #d4e5f3; border-top-color:#0878e8; border-radius:50%; animation:site-ui-spin .8s linear infinite; }
@keyframes site-ui-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .loading-row.is-loading::before { animation-duration:1.8s; } }

.row-actions { display: flex; gap: 6px; }
.row-actions .view-details-btn {
    border: 1px solid var(--color-primary); background: transparent; color: var(--color-primary); font-size: 12px; font-weight: 600;
    cursor: pointer; padding: 6px 14px; border-radius: 20px;
}
.row-actions .view-details-btn:hover { background: var(--color-primary); color: #fff; }
.row-actions button:disabled { background: var(--color-border); color: var(--color-text-muted); cursor: not-allowed; }


.badge { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; }
.badge-rand { background: #fbecd2; color: var(--color-gold); }
.badge-normal { background: var(--color-primary-light); color: var(--color-text-muted); }
.badge-doc-ready { background: #dff3e6; color: var(--color-success); }
.badge-doc-pending { background: #fdf0da; color: var(--color-warning); }
.badge-reserved { background: #fde3e1; color: var(--color-danger); }

.price-cell { font-weight: 700; color: var(--color-primary); white-space: nowrap; }

/* -------- Mobile cards -------- */
.lots-cards { display: none; flex-direction: column; gap: 12px; }
.lot-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 14px; box-shadow: var(--shadow); }
.lot-card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 8px; }
.lot-card-number { font-size: 17px; font-weight: 700; direction: ltr; text-align: right; }
.lot-card-badges { display: flex; gap: 6px; flex-wrap: wrap; margin: 6px 0; }
.lot-card-price { font-size: 16px; font-weight: 700; color: var(--color-primary); margin: 8px 0; }
.lot-card-actions { display: flex; gap: 8px; }
.lot-card-actions .btn { flex: 1; }
.lot-card-heart { background: none; border: 1px solid var(--color-border); border-radius: 50%; width: 34px; height: 34px; font-size: 15px; cursor: pointer; }
.lot-card-heart.active { color: var(--color-danger); border-color: var(--color-danger); }
.lot-row-heart { background: none; border: 1px solid var(--color-border); border-radius: 50%; width: 30px; height: 30px; font-size: 13px; line-height: 1; cursor: pointer; flex-shrink: 0; }
.lot-row-heart.active { color: var(--color-danger); border-color: var(--color-danger); }
.lot-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.lot-detail-modal-box { max-width: 520px; padding: 28px; border: 1px solid rgba(8, 120, 232, .09); box-shadow: 0 24px 70px rgba(28, 25, 62, .18); }
.lot-detail-title { min-width: 0; }
.lot-detail-title h3 { margin: 3px 0 0; font-size: clamp(24px, 5vw, 31px); letter-spacing: 1.4px; text-align: right; color: var(--color-text); }
.lot-detail-eyebrow { color: var(--color-text-muted); font-size: 11px; font-weight: 700; }
.lot-detail-heading .lot-row-heart { width: 42px; height: 42px; background: var(--color-surface-alt); font-size: 18px; transition: transform .2s ease, background .2s ease; }
.lot-detail-heading .lot-row-heart:hover { transform: translateY(-2px); }
.lot-detail-heading .lot-row-heart.active { background: #fff0f3; }
.lot-detail-badges { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 14px; }
.lot-detail-price-panel { display: flex; align-items: baseline; gap: 6px; margin: 18px 0 12px; padding: 17px 18px; border-radius: 16px; background: linear-gradient(135deg, #f5f9ff, #eef7ff); border: 1px solid #d9e8f5; }
.lot-detail-price-panel > span { margin-left: auto; color: var(--color-text-muted); font-size: 12px; }
.lot-detail-price-panel strong { color: var(--color-accent); font-size: 24px; line-height: 1; }
.lot-detail-price-panel small { color: var(--color-accent); font-weight: 700; }
.lot-detail-installment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.lot-detail-installment-grid > div { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--color-border); border-radius: 14px; background: var(--color-surface); }
.lot-detail-installment-grid p { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.lot-detail-installment-grid small { color: var(--color-text-muted); font-size:11px; }
.lot-detail-installment-grid strong { color: var(--color-text); font-size: 13px; }
.lot-detail-installment-grid .lot-detail-monthly-highlight { grid-column: 1 / -1; border-color: #ddd2ff; background: linear-gradient(135deg, #faf8ff, #f4f0ff); }
.lot-detail-installment-grid .lot-detail-monthly-highlight strong { color: var(--color-accent); font-size: 15px; }
.lot-detail-stat-icon { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; border-radius: 10px; color: var(--color-accent); background: var(--color-primary-light); font-weight: 800; }
.lot-detail-options { margin-top: 12px; }
.lot-detail-options:empty { display: none; }
.lot-detail-options .form-note { margin: 0; padding: 11px 13px; border-radius: 12px; background: #f8f7fc; border: 1px solid var(--color-border); line-height: 1.8; }
.lot-detail-options .filter-field { margin-top: 10px; }
.lot-detail-actions { margin-top: 18px; gap: 10px; }
.lot-detail-actions .btn { min-height: 54px; border-radius: 13px; display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.lot-detail-actions .btn span { font-size: 14px; font-weight: 800; }
.lot-detail-actions .btn small { font-size:11px; opacity: .82; font-weight: 500; }
.lot-detail-footnote { margin: 12px 4px 0; color: var(--color-text-muted); font-size:11px; line-height: 1.8; text-align: center; }
@media (max-width: 560px) {
    .lot-detail-modal-box { padding: 22px 17px 18px; border-radius: 20px 20px 0 0; }
    .lot-detail-installment-grid { grid-template-columns: 1fr; }
    .lot-detail-actions { flex-direction: column; }
    .lot-detail-actions .btn { width: 100%; }
}

.pagination { display: flex; justify-content: center; gap: 6px; margin: 20px 0; flex-wrap: wrap; }
.pagination button {
    min-width: 34px; height: 34px; border-radius: 8px; border: 1px solid var(--color-border);
    background: var(--color-surface); color: var(--color-text); cursor: pointer; font-size: 13px;
}
.pagination button.active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }
.pagination button:disabled { opacity: 0.4; cursor: not-allowed; }

/* -------- Installment calculator block -------- */
.installment-calculator-block { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 20px; margin-top: 24px; }
.calc-grid { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 12px; align-items: end; }
.calc-result { margin: 22px 0 18px; font-size: 14px; }
.calc-result .calc-line { display: flex; justify-content: space-between; padding: 6px 0; border-bottom: 1px dashed var(--color-border); }

/* رفع ضعف گزارش‌شده (بازبینی UX v38 بند ۲): نشانگر مراحل فرایند خرید (Stepper) */
.purchase-stepper { display: flex; list-style: none; margin: 0 0 18px; padding: 0; gap: 4px; }
.purchase-stepper li { flex: 1; text-align: center; font-size: 11px; color: var(--color-text-muted); position: relative; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.purchase-stepper li::before { content: ''; position: absolute; top: 11px; right: 50%; width: 100%; height: 2px; background: var(--color-border); z-index: 0; }
.purchase-stepper li:first-child::before { display: none; }
.purchase-stepper .ps-dot { width: 24px; height: 24px; border-radius: 50%; background: var(--color-surface); border: 2px solid var(--color-border); display: flex; align-items: center; justify-content: center; font-size: 12px; z-index: 1; color: var(--color-text-muted); }
.purchase-stepper li.done .ps-dot { background: var(--color-success); border-color: var(--color-success); color: #fff; }
.purchase-stepper li.done::before { background: var(--color-success); }
.purchase-stepper li.active .ps-dot { background: var(--color-primary); border-color: var(--color-primary); color: #fff; }
.purchase-stepper li.active { color: var(--color-primary); font-weight: 700; }
@media (max-width: 480px) { .purchase-stepper li { font-size:11px; } }

/* رفع ضعف گزارش‌شده کاربر: نمایش غیرقابل‌ویرایش اطلاعات کامل حساب بانکی فعال در مرحله کارت‌به‌کارت (به‌جای <select> قبلی). */
.bank-account-info { background: var(--color-surface-alt, #f7f7f9); border: 1px solid var(--color-border); border-radius: 10px; padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; }
.bank-account-info .bai-row { display: flex; align-items: center; justify-content: space-between; font-size: 13px; gap: 10px; }
.bank-account-info .bai-row span { color: var(--color-text-muted); }
.bank-account-info .bai-row b { font-weight: 700; }
.bai-value { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.bai-value > b { direction: ltr; unicode-bidi: isolate; overflow-wrap: anywhere; }
.bank-copy-btn { min-width: 58px; height: 30px; padding: 0 9px; border: 1px solid rgba(18,124,214,.22); border-radius: 9px; background: rgba(18,124,214,.08); color: var(--color-primary, #127cd6); display: inline-flex; align-items: center; justify-content: center; gap: 5px; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; flex: 0 0 auto; }
.bank-copy-btn:hover { background: rgba(18,124,214,.15); border-color: rgba(18,124,214,.42); transform: translateY(-1px); }
.bank-copy-btn:focus-visible { outline: 3px solid rgba(18,124,214,.2); outline-offset: 2px; }
.bank-copy-btn svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bank-copy-btn.is-copying { opacity: .65; cursor: wait; }
.bank-copy-btn.is-copied { color: #087443; background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.32); }
.bank-copy-btn.copy-failed { color: #b42318; background: rgba(239,68,68,.1); border-color: rgba(239,68,68,.28); }
#c2cAmount[readonly] { background: var(--color-surface-alt, #f0f0f2); cursor: not-allowed; }

/* Unified purchase flow: cash/card transfer, installments, contract and KYC */
.purchase-flow-modal { max-width: 580px; padding: 28px; overflow-x: hidden; border: 1px solid rgba(8, 120, 232, .1); box-shadow: 0 28px 80px rgba(25, 22, 59, .22); }
.purchase-flow-modal *, .purchase-flow-modal *::before, .purchase-flow-modal *::after { box-sizing: border-box; min-width: 0; }
.purchase-flow-header { display: flex; align-items: center; gap: 12px; padding: 0 0 18px; border-bottom: 1px solid var(--color-border); }
.purchase-flow-heading { flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; }
.purchase-flow-header h3 { margin: 2px 0 0; font-size: 21px; color: var(--color-text); }
.purchase-flow-header small { color: var(--color-text-muted); font-size:11px; font-weight: 700; }
.purchase-flow-icon { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border-radius: 14px; color: #fff; background: linear-gradient(135deg, var(--color-primary), var(--color-accent)); box-shadow: 0 9px 20px rgba(8, 120, 232, .2); font-size: 20px; }
.purchase-flow-intro { margin: 16px 0 12px; color: var(--color-text-muted); font-size: 12px; line-height: 1.9; }
.purchase-payable-card { margin: 0 0 14px; padding: 15px 17px; border: 1px solid #d9e8f5; border-radius: 15px; color: var(--color-primary-dark); background: linear-gradient(135deg, #f5f9ff, #eef7ff); font-size: 17px; font-weight: 900; text-align: center; }
.purchase-flow-modal .purchase-stepper { margin: 20px 0 16px; }
.purchase-flow-modal .purchase-stepper li { min-width: 0; line-height: 1.45; }
.purchase-flow-modal .purchase-stepper li::before { right: 50%; }
.purchase-flow-modal .filter-field { margin-top: 12px; }
.purchase-field-label { margin-bottom: 7px !important; color: var(--color-text) !important; font-weight: 700; }
.purchase-flow-modal .bank-account-info { padding: 14px 16px; border-radius: 14px; background: #f8f7fc; }
.purchase-flow-modal .bank-account-info .bai-row { padding: 4px 0; border-bottom: 1px dashed var(--color-border); }
.purchase-flow-modal .bank-account-info .bai-row:last-child { border-bottom: 0; }
.purchase-flow-modal input:not([type=checkbox]):not([type=radio]):not([type=hidden]) { min-height: 46px; border-radius: 11px; }
.purchase-flow-modal input[type=file] { padding: 8px; border: 1px dashed #b7cde0; background: #f7fbff; cursor: pointer; }
.purchase-flow-modal input[type=file]::file-selector-button { border: 0; border-radius: 8px; padding: 7px 11px; margin-left: 9px; font-family: inherit; color: var(--color-accent); background: var(--color-primary-light); cursor: pointer; }
.purchase-flow-modal .btn-block { min-height: 48px; margin-top: 14px; border-radius: 12px; font-weight: 800; }
.purchase-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.purchase-form-grid .filter-field { margin-top: 10px; }
.purchase-flow-modal .purchase-reserve-timer,.purchase-flow-modal .cash-reserve-timer { margin:12px 0 4px; padding:11px 13px; border:1px solid #d5e6f4; border-radius:12px; background:#eef7ff; color:var(--color-text); line-height:1.75; text-align:center; }
.purchase-flow-modal .purchase-reserve-timer strong,.purchase-flow-modal .cash-reserve-timer strong { display:inline-block; min-width:54px; direction:ltr; color:var(--color-primary); font-size:15px; }
.installment-flow-modal .calc-result { border-radius: 14px; overflow: hidden; }
.installment-flow-modal .forfeiture-warning { border-radius: 13px; line-height: 1.8; font-size: 11px; }
.installment-flow-modal .confirm-check { width: 100%; padding: 11px 13px; border-radius: 11px; background: #f8f7fc; }
.purchase-followup-form { margin-top: 14px; padding: 14px; border-radius: 14px; background: #faf9fd; border: 1px solid var(--color-border); }
.purchase-kyc-grid { display: block; }
@media (max-width: 600px) {
    .purchase-flow-modal { width: calc(100% - 18px); max-height: 92vh; padding: 22px 16px 18px; border-radius: 20px; }
    .purchase-flow-modal .purchase-stepper { gap: 0; }
    .purchase-flow-modal .purchase-stepper li { font-size:11px; }
    .purchase-flow-modal .purchase-stepper .ps-dot { width: 22px; height: 22px; }
    .purchase-form-grid { grid-template-columns: 1fr; }
    .purchase-flow-modal .bank-account-info .bai-row { align-items: flex-start; flex-direction: column; gap: 2px; }
    .purchase-flow-modal .bank-account-info .bai-value { width: 100%; justify-content: space-between; }
    .panel-bank-account-card .bai-row { align-items: flex-start; flex-direction: column; }
    .panel-bank-account-card .bai-value { width: 100%; justify-content: space-between; }
}

/* -------- Modals -------- */
.modal { display: none; position: fixed; inset: 0; background: rgba(15, 27, 43, 0.55); z-index: 100; align-items: center; justify-content: center; padding: 16px; }
.modal.open { display: flex; }
.modal-box { background: var(--color-surface); border-radius: var(--radius); padding: 24px; max-width: 460px; width: 100%; max-height: 88vh; overflow-y: auto; position: relative; box-shadow: var(--shadow); }
.purchase-detail-modal { max-width:680px; padding:0; overflow-x:hidden; border:1px solid rgba(8,120,232,.14); border-radius:24px; }
.purchase-detail-modal .modal-close { z-index:4; display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(125,211,252,.28); border-radius:11px; color:#fff; background:rgba(255,255,255,.10); }
.purchase-detail-modal .modal-close:hover { color:#fff; border-color:rgba(125,211,252,.5); background:rgba(255,255,255,.18); }
.purchase-detail-head.purchase-flow-header { --ks-hero-accent:#19c7e8; --ks-hero-accent-rgb:25,199,232; position:relative; isolation:isolate; overflow:hidden; align-items:center; gap:12px; min-height:138px; margin:0; padding:25px 25px 25px 64px; color:#fff; border:1px solid var(--ks-hero-border); border-width:0 0 1px; background:radial-gradient(circle at 12% 8%,rgba(var(--ks-hero-accent-rgb),.16),transparent 25%),linear-gradient(116deg,var(--ks-midnight) 0%,var(--ks-navy) 62%,#075fbd 112%); box-shadow:var(--ks-hero-shadow); }
.purchase-detail-head.purchase-flow-header::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:radial-gradient(rgba(var(--ks-hero-accent-rgb),.34) .7px,transparent .8px); background-size:20px 20px; mask-image:linear-gradient(90deg,transparent 0%,#000 62%,#000 100%); opacity:.24; }
.purchase-detail-head.purchase-flow-header::after { content:""; position:absolute; right:24px; bottom:0; width:38%; height:2px; background:linear-gradient(90deg,var(--ks-hero-accent),rgba(var(--ks-hero-accent-rgb),.12),transparent); box-shadow:0 -7px 24px rgba(var(--ks-hero-accent-rgb),.13); }
.purchase-detail-head .purchase-flow-icon { color:#f8fbff; border:1px solid rgba(var(--ks-hero-accent-rgb),.3); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(var(--ks-hero-accent-rgb),.075)); box-shadow:inset 0 1px rgba(255,255,255,.13),0 13px 28px rgba(0,12,38,.14); }
.purchase-detail-heading { flex:1; min-width:0; }
.purchase-detail-head.purchase-flow-header small { color:rgb(var(--ks-hero-accent-rgb)); }
.purchase-detail-head.purchase-flow-header h3 { margin:3px 0 0; color:#fff; font-size:21px; }
.purchase-detail-head h3 b { display:inline-block; font-size:22px; letter-spacing:.4px; }
.purchase-detail-head-status { flex:0 0 auto; margin-right:auto; }
.purchase-detail-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:18px 22px 12px; }
.purchase-detail-summary>div { display:flex; flex-direction:column; gap:5px; padding:14px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-surface-alt); }
.purchase-detail-summary span { color:var(--color-text-muted); font-size:11px; }
.purchase-detail-summary b { font-size:13px; }
.purchase-detail-section { margin:12px 22px 18px; padding:16px; border:1px solid var(--color-border); border-radius:16px; background:var(--color-surface); }
.purchase-detail-section-title { display:flex; align-items:center; gap:10px; margin-bottom:13px; }
.purchase-detail-section-title>span { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:10px; color:var(--color-primary); background:var(--color-primary-light); font-weight:900; }
.purchase-detail-section-title div { display:flex; flex-direction:column; gap:2px; }
.purchase-detail-section-title small { color:var(--color-text-muted); font-size:10px; }
.purchase-order-timeline { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.purchase-order-timeline>div { position:relative; display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; padding:11px 13px 11px 15px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface-alt); }
.purchase-order-timeline>div::before { content:""; flex:0 0 7px; width:7px; height:7px; margin-left:1px; border-radius:50%; background:linear-gradient(135deg,#0ea5e9,#0878e8); box-shadow:0 0 0 4px rgba(14,165,233,.10); }
.purchase-order-timeline span { flex:0 0 auto; color:var(--color-text-muted); font-size:11px; }
.purchase-order-timeline b { flex:1; min-width:0; text-align:left; line-height:1.7; font-size:12px; }
.purchase-installments-locked { display:flex; align-items:flex-start; gap:12px; margin:12px 22px 18px; padding:15px 16px; border:1px dashed #b7cde0; border-radius:15px; color:var(--color-text); background:#f5faff; }
.purchase-installments-locked>span { font-size:20px; }
.purchase-installments-locked div { display:flex; flex-direction:column; gap:4px; }
.purchase-installments-locked small { color:var(--color-text-muted); line-height:1.8; }
.purchase-detail-modal>.form-note,.purchase-detail-modal>.panel-block,.purchase-detail-modal>.purchase-rejection-card { margin-right:22px; margin-left:22px; }
@media (max-width:640px) {
    .purchase-detail-modal { align-self:flex-end; max-height:94vh; border-radius:22px 22px 0 0; }
    .purchase-detail-head.purchase-flow-header { min-height:122px; padding:22px 18px 22px 57px; }
    .purchase-detail-head .purchase-flow-icon { width:40px; height:40px; flex-basis:40px; }
    .purchase-detail-head h3 { font-size:17px; }
    .purchase-detail-head h3 b { font-size:20px; }
    .purchase-detail-head-status { position:absolute; left:15px; bottom:-13px; }
    .purchase-detail-summary { grid-template-columns:1fr; margin:14px 15px 10px; }
    .purchase-order-timeline { grid-template-columns:1fr; }
    .purchase-detail-section,.purchase-installments-locked { margin-right:15px; margin-left:15px; }
    .purchase-detail-modal>.form-note,.purchase-detail-modal>.panel-block,.purchase-detail-modal>.purchase-rejection-card { margin-right:15px; margin-left:15px; }
}
[data-theme="dark"] .purchase-installments-locked { border-color:#29445d; background:#10243a; }
.modal-close { position: absolute; left: 14px; top: 14px; border: none; background: none; font-size: 22px; cursor: pointer; color: var(--color-text-muted); }
.modal-box label { display: block; font-size: 12px; color: var(--color-text-muted); margin: 10px 0 4px; }
.modal-box label.admin-checkbox-label, .modal-box label.confirm-check { display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 4px; }
.modal-box label.confirm-check {
    display: flex;
    width: 100%;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border: 1px solid var(--color-border);
    border-radius: 11px;
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.8;
    cursor: pointer;
}
.modal-box label.confirm-check input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 18px;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px;
    min-height: 18px !important;
    margin: 3px 0 0;
    padding: 0 !important;
    border: 1.5px solid #9eb8cf;
    border-radius: 5px;
    background: var(--color-surface);
    cursor: pointer;
}
.modal-box label.confirm-check input[type="checkbox"]:checked {
    border-color: var(--color-accent);
    background: var(--color-accent);
}
.modal-box label.confirm-check input[type="checkbox"]:checked::after {
    content: "\2713";
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}
.modal-box label.confirm-check input[type="checkbox"]:focus-visible {
    outline: 3px solid rgba(8, 120, 232, .2);
    outline-offset: 2px;
}
.modal-box label.confirm-check span { flex: 1; min-width: 0; }
.modal-box input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]), .modal-box select, .modal-box textarea {
    width: 100%; padding: 9px 10px; border: 1px solid var(--color-border); border-radius: 8px; font-family: inherit; font-size: 13px; background: var(--color-surface); color: var(--color-text);
}
.modal-box textarea { resize: vertical; min-height: 60px; }
.modal-box select { cursor: pointer; }
.modal-box input[type=file] { width: 100%; font-size: 13px; }

/* Price inquiry / loan request modal */
.inquiry-modal-box { overflow:hidden; max-width:520px; padding:0; border:1px solid rgba(8,120,232,.1); border-radius:22px; box-shadow:0 28px 80px rgba(20,18,50,.23); }
.inquiry-modal-close { top:17px; left:17px; z-index:3; display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:rgba(255,255,255,.72); }
.inquiry-modal-head { position:relative; overflow:hidden; display:flex; align-items:center; gap:15px; min-height:145px; padding:27px 28px; background:linear-gradient(125deg,#171d3d,#12395f 55%,#0878e8); color:#fff; }
.inquiry-modal-head::after { content:""; position:absolute; left:-35px; bottom:-105px; width:190px; height:190px; border:30px solid rgba(255,255,255,.06); border-radius:50%; }
.inquiry-modal-head > * { position:relative; z-index:1; }
.inquiry-modal-icon { display:grid; place-items:center; flex:0 0 54px; height:54px; border:1px solid rgba(255,255,255,.2); border-radius:16px; background:rgba(255,255,255,.12); font-size:24px; }
.inquiry-modal-eyebrow { color:#9fcdf8; font-size:11px; }
.inquiry-modal-head h3 { margin:4px 0 6px; color:#fff; font-size:21px; }
.inquiry-modal-head p { margin:0; color:rgba(255,255,255,.72); font-size:11px; line-height:1.8; }
.inquiry-modern-form { padding:23px 28px 27px; }
.modal-box .inquiry-field { margin:0 0 15px; }
.inquiry-field > span { display:block; color:var(--color-text); font-size:12px; font-weight:700; }
.inquiry-field > small { display:block; margin:3px 0 7px; color:var(--color-text-muted); font-size:11px; }
.inquiry-field > div { position:relative; }
.modal-box .inquiry-field input:not([type=hidden]) { height:48px; padding:10px 13px; border:1px solid #ded9ec; border-radius:13px; background:#fbfaff; direction:ltr; text-align:right; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.modal-box .inquiry-field input[readonly] { cursor:not-allowed; color:var(--color-text-muted); background:#f1f5f9; }
.modal-box .inquiry-field input:focus { border-color:#2495ff; background:var(--color-surface); box-shadow:0 0 0 4px rgba(36,149,255,.1); outline:0; }
.inquiry-privacy-note { display:flex; align-items:center; gap:8px; margin:2px 0 15px; padding:9px 11px; border-radius:10px; background:#edf5fc; color:var(--color-text-muted); }
.inquiry-privacy-note span { display:grid; place-items:center; flex:0 0 22px; height:22px; border-radius:7px; background:#cfe8ff; color:#0878e8; font-weight:800; }
.inquiry-privacy-note p { margin:0; font-size:11px; }
.inquiry-submit-btn { display:flex; align-items:center; justify-content:center; gap:10px; min-height:47px; border-radius:13px; box-shadow:0 10px 22px rgba(8,120,232,.2); }
.inquiry-submit-btn b { font-size:17px; }
.inquiry-submit-btn:disabled { cursor:wait; opacity:.72; }
.inquiry-modern-form .form-note { margin-bottom:0; text-align:center; }
[data-theme="dark"] .modal-box .inquiry-field input:not([type=hidden]),[data-theme="dark"] .inquiry-privacy-note { background:var(--color-bg); border-color:var(--color-border); }
[data-theme="dark"] .modal-box .inquiry-field input[readonly] { background:#111c2d; color:#b8c7da; }

@media (max-width:600px) {
    .inquiry-modal-box { align-self:flex-end; max-width:none; max-height:92vh; border-radius:22px 22px 0 0; }
    .inquiry-modal-head { min-height:130px; padding:24px 20px; }
    .inquiry-modern-form { padding:20px; }
    .inquiry-modal-close { top:13px; left:13px; }
}

/* ===== Financial terms: structured, readable and print-friendly ===== */
.terms-page { max-width:1440px; padding-bottom:60px; }
.terms-hero { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:30px; min-height:300px; padding:clamp(32px,5vw,68px); overflow:hidden; color:#fff; border-radius:var(--radius-xl); background:linear-gradient(125deg,#0d1728 0%,#12395f 56%,#0878e8 120%); box-shadow:0 24px 60px rgba(8,57,105,.22); }
.terms-hero::before,.terms-hero::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.07); border-radius:50%; }
.terms-hero::before { width:330px; height:330px; left:-90px; top:-170px; }
.terms-hero::after { width:210px; height:210px; left:70px; bottom:-145px; }
.terms-hero-copy { position:relative; z-index:1; }
.terms-eyebrow { display:inline-flex; padding:7px 11px; color:#bce8ff; border:1px solid rgba(125,211,252,.25); border-radius:999px; background:rgba(8,120,232,.16); font-size:11px; font-weight:900; }
.terms-hero h1 { margin:12px 0 8px; font-size:clamp(28px,4.5vw,48px); line-height:1.5; }
.terms-hero p { max-width:780px; margin:0; color:#d9e8f5; line-height:2; font-size:14px; }
.terms-hero-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.terms-hero-tags span { padding:7px 10px; border:1px solid rgba(255,255,255,.16); border-radius:9px; background:rgba(255,255,255,.07); font-size:11px; font-weight:800; }
.terms-hero-symbol { position:relative; z-index:1; display:grid; place-items:center; width:150px; height:150px; justify-self:end; border:1px solid rgba(255,255,255,.18); border-radius:38px; background:linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.04)); box-shadow:inset 0 1px rgba(255,255,255,.15); transform:rotate(-4deg); }
.terms-hero-symbol span { font-size:64px; font-weight:900; line-height:1; }
.terms-hero-symbol small { margin-top:-30px; color:#bce8ff; font-weight:800; }
.terms-important-note { display:flex; align-items:center; gap:14px; margin:18px 0; padding:16px 18px; border:1px solid #c9e3fb; border-radius:var(--radius-md); color:#17344f; background:var(--color-info-soft); }
.terms-important-note>span { display:grid; place-items:center; flex:0 0 34px; height:34px; color:#fff; border-radius:10px; background:#0878e8; font-size:18px; font-weight:900; }
.terms-important-note p { margin:0; line-height:1.9; font-size:12px; }
.terms-live-rules { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:18px 0 28px; }
.terms-live-rules article { position:relative; padding:18px; overflow:hidden; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); box-shadow:var(--shadow-card); }
.terms-live-rules article::after { content:""; position:absolute; right:0; top:0; width:4px; height:100%; background:linear-gradient(#0878e8,#10b8a6); }
.terms-live-rules small,.terms-live-rules b,.terms-live-rules span { display:block; }
.terms-live-rules small { color:var(--color-text-muted); font-size:10px; }
.terms-live-rules b { margin:7px 0 3px; color:var(--color-primary-dark); font-size:20px; }
.terms-live-rules span { color:var(--color-text-muted); font-size:10px; line-height:1.7; }
.terms-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:22px; align-items:start; }
.terms-toc { position:sticky; top:94px; display:flex; flex-direction:column; gap:3px; padding:14px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); box-shadow:var(--shadow-card); }
.terms-toc strong { padding:8px 10px 12px; border-bottom:1px solid var(--color-border); font-size:13px; }
.terms-toc a { padding:9px 10px; color:var(--color-text-muted); border-radius:9px; font-size:11px; font-weight:700; transition:.18s ease; }
.terms-toc a:hover,.terms-toc a:focus-visible { color:var(--color-primary); background:var(--color-info-soft); }
.terms-content { display:grid; gap:16px; min-width:0; }
.terms-section { scroll-margin-top:100px; padding:clamp(20px,3vw,30px); border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); box-shadow:var(--shadow-card); }
.terms-section header { display:flex; align-items:center; gap:12px; margin-bottom:16px; padding-bottom:15px; border-bottom:1px solid var(--color-border); }
.terms-section header>span { display:grid; place-items:center; flex:0 0 42px; height:42px; color:#fff; border-radius:13px; background:linear-gradient(145deg,#0878e8,#075eae); box-shadow:0 8px 18px rgba(8,120,232,.2); font-weight:900; }
.terms-section header small { display:block; margin-bottom:2px; color:var(--color-primary); font-size:10px; font-weight:900; }
.terms-section h2 { margin:0; font-size:clamp(17px,2.3vw,22px); }
.terms-section ul { display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.terms-section li { position:relative; padding-right:22px; color:var(--color-text-muted); font-size:12px; line-height:2; }
.terms-section li::before { content:""; position:absolute; right:3px; top:13px; width:7px; height:7px; border:2px solid #0878e8; border-radius:50%; }
.terms-section li b { color:var(--color-text); }
.terms-section-featured { border-color:#aad5fa; }
.terms-warning-section { border-color:#f0d7a6; background:linear-gradient(145deg,var(--color-surface),var(--color-warning-soft)); }
.terms-warning-section header>span { background:linear-gradient(145deg,#e59818,#b96c00); box-shadow:0 8px 18px rgba(229,152,24,.18); }
.terms-account-responsibility { margin-top:18px; padding:17px 19px; border:1px solid #efcc8d; border-radius:14px; background:linear-gradient(145deg,#fffaf0,#fff7e6); color:#5e3b05; }
.terms-account-responsibility>b { display:block; margin-bottom:7px; font-size:13px; }
.terms-account-responsibility p { margin:7px 0 0; font-size:11px; line-height:2; }
[data-theme="dark"] .terms-account-responsibility { border-color:#6b5422; color:#fde7b0; background:linear-gradient(145deg,rgba(74,50,12,.56),rgba(57,40,14,.42)); }
.terms-formula { display:grid; gap:8px; margin-bottom:18px; padding:16px; border:1px solid #c9e3fb; border-radius:var(--radius-md); background:var(--color-info-soft); }
.terms-formula>b { color:var(--color-primary-dark); font-size:12px; }
.terms-formula code { display:block; direction:rtl; padding:9px 11px; color:var(--color-text); border:1px dashed var(--border-interactive); border-radius:9px; background:var(--color-surface); font-family:inherit; font-size:12px; }
.terms-formula p { margin:2px 0 0; color:var(--color-text-muted); font-size:10px; line-height:1.8; }
.terms-inline-action { display:inline-flex; align-items:center; gap:7px; margin-top:18px; padding:9px 12px; color:var(--color-primary); border:1px solid #b8daf8; border-radius:10px; background:var(--color-info-soft); font-size:11px; font-weight:900; }
.terms-service-section{border-color:#b9dcfa;background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft))}.terms-simple-intro{margin:0 0 16px;color:var(--color-text-muted);font-size:12px;line-height:2}.terms-steps{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important;counter-reset:terms-service}.terms-steps li{min-height:82px;padding:13px 52px 13px 13px!important;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);counter-increment:terms-service}.terms-steps li::before{content:counter(terms-service)!important;right:13px!important;top:14px!important;display:grid;width:29px!important;height:29px!important;place-items:center;border:0!important;border-radius:9px!important;color:#fff;background:linear-gradient(135deg,#0878e8,#10b8a6)}.terms-steps li b,.terms-steps li span{display:block}.terms-steps li b{color:var(--color-text);font-size:12px}.terms-steps li span{margin-top:3px;color:var(--color-text-muted);font-size:10px;line-height:1.8}.terms-support-required{display:flex;align-items:flex-start;flex-direction:column;gap:3px;margin-top:16px;padding:15px 17px;border:1px solid #9bdacb;border-radius:13px;background:#ecfdf5;color:#14532d}.terms-support-required b{font-size:12px}.terms-support-required span{font-size:10px;line-height:1.9}[data-theme="dark"] .terms-service-section{background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft))}[data-theme="dark"] .terms-support-required{border-color:#166534;background:rgba(20,83,45,.25);color:#bbf7d0}@media(max-width:650px){.terms-steps{grid-template-columns:1fr}}
.terms-acceptance { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:22px; padding:20px; color:#fff; border-radius:var(--radius-lg); background:linear-gradient(125deg,#101827,#12395f 60%,#0878e8); box-shadow:0 18px 40px rgba(8,57,105,.18); }
.terms-acceptance>div { display:flex; align-items:center; gap:12px; }
.terms-acceptance>div>span { display:grid; place-items:center; flex:0 0 38px; height:38px; border:1px solid rgba(255,255,255,.22); border-radius:12px; background:rgba(255,255,255,.1); font-weight:900; }
.terms-acceptance p,.terms-acceptance b,.terms-acceptance small { display:block; margin:0; }
.terms-acceptance small { margin-top:3px; color:#cbddec; font-size:10px; line-height:1.7; }
.terms-acceptance .btn { flex:0 0 auto; color:#075eae; background:#fff; box-shadow:none; }
[data-theme="dark"] .terms-important-note,[data-theme="dark"] .terms-formula { color:var(--color-text); border-color:var(--border-interactive); background:var(--color-info-soft); }
[data-theme="dark"] .terms-live-rules article,[data-theme="dark"] .terms-toc,[data-theme="dark"] .terms-section { color:var(--color-text); border-color:var(--color-border); background:var(--color-surface); box-shadow:0 10px 28px rgba(0,0,0,.2); }
[data-theme="dark"] .terms-warning-section { background:linear-gradient(145deg,var(--color-surface),var(--color-warning-soft)); border-color:#6b5422; }
[data-theme="dark"] .terms-formula code { background:var(--color-surface-alt); border-color:var(--border-interactive); }
[data-theme="dark"] .terms-live-rules b,[data-theme="dark"] .terms-formula>b { color:#7dd3fc; }
@media(max-width:1000px){.terms-live-rules{grid-template-columns:repeat(2,1fr)}.terms-layout{grid-template-columns:1fr}.terms-toc{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.terms-toc strong{grid-column:1/-1}.terms-toc a{text-align:center;background:var(--color-surface-alt)}}
@media(max-width:700px){.terms-hero{grid-template-columns:1fr;min-height:auto;padding:28px 22px}.terms-hero-symbol{display:none}.terms-live-rules{grid-template-columns:1fr 1fr}.terms-toc{grid-template-columns:1fr 1fr}.terms-section{padding:20px 17px}.terms-acceptance{align-items:stretch;flex-direction:column}.terms-acceptance .btn{width:100%}}
@media(max-width:440px){.terms-live-rules,.terms-toc{grid-template-columns:1fr}.terms-hero h1{font-size:27px}.terms-important-note{align-items:flex-start}.terms-section li{padding-right:18px}}
@media print{.site-header,.site-footer,.terms-toc,.terms-acceptance,.modern-breadcrumb{display:none!important}.terms-hero{min-height:auto;padding:25px;color:#111;background:#fff;border:1px solid #ccc;box-shadow:none}.terms-hero p{color:#333}.terms-hero-symbol{display:none}.terms-layout{display:block}.terms-section{break-inside:avoid;box-shadow:none;margin-bottom:12px}.terms-page{max-width:none}.terms-live-rules article{box-shadow:none}}
.form-note { font-size: 13px; margin-top: 10px; min-height: 18px; }
.form-note.error { color: var(--color-danger); }

.site-toast {
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translate(-50%, 20px);
    background: #1f2937;
    color: #fff;
    display:flex;
    align-items:center;
    gap:10px;
    padding: 11px 12px 11px 14px;
    border-radius: 14px;
    font-size: 14px;
    max-width: 90vw;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
    z-index: 9999;
}
.site-toast.show { opacity: 1; transform: translate(-50%, 0); pointer-events:auto; }
.site-toast.site-toast-error { background: var(--color-danger); }
.site-toast-icon { display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; border-radius:8px; background:rgba(255,255,255,.16); font-weight:900; }
.site-toast-message { min-width:0; line-height:1.8; }
.site-toast-close { display:grid; place-items:center; width:28px; height:28px; margin-right:4px; padding:0; border:0; border-radius:8px; color:#fff; background:rgba(255,255,255,.12); font:700 18px/1 inherit; cursor:pointer; }

/* Unified loading and empty states */
.loading-skeleton { display:grid; gap:10px; width:100%; padding:18px; }
.loading-skeleton span { display:block; height:12px; border-radius:999px; background:linear-gradient(90deg,var(--color-border) 25%,var(--color-primary-light) 50%,var(--color-border) 75%); background-size:220% 100%; animation:skeleton-wave 1.25s ease-in-out infinite; }
.loading-skeleton span:nth-child(2){width:78%}.loading-skeleton span:nth-child(3){width:56%}
@keyframes skeleton-wave{0%{background-position:100% 0}100%{background-position:-100% 0}}
.empty-state,.panel-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:150px; padding:28px 20px; border:1px dashed var(--color-border); border-radius:var(--radius-md); color:var(--color-text-muted); background:color-mix(in srgb,var(--color-surface) 80%,var(--color-bg)); text-align:center; }
.empty-state::before { content:""; width:42px; height:42px; margin-bottom:11px; border:1px solid var(--color-border); border-radius:14px; background:linear-gradient(135deg,var(--color-primary-light),var(--color-surface)); box-shadow:inset 0 0 0 11px var(--color-surface); }

/* هشدار قانونی سقف تاخیر تتمیمی و بازپس‌گیری سیم‌کارت (نکته حیاتی سند مرجع) */
.forfeiture-warning {
    background: #fde3e1; border: 2px solid var(--color-danger); color: #7a231a;
    border-radius: var(--radius); padding: 12px 14px; font-size: 13px; font-weight: 700;
    line-height: 1.9; margin: 12px 0;
}
.form-note.success { color: var(--color-success); }
.confirm-check { display: flex; align-items: center; gap: 6px; font-size: 13px; margin: 12px 0; }
/* قابلیت جدید: انتخاب روش پرداخت (آنلاین/کارت‌به‌کارت) در مرحله جزئیات شماره */
.pay-method-title { display:block; margin-bottom:8px; color:var(--color-text-muted); font-size:11px; font-weight:800; }
.pay-method-choice { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pay-method-card { position:relative; display:block; min-width:0; margin:0; cursor:pointer; }
.pay-method-card > input[type="radio"] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pay-method-card-body { display:grid; grid-template-columns:38px minmax(0,1fr) 22px; align-items:center; gap:10px; min-height:72px; padding:11px 12px; border:1px solid var(--color-border); border-radius:13px; color:var(--color-text); background:var(--color-surface); box-shadow:0 5px 14px rgba(15,23,42,.035); transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease; }
.pay-method-card-body > i { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; color:var(--color-primary); background:var(--color-primary-light); font:900 19px/1 inherit; font-style:normal; }
.pay-method-card-body > span { display:flex; min-width:0; flex-direction:column; gap:2px; }
.pay-method-card-body b { font-size:12px; font-weight:900; }
.pay-method-card-body small { overflow:hidden; color:var(--color-text-muted); font-size:9px; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; }
.pay-method-card-body > em { display:grid; place-items:center; width:20px; height:20px; border:1px solid var(--color-border); border-radius:50%; color:transparent; background:var(--color-bg); font:900 11px/1 inherit; font-style:normal; transition:.2s ease; }
.pay-method-card:hover .pay-method-card-body { border-color:color-mix(in srgb,var(--color-primary) 42%,var(--color-border)); transform:translateY(-1px); }
.pay-method-card > input:focus-visible + .pay-method-card-body { outline:3px solid color-mix(in srgb,var(--color-primary) 18%,transparent); outline-offset:2px; }
.pay-method-card > input:checked + .pay-method-card-body { border-color:var(--color-primary); background:color-mix(in srgb,var(--color-primary-light) 62%,var(--color-surface)); box-shadow:0 8px 22px color-mix(in srgb,var(--color-primary) 14%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 15%,transparent); }
.pay-method-card > input:checked + .pay-method-card-body > i { color:#fff; background:linear-gradient(135deg,#2495ff,#075eae); box-shadow:0 6px 15px rgba(7,94,174,.2); }
.pay-method-card > input:checked + .pay-method-card-body > em { border-color:var(--color-primary); color:#fff; background:var(--color-primary); }
@media(max-width:480px){.pay-method-choice{grid-template-columns:1fr}.pay-method-card-body{min-height:64px}}
.reserve-timer { font-size: 13px; background: var(--color-primary-light); border-radius: 8px; padding: 10px; }

/* -------- Footer -------- */
.site-footer { position: relative; isolation:isolate; overflow: hidden; margin-top: 70px; color: #dbe4f3; background-color:#06142f; background-image:url('../images/brand/khat-sara-footer.png?v=2'); background-repeat:no-repeat; background-position:center; background-size:cover; border-top: 0; }
.site-footer::before { content: ''; position:absolute; z-index:-1; inset:0; background:rgba(3,14,37,.15); pointer-events:none; }
.site-footer::after { content:none; }
.footer-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.55fr .8fr 1.05fr 1.15fr; gap: 42px; padding: 54px 20px 38px; }
.footer-logo { display: flex; align-items: center; gap: 12px; width: fit-content; color: #fff; }
.footer-logo-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 18px; background: linear-gradient(145deg, #2495ff, #075eae); box-shadow: 0 12px 30px rgba(16, 24, 39, .4); font-size: 15px; font-weight: 900; }
.footer-logo > span:last-child { display: flex; flex-direction: column; }
.footer-logo strong { font-size: 18px; }
.footer-logo small { margin-top: 2px; color: #94a3b8; font-size:11px; }
.footer-brand > p { max-width: 390px; margin: 18px 0; color: #aab7ca; font-size: 12px; line-height: 2.1; }
.footer-trust-row { display: flex; flex-wrap: wrap; gap: 7px; }
.footer-trust-row span { display: inline-flex; align-items: center; gap: 5px; padding: 6px 9px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 9px; color: #cbd5e1; background: rgba(255, 255, 255, .04); font-size:11px; }
.footer-trust-row i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; color: #6ee7b7; background: rgba(16, 185, 129, .13); font-style: normal; }
.footer-col h4 { display: flex; align-items: center; gap: 8px; margin: 3px 0 18px; color: #fff; font-size: 13px; }
.footer-col h4 > span { width: 18px; height: 3px; border-radius: 9px; background: linear-gradient(90deg, #2495ff, #2dd4bf); }
.footer-links a { display: flex; align-items: center; justify-content: space-between; max-width: 170px; margin-bottom: 3px; padding: 7px 0; color: #aab7ca; font-size: 11px; transition: .2s; }
.footer-links a b { opacity: 0; color: #a78bfa; transform: translateX(5px); transition: .2s; }
.footer-links a:hover { color: #fff; transform: translateX(-3px); }
.footer-links a:hover b { opacity: 1; transform: none; }
.footer-contact { display: flex; flex-direction: column; }
.footer-contact-card { display: flex !important; align-items: center; gap: 10px; margin: 0 0 8px !important; padding: 9px 10px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; color: #fff !important; background: rgba(255, 255, 255, .045); transition: .2s; }
.footer-contact-card:hover { border-color: rgba(167, 139, 250, .45); background: rgba(36, 149, 255, .1); transform: translateY(-2px); }
.footer-contact-card > i { display: grid; place-items: center; width: 31px; height: 31px; flex: 0 0 31px; border-radius: 9px; color: #9fcdf8; background: rgba(36, 149, 255, .15); font-style: normal; }
.footer-contact-card span { display: flex; flex-direction: column; }
.footer-contact-card small, .footer-status small { color: #94a3b8; font-size:11px; }
.footer-contact-card b { margin-top: 2px; font-size: 11px; }
.footer-status { display: flex; align-items: center; gap: 9px; margin-top: 6px; padding: 7px 3px; }
.footer-status > i { width: 8px; height: 8px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 5px rgba(52, 211, 153, .1); }
.footer-status span { display: flex; flex-direction: column; }
.footer-status b { font-size:11px; }
.footer-support-primary{display:grid!important;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;border:1px solid rgba(56,189,248,.2);border-radius:14px;color:#fff!important;background:linear-gradient(135deg,rgba(8,120,232,.16),rgba(16,185,166,.08));transition:.2s ease}.footer-support-primary:hover{border-color:rgba(56,189,248,.48);background:linear-gradient(135deg,rgba(8,120,232,.25),rgba(16,185,166,.13));transform:translateY(-2px)}.footer-support-primary>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;color:#7dd3fc;background:rgba(8,120,232,.2);font-style:normal}.footer-support-primary>span{display:flex;min-width:0;flex-direction:column}.footer-support-primary small{color:#94a3b8;font-size:10px}.footer-support-primary span b{margin-top:2px;font-size:12px}.footer-support-primary em{padding:6px 8px;border-radius:8px;color:#a7f3d0;background:rgba(16,185,129,.12);white-space:nowrap;font-size:9px;font-style:normal;font-weight:800}.footer-contact-more{display:flex!important;align-items:center;justify-content:space-between;margin-top:8px!important;padding:9px 11px;color:#b9c9db!important;border-radius:10px;font-size:10px;font-weight:700;transition:.18s}.footer-contact-more:hover{color:#fff!important;background:rgba(255,255,255,.055)}.footer-contact-more b{color:#7dd3fc}.footer-security-note{display:flex;align-items:flex-start;gap:7px;margin:7px 0 0;padding:8px 10px;color:#94a3b8;border-top:1px solid rgba(255,255,255,.07);font-size:9px;line-height:1.8}.footer-security-note i{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border-radius:6px;color:#fdba74;background:rgba(234,88,12,.13);font-style:normal;font-weight:900}
.footer-reviews-head { display: flex; align-items: flex-start; justify-content: space-between; }
.footer-reviews-head em { padding: 4px 8px; border-radius: 7px; color: #fde68a; background: rgba(245, 158, 11, .1); font-size:11px; font-style: normal; }
.reviews-list { display: flex; flex-direction: column; gap: 8px; max-height: 152px; padding-left: 3px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #0878e8 transparent; }
.review-item { padding: 10px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 11px; color: #cbd5e1; background: rgba(255, 255, 255, .045); font-size:11px; line-height: 1.8; }
.review-item .stars { color: #fbbf24; }
.site-footer .muted { color: #94a3b8; font-size: 11px; }
.footer-bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; max-width: 1400px; padding: 17px 20px; border-top: 1px solid rgba(255, 255, 255, .08); color: #7f8da3; font-size:11px; text-align: right; }
.footer-bottom > span:last-child { display: flex; align-items: center; gap: 10px; }
.footer-bottom a { color: #94a3b8; }
.footer-bottom i { width: 3px; height: 3px; border-radius: 50%; background: #64748b; }

/* -------- Mobile bottom nav (scoped to listing page only) -------- */
.mobile-bottom-nav { display: none; }
body.page-lots-list .mobile-bottom-nav {
    position: fixed; bottom: 0; right: 0; left: 0; z-index: 55; height: var(--bottom-nav-h);
    background: var(--color-surface); border-top: 1px solid var(--color-border); box-shadow: 0 -2px 10px rgba(0,0,0,0.06);
}

/* باکس سراسری حساب کاربری/ورود — در صفحه اصلی داخل چیدمان اصلی رندر می‌شود (.lots-layout .sidebar)؛
   در سایر صفحات به‌صورت شناور ثابت سمت چپ (چپ چپ = سمت چپ صفحه به دلیل dir="rtl") دیده می‌شود.
   برای اینکه دقیقاً همان نقطه‌ای را بگیرد که سایدبار صفحه اصلی دارد (و نه یک مقدار ثابت نسبت به لبه مرورگر)،
   یک لایه‌ی بیرونی دقیقاً با همان max-width/margin/padding کلاس .container ساخته می‌شود و باکس نسبت به لبه‌ی ته‌شده‌ی این لایه قرار می‌گیرد. */
.global-account-box-wrap { display: none !important; }

/* رفع مورد گزارش‌شده (بازبینی UI/UX v47): دکمه ورود/ثبت‌نام مهمان برای گروه (موبایل پنهان) که جایگزین باکس درخواست مخفی می‌شود. */
.mobile-guest-login { display: none; }
@media (max-width: 992px) {
    .mobile-guest-login { display: inline-flex; align-items: center; }
}

/* باکس وسط‌صفحه محاسبه‌گر اقساط، مشابه کارت شماره‌های لیست اصلی */
.calculator-page-inner {
    display: flex;
    justify-content: center;
    padding: 24px 0 40px;
}
.installment-calculator-block {
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 22px;
    max-width: 560px;
    width: 100%;
}
.installment-calculator-block h3 { margin-top: 0; }

/* نکته گزارش‌شده کاربر: کادر عددد (فلش بالا/پایین spinner) که درون ورودی‌های عددی مرورگر نمایش داده می‌شد و با لمس مقدار را تار/کم می‌کرد، در همه جا حذف می‌شود. */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
input[type="number"] { -moz-appearance: textfield; }

/* فوکوس یکپارچه فرم‌ها در Chrome/Firefox؛ جایگزین کادر مشکی پیش‌فرض مرورگر */
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea) {
    transition: border-color .2s ease, box-shadow .2s ease;
}
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea):focus {
    border-color: #2495ff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(11, 143, 243, .12);
}
:where(button, a[href], input[type="checkbox"], input[type="radio"]):focus-visible {
    outline: 2px solid #2495ff;
    outline-offset: 2px;
}

/* -------- Responsive -------- */
@media(max-width:768px){
    :root{--header-h:68px}.header-inner{grid-template-columns:1fr auto;gap:10px}.logo-badge{width:43px;height:43px;border-radius:14px}.logo-copy strong{font-size:14px}.logo-copy small{display:none}
    .main-nav{display:none}.main-nav.mobile-open{display:flex;flex-direction:column;align-items:stretch;position:fixed;top:var(--header-h);right:10px;left:10px;z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 18px 18px;padding:10px;gap:4px;box-shadow:0 20px 45px rgba(15,23,42,.18)}
    .main-nav.mobile-open a{border-radius:10px;padding:11px 12px}.main-nav a.active::after{display:none}.mobile-menu-toggle{display:inline-flex}
}
@media (max-width: 992px) {
    .lots-layout { grid-template-columns: 1fr; }
    .sidebar { display: none; }
    .footer-inner { grid-template-columns: 1.2fr 1fr; gap: 32px; }
}

@media (max-width: 768px) {
    :root { --header-h:68px; }
    .header-inner { grid-template-columns:1fr auto; gap:10px; }
    .logo-badge { width:43px; height:43px; border-radius:14px; }.logo-copy strong{font-size:14px}.logo-copy small{display:none}
    .main-nav { display: none; }
    .main-nav.mobile-open {
        display:flex; flex-direction:column; align-items:stretch; position:fixed; top:var(--header-h); right:10px; left:10px; z-index:50;
        background:var(--color-surface); border:1px solid var(--color-border); border-radius:0 0 18px 18px; padding:10px; gap:4px; box-shadow:0 20px 45px rgba(15,23,42,.18);
    }
    .main-nav.mobile-open a { border-radius:10px; padding:11px 12px; }.main-nav a.active::after{display:none}
    .mobile-menu-toggle { display: inline-flex; }
    .lots-table-wrap { display: none; }
    .lots-cards { display: flex; }
    .filter-panel { display: none; position: fixed; inset: 0; z-index: 95; border-radius: 0; overflow-y: auto; }
    .filter-panel.open { display: block; }
    .filter-panel-head { display: flex; }
    .prefix-chip-scroll { display: flex; }
    body.page-lots-list .mobile-bottom-nav { display: flex; align-items: stretch; justify-content: space-around; }
    .mobile-bottom-nav a, .mobile-bottom-nav button {
        flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
        border: none; background: none; font-size: 11px; color: var(--color-text-muted); cursor: pointer; font-family: inherit;
    }
    .mobile-bottom-nav .bn-icon { font-size: 18px; }
    .mobile-bottom-nav .bn-main { color: var(--color-primary); font-weight: 700; }
    body.page-lots-list { padding-bottom: var(--bottom-nav-h); }
    .footer-inner { grid-template-columns: 1fr; gap: 28px; padding: 42px 20px 28px; }
    .footer-brand > p { max-width: 100%; }
    .footer-links a { max-width: 100%; }
    .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
    .calc-grid { grid-template-columns: 1fr; }
}
@media(max-width:520px){.header-actions{gap:5px}.header-account-btn{padding:7px 9px}.header-account-btn b{display:none}.header-wishlist-btn{display:none}.logo{gap:7px}.logo-copy strong{font-size:13px}}

/* Mobile storefront: compact header, usable full-screen search and four clear primary actions. */
@media (max-width: 768px) {
    body.mobile-filter-open { overflow: hidden; }
    body.page-lots-list .mobile-guest-login { display: none; }
    body.page-lots-list .header-actions { gap: 7px; }

    body.page-lots-list .mobile-bottom-nav {
        height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
        padding: 4px 8px env(safe-area-inset-bottom, 0px);
        box-shadow: 0 -8px 26px rgba(15, 23, 42, .1);
    }
    body.page-lots-list { padding-bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px)); }
    .mobile-bottom-nav a, .mobile-bottom-nav button { min-width: 0; border-radius: 10px; }
    .mobile-bottom-nav a:active, .mobile-bottom-nav button:active { background: var(--color-primary-light); }

    .filter-panel {
        padding: 0 20px calc(24px + env(safe-area-inset-bottom, 0px));
        max-height: 100dvh;
        background: var(--color-surface);
    }
    .filter-panel-head {
        position: sticky;
        top: 0;
        z-index: 3;
        min-height: 72px;
        margin: 0 -20px 16px;
        padding: max(12px, env(safe-area-inset-top, 0px)) 20px 12px;
        border-bottom: 1px solid var(--color-border);
        background: color-mix(in srgb, var(--color-surface) 96%, transparent);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }
    .filter-panel-head .filter-title { margin: 0; font-size: 18px; }
    .filter-panel-close {
        display: grid;
        place-items: center;
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
        padding: 0;
        border: 1px solid var(--color-border);
        border-radius: 12px;
        color: var(--color-text);
        background: var(--color-surface-alt, var(--color-bg));
        font-size: 26px;
        line-height: 1;
        cursor: pointer;
    }
}

@media (max-width: 640px) {
    .brand-hero {
        min-height: 292px;
        padding: 27px 22px;
        background-position: 18% center !important;
    }
    .brand-hero::before {
        background: linear-gradient(90deg, rgba(5,18,48,.66), rgba(5,18,48,.91) 58%, rgba(5,18,48,.97));
    }
    .brand-hero .site-page-hero-copy { text-align: right; }
    .brand-hero .site-page-hero-copy h1 { max-width: 330px; font-size: clamp(25px, 7.4vw, 29px); line-height: 1.5; letter-spacing: -.8px; }
    .brand-hero .site-page-hero-copy p { font-size: 12px; line-height: 1.9; }
    .brand-hero .hero-trust-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; gap: 6px; margin-top: 17px; }
    .brand-hero .hero-trust-row span { display: grid; place-items: center; min-height: 43px; padding: 6px 4px; text-align: center; font-size: 9px; line-height: 1.55; }
}

/* -------- Auth (ورود/ثبت‌نام) page -------- */
.btn-danger { background: var(--color-danger); color: #fff; }
.btn-danger:hover { filter: brightness(1.08); }

.page-auth { background:radial-gradient(circle at 8% 15%,rgba(11,143,243,.10),transparent 30%),radial-gradient(circle at 90% 85%,rgba(13,148,136,.10),transparent 28%),#f7f8fc; }
.auth-page { display:flex; justify-content:center; padding:46px 18px 72px; min-height:calc(100vh - var(--header-h)); }
.auth-shell { width:100%; max-width:1120px; display:grid; grid-template-columns:minmax(360px,.9fr) minmax(440px,1fr); align-items:stretch; border:1px solid rgba(221,216,233,.9); border-radius:30px; background:var(--color-surface); box-shadow:0 30px 80px rgba(49,46,129,.14); overflow:hidden; }
.auth-showcase { position:relative; isolation:isolate; display:flex; flex-direction:column; min-height:660px; padding:38px; color:#fff; background:linear-gradient(145deg,#111827 0%,#12395f 52%,#0f766e 130%); overflow:hidden; }
.auth-showcase::before,.auth-showcase::after { content:""; position:absolute; z-index:-1; border-radius:50%; background:rgba(255,255,255,.08); }
.auth-showcase::before { width:330px; height:330px; inset:auto -130px -100px auto; }
.auth-showcase::after { width:210px; height:210px; inset:70px auto auto -120px; }
.auth-showcase-brand { display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-size:15px; }
.auth-showcase-brand span,.auth-mobile-logo { display:inline-grid; place-items:center; min-width:58px; height:34px; padding:0 10px; border-radius:11px; color:#fff; background:linear-gradient(135deg,#2495ff,#0878e8); font-weight:900; letter-spacing:1px; box-shadow:0 8px 20px rgba(8,120,232,.3); }
.auth-showcase-copy { margin:auto 0 34px; }
.auth-showcase-eyebrow { display:inline-block; margin-bottom:13px; color:#99f6e4; font-size:12px; font-weight:800; }
.auth-showcase h1 { max-width:440px; margin:0 0 15px; color:#fff; font-size:clamp(27px,3vw,39px); line-height:1.55; }
.auth-showcase-copy p { max-width:430px; margin:0; color:#dbeafe; line-height:2; font-size:14px; }
.auth-feature-list { display:grid; gap:12px; }
.auth-feature-list > div { display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(255,255,255,.12); border-radius:15px; background:rgba(255,255,255,.07); backdrop-filter:blur(8px); }
.auth-feature-list > div > span { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; border-radius:9px; background:#14b8a6; font-weight:900; }
.auth-feature-list p { display:flex; flex-direction:column; margin:0; }
.auth-feature-list b { font-size:13px; }.auth-feature-list small { margin-top:2px; color:#cbd5e1; }
.auth-showcase-security { margin-top:22px; color:#a7f3d0; font-size:11px; }
.auth-card { width:100%; padding:40px 46px 44px; background:var(--color-surface); }
.auth-card-heading { margin-bottom:22px; }.auth-card-heading h2 { margin:0 0 5px; font-size:25px; }.auth-card-heading p { margin:0; color:var(--color-text-muted); font-size:13px; }
.auth-mobile-logo { display:none; margin-bottom:14px; }
.auth-tabs { display:flex; gap:6px; margin-bottom:22px; padding:5px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-bg); }
.auth-tab { flex:1; min-height:43px; border:0; border-radius:10px; background:transparent; padding:9px 12px; font-family:inherit; font-size:14px; font-weight:800; color:var(--color-text-muted); cursor:pointer; transition:.2s ease; }
.auth-tab.active { color:#fff; background:linear-gradient(135deg,#0b8ff3,#075eae); box-shadow:0 8px 18px rgba(8,120,232,.2); }
.auth-panel { display: none; }
.auth-panel.active { display: block; }
.auth-method-toggle, .kyc-source-toggle { display:flex; gap:6px; margin-bottom:18px; padding:4px; border:1px solid var(--color-border); border-radius:13px; background:var(--color-bg); }
.method-btn { flex:1; min-height:38px; border:0; background:transparent; padding:8px 10px; font-family:inherit; font-size:12px; font-weight:700; border-radius:9px; cursor:pointer; color:var(--color-text-muted); transition:.2s ease; }
.method-btn.active { background:var(--color-surface); color:var(--color-primary); box-shadow:0 3px 12px rgba(31,41,55,.08); }
.auth-form label { display:block; font-size:12px; font-weight:700; color:var(--color-text); margin:14px 0 6px; }
.auth-form input[type="text"], .auth-form input[type="tel"], .auth-form input[type="password"], .auth-form input[type="file"] {
    width:100%; min-height:47px; padding:11px 13px; border:1px solid #c9d8e7; border-radius:11px;
    font-family:inherit; font-size:14px; background:var(--color-surface); color:var(--color-text); outline:none; transition:border-color .2s,box-shadow .2s;
}
.auth-form input[autocomplete="one-time-code"] {
    width:100%; direction:ltr; text-align:center; letter-spacing:.24em; font-variant-numeric:tabular-nums;
}
.auth-form input:focus { border-color:#0b8ff3; box-shadow:0 0 0 4px rgba(11,143,243,.10); }
.auth-form .btn-block { min-height:47px; margin-top:16px; border-radius:11px; font-weight:800; }
#registerOtpStep, #passwordResetCodeStep, #otpCodeStep, #adminTwoFactorStep { scroll-margin-block:110px; }
.auth-forgot-link,.auth-resend-btn { display:block; margin:10px auto 0; border:0; background:transparent; color:var(--color-primary); font:700 12px inherit; cursor:pointer; }
.auth-resend-btn[hidden] { display:none !important; }
.auth-resend-btn:not([hidden]) { padding:7px 12px; border-radius:9px; }
.auth-resend-btn:not([hidden]):hover { background:var(--color-primary-light); }
.auth-resend-btn:disabled { opacity:.55; cursor:wait; }
.auth-reset-box { margin-top:8px; padding:16px; border:1px solid #d7e3ee; border-radius:14px; background:var(--color-bg); }
.auth-reset-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:8px; }
.auth-reset-head > div { display:flex; flex-direction:column; gap:3px; }.auth-reset-head small { color:var(--color-text-muted); line-height:1.7; }
.auth-reset-head > button { border:0; background:transparent; color:var(--color-primary); font:700 11px inherit; cursor:pointer; }
.auth-hint { font-size: 12px; color: var(--color-text-muted); margin: 8px 0; line-height: 1.6; }
.captcha-box { background: var(--color-primary-light); border-radius: 8px; padding: 10px 12px; margin: 12px 0; }
.captcha-box label { margin: 0 0 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.captcha-question { font-weight: 700; color: var(--color-primary); background: var(--color-surface); border-radius: 6px; padding: 2px 10px; font-size: 14px; }
.captcha-answer { width: 100%; padding: 9px 10px; border: 1px solid var(--color-border); border-radius: 8px; font-family: inherit; background: var(--color-surface); color: var(--color-text); }

.kyc-video-section { margin-top: 16px; border-top: 1px dashed var(--color-border); padding-top: 12px; }
.kyc-webcam-box video { width: 100%; border-radius: 8px; background: #000; max-height: 260px; object-fit: cover; }
.kyc-file-box { background: var(--color-primary-light); border-radius: 8px; padding: 14px; text-align: center; }
.kyc-file-box input[type="file"] { width: 100%; padding: 9px 10px; border: 1px dashed var(--color-border); border-radius: 8px; background: var(--color-surface); font-family: inherit; font-size: 13px; color: var(--color-text); }
.kyc-webcam-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }

@media(max-width:900px){.auth-shell{max-width:580px;grid-template-columns:1fr}.auth-showcase{display:none}.auth-card{padding:34px}.auth-mobile-logo{display:inline-grid}}
@media(max-width:480px){.auth-page{padding:18px 10px 42px}.auth-shell{border-radius:20px}.auth-card{padding:24px 18px 30px}.auth-card-heading h2{font-size:22px}.auth-tab{font-size:13px}.auth-method-toggle{align-items:stretch}.method-btn{font-size:11px}}
[data-theme="dark"] .page-auth { background:#0b1020; }
[data-theme="dark"] .auth-shell,[data-theme="dark"] .auth-card { border-color:#334155; background:#111827; }
[data-theme="dark"] .auth-tabs,[data-theme="dark"] .auth-method-toggle,[data-theme="dark"] .kyc-source-toggle { background:#0f172a; border-color:#334155; }

/* Unified public pages */
.site-page-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:245px;margin:28px 0 18px;padding:38px 44px;border-radius:28px;color:#fff;overflow:hidden;box-shadow:0 24px 60px rgba(30,41,59,.16)}
.site-page-hero::before,.site-page-hero::after{content:"";position:absolute;z-index:-1;border-radius:50%;border:38px solid rgba(255,255,255,.06)}.site-page-hero::before{width:260px;height:260px;left:-90px;top:-150px}.site-page-hero::after{width:160px;height:160px;right:45%;bottom:-135px}
.site-page-hero-copy{max-width:690px}.site-page-hero-copy>span{display:inline-block;margin-bottom:8px;color:#a7f3d0;font-size:12px;font-weight:900}.site-page-hero h1{margin:0 0 10px;color:#fff;font-size:clamp(28px,4vw,42px);line-height:1.45}.site-page-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:2}
.lots-hero{background:linear-gradient(125deg,#111827 0%,#12395f 58%,#0f766e 130%)}.hero-trust-row,.blog-topic-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.hero-trust-row span,.blog-topic-row span{padding:7px 11px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(255,255,255,.08);font-size:11px;color:#e2e8f0}
.lots-hero-visual{width:280px;display:grid;place-items:center;perspective:800px}.sim-visual{position:relative;width:230px;height:145px;padding:26px 25px;border:1px solid rgba(255,255,255,.22);border-radius:25px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08));box-shadow:0 25px 45px rgba(0,0,0,.22);backdrop-filter:blur(12px);transform:rotate(-5deg)}.sim-visual i{position:absolute;left:18px;top:18px;width:42px;height:32px;border-radius:9px;background:linear-gradient(135deg,#fde68a,#d97706)}.sim-visual small,.sim-visual b,.sim-visual span{display:block}.sim-visual small{color:#a7f3d0;font-size:11px}.sim-visual b{margin:8px 0 2px;font-size:27px}.sim-visual span{direction:ltr;text-align:right;color:#cbd5e1;letter-spacing:2px}
.modern-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 18px;padding:0 4px;color:var(--color-text-muted)}.modern-breadcrumb a{color:var(--color-primary);font-weight:700}.modern-breadcrumb b{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.lots-page{padding-top:0}.lots-page .lots-layout{gap:20px}.lots-page .filter-panel{padding:20px;border-radius:18px;box-shadow:0 12px 32px rgba(49,46,129,.07)}.lots-page .filter-panel-head{display:flex}.filter-title{font-size:16px}.lots-page .filter-field{margin-bottom:15px}.lots-page .filter-field label{margin-bottom:6px;font-weight:700}.lots-page .filter-field input,.lots-page .filter-field select{min-height:43px;border-radius:10px;outline:none;transition:.2s}.lots-page .filter-field input:focus,.lots-page .filter-field select:focus{border-color:#2495ff;box-shadow:0 0 0 3px rgba(11,143,243,.1)}.lots-page .filter-actions{flex-direction:column-reverse}.lots-page .filter-actions .btn{width:100%;border-radius:10px}
.results-toolbar{min-height:68px;margin-bottom:12px;padding:12px 16px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:0 8px 22px rgba(49,46,129,.05)}.results-toolbar>div{display:flex;flex-direction:column}.results-toolbar small,.results-toolbar label>span{font-size:11px;color:var(--color-text-muted)}.results-toolbar strong{font-size:14px}.results-toolbar label{display:flex;align-items:center;gap:9px}.results-toolbar select{min-height:40px;padding:7px 12px;border-radius:10px}
.lots-table-wrap{border-radius:17px;box-shadow:0 14px 35px rgba(49,46,129,.07)}.lots-table thead th{padding:15px 12px;background:linear-gradient(180deg,#edf5fc,#dceeff);font-size:12px}.lots-table tbody td{padding:15px 12px}.lots-table tbody tr{transition:.18s}.lots-table tbody tr:hover{background:#faf8ff;transform:scale(.998)}.lots-page .sidebar{border-radius:18px;box-shadow:0 12px 32px rgba(49,46,129,.07)}
.calculator-page{padding-bottom:70px}.calculator-hero{background:linear-gradient(125deg,#172554,#0b6fca 60%,#0b8ff3)}.calculator-hero-icon,.blog-hero-mark{display:grid;place-items:center;width:120px;height:120px;flex:0 0 120px;border:1px solid rgba(255,255,255,.2);border-radius:34px;background:rgba(255,255,255,.11);font-size:52px;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.2)}.calculator-page-inner{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:22px;padding:0}.modern-calculator{max-width:none;margin:0;padding:28px;border-radius:22px;box-shadow:0 18px 45px rgba(49,46,129,.09)}.calculator-form-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}.calculator-form-head>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#2495ff,#075eae);font-weight:900}.calculator-form-head h2{margin:0;font-size:18px}.calculator-form-head p{margin:2px 0 0;color:var(--color-text-muted);font-size:11px}.modern-calculator .calc-grid{grid-template-columns:repeat(3,1fr);padding:18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-bg)}.modern-calculator .calc-grid .btn{grid-column:1/-1;min-height:48px;border-radius:11px;font-weight:800}.modern-calculator .filter-field input{min-height:46px;border-radius:11px;outline:none}.calculator-result-wrap{margin-top:24px}.modern-calculator .calc-result{min-height:115px;margin:0;padding:18px;border:1px solid var(--color-border);border-radius:16px;background:linear-gradient(135deg,#f5f9ff,#f0fdfa)}.calc-placeholder{height:80px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--color-text-muted)}.calc-placeholder b{color:var(--color-text)}.modern-calculator .calc-line{padding:12px;border-bottom:1px dashed var(--color-border)}.modern-calculator .calc-line span:last-child{color:var(--color-primary);font-size:17px;font-weight:900}.calculator-guide{position:sticky;top:calc(var(--header-h) + 18px);padding:25px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#111827,#12395f);box-shadow:0 18px 45px rgba(30,41,59,.18)}.calculator-guide>span{color:#a7f3d0;font-size:11px;font-weight:800}.calculator-guide h3{margin:6px 0 20px;font-size:20px}.calculator-guide>div{display:flex;gap:11px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}.calculator-guide>div>b{display:grid;place-items:center;width:27px;height:27px;flex:0 0 27px;border-radius:9px;background:rgba(255,255,255,.12)}.calculator-guide p{margin:0;color:#cbd5e1;font-size:12px;line-height:1.9}.calculator-guide .btn{margin-top:20px;background:#fff;color:#075eae}.modern-calculator .forfeiture-warning{margin-top:22px;border-radius:14px;line-height:2}
.blog-page{padding-bottom:70px}.blog-hero{background:linear-gradient(125deg,#18181b,#581c87 58%,#be185d)}.blog-topic-row span{color:#fce7f3}.blog-section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:25px 0 16px}.blog-section-head span{color:var(--color-primary);font-size:11px;font-weight:900}.blog-section-head h2{margin:3px 0 0;font-size:23px}.blog-section-head p{margin:0;color:var(--color-text-muted);font-size:12px}.blog-list{gap:22px;margin-top:0}.blog-card{position:relative;border-radius:19px;box-shadow:0 10px 28px rgba(49,46,129,.06);transition:.25s ease}.blog-card:hover{transform:translateY(-6px);box-shadow:0 22px 42px rgba(49,46,129,.13);border-color:#9fcdf8}.blog-card img,.blog-card-noimage{height:210px}.blog-card-noimage{background:linear-gradient(135deg,#dceeff,#ccfbf1);font-size:54px}.blog-card-body{padding:20px}.blog-card-body h3{font-size:17px;line-height:1.8}.blog-card-body p{min-height:44px;line-height:1.9}.blog-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:13px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.blog-card-footer b{color:var(--color-primary)}
.blog-show-page{max-width:940px;padding:25px 20px 70px}.blog-article{padding:28px;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface);box-shadow:0 18px 50px rgba(49,46,129,.08)}.blog-cover-image{max-height:480px;margin:0 0 26px;border-radius:18px}.blog-article-heading{max-width:760px;margin:0 auto 24px;text-align:center}.blog-article-heading>span{color:var(--color-primary);font-size:11px;font-weight:900}.blog-article h1{margin:8px 0 10px;font-size:clamp(25px,4vw,38px);line-height:1.6}.blog-content{max-width:760px;margin:0 auto 24px;font-size:16px;line-height:2.25}.blog-meta{margin:0}.blog-show-page>.btn{margin-top:18px}
@media(max-width:992px){.site-page-hero{min-height:220px;padding:30px}.lots-hero-visual{display:none}.calculator-page-inner{grid-template-columns:1fr}.calculator-guide{position:static}.modern-calculator .calc-grid{grid-template-columns:1fr 1fr}.blog-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.site-page-hero{align-items:flex-start;min-height:auto;margin-top:16px;padding:25px 21px;border-radius:21px}.site-page-hero h1{font-size:25px}.site-page-hero p{font-size:12px}.calculator-hero-icon,.blog-hero-mark{display:none}.hero-trust-row{gap:5px}.hero-trust-row span{font-size:11px}.modern-calculator{padding:19px}.modern-calculator .calc-grid{grid-template-columns:1fr;padding:14px}.blog-section-head{align-items:flex-start;flex-direction:column}.blog-list{grid-template-columns:1fr}.blog-article{padding:18px;border-radius:19px}.blog-content{font-size:14px}.results-toolbar{align-items:flex-start;flex-direction:column;gap:10px}.results-toolbar label{width:100%;justify-content:space-between}.results-toolbar select{flex:1}.lots-page .filter-panel-head{display:flex}}
[data-theme="dark"] .lots-table thead th{background:#14263a}[data-theme="dark"] .lots-table tbody tr:hover{background:#142334}[data-theme="dark"] .modern-calculator .calc-grid,[data-theme="dark"] .modern-calculator .calc-result{background:#142334}[data-theme="dark"] .blog-card-noimage{background:linear-gradient(135deg,#12395f,#134e4a)}

[data-theme="dark"] .page-panel { background: var(--color-bg); }
[data-theme="dark"] .page-panel .panel-stat-card,
[data-theme="dark"] .page-panel .panel-dashboard-block { background: var(--color-surface); border-color: var(--color-border); }
[data-theme="dark"] .page-panel .panel-financial-summary { background:linear-gradient(90deg,#142334,var(--color-surface)); border-color:var(--color-border); }
[data-theme="dark"] .panel-block-head { border-color: var(--color-border); }
[data-theme="dark"] .page-panel .pfs-item { border-color: var(--color-border); }
[data-theme="dark"] .page-panel .panel-stat-card .stat-value { color: var(--color-text); }


/* -------- پنل کاربر (فاز ۸) -------- */
.panel-page { padding: 24px 0 64px; }
.panel-layout { align-items: start; }
.panel-sidebar { display: flex; flex-direction: column; }
.panel-user-card { display: flex; align-items: center; gap: 10px; padding: 10px; background: var(--color-primary-light); border-radius: var(--radius); margin-bottom: 14px; }
.panel-user-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--color-primary); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none; }
.panel-user-mobile { font-weight: 700; font-size: 14px; direction: ltr; text-align: right; }
.panel-user-code { font-size: 12px; }
.panel-tabs a { display: flex; align-items: center; gap: 6px; }
#panelLogoutBtn { margin-bottom: 14px; }

.panel-alert-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; background: #fdf0da; border: 1px solid var(--color-warning); color: #6b4a0c; border-radius: var(--radius); padding: 14px 16px; margin-bottom: 18px; }
[data-theme="dark"] .panel-alert-banner { background: #3a2c10; color: #f3d9a3; }
.panel-alert-banner.danger { background: #fde3e1; border-color: var(--color-danger); color: #7a231a; }
[data-theme="dark"] .panel-alert-banner.danger { background: #3a1815; color: #f5b8b0; }
.panel-alert-banner .panel-alert-items { display: flex; flex-direction: column; gap: 8px; flex: 1; min-width: 240px; }
.panel-alert-item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; }
.panel-alert-item b { font-size: 13px; }

.panel-section { display: none; }
.panel-section.active { display: block; }
.panel-section-title { font-size: 17px; margin: 0 0 16px; }

.panel-stat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 22px; }
.panel-stat-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 16px; box-shadow: var(--shadow); }
.panel-stat-card .stat-icon { font-size: 20px; margin-bottom: 6px; }
.panel-stat-card .stat-value { font-size: 20px; font-weight: 700; color: var(--color-primary); }
.panel-stat-card .stat-label { font-size: 12px; color: var(--color-text-muted); margin-top: 2px; }
.panel-stat-card.warn .stat-value { color: var(--color-warning); }
.panel-stat-card.danger .stat-value { color: var(--color-danger); }

.panel-block { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 18px; margin-bottom: 18px; box-shadow: var(--shadow); }
.panel-block h3 { margin: 0 0 12px; font-size: 15px; }

.panel-profile-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed var(--color-border); font-size: 13px; }
.panel-profile-row:last-child { border-bottom: none; }

.panel-list-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border: 1px solid var(--color-border); border-radius: var(--radius); margin-bottom: 10px; background: var(--color-surface); }
.panel-list-item .pli-main { display: flex; flex-direction: column; gap: 4px; min-width: 160px; }
.panel-list-item .pli-number { font-weight: 700; direction: ltr; text-align: right; }
.panel-list-item .pli-actions { display: flex; gap: 6px; flex-wrap: wrap; }

.badge-status-pending_payment, .badge-status-pending { background: var(--color-primary-light); color: var(--color-accent); }
.badge-status-pending_kyc, .badge-status-pending_acceptance { background: #fdf0da; color: var(--color-warning); }
.badge-status-completed, .badge-status-paid, .badge-status-approved, .badge-status-answered, .badge-status-confirmed, .badge-status-in_stock { background: #dff3e6; color: var(--color-success); }
.badge-status-reserved { background: #fff4d6; color: #9a6700; }
.badge-status-sold { background: #e8e5ff; color: #5138a5; }
.badge-status-cancelled, .badge-status-rejected, .badge-status-overdue, .badge-status-forfeited, .badge-status-repossessed { background: #fde3e1; color: var(--color-danger); }
.badge-status-active, .badge-status-released, .badge-status-rewarded, .badge-status-success { background: #dff3e6; color: var(--color-success); }
.badge-status-failed, .badge-status-kyc_video_missing, .badge-status-payment_overdue, .badge-status-contract_not_signed { background: #fde3e1; color: var(--color-danger); }
.badge-status-card_to_card, .badge-status-online_gateway, .badge-status-percent, .badge-status-fixed, .badge-status-price, .badge-status-loan, .badge-status-other { background: var(--color-primary-light); color: var(--color-accent); }

.panel-empty { text-align: center; padding: 24px; color: var(--color-text-muted); font-size: 13px; }
.panel-bank-account-box { margin-bottom: 12px; }
.panel-bank-account-card { border: 1px solid var(--color-border, #e2e2e2); border-radius: 8px; padding: 12px 14px; background: var(--color-surface-alt, #f7f7f8); }
.panel-bank-account-card .bank-name { font-weight: 600; font-size: 14px; margin-bottom: 4px; }
.panel-bank-account-card .bank-number { font-size: 13px; color: var(--color-text-muted); direction: ltr; text-align: right; }
.panel-bank-account-card .bai-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 7px 0; border-bottom: 1px dashed var(--color-border); font-size: 13px; }
.panel-bank-account-card .bai-row:last-child { border-bottom: 0; }
.panel-bank-account-card .bai-row > span { color: var(--color-text-muted); }

.panel-installments-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.panel-installments-table th { background: var(--color-primary-light); color: var(--color-primary); padding: 10px; text-align: right; font-size: 12px; }
.panel-installments-table td { padding: 10px; border-top: 1px solid var(--color-border); vertical-align: middle; }

/* رفع ضعف گزارش‌شده (بازبینی UX v38 بند ۱۰ پنل کاربر): خلاصه مالی بالای داشبورد */
.panel-financial-summary { display: flex; flex-wrap: wrap; gap: 14px; margin: -8px 0 22px; }
.panel-financial-summary .pfs-item { flex: 1; min-width: 160px; background: var(--color-primary-light); border-radius: var(--radius); padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.panel-financial-summary .pfs-label { font-size: 12px; color: var(--color-text-muted); }
.panel-financial-summary .pfs-value { font-size: 16px; font-weight: 700; color: var(--color-primary); }

/* رفع ضعف گزارش‌شده (بازبینی UX v38 بند ۱۲ پنل کاربر): نوار پیشرفت اقساط */
.panel-installment-progress { margin-bottom: 14px; }
.panel-installment-progress .pip-bar { width: 100%; height: 10px; border-radius: 6px; background: var(--color-border); overflow: hidden; }
.panel-installment-progress .pip-fill { height: 100%; background: var(--color-success); border-radius: 6px; transition: width .3s ease; }
.panel-installment-progress .pip-label { font-size: 12px; color: var(--color-text-muted); margin-top: 6px; }

/* رفع ضعف گزارش‌شده (بازبینی UX v38 بند ۸): دکمه و overlay منوی کشویی موبایل پنل کاربر */
.panel-drawer-toggle { display: none; align-items: center; gap: 8px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius); padding: 10px 14px; font-family: inherit; font-size: 13px; color: var(--color-text); margin-bottom: 14px; cursor: pointer; }
.panel-drawer-toggle span { display: block; width: 18px; height: 2px; background: var(--color-text); border-radius: 2px; }
.panel-drawer-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 40; }
.panel-drawer-overlay.open { display: block; }

@media (max-width: 768px) {
    .panel-drawer-toggle { display: flex; }
    body.page-panel .panel-sidebar { position: fixed; top: 0; right: -100%; height: 100%; width: 82%; max-width: 320px; z-index: 50; overflow-y: auto; border-radius: 0; transition: right .25s ease; box-shadow: var(--shadow); }
    body.page-panel .panel-sidebar.open { right: 0; }
    .panel-financial-summary { flex-direction: column; }
}

.kyc-final-form label, .contract-sign-form label { display: block; font-size: 12px; color: var(--color-text-muted); margin: 10px 0 4px; }
.kyc-final-form input, .contract-sign-form input { width: 100%; padding: 9px 10px; border: 1px solid var(--color-border); border-radius: 8px; font-family: inherit; background: var(--color-surface); color: var(--color-text); }

@media (max-width: 992px) {
    .panel-stat-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    body.page-panel .mobile-bottom-nav.panel-bottom-nav { display: flex; align-items: stretch; justify-content: space-around; }
    body.page-panel { padding-bottom: var(--bottom-nav-h); }
    .panel-bottom-nav a.active { color: var(--color-primary); font-weight: 700; }
    .panel-stat-grid { grid-template-columns: repeat(2, 1fr); }
    .panel-list-item { flex-direction: column; align-items: stretch; }
}

/* بلاگ عمومی (فهرست + جزئیات) */
.page-title { font-size: 24px; margin: 6px 0 4px; }
.blog-page { padding-bottom: 40px; }
.static-page { padding-bottom: 40px; max-width: 760px; }
.static-page-body p { line-height: 2; margin-bottom: 14px; }
.blog-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.blog-card { display: block; border: 1px solid var(--color-border); border-radius: 12px; overflow: hidden; background: var(--color-surface); text-decoration: none; color: var(--color-text); transition: box-shadow 0.15s ease, transform 0.15s ease; }
.blog-card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.blog-card img { width: 100%; height: 160px; object-fit: cover; display: block; }
.blog-card-noimage { width: 100%; height: 160px; display: flex; align-items: center; justify-content: center; font-size: 40px; background: var(--color-bg-subtle, #f3f3f3); }
.blog-card-body { padding: 14px 16px; }
.blog-card-body h3 { font-size: 16px; margin: 0 0 6px; }
.blog-card-body p { font-size: 13px; color: var(--color-text-muted); margin: 0; line-height: 1.7; }
.blog-show-page { padding-bottom: 40px; max-width: 760px; margin: 0 auto; }
.blog-article h1 { font-size: 26px; margin: 10px 0; }
.blog-cover-image { width: 100%; max-height: 360px; object-fit: cover; border-radius: 12px; margin-bottom: 10px; }
.blog-meta { color: var(--color-text-muted); font-size: 13px; margin-bottom: 16px; }
.blog-content { line-height: 2; font-size: 15px; margin-bottom: 24px; }
@media (max-width: 992px) {
    .blog-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
    .blog-list { grid-template-columns: 1fr; }
}

/* رفع ضعف گزارش‌شده (بازبینی UX v38 بند ۹): ظاهر درگاه پرداخت آزمایشی شبیه به درگاه پرداخت واقعی */
.test-gateway-page { min-height: 70vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px; background: linear-gradient(180deg, #f3f5f9, #e9edf5); }
.test-gateway-card { width: 100%; max-width: 420px; background: #fff; border-radius: 16px; box-shadow: 0 10px 40px rgba(20, 30, 60, 0.12); overflow: hidden; }
.test-gateway-header { display: flex; align-items: center; gap: 12px; padding: 18px 20px; background: linear-gradient(135deg, #0f4c81, #1a6fb5); color: #fff; }
.test-gateway-lock { font-size: 22px; }
.test-gateway-bank { font-weight: 700; font-size: 15px; }
.test-gateway-badge { font-size: 11px; opacity: 0.85; margin-top: 2px; }
.test-gateway-body { padding: 20px; }
.test-gateway-row { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px dashed var(--color-border, #e2e5ec); font-size: 13px; }
.test-gateway-row:last-of-type { border-bottom: none; }
.test-gateway-amount { color: #0f8a4b; font-size: 15px; }
.test-gateway-mono { font-family: monospace; direction: ltr; }
.test-gateway-card-visual { margin: 16px 0; padding: 16px; border-radius: 12px; background: linear-gradient(135deg, #23283a, #3a4160); color: #fff; }
.test-gateway-card-number { font-family: monospace; letter-spacing: 2px; font-size: 16px; direction: ltr; text-align: left; }

/* Customer dashboard refresh — Bootstrap 5.3.8 RTL */
.page-panel { background: #f7f8fc; }
.page-panel .panel-page { max-width: 1320px; }
.page-panel .panel-main { min-width: 0; }
.panel-dashboard-hero {
    position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 24px;
    min-height: 190px; padding: 30px 34px; margin-bottom: 27px; border-radius: 24px; color: #fff;
    background: linear-gradient(125deg, #101827 0%, #0878e8 50%, #2495ff 100%);
    box-shadow: 0 18px 42px rgba(16, 24, 39, .2);
}
.panel-dashboard-hero::before, .panel-dashboard-hero::after { content: ''; position: absolute; border-radius: 50%; border: 36px solid rgba(255,255,255,.07); }
.panel-dashboard-hero::before { width: 210px; height: 210px; left: -50px; top: -110px; }
.panel-dashboard-hero::after { width: 130px; height: 130px; left: 130px; bottom: -90px; }
.panel-dashboard-hero > * { position: relative; z-index: 1; }
.panel-dashboard-eyebrow { display: inline-block; padding: 5px 11px; margin-bottom: 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 99px; background: rgba(255,255,255,.1); font-size: 12px; }
.panel-dashboard-hero h1 { margin: 0 0 8px; color: #fff; font-size: clamp(23px, 3vw, 31px); font-weight: 800; }
.panel-dashboard-hero p { margin: 0; color: rgba(255,255,255,.75); font-size: 14px; }
.panel-hero-action { display: flex; align-items: center; gap: 12px; flex-shrink: 0; padding: 11px 17px; border: 1px solid rgba(255,255,255,.28); border-radius: 13px; background: rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(8px); }
.panel-hero-action:hover { background: #fff; color: #075eae; }
.panel-dashboard-heading { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; }
.panel-dashboard-heading h2 { margin: 0; font-size: 16px; font-weight: 800; }
.panel-dashboard-heading p { margin: 2px 0 0; color: var(--color-text-muted); font-size: 12px; }
.panel-heading-icon { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #dceeff; color: #0878e8; font-size: 20px; }
.page-panel .panel-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 13px; }
.page-panel .panel-stat-card { display: flex; align-items: center; gap: 12px; min-height: 105px; padding: 17px; border: 1px solid #eceaf3; border-radius: 18px; box-shadow: 0 8px 24px rgba(31,24,62,.055); transition: transform .2s ease, box-shadow .2s ease; }
.page-panel .panel-stat-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(31,24,62,.1); }
.page-panel .panel-stat-card .stat-icon { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; border-radius: 13px; color:#075eae; background:#dceeff; font-size: 20px; }
.page-panel .panel-stat-card .stat-label { margin: 0 0 3px; font-size: 11px; }
.page-panel .panel-stat-card .stat-value { font-size: 22px; line-height: 1.25; }
.page-panel .panel-stat-card.warn .stat-icon { background: #fff2d2; }
.page-panel .panel-stat-card.danger .stat-icon { background: #ffe1e2; }
.page-panel .panel-financial-summary { align-items: center; gap: 0; margin: 4px 0 24px; padding: 16px 18px; border: 1px solid #cfe8ff; border-radius: 17px; background: linear-gradient(90deg, #faf8ff, #fff); box-shadow: none; }
.pfs-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; margin-left: 14px; border-radius: 13px; background: #dceeff; }
.page-panel .pfs-item { flex: 1; padding: 0 18px; border-left: 1px solid #ece8f6; }
.page-panel .pfs-item:last-child { border-left: 0; }
.panel-dashboard-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.page-panel .panel-dashboard-block { min-width: 0; margin: 0; padding: 19px; border: 1px solid #eceaf3; border-radius: 18px; box-shadow: 0 8px 24px rgba(31,24,62,.05); }
.panel-block-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid #f0edf7; }
.panel-block-head > div { display: flex; align-items: center; gap: 8px; }
.panel-block-head h3 { margin: 0; font-size: 14px; }
.panel-block-head a { color: #0878e8; font-size: 11px; font-weight: 700; }
.panel-pagination { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 16px; }

/* Purchases workspace */
.panel-purchases-hero { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 164px; margin-bottom: 16px; padding: 28px 32px; border-radius: 23px; color: #fff; background: linear-gradient(125deg,#152238 0%,#314b67 52%,#0f766e 100%); box-shadow: 0 18px 40px rgba(21,34,56,.16); }
.panel-purchases-hero::after { content:""; position:absolute; width:210px; height:210px; left:-50px; top:-80px; border:35px solid rgba(255,255,255,.055); border-radius:50%; }
.panel-purchases-hero > * { position:relative; z-index:1; }
.panel-purchases-eyebrow { display:inline-block; margin-bottom:8px; padding:5px 10px; border:1px solid rgba(255,255,255,.22); border-radius:99px; color:#bdf8ec; font-size:11px; }
.panel-purchases-hero h1 { margin:0 0 7px; color:#fff; font-size:clamp(23px,3vw,30px); }
.panel-purchases-hero p { margin:0; color:rgba(255,255,255,.76); font-size:13px; }
.panel-purchases-new { display:flex; align-items:center; gap:10px; flex:none; padding:11px 16px; border:1px solid rgba(255,255,255,.25); border-radius:13px; background:rgba(255,255,255,.13); color:#fff; }
.panel-purchases-new:hover { background:#fff; color:#0f766e; }
.panel-purchase-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:22px; }
.panel-purchase-stats > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid #e9e7f1; border-radius:15px; background:var(--color-surface); box-shadow:0 7px 20px rgba(31,24,62,.045); }
.panel-purchase-stats span { color:var(--color-text-muted); font-size:11px; }
.panel-purchase-stats b { color:#075eae; font-size:19px; }
.panel-purchases-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:13px; }
.panel-purchases-heading > div { display:flex; align-items:center; gap:10px; }
.panel-purchases-heading h2 { margin:0; font-size:16px; }
.panel-purchases-heading p { margin:2px 0 0; color:var(--color-text-muted); font-size:11px; }
.panel-purchases-tools { margin-bottom:15px; padding:14px; border:1px solid #e7eaf0; border-radius:18px; background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(247,250,252,.96)); box-shadow:0 8px 24px rgba(31,24,62,.045); }
.purchase-filter-chips { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.purchase-filter-chips button { min-height:36px; padding:7px 13px; border:1px solid #dfe5ec; border-radius:99px; background:#fff; color:var(--color-text-muted); font:inherit; font-size:11px; font-weight:700; cursor:pointer; transition:.18s ease; }
.purchase-filter-chips button:hover { border-color:#8fc7f5; color:#0878e8; }
.purchase-filter-chips button.is-active { border-color:#0878e8; background:linear-gradient(135deg,#0878e8,#0f766e); color:#fff; box-shadow:0 6px 14px rgba(8,120,232,.18); }
.purchase-tools-row { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:12px; align-items:end; }
.purchase-tool-field { display:flex; min-width:0; flex-direction:column; gap:6px; }
.purchase-tool-field > label { margin:0; color:var(--color-text-muted); font-size:10px; font-weight:700; line-height:1.5; }
.purchase-tool-control { box-sizing:border-box; display:flex; align-items:center; min-width:0; width:100%; height:44px; border:1px solid #dfe5ec; border-radius:12px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
.purchase-tool-control:focus-within { border-color:#59a9eb; box-shadow:0 0 0 3px rgba(8,120,232,.09); }
.purchase-search { overflow:hidden; padding:3px; }
.purchase-search input { box-sizing:border-box; min-width:0; height:36px; flex:1; padding:0 11px; border:0; outline:0; background:transparent; color:var(--color-text); font:inherit; font-size:12px; }
.purchase-search input::placeholder { color:#98a2b3; }
.purchase-search button { box-sizing:border-box; flex:0 0 auto; height:36px; padding:0 15px; border:0; border-radius:9px; background:#e9f4fd; color:#0878e8; font:inherit; font-size:11px; font-weight:800; line-height:36px; cursor:pointer; }
.purchase-sort { padding:0 13px; }
.purchase-sort select { width:100%; min-width:0; height:42px; padding:0; border:0; outline:0; background:transparent; color:var(--color-text); font:inherit; font-size:11px; text-align:right; cursor:pointer; -webkit-appearance:none; -moz-appearance:none; appearance:none; }
.purchase-results-summary { min-height:18px; padding-top:8px; color:var(--color-text-muted); font-size:10px; }
.panel-pagination .purchase-page-number { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #e1e5eb; border-radius:10px; background:#fff; color:var(--color-text); font:inherit; font-size:11px; cursor:pointer; }
.panel-pagination .purchase-page-number.is-current { border-color:#0878e8; background:#0878e8; color:#fff; cursor:default; }
[data-theme="dark"] .panel-purchases-tools { background:var(--color-surface); border-color:var(--color-border); }
[data-theme="dark"] .purchase-filter-chips button,[data-theme="dark"] .purchase-tool-control,[data-theme="dark"] .panel-pagination .purchase-page-number { background:var(--color-bg); border-color:var(--color-border); }
.panel-purchase-card { overflow:hidden; margin-bottom:13px; border:1px solid #e8e6ef; border-radius:18px; background:var(--color-surface); box-shadow:0 8px 24px rgba(31,24,62,.05); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.panel-purchase-card:hover { transform:translateY(-2px); border-color:#d9d2ef; box-shadow:0 14px 30px rgba(31,24,62,.09); }
.panel-purchase-card.needs-action { border-right:4px solid #0b8ff3; }
.purchase-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:17px 19px 13px; }
.purchase-phone-wrap { display:flex; align-items:center; gap:11px; }
.purchase-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; background:#f0ebff; font-size:20px; }
.purchase-label,.purchase-meta span,.purchase-next-step small { display:block; color:var(--color-text-muted); font-size:11px; }
.panel-purchase-card .pli-number { display:block; margin-top:2px; direction:ltr; color:var(--color-text); font-size:17px; text-align:right; }
.purchase-card-body { padding:0 19px 15px; }
.purchase-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:13px; border-radius:13px; background:#faf9fd; }
.purchase-meta b { display:block; margin-top:4px; font-size:12px; }
.purchase-progress { margin-top:13px; }
.purchase-progress > div:first-child { display:flex; justify-content:space-between; gap:10px; font-size:11px; }
.purchase-progress-track { overflow:hidden; height:7px; margin-top:7px; border-radius:99px; background:#ebe7f3; }
.purchase-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#10b981,#34d399); }
.purchase-next-step { display:flex; align-items:center; gap:9px; margin-top:13px; padding:10px 12px; border:1px solid #ebe7f6; border-radius:12px; background:#fff; }
.purchase-next-step > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#dceeff; color:#0878e8; font-weight:800; }
.purchase-next-step b { display:block; margin-top:2px; font-size:11px; }
.purchase-payment-rejected { display:flex; align-items:flex-start; gap:11px; margin-top:13px; padding:13px 14px; border:1px solid #f3b7b1; border-radius:13px; background:linear-gradient(135deg,#fff7f5,#fff); color:#78251e; }
.purchase-payment-rejected strong,.purchase-payment-rejected p,.purchase-payment-rejected small { display:block; }
.purchase-payment-rejected p { margin:5px 0; line-height:1.9; font-size:12px; }
.purchase-payment-rejected small { color:#8d4943; line-height:1.8; }
.purchase-rejection-icon { display:grid; flex:0 0 30px; place-items:center; width:30px; height:30px; border-radius:9px; background:#dc3f32; color:#fff; font-weight:900; }
.purchase-payment-rejected-detail { margin:14px 0; }
[data-theme="dark"] .purchase-payment-rejected { border-color:#713a36; background:#291c1c; color:#ffd2cd; }
[data-theme="dark"] .purchase-payment-rejected small { color:#e9aaa4; }
.panel-purchase-card .pli-actions { display:flex; flex-wrap:wrap; gap:7px; padding:13px 19px; border-top:1px solid #efedf4; background:#fcfbfe; }
.panel-purchase-card .pli-actions .btn:first-child { margin-inline-start:auto; }
[data-theme="dark"] .purchase-meta,[data-theme="dark"] .purchase-next-step,[data-theme="dark"] .panel-purchase-card .pli-actions { background:var(--color-bg); }

@media (max-width: 760px) {
    .panel-purchases-hero { align-items:flex-start; flex-direction:column; min-height:auto; padding:23px 20px; }
    .panel-purchases-new { width:100%; justify-content:center; }
    .panel-purchase-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .purchase-meta { grid-template-columns:1fr; }
    .panel-purchase-card .pli-actions .btn { flex:1 1 calc(50% - 7px); }
    .purchase-tools-row { grid-template-columns:1fr; }
    .panel-pagination { flex-wrap:wrap; }
}
@media (max-width: 440px) {
    .panel-purchase-stats { grid-template-columns:1fr; }
    .panel-purchase-card .pli-actions .btn { flex-basis:100%; }
    .purchase-card-top { align-items:flex-start; }
}

/* Unified customer panel subpages */
.panel-subpage-hero { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:150px; margin-bottom:20px; padding:26px 30px; border-radius:22px; color:#fff; box-shadow:0 16px 36px rgba(31,24,62,.14); }
.panel-subpage-hero::after { content:""; position:absolute; left:-45px; bottom:-100px; width:190px; height:190px; border:32px solid rgba(255,255,255,.06); border-radius:50%; }
.panel-subpage-hero > * { position:relative; z-index:1; }
.panel-subpage-hero span { color:rgba(255,255,255,.74); font-size:11px; }
.panel-subpage-hero h1 { margin:5px 0 7px; color:#fff; font-size:clamp(22px,3vw,29px); }
.panel-subpage-hero p { margin:0; color:rgba(255,255,255,.75); font-size:13px; }
.panel-subpage-icon { display:grid; place-items:center; flex:0 0 62px; height:62px; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.11); font-size:27px; }
.hero-installments { background:linear-gradient(125deg,#172554,#0b6fca,#0878e8); }
.hero-wishlist { background:linear-gradient(125deg,#4c1d5f,#be185d,#e11d48); }
.hero-inquiries { background:linear-gradient(125deg,#0f3f4c,#0f766e,#14b8a6); }
.hero-profile { background:linear-gradient(125deg,#172033,#334155,#4f46e5); }
.panel-two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.panel-modern-block { min-width:0; padding:20px; border-radius:18px; box-shadow:0 8px 24px rgba(31,24,62,.05); }
.panel-modern-block-head { display:flex; align-items:center; gap:10px; margin-bottom:15px; padding-bottom:13px; border-bottom:1px solid var(--color-border); }
.panel-modern-block-head > span { display:grid; place-items:center; width:39px; height:39px; border-radius:12px; background:#f0ebff; }
.panel-modern-block-head h3 { margin:0; font-size:14px; }
.panel-modern-block-head p { margin:2px 0 0; color:var(--color-text-muted); font-size:11px; }
.panel-profile-grid .panel-block { margin-bottom:16px; }
.panel-profile-grid #panelKycReuploadBlock { grid-column:1 / -1; }
.panel-wishlist-cards { gap:14px; flex-wrap:wrap; }
.panel-wishlist-cards .lot-card { flex:1 1 250px; max-width:360px; border-radius:18px; box-shadow:0 8px 24px rgba(31,24,62,.055); }
.panel-inquiry-card { margin-bottom:10px; padding:14px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-surface); }
.panel-inquiry-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.panel-inquiry-top small { display:block; color:var(--color-text-muted); font-size:11px; }
.panel-inquiry-top b { display:block; margin-top:3px; direction:ltr; text-align:right; }
.panel-inquiry-mobile { margin-top:10px; color:var(--color-text-muted); font-size:11px; }
.panel-inquiry-answer,.panel-inquiry-waiting { margin-top:11px; padding:10px 12px; border-radius:10px; background:#edf5fc; font-size:11px; }
.panel-inquiry-answer small { color:#0878e8; }
.panel-inquiry-answer p { margin:4px 0 0; line-height:1.8; }
.panel-inquiry-waiting { color:var(--color-text-muted); }
.installment-done { color:var(--color-success); font-size:11px; font-weight:700; }
.installment-locked { color:var(--color-text-muted); font-size:11px; white-space:nowrap; }
.installment-case-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.installment-case-stats > div { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border:1px solid var(--color-border); border-radius:14px; background:var(--color-surface); box-shadow:0 7px 20px rgba(31,24,62,.04); }
.installment-case-stats span { color:var(--color-text-muted); font-size:11px; }
.installment-case-stats b { color:#075eae; font-size:17px; }
.installment-case-stats b small { font-size:11px; }
.installment-case-stats .danger b { color:var(--color-danger); }
.installment-case-list { display:flex; flex-direction:column; gap:13px; }
.installment-case-card { overflow:hidden; border:1px solid #e6e2ef; border-radius:18px; background:var(--color-surface); box-shadow:0 8px 24px rgba(31,24,62,.05); }
.installment-case-card.has-overdue { border-right:4px solid var(--color-danger); }
.installment-case-summary { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; padding:17px 19px; border:0; background:transparent; color:var(--color-text); font-family:inherit; text-align:right; cursor:pointer; }
.installment-case-summary:hover { background:#fcfbff; }
.installment-case-identity { display:flex; align-items:center; gap:11px; min-width:220px; }
.installment-case-icon { display:grid; place-items:center; flex:0 0 43px; height:43px; border-radius:13px; color:#075eae; background:#dceeff; font-size:20px; }
.installment-case-identity small,.installment-case-identity em { display:block; color:var(--color-text-muted); font-size:11px; font-style:normal; }
.installment-case-identity strong { display:block; margin:2px 0; direction:ltr; font-size:16px; text-align:right; }
.installment-case-metrics { display:grid; grid-template-columns:repeat(3,minmax(110px,1fr)) auto; align-items:center; gap:22px; flex:1; }
.installment-case-metrics small { display:block; color:var(--color-text-muted); font-size:11px; }
.installment-case-metrics b { display:block; margin-top:3px; font-size:11px; }
.installment-case-chevron { display:grid; place-items:center; width:31px; height:31px; border-radius:9px; background:#f2eff8; transition:transform .2s ease; }
.installment-case-summary[aria-expanded="true"] .installment-case-chevron { transform:rotate(180deg); }
.installment-case-progress { height:4px; background:#eeeaf5; }
.installment-case-progress span { display:block; height:100%; background:linear-gradient(90deg,#10b981,#34d399); }
.installment-case-detail { padding:17px 19px 19px; border-top:1px solid var(--color-border); background:#fdfcff; }
.installment-case-detail[hidden] { display:none; }
.installment-case-detail-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:13px; }
.installment-case-detail-head h3 { margin:0; font-size:14px; }
.installment-case-detail-head p { margin:3px 0 0; color:var(--color-text-muted); font-size:11px; }
.panel-inline-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.settlement-preview { margin:4px 0 16px; }
.settlement-preview-loading { min-height:150px; display:flex; align-items:center; justify-content:center; gap:10px; color:var(--color-text-muted); }
.settlement-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.settlement-preview-grid > div { padding:12px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-surface-soft); display:flex; flex-direction:column; gap:5px; }
.settlement-preview-grid > .settlement-preview-down { grid-column:1 / -1; background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface)); }
.settlement-preview-grid small,.settlement-payoff-card small { color:var(--color-text-muted); font-size:11px; }
.settlement-preview-grid b { font-size:13px; color:var(--color-text); }
.settlement-preview-grid b .settlement-multiply { display:inline-block; margin:0 3px; color:var(--color-primary); font-size:15px; font-weight:800; }
.settlement-principal-line { margin-top:6px; padding-top:7px; border-top:1px dashed var(--color-border); color:var(--color-text-muted); font-size:11px; }
.settlement-principal-line strong { color:var(--color-text); font-size:12px; }
.settlement-payoff-card { margin-top:10px; padding:15px; border-radius:14px; border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border)); background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 9%,var(--color-surface)),var(--color-surface)); display:flex; flex-direction:column; gap:5px; }
.settlement-payoff-card strong { color:var(--color-primary); font-size:20px; }
.settlement-payoff-card span { margin-top:3px; font-size:12px; color:var(--color-text); }
.settlement-preview-help { margin:11px 2px 0; color:var(--color-text-muted); font-size:11px; line-height:1.9; }
.settlement-preview-error { padding:14px; border-radius:12px; background:var(--color-danger-soft); color:var(--color-danger); line-height:1.9; }
@media (max-width:520px) { .settlement-preview-grid { grid-template-columns:1fr; } }
.installment-table-scroll { overflow-x:auto; border:1px solid var(--color-border); border-radius:13px; background:var(--color-surface); }
.installment-table-scroll .panel-installments-table { margin:0; }
.panel-installment-empty span { display:block; margin-bottom:8px; font-size:32px; }
.panel-installment-empty h3 { margin:0 0 5px; color:var(--color-text); }
.panel-installment-empty p { margin:0 0 13px; }
[data-theme="dark"] .installment-case-summary:hover,[data-theme="dark"] .installment-case-detail { background:var(--color-bg); }
[data-theme="dark"] .panel-inquiry-answer,[data-theme="dark"] .panel-inquiry-waiting { background:var(--color-bg); }

@media (max-width: 820px) {
    .panel-two-column { grid-template-columns:1fr; }
    .panel-subpage-hero { min-height:auto; padding:23px 20px; }
    .panel-installments-table { min-width:700px; }
    #panelInstallmentsList { overflow:visible; }
	.installment-case-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.installment-case-summary { align-items:flex-start; flex-direction:column; }
	.installment-case-metrics { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:10px; }
	.installment-case-detail-head { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 500px) {
	.installment-case-stats { grid-template-columns:1fr; }
	.installment-case-metrics { grid-template-columns:1fr 1fr; }
	.installment-case-chevron { position:absolute; left:16px; top:18px; }
	.installment-case-summary { position:relative; }
}

@media (max-width: 1180px) { .page-panel .panel-stat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) {
    .panel-dashboard-hero { align-items: flex-start; flex-direction: column; min-height: auto; padding: 25px; }
    .panel-dashboard-columns { grid-template-columns: 1fr; }
    .page-panel .panel-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
    .panel-dashboard-hero { padding: 22px 19px; border-radius: 18px; }
    .panel-hero-action { width: 100%; justify-content: center; }
    .page-panel .panel-stat-grid { grid-template-columns: 1fr; }
    .page-panel .panel-financial-summary { align-items: stretch; flex-direction: column; }
    .pfs-icon { margin: 0 0 12px; }
    .page-panel .pfs-item { padding: 10px 0; border-left: 0; border-bottom: 1px solid #ece8f6; }
}
.test-gateway-card-meta { display: flex; justify-content: space-between; font-size: 11px; margin-top: 10px; opacity: 0.85; }
.test-gateway-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 18px; }
.test-gateway-footnote { text-align: center; font-size: 11px; color: var(--color-text-muted, #8892a4); margin-top: 14px; }

/* ===== Corporate identity 2026 — inspired by the physical office ===== */
.site-header { border-bottom-color:rgba(8,120,232,.14); box-shadow:0 10px 32px rgba(15,47,78,.08); }
.site-header::after { content:""; position:absolute; right:0; bottom:-1px; left:0; height:2px; background:linear-gradient(90deg,transparent,#0878e8 35%,#10b8a6 65%,transparent); opacity:.72; }
.logo-badge,.account-avatar { background:linear-gradient(145deg,#0878e8,#075eae); box-shadow:0 10px 24px rgba(8,120,232,.24); }
.main-nav a.active::after { background:linear-gradient(90deg,#0878e8,#10b8a6); }
.icon-btn:hover { border-color:#9fcdf8; }
.header-account-btn,.account-sidebar-nav .account-primary-link { background:linear-gradient(135deg,#101827,#0878e8); box-shadow:0 9px 22px rgba(8,84,148,.22); }
.header-account-btn:hover { box-shadow:0 12px 28px rgba(8,84,148,.3); }
.account-role { color:#075eae; background:#dceeff; }
.promo-card { background:linear-gradient(135deg,#101827,#0878e8 72%,#10b8a6); }
.lots-hero,.calculator-hero,.blog-hero,.panel-dashboard-hero,.panel-subpage-hero,.hero-installments { background:linear-gradient(125deg,#101827 0%,#12395f 55%,#0878e8 115%); }
.site-page-hero::before,.site-page-hero::after,.panel-dashboard-hero::before { border-color:rgba(255,255,255,.055); }
.calculator-form-head>span,.auth-tab.active { background:linear-gradient(135deg,#0878e8,#075eae); box-shadow:0 8px 18px rgba(8,120,232,.2); }
.calculator-guide { background:linear-gradient(145deg,#101827,#12395f); }
.calculator-guide .btn { color:#075eae; }
.modern-calculator .calc-result { background:linear-gradient(135deg,#f5f9ff,#effcf9); }
.inquiry-modal-head { background:linear-gradient(125deg,#101827,#12395f 58%,#0878e8); }
.inquiry-field i,.panel-inquiry-answer small,.panel-block-head a { color:#0878e8; }
.inquiry-privacy-note span { color:#075eae; background:#dceeff; }
.auth-showcase-brand span,.auth-mobile-logo { background:linear-gradient(135deg,#0878e8,#075eae); box-shadow:0 8px 20px rgba(8,120,232,.28); }
.page-auth { background:radial-gradient(circle at 8% 15%,rgba(8,120,232,.11),transparent 30%),radial-gradient(circle at 90% 85%,rgba(16,184,166,.10),transparent 28%),#f5f7fa; }
.panel-heading-icon,.purchase-next-step>span { color:#075eae; background:#dceeff; }
.panel-purchase-stats b,.installment-case-stats b { color:#075eae; }
.panel-purchase-card.needs-action { border-right-color:#0878e8; }
.panel-hero-action:hover { color:#075eae; }
.lot-detail-modal-box,.purchase-flow-modal,.inquiry-modal-box { border-color:rgba(8,120,232,.11); }
.purchase-flow-icon,.inquiry-submit-btn { box-shadow:0 10px 22px rgba(8,120,232,.2); }
.site-footer::before { background:rgba(8,120,232,.2); }

/* Khat Sara brand identity — production layer */
:root{
    --brand-navy:#07142f;
    --brand-navy-soft:#102957;
    --brand-blue:#0878e8;
    --brand-cyan:#18bde8;
    --brand-ice:#eaf7ff;
}
.brand-signature{display:inline-flex;align-items:center;gap:11px;min-width:0;direction:rtl}
.brand-signature img{display:block;width:48px;height:48px;flex:0 0 auto;filter:drop-shadow(0 9px 15px rgba(8,120,232,.22))}
.brand-signature-copy{display:grid;gap:2px;line-height:1.2;text-align:right;white-space:nowrap}
.brand-signature-copy strong{font-size:19px;font-weight:900;letter-spacing:-.55px;color:var(--brand-navy)}
.brand-signature-copy small{font-size:9px;font-weight:600;color:#64748b}
.brand-signature.is-compact img{width:36px;height:36px}.brand-signature.is-compact .brand-signature-copy strong{font-size:16px}
.brand-signature.is-inverse .brand-signature-copy strong{color:#fff}.brand-signature.is-inverse .brand-signature-copy small{color:#b9cae6}
.site-header .logo{min-width:max-content}.site-header .logo:hover .brand-signature img{transform:translateY(-1px);filter:drop-shadow(0 12px 18px rgba(8,120,232,.3))}.brand-signature img{transition:transform .2s ease,filter .2s ease}
.footer-logo .brand-signature img{width:58px;height:58px}.footer-logo .brand-signature-copy strong{font-size:23px}.footer-logo .brand-signature-copy small{font-size:10px}
.brand-hero{position:relative;isolation:isolate;min-height:330px;padding:46px 54px;overflow:hidden;background-color:var(--brand-navy)!important;background-image:linear-gradient(90deg,rgba(5,18,48,.12) 0%,rgba(5,18,48,.3) 43%,rgba(5,18,48,.96) 72%,#07142f 100%),url('../images/brand/khat-sara-hero.png?v=2')!important;background-repeat:no-repeat!important;background-position:center!important;background-size:cover!important}
.brand-hero::after{content:"";position:absolute;z-index:-1;inset:auto auto -155px 37%;width:330px;height:330px;border:1px solid rgba(24,189,232,.16);border-radius:50%;box-shadow:0 0 0 55px rgba(8,120,232,.06),0 0 0 115px rgba(8,120,232,.035)}
.brand-hero .site-page-hero-copy{position:relative;z-index:1;max-width:650px;margin-right:0;margin-left:auto}
.brand-hero .site-page-hero-copy>span{color:#75e8ff}.brand-hero .site-page-hero-copy h1{font-size:clamp(30px,3vw,46px);letter-spacing:-1.5px}.brand-hero .site-page-hero-copy p{max-width:610px;color:#c7d8ee}
[data-theme="dark"] .brand-signature-copy strong{color:#f8fbff}[data-theme="dark"] .brand-signature-copy small{color:#9db0ca}
@media(max-width:992px){.brand-hero{min-height:285px;padding:34px;background-position:30% center!important}.brand-hero .site-page-hero-copy{max-width:72%}}
@media(max-width:640px){.brand-signature img{width:42px;height:42px}.brand-signature-copy strong{font-size:16px}.brand-signature-copy small{display:none}.brand-hero{min-height:350px;padding:28px 24px;background-position:23% center!important}.brand-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(5,18,48,.92),rgba(5,18,48,.54) 70%,rgba(5,18,48,.86))}.brand-hero .site-page-hero-copy{max-width:none;text-align:center}.brand-hero .site-page-hero-copy h1{font-size:31px}.brand-hero .hero-trust-row{justify-content:center}}
.footer-logo-mark { background:linear-gradient(145deg,#0878e8,#075eae); box-shadow:0 12px 30px rgba(3,74,133,.4); }
.footer-col h4>span { background:linear-gradient(90deg,#0878e8,#10b8a6); }
.footer-contact-card:hover { border-color:rgba(56,189,248,.42); background:rgba(8,120,232,.1); }
.footer-contact-card>i { color:#7dd3fc; background:rgba(8,120,232,.16); }
.reviews-list { scrollbar-color:#0878e8 transparent; }
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea):focus { border-color:#2495ff; box-shadow:0 0 0 3px rgba(8,120,232,.13); }
:where(button,a[href],input[type="checkbox"],input[type="radio"]):focus-visible { outline-color:#076fd4; }
[data-theme="dark"] .modern-calculator .calc-result { background:linear-gradient(135deg,#111b29,#102823); }
.modern-calculator .calc-minimum-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:13px 15px;border:1px solid rgba(220,38,38,.2);border-radius:12px;background:rgba(254,242,242,.82);color:#7f1d1d}.modern-calculator .calc-minimum-hint span{font-size:13px}.modern-calculator .calc-minimum-hint strong{white-space:nowrap;font-size:16px;color:#b91c1c}[data-theme="dark"] .modern-calculator .calc-minimum-hint{border-color:rgba(248,113,113,.3);background:rgba(127,29,29,.2);color:#fecaca}[data-theme="dark"] .modern-calculator .calc-minimum-hint strong{color:#fca5a5}@media (max-width:560px){.modern-calculator .calc-minimum-hint{align-items:flex-start;flex-direction:column;gap:5px}}

/* Real-office trust section */
.office-trust-section { display:grid; grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr); gap:clamp(28px,5vw,70px); align-items:center; margin:58px 0 10px; padding:clamp(22px,3vw,38px); border:1px solid var(--color-border); border-radius:var(--radius-xl); background:var(--color-surface); box-shadow:var(--shadow-card); overflow:hidden; }
.office-trust-media { position:relative; min-height:310px; border-radius:var(--radius-lg); overflow:hidden; background:#101827; }
.office-trust-media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 52%,rgba(5,15,27,.7)); pointer-events:none; }
.office-trust-media img { display:block; width:100%; height:100%; min-height:310px; object-fit:cover; }
.office-trust-media>span { position:absolute; z-index:1; right:18px; bottom:17px; display:flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid rgba(255,255,255,.22); border-radius:10px; color:#fff; background:rgba(8,24,42,.68); backdrop-filter:blur(10px); font-size:11px; font-weight:800; }
.office-trust-kicker { color:var(--color-primary); font-size:11px; font-weight:900; }
.office-trust-copy h2 { max-width:650px; margin:7px 0 10px; font-size:clamp(22px,3vw,32px); line-height:1.65; }
.office-trust-copy>p { max-width:700px; margin:0; color:var(--color-text-muted); font-size:13px; line-height:2.05; }
.office-trust-points { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:22px 0; }
.office-trust-points>div { display:flex; align-items:center; gap:9px; min-width:0; padding:12px; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-bg); }
.office-trust-points>div>.ui-icon { color:var(--color-primary); }
.office-trust-points span,.office-trust-points b,.office-trust-points small { display:block; }
.office-trust-points b { font-size:12px; }
.office-trust-points small { margin-top:2px; color:var(--color-text-muted); font-size:11px; white-space:nowrap; }
.office-trust-action { min-height:45px; border-radius:var(--radius-sm); font-weight:800; }
.about-page { max-width:1440px; }
.about-page .static-page-body { max-width:900px; }
.about-office-section { margin-top:34px; }
@media(max-width:900px){.office-trust-section{grid-template-columns:1fr}.office-trust-media{min-height:260px}.office-trust-media img{min-height:260px}}
@media(max-width:600px){.office-trust-section{margin-top:35px;padding:15px;border-radius:20px}.office-trust-points{grid-template-columns:1fr}.office-trust-points small{white-space:normal}.office-trust-action{width:100%}}

/* Component rhythm and accessible motion */
.btn { min-height:42px; border-radius:var(--radius-sm); font-weight:750; transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease; }
.btn:not(:disabled):hover { transform:translateY(-1px); }
.sidebar,.filter-panel,.lots-table-wrap,.results-toolbar,.panel-modern-block,.panel-stat-card,.installment-case-summary,.installment-case-detail { border-radius:var(--radius-md); box-shadow:var(--shadow-card); }
.modal-box { border-radius:var(--radius-lg); box-shadow:var(--shadow-float); }
.logo-copy small { font-size:11px; }
[data-theme="dark"] .office-trust-section,[data-theme="dark"] .office-trust-points>div { background:var(--color-surface); border-color:var(--color-border); }
[data-theme="dark"] .office-trust-points>div { background:var(--color-bg); }
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* ===== Final visual QA layer: corporate consistency, contrast and states ===== */
:root {
    --color-surface-alt: #f1f6fb;
    --color-surface-raised: #ffffff;
    --color-info-soft: #eaf4ff;
    --color-success-soft: #eaf8f1;
    --color-warning-soft: #fff6e6;
    --color-danger-soft: #fff0ef;
    --border-interactive: #c9d8e7;
}
[data-theme="dark"] {
    --color-surface-alt: #142334;
    --color-surface-raised: #162334;
    --color-info-soft: #112b44;
    --color-success-soft: #102d25;
    --color-warning-soft: #342710;
    --color-danger-soft: #381b1c;
    --border-interactive: #36516b;
}
html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
::selection { color:#fff; background:#0878e8; }

.card,.sidebar,.filter-panel,.lots-table-wrap,.panel-block,.panel-modern-block,
.panel-stat-card,.installment-case-card,.modal-box {
    border-color:var(--color-border);
    background-color:var(--color-surface);
}
.lot-detail-price-panel,.lot-detail-installment-grid>div,
.lot-detail-installment-grid .lot-detail-monthly-highlight,
.purchase-payable-card,.purchase-followup-form,.purchase-flow-modal .bank-account-info,
.purchase-flow-modal input[type=file],.panel-modern-block-head>span,
.installment-case-icon,.installment-case-chevron,.installment-case-detail {
    border-color:var(--color-border);
    background:var(--color-surface-alt);
}
.lot-detail-price-panel strong,.lot-detail-installment-grid .lot-detail-monthly-highlight strong,
.purchase-payable-card { color:var(--color-primary-dark); }
.badge-rand { color:#8a5a08; background:var(--color-warning-soft); }
.badge-doc-ready { color:#146c42; background:var(--color-success-soft); }
.badge-doc-pending { color:#8a5a08; background:var(--color-warning-soft); }
.badge-reserved { color:#9f2f25; background:var(--color-danger-soft); }

.btn-primary,.btn-accent,.inquiry-submit-btn {
    background:linear-gradient(135deg,#076fd4,#075eae);
    color:#fff;
    box-shadow:0 8px 18px rgba(8,120,232,.16);
}
.btn-primary:not(:disabled):hover,.btn-accent:not(:disabled):hover,.inquiry-submit-btn:not(:disabled):hover {
    background:linear-gradient(135deg,#0664be,#064f94);
    box-shadow:0 11px 24px rgba(8,84,148,.24);
}
.btn:disabled,.icon-btn:disabled { cursor:not-allowed; opacity:.58; transform:none!important; box-shadow:none; }
.icon-btn,.lot-card-heart,.lot-row-heart,.results-toolbar select,
.filter-field input,.filter-field select,.modal-box input,.modal-box select,.modal-box textarea {
    border-color:var(--border-interactive);
}
.icon-btn:hover,.lot-card-heart:hover,.lot-row-heart:hover { color:var(--color-primary); background:var(--color-info-soft); }

.hero-wishlist,.hero-inquiries,.hero-profile {
    background:linear-gradient(125deg,#101827 0%,#12395f 58%,#0878e8 120%);
}
.panel-inquiry-answer,.panel-inquiry-waiting { background:var(--color-info-soft); }
.installment-case-summary:hover,table.lots-table tbody tr:hover { background:var(--color-surface-alt); }

[data-theme="dark"] .lot-detail-price-panel,
[data-theme="dark"] .lot-detail-installment-grid>div,
[data-theme="dark"] .purchase-payable-card,
[data-theme="dark"] .purchase-followup-form,
[data-theme="dark"] .purchase-flow-modal .bank-account-info,
[data-theme="dark"] .purchase-flow-modal input[type=file],
[data-theme="dark"] .installment-case-detail,
[data-theme="dark"] .panel-modern-block-head>span,
[data-theme="dark"] .installment-case-icon,
[data-theme="dark"] .installment-case-chevron { color:var(--color-text); background:var(--color-surface-alt); border-color:var(--color-border); }
[data-theme="dark"] .lot-detail-price-panel strong,
[data-theme="dark"] .lot-detail-installment-grid .lot-detail-monthly-highlight strong,
[data-theme="dark"] .purchase-payable-card { color:#7dd3fc; }

@media (hover:none) {
    .btn:not(:disabled):hover,.icon-btn:hover,.lot-card-heart:hover,.lot-row-heart:hover { transform:none; }
}
@media (max-width:600px) {
    .container { padding-inline:14px; }
    .modal-overlay { padding:12px; }
    .modal-box,.lot-detail-modal-box,.purchase-flow-modal { padding:20px 17px; border-radius:18px; }
    .lot-detail-title h3 { font-size:22px; }
    .purchase-flow-header h3,.inquiry-modal-head h3 { font-size:19px; }
    .btn { min-height:44px; }
}

/* ===== Dark mode audit: complete surfaces, Bootstrap bridge and contrast ===== */
[data-theme="dark"] body {
    background:var(--color-bg);
    color:var(--color-text);
}
[data-theme="dark"] {
    --bs-body-bg:var(--color-bg);
    --bs-body-color:var(--color-text);
    --bs-border-color:var(--color-border);
    --bs-secondary-color:var(--color-text-muted);
    --bs-tertiary-bg:var(--color-surface-alt);
    --bs-card-bg:var(--color-surface);
    --bs-modal-bg:var(--color-surface);
}
[data-theme="dark"] .site-header {
    background:rgba(11,17,27,.94);
    border-color:var(--color-border);
    box-shadow:0 10px 32px rgba(0,0,0,.26);
}
[data-theme="dark"] .main-nav a:hover,[data-theme="dark"] .main-nav a.active,
[data-theme="dark"] .icon-btn:hover { background:var(--color-primary-light); border-color:var(--border-interactive); }
[data-theme="dark"] .sidebar,[data-theme="dark"] .filter-panel,
[data-theme="dark"] .results-toolbar,[data-theme="dark"] .lots-table-wrap,
[data-theme="dark"] .lot-card,[data-theme="dark"] .modal-box,
[data-theme="dark"] .panel-block,[data-theme="dark"] .panel-modern-block,
[data-theme="dark"] .panel-stat-card,[data-theme="dark"] .panel-dashboard-block,
[data-theme="dark"] .panel-purchase-card,[data-theme="dark"] .installment-case-card,
[data-theme="dark"] .blog-card,[data-theme="dark"] .blog-article,
[data-theme="dark"] .office-trust-section,[data-theme="dark"] .test-gateway-card {
    color:var(--color-text); background:var(--color-surface); border-color:var(--color-border);
    box-shadow:0 10px 28px rgba(0,0,0,.2);
}
[data-theme="dark"] .lots-table thead th,[data-theme="dark"] .lots-table tbody tr:hover,
[data-theme="dark"] .modern-calculator .calc-grid,[data-theme="dark"] .modern-calculator .calc-result,
[data-theme="dark"] .page-panel .panel-financial-summary,
[data-theme="dark"] .purchase-meta,[data-theme="dark"] .purchase-next-step,
[data-theme="dark"] .panel-purchase-card .pli-actions,[data-theme="dark"] .panel-bank-account-card,
[data-theme="dark"] .panel-inquiry-answer,[data-theme="dark"] .panel-inquiry-waiting,
[data-theme="dark"] .installment-case-summary:hover,[data-theme="dark"] .installment-case-detail {
    color:var(--color-text); background:var(--color-surface-alt); border-color:var(--color-border);
}
[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
[data-theme="dark"] select,[data-theme="dark"] textarea,[data-theme="dark"] input[type=file] {
    color:var(--color-text); background:var(--color-surface-alt); border-color:var(--border-interactive);
}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder { color:#8195aa; opacity:1; }
[data-theme="dark"] option { color:var(--color-text); background:var(--color-surface); }
[data-theme="dark"] .lot-detail-heading .lot-row-heart.active { background:#3a2028; }
[data-theme="dark"] .reserve-timer,[data-theme="dark"] .badge-status-reserved {
    color:#f5d18a; background:var(--color-warning-soft); border-color:#6b5422;
}
[data-theme="dark"] .page-panel .panel-stat-card.warn .stat-icon,
[data-theme="dark"] .admin-stat-card--warn .admin-stat-icon { color:#f5d18a; background:var(--color-warning-soft); }
[data-theme="dark"] .panel-block-head,[data-theme="dark"] .page-panel .pfs-item,
[data-theme="dark"] .test-gateway-row { border-color:var(--color-border); }
[data-theme="dark"] .panel-hero-action:hover,[data-theme="dark"] .panel-purchases-new:hover,
[data-theme="dark"] .calculator-guide .btn { color:#7dd3fc; background:var(--color-surface); }
[data-theme="dark"] .text-dark { color:var(--color-text)!important; }
[data-theme="dark"] .text-muted,[data-theme="dark"] .text-secondary { color:var(--color-text-muted)!important; }

/* ===== Khat Sara unified page headers and dialogs ===== */
:root {
    --ks-midnight:#040d22;
    --ks-navy:#071b4a;
    --ks-blue:#0878e8;
    --ks-cyan:#19c7e8;
    --ks-hero-border:rgba(85,190,255,.22);
    --ks-hero-shadow:0 22px 54px rgba(4,25,65,.22);
}

.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero,
.hero-installments,.hero-wishlist,.hero-inquiries,.hero-profile {
    isolation:isolate;
    border:1px solid var(--ks-hero-border);
    background:
        radial-gradient(circle at 12% 8%,rgba(25,199,232,.18),transparent 24%),
        linear-gradient(116deg,var(--ks-midnight) 0%,var(--ks-navy) 58%,#075fbd 100%);
    box-shadow:var(--ks-hero-shadow);
}
.panel-dashboard-hero::before,.panel-purchases-hero::before,.panel-subpage-hero::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    border:0;
    border-radius:inherit;
    background-image:radial-gradient(rgba(120,211,255,.18) .75px,transparent .75px);
    background-size:18px 18px;
    mask-image:linear-gradient(90deg,transparent 0%,#000 62%,#000 100%);
    opacity:.32;
}
.panel-dashboard-hero::after,.panel-purchases-hero::after,.panel-subpage-hero::after {
    border-color:rgba(25,199,232,.075);
}
.panel-dashboard-eyebrow,.panel-purchases-eyebrow,.panel-subpage-hero>div>span {
    color:#bfefff;
}
.panel-hero-action,.panel-purchases-new,.panel-subpage-icon {
    border-color:rgba(125,211,252,.28);
    background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(25,199,232,.07));
    box-shadow:inset 0 1px rgba(255,255,255,.13);
}
.panel-hero-action:hover,.panel-purchases-new:hover {
    color:#075eae;
    background:#fff;
    border-color:#fff;
    box-shadow:0 10px 24px rgba(1,15,45,.18);
}
.panel-heading-icon,.panel-modern-block-head>span {
    color:#075eae;
    background:linear-gradient(145deg,#e8f5ff,#d8efff);
    border:1px solid #c9e5fb;
}

/* One dialog language across public pages and the customer panel. */
.modal {
    background:rgba(2,9,24,.72);
    -webkit-backdrop-filter:blur(7px) saturate(.9);
    backdrop-filter:blur(7px) saturate(.9);
}
.modal-box {
    isolation:isolate;
    border:1px solid rgba(8,120,232,.18);
    box-shadow:0 30px 90px rgba(2,12,38,.34),0 1px 0 rgba(255,255,255,.82) inset;
}

/* Shared panel-style modal hero. ui-runtime applies this to every current and
   dynamically populated dialog so admin, customer and public flows stay aligned. */
.ks-modal-header {
    --ks-modal-accent:25,199,232;
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:13px;
    min-height:92px;
    margin:-10px -10px 18px;
    padding:17px 18px 17px 52px;
    border:1px solid rgba(125,211,252,.2);
    border-radius:16px;
    color:#fff;
    background:radial-gradient(circle at 10% 0,rgba(var(--ks-modal-accent),.18),transparent 30%),linear-gradient(116deg,var(--ks-midnight),var(--ks-navy) 60%,#075fbd);
    box-shadow:0 15px 34px rgba(0,34,76,.17);
}
.ks-modal-header::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background-image:radial-gradient(rgba(125,211,252,.28) .7px,transparent .8px);
    background-size:18px 18px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 72%);
    mask-image:linear-gradient(90deg,transparent,#000 72%);
    opacity:.24;
}
.ks-modal-header::after {
    content:"";
    position:absolute;
    right:18px;
    bottom:0;
    width:42%;
    height:2px;
    border-radius:99px;
    background:linear-gradient(90deg,rgb(var(--ks-modal-accent)),rgba(var(--ks-modal-accent),.16),transparent);
}
.ks-modal-header-icon,.ks-modal-header .purchase-flow-icon,.ks-modal-header .inquiry-modal-icon {
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    flex:0 0 42px;
    width:42px;
    height:42px;
    border:1px solid rgba(125,211,252,.28);
    border-radius:13px;
    color:#eaf8ff;
    background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(var(--ks-modal-accent),.07));
    box-shadow:inset 0 1px rgba(255,255,255,.12);
    font-size:20px;
}
.ks-modal-header-copy,.ks-modal-header .purchase-flow-heading,.ks-modal-header .inquiry-modal-copy { position:relative; z-index:1; flex:1; min-width:0; }
.ks-modal-header small { display:block; margin:0 0 3px; color:#7ddcff; font-size:10px; font-weight:800; }
.ks-modal-header h2,.ks-modal-header h3 {
    margin:0;
    color:#fff !important;
    font-size:20px;
    font-weight:900;
    line-height:1.55;
    letter-spacing:-.3px;
}
.ks-modal-header p { margin:4px 0 0; color:rgba(255,255,255,.74); font-size:11px; }
.ks-modern-modal > .modal-close {
    z-index:20;
    color:#eaf8ff;
    border-color:rgba(125,211,252,.27);
    background:rgba(255,255,255,.1);
}
.ks-modern-modal > .modal-close:hover { color:#fff; border-color:rgba(125,211,252,.5); background:rgba(255,255,255,.18); }

@media (max-width:600px) {
    .ks-modal-header { min-height:84px; margin:-4px -2px 16px; padding:14px 14px 14px 48px; border-radius:14px; }
    .ks-modal-header-icon,.ks-modal-header .purchase-flow-icon,.ks-modal-header .inquiry-modal-icon { width:38px; height:38px; flex-basis:38px; border-radius:11px; }
    .ks-modal-header h2,.ks-modal-header h3 { font-size:17px; }
}

@media (prefers-reduced-motion:reduce) {
    .ks-modern-modal,.ks-modern-modal * { scroll-behavior:auto !important; }
}
.modal-box::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    z-index:2;
    height:3px;
    pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(90deg,transparent 3%,var(--ks-cyan) 35%,var(--ks-blue) 72%,transparent 97%);
}
.modal-box>h2:first-of-type,.modal-box>h3:first-of-type,
.purchase-flow-header h3,.lot-detail-title h3 {
    color:#0b1d3b;
    font-weight:900;
    letter-spacing:-.35px;
}
.modal-close {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    padding:0;
    border:1px solid #d9e8f5;
    border-radius:11px;
    color:#47627d;
    background:#f3f8fd;
    transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease;
}
.modal-close:hover {
    color:#075eae;
    background:#e3f3ff;
    border-color:#b7dcf8;
    transform:rotate(3deg);
}
.modal-box input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
.modal-box select,.modal-box textarea {
    border-color:#cfdeeb;
    border-radius:11px;
    background:#fbfdff;
}
.modal-box input:focus,.modal-box select:focus,.modal-box textarea:focus {
    outline:0;
    border-color:#2495ff;
    box-shadow:0 0 0 4px rgba(8,120,232,.11);
}
.inquiry-modal-head,.purchase-flow-header {
    border-bottom:1px solid rgba(125,211,252,.2);
    background:
        radial-gradient(circle at 10% 0,rgba(25,199,232,.19),transparent 30%),
        linear-gradient(116deg,var(--ks-midnight),var(--ks-navy) 60%,#075fbd);
}
.purchase-flow-header {
    margin:-10px -10px 18px;
    padding:15px 16px;
    border-radius:15px;
}
.purchase-flow-header h3 { color:#fff; }
.purchase-flow-header small { color:#bfefff; }

[data-theme="dark"] .modal { background:rgba(0,5,16,.78); }
[data-theme="dark"] .modal-box {
    color:var(--color-text);
    background:var(--color-surface);
    border-color:rgba(57,157,234,.28);
    box-shadow:0 30px 90px rgba(0,0,0,.52),0 1px 0 rgba(255,255,255,.04) inset;
}
[data-theme="dark"] .modal-box>h2:first-of-type,[data-theme="dark"] .modal-box>h3:first-of-type,
[data-theme="dark"] .purchase-flow-header h3,[data-theme="dark"] .lot-detail-title h3 { color:#eef7ff; }
[data-theme="dark"] .modal-close { color:#b9d4e9; background:#10243a; border-color:#29445d; }
[data-theme="dark"] .modal-close:hover { color:#7dd3fc; background:#15324e; border-color:#316286; }
[data-theme="dark"] .modal-box input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
[data-theme="dark"] .modal-box select,[data-theme="dark"] .modal-box textarea {
    color:var(--color-text);
    background:var(--color-surface-alt);
    border-color:var(--border-interactive);
}

@media (max-width:600px) {
    .panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero { border-radius:19px; }
    .modal-box::before { height:2px; }
    .modal-close { width:36px; height:36px; }
    .purchase-flow-header { margin:-4px -2px 16px; padding:14px; }
}

/* ===== Final hero parity audit: public, customer dashboard and dialogs ===== */
.site-page-hero:not(.brand-hero),.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero {
    position:relative;
    isolation:isolate;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:164px;
    padding:28px 32px;
    border:1px solid var(--ks-hero-border);
    border-radius:23px;
    color:#fff;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 8%,rgba(25,199,232,.16),transparent 24%),
        linear-gradient(116deg,var(--ks-midnight) 0%,var(--ks-navy) 58%,#075fbd 100%);
    box-shadow:var(--ks-hero-shadow);
}
.site-page-hero:not(.brand-hero) { margin:24px 0 18px; }
.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero { margin-bottom:18px; }
.site-page-hero:not(.brand-hero)::before,.panel-dashboard-hero::before,.panel-purchases-hero::before,.panel-subpage-hero::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    width:auto;
    height:auto;
    pointer-events:none;
    border:0;
    border-radius:inherit;
    background-image:radial-gradient(rgba(120,211,255,.19) .75px,transparent .75px);
    background-size:18px 18px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 62%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,#000 62%,#000 100%);
    opacity:.28;
}
.site-page-hero:not(.brand-hero)::after,.panel-dashboard-hero::after,.panel-purchases-hero::after,.panel-subpage-hero::after {
    content:"";
    position:absolute;
    right:32px;
    bottom:0;
    z-index:0;
    width:38%;
    height:2px;
    border:0;
    border-radius:99px;
    background:linear-gradient(90deg,var(--ks-cyan),rgba(8,120,232,.2),transparent);
    box-shadow:0 -8px 28px rgba(25,199,232,.16);
}
.site-page-hero:not(.brand-hero)>*,.panel-dashboard-hero>*,.panel-purchases-hero>*,.panel-subpage-hero>* {
    position:relative;
    z-index:1;
}
.site-page-hero-copy { max-width:720px; }
.site-page-hero-copy>span,.panel-dashboard-eyebrow,.panel-purchases-eyebrow,.panel-subpage-hero>div>span {
    display:inline-block;
    margin-bottom:7px;
    color:#bfefff;
    font-size:11px;
    font-weight:850;
}
.site-page-hero:not(.brand-hero) h1,.panel-dashboard-hero h1,.panel-purchases-hero h1,.panel-subpage-hero h1 {
    margin:0 0 7px;
    color:#fff;
    font-size:clamp(23px,3vw,31px);
    line-height:1.5;
    font-weight:900;
    letter-spacing:-.55px;
}
.site-page-hero:not(.brand-hero) p,.panel-dashboard-hero p,.panel-purchases-hero p,.panel-subpage-hero p {
    max-width:700px;
    margin:0;
    color:rgba(229,241,255,.78);
    font-size:13px;
    line-height:1.9;
}
.calculator-hero-icon,.blog-hero-mark,.panel-subpage-icon {
    display:grid;
    place-items:center;
    width:68px;
    height:68px;
    flex:0 0 68px;
    border:1px solid rgba(125,211,252,.28);
    border-radius:20px;
    color:#fff;
    background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(25,199,232,.07));
    box-shadow:inset 0 1px rgba(255,255,255,.14),0 12px 26px rgba(0,12,38,.13);
    font-size:29px;
}
.blog-topic-row { margin-top:14px; }
.blog-topic-row span {
    color:#dceeff;
    border-color:rgba(125,211,252,.22);
    background:rgba(255,255,255,.075);
}

/* Price and loan requests use the same visual grammar, without legacy rings. */
.inquiry-modal-head {
    min-height:132px;
    padding:24px 28px;
    border-bottom:1px solid rgba(125,211,252,.2);
    background:
        radial-gradient(circle at 12% 5%,rgba(25,199,232,.16),transparent 28%),
        linear-gradient(116deg,var(--ks-midnight),var(--ks-navy) 60%,#075fbd);
}
.inquiry-modal-head::before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:radial-gradient(rgba(120,211,255,.2) .7px,transparent .7px);
    background-size:17px 17px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000);
    mask-image:linear-gradient(90deg,transparent,#000);
    opacity:.25;
}
.inquiry-modal-head::after {
    left:auto;
    right:28px;
    bottom:0;
    width:42%;
    height:2px;
    border:0;
    border-radius:99px;
    background:linear-gradient(90deg,var(--ks-cyan),rgba(8,120,232,.2),transparent);
}
.inquiry-modal-icon {
    border-color:rgba(125,211,252,.28);
    background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(25,199,232,.07));
}
.inquiry-modal-eyebrow { color:#bfefff; }

@media(max-width:768px) {
    .site-page-hero:not(.brand-hero),.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero {
        align-items:flex-start;
        min-height:auto;
        margin-top:16px;
        padding:23px 20px;
        border-radius:19px;
    }
    .site-page-hero:not(.brand-hero) h1,.panel-dashboard-hero h1,.panel-purchases-hero h1,.panel-subpage-hero h1 { font-size:24px; }
    .calculator-hero-icon,.blog-hero-mark { display:none; }
}

/* ===== Production UI audit: shared public and customer components ===== */
.site-main input:not([type=checkbox]):not([type=radio]):not([type=file]),
.site-main select,.site-main textarea,.panel-main input:not([type=checkbox]):not([type=radio]):not([type=file]),
.panel-main select,.panel-main textarea {
    border-color:#dce7f1;
    border-radius:12px;
    background:var(--color-surface);
    transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease;
}
.site-main input:focus,.site-main select:focus,.site-main textarea:focus,
.panel-main input:focus,.panel-main select:focus,.panel-main textarea:focus {
    outline:0;
    border-color:#2495ff;
    box-shadow:0 0 0 4px rgba(8,120,232,.1);
}
.lots-table,.panel-installments-table { font-variant-numeric:tabular-nums; }
.lots-table thead th,.panel-installments-table th {
    border-bottom:1px solid #dbe9f5;
    color:#49657e;
    background:linear-gradient(180deg,#f4f9fd,#edf5fb);
    font-size:11px;
    font-weight:800;
}
.lots-table tbody tr,.panel-installments-table tbody tr { transition:background-color .16s ease,box-shadow .16s ease; }
.lots-table tbody tr:hover,.panel-installments-table tbody tr:hover { background:#f7fbfe; box-shadow:inset -3px 0 #38bdf8; }
.empty-state,.panel-empty {
    min-height:172px;
    border-color:#cfe0ed;
    background:linear-gradient(145deg,var(--color-surface),#f6fafe);
}
.empty-state::before,.panel-empty::before {
    content:"";
    width:48px;
    height:48px;
    margin-bottom:12px;
    border:1px solid #cfe4f5;
    border-radius:15px;
    background:linear-gradient(145deg,#eaf7ff,#dcefff);
    box-shadow:inset 0 0 0 13px var(--color-surface);
}
.site-toast { border:1px solid rgba(255,255,255,.14); box-shadow:0 20px 48px rgba(3,18,47,.25); }
.modal-box { scrollbar-width:thin; scrollbar-color:#9fc8e7 transparent; }
.modal-box label { color:var(--color-text-muted); font-size:11px; font-weight:750; }
.modal-box .btn-primary,.modal-box button[type=submit],.panel-main .btn-primary {
    min-height:44px;
    border-radius:12px;
    box-shadow:0 9px 22px rgba(8,120,232,.14);
}
[data-theme="dark"] .site-main input:not([type=checkbox]):not([type=radio]):not([type=file]),
[data-theme="dark"] .site-main select,[data-theme="dark"] .site-main textarea,
[data-theme="dark"] .panel-main input:not([type=checkbox]):not([type=radio]):not([type=file]),
[data-theme="dark"] .panel-main select,[data-theme="dark"] .panel-main textarea { background:#102337; border-color:#29445d; }
[data-theme="dark"] .lots-table thead th,[data-theme="dark"] .panel-installments-table th { color:#b9cee0; background:#13283c; border-bottom-color:#29445d; }
[data-theme="dark"] .lots-table tbody tr:hover,[data-theme="dark"] .panel-installments-table tbody tr:hover { background:#12283d; }
[data-theme="dark"] .empty-state,[data-theme="dark"] .panel-empty { border-color:#29445d; background:linear-gradient(145deg,#102337,#0d1d2e); }
[data-theme="dark"] .empty-state::before,[data-theme="dark"] .panel-empty::before { border-color:#29445d; background:#15334c; box-shadow:inset 0 0 0 13px #102337; }
@media(prefers-reduced-motion:reduce) {
    .lots-table tbody tr,.panel-installments-table tbody tr,
    .site-main input,.site-main select,.site-main textarea { transition:none; }
}


/* ===== Auth and lot dialog dark-mode audit ===== */
/* Keep the new brand component intact; the legacy rule used to turn every
   nested span into a separate blue badge. */
.auth-showcase-brand > .brand-signature {
    display:inline-flex;
    min-width:0;
    height:auto;
    padding:0;
    border-radius:0;
    color:inherit;
    background:none;
    box-shadow:none;
    letter-spacing:normal;
}
.auth-showcase-brand .brand-signature-copy {
    display:grid;
    min-width:0;
    height:auto;
    padding:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    letter-spacing:normal;
}
.auth-showcase-brand .brand-signature img { width:54px; height:54px; }
.auth-showcase-brand .brand-signature-copy strong { font-size:22px; }
.auth-showcase-brand .brand-signature-copy small { color:#b9d8f4; font-size:10px; }

.auth-showcase {
    min-height:660px;
    padding:40px;
    border-left:1px solid rgba(125,211,252,.16);
    background:
        radial-gradient(circle at 14% 8%,rgba(25,199,232,.19),transparent 27%),
        linear-gradient(145deg,var(--ks-midnight) 0%,var(--ks-navy) 58%,#075fbd 125%);
}
.auth-showcase::before {
    width:100%;
    height:100%;
    inset:0;
    border-radius:0;
    background-image:radial-gradient(rgba(125,211,252,.22) .7px,transparent .7px);
    background-size:18px 18px;
    -webkit-mask-image:linear-gradient(135deg,#000,transparent 68%);
    mask-image:linear-gradient(135deg,#000,transparent 68%);
    opacity:.25;
}
.auth-showcase::after {
    width:46%;
    height:2px;
    inset:auto 40px 0 auto;
    border-radius:99px;
    background:linear-gradient(90deg,var(--ks-cyan),rgba(8,120,232,.18),transparent);
    box-shadow:0 -8px 28px rgba(25,199,232,.16);
}
.auth-showcase-eyebrow { color:#8cecff; }
.auth-feature-list > div {
    border-color:rgba(125,211,252,.18);
    background:rgba(7,20,47,.28);
    box-shadow:inset 0 1px rgba(255,255,255,.045);
}
.auth-feature-list > div > span { color:#07142f; background:#58ddf5; }
.auth-showcase-security { color:#9cecff; }
.auth-shell {
    border-color:rgba(8,120,232,.16);
    box-shadow:0 28px 75px rgba(7,20,47,.14);
}
.auth-card { position:relative; }
.auth-card::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
    background:linear-gradient(90deg,transparent,var(--ks-blue),var(--ks-cyan),transparent);
}
.auth-mobile-logo {
    min-width:52px;
    width:52px;
    height:52px;
    padding:0;
    border:1px solid rgba(8,120,232,.16);
    border-radius:15px;
    background:var(--color-surface-alt);
    box-shadow:0 10px 24px rgba(8,120,232,.13);
}
.auth-mobile-logo img { width:42px; height:42px; }

/* Browser autofill must follow the active theme instead of painting inputs yellow. */
.auth-form input:-webkit-autofill,
.auth-form input:-webkit-autofill:hover,
.auth-form input:-webkit-autofill:focus {
    -webkit-text-fill-color:var(--color-text);
    -webkit-box-shadow:0 0 0 1000px var(--color-surface) inset;
    caret-color:var(--color-text);
    transition:background-color 9999s ease-out 0s;
}
.auth-form input:autofill {
    color:var(--color-text);
    background:var(--color-surface);
    box-shadow:0 0 0 1000px var(--color-surface) inset;
}
[data-theme="dark"] .auth-form input:-webkit-autofill,
[data-theme="dark"] .auth-form input:-webkit-autofill:hover,
[data-theme="dark"] .auth-form input:-webkit-autofill:focus {
    -webkit-text-fill-color:#edf7ff;
    -webkit-box-shadow:0 0 0 1000px #162334 inset;
}
[data-theme="dark"] .auth-form input:autofill {
    color:#edf7ff;
    background:#162334;
    box-shadow:0 0 0 1000px #162334 inset;
}
[data-theme="dark"] .auth-form input[type="text"],
[data-theme="dark"] .auth-form input[type="tel"],
[data-theme="dark"] .auth-form input[type="password"],
[data-theme="dark"] .auth-form input[type="file"] {
    background:#162334;
    border-color:#29445d;
}

[data-theme="dark"] .lot-detail-options .form-note {
    color:#dceaf7;
    background:linear-gradient(135deg,#132337,#102033);
    border-color:#29445d;
    box-shadow:inset 0 1px rgba(255,255,255,.035);
}

/* ===== Auth split-layout: independent, balanced cards ===== */
.auth-shell {
    align-items:start;
    gap:18px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    overflow:visible;
}
.auth-card,
.auth-showcase {
    border:1px solid rgba(8,120,232,.16);
    border-radius:26px;
    box-shadow:0 24px 64px rgba(7,20,47,.13);
    overflow:hidden;
}
.auth-card {
    min-height:0;
}
.auth-showcase {
    position:sticky;
    top:calc(var(--header-h) + 22px);
    align-self:start;
    min-height:0;
    height:auto;
    padding:36px;
}
.auth-showcase-copy {
    margin:72px 0 28px;
}
.auth-showcase h1 {
    font-size:clamp(26px,2.6vw,36px);
}
.auth-feature-list {
    gap:9px;
}
.auth-feature-list > div {
    padding:10px 12px;
}
.auth-showcase-security {
    margin-top:16px;
}
[data-theme="dark"] .auth-shell {
    border:0;
    background:transparent;
}
[data-theme="dark"] .auth-card,
[data-theme="dark"] .auth-showcase {
    border-color:rgba(57,157,234,.22);
    box-shadow:0 28px 72px rgba(0,0,0,.3);
}
@media(max-width:900px) {
    .auth-shell { display:block; }
    .auth-card { border-radius:22px; }
}

/* ===== Static public pages use the shared Khat Sara hero ===== */
.static-page-hero { margin-bottom:16px; }
.about-page,.contact-page { max-width:1440px; }
.static-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.static-hero-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}.section-kicker{display:block;margin-bottom:6px;color:var(--color-primary);font-size:11px;font-weight:900}.about-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:22px 0}.about-principles article{display:flex;align-items:flex-start;gap:13px;padding:20px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-card)}.about-principles article>b{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#0878e8,#10b8a6)}.about-principles h2,.about-principles p{margin:0}.about-principles h2{font-size:15px}.about-principles p{margin-top:5px;color:var(--color-text-muted);font-size:11px;line-height:1.9}.about-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:18px;margin:22px 0}.about-story-card,.about-flow-card,.contact-primary-card,.contact-help-card,.contact-topics{padding:clamp(22px,3vw,32px);border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:var(--shadow-card)}.about-story-card h2,.about-flow-card h2,.contact-primary-card h2,.contact-help-card h2,.contact-topics h2{margin:0 0 10px;font-size:22px}.about-story-card p,.contact-primary-card>p{color:var(--color-text-muted);font-size:12px;line-height:2}.about-flow-card{background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft))}.about-flow-card ol{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none;counter-reset:about-flow}.about-flow-card li{position:relative;padding:12px 48px 12px 14px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);counter-increment:about-flow}.about-flow-card li::before{content:counter(about-flow);position:absolute;right:11px;top:11px;display:grid;place-items:center;width:27px;height:27px;border-radius:9px;color:#fff;background:#0878e8;font-weight:900}.about-flow-card li b,.about-flow-card li small{display:block}.about-flow-card li small{margin-top:3px;color:var(--color-text-muted)}.about-address{padding:10px 13px;border-radius:10px;background:var(--color-surface-alt);font-size:11px}.static-final-cta{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:24px;padding:24px 28px;border-radius:22px;color:#fff;background:linear-gradient(125deg,#101827,#12395f 60%,#0878e8);box-shadow:0 18px 40px rgba(8,57,105,.18)}.static-final-cta span{color:#7dd3fc;font-size:11px;font-weight:900}.static-final-cta h2,.static-final-cta p{margin:0}.static-final-cta h2{margin-top:3px;font-size:20px}.static-final-cta p{margin-top:4px;color:#cbddec;font-size:11px}.static-final-cta .btn{flex:0 0 auto;color:#075eae;background:#fff}.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin:22px 0}.contact-main-action{display:inline-flex;align-items:center;gap:8px;margin:7px 0 18px}.contact-number,.contact-address{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-alt)}.contact-number b{font-size:18px}.contact-address{margin-top:10px}.contact-address small,.contact-number small{color:var(--color-text-muted)}.contact-address span{margin-top:3px;color:var(--color-text-muted);font-size:10px}.contact-help-card ul{display:grid;gap:10px;margin:16px 0 0;padding:0;list-style:none}.contact-help-card li{padding:12px 14px;border-right:3px solid #0878e8;border-radius:10px;background:var(--color-surface-alt)}.contact-help-card li b,.contact-help-card li span{display:block}.contact-help-card li span{margin-top:3px;color:var(--color-text-muted);font-size:10px}.contact-topics{margin-bottom:18px}.contact-topics>header{margin-bottom:16px}.contact-topics>div{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.contact-topics article{padding:16px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-alt)}.contact-topics article b{font-size:13px}.contact-topics article p{margin:6px 0 0;color:var(--color-text-muted);font-size:10px;line-height:1.9}.contact-security-note{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid #fed7aa;border-radius:16px;background:#fff7ed;color:#7c2d12}.contact-security-note>span{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:10px;color:#fff;background:#ea580c;font-weight:900}.contact-security-note p{margin:0;font-size:11px;line-height:2}[data-theme="dark"] .about-flow-card{background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft))}[data-theme="dark"] .contact-security-note{border-color:#7c2d12;background:rgba(124,45,18,.2);color:#fed7aa}@media(max-width:1050px){.about-principles{grid-template-columns:repeat(2,1fr)}.contact-topics>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.about-story-grid,.contact-layout{grid-template-columns:1fr}.static-final-cta{align-items:stretch;flex-direction:column}.static-final-cta .btn{width:100%}}@media(max-width:520px){.about-principles,.contact-topics>div{grid-template-columns:1fr}.static-hero-actions{flex-direction:column}.static-hero-actions .btn{width:100%}}
.about-page .static-page-body,.contact-page .static-page-body {
    max-width:920px;
    margin-top:20px;
    padding:22px 24px;
    border:1px solid var(--color-border);
    border-radius:18px;
    background:var(--color-surface);
    box-shadow:0 14px 38px rgba(7,20,47,.07);
}
.contact-page .static-page-body { max-width:none; }
.terms-hero.site-page-hero {
    grid-template-columns:none;
    min-height:164px;
}
.terms-hero.site-page-hero .terms-eyebrow {
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:#bfefff;
}
.terms-hero.site-page-hero .terms-hero-symbol {
    justify-self:auto;
    transform:none;
}
.terms-hero.site-page-hero .terms-hero-symbol span { font-size:30px; }
.terms-hero.site-page-hero .terms-hero-symbol small {
    margin:0;
    color:#c9eaff;
    font-size:8px;
}
[data-theme="dark"] .about-page .static-page-body,
[data-theme="dark"] .contact-page .static-page-body {
    border-color:rgba(57,157,234,.18);
    box-shadow:0 18px 42px rgba(0,0,0,.2);
}
@media(max-width:700px) {
    .about-page .static-page-body,.contact-page .static-page-body { padding:18px; }
    .terms-hero.site-page-hero { display:flex; }
}

/* Dashboard containment: respond to the real panel width, not only viewport width. */
.page-panel .panel-main { container-type:inline-size; }
.page-panel .panel-stat-content { min-width:0; flex:1; }
.page-panel .panel-stat-card .stat-label { overflow-wrap:anywhere; line-height:1.65; }
.page-panel .panel-stat-card .stat-value { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
#panelDashboardInstallments { display:flex; flex-direction:column; gap:9px; min-width:0; }
.dashboard-installment-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:10px 13px; min-width:0; padding:13px; border:1px solid #dfeaf3; border-radius:14px; background:linear-gradient(145deg,#fff,#f7fbff); box-shadow:0 5px 16px rgba(12,55,91,.045); }
.dashboard-installment-card::before { content:""; position:absolute; inset:10px 0 10px auto; width:3px; border-radius:99px; background:#1599e8; }
.dashboard-installment-card.is-overdue::before { background:var(--color-danger); }
.dashboard-installment-date,.dashboard-installment-amount { min-width:0; }
.dashboard-installment-card small { display:block; margin-bottom:3px; color:var(--color-text-muted); font-size:10px; }
.dashboard-installment-card b { display:block; overflow-wrap:anywhere; color:#123653; font-size:12px; }
.dashboard-installment-card em { color:var(--color-text-muted); font-size:9px; font-style:normal; }
.dashboard-installment-status { display:flex; align-items:center; min-width:0; }
.dashboard-installment-action { display:flex; align-items:center; justify-content:flex-end; min-width:0; }
.dashboard-installment-action .btn { width:auto; max-width:100%; min-height:36px; padding:7px 12px; white-space:normal; line-height:1.5; }
.dashboard-installment-action .installment-locked { max-width:100%; white-space:normal; text-align:left; line-height:1.6; }
[data-theme="dark"] .dashboard-installment-card { border-color:#29445d; background:linear-gradient(145deg,#11263a,#0d2032); }
[data-theme="dark"] .dashboard-installment-card b { color:#e4f3ff; }
@container (max-width:800px) {
    .page-panel .panel-stat-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .page-panel .panel-stat-card { grid-column:span 2; }
    .page-panel .panel-stat-card:nth-last-child(2),
    .page-panel .panel-stat-card:last-child { grid-column:span 3; }
    .page-panel .panel-stat-card { min-width:0; padding:14px; }
}
@container (max-width:570px) {
    .page-panel .panel-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .page-panel .panel-stat-card,
    .page-panel .panel-stat-card:nth-last-child(2),
    .page-panel .panel-stat-card:last-child { grid-column:span 1; }
    .page-panel .panel-dashboard-columns { grid-template-columns:1fr; }
    .page-panel .panel-financial-summary { align-items:stretch; flex-direction:column; gap:10px; }
    .page-panel .panel-financial-summary .pfs-icon { margin:0; }
    .page-panel .panel-financial-summary .pfs-item { padding:10px 0 0; border-left:0; border-top:1px solid var(--color-border); }
}
@container (max-width:360px) {
    .page-panel .panel-stat-grid { grid-template-columns:1fr; }
    .dashboard-installment-card { grid-template-columns:1fr; }
    .dashboard-installment-action { justify-content:stretch; }
    .dashboard-installment-action .btn { width:100%; }
}

/* ===== Topic-aware hero system: one brand, restrained contextual accents ===== */
:root {
    --ks-hero-accent:#19c7e8;
    --ks-hero-accent-rgb:25,199,232;
}
.calculator-hero,.terms-hero,.hero-installments { --ks-hero-accent:#f2bd55; --ks-hero-accent-rgb:242,189,85; }
.blog-hero { --ks-hero-accent:#38bdf8; --ks-hero-accent-rgb:56,189,248; }
.about-page-hero,.panel-dashboard-hero,.panel-purchases-hero { --ks-hero-accent:#19c7e8; --ks-hero-accent-rgb:25,199,232; }
.contact-page-hero,.hero-inquiries { --ks-hero-accent:#34d399; --ks-hero-accent-rgb:52,211,153; }
.hero-wishlist { --ks-hero-accent:#f09ac0; --ks-hero-accent-rgb:240,154,192; }
.hero-profile { --ks-hero-accent:#7dd3fc; --ks-hero-accent-rgb:125,211,252; }

.site-page-hero:not(.brand-hero),.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero {
    min-height:168px;
    background:
        radial-gradient(circle at 12% 8%,rgba(var(--ks-hero-accent-rgb),.16),transparent 25%),
        linear-gradient(116deg,var(--ks-midnight) 0%,var(--ks-navy) 62%,#075fbd 112%);
}
.site-page-hero:not(.brand-hero)::before,.panel-dashboard-hero::before,
.panel-purchases-hero::before,.panel-subpage-hero::before {
    background-image:radial-gradient(rgba(var(--ks-hero-accent-rgb),.24) .65px,transparent .65px);
    background-size:20px 20px;
    opacity:.2;
}
.site-page-hero:not(.brand-hero)::after,.panel-dashboard-hero::after,
.panel-purchases-hero::after,.panel-subpage-hero::after {
    width:30%;
    height:2px;
    background:linear-gradient(90deg,var(--ks-hero-accent),rgba(var(--ks-hero-accent-rgb),.12),transparent);
    box-shadow:0 -7px 24px rgba(var(--ks-hero-accent-rgb),.13);
}
.site-page-hero-copy>span,.panel-dashboard-eyebrow,.panel-purchases-eyebrow,
.panel-subpage-hero>div>span { color:rgb(var(--ks-hero-accent-rgb)); }
.calculator-hero-icon,.blog-hero-mark,.panel-subpage-icon,
.panel-hero-action,.panel-purchases-new {
    border-color:rgba(var(--ks-hero-accent-rgb),.3);
    background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(var(--ks-hero-accent-rgb),.075));
    box-shadow:inset 0 1px rgba(255,255,255,.13),0 13px 28px rgba(0,12,38,.14);
}
.calculator-hero-icon,.blog-hero-mark,.panel-subpage-icon { color:#f8fbff; }
.terms-hero-tags { margin-top:15px; }
.terms-hero-tags span,.blog-topic-row span,.hero-trust-row span {
    border-color:rgba(var(--ks-hero-accent-rgb),.21);
    background:rgba(var(--ks-hero-accent-rgb),.065);
}
[data-theme="dark"] .site-page-hero:not(.brand-hero),
[data-theme="dark"] .panel-dashboard-hero,[data-theme="dark"] .panel-purchases-hero,
[data-theme="dark"] .panel-subpage-hero {
    border-color:rgba(var(--ks-hero-accent-rgb),.2);
    box-shadow:0 22px 58px rgba(0,0,0,.3);
}
@media(max-width:768px) {
    .site-page-hero:not(.brand-hero),.panel-dashboard-hero,.panel-purchases-hero,.panel-subpage-hero {
        min-height:138px;
        padding:22px 20px;
    }
    .site-page-hero:not(.brand-hero)::after,.panel-dashboard-hero::after,
    .panel-purchases-hero::after,.panel-subpage-hero::after { right:20px; width:42%; }
}

/* Final micro-dot layer: intentionally last in cascade. */
.site-page-hero:not(.brand-hero)::before,.panel-dashboard-hero::before,
.panel-purchases-hero::before,.panel-subpage-hero::before {
    background-image:radial-gradient(circle,rgba(var(--ks-hero-accent-rgb),.42) .8px,transparent .95px);
    background-size:16px 16px;
    background-position:3px 3px;
    -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.42) 72%,transparent 100%);
    mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.42) 72%,transparent 100%);
    opacity:.36;
}
[data-theme="dark"] .site-page-hero:not(.brand-hero)::before,
[data-theme="dark"] .panel-dashboard-hero::before,[data-theme="dark"] .panel-purchases-hero::before,
[data-theme="dark"] .panel-subpage-hero::before { opacity:.3; }
@media(max-width:768px) {
    .site-page-hero:not(.brand-hero)::before,.panel-dashboard-hero::before,
    .panel-purchases-hero::before,.panel-subpage-hero::before { background-size:15px 15px; opacity:.3; }
}

/* Profile identity workflow: stable layout, modern security form and audit history. */
.panel-profile-grid { align-items:start; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.panel-profile-grid > * { width:100%; min-width:0; }
.panel-kyc-rejected { border-color:#f1c96a; background:linear-gradient(145deg,#fffdf7,#fff8e7); }
.panel-kyc-rejected .panel-modern-block-head>span { color:#8a5a00; background:#fff0c5; border:1px solid #f0cf7a; font-weight:900; }
.panel-kyc-rejection-reason { margin:0 0 15px; padding:12px 14px; color:#7a4910; background:#fff4d8; border:1px solid #efd18a; border-radius:12px; line-height:1.8; }
.panel-kyc-rejected form { display:grid; gap:9px; }
.panel-kyc-rejected input[type=file] { width:100%; min-height:48px; padding:9px; border:1px dashed var(--border-interactive); border-radius:12px; background:var(--color-bg); }
.panel-password-card { background:linear-gradient(145deg,var(--color-surface),rgba(226,241,255,.6)); }
.panel-password-card>.muted { margin:0 0 15px!important; padding:11px 13px; border-radius:11px; background:var(--color-bg); line-height:1.75; }
.panel-password-form { display:grid; grid-template-columns:1fr 1fr; gap:8px 12px; }
.panel-password-form>label:nth-of-type(3),.panel-password-otp-row,.panel-password-form>.btn,.panel-password-form>.form-note { grid-column:1/-1; }
.panel-password-form input { min-height:46px; }
.panel-password-otp-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px; align-items:stretch; }
.panel-password-otp-row .btn { min-width:112px; }
.panel-identity-history-card { margin-top:18px; }
#panelKycChangeHistory { display:grid; gap:14px; }
.kyc-history-item { overflow:hidden; border:1px solid var(--color-border); border-radius:16px; background:var(--color-bg); }
.kyc-history-item>header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--color-border); background:linear-gradient(90deg,var(--color-surface-alt),transparent); }
.kyc-history-item>header b,.kyc-history-item>header small { display:block; }
.kyc-history-item>header small { margin-top:4px; color:var(--color-text-muted); }
.kyc-history-compare { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:14px; }
.kyc-history-compare section { min-width:0; padding:14px; border:1px solid var(--color-border); border-radius:13px; background:var(--color-surface); }
.kyc-history-compare section:last-child { border-color:#acd9f8; background:linear-gradient(145deg,#f6fbff,#edf8ff); }
.kyc-history-compare h4 { margin:0 0 12px; color:var(--color-primary-dark); font-size:13px; }
.kyc-history-compare p { display:flex; justify-content:space-between; gap:8px; margin:7px 0; color:var(--color-text-muted); }
.kyc-history-compare p b { color:var(--color-text); }
.kyc-history-compare .btn,.kyc-history-compare .muted { margin-top:9px; }
.kyc-history-meta { padding:0 16px 14px; }
.kyc-history-meta p { margin:7px 0; padding:10px 12px; border-radius:10px; background:var(--color-surface-alt); line-height:1.75; }
[data-theme="dark"] .panel-kyc-rejected { background:linear-gradient(145deg,#281f10,var(--color-surface)); border-color:#6b5422; }
[data-theme="dark"] .panel-kyc-rejection-reason { color:#f4d48d; background:#342811; border-color:#6b5422; }
[data-theme="dark"] .panel-password-card { background:linear-gradient(145deg,var(--color-surface),#102337); }
[data-theme="dark"] .kyc-history-compare section:last-child { background:#102337; border-color:#29506f; }
@media(max-width:900px) {
    .panel-profile-grid,.kyc-history-compare { grid-template-columns:1fr; }
}
@media(max-width:560px) {
    .panel-password-form { grid-template-columns:1fr; }
    .panel-password-form>* { grid-column:1!important; }
    .panel-password-otp-row { grid-template-columns:1fr; }
    .kyc-history-item>header { align-items:flex-start; }
}

/* Profile center v2: calm hierarchy, clearer security actions and audit trail. */
#panelSection-profile { --profile-accent:#1fbbe5; --profile-accent-rgb:31,187,229; }
#panelSection-profile .hero-profile {
    min-height:190px;
    padding:34px 38px;
    border:1px solid rgba(var(--profile-accent-rgb),.2);
    box-shadow:0 24px 55px rgba(5,29,67,.18);
}
#panelSection-profile .hero-profile h1 { margin:7px 0 9px; font-size:clamp(27px,3vw,38px); }
#panelSection-profile .hero-profile p { max-width:620px; margin:0; color:rgba(240,248,255,.76); font-size:14px; line-height:1.9; }
#panelSection-profile .panel-subpage-icon {
    width:74px;
    height:74px;
    border-radius:22px;
    color:#dff8ff;
    background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(var(--profile-accent-rgb),.14));
    box-shadow:inset 0 1px rgba(255,255,255,.18),0 18px 36px rgba(0,12,38,.2);
}
#panelSection-profile .panel-profile-grid { gap:20px; margin-top:20px; }
#panelSection-profile .panel-modern-block {
    position:relative;
    overflow:hidden;
    padding:22px;
    border:1px solid color-mix(in srgb,var(--color-border) 82%,rgb(var(--profile-accent-rgb)) 18%);
    border-radius:20px;
    background:linear-gradient(145deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-surface) 94%,rgb(var(--profile-accent-rgb)) 6%) 100%);
    box-shadow:0 14px 34px rgba(15,44,80,.08);
}
#panelSection-profile .panel-modern-block::before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:3px;
    background:linear-gradient(90deg,transparent,rgb(var(--profile-accent-rgb)),#1777d2,transparent);
    opacity:.72;
}
#panelSection-profile .panel-modern-block-head {
    display:flex;
    align-items:center;
    gap:12px;
    margin:-2px 0 19px;
    padding-bottom:15px;
    border-bottom:1px solid var(--color-border);
}
#panelSection-profile .panel-modern-block-head>span {
    display:grid;
    place-items:center;
    flex:0 0 45px;
    width:45px;
    height:45px;
    border:1px solid rgba(var(--profile-accent-rgb),.22);
    border-radius:14px;
    color:var(--color-primary-dark);
    background:linear-gradient(145deg,rgba(var(--profile-accent-rgb),.15),rgba(var(--profile-accent-rgb),.045));
    font-size:19px;
}
#panelSection-profile .panel-modern-block-head h3 { margin:0 0 4px; font-size:16px; }
#panelSection-profile .panel-modern-block-head p { margin:0; color:var(--color-text-muted); font-size:11px; line-height:1.7; }
#panelSection-profile .panel-profile-row {
    align-items:center;
    min-height:52px;
    margin-bottom:8px;
    padding:11px 13px;
    border:1px solid var(--color-border);
    border-radius:12px;
    background:color-mix(in srgb,var(--color-bg) 78%,var(--color-surface) 22%);
}
#panelSection-profile .panel-profile-row span { color:var(--color-text-muted); }
#panelSection-profile .panel-profile-row b { color:var(--color-text); font-size:13px; }
#panelSection-profile .profile-card-note,
#panelSection-profile .panel-security-note {
    margin:13px 0!important;
    padding:12px 14px;
    border:1px dashed color-mix(in srgb,var(--color-border) 72%,rgb(var(--profile-accent-rgb)) 28%);
    border-radius:12px;
    background:rgba(var(--profile-accent-rgb),.045);
    font-size:11px!important;
    line-height:1.9!important;
}
#panelSection-profile .profile-account-card .btn { min-height:45px; margin-top:3px; }
.profile-change-locked {
    margin-top:10px;
    padding:11px 13px;
    border:1px solid #efd18a;
    border-radius:11px;
    color:#765018;
    background:#fff8e6;
    font-size:11px;
    line-height:1.8;
}

#panelSection-profile .profile-account-card {
    order: 1;
}

#panelSection-profile .panel-password-card {
    order: 2;
}

#panelSection-profile .panel-kyc-rejected {
    order: 3;
    grid-column: 1 / -1;
}
#panelSection-profile .panel-kyc-rejected { display:flex; flex-direction:column; }
#panelSection-profile .panel-kyc-rejected form { flex:1; }
.profile-kyc-guide { padding:13px 14px; border:1px solid var(--color-border); border-radius:13px; background:var(--color-surface-alt); line-height:1.75; }
.profile-kyc-guide>b { display:block; margin-bottom:4px; color:var(--color-text); }
.profile-kyc-guide p { margin:0; color:var(--color-text-muted); font-size:11px; }
.profile-kyc-script { margin-top:9px; padding:9px 11px; border-right:3px solid rgb(var(--profile-accent-rgb)); border-radius:9px; color:var(--color-text); background:var(--color-surface); font-size:11px; }
.profile-kyc-source { display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-bg); }
.profile-kyc-source button { min-height:39px; border:0; border-radius:9px; color:var(--color-text-muted); background:transparent; font:inherit; font-weight:800; cursor:pointer; }
.profile-kyc-source button.is-active { color:#fff; background:linear-gradient(135deg,#126bc4,#149ce3); box-shadow:0 7px 16px rgba(13,112,197,.18); }
.profile-kyc-preview { position:relative; overflow:hidden; aspect-ratio:16/9; max-height:230px; border:1px solid rgba(var(--profile-accent-rgb),.28); border-radius:15px; background:#071326; }
.profile-kyc-preview video { display:block; width:100%; height:100%; object-fit:cover; }
.profile-kyc-face-guide { position:absolute; inset:12% 30%; border:2px dashed rgba(255,255,255,.75); border-radius:50%; pointer-events:none; }
.profile-kyc-face-guide::after { content:"مدرک"; position:absolute; right:-54%; bottom:2%; width:56%; height:31%; display:grid; place-items:center; border:2px dashed rgba(76,208,255,.85); border-radius:8px; color:#dff8ff; font-size:10px; }
#panelKycRecordingBadge { position:absolute; top:12px; right:12px; padding:5px 9px; border-radius:999px; color:#fff; background:#c9362c; font-size:10px; font-weight:850; box-shadow:0 0 0 5px rgba(201,54,44,.18); }
.profile-kyc-camera-actions { display:grid; grid-template-columns:1fr 1fr 1fr; gap:7px; margin-top:8px; }
.profile-kyc-camera-actions .btn { min-width:0; padding-inline:8px; }
.profile-kyc-upload input[type=file] { margin-top:6px; }
#panelSection-profile .panel-password-card { background:linear-gradient(145deg,var(--color-surface),rgba(var(--profile-accent-rgb),.065)); }
#panelSection-profile .panel-password-form { gap:7px 13px; }
#panelSection-profile .panel-password-form label { margin-top:3px; color:var(--color-text); font-size:11px; font-weight:750; }
#panelSection-profile .panel-password-form input {
    height:49px;
    padding:0 14px;
    border-color:var(--border-interactive);
    border-radius:12px;
    background:var(--color-bg);
}
#panelSection-profile .panel-password-form input:focus {
    border-color:rgb(var(--profile-accent-rgb));
    box-shadow:0 0 0 3px rgba(var(--profile-accent-rgb),.12);
}
#panelSection-profile .panel-password-otp-row .btn { min-width:120px; border-color:rgba(var(--profile-accent-rgb),.32); }
#panelSection-profile .panel-password-form>.btn { min-height:49px; margin-top:8px!important; border-radius:12px; box-shadow:0 9px 20px rgba(12,110,198,.16); }
#panelSection-profile .panel-identity-history-card { margin-top:22px; padding:0; }
#panelSection-profile .panel-identity-history-card>summary { display:flex; align-items:center; gap:12px; padding:19px 22px; cursor:pointer; list-style:none; }
#panelSection-profile .panel-identity-history-card>summary::-webkit-details-marker { display:none; }
#panelSection-profile .panel-identity-history-card>summary>span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:13px; color:var(--color-primary-dark); background:rgba(var(--profile-accent-rgb),.12); font-size:20px; }
#panelSection-profile .panel-identity-history-card>summary>div { flex:1; }
#panelSection-profile .panel-identity-history-card>summary h3,#panelSection-profile .panel-identity-history-card>summary p { margin:0; }
#panelSection-profile .panel-identity-history-card>summary p { margin-top:4px; color:var(--color-text-muted); font-size:11px; }
#panelSection-profile .panel-identity-history-card>summary>b { color:var(--color-primary); font-size:11px; }
#panelSection-profile .panel-identity-history-card[open]>summary { border-bottom:1px solid var(--color-border); }
#panelSection-profile .panel-identity-history-card[open]>summary>b { font-size:0; }
#panelSection-profile .panel-identity-history-card[open]>summary>b::after { content:"بستن تاریخچه"; font-size:11px; }
#panelSection-profile .panel-identity-history-card>#panelKycChangeHistory { padding:18px; }
#panelSection-profile #panelKycChangeHistory { gap:16px; }
#panelSection-profile .kyc-history-item {
    border-radius:18px;
    background:var(--color-surface);
    box-shadow:0 10px 26px rgba(15,44,80,.055);
}
#panelSection-profile .kyc-history-item>header {
    min-height:62px;
    padding:15px 18px;
    background:linear-gradient(90deg,rgba(var(--profile-accent-rgb),.085),transparent 72%);
}
#panelSection-profile .kyc-history-compare { gap:14px; padding:16px; }
#panelSection-profile .kyc-history-compare section { padding:16px; border-radius:14px; }
#panelSection-profile .kyc-history-compare section:last-child {
    border-color:rgba(var(--profile-accent-rgb),.36);
    background:linear-gradient(145deg,rgba(var(--profile-accent-rgb),.075),var(--color-surface));
}
#panelSection-profile .kyc-history-compare p { align-items:center; min-height:36px; margin:4px 0; padding:7px 9px; border-radius:9px; background:var(--color-surface-alt); }
#panelSection-profile .kyc-history-meta { padding:0 16px 16px; }
#panelSection-profile .kyc-history-meta p { border:1px solid var(--color-border); background:var(--color-bg); }
[data-theme="dark"] #panelSection-profile .panel-modern-block { box-shadow:0 16px 38px rgba(0,0,0,.22); }
[data-theme="dark"] #panelSection-profile .panel-profile-row,
[data-theme="dark"] #panelSection-profile .kyc-history-meta p { background:rgba(3,18,40,.46); }
[data-theme="dark"] #panelSection-profile .kyc-history-compare section:last-child { background:linear-gradient(145deg,rgba(var(--profile-accent-rgb),.09),#0e2034); }
[data-theme="dark"] .profile-change-locked { color:#f2d18e; border-color:#6b5422; background:#2d2414; }
@media(min-width:901px) {
    #panelSection-profile .profile-account-card,
    #panelSection-profile .panel-password-card { min-height:100%; }
}
@media(max-width:900px) {
    #panelSection-profile .panel-profile-grid { gap:15px; }
    #panelSection-profile .panel-identity-history-card { margin-top:15px; }
}
@media(max-width:560px) {
    #panelSection-profile .hero-profile { min-height:150px; padding:24px 20px; }
    #panelSection-profile .panel-modern-block,#panelSection-profile .panel-identity-history-card { padding:16px; border-radius:16px; }
    #panelSection-profile .panel-modern-block-head { margin-bottom:14px; }
    #panelSection-profile .panel-profile-row { min-height:48px; }
    #panelSection-profile .kyc-history-compare { padding:11px; }
    .profile-kyc-camera-actions { grid-template-columns:1fr; }
    #panelSection-profile .panel-identity-history-card>summary { padding:16px; }
    #panelSection-profile .panel-identity-history-card>summary>b { display:none; }
}
.form-error-summary {
    margin: 0 0 1rem; padding: .8rem 1rem; border: 1px solid #ef4444; border-radius: 12px;
    color: #991b1b; background: #fef2f2; font-size: .9rem;
}
.form-error-summary ul { margin: .45rem 1rem 0 0; padding: 0; }
.field-validation-error { margin: .3rem 0 .65rem; color: #b91c1c; font-size: .78rem; }
[aria-invalid="true"] { border-color: #dc2626 !important; box-shadow: 0 0 0 3px rgba(220,38,38,.1) !important; }
.c2c-inline-contract{margin-top:12px;padding:13px 14px;border:1px solid rgba(14,116,190,.16);border-radius:14px;background:linear-gradient(135deg,rgba(14,116,190,.055),rgba(20,184,166,.045))}
.c2c-inline-contract .confirm-check{margin:0;min-height:48px;padding:10px 12px;border:1px solid rgba(14,116,190,.12);border-radius:11px;background:#fff;align-items:center}
.c2c-inline-contract .confirm-check input{flex:0 0 auto}
.c2c-inline-contract .confirm-check a{font-weight:800;color:var(--primary,#087bc1);text-decoration:none}
.c2c-inline-contract .confirm-check a:hover{text-decoration:underline}
#c2cContractVideoField{margin-bottom:11px}
.installment-video-guide{margin:8px 0 11px;padding:12px 13px;border:1px solid rgba(14,116,190,.16);border-radius:12px;background:var(--color-surface-alt);line-height:1.75}
.installment-video-guide>b{display:block;margin-bottom:3px;color:var(--color-text);font-size:12px}
.installment-video-guide>p{margin:0;color:var(--color-text-muted);font-size:11px}
.installment-video-script{margin-top:9px;padding:10px 11px;border-right:3px solid var(--color-primary);border-radius:9px;background:var(--color-surface);color:var(--color-text);font-size:11px;font-weight:650}
.installment-video-source{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:9px;padding:5px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg)}
.installment-video-source button{min-height:39px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.installment-video-source button.is-active{color:#fff;background:linear-gradient(135deg,#126bc4,#149ce3);box-shadow:0 7px 16px rgba(13,112,197,.18)}
.installment-video-preview{position:relative;overflow:hidden;aspect-ratio:16/9;max-height:240px;border:1px solid rgba(14,116,190,.25);border-radius:14px;background:#071326}
.installment-video-preview video{display:block;width:100%;height:100%;object-fit:cover}
.installment-video-preview video[hidden]{display:none}
.installment-camera-guide{z-index:2}
#c2cVideoRecordedPreview{transform:none}
#c2cVideoRecordingBadge{position:absolute;top:11px;right:11px;padding:5px 9px;border-radius:999px;background:#c9362c;color:#fff;font-size:10px;font-weight:850;box-shadow:0 0 0 5px rgba(201,54,44,.18)}
#c2cVideoRecordingBadge i{display:inline-block;width:6px;height:6px;margin-left:5px;border-radius:50%;background:#fff;animation:pulse 1s infinite}
.installment-video-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px}
.installment-video-actions .btn{min-width:0;padding-inline:8px}
.installment-video-upload{padding:13px;border:1px dashed var(--color-border);border-radius:12px;background:var(--color-surface-alt)}
.installment-video-upload label,.installment-video-upload small{display:block}
.installment-video-upload input{width:100%;margin:7px 0}
@media(max-width:480px){.installment-video-actions{grid-template-columns:1fr}.installment-video-script{font-size:10.5px}}
.cash-reserve-timer{margin:12px 10px 4px;text-align:center}
.cash-reserve-timer strong{direction:ltr;display:inline-block;min-width:54px;color:var(--color-primary);font-size:15px}
.c2c-purchase-preview{margin-top:18px}
.purchase-preview-card{padding:16px;border:1px solid rgba(8,120,232,.16);border-radius:16px;background:linear-gradient(145deg,rgba(8,120,232,.055),rgba(20,184,166,.045))}
.purchase-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px dashed rgba(8,120,232,.2)}
.purchase-preview-head span{font-weight:900;color:var(--color-text)}
.purchase-preview-head b{padding:5px 9px;border-radius:999px;background:#fff3cd;color:#7a5600;font-size:11px}
.purchase-preview-number{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0 10px}
.purchase-preview-number small,.purchase-preview-grid span{color:var(--color-text-muted);font-size:11px}
.purchase-preview-number strong{font-size:20px;letter-spacing:1px;color:var(--color-primary)}
.purchase-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.purchase-preview-grid>div{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:11px;background:rgba(255,255,255,.78)}
.purchase-preview-grid b{font-size:12px;color:var(--color-text)}
@media(max-width:520px){.purchase-preview-grid{grid-template-columns:1fr}.purchase-preview-head{align-items:flex-start;flex-direction:column}}
[data-theme="dark"] .purchase-preview-card{background:rgba(8,120,232,.09)}
[data-theme="dark"] .purchase-preview-grid>div,[data-theme="dark"] .purchase-preview-head b{background:rgba(255,255,255,.07)}
.installment-config-card{margin-top:14px;padding:15px;border:1px solid rgba(7,111,212,.14);border-radius:16px;background:linear-gradient(145deg,#fff,#f5f9ff);box-shadow:0 9px 25px rgba(20,53,90,.06)}
.installment-config-heading{display:flex;align-items:center;gap:10px;margin-bottom:13px}
.installment-config-heading>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--color-primary);color:#fff;font-weight:900}
.installment-config-heading div{display:flex;flex-direction:column;gap:2px}
.installment-config-heading b{font-size:14px}
.installment-config-heading small{color:var(--color-muted);font-size:11px}
.installment-config-card .purchase-form-grid{align-items:stretch;gap:12px}
.installment-config-card .installment-config-field{display:grid;grid-template-rows:42px 48px;gap:7px;margin:0}
.installment-config-card .installment-config-field .purchase-field-label{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0!important;line-height:1.55}
.installment-config-card .installment-config-field .purchase-field-label>span{font-size:12px;font-weight:800;color:var(--color-text)}
.installment-config-card .installment-config-field .purchase-field-label>small{display:block;color:var(--color-text-muted);font-size:10.5px;font-weight:600;white-space:nowrap}
.installment-config-card .installment-config-field .purchase-field-label b{color:var(--color-text);font-size:11px}
.installment-config-card .installment-config-field input{width:100%;height:48px;min-height:48px;margin:0;padding:0 13px;border-radius:12px;text-align:right;line-height:48px}
.installment-config-card #instMonths{direction:ltr;text-align:right}
.installment-calculate-btn{margin:4px 0 10px;border-color:rgba(7,111,212,.25);color:var(--color-primary);font-weight:800}
.installment-preview-card{min-height:58px;padding:11px;border:1px dashed rgba(7,111,212,.25);border-radius:12px;background:#fff}
.installment-preview-card .calc-line{padding:7px 5px}
.installment-preview-card .calc-line-highlight{margin:3px -2px;padding:9px 7px;border-radius:9px;background:var(--color-primary-light);color:var(--color-primary-dark)}
@media(max-width:560px){.installment-config-card .purchase-form-grid{grid-template-columns:1fr}.installment-config-card .installment-config-field{grid-template-rows:auto 48px}.installment-config-card .installment-config-field .purchase-field-label{min-height:0}}

/* Purchases archive: the wrapper owns the only visible field border/focus ring. */
.panel-main .purchase-tool-control > input,
.panel-main .purchase-tool-control > select,
.panel-main .purchase-tool-control > input:focus,
.panel-main .purchase-tool-control > select:focus,
.panel-main .purchase-tool-control > input:focus-visible,
.panel-main .purchase-tool-control > select:focus-visible {
    border:0;
    border-radius:0;
    outline:0;
    outline-offset:0;
    background:transparent;
    box-shadow:none;
}
.panel-main .purchase-search button:focus,
.panel-main .purchase-search button:focus-visible {
    outline:0;
    outline-offset:0;
    box-shadow:inset 0 0 0 2px rgba(8,120,232,.42);
}
.panel-main .purchase-filter-chips button:focus,
.panel-main .purchase-filter-chips button:focus-visible,
.panel-main .panel-pagination button:focus,
.panel-main .panel-pagination button:focus-visible {
    outline:0;
    outline-offset:0;
    box-shadow:inset 0 0 0 2px rgba(8,120,232,.38);
}
.panel-main .purchase-filter-chips button.is-active:focus,
.panel-main .purchase-filter-chips button.is-active:focus-visible {
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.72),0 6px 14px rgba(8,120,232,.18);
}

/* Final cascade guard for the unified modal header. Kept at the end because
   legacy page-specific modal rules are intentionally loaded earlier. */
.modal-box.ks-modern-modal .ks-modal-header {
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:13px;
    min-height:92px;
    margin:-10px -10px 18px;
    padding:17px 18px 17px 52px;
    border:1px solid rgba(125,211,252,.2);
    border-radius:16px;
    color:#fff;
    background:radial-gradient(circle at 10% 0,rgba(25,199,232,.18),transparent 30%),linear-gradient(116deg,var(--ks-midnight),var(--ks-navy) 60%,#075fbd);
    box-shadow:0 15px 34px rgba(0,34,76,.17);
}
.modal-box.ks-modern-modal .ks-modal-header h2,
.modal-box.ks-modern-modal .ks-modal-header h3 { margin:0; color:#fff !important; font-size:20px; line-height:1.55; }
.modal-box.ks-modern-modal .ks-modal-header small { color:#7ddcff; }
.modal-box.ks-modern-modal .ks-modal-header p { color:rgba(255,255,255,.74); }
.modal-box.ks-modern-modal .purchase-detail-head.ks-modal-header { min-height:138px; margin:0; padding:25px 25px 25px 64px; border-width:0 0 1px; border-radius:0; }
.modal-box.ks-modern-modal.inquiry-modal-box .inquiry-modal-head.ks-modal-header { min-height:118px; margin:0; padding:22px 24px 22px 58px; border-width:0 0 1px; border-radius:0; }

@media (max-width:600px) {
    .modal-box.ks-modern-modal .ks-modal-header { min-height:84px; margin:-4px -2px 16px; padding:14px 14px 14px 48px; border-radius:14px; }
    .modal-box.ks-modern-modal .ks-modal-header h2,
    .modal-box.ks-modern-modal .ks-modal-header h3 { font-size:17px; }
    .modal-box.ks-modern-modal .purchase-detail-head.ks-modal-header { min-height:122px; margin:0; padding:22px 18px 22px 57px; border-radius:0; }
    .modal-box.ks-modern-modal.inquiry-modal-box .inquiry-modal-head.ks-modal-header { min-height:106px; margin:0; padding:19px 18px 19px 52px; border-radius:0; }
}

/* Complete modal surface system: body, forms, actions and dense data views. */
@keyframes ks-modal-enter { from { opacity:0; transform:translateY(14px) scale(.975); } to { opacity:1; transform:translateY(0) scale(1); } }
.modal.open .modal-box.ks-modern-modal { animation:ks-modal-enter .22s cubic-bezier(.2,.8,.2,1) both; }
.modal-box.ks-modern-modal { scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#8fc5e8 transparent; }
.modal-box.ks-modern-modal::-webkit-scrollbar { width:7px; height:7px; }
.modal-box.ks-modern-modal::-webkit-scrollbar-thumb { border:2px solid transparent; border-radius:99px; background:#8fc5e8; background-clip:padding-box; }
.modal-box.ks-modern-modal form { min-width:0; }
.modal-box.ks-modern-modal label { margin-top:12px; line-height:1.75; }
.modal-box.ks-modern-modal input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),
.modal-box.ks-modern-modal select,.modal-box.ks-modern-modal textarea { min-height:46px; padding:10px 12px; border:1px solid #cfdeeb; border-radius:12px; transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease; }
.modal-box.ks-modern-modal textarea { min-height:88px; line-height:1.9; }
.modal-box.ks-modern-modal input[type=file] { min-height:48px; padding:7px; border:1px dashed #bfd8eb; border-radius:12px; color:var(--color-text-muted); background:#f7fbff; }
.modal-box.ks-modern-modal input[type=file]::file-selector-button { margin-left:9px; padding:8px 13px; border:0; border-radius:9px; color:#fff; background:linear-gradient(135deg,#0878e8,#075eae); cursor:pointer; }
.modal-box.ks-modern-modal .btn-block { min-height:46px; border-radius:12px; font-weight:850; }
.modal-box.ks-modern-modal .form-note:not(:empty) { margin-top:10px; padding:9px 11px; border:1px solid rgba(8,120,232,.12); border-radius:10px; background:rgba(232,245,255,.48); line-height:1.8; }
.modal-box.ks-modern-modal .modal-actions,.modal-box.ks-modern-modal .admin-kyc-change-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; padding-top:14px; border-top:1px solid var(--color-border); }
.modal-box.ks-modern-modal table { width:100%; border-collapse:separate; border-spacing:0; }
.modal-box.ks-modern-modal table th { color:#49667e; background:#eef7ff; }
.modal-box.ks-modern-modal table th,.modal-box.ks-modern-modal table td { padding:10px 9px; border-bottom:1px solid #e4edf4; vertical-align:middle; }
[data-theme="dark"] .modal-box.ks-modern-modal input[type=file] { color:#b8c7da; border-color:#31506b; background:#102337; }
[data-theme="dark"] .modal-box.ks-modern-modal .form-note:not(:empty) { border-color:#29445d; background:#102337; }
[data-theme="dark"] .modal-box.ks-modern-modal table th { color:#c8d9e8; background:#102b43; }
[data-theme="dark"] .modal-box.ks-modern-modal table th,[data-theme="dark"] .modal-box.ks-modern-modal table td { border-bottom-color:#29445d; }
@media (max-width:600px) {
    .modal { align-items:flex-end; padding:10px 8px 0; }
    .modal-box.ks-modern-modal { width:100%; max-width:none; max-height:92dvh; padding:18px 15px calc(18px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; }
    .modal-box.ks-modern-modal.purchase-detail-modal,
    .modal-box.ks-modern-modal.inquiry-modal-box { padding:0 0 env(safe-area-inset-bottom); }
    .modal-box.ks-modern-modal table { display:block; max-width:100%; overflow-x:auto; white-space:nowrap; }
    .modal-box.ks-modern-modal .modal-actions > *,.modal-box.ks-modern-modal .admin-kyc-change-actions > * { flex:1 1 140px; }
}
@media (prefers-reduced-motion:reduce) { .modal.open .modal-box.ks-modern-modal { animation:none; } }

/* Final shared contract for every read-only detail/case modal. */
.modal-box.ks-detail-modal {
    overflow-x:hidden;
    border:1px solid rgba(8,120,232,.2);
    border-radius:24px;
    box-shadow:0 34px 100px rgba(2,12,38,.38),0 1px 0 rgba(255,255,255,.82) inset;
}
.modal-box.ks-detail-modal > [id$="DetailContent"],
.modal-box.ks-detail-modal > #lotDetailContent,
.modal-box.ks-detail-modal > #panelPurchaseModalContent { min-width:0; }
.modal-box.ks-detail-modal .ks-modal-header { min-height:112px; }
.modal-box.ks-detail-modal .panel-profile-row { transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.modal-box.ks-detail-modal .panel-profile-row:hover { border-color:#bddcf2; background:#f8fcff; box-shadow:0 7px 20px rgba(8,74,126,.07); transform:translateY(-1px); }
.modal-box.ks-detail-modal .admin-table-wrap,
.modal-box.ks-detail-modal .table-responsive { scrollbar-width:thin; scrollbar-color:#91c4e6 transparent; }
.modal-box.ks-detail-modal .status-badge { white-space:nowrap; }
.modal-box.ks-detail-modal .contract-hash,
.modal-box.ks-detail-modal [dir="ltr"] { overflow-wrap:anywhere; word-break:break-word; }
[data-theme="dark"] .modal-box.ks-detail-modal .panel-profile-row:hover { border-color:#356487; background:#122a40; }
@media(max-width:700px) {
    .modal-box.ks-detail-modal { max-height:94dvh; border-radius:22px 22px 0 0; }
    .modal-box.ks-detail-modal .ks-modal-header { min-height:100px; }
    .modal-box.ks-detail-modal .panel-profile-row:hover { transform:none; }
}

/* Dedicated privacy page */
.privacy-page{max-width:1440px;padding-bottom:65px}.privacy-hero{--ks-hero-accent:#38bdf8;--ks-hero-accent-rgb:56,189,248}.privacy-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.privacy-hero-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:9px;background:rgba(255,255,255,.07);font-size:11px;font-weight:800}.privacy-summary{display:flex;align-items:center;gap:13px;margin:18px 0 24px;padding:17px 19px;border:1px solid #a7e3d5;border-radius:16px;background:#ecfdf5;color:#14532d}.privacy-summary>span{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:11px;color:#fff;background:#059669;font-weight:900}.privacy-summary p{margin:0;font-size:11px;line-height:2}.privacy-layout{display:grid;grid-template-columns:230px minmax(0,1fr);align-items:start;gap:22px}.privacy-toc{position:sticky;top:94px;display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-card)}.privacy-toc strong{padding:8px 10px 12px;border-bottom:1px solid var(--color-border);font-size:13px}.privacy-toc a{padding:9px 10px;border-radius:9px;color:var(--color-text-muted);font-size:11px;font-weight:700}.privacy-toc a:hover,.privacy-toc a:focus-visible{color:var(--color-primary);background:var(--color-info-soft)}.privacy-content{display:grid;gap:15px;min-width:0}.privacy-content>section{scroll-margin-top:100px;padding:clamp(20px,3vw,29px);border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-card)}.privacy-content header{display:flex;align-items:center;gap:12px;margin-bottom:15px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.privacy-content header>b{display:grid;place-items:center;width:41px;height:41px;flex:0 0 41px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#0878e8,#10b8a6);box-shadow:0 8px 18px rgba(8,120,232,.18)}.privacy-content header small{display:block;color:var(--color-primary);font-size:10px;font-weight:900}.privacy-content h2{margin:2px 0 0;font-size:20px}.privacy-content p,.privacy-content li{color:var(--color-text-muted);font-size:12px;line-height:2}.privacy-content ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.privacy-content li{position:relative;padding-right:21px}.privacy-content li::before{content:"";position:absolute;right:3px;top:13px;width:7px;height:7px;border:2px solid #0891b2;border-radius:50%}.privacy-content li b{color:var(--color-text)}.privacy-warning{display:flex;flex-direction:column;gap:3px;margin-top:15px;padding:14px 16px;border:1px solid #fed7aa;border-radius:12px;background:#fff7ed;color:#7c2d12}.privacy-warning span{font-size:10px;line-height:1.9}.privacy-address{padding:11px 13px;border-radius:10px;background:var(--color-surface-alt)}.privacy-footer-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:22px 25px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#101827,#12395f 60%,#0878e8)}.privacy-footer-note b,.privacy-footer-note span{display:block}.privacy-footer-note span{margin-top:4px;color:#cbddec;font-size:10px}.privacy-footer-note .btn{flex:0 0 auto;color:#075eae;background:#fff}[data-theme="dark"] .privacy-summary{border-color:#166534;background:rgba(20,83,45,.25);color:#bbf7d0}[data-theme="dark"] .privacy-warning{border-color:#7c2d12;background:rgba(124,45,18,.2);color:#fed7aa}@media(max-width:900px){.privacy-layout{grid-template-columns:1fr}.privacy-toc{position:static;display:grid;grid-template-columns:repeat(3,1fr)}.privacy-toc strong{grid-column:1/-1}.privacy-toc a{text-align:center;background:var(--color-surface-alt)}}@media(max-width:650px){.privacy-toc{grid-template-columns:repeat(2,1fr)}.privacy-footer-note{align-items:stretch;flex-direction:column}.privacy-footer-note .btn{width:100%}}@media(max-width:430px){.privacy-toc{grid-template-columns:1fr}.privacy-summary{align-items:flex-start}.privacy-content>section{padding:18px 16px}}

/* High-contrast inverse actions used on dark/gradient CTA panels. */
:where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary {
    color:#075eae;
    background:#fff;
    border-color:rgba(255,255,255,.78);
    box-shadow:0 9px 22px rgba(1,15,36,.18);
}

/* Mobile storefront hero: the source artwork is 3:1 and has its visual subject
   on the left. `cover` cropped that subject underneath the RTL copy on phones.
   Keep the complete artwork in a dedicated top band and the copy in a separate
   solid section so neither layer can overlap the other. */
@media (max-width: 640px) {
    body.page-lots-list .brand-hero {
        min-height: 0;
        padding: calc(clamp(108px, 31vw, 150px) + 22px) 20px 24px;
        background-color: #07142f !important;
        background-image: linear-gradient(155deg, #07142f 0%, #0a2244 58%, #073c6b 120%) !important;
        background-position: center !important;
        background-size: auto !important;
    }
    body.page-lots-list .brand-hero::before {
        content: "";
        position: absolute;
        inset: 0 0 auto;
        z-index: 0;
        width: 100%;
        height: clamp(108px, 31vw, 150px);
        border-bottom: 1px solid rgba(117,232,255,.2);
        background-color: #050f24;
        background-image: url('../images/brand/khat-sara-hero.png?v=2');
        background-repeat: no-repeat;
        background-position: center;
        background-size: 100% auto;
        opacity: 1;
    }
    body.page-lots-list .brand-hero::after { display: none; }
    body.page-lots-list .brand-hero .site-page-hero-copy {
        position: relative;
        z-index: 1;
        max-width: none;
        margin: 0;
        text-align: right;
    }
    body.page-lots-list .brand-hero .site-page-hero-copy h1 {
        max-width: none;
        margin-bottom: 8px;
        font-size: clamp(24px, 7vw, 29px);
        line-height: 1.45;
        letter-spacing: -.8px;
    }
    body.page-lots-list .brand-hero .site-page-hero-copy p { font-size: 12px; line-height: 1.9; }
    body.page-lots-list .brand-hero .hero-trust-row {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        justify-content: stretch;
        gap: 6px;
        margin-top: 17px;
    }
    body.page-lots-list .brand-hero .hero-trust-row span {
        display: grid;
        place-items: center;
        min-height: 43px;
        padding: 6px 4px;
        text-align: center;
        font-size: 9px;
        line-height: 1.55;
    }
}
:where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary:hover,
:where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary:focus-visible {
    color:#064f94;
    background:#eaf6ff;
    border-color:#b9e2ff;
    box-shadow:0 12px 26px rgba(1,15,36,.25),0 0 0 4px rgba(125,211,252,.2);
}
:where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary:active {
    color:#043f78;
    background:#dcefff;
    border-color:#98d2fa;
}
[data-theme="dark"] :where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary {
    color:#063f72;
    background:#eef8ff;
    border-color:#b9dcf5;
}
[data-theme="dark"] :where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary:hover,
[data-theme="dark"] :where(.terms-acceptance, .static-final-cta, .privacy-footer-note) .btn-primary:focus-visible {
    color:#032f59;
    background:#d7efff;
    border-color:#7dd3fc;
}

/* Keep inverse CTA foreground/background paired against the more specific
 * global `.btn-primary:not(:disabled):hover` rule. */
.terms-acceptance .btn.btn-primary:not(:disabled):hover,
.terms-acceptance .btn.btn-primary:focus-visible,
.static-final-cta .btn.btn-primary:not(:disabled):hover,
.static-final-cta .btn.btn-primary:focus-visible,
.privacy-footer-note .btn.btn-primary:not(:disabled):hover,
.privacy-footer-note .btn.btn-primary:focus-visible {
    color:#064f94;
    background:#eaf6ff;
    border-color:#b9e2ff;
    filter:none;
}
[data-theme="dark"] .terms-acceptance .btn.btn-primary:not(:disabled):hover,
[data-theme="dark"] .terms-acceptance .btn.btn-primary:focus-visible,
[data-theme="dark"] .static-final-cta .btn.btn-primary:not(:disabled):hover,
[data-theme="dark"] .static-final-cta .btn.btn-primary:focus-visible,
[data-theme="dark"] .privacy-footer-note .btn.btn-primary:not(:disabled):hover,
[data-theme="dark"] .privacy-footer-note .btn.btn-primary:focus-visible {
    color:#032f59;
    background:#d7efff;
    border-color:#7dd3fc;
}

/* Contact location: one configured coordinate, three navigation providers. */
.contact-navigation { margin-top:13px; padding-top:12px; border-top:1px solid var(--color-border); }
.contact-navigation>small { display:block; margin-bottom:8px; color:var(--color-text-muted); font-size:10px; font-weight:800; }
.contact-navigation>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.contact-map-link { display:flex; align-items:center; justify-content:center; gap:7px; min-height:42px; padding:7px 9px; border:1px solid var(--color-border); border-radius:11px; color:var(--color-text); background:var(--color-surface); font-size:11px; font-weight:850; transition:.18s ease; }
.contact-map-link>b { display:grid; place-items:center; width:28px; height:28px; flex:0 0 28px; overflow:hidden; border-radius:8px; background:#fff; }
.contact-map-link>b img { display:block; width:24px; height:24px; object-fit:contain; }
.contact-map-link--waze>b { background:#e9fbff; }
.contact-map-link:hover,.contact-map-link:focus-visible { color:var(--color-primary-dark); background:var(--color-info-soft); border-color:#8fc9f2; transform:translateY(-1px); box-shadow:0 7px 18px rgba(8,84,148,.11); }
[data-theme="dark"] .contact-map-link { color:var(--color-text); background:var(--color-surface); border-color:var(--color-border); }
[data-theme="dark"] .contact-map-link:hover,[data-theme="dark"] .contact-map-link:focus-visible { color:#a7dcff; background:var(--color-info-soft); border-color:#356487; }
@media(max-width:430px) { .contact-navigation>div { grid-template-columns:1fr; } }

.contact-working-hours { display:flex; align-items:flex-start; gap:10px; margin-top:10px; padding:13px 14px; border:1px solid #cce4f7; border-radius:13px; color:var(--color-text); background:linear-gradient(145deg,var(--color-info-soft),var(--color-surface)); }
.contact-working-hours>span { display:grid; place-items:center; width:31px; height:31px; flex:0 0 31px; border-radius:10px; color:#0878e8; background:#dceeff; font-size:18px; font-weight:900; }
.contact-working-hours>div { display:flex; min-width:0; flex-direction:column; gap:2px; }
.contact-working-hours small,.contact-working-hours em { color:var(--color-text-muted); font-size:10px; font-style:normal; }
.contact-working-hours b { font-size:12px; }
.contact-working-hours time { color:var(--color-primary-dark); font-weight:900; }
[data-theme="dark"] .contact-working-hours { border-color:#294b67; background:linear-gradient(145deg,var(--color-info-soft),var(--color-surface)); }
[data-theme="dark"] .contact-working-hours>span { color:#7dd3fc; background:#123753; }
[data-theme="dark"] .contact-working-hours time { color:#7dd3fc; }

.footer-working-hours { display:flex; align-items:center; gap:9px; margin:8px 0 0; padding:9px 10px; border:1px solid rgba(125,211,252,.13); border-radius:10px; color:#dcecff; background:rgba(8,120,232,.07); }
.footer-working-hours>i { display:grid; place-items:center; width:27px; height:27px; flex:0 0 27px; border-radius:8px; color:#7dd3fc; background:rgba(8,120,232,.18); font-size:16px; font-style:normal; }
.footer-working-hours>span { display:flex; min-width:0; flex-direction:column; line-height:1.65; }
.footer-working-hours b { font-size:10px; }
.footer-working-hours small { color:#9fb4c9; font-size:9px; }

/* About page: evidence-led trust and clear service positioning. */
.about-independence-note { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; margin:20px 0; padding:18px 20px; border:1px solid #b9dcfa; border-radius:18px; background:linear-gradient(120deg,#f5fbff,#eef8ff); box-shadow:0 10px 28px rgba(8,74,126,.06); }
.about-independence-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:13px; color:#fff; background:linear-gradient(135deg,#0878e8,#10b8a6); font:900 18px/1 Georgia,serif; }
.about-independence-note small { color:var(--color-primary); font-size:10px; font-weight:900; }
.about-independence-note h2 { margin:2px 0 3px; font-size:16px; }
.about-independence-note p { margin:0; color:var(--color-text-muted); font-size:11px; line-height:1.9; }
.about-independence-note>a { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; border:1px solid #b8d9f2; border-radius:11px; color:#075eae; background:#fff; white-space:nowrap; font-size:10px; font-weight:850; }
.about-independence-note>a:hover { background:#e3f3ff; border-color:#79bff1; }
.about-proof-section { margin:28px 0; padding:clamp(22px,3vw,34px); border:1px solid var(--color-border); border-radius:24px; background:var(--color-surface); box-shadow:var(--shadow-card); }
.about-proof-section>header { max-width:760px; margin-bottom:20px; }
.about-proof-section>header h2,.about-faq>header h2 { margin:2px 0 7px; font-size:clamp(20px,3vw,27px); }
.about-proof-section>header p { margin:0; color:var(--color-text-muted); font-size:12px; line-height:2; }
.about-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.about-proof-grid article { display:flex; align-items:flex-start; gap:11px; min-height:134px; padding:16px; border:1px solid var(--color-border); border-radius:15px; background:var(--color-surface-alt); transition:.18s ease; }
.about-proof-grid article:hover { border-color:#9fd1f4; transform:translateY(-2px); box-shadow:0 10px 24px rgba(8,74,126,.08); }
.about-proof-grid article>span { color:#2495ff; font-size:11px; font-weight:900; letter-spacing:.04em; }
.about-proof-grid h3 { margin:0; font-size:14px; }
.about-proof-grid p { margin:6px 0 0; color:var(--color-text-muted); font-size:10px; line-height:1.9; }
.about-commitment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; margin:28px 0; }
.about-commitment-card { overflow:hidden; padding:23px; border:1px solid var(--color-border); border-radius:21px; background:var(--color-surface); box-shadow:var(--shadow-card); }
.about-commitment-card header { display:flex; align-items:center; gap:11px; margin-bottom:15px; }
.about-commitment-card header>span { display:grid; place-items:center; width:39px; height:39px; border-radius:12px; color:#fff; background:#0878e8; font-weight:900; }
.about-commitment-card.is-user header>span { background:#d97706; }
.about-commitment-card header small { color:var(--color-text-muted); font-size:10px; }
.about-commitment-card h2 { margin:2px 0 0; font-size:18px; }
.about-commitment-card ul { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.about-commitment-card li { position:relative; padding:10px 35px 10px 12px; border-radius:11px; background:var(--color-surface-alt); color:var(--color-text-muted); font-size:11px; }
.about-commitment-card li::before { content:"✓"; position:absolute; right:11px; top:9px; color:#059669; font-weight:900; }
.about-commitment-card.is-user li::before { content:"•"; color:#d97706; }
.about-faq { margin:28px 0; padding:clamp(22px,3vw,32px); border:1px solid var(--color-border); border-radius:22px; background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft)); box-shadow:var(--shadow-card); }
.about-faq>header { margin-bottom:15px; }
.about-faq>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.about-faq details { align-self:start; overflow:hidden; border:1px solid var(--color-border); border-radius:13px; background:var(--color-surface); }
.about-faq summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 15px; cursor:pointer; font-size:12px; font-weight:850; list-style:none; }
.about-faq summary::-webkit-details-marker { display:none; }
.about-faq summary span { display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border-radius:8px; color:var(--color-primary); background:var(--color-primary-light); transition:transform .18s ease; }
.about-faq details[open] summary span { transform:rotate(45deg); }
.about-faq details p { margin:0; padding:0 15px 15px; color:var(--color-text-muted); font-size:11px; line-height:2; }
[data-theme="dark"] .about-independence-note { border-color:#294b67; background:linear-gradient(120deg,#11273a,#102f49); }
[data-theme="dark"] .about-independence-note>a { color:#9bdcff; border-color:#315875; background:#102337; }
[data-theme="dark"] .about-independence-note>a:hover { background:#15334c; border-color:#4784aa; }
[data-theme="dark"] .about-proof-section,[data-theme="dark"] .about-commitment-card,[data-theme="dark"] .about-faq details { background:var(--color-surface); border-color:var(--color-border); }
[data-theme="dark"] .about-proof-grid article,[data-theme="dark"] .about-commitment-card li { background:var(--color-surface-alt); border-color:var(--color-border); }
[data-theme="dark"] .about-faq { background:linear-gradient(145deg,var(--color-surface),var(--color-info-soft)); border-color:var(--color-border); }
@media(max-width:900px) { .about-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .about-independence-note { grid-template-columns:auto 1fr; } .about-independence-note>a { grid-column:1/-1; justify-self:stretch; justify-content:center; } }
@media(max-width:680px) { .about-proof-grid,.about-commitment-grid,.about-faq>div { grid-template-columns:1fr; } .about-proof-grid article { min-height:0; } }
@media(max-width:480px) { .about-independence-note { grid-template-columns:1fr; padding:17px; } .about-independence-icon { width:38px; height:38px; } .about-proof-section,.about-commitment-card,.about-faq { padding:18px 16px; border-radius:18px; } }
