/* Voidex redesign override: dark, compact fintech UI */
:root {
    --primary: #66e3ff;
    --primary-dark: #38bdf8;
    --primary-light: #a7f3ff;
    --secondary: #8b5cf6;
    --accent: #22c55e;
    --success: #34d399;
    --warning: #fbbf24;
    --danger: #fb7185;
    --info: #60a5fa;
    --secondary-badge: #94a3b8;
    --bg-primary: rgba(15, 23, 42, 0.86);
    --bg-secondary: #070b16;
    --bg-tertiary: rgba(30, 41, 59, 0.9);
    --bg-dark: #030712;
    --text-primary: #eef7ff;
    --text-secondary: #9fb3c8;
    --text-tertiary: #64748b;
    --text-light: #d8e8f6;
    --border-color: rgba(148, 163, 184, 0.18);
    --border-color-dark: rgba(148, 163, 184, 0.26);
    --shadow-sm: 0 1px 0 rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.22);
    --shadow-md: 0 18px 44px rgba(0,0,0,.28);
    --shadow-lg: 0 24px 60px rgba(0,0,0,.36);
    --shadow-xl: 0 30px 90px rgba(0,0,0,.48);
    --sidebar-width: 292px;
    --radius-xl: 24px;
    --radius-lg: 18px;
    --radius-md: 12px;
}

html { background: var(--bg-secondary); }

body {
    background:
        radial-gradient(circle at 15% 0%, rgba(102, 227, 255, .18), transparent 34rem),
        radial-gradient(circle at 80% 12%, rgba(139, 92, 246, .16), transparent 32rem),
        linear-gradient(135deg, #050816 0%, #08111f 52%, #030712 100%);
    color: var(--text-primary);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.8), transparent 82%);
}

#app { position: relative; }

.main-container {
    min-width: 0;
    background: transparent;
}

.main-content {
    padding: 34px;
}

.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    background:
        linear-gradient(180deg, rgba(15, 23, 42, .96), rgba(3, 7, 18, .98)),
        radial-gradient(circle at 50% 0%, rgba(102, 227, 255, .16), transparent 16rem);
    border-right: 1px solid var(--border-color);
    box-shadow: 22px 0 80px rgba(0,0,0,.34);
}

.sidebar-header {
    padding: 26px 24px 20px;
    border-bottom: 1px solid var(--border-color);
}

.logo-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
}

.logo-img {
    width: 42px;
    height: 42px;
    border-radius: 14px;
    object-fit: cover;
    box-shadow: 0 0 30px rgba(102, 227, 255, .18);
}

.logo {
    margin: 0;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: 1.05rem;
}

.user-info {
    margin: 18px;
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-lg);
    background: rgba(255,255,255,.035);
    backdrop-filter: blur(14px);
}

.user-avatar,
.client-avatar,
.profile-avatar {
    background: linear-gradient(135deg, var(--primary), var(--secondary));
    color: #020617;
    box-shadow: 0 0 28px rgba(102, 227, 255, .22);
}

.sidebar-nav {
    padding: 10px 14px;
}

.nav-item {
    margin: 5px 0;
    padding: 13px 16px;
    border-radius: 14px;
    border-left: 0;
    color: var(--text-secondary);
}

.nav-item::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(148, 163, 184, .42);
    box-shadow: 0 0 0 4px rgba(148, 163, 184, .06);
}

.nav-item:hover {
    background: rgba(255,255,255,.055);
    color: var(--text-primary);
    transform: translateX(2px);
}

.nav-item.active {
    color: #e8fbff;
    background: linear-gradient(135deg, rgba(102, 227, 255, .16), rgba(139, 92, 246, .10));
    border: 1px solid rgba(102, 227, 255, .26);
}

.nav-item.active::before {
    background: var(--primary);
    box-shadow: 0 0 0 4px rgba(102, 227, 255, .12), 0 0 18px rgba(102, 227, 255, .8);
}

.sidebar-footer {
    border-top: 1px solid var(--border-color);
    padding: 18px;
}

.logout-btn,
.btn,
.type-btn,
.crypto-btn,
.action-btn,
.tab-btn {
    border-radius: 14px;
}

.logout-btn {
    background: rgba(255,255,255,.035);
    border-color: var(--border-color);
}

.top-panel {
    position: sticky;
    top: 0;
    z-index: 60;
    padding: 16px 34px;
    background: rgba(7, 11, 22, .72);
    border-bottom: 1px solid var(--border-color);
    box-shadow: 0 14px 44px rgba(0,0,0,.22);
    backdrop-filter: blur(18px);
}

.top-panel-container {
    align-items: stretch;
}

.mobile-menu-btn {
    display: none;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.04);
    color: var(--text-primary);
    font-size: 1.2rem;
    cursor: pointer;
}

.rate-item,
.wallet-info,
.balance-card,
.section,
.page-sidebar,
.account-card,
.verification-card,
.stat-card,
.detail-card,
.info-box,
.deposit-card,
.auth-card,
.admin-modal-content,
.exchange-rate-card,
.exchange-preview {
    border: 1px solid var(--border-color);
    background: linear-gradient(180deg, rgba(15, 23, 42, .84), rgba(15, 23, 42, .62));
    box-shadow: var(--shadow-sm);
    backdrop-filter: blur(16px);
}

.rate-item {
    padding: 14px 16px;
    border-radius: 18px;
    min-width: 190px;
}

.rate-value {
    color: var(--text-primary);
    font-size: 1.18rem;
}

.wallet-info {
    padding: 14px 16px;
    border-radius: 18px;
}

.page-header {
    margin-bottom: 26px;
}

.page-header h1,
.auth-title {
    letter-spacing: -0.045em;
    line-height: 1.05;
}

.page-subtitle,
.section-description {
    color: var(--text-secondary);
}

.page-layout {
    grid-template-columns: minmax(0, 1fr) 310px;
}

.section,
.page-sidebar {
    border-radius: var(--radius-xl);
    padding: 24px;
}

.section + .section { margin-top: 22px; }

.balance-card {
    position: relative;
    overflow: hidden;
    border-radius: 30px;
    padding: 30px;
    background:
        radial-gradient(circle at 84% 18%, rgba(102, 227, 255, .20), transparent 16rem),
        linear-gradient(135deg, rgba(15, 23, 42, .92), rgba(31, 41, 55, .62));
}

.balance-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -60px;
    width: 190px;
    height: 190px;
    border: 1px solid rgba(102, 227, 255, .22);
    border-radius: 50%;
}

.balance-amount {
    font-size: clamp(2.2rem, 5vw, 4rem);
    letter-spacing: -.06em;
}

.accounts-grid,
.stats-grid,
.detail-cards,
.settings-grid,
.exchange-grid {
    gap: 16px;
}

.account-card {
    border-radius: 20px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.account-card:hover,
.crypto-btn:hover,
.action-btn:hover,
.type-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(102, 227, 255, .36);
    box-shadow: 0 18px 55px rgba(0,0,0,.30);
}

.account-name,
.balance-currency,
.wallet-value {
    color: var(--primary);
}

.btn {
    border: 1px solid var(--border-color);
    box-shadow: none;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(0,0,0,.26);
}

.btn-primary {
    background: linear-gradient(135deg, #67e8f9, #8b5cf6);
    color: #020617;
    border-color: rgba(103, 232, 249, .48);
}

.btn-secondary,
.btn-info {
    background: rgba(255,255,255,.055);
    color: var(--text-primary);
}

.btn-success { background: rgba(52, 211, 153, .14); color: var(--success); }
.btn-warning { background: rgba(251, 191, 36, .14); color: var(--warning); }
.btn-danger { background: rgba(251, 113, 133, .14); color: var(--danger); }

.form-control,
.filter-select,
.filter-input,
.search-input,
.address-input,
textarea,
select,
input {
    background: rgba(2, 6, 23, .45);
    border-color: var(--border-color);
    color: var(--text-primary);
    border-radius: 14px;
}

.form-control:focus,
.address-input:focus,
textarea:focus,
select:focus,
input:focus {
    border-color: rgba(102, 227, 255, .55);
    box-shadow: 0 0 0 4px rgba(102, 227, 255, .10);
    outline: none;
}

.form-control[readonly],
.address-input[readonly] {
    background: rgba(15, 23, 42, .52);
}

table {
    border-collapse: separate;
    border-spacing: 0;
}

.transactions-table,
.admin-table-container {
    border: 1px solid var(--border-color);
    border-radius: 20px;
    overflow: auto;
    background: rgba(2, 6, 23, .25);
}

th {
    background: rgba(15, 23, 42, .92);
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: .055em;
    font-size: .72rem;
}

td {
    color: var(--text-primary);
}

tr:hover td {
    background: rgba(102, 227, 255, .035);
}

.status-badge,
.badge {
    border: 1px solid currentColor;
    border-radius: 999px;
    padding: 4px 9px;
    background: rgba(255,255,255,.04);
}

.status-badge.completed,
.status-badge.verified,
.badge.success { color: var(--success); }
.status-badge.pending,
.status-badge.not_verified { color: var(--warning); }
.status-badge.failed,
.status-badge.rejected,
.badge.danger { color: var(--danger); }
.status-badge.new,
.status-badge.accepted,
.status-badge.in_progress { color: var(--info); }

.auth-container {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 24px;
    background:
        radial-gradient(circle at 30% 15%, rgba(102, 227, 255, .18), transparent 24rem),
        radial-gradient(circle at 76% 74%, rgba(139, 92, 246, .16), transparent 24rem);
}

.auth-hero { display: none; }

.auth-card {
    width: min(460px, 100%);
    border-radius: 30px;
    padding: 34px;
}

.auth-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.brand-mark {
    width: 50px;
    height: 50px;
    border-radius: 16px;
    background: url('../assets/logo1.png') center/cover no-repeat;
}

.brand-text {
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.exchange-shell { overflow: hidden; }
.exchange-rate-card,
.exchange-preview {
    padding: 18px;
    border-radius: 18px;
    margin-bottom: 18px;
}
.exchange-rate-card span,
.exchange-rate-card small { display: block; color: var(--text-secondary); }
.exchange-rate-card strong { display: block; margin: 4px 0; font-size: 1.15rem; }
.exchange-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: end;
}
.swap-btn {
    width: 46px;
    height: 46px;
    margin-bottom: 16px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.055);
    color: var(--text-primary);
    cursor: pointer;
}
.balance-list { display: grid; gap: 10px; }
.balance-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--border-color);
}
.wallet-settings-block {
    padding: 16px;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    margin-bottom: 16px;
    background: rgba(255,255,255,.025);
}
.wallet-row { grid-template-columns: 220px minmax(0, 1fr); }
.wallet-address-field { min-width: 0; }

@media (max-width: 1024px) {
    .sidebar {
        position: fixed;
        left: -100%;
    }
    .sidebar.open { left: 0; }
    .mobile-menu-btn { display: inline-grid; place-items: center; flex: 0 0 auto; }
    .page-layout { grid-template-columns: 1fr; }
    .sidebar-area { grid-column: 1; }
    .top-panel-container { flex-direction: row; align-items: center; }
    .rates-section { overflow-x: auto; }
}

@media (max-width: 768px) {
    :root { --sidebar-width: min(92vw, 340px); }
    #app { flex-direction: row; }
    .sidebar { width: var(--sidebar-width); }
    .nav-label { display: inline; }
    .nav-item { justify-content: flex-start; }
    .main-content { padding: 20px 14px; }
    .top-panel { padding: 12px 14px; }
    .top-panel-container { gap: 10px; }
    .rates-section { flex-direction: row; }
    .rate-item { min-width: 155px; }
    .wallet-info { display: none; }
    .exchange-grid,
    .wallet-row { grid-template-columns: 1fr; }
    .swap-btn { margin: 0 0 16px; width: 100%; }
    table { min-width: 680px; }
}

/* Deposit / withdraw / transfer flow refinements */
.deposit-flow-card {
    display: grid;
    grid-template-columns: minmax(280px, 0.9fr) minmax(320px, 1.1fr);
    gap: 22px;
    align-items: start;
}

.deposit-payment-form,
.transfer-card form {
    padding: 18px;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: rgba(255,255,255,.03);
}

.compact-help {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-table .btn + .btn {
    margin-left: 6px;
}

.detail-value code,
.detail-value {
    word-break: break-word;
}

.transactions-table small,
.admin-table small {
    color: var(--text-secondary);
}

.alert-info {
    border-color: rgba(96, 165, 250, .28);
    background: rgba(96, 165, 250, .09);
    color: var(--text-light);
}

@media (max-width: 900px) {
    .deposit-flow-card,
    .compact-help {
        grid-template-columns: 1fr;
    }
}


/* Icon system */
.ui-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.1em;
    height: 1.1em;
    flex: 0 0 auto;
}

.ui-icon svg {
    width: 100%;
    height: 100%;
    display: block;
    stroke: currentColor;
    fill: none;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    overflow: visible;
}

.btn-icon,
.nav-icon,
.menu-icon,
.type-icon,
.swap-icon,
.action-icon,
.crypto-svg,
.chip-icon,
.alert-svg {
    width: 1.2rem;
    height: 1.2rem;
}

.nav-icon {
    width: 1.08rem;
    height: 1.08rem;
    color: inherit;
}

.menu-icon { width: 1rem; height: 1rem; }
.swap-icon { width: 1.25rem; height: 1.25rem; }
.action-icon { width: 1.15rem; height: 1.15rem; }
.type-icon { width: 1.5rem; height: 1.5rem; }
.alert-svg { width: 1.35rem; height: 1.35rem; }

.logo-orb {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgba(102, 227, 255, .24), rgba(139, 92, 246, .15) 58%, transparent 72%);
}

.logo-orb::before {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(102, 227, 255, .20) 0%, rgba(102, 227, 255, .10) 34%, rgba(102, 227, 255, 0) 70%);
    filter: blur(3px);
    z-index: 0;
}

.logo-img,
.brand-mark {
    position: relative;
    z-index: 1;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 0 30px rgba(102, 227, 255, .18);
}

.logo-block {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.logo-eyebrow,
.brand-kicker {
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--text-tertiary);
}

.logo {
    margin: 0;
    letter-spacing: .03em;
    text-transform: uppercase;
    font-size: 1.52rem;
    font-weight: 800;
    line-height: 1;
}

.brand-orb {
    width: 60px;
    height: 60px;
}

.brand-mark {
    width: 50px;
    height: 50px;
}

.brand-copy {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.brand-text {
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 1.45rem;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-item::before { display: none; }

.nav-divider {
    padding: 18px 16px 10px;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-size: .72rem;
}

.logout-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.mobile-menu-btn .ui-icon { pointer-events: none; }

.quick-actions {
    display: grid;
    gap: 12px;
}

.action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 14px 16px;
}

.action-btn .btn-text { font-weight: 600; }

.action-btn .btn-icon,
.type-btn .type-icon {
    color: var(--primary);
}

.type-btn {
    position: relative;
}

.type-btn .label { display: block; }

.type-btn .type-icon {
    margin-bottom: 2px;
}

.flow-section-header {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.flow-step-badge {
    flex: 0 0 auto;
    min-width: 72px;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(102, 227, 255, .10);
    color: var(--primary);
    border: 1px solid rgba(102, 227, 255, .20);
    text-align: center;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.choice-grid {
    display: grid;
    gap: 14px;
}

.network-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.currency-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

.choice-card {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.03);
    color: var(--text-primary);
    cursor: pointer;
    text-align: left;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.choice-card:hover {
    transform: translateY(-2px);
    border-color: rgba(102, 227, 255, .34);
    box-shadow: 0 18px 55px rgba(0,0,0,.28);
}

.choice-card.active {
    border-color: rgba(102, 227, 255, .45);
    background: linear-gradient(135deg, rgba(102, 227, 255, .12), rgba(139, 92, 246, .08));
}

.choice-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 16px;
    background: rgba(255,255,255,.05);
    color: var(--primary);
}

.choice-card-icon.coin-icon {
    border-radius: 50%;
}

.choice-card-body {
    min-width: 0;
}

.choice-card-title {
    font-weight: 700;
    margin-bottom: 3px;
}

.choice-card-subtitle {
    color: var(--text-secondary);
    font-size: .9rem;
}

.selection-chip-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.selection-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    border: 1px solid var(--border-color);
    color: var(--text-light);
}

.staged-form {
    display: grid;
    gap: 16px;
}

.form-actions-inline {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.form-actions-inline .btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }

.payment-details-card {
    display: grid;
    gap: 18px;
}

.payment-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 14px;
}

.summary-tile {
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--border-color);
}

.summary-tile span {
    display: block;
    color: var(--text-secondary);
    font-size: .86rem;
    margin-bottom: 6px;
}

.summary-tile strong {
    color: var(--text-primary);
}

.enhanced-address-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.btn-icon-only {
    min-width: 48px;
    padding-inline: 0;
}

.important-alert {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
}

.important-alert p {
    margin: 4px 0 0;
    color: inherit;
}

.empty-state-card {
    padding: 22px;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px dashed var(--border-color-dark);
}

.empty-state-card p,
.empty-state-card h4 {
    margin: 0;
}

.crypto-svg.btc { color: #f9c15d; }
.crypto-svg.eth { color: #9db4ff; }
.crypto-svg.usdt { color: #55d6a4; }

@media (max-width: 768px) {
    .flow-section-header { flex-direction: column; }
    .form-actions-inline { flex-direction: column; align-items: stretch; }
    .form-actions-inline .btn { width: 100%; }
    .enhanced-address-row { grid-template-columns: 1fr; }
    .choice-card { align-items: flex-start; }
}

/* --- 2026-06-03 layout refinement pass --- */
.main-container {
    min-height: 100vh;
}

.main-content {
    padding: 22px 24px 28px;
}

.top-panel {
    padding: 14px 24px 8px;
}

.top-panel-container {
    gap: 14px;
}

.page-header.compact-page-header {
    margin-bottom: 18px;
}

.page-header.compact-page-header h1 {
    margin-bottom: 6px;
}

.refined-layout,
.page-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}

.compact-section,
.page-sidebar,
.section {
    padding: 20px 20px 22px;
}

.section-title {
    margin-bottom: 4px;
}

.section-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.section-description {
    margin: 0;
    max-width: 70ch;
}

.dense-form {
    display: grid;
    gap: 16px;
}

.dense-grid {
    display: grid;
    gap: 16px;
}

.dense-grid.two-col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.readonly-field {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 18px;
    border: 1px solid var(--border-color);
    background: rgba(2, 6, 23, 0.64);
    color: var(--text-primary);
    font-weight: 600;
    letter-spacing: .04em;
}

.account-id-display {
    justify-content: center;
    font-size: 1.02rem;
}

.sidebar-note {
    color: var(--text-secondary);
    margin: 10px 0 0;
    line-height: 1.55;
}

.sticky-sidebar-card {
    position: sticky;
    top: 16px;
}

.inline-info-card {
    margin-top: 16px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.03);
    border: 1px solid var(--border-color);
}

.inline-info-card h4 {
    margin: 0 0 8px;
}

.inline-info-card p {
    margin: 0;
    color: var(--text-secondary);
    line-height: 1.55;
}

.refined-type-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.refined-type-grid .type-btn {
    min-height: 136px;
    justify-items: start;
    text-align: left;
    padding: 18px;
    gap: 10px;
}

.refined-type-grid .type-btn small {
    color: var(--text-secondary);
    line-height: 1.4;
}

.transfer-shell {
    overflow: visible;
}

.transfer-form-layout {
    display: grid;
    gap: 16px;
}

.recipient-lookup-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.recipient-preview-card {
    padding: 16px;
    border-radius: 18px;
    border: 1px dashed rgba(102, 227, 255, .20);
    background: rgba(255,255,255,.025);
}

.recipient-preview-card.resolved {
    border-style: solid;
    border-color: rgba(102, 227, 255, .34);
    background: linear-gradient(135deg, rgba(102,227,249,.08), rgba(139,92,246,.06));
}

.recipient-preview-head {
    display: flex;
    gap: 12px;
    align-items: center;
}

.recipient-preview-head small {
    display: block;
    margin-top: 4px;
    color: var(--text-secondary);
}

.recipient-icon {
    width: 1.4rem;
    height: 1.4rem;
    color: var(--primary);
}

.transfer-preview-card {
    margin: 0;
    border-radius: 18px;
    padding: 16px;
}

.compact-alert {
    margin: 0;
}

.profile-info-grid,
.info-grid {
    gap: 16px;
}

.info-box h4 {
    margin-bottom: 12px;
}

.account-id-sidebar {
    margin-bottom: 16px;
}

.balance-card,
.account-card,
.section,
.page-sidebar,
.transactions-table,
.admin-table-container,
.profile-card,
.verification-card,
.info-box {
    box-sizing: border-box;
}

.transactions-table,
.admin-table-container {
    overflow-x: auto;
}

.transactions-table table,
.admin-table {
    min-width: 640px;
}

@media (max-width: 1180px) {
    .refined-layout,
    .page-layout {
        grid-template-columns: 1fr;
    }
    .sticky-sidebar-card {
        position: static;
    }
}

@media (max-width: 768px) {
    .main-content {
        padding: 16px 14px 22px;
    }
    .top-panel {
        padding: 10px 14px 6px;
    }
    .compact-section,
    .page-sidebar,
    .section {
        padding: 16px;
    }
    .dense-grid.two-col,
    .refined-type-grid {
        grid-template-columns: 1fr;
    }
    .recipient-lookup-row {
        grid-template-columns: 1fr;
    }
    .readonly-field {
        min-height: 46px;
    }
    .balance-card {
        padding: 22px 18px;
    }
    .balance-amount {
        font-size: clamp(1.8rem, 8vw, 2.8rem);
    }
    .transactions-table table,
    .admin-table {
        min-width: 560px;
    }
}

/* --- 2026-06-03 global density / polish pass --- */
.sidebar-header {
    padding: 20px 20px 16px;
}

.user-info {
    flex: 0 0 auto !important;
    margin: 14px 16px 10px;
    padding: 13px 14px;
    min-height: 0;
    align-items: center;
    gap: 12px;
}

.user-avatar {
    width: 42px;
    height: 42px;
    font-size: .86rem;
}

.user-details {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.user-name {
    font-size: .9rem;
    line-height: 1.25;
}

.user-email {
    font-size: .78rem;
    line-height: 1.25;
}

.user-account-id {
    margin-top: 3px;
    color: var(--primary);
    font-family: var(--font-mono);
    font-size: .75rem;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-role {
    font-size: .72rem;
    line-height: 1.2;
    color: var(--primary-light);
}

.sidebar-nav {
    padding: 8px 12px;
}

.nav-item {
    margin: 3px 0;
    padding: 10px 13px;
    border-radius: 12px;
}

.sidebar-footer {
    padding: 14px 16px;
}

.logo-orb {
    width: 48px;
    height: 48px;
}

.logo-img {
    width: 40px;
    height: 40px;
}

.logo-eyebrow {
    font-size: .66rem;
}

.logo {
    font-size: 1.38rem;
}

.main-content {
    padding: 18px 20px 24px;
}

.top-panel {
    padding: 12px 20px 8px;
}

.rate-item,
.wallet-info {
    min-width: 0;
    padding: 12px 14px;
    border-radius: 16px;
}

.rate-value {
    font-size: 1.05rem;
}

.page-header {
    margin-bottom: 16px;
}

.page-header h1 {
    margin-bottom: 6px;
    font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.page-subtitle {
    margin-bottom: 0;
}

.section,
.page-sidebar,
.deposit-card,
.verification-card,
.info-box,
.account-card,
.stat-card,
.detail-card,
.exchange-preview,
.exchange-rate-card {
    border-radius: 18px;
}

.section,
.page-sidebar {
    padding: 17px 18px;
}

.section + .section {
    margin-top: 16px;
}

.balance-card {
    border-radius: 22px;
    padding: 22px;
}

.balance-amount {
    font-size: clamp(2rem, 4vw, 3.2rem);
}

.accounts-grid,
.stats-grid,
.detail-cards,
.settings-grid,
.exchange-grid,
.info-grid,
.balance-grid {
    gap: 12px;
}

.account-card,
.stat-card,
.detail-card,
.info-box {
    padding: 15px 16px;
}

.transaction-type-selector.refined-type-grid,
.refined-type-grid {
    gap: 12px;
}

.refined-type-grid .type-btn,
.type-btn {
    min-height: 112px;
    padding: 15px;
    border-radius: 16px;
}

.form-control,
.filter-select,
.filter-input,
.search-input,
.address-input,
textarea,
select,
input,
.readonly-field {
    min-height: 46px;
    border-radius: 14px;
}

textarea.form-control,
textarea {
    min-height: 82px;
}

.btn {
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 13px;
}

.btn-small {
    min-height: 34px;
    padding: 7px 11px;
}

.choice-card {
    padding: 14px;
    border-radius: 16px;
}

.choice-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 14px;
}

.payment-summary-grid {
    gap: 12px;
}

.summary-tile {
    padding: 14px;
    border-radius: 15px;
}

.transfer-preview-card,
.recipient-preview-card,
.inline-info-card {
    padding: 14px;
    border-radius: 15px;
}

.sticky-sidebar-card {
    top: 14px;
}

.balance-item {
    padding: 10px 0;
}

.balance-item strong {
    text-align: right;
}

@media (max-width: 768px) {
    .main-content {
        padding: 14px 12px 20px;
    }

    .top-panel {
        padding: 10px 12px 6px;
    }

    .section,
    .page-sidebar {
        padding: 15px;
    }

    .refined-type-grid .type-btn,
    .type-btn {
        min-height: auto;
        padding: 14px;
    }

    .sidebar-header {
        padding: 18px 18px 14px;
    }

    .user-info {
        margin: 12px 14px 8px;
    }
}

/* Verification and wallet-admin refinements */
.kyc-status-card,
.kyc-mini-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.kyc-status-card h3,
.kyc-mini-status h3 {
    margin-bottom: 4px;
}

.kyc-status-card p,
.kyc-mini-status p {
    margin: 0;
}

.verification-bottom-panel {
    margin-top: 22px;
}

.verification-submit-section {
    margin-top: 16px;
}

.kyc-form .form-group {
    min-width: 0;
}

.compact-file-upload .file-upload-area {
    min-height: 64px;
    padding: 14px 16px;
    border-radius: 16px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 12px;
    align-items: center;
}

.compact-file-upload .upload-svg {
    grid-row: span 2;
    width: 1.3rem;
    height: 1.3rem;
    color: var(--primary);
}

.compact-file-upload .upload-text,
.compact-file-upload .upload-hint {
    margin: 0;
}

.wallet-settings-table-wrap {
    margin-top: 14px;
}

.wallet-settings-table {
    min-width: 780px;
}

.wallet-settings-table th:nth-child(1),
.wallet-settings-table td:nth-child(1) {
    width: 150px;
}

.wallet-settings-table th:nth-child(2),
.wallet-settings-table td:nth-child(2) {
    width: 230px;
}

.wallet-settings-table .form-control {
    min-height: 42px;
}

.table-actions-cell {
    width: 110px;
    text-align: right;
}

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

.dense-grid.three-col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.verification-docs {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
    gap: 16px;
    align-items: start;
}

.doc-section {
    min-width: 0;
}

.doc-image {
    max-width: 100%;
    border-radius: 16px;
    border: 1px solid var(--border-color);
}

@media (max-width: 900px) {
    .kyc-status-card,
    .kyc-mini-status {
        align-items: flex-start;
        flex-direction: column;
    }

    .verification-docs,
    .dense-grid.three-col {
        grid-template-columns: 1fr;
    }

    .wallet-settings-table {
        min-width: 680px;
    }
}

@media (max-width: 640px) {
    .compact-file-upload .file-upload-area {
        grid-template-columns: 1fr;
    }

    .compact-file-upload .upload-svg {
        grid-row: auto;
    }
}


/* --- 2026-06 right-space and TRX pass --- */
.page-layout > .main-content:only-child {
    grid-column: 1 / -1;
}

.page-layout:not(:has(.sidebar-area)) {
    grid-template-columns: 1fr;
}

#main-content > .page-header,
#main-content > .page-layout {
    width: 100%;
}

#main-content > .page-layout > .main-content {
    width: 100%;
    max-width: none;
}

#main-content > .page-layout > .main-content > .section {
    width: 100%;
}

.crypto-svg.trx { color: #ff5b5b; }

.rates-section {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}

.rate-item {
    width: 100%;
}

@media (max-width: 1180px) {
    .rates-section {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }
}

@media (max-width: 640px) {
    .rates-section {
        grid-template-columns: 1fr;
    }
}

/* --- 2026-06 profile/admin density and tetris pass --- */
.profile-masonry {
    display: grid;
    grid-template-columns: minmax(280px, 1.15fr) minmax(260px, .9fr) minmax(260px, .9fr);
    gap: 16px;
    align-items: start;
}

.profile-main-section {
    grid-row: span 2;
}

.compact-profile-card {
    padding: 14px 0 0;
    box-shadow: none;
    background: transparent;
    border: 0;
}

.compact-currency-form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: end;
}

.compact-currency-selector {
    display: grid;
    grid-template-columns: repeat(4, minmax(56px, 1fr));
    gap: 8px;
}

.compact-save-btn {
    min-height: 44px;
    padding-inline: 18px;
}

.settings-stack,
.compact-checkbox-group {
    display: grid;
    gap: 10px;
}

.compact-settings-item {
    padding: 12px 0;
    gap: 14px;
}

.compact-settings-item h4,
.compact-settings-item p {
    margin: 0;
}

.admin-header {
    align-items: end;
    gap: 16px;
    margin-bottom: 18px;
}

.admin-header .admin-controls {
    display: grid;
    grid-template-columns: minmax(220px, 320px) minmax(180px, 240px) auto;
    gap: 10px;
    align-items: center;
}

.admin-header .admin-controls .form-control,
.admin-header .admin-controls .search-input {
    height: 46px;
    min-height: 46px;
    padding: 0 14px;
    font-size: .95rem;
}

.admin-header .admin-controls .btn {
    min-height: 46px;
    height: 46px;
    padding: 0 16px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.admin-table-container,
.transactions-table {
    max-width: 100%;
}

.admin-table {
    min-width: 0;
    table-layout: fixed;
    width: 100%;
}

.admin-table th,
.admin-table td {
    padding: 12px 10px;
    vertical-align: middle;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.admin-table td {
    font-size: .92rem;
}

.admin-tetris-layout {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(360px, .9fr);
    gap: 16px;
    align-items: start;
}

.admin-stats-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(90px, 1fr));
    gap: 10px;
}

.compact-stat-card {
    padding: 14px;
    border-radius: 16px;
}

.compact-stat-card .stat-label {
    font-size: .78rem;
    margin-bottom: 4px;
}

.compact-stat-card .stat-value {
    font-size: 1.45rem;
}

.admin-create-panel {
    grid-row: span 2;
}

.compact-admin-form {
    display: grid;
    gap: 12px;
}

.compact-admin-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.compact-admin-form .form-group {
    margin-bottom: 0;
}

.compact-admin-form .form-control {
    min-height: 42px;
    height: 42px;
    padding: 0 12px;
}

.compact-admin-form input.form-control {
    height: 42px;
}

.compact-create-btn {
    justify-self: start;
    min-height: 42px;
    padding-inline: 24px;
}

.admin-transactions-panel {
    grid-column: 1 / 2;
}

.admin-tx-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 12px;
}

.admin-tx-card {
    padding: 14px;
    border: 1px solid var(--border-color);
    border-radius: 18px;
    background: rgba(2, 6, 23, .34);
    display: grid;
    gap: 10px;
    min-width: 0;
}

.admin-tx-head,
.admin-tx-foot {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}

.admin-tx-type {
    font-weight: 800;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.admin-tx-user,
.admin-tx-details,
.admin-tx-foot small {
    color: var(--text-secondary);
    overflow-wrap: anywhere;
}

.admin-tx-amount {
    font-weight: 800;
    font-size: 1.05rem;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.admin-tx-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.compact-detail-cards {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.compact-detail-cards .detail-card {
    padding: 14px;
}

@media (max-width: 1280px) {
    .profile-masonry,
    .admin-tetris-layout {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .profile-main-section,
    .admin-create-panel,
    .admin-transactions-panel {
        grid-column: auto;
        grid-row: auto;
    }
}

@media (max-width: 900px) {
    .profile-masonry,
    .admin-tetris-layout,
    .admin-header .admin-controls {
        grid-template-columns: 1fr;
    }
    .admin-stats-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .compact-admin-grid,
    .compact-currency-form {
        grid-template-columns: 1fr;
    }
    .compact-currency-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .admin-header .admin-controls .btn {
        width: 100%;
    }
}

@media (max-width: 560px) {
    .admin-stats-panel,
    .admin-tx-grid {
        grid-template-columns: 1fr;
    }
    .admin-tx-head,
    .admin-tx-foot {
        flex-direction: column;
        align-items: flex-start;
    }
    .admin-tx-actions {
        justify-content: flex-start;
    }
}

/* --- Admin transaction pagination/filter pass --- */
.admin-tx-dashboard {
    display: grid;
    gap: 18px;
}

.admin-top-strip {
    display: grid;
    grid-template-columns: minmax(360px, 0.9fr) minmax(520px, 1.1fr);
    gap: 18px;
    align-items: stretch;
}

.admin-tx-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) minmax(220px, 1fr) minmax(160px, .7fr) minmax(160px, .7fr);
    gap: 12px;
    margin: 16px 0;
    align-items: end;
}

.admin-tx-list {
    display: grid;
    gap: 10px;
}

.admin-tx-card.list-mode {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(190px, auto);
    gap: 16px;
    align-items: center;
    min-height: auto;
    padding: 15px 16px;
}

.admin-tx-card.list-mode .admin-tx-main {
    min-width: 0;
    display: grid;
    grid-template-columns: minmax(200px, 1.15fr) minmax(180px, 1fr) minmax(180px, 1fr);
    gap: 14px;
    align-items: center;
}

.admin-tx-card.list-mode .admin-tx-head {
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.admin-tx-card.list-mode .admin-tx-amount,
.admin-tx-card.list-mode .admin-tx-details,
.admin-tx-card.list-mode .admin-tx-user {
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-tx-card.list-mode .admin-tx-side {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    min-width: 0;
}

.admin-tx-card.list-mode .admin-tx-side small {
    white-space: nowrap;
    color: var(--text-secondary);
}

.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--border-color);
    color: var(--text-secondary);
}

.pagination-controls {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.pagination-ellipsis {
    padding: 0 4px;
    color: var(--text-tertiary);
}

.tx-list-header {
    align-items: center;
}

.tx-list-actions {
    display: flex;
    gap: 8px;
}

.live-rate-info {
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 8px;
    row-gap: 2px;
    align-items: center;
}

.live-rate-info small {
    grid-column: 1 / -1;
    font-size: .72rem;
    color: var(--text-tertiary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 220px;
}

.rate-item .rate-value {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 1320px) {
    .admin-top-strip {
        grid-template-columns: 1fr;
    }
    .admin-tx-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1040px) {
    .admin-tx-card.list-mode,
    .admin-tx-card.list-mode .admin-tx-main {
        grid-template-columns: 1fr;
    }
    .admin-tx-card.list-mode .admin-tx-side {
        justify-content: space-between;
    }
}

@media (max-width: 768px) {
    .admin-tx-filters {
        grid-template-columns: 1fr;
    }
    .admin-pagination {
        align-items: stretch;
    }
    .pagination-controls {
        width: 100%;
    }
    .pagination-controls .btn {
        flex: 1 1 auto;
    }
    .live-rate-info small {
        display: none;
    }
}

/* --- Client profile + modal cleanup pass --- */
body::before {
    display: none !important;
}

.top-panel,
.sidebar,
.rate-item,
.wallet-info,
.section,
.page-sidebar,
.admin-modal-content,
.auth-card,
.balance-card {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.top-panel {
    position: relative !important;
    top: auto !important;
}

.client-admin-header.detail-mode .admin-controls {
    display: none !important;
}

.compact-admin-controls {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 220px auto;
    gap: 14px;
    align-items: center;
}

.btn-compact-add {
    min-height: 48px;
    padding: 10px 18px;
    white-space: nowrap;
}

.client-detail-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.client-summary-card {
    grid-column: 1 / -1;
}

.client-info-card {
    grid-column: span 5;
}

.client-balances-card {
    grid-column: span 7;
}

.client-verification-card,
.client-transactions-card {
    grid-column: 1 / -1;
}

.client-toolbar {
    margin-bottom: 14px;
}

.client-summary-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border-radius: 22px;
    border: 1px solid var(--border-color);
    background: rgba(2, 6, 23, .38);
}

.compact-avatar {
    width: 64px !important;
    height: 64px !important;
    font-size: 1.1rem !important;
}

.compact-client-info h2 {
    margin: 0 0 5px;
    font-size: clamp(1.25rem, 2vw, 1.7rem);
}

.compact-client-info p {
    margin: 0 0 10px;
}

.client-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.readonly-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.04);
    color: var(--primary);
    font-family: var(--font-mono);
    font-size: .8rem;
}

.client-action-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.mini-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.mini-info-item {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(2, 6, 23, .38);
    border: 1px solid var(--border-color);
    min-width: 0;
}

.mini-info-item span {
    display: block;
    color: var(--text-secondary);
    font-size: .8rem;
    margin-bottom: 4px;
}

.mini-info-item strong {
    display: block;
    color: var(--text-primary);
    word-break: break-word;
}

.compact-balance-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 10px;
}

.compact-balance-tile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid var(--border-color);
    background: rgba(2, 6, 23, .38);
}

.compact-balance-tile span {
    display: block;
    color: var(--text-secondary);
    font-size: .8rem;
}

.compact-balance-tile strong {
    display: block;
    margin-top: 2px;
}

.balance-plus-btn {
    width: 34px;
    height: 34px;
    padding: 0;
    border-radius: 12px;
    font-size: 1rem;
}

.compact-verification-docs {
    display: grid;
    grid-template-columns: minmax(260px, 1.2fr) minmax(220px, .8fr) minmax(220px, .8fr);
    gap: 14px;
    align-items: start;
}

.verification-data-card,
.verification-image-card,
.verification-actions-card {
    padding: 14px;
    border-radius: 18px;
    background: rgba(2, 6, 23, .35);
    border: 1px solid var(--border-color);
}

.compact-doc-image {
    max-height: 240px;
    object-fit: contain;
    width: 100%;
}

.compact-history-table table,
.compact-client-table {
    min-width: 700px;
}

.compact-client-table th,
.compact-client-table td {
    padding: 12px 14px !important;
}

.refined-modal {
    background: rgba(2, 6, 23, .72) !important;
    padding: 18px;
}

.refined-modal-content {
    width: min(860px, calc(100vw - 32px)) !important;
    max-width: 860px !important;
    max-height: min(82vh, 760px) !important;
    border-radius: 24px !important;
    padding: 26px !important;
    overflow: auto;
    border: 1px solid var(--border-color);
}

.create-user-modal-content {
    width: min(780px, calc(100vw - 32px)) !important;
}

.compact-balance-modal {
    width: min(560px, calc(100vw - 32px)) !important;
}

.modal-header p {
    margin: 4px 0 0;
}

.modal-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.modal-form-grid.two-col-only {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.modal-footer-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding-top: 8px;
}

.ui-dialog-overlay {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 18px;
    background: rgba(2, 6, 23, .72);
}

.ui-dialog-card {
    width: min(480px, calc(100vw - 32px));
    border-radius: 24px;
    border: 1px solid var(--border-color);
    background: linear-gradient(180deg, rgba(15, 23, 42, .98), rgba(8, 13, 26, .98));
    box-shadow: 0 30px 90px rgba(0,0,0,.52);
    padding: 24px;
}

.ui-dialog-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--border-color);
}

.ui-dialog-header h3 {
    margin: 0;
}

.ui-dialog-close {
    width: 36px;
    height: 36px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.04);
    color: var(--text-primary);
    cursor: pointer;
}

.ui-dialog-body {
    padding: 18px 0;
}

.ui-dialog-body p {
    margin: 0;
    color: var(--text-light);
}

.ui-dialog-label {
    display: block;
    margin-bottom: 10px;
    color: var(--text-light);
    font-weight: 600;
}

.ui-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 1100px) {
    .client-info-card,
    .client-balances-card {
        grid-column: 1 / -1;
    }
    .compact-verification-docs {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .compact-admin-controls {
        grid-template-columns: 1fr;
    }
    .client-summary-main {
        grid-template-columns: 1fr;
        text-align: left;
    }
    .client-action-row {
        grid-template-columns: 1fr;
    }
    .modal-form-grid,
    .modal-form-grid.two-col-only {
        grid-template-columns: 1fr;
    }
    .modal-footer-actions,
    .ui-dialog-actions {
        flex-direction: column;
    }
    .modal-footer-actions .btn,
    .ui-dialog-actions .btn {
        width: 100%;
    }
}

html {
    scrollbar-gutter: stable;
}

* {
    scroll-behavior: auto !important;
}

/* Manual blockchain-style transaction fields */
.compact-admin-grid-wide {
    grid-column: 1 / -1;
}

.admin-tx-details {
    line-height: 1.45;
}


/* --- cleanup pass: top bar, ID copy, settings without rates, blockchain tx create --- */
.top-panel {
    padding: 12px 22px !important;
    border-bottom: 1px solid rgba(148, 163, 184, .16);
}

.top-panel-container {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
}

.rates-section {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 0 2px;
    scrollbar-width: thin;
}

.rate-item {
    flex: 0 0 188px;
    width: 188px !important;
    min-width: 188px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
}

.rate-value {
    font-size: 1.05rem !important;
}

.primary-currency-card {
    min-height: 54px;
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 12px 16px !important;
    white-space: nowrap;
}

.live-rate-info small,
.rate-source-card,
.crypto-rate-settings,
.settings-rate-grid {
    display: none !important;
}

.user-account-id.copy-account-id {
    margin-top: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--primary);
    font-family: var(--font-mono);
    font-size: .75rem;
    line-height: 1.2;
    cursor: pointer;
    text-align: left;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-account-id.copy-account-id:hover {
    text-decoration: underline;
}

.tx-chain-flow {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin: 8px 0;
    font-size: .82rem;
    color: var(--text-secondary);
}

.tx-chain-node,
.tx-chain-hash {
    display: inline-flex;
    align-items: center;
    max-width: 220px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(255,255,255,.035);
    border: 1px solid var(--border-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tx-chain-hash {
    color: var(--primary);
}

.tx-chain-arrow {
    color: var(--primary);
}

.admin-create-panel .compact-admin-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-create-panel .compact-admin-grid-wide {
    grid-column: 1 / -1;
}

.admin-create-panel {
    grid-row: auto !important;
}

@media (max-width: 1200px) {
    .admin-create-panel .compact-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .top-panel {
        padding: 10px 12px !important;
    }
    .top-panel-container {
        grid-template-columns: auto minmax(0, 1fr);
    }
    .user-wallet-section {
        grid-column: 1 / -1;
    }
    .primary-currency-card {
        min-height: 44px;
        justify-content: center;
    }
    .rate-item {
        flex-basis: 150px;
        width: 150px !important;
        min-width: 150px !important;
    }
    .admin-create-panel .compact-admin-grid {
        grid-template-columns: 1fr;
    }
}

/* --- final cleanup: compact ticker, sane tx rows, inline ID copy --- */
.top-panel {
    padding: 8px 18px !important;
    min-height: 0 !important;
    background: rgba(7, 11, 22, .88) !important;
}

.top-panel-container {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 10px !important;
    min-height: 46px;
}

.rates-section {
    gap: 8px !important;
    padding: 0 !important;
    align-items: center !important;
}

.rate-item.compact-rate-item,
.rate-item {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    display: inline-grid !important;
    grid-template-columns: auto auto auto;
    align-items: center;
    gap: 8px;
    background: rgba(15, 23, 42, .74) !important;
}

.compact-rate-item .rate-label,
.rate-item .rate-label {
    font-size: .78rem !important;
    letter-spacing: .06em;
    color: var(--text-secondary) !important;
}

.compact-rate-item .rate-value,
.rate-item .rate-value {
    font-size: .92rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    white-space: nowrap;
}

.compact-rate-item .rate-change,
.rate-item .rate-change {
    padding: 3px 6px !important;
    border-radius: 8px !important;
    font-size: .75rem !important;
    white-space: nowrap;
}

.primary-currency-card {
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
    font-size: .9rem;
}

.user-account-id.copy-account-id {
    display: block;
    margin-top: 5px;
    font-size: .76rem;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
}

.user-account-id .account-id-label {
    color: var(--primary);
}

.user-account-id .account-id-value {
    color: var(--text-primary);
    font-weight: 700;
}

.id-copy-feedback {
    min-height: 14px;
    margin-top: 2px;
    font-size: .7rem;
    color: var(--success);
    opacity: 0;
    transition: opacity .12s ease;
}

.id-copy-feedback.visible {
    opacity: 1;
}

.admin-top-strip {
    grid-template-columns: minmax(280px, .78fr) minmax(620px, 1.22fr) !important;
    align-items: start !important;
}

.admin-stats-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-content: start;
    min-height: 0 !important;
}

.compact-stat-card {
    min-height: 82px !important;
}

.admin-tx-card.list-mode {
    grid-template-columns: minmax(0, 1fr) 190px !important;
    padding: 12px 14px !important;
    min-height: 86px !important;
    gap: 12px !important;
    align-items: center !important;
}

.admin-tx-card.list-mode .admin-tx-main {
    display: grid !important;
    grid-template-columns: minmax(170px, .9fr) minmax(190px, .75fr) minmax(360px, 1.35fr) !important;
    gap: 14px !important;
    align-items: center !important;
}

.admin-tx-meta-text,
.admin-tx-amount,
.admin-tx-details {
    min-width: 0;
}

.admin-tx-card.list-mode .admin-tx-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 10px;
}

.admin-tx-card.list-mode .admin-tx-amount {
    font-size: .98rem !important;
    line-height: 1.35;
    max-height: 2.9em;
    overflow: hidden;
}

.admin-tx-card.list-mode .admin-tx-details {
    font-size: .82rem;
    line-height: 1.35;
    overflow: hidden;
}

.tx-chain-flow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px !important;
    margin: 0 !important;
    max-width: 100%;
}

.tx-chain-addresses {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
}

.tx-chain-node {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 6px;
    max-width: none !important;
    min-width: 0;
    border-radius: 10px !important;
    padding: 6px 8px !important;
}

.tx-chain-node b {
    color: var(--text-tertiary);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.tx-chain-node em {
    color: var(--text-light);
    font-style: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tx-chain-meta {
    display: flex;
    gap: 8px;
    align-items: center;
    min-width: 0;
    color: var(--text-secondary);
}

.tx-chain-hash {
    max-width: 180px !important;
    border-radius: 10px !important;
    padding: 4px 7px !important;
}

.tx-chain-arrow {
    display: none !important;
}

.admin-tx-card.list-mode .admin-tx-side {
    gap: 8px !important;
}

.admin-tx-card.list-mode .admin-tx-side small {
    font-size: .78rem;
}

@media (max-width: 1320px) {
    .admin-top-strip {
        grid-template-columns: 1fr !important;
    }
    .admin-tx-card.list-mode,
    .admin-tx-card.list-mode .admin-tx-main {
        grid-template-columns: 1fr !important;
    }
    .admin-tx-card.list-mode .admin-tx-side {
        justify-content: flex-start !important;
    }
}

@media (max-width: 760px) {
    .top-panel-container {
        grid-template-columns: auto minmax(0, 1fr) !important;
    }
    .rate-item.compact-rate-item,
    .rate-item {
        height: 36px !important;
        padding: 0 8px !important;
    }
    .compact-rate-item .rate-value,
    .rate-item .rate-value {
        font-size: .84rem !important;
    }
    .tx-chain-addresses {
        grid-template-columns: 1fr;
    }
}

/* --- final sanity pass: stable topbar + clean profile grid + non-jumping save --- */
.top-panel {
    height: 52px !important;
    min-height: 52px !important;
    padding: 6px 16px !important;
    overflow: hidden !important;
}

.top-panel-container {
    display: grid !important;
    grid-template-columns: auto minmax(0, max-content) auto !important;
    justify-content: start !important;
    align-items: center !important;
    min-height: 40px !important;
    height: 40px !important;
    gap: 8px !important;
}

.rates-section {
    display: grid !important;
    grid-template-columns: repeat(4, 146px) !important;
    gap: 8px !important;
    overflow: hidden !important;
    height: 40px !important;
    align-items: center !important;
}

.rate-item.compact-rate-item,
.rate-item {
    height: 36px !important;
    min-height: 36px !important;
    width: 146px !important;
    max-width: 146px !important;
    padding: 0 8px !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: 6px !important;
    align-items: center !important;
    overflow: hidden !important;
}

.compact-rate-item .rate-label,
.rate-item .rate-label {
    font-size: .72rem !important;
    letter-spacing: .04em !important;
    white-space: nowrap !important;
}

.compact-rate-item .rate-value,
.rate-item .rate-value {
    font-size: .84rem !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-variant-numeric: tabular-nums !important;
}

.compact-rate-item .rate-change,
.rate-item .rate-change {
    font-size: .68rem !important;
    padding: 2px 5px !important;
    min-width: 40px !important;
    text-align: center !important;
    font-variant-numeric: tabular-nums !important;
}

.primary-currency-card {
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: .82rem !important;
    white-space: nowrap !important;
}

.primary-currency-card .wallet-label {
    color: var(--text-secondary) !important;
}

.primary-currency-card .wallet-value {
    font-size: .95rem !important;
    font-weight: 900 !important;
}

.profile-grid-clean {
    display: grid !important;
    grid-template-columns: minmax(340px, 1.1fr) minmax(320px, .9fr) !important;
    gap: 16px !important;
    align-items: start !important;
}

.profile-grid-clean .section,
.profile-grid-clean .profile-main-section {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 0 !important;
}

.profile-grid-clean .profile-main-section {
    grid-column: 1 / -1 !important;
}

.profile-grid-clean .compact-profile-card {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    padding: 18px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 18px !important;
    background: rgba(2, 6, 23, .28) !important;
}

.profile-grid-clean .profile-avatar {
    width: 72px !important;
    height: 72px !important;
    font-size: 1.55rem !important;
    flex: 0 0 auto !important;
}

.profile-grid-clean .profile-info h2 {
    margin-bottom: 6px !important;
}

.compact-currency-form {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
}

.compact-currency-selector {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(64px, 1fr)) !important;
    gap: 8px !important;
}

.compact-currency-selector .currency-option {
    min-height: 42px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    background: rgba(2, 6, 23, .34) !important;
}

.compact-currency-selector .currency-option input {
    width: 14px !important;
    height: 14px !important;
    min-height: 0 !important;
    accent-color: var(--primary) !important;
}

.compact-save-btn {
    justify-self: start !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 18px !important;
}

.inline-save-feedback {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    color: var(--success);
    font-size: .82rem;
    opacity: 0;
    transition: opacity .12s ease;
    margin-left: 10px;
}

.inline-save-feedback.visible {
    opacity: 1;
}

.settings-stack,
.compact-checkbox-group {
    gap: 8px !important;
}

.compact-settings-item {
    padding: 10px 0 !important;
}

@media (max-width: 1240px) {
    .rates-section {
        grid-template-columns: repeat(4, 132px) !important;
    }
    .rate-item.compact-rate-item,
    .rate-item {
        width: 132px !important;
        max-width: 132px !important;
    }
}

@media (max-width: 980px) {
    .top-panel {
        height: auto !important;
        min-height: 50px !important;
        overflow: visible !important;
    }
    .top-panel-container {
        grid-template-columns: auto minmax(0, 1fr) !important;
        height: auto !important;
    }
    .rates-section {
        grid-template-columns: repeat(4, 136px) !important;
        overflow-x: auto !important;
    }
    .user-wallet-section {
        grid-column: 1 / -1;
    }
    .primary-currency-card {
        width: max-content !important;
    }
    .profile-grid-clean {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 640px) {
    .compact-currency-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .profile-grid-clean .compact-profile-card {
        align-items: flex-start !important;
    }
}

/* --- admin transactions final layout: stacked, full-width, no crooked side-by-side blocks --- */
.admin-tx-dashboard {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
}

.admin-top-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
}

.admin-stats-panel {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
    gap: 12px !important;
    padding: 18px !important;
    min-height: 0 !important;
    align-content: stretch !important;
}

.admin-stats-panel .compact-stat-card {
    min-height: 88px !important;
    height: auto !important;
    display: grid !important;
    place-items: center !important;
    padding: 14px 12px !important;
}

.admin-create-panel {
    width: 100% !important;
    max-width: none !important;
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    padding: 22px !important;
}

.admin-create-panel .compact-admin-form {
    width: 100% !important;
}

.admin-create-panel .compact-admin-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
    align-items: start !important;
}

.admin-create-panel .compact-admin-grid-wide {
    grid-column: 1 / -1 !important;
}

.admin-create-panel .compact-create-btn {
    width: fit-content !important;
    min-width: 120px !important;
    margin-top: 4px !important;
}

.admin-transactions-panel {
    width: 100% !important;
}

.admin-tx-list {
    width: 100% !important;
}

/* Keep transaction rows inside their own cell instead of inflating like a drunk accordion. */
.admin-tx-card.list-mode {
    width: 100% !important;
    min-height: 74px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.admin-tx-card.list-mode .admin-tx-main {
    min-width: 0 !important;
}

.admin-tx-card.list-mode .admin-tx-amount,
.admin-tx-card.list-mode .admin-tx-details,
.admin-tx-card.list-mode .admin-tx-user,
.admin-tx-card.list-mode .admin-tx-type {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 1280px) {
    .admin-stats-panel {
        grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
    }
    .admin-create-panel .compact-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .admin-stats-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        padding: 14px !important;
    }
    .admin-create-panel {
        padding: 16px !important;
    }
    .admin-create-panel .compact-admin-grid {
        grid-template-columns: 1fr !important;
    }
    .admin-create-panel .compact-create-btn {
        width: 100% !important;
    }
}

/* --- mobile dashboard sanity: no rate-strip carousel, actions immediately after balance --- */
.mobile-balance-actions {
    display: none;
}

.overview-layout .sidebar-area {
    align-self: start;
}

@media (max-width: 760px) {
    .top-panel {
        height: 46px !important;
        min-height: 46px !important;
        padding: 6px 10px !important;
        overflow: hidden !important;
    }

    .top-panel-container {
        height: 34px !important;
        min-height: 34px !important;
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .rates-section {
        display: none !important;
    }

    .user-wallet-section {
        grid-column: auto !important;
        justify-self: end !important;
        min-width: 0 !important;
    }

    .primary-currency-card {
        width: auto !important;
        max-width: 190px !important;
        min-height: 34px !important;
        height: 34px !important;
        padding: 0 10px !important;
        border-radius: 12px !important;
        font-size: .78rem !important;
    }

    .primary-currency-card .wallet-label {
        max-width: 110px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .primary-currency-card .wallet-value {
        font-size: .9rem !important;
    }

    .mobile-menu-btn {
        width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
    }

    .overview-layout {
        display: block !important;
    }

    .overview-main {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .overview-main > .section,
    .overview-main > .balance-card,
    .overview-main > .mobile-balance-actions {
        margin-top: 0 !important;
    }

    .mobile-balance-actions {
        display: block !important;
        order: 2 !important;
    }

    .mobile-balance-actions .page-sidebar {
        padding: 14px !important;
        border-radius: 18px !important;
    }

    .mobile-balance-actions .page-sidebar h3 {
        margin-bottom: 10px !important;
        font-size: 1rem !important;
    }

    .mobile-balance-actions .quick-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .mobile-balance-actions .action-btn {
        min-height: 48px !important;
        padding: 10px 12px !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 8px !important;
    }

    .overview-layout > .sidebar-area {
        display: none !important;
    }

    .overview-main > .balance-card {
        order: 1 !important;
    }

    .overview-main > .section:nth-of-type(1) {
        order: 3 !important;
    }

    .overview-main > .section:nth-of-type(2) {
        order: 4 !important;
    }

    .overview-main > .section:nth-of-type(3) {
        order: 5 !important;
    }

    .overview-main > .section:nth-of-type(4) {
        order: 6 !important;
    }

    .overview-main > .verification-bottom-panel,
    .overview-main > .kyc-inline-form,
    .overview-main > .verification-form-section {
        order: 7 !important;
    }

    .balance-card {
        border-radius: 20px !important;
        padding: 18px !important;
    }

    .balance-header {
        align-items: flex-start !important;
        gap: 8px !important;
    }

    .balance-amount {
        font-size: clamp(1.9rem, 10vw, 2.7rem) !important;
        line-height: 1.05 !important;
        word-break: break-word !important;
    }

    .accounts-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    .account-card {
        min-height: 64px !important;
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .account-header {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 10px !important;
        align-items: center !important;
    }

    .account-balance {
        text-align: right !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .section,
    .compact-section,
    .page-sidebar {
        border-radius: 18px !important;
        padding: 16px !important;
    }

    .section-header,
    .section-header-row,
    .verification-header {
        gap: 10px !important;
        align-items: flex-start !important;
    }

    .transactions-table {
        overflow-x: auto !important;
    }

    .transactions-table table {
        min-width: 520px !important;
    }
}

@media (max-width: 420px) {
    .mobile-balance-actions .quick-actions {
        grid-template-columns: 1fr !important;
    }
    .primary-currency-card .wallet-label {
        display: none !important;
    }
}

/* --- dashboard order / remove verification duplication / cache-refresh patch --- */
.dashboard-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.dashboard-stack > .dashboard-block,
.dashboard-stack > .verification-form-section,
.dashboard-stack > .kyc-inline-form {
    margin-top: 0 !important;
}

.dashboard-stack .recent-block {
    margin-top: 0 !important;
}

@media (max-width: 760px) {
    .dashboard-header {
        display: none !important;
    }

    .overview-main.dashboard-stack {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .overview-main > .balance-block {
        order: 1 !important;
    }

    .overview-main > .actions-block {
        order: 2 !important;
    }

    .overview-main > .fiat-block {
        order: 3 !important;
    }

    .overview-main > .crypto-block {
        order: 4 !important;
    }

    .overview-main > .verification-block,
    .overview-main > .verification-form-section,
    .overview-main > .kyc-inline-form {
        order: 5 !important;
    }

    .overview-main > .recent-block {
        order: 99 !important;
    }

    .recent-block .transactions-table {
        max-width: 100% !important;
    }

    .recent-block table {
        min-width: 520px !important;
    }

    .kyc-mini-status {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 10px !important;
        align-items: start !important;
    }

    .kyc-mini-status h3,
    .kyc-mini-status p {
        margin-top: 0 !important;
    }
}


/* --- mobile wallet cards + sane rates placement patch --- */
.mobile-rates-grid {
    display: none;
}

/* Desktop: rates as text chips, no fat underlay cards. */
@media (min-width: 761px) {
    .rates-section .rate-item.compact-rate-item,
    .rates-section .rate-item {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 0 10px !important;
        width: auto !important;
        max-width: none !important;
    }

    .rates-section .rate-item + .rate-item {
        border-left: 1px solid rgba(148, 163, 184, .18) !important;
    }
}

/* Mobile: no horizontal wallet table; each editable row becomes a card. */
@media (max-width: 760px) {
    .top-panel {
        height: auto !important;
        min-height: 0 !important;
        padding: 8px 10px 10px !important;
        overflow: visible !important;
    }

    .top-panel-container {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 8px !important;
        align-items: center !important;
    }

    .rates-section {
        display: none !important;
    }

    .mobile-rates-grid {
        grid-column: 1 / -1;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        margin-top: 2px;
    }

    .mobile-rate-chip {
        min-width: 0;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        gap: 6px;
        padding: 7px 9px;
        border-radius: 12px;
        border: 1px solid rgba(148, 163, 184, .18);
        background: rgba(2, 6, 23, .34);
    }

    .mobile-rate-chip span {
        color: var(--text-secondary);
        font-size: .72rem;
        letter-spacing: .05em;
    }

    .mobile-rate-chip strong {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: .82rem;
        color: var(--text-primary);
        font-variant-numeric: tabular-nums;
    }

    .mobile-rate-chip em {
        font-style: normal;
        font-size: .7rem;
        padding: 2px 5px;
        border-radius: 7px;
        font-variant-numeric: tabular-nums;
    }

    .mobile-rate-chip em.positive {
        color: var(--success);
        background: rgba(16, 185, 129, .10);
    }

    .mobile-rate-chip em.negative {
        color: var(--danger);
        background: rgba(251, 113, 133, .12);
    }

    .primary-currency-card {
        min-height: 34px !important;
        height: 34px !important;
        padding: 0 10px !important;
    }

    .wallet-settings-table-wrap {
        border: 0 !important;
        background: transparent !important;
        overflow: visible !important;
        padding: 0 !important;
    }

    .wallet-settings-table,
    .wallet-settings-table tbody,
    .wallet-settings-table tr,
    .wallet-settings-table td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .wallet-settings-table thead {
        display: none !important;
    }

    .wallet-settings-table {
        border-spacing: 0 !important;
        min-width: 0 !important;
    }

    .wallet-settings-table tbody {
        display: grid !important;
        gap: 12px !important;
    }

    .wallet-settings-table .wallet-table-row {
        padding: 14px !important;
        border: 1px solid var(--border-color) !important;
        border-radius: 18px !important;
        background: rgba(15, 23, 42, .72) !important;
        box-shadow: var(--shadow-sm) !important;
    }

    .wallet-settings-table td {
        padding: 0 0 12px !important;
        border: 0 !important;
    }

    .wallet-settings-table td::before {
        display: block;
        margin: 0 0 6px;
        color: var(--text-secondary);
        font-size: .74rem;
        text-transform: uppercase;
        letter-spacing: .07em;
        font-weight: 700;
    }

    .wallet-settings-table td:nth-child(1)::before { content: 'Currency'; }
    .wallet-settings-table td:nth-child(2)::before { content: 'Network'; }
    .wallet-settings-table td:nth-child(3)::before { content: 'Wallet Address'; }

    .wallet-settings-table td:last-child {
        padding-bottom: 0 !important;
    }

    .wallet-settings-table td:last-child::before {
        display: none;
    }

    .wallet-settings-table .form-control {
        width: 100% !important;
        min-height: 44px !important;
    }

    .wallet-settings-table .table-actions-cell .btn {
        width: 100% !important;
        justify-content: center !important;
    }

    .wallet-actions .btn {
        width: 100% !important;
    }
}

@media (max-width: 420px) {
    .mobile-rates-grid {
        grid-template-columns: 1fr;
    }
}

/* Final cleanup: clean ticker, mobile-only rates, sane transaction controls */
.top-panel {
    min-height: 44px !important;
    height: auto !important;
    padding: 7px 18px !important;
    background: rgba(5, 9, 18, .78) !important;
    border-bottom: 1px solid rgba(148, 163, 184, .14) !important;
    box-shadow: none !important;
}

.top-panel-container.clean-ticker-layout,
.clean-ticker-layout {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    width: 100% !important;
    min-height: 30px !important;
}

.clean-rates-section,
.rates-section.clean-rates-section {
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.rate-item.clean-rate-item,
.clean-rate-item,
.rate-item.compact-rate-item,
.rate-item {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
    flex: 0 0 auto !important;
}

.rate-item::before,
.rate-item::after,
.clean-rate-item::before,
.clean-rate-item::after {
    display: none !important;
    content: none !important;
}

.clean-rate-item .rate-label,
.rate-item .rate-label {
    font-size: .78rem !important;
    font-weight: 700 !important;
    letter-spacing: .05em !important;
    color: var(--text-secondary) !important;
}

.clean-rate-item .rate-value,
.rate-item .rate-value {
    font-size: .92rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: var(--text-primary) !important;
    white-space: nowrap !important;
}

.clean-rate-item .rate-change,
.rate-item .rate-change {
    font-size: .72rem !important;
    font-weight: 800 !important;
    padding: 2px 6px !important;
    border-radius: 7px !important;
    background: rgba(255,255,255,.045) !important;
}

.clean-primary-section,
.user-wallet-section.clean-primary-section {
    margin-left: auto !important;
    flex: 0 0 auto !important;
}

.primary-currency-card.clean-primary-card,
.clean-primary-card,
.primary-currency-card {
    min-width: 0 !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 8px !important;
}

.clean-primary-card .wallet-label,
.primary-currency-card .wallet-label {
    color: var(--text-secondary) !important;
    font-size: .85rem !important;
}

.clean-primary-card .wallet-value,
.primary-currency-card .wallet-value {
    color: var(--primary) !important;
    font-size: .98rem !important;
    font-weight: 900 !important;
}

.mobile-only-rates-block {
    display: none !important;
}

.mobile-dashboard-rates {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.mobile-dashboard-rate {
    display: grid;
    gap: 3px;
    padding: 10px;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    background: rgba(255,255,255,.025);
}

.mobile-dashboard-rate span {
    font-size: .72rem;
    color: var(--text-secondary);
    font-weight: 800;
}

.mobile-dashboard-rate strong {
    font-size: .9rem;
    color: var(--text-primary);
    white-space: nowrap;
}

.mobile-dashboard-rate em {
    font-size: .72rem;
    font-style: normal;
    font-weight: 800;
}

.compact-mobile-rate-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.mobile-primary-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: 1px solid var(--border-color);
    border-radius: 999px;
    padding: 5px 9px;
    color: var(--text-secondary);
    font-size: .75rem;
}

.mobile-primary-pill strong {
    color: var(--primary);
}

.admin-top-strip {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.admin-stats-panel {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
}

.admin-create-panel {
    width: 100% !important;
}

.client-transaction-modal {
    width: min(860px, 94vw) !important;
    max-height: min(86vh, 760px) !important;
    overflow: auto !important;
}

.transaction-edit-section {
    margin-top: 16px !important;
}

.edit-tx-grid,
.compact-admin-grid.edit-tx-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.admin-tx-card.list-mode {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 14px 16px !important;
    min-height: 0 !important;
}

.admin-tx-card.list-mode .admin-tx-main {
    display: grid !important;
    grid-template-columns: minmax(170px, .9fr) minmax(210px, 1fr) minmax(300px, 1.4fr) !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.admin-tx-card.list-mode .admin-tx-head,
.admin-tx-card.list-mode .admin-tx-amount,
.admin-tx-card.list-mode .admin-tx-details {
    min-width: 0 !important;
}

.tx-chain-flow {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
}

.tx-chain-addresses {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.tx-chain-arrow {
    color: var(--primary) !important;
    font-weight: 800 !important;
}

.tx-chain-node,
.tx-chain-hash {
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 6px 9px !important;
    border-radius: 999px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.tx-chain-meta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
    white-space: nowrap !important;
}

@media (max-width: 1100px) {
    .clean-rates-section,
    .rates-section.clean-rates-section {
        gap: 12px !important;
    }
    .admin-tx-card.list-mode .admin-tx-main {
        grid-template-columns: minmax(150px, .9fr) minmax(180px, 1fr) minmax(260px, 1.2fr) !important;
    }
    .edit-tx-grid,
    .compact-admin-grid.edit-tx-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 768px) {
    .top-panel {
        padding: 8px 12px !important;
    }
    .top-panel-container.clean-ticker-layout,
    .clean-ticker-layout {
        min-height: 34px !important;
    }
    .clean-rates-section,
    .rates-section.clean-rates-section,
    .clean-primary-section,
    .user-wallet-section.clean-primary-section {
        display: none !important;
    }
    .mobile-only-rates-block {
        display: block !important;
    }
    .mobile-dashboard-rates {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mobile-dashboard-rate {
        padding: 9px;
    }
    .mobile-dashboard-rate strong {
        font-size: .86rem;
    }
    .admin-stats-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .admin-tx-card.list-mode,
    .admin-tx-card.list-mode .admin-tx-main {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }
    .tx-chain-flow,
    .tx-chain-addresses {
        grid-template-columns: 1fr !important;
    }
    .tx-chain-arrow {
        display: none !important;
    }
    .tx-chain-meta {
        flex-wrap: wrap !important;
        white-space: normal !important;
    }
    .edit-tx-grid,
    .compact-admin-grid.edit-tx-grid,
    .client-transaction-modal .modal-form-grid {
        grid-template-columns: 1fr !important;
    }
}


/* --- Global polish pass: clean outlines, safe overflow, login cleanup --- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body,
#app,
.main-container,
.main-content,
.section,
.page-sidebar,
.admin-modal-content,
.ui-dialog-box,
.auth-card,
.profile-card,
.info-box,
.settings-item,
.account-card,
.balance-card,
.stat-card,
.detail-card,
.wallet-table-card,
.admin-tx-card,
.tx-list-card,
.transaction-row,
.mobile-wallet-card,
.verification-card,
.support-card,
.ticket-card {
    max-width: 100%;
}

/* Any real circles must have round borders/glow, not square boxes around them. */
.logo-orb,
.logo-orb::before,
.logo-orb::after,
.brand-orb,
.brand-orb::before,
.brand-orb::after,
.logo-img,
.brand-mark,
.user-avatar,
.client-avatar,
.profile-avatar,
.choice-card-icon.coin-icon,
.crypto-svg,
.mobile-avatar,
.avatar,
.recipient-icon {
    border-radius: 999px !important;
}

.logo-orb,
.brand-orb {
    overflow: visible !important;
    border: 0 !important;
    box-shadow: none !important;
    background: radial-gradient(circle, rgba(102, 227, 255, .14) 0%, rgba(139, 92, 246, .10) 45%, transparent 72%) !important;
}

.logo-img,
.brand-mark {
    overflow: hidden !important;
    background-color: transparent !important;
    border: 1px solid rgba(102, 227, 255, .22) !important;
    outline: 0 !important;
    box-shadow: 0 0 0 4px rgba(102, 227, 255, .035), 0 10px 28px rgba(0,0,0,.22) !important;
}

.user-avatar,
.client-avatar,
.profile-avatar {
    flex: 0 0 auto;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.12);
    outline: 0;
}

/* Text and controls must stay inside their own cell/card. */
.section,
.page-sidebar,
.info-box,
.setting-info,
.settings-item,
.status-row,
.info-row,
.admin-tx-card,
.admin-tx-main,
.admin-tx-head,
.admin-tx-amount,
.admin-tx-details,
.tx-chain-flow,
.tx-chain-addresses,
.tx-chain-node,
.tx-chain-hash,
.tx-chain-meta,
.detail-card,
.detail-value,
.balance-item,
.account-card,
.wallet-row,
.wallet-table-card,
.mobile-wallet-card,
.profile-info,
.user-details,
.client-info,
.form-group,
.currency-option,
.checkbox-item {
    min-width: 0 !important;
}

h1, h2, h3, h4, p, span, small, strong, label,
td, th, .detail-value, .info-row strong, .info-row span,
.status-row strong, .status-row span,
.account-balance, .account-name, .wallet-value,
.user-name, .user-email, .user-role,
.client-info h2, .client-info p,
.setting-info h4, .setting-info p,
.nav-label, .btn, button, input, select, textarea {
    overflow-wrap: anywhere;
    word-break: normal;
}

input,
select,
textarea,
.form-control,
.address-input,
.filter-input,
.search-input {
    width: 100%;
    max-width: 100%;
    text-overflow: ellipsis;
}

button,
.btn,
.action-btn,
.logout-btn,
.type-btn,
.tab-btn,
.swap-btn,
.modal-close,
.btn-small {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    line-height: 1.2;
}

.btn-small,
.modal-close,
.btn-icon-only,
.swap-btn {
    flex: 0 0 auto;
}

/* Settings rows: no more text/button overflow in 2FA/password/whitelist rows. */
.settings-stack,
.settings-form,
.checkbox-group {
    min-width: 0;
}

.settings-item,
.compact-settings-item,
.danger-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 14px !important;
    overflow: hidden !important;
}

.settings-item .btn,
.compact-settings-item .btn,
.danger-item .btn {
    width: auto;
    min-width: 112px;
    justify-self: end;
    white-space: nowrap;
}

.setting-info h4,
.setting-info p {
    max-width: 100%;
    margin-right: 0;
}

.setting-info p {
    line-height: 1.35;
}

/* Tables/lists: keep inner content clipped elegantly instead of breaking layout. */
.transactions-table,
.admin-table-container,
.tx-list,
.admin-tx-list,
.wallet-table-wrapper {
    max-width: 100%;
    overflow-x: auto;
}

.tx-chain-node,
.tx-chain-hash,
.hash-chip,
.address-chip,
.badge,
.status-badge {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
}

.status-badge,
.badge,
.currency-label,
.mobile-primary-pill,
.rate-change,
.tx-chain-node,
.tx-chain-hash {
    border-radius: 999px !important;
}

/* Login: remove ugly top/bottom strip artifacts and keep only one clean card. */
body:has(.auth-container) {
    overflow-x: hidden;
}

.auth-container {
    position: relative !important;
    isolation: isolate;
    min-height: 100vh !important;
    padding: clamp(18px, 4vw, 34px) !important;
    background:
        radial-gradient(circle at 28% 18%, rgba(102, 227, 255, .10), transparent 23rem),
        radial-gradient(circle at 72% 82%, rgba(139, 92, 246, .12), transparent 24rem),
        #050a14 !important;
}

.auth-container::before,
.auth-container::after,
.auth-card::before,
.auth-card::after,
.auth-hero {
    display: none !important;
    content: none !important;
}

.auth-card {
    border: 1px solid rgba(148, 163, 184, .16) !important;
    border-radius: 28px !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, .94), rgba(8, 13, 25, .94)) !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.42) !important;
    overflow: hidden !important;
}

.auth-brand {
    border: 0 !important;
    box-shadow: none !important;
}

/* Generic border refinement: consistent radii and no mismatched square outlines. */
.section,
.page-sidebar,
.info-box,
.settings-item,
.danger-item,
.account-card,
.balance-card,
.stat-card,
.detail-card,
.verification-card,
.wallet-table-card,
.admin-tx-card,
.admin-modal-content,
.ui-dialog-box,
.transactions-table,
.admin-table-container,
.exchange-preview,
.exchange-rate-card,
.recipient-preview-card,
.summary-tile,
.choice-card,
.inline-info-card,
.readonly-field,
.form-control,
.filter-input,
.search-input,
.address-input,
textarea,
select,
input {
    border-color: rgba(148, 163, 184, .18) !important;
}

.form-control:focus,
.filter-input:focus,
.search-input:focus,
.address-input:focus,
textarea:focus,
select:focus,
input:focus,
.btn:focus-visible,
button:focus-visible,
.nav-item:focus-visible,
.choice-card:focus-visible {
    outline: none !important;
    border-color: rgba(102, 227, 255, .62) !important;
    box-shadow: 0 0 0 3px rgba(102, 227, 255, .11) !important;
}

@media (max-width: 900px) {
    .settings-item,
    .compact-settings-item,
    .danger-item {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .settings-item .btn,
    .compact-settings-item .btn,
    .danger-item .btn {
        width: 100%;
        justify-self: stretch;
    }
}

@media (max-width: 560px) {
    .auth-card {
        padding: 24px !important;
        border-radius: 22px !important;
    }

    .auth-brand {
        margin-bottom: 18px !important;
    }

    .brand-text {
        font-size: 1.22rem !important;
    }
}

/* --- 2026-06-03 correction pass: avatar, login, overflow, clean controls --- */

/* Sidebar user card: restore avatar size, remove wasted empty space, keep ID inside. */
.sidebar .user-info {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 118px !important;
    padding: 16px 18px !important;
    margin: 16px 18px 12px !important;
    overflow: hidden !important;
}

.sidebar .user-avatar {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    font-size: 1rem !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.sidebar .user-details {
    display: grid !important;
    gap: 4px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

.sidebar .user-name,
.sidebar .user-email,
.sidebar .user-role {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.sidebar .user-account-id {
    display: inline-flex !important;
    align-items: baseline !important;
    gap: 6px !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 1px 0 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-align: left !important;
    font-size: .78rem !important;
    line-height: 1.25 !important;
}

.sidebar .account-id-label {
    color: var(--primary) !important;
    flex: 0 0 auto !important;
}

.sidebar .account-id-value {
    color: var(--text-primary) !important;
    font-weight: 800 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-width: 0 !important;
}

.sidebar .id-copy-feedback {
    min-height: 14px !important;
    font-size: .72rem !important;
    color: var(--success) !important;
}

/* Security/settings rows: keep text and buttons inside the cell. */
.profile-grid-clean .settings-stack,
.settings-stack {
    display: grid !important;
    gap: 12px !important;
}

.profile-grid-clean .settings-item,
.settings-item,
.compact-settings-item,
.danger-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 16px !important;
    min-width: 0 !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    background: rgba(2, 6, 23, .44) !important;
    overflow: hidden !important;
}

.setting-info {
    min-width: 0 !important;
    overflow: hidden !important;
}

.setting-info h4,
.setting-info p,
.checkbox-label {
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
}

.profile-grid-clean .settings-item .btn,
.settings-item .btn,
.compact-settings-item .btn,
.danger-item .btn {
    width: auto !important;
    min-width: 112px !important;
    max-width: 136px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 14px !important;
    justify-self: end !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Primary currency: real round radios, not square pseudo-checkboxes. */
.compact-currency-selector,
.currency-selector {
    min-width: 0 !important;
}

.compact-currency-selector .currency-option,
.currency-option {
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}

.compact-currency-selector .currency-option input[type="radio"],
.currency-option input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    flex: 0 0 16px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(226, 232, 240, .85) !important;
    background: rgba(255, 255, 255, .08) !important;
    box-shadow: none !important;
    display: inline-block !important;
    margin: 0 !important;
}

.compact-currency-selector .currency-option input[type="radio"]:checked,
.currency-option input[type="radio"]:checked {
    border-color: var(--primary) !important;
    background: radial-gradient(circle, var(--primary) 0 42%, transparent 46%) !important;
}

.currency-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    word-break: normal !important;
}

/* Checkboxes: undo huge native boxes. */
.checkbox-item,
.remember {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
}

.checkbox-item input[type="checkbox"],
.remember input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
    border-radius: 5px !important;
    border: 1px solid rgba(226, 232, 240, .55) !important;
    background: rgba(2, 6, 23, .62) !important;
    box-shadow: none !important;
    margin: 0 !important;
}

.checkbox-item input[type="checkbox"]:checked,
.remember input[type="checkbox"]:checked {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    box-shadow: inset 0 0 0 3px rgba(2, 6, 23, .74) !important;
}

.remember span,
.auth-link {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

/* Login: one clean centered card, no page strips around it. */
body:has(.auth-container),
body:has(.auth-container) html {
    background: #050a14 !important;
}

body:has(.auth-container)::before,
body:has(.auth-container)::after {
    display: none !important;
    content: none !important;
}

body:has(.auth-container) #app,
body:has(.auth-container) .main-container,
body:has(.auth-container) #main-content,
body:has(.auth-container) .main-content {
    width: 100% !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #050a14 !important;
    overflow: hidden !important;
}

.auth-container {
    width: 100% !important;
    min-height: 100vh !important;
    display: grid !important;
    place-items: center !important;
    padding: 24px !important;
    background: #050a14 !important;
}

.auth-card {
    width: min(420px, calc(100vw - 32px)) !important;
    padding: 32px !important;
    border-radius: 28px !important;
    overflow: visible !important;
}

.auth-form {
    display: grid !important;
    gap: 18px !important;
}

.auth-form .form-control {
    height: 50px !important;
    min-height: 50px !important;
    border-radius: 14px !important;
    background: rgba(2, 6, 23, .64) !important;
    color: var(--text-primary) !important;
}

.auth-options {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    min-width: 0 !important;
}

.auth-options .remember {
    flex: 0 1 auto !important;
    max-width: 50% !important;
}

.auth-options .auth-link {
    flex: 0 1 auto !important;
    max-width: 50% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: right !important;
}

/* Brand mark: round image, round glow; no square edge. */
.logo-orb,
.brand-orb {
    border-radius: 50% !important;
    overflow: visible !important;
}

.logo-orb::before,
.logo-orb::after,
.brand-orb::before,
.brand-orb::after {
    border-radius: 50% !important;
}

.logo-img,
.brand-mark {
    border-radius: 50% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    box-shadow: 0 0 22px rgba(102, 227, 255, .18) !important;
}

@media (max-width: 680px) {
    .profile-grid-clean .settings-item,
    .settings-item,
    .compact-settings-item,
    .danger-item {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }

    .profile-grid-clean .settings-item .btn,
    .settings-item .btn,
    .compact-settings-item .btn,
    .danger-item .btn {
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }

    .auth-options {
        flex-wrap: wrap !important;
    }

    .auth-options .remember,
    .auth-options .auth-link {
        max-width: 100% !important;
    }
}


/* --- 2026-06-03 final cleanup pass: avatar, overflow, clean login --- */
.sidebar .user-info {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 16px !important;
    min-height: 96px !important;
    padding: 16px 18px !important;
}

.sidebar .user-avatar {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    font-size: 1.22rem !important;
    line-height: 1 !important;
}

.sidebar .user-details {
    gap: 5px !important;
}

.sidebar .user-name {
    font-size: 0.98rem !important;
}

.sidebar .user-email,
.sidebar .user-role {
    font-size: 0.82rem !important;
}

.profile-grid-clean {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
    align-items: start !important;
}

.compact-currency-form {
    display: grid !important;
    gap: 12px !important;
}

.compact-currency-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.compact-currency-selector .currency-option,
.currency-selector .currency-option {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    overflow: hidden !important;
}

.compact-currency-selector .currency-option input[type="radio"],
.currency-selector .currency-option input[type="radio"] {
    position: absolute !important;
    inset: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    outline: none !important;
    box-shadow: none !important;
}

.currency-radio {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(226, 232, 240, .85) !important;
    background: rgba(255, 255, 255, .06) !important;
    box-shadow: none !important;
}

.currency-option input[type="radio"]:checked + .currency-radio {
    border-color: var(--primary) !important;
    background: radial-gradient(circle, var(--primary) 0 42%, transparent 46%) !important;
}

.currency-option input[type="radio"]:focus + .currency-radio,
.currency-option:focus-within .currency-radio {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(102, 227, 255, .14) !important;
}

.currency-option .currency-label {
    white-space: nowrap !important;
    font-weight: 700 !important;
}

.profile-grid-clean .settings-item,
.settings-item,
.compact-settings-item,
.danger-item {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 14px !important;
    overflow: hidden !important;
}

.profile-grid-clean .settings-item .btn,
.settings-item .btn,
.compact-settings-item .btn,
.danger-item .btn {
    min-width: 96px !important;
    max-width: 120px !important;
    height: 38px !important;
    padding: 0 12px !important;
}

.profile-grid-clean .section,
.profile-grid-clean .profile-main-section,
.profile-grid-clean .section .section-title,
.section .section-title,
.setting-info,
.setting-info h4,
.setting-info p,
.checkbox-group,
.checkbox-item,
.checkbox-label,
.info-row,
.form-group,
.form-control,
.btn,
.user-info,
.user-details,
.user-account-id,
.auth-card,
.auth-form,
.auth-options {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.setting-info p,
.checkbox-label,
.auth-link,
.remember-text {
    overflow-wrap: anywhere !important;
}

@media (max-width: 1440px) {
    .profile-grid-clean {
        grid-template-columns: 1fr !important;
    }
    .profile-grid-clean .section,
    .profile-grid-clean .profile-main-section {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 1180px) {
    .profile-grid-clean .settings-item,
    .settings-item,
    .compact-settings-item,
    .danger-item {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }
    .profile-grid-clean .settings-item .btn,
    .settings-item .btn,
    .compact-settings-item .btn,
    .danger-item .btn {
        width: 100% !important;
        max-width: 100% !important;
        justify-self: stretch !important;
    }
}

.auth-container,
body:has(.auth-container) #app,
body:has(.auth-container) .main-container,
body:has(.auth-container) #main-content,
body:has(.auth-container) .main-content {
    background: #050a14 !important;
    background-image: none !important;
}

.auth-container::before,
.auth-container::after,
.auth-hero {
    display: none !important;
    content: none !important;
    background: none !important;
}

.auth-card {
    background: rgba(8, 15, 32, .98) !important;
    border: 1px solid rgba(148, 163, 184, .18) !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .34) !important;
}

.auth-options {
    align-items: center !important;
    gap: 16px !important;
}

.remember {
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.remember-input {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

.remember-box {
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    border-radius: 4px !important;
    border: 1px solid rgba(226, 232, 240, .5) !important;
    background: rgba(2, 6, 23, .68) !important;
    display: inline-block !important;
    position: relative !important;
}

.remember-input:checked + .remember-box {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.remember-input:checked + .remember-box::after {
    content: "" !important;
    position: absolute !important;
    left: 4px !important;
    top: 1px !important;
    width: 4px !important;
    height: 8px !important;
    border-right: 2px solid #020617 !important;
    border-bottom: 2px solid #020617 !important;
    transform: rotate(45deg) !important;
}

.remember-text {
    font-size: 0.96rem !important;
    color: var(--text-primary) !important;
}

.auth-options .remember {
    max-width: none !important;
}

.auth-options .auth-link {
    max-width: none !important;
    white-space: nowrap !important;
}

@media (max-width: 640px) {
    .compact-currency-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .auth-options {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* --- 2026-06-03 logo / ticket widget / role hierarchy patch --- */
.logo-img,
.brand-mark {
    background: transparent !important;
}

.ticket-widget {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 999;
    pointer-events: none;
}

.ticket-widget-button {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(102, 227, 255, .32);
    background: linear-gradient(135deg, rgba(12, 20, 44, .96), rgba(24, 31, 62, .96));
    color: var(--text-primary);
    box-shadow: 0 18px 46px rgba(0,0,0,.38), 0 0 0 1px rgba(255,255,255,.04) inset;
    cursor: pointer;
    font-weight: 800;
}

.ticket-widget-button b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--primary);
    color: #020617;
    font-size: .72rem;
}

.ticket-widget-icon {
    color: var(--primary);
    width: 1.15rem;
    height: 1.15rem;
}

.ticket-widget-panel {
    pointer-events: auto;
    position: absolute;
    right: 0;
    bottom: 62px;
    width: min(420px, calc(100vw - 28px));
    max-height: min(680px, calc(100vh - 96px));
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    border-radius: 22px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(9, 16, 34, .98);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .52);
}

.ticket-widget-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 16px 14px;
    border-bottom: 1px solid rgba(148,163,184,.16);
}

.ticket-widget-head strong,
.ticket-widget-head span {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-widget-head span {
    margin-top: 3px;
    color: var(--text-secondary);
    font-size: .84rem;
}

.ticket-widget-close {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid rgba(148,163,184,.28);
    background: rgba(255,255,255,.04);
    color: var(--text-primary);
    cursor: pointer;
}

.ticket-widget-body {
    min-height: 0;
    overflow-y: auto;
    padding: 14px;
    display: grid;
    gap: 10px;
}

.ticket-new-btn { margin-bottom: 4px; }

.ticket-mini-card {
    width: 100%;
    display: grid;
    gap: 6px;
    padding: 13px;
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.18);
    background: rgba(2,6,23,.42);
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
}

.ticket-mini-card:hover {
    border-color: rgba(102,227,255,.34);
}

.ticket-mini-top,
.ticket-detail-toolbar,
.ticket-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.ticket-mini-card small {
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ticket-widget-empty {
    padding: 18px;
    border-radius: 16px;
    border: 1px dashed rgba(148,163,184,.22);
    color: var(--text-secondary);
    text-align: center;
}

.ticket-widget-form label {
    display: grid;
    gap: 7px;
    color: var(--text-primary);
    font-weight: 700;
}

.ticket-widget-form textarea,
.ticket-reply-mini textarea {
    min-height: 88px;
    resize: vertical;
}

.ticket-widget-actions,
.ticket-staff-actions,
.ticket-reply-mini {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ticket-staff-actions {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
}

.ticket-chat-log {
    display: grid;
    gap: 10px;
    padding: 2px 0;
}

.ticket-chat-msg {
    padding: 12px;
    border-radius: 16px;
    border: 1px solid rgba(148,163,184,.18);
    background: rgba(2,6,23,.42);
}

.ticket-chat-msg.staff { background: rgba(102,227,255,.06); }
.ticket-chat-msg.user { background: rgba(139,92,246,.06); }

.ticket-chat-msg div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.ticket-chat-msg span {
    color: var(--text-secondary);
    font-size: .78rem;
    white-space: nowrap;
}

.ticket-chat-msg p {
    margin: 0;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

.admin-support-grid,
.support-ticket-list {
    display: grid;
    gap: 16px;
}

.support-stats-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.support-stat-card {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 16px;
    background: rgba(2,6,23,.42);
    border: 1px solid rgba(148,163,184,.18);
    text-align: center;
}

.support-stat-card span { color: var(--text-secondary); }
.support-stat-card strong { color: var(--primary); font-size: 1.7rem; }

.support-filter-grid {
    grid-template-columns: minmax(260px, 1fr) minmax(170px, .4fr) minmax(220px, .5fr) !important;
}

.support-ticket-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, auto);
    gap: 16px;
    align-items: center;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(148,163,184,.18);
    background: rgba(2,6,23,.35);
}

.ticket-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--text-secondary);
    font-size: .86rem;
    margin-top: 8px;
}

.ticket-card-last {
    margin: 10px 0 0;
    color: var(--text-secondary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.support-ticket-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 260px;
}

.compact-select { height: 38px !important; min-height: 38px !important; }
.compact-detail-cards { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; }
.wide-ticket-actions { margin-top: 16px; max-width: 420px; }
.admin-ticket-log { margin-top: 12px; }
.admin-ticket-reply { margin-top: 16px; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }

@media (max-width: 880px) {
    .support-stats-row,
    .support-filter-grid,
    .support-ticket-card,
    .support-ticket-actions,
    .ticket-staff-actions {
        grid-template-columns: 1fr !important;
    }
    .support-ticket-actions { min-width: 0; }
}

@media (max-width: 640px) {
    .ticket-widget {
        right: 12px;
        bottom: 12px;
    }
    .ticket-widget-button {
        min-height: 44px;
        padding: 0 14px;
    }
    .ticket-widget-panel {
        right: -2px;
        bottom: 56px;
        width: calc(100vw - 20px);
    }
}


/* --- 2026-06-03 logo refresh --- */
.logo-wrap-full {
    width: 100%;
    align-items: center;
}

.logo-full-img {
    display: block;
    width: min(220px, 100%);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(23, 37, 84, .28));
}

.sidebar-header {
    align-items: center;
}

.auth-brand-full {
    justify-content: center;
    margin-bottom: 22px;
}

.login-logo-full {
    display: block;
    width: min(280px, 100%);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 18px rgba(23, 37, 84, .25));
}

/* keep icon-only assets crisp where used elsewhere */
.logo-img, .brand-mark {
    object-fit: contain !important;
    background: none !important;
}


/* --- 2026-06-03 admin password reset --- */
.password-reset-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.password-reset-row .btn {
    min-height: 44px;
    white-space: nowrap;
}

.password-reset-modal .alert {
    margin: 0;
}

.client-action-row {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

@media (max-width: 640px) {
    .password-reset-row {
        grid-template-columns: 1fr;
    }
}


/* --- admin client login/password fixes --- */
.client-username {
    color: var(--primary) !important;
    font-weight: 700 !important;
    margin-top: 4px !important;
}

.client-action-row {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
}

.reset-password-modal-content {
    max-width: 560px !important;
}

.compact-client-table code {
    white-space: nowrap !important;
}


/* --- 2FA and password dialog forms --- */
.dialog-form-grid {
    display: grid;
    gap: 14px;
}

.dialog-form-grid .form-group {
    margin: 0;
}

.twofa-secret-box {
    display: grid;
    gap: 6px;
    padding: 12px 14px;
    border-radius: 14px;
    border: 1px solid var(--border-color);
    background: rgba(2, 6, 23, .55);
    overflow: hidden;
}

.twofa-secret-box span {
    color: var(--text-secondary);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.twofa-secret-box strong,
.twofa-secret-box code {
    color: var(--text-primary);
    word-break: break-all;
    white-space: normal;
}

.twofa-secret-box.muted code {
    color: var(--text-secondary);
    font-size: .84rem;
}

.twofa-hint {
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(102, 227, 255, .08);
    color: var(--text-secondary);
}
