body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: linear-gradient(180deg, rgba(13,110,253,0.05), rgba(13,110,253,0) 240px);
}

.sidebar-height {
    min-height: calc(100vh - 57px);
}

.glass-nav {
    backdrop-filter: blur(8px);
    background-color: color-mix(in srgb, var(--bs-body-bg) 85%, transparent);
}

.nav-pro {
    border-bottom: 1px solid color-mix(in srgb, var(--bs-primary) 18%, var(--bs-border-color));
    box-shadow: 0 10px 30px rgba(13, 110, 253, 0.12);
    position: relative;
}

.nav-brand {
    padding: .3rem .7rem;
    border-radius: .8rem;
    background: color-mix(in srgb, var(--bs-primary) 8%, transparent);
}

.nav-pro::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--bs-primary) 60%, transparent), transparent);
}

.action-pill {
    border: 1px solid var(--bs-border-color);
    border-radius: 999px;
    padding: .2rem;
    background-color: color-mix(in srgb, var(--bs-body-bg) 94%, transparent);
}

.btn-soft {
    background-color: transparent;
    border: 1px solid transparent;
    transition: all .2s ease;
}

.active-lang {
    background: color-mix(in srgb, var(--bs-primary) 16%, transparent);
    border-color: color-mix(in srgb, var(--bs-primary) 35%, transparent);
    font-weight: 700;
}

.lang-flag {
    min-width: 72px;
    font-weight: 700;
}

.btn-soft:hover {
    background: color-mix(in srgb, var(--bs-primary) 10%, transparent);
    border-color: color-mix(in srgb, var(--bs-primary) 28%, transparent);
}

.btn-danger-subtle {
    background: color-mix(in srgb, var(--bs-danger) 12%, transparent);
    color: var(--bs-danger);
    border: 1px solid color-mix(in srgb, var(--bs-danger) 22%, transparent);
}

.stat-card {
    border: 1px solid rgba(13, 110, 253, 0.12);
    border-radius: 1rem;
    box-shadow: 0 8px 26px rgba(23, 43, 77, 0.08);
    transition: transform .2s ease, box-shadow .2s ease;
}

.stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(23, 43, 77, 0.12);
}

.stat-label {
    font-size: .85rem;
    color: var(--bs-secondary-color);
    margin-bottom: .25rem;
}

.card {
    border-radius: 1rem;
    border: 1px solid var(--bs-border-color);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.card-header {
    border-bottom: 1px solid var(--bs-border-color);
    font-weight: 600;
}

.table {
    --bs-table-bg: transparent;
    margin-bottom: 0;
}

.table th {
    font-size: .82rem;
    color: var(--bs-secondary-color);
    white-space: nowrap;
    font-weight: 700;
    letter-spacing: .2px;
    background: transparent;
    border-bottom-width: 1px;
    padding: .85rem .9rem;
}

.table thead tr {
    background: color-mix(in srgb, var(--bs-primary) 8%, transparent);
}

.table thead th:first-child {
    border-top-right-radius: .7rem;
}

.table thead th:last-child {
    border-top-left-radius: .7rem;
}

.table td {
    white-space: nowrap;
    vertical-align: middle;
    padding: .8rem .9rem;
    border-color: color-mix(in srgb, var(--bs-border-color) 86%, transparent);
}

.table tbody tr {
    transition: background-color .15s ease;
}

.table tbody tr:hover {
    background: color-mix(in srgb, var(--bs-primary) 6%, transparent);
}

.table-responsive {
    border-radius: 0 0 1rem 1rem;
    overflow: visible;
    -webkit-overflow-scrolling: touch;
}

.table-mobile {
    min-width: 760px;
}

.table-empty {
    text-align: center;
    color: var(--bs-secondary-color);
    padding: 0.8rem !important;
    font-weight: 500;
}

.action-group {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
}

.btn-action {
    border-radius: .65rem;
    font-size: .78rem;
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .34rem .58rem;
}

.btn-action-primary {
    background: color-mix(in srgb, var(--bs-primary) 92%, white);
    border: 1px solid color-mix(in srgb, var(--bs-primary) 75%, black 5%);
    color: #fff;
}

.btn-action-secondary {
    background: color-mix(in srgb, var(--bs-secondary) 20%, transparent);
    border: 1px solid color-mix(in srgb, var(--bs-secondary) 35%, transparent);
    color: var(--bs-body-color);
}

.action-menu {
    display: inline-flex;
}

.action-menu-trigger {
    width: 34px;
    height: 34px;
    border-radius: .65rem;
    border: 1px solid color-mix(in srgb, var(--bs-primary) 24%, var(--bs-border-color));
    background: color-mix(in srgb, var(--bs-primary) 8%, transparent);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary);
    padding: 0;
}

.action-menu-trigger:hover {
    background: color-mix(in srgb, var(--bs-primary) 14%, transparent);
    border-color: color-mix(in srgb, var(--bs-primary) 38%, var(--bs-border-color));
}

.action-menu-trigger:focus,
.action-menu-trigger:active {
    box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--bs-primary) 20%, transparent);
}

.action-dropdown-menu {
    min-width: 12rem;
    border-radius: .85rem;
    border: 1px solid color-mix(in srgb, var(--bs-primary) 16%, var(--bs-border-color));
    padding: .35rem;
    z-index: 1200;
}

.action-dropdown-menu .dropdown-item {
    border-radius: .55rem;
    font-size: .84rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: .45rem;
    padding: .48rem .62rem;
}

.action-dropdown-menu .dropdown-item:hover {
    background: color-mix(in srgb, var(--bs-primary) 9%, transparent);
}

.action-dropdown-menu form {
    margin: 0;
}

.btn-tron-link {
    width: 34px;
    height: 34px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, #eb0029 45%, var(--bs-border-color));
    background: color-mix(in srgb, #eb0029 10%, transparent);
    color: #eb0029;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.btn-tron-link:hover {
    background: color-mix(in srgb, #eb0029 18%, transparent);
    color: #eb0029;
}

.btn-tron-link span {
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .2px;
}

.btn-tron-link i {
    font-size: 1rem;
    line-height: 1;
}

.status-icon {
    font-size: 1rem;
    vertical-align: middle;
}

.copyable-text {
    color: var(--bs-body-color);
    text-decoration: none;
    font-weight: 600;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.copyable-text:hover {
    color: var(--bs-primary);
}

.mobile-filters .form-control,
.mobile-filters .form-select,
.mobile-filters .btn {
    min-height: 42px;
}

.list-group-item {
    border: 0;
    border-bottom: 1px solid var(--bs-border-color);
}

.list-group-item:hover {
    background: color-mix(in srgb, var(--bs-primary) 7%, transparent);
}

.btn {
    border-radius: .75rem;
}

.form-control,
.form-select {
    border-radius: .75rem;
}

.badge {
    font-weight: 500;
}

/* User detail page — compact layout */
.user-detail-breadcrumb {
    font-size: .875rem;
    --bs-breadcrumb-divider: '›';
}

.user-detail-hero {
    background: linear-gradient(
        135deg,
        color-mix(in srgb, var(--bs-primary) 12%, var(--bs-body-bg)) 0%,
        var(--bs-body-bg) 48%,
        color-mix(in srgb, var(--bs-info) 8%, var(--bs-body-bg)) 100%
    );
    border: 1px solid color-mix(in srgb, var(--bs-primary) 14%, var(--bs-border-color)) !important;
}

.user-detail-avatar {
    width: 52px;
    height: 52px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--bs-primary) 18%, transparent);
    color: var(--bs-primary);
    font-size: 1.45rem;
}

.user-detail-label-overline {
    letter-spacing: 0.06em;
    font-size: 0.7rem !important;
}

.user-detail-id {
    font-size: 1.1rem;
    font-weight: 700;
    background: color-mix(in srgb, var(--bs-body-color) 8%, transparent);
    border: 1px solid var(--bs-border-color);
}

.user-detail-copy {
    padding: 0.25rem 0.5rem;
}

.user-detail-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--bs-border-color);
    background: var(--bs-body-bg);
}

.user-detail-pill--ok {
    border-color: color-mix(in srgb, var(--bs-success) 35%, var(--bs-border-color));
    background: color-mix(in srgb, var(--bs-success) 10%, transparent);
    color: var(--bs-success);
}

.user-detail-pill--danger {
    border-color: color-mix(in srgb, var(--bs-danger) 40%, var(--bs-border-color));
    background: color-mix(in srgb, var(--bs-danger) 10%, transparent);
    color: var(--bs-danger);
}

.user-detail-pill--muted {
    border-color: var(--bs-border-color);
    color: var(--bs-secondary-color);
    background: color-mix(in srgb, var(--bs-secondary-color) 8%, transparent);
}

.user-detail-card {
    border: 1px solid color-mix(in srgb, var(--bs-primary) 10%, var(--bs-border-color));
    overflow: hidden;
}

.user-detail-card-head {
    background: color-mix(in srgb, var(--bs-primary) 6%, transparent);
    border-bottom: 1px solid var(--bs-border-color);
    font-size: 0.9rem;
}

.user-detail-kv-item {
    padding: 0.5rem 0.65rem;
    border-radius: 0.65rem;
    background: color-mix(in srgb, var(--bs-body-color) 4%, transparent);
    border: 1px solid color-mix(in srgb, var(--bs-border-color) 80%, transparent);
    height: 100%;
}

.user-detail-kv-label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-secondary-color);
    margin-bottom: 0.2rem;
}

.user-detail-kv-value {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
}

.user-detail-action-btn {
    border-radius: 0.65rem;
}

.user-detail-input {
    border-radius: 0.65rem;
}

.user-detail-balance-card .form-label {
    margin-bottom: 0.15rem;
}

.user-detail-table-wrap .table-responsive {
    max-height: min(420px, 55vh);
    overflow-y: auto;
    border-radius: 0;
}

.user-detail-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    font-size: 0.72rem;
    padding: 0.5rem 0.65rem;
    background: color-mix(in srgb, var(--bs-primary) 10%, var(--bs-body-bg));
    box-shadow: 0 1px 0 var(--bs-border-color);
}

.user-detail-table td {
    padding: 0.45rem 0.65rem;
    font-size: 0.82rem;
}

.user-detail-table .badge {
    font-size: 0.7rem;
    padding: 0.28em 0.55em;
}

.settings-card .card-header {
    background: color-mix(in srgb, var(--bs-primary) 7%, transparent);
}

.settings-section-title {
    font-size: .8rem;
    font-weight: 700;
    color: var(--bs-primary);
    text-transform: uppercase;
    letter-spacing: .4px;
    padding-bottom: .35rem;
    border-bottom: 1px dashed color-mix(in srgb, var(--bs-primary) 36%, transparent);
}

.settings-card .form-label {
    font-size: .86rem;
    font-weight: 600;
    color: var(--bs-secondary-color);
    margin-bottom: .38rem;
}

.settings-card .form-control,
.settings-card .form-select {
    min-height: 42px;
}

.settings-card .form-check-label {
    font-weight: 600;
}

@media (max-width: 991.98px) {
    .sidebar-height {
        min-height: auto;
    }

    main {
        padding-bottom: 3.5rem !important;
    }

    .table th,
    .table td {
        font-size: .8rem;
        padding: .68rem .62rem;
    }

    .btn-action {
        width: 100%;
        justify-content: center;
    }

    .action-menu-trigger {
        width: 32px;
        height: 32px;
    }

    .action-dropdown-menu {
        min-width: 10.75rem;
    }

    .table-responsive {
        overflow-x: auto;
        overflow-y: visible;
        border-radius: .85rem;
    }

    .card {
        border-radius: .85rem;
    }

    .btn {
        min-height: 40px;
    }

    .modal-dialog {
        margin: .75rem;
    }

    .action-pill {
        transform: scale(.95);
    }

    .nav-brand {
        max-width: 44vw;
        padding: .24rem .5rem;
        font-size: .95rem;
    }

    .nav-actions {
        gap: .35rem !important;
        padding: .15rem;
    }

    .lang-flag {
        min-width: 58px;
        font-size: .76rem;
        padding: .25rem .4rem;
    }

    #theme-toggle,
    .btn-danger-subtle {
        font-size: .76rem;
        padding: .25rem .45rem;
    }

    .settings-section-title {
        font-size: .76rem;
    }
}

@media (max-width: 767.98px) {
    .mobile-nav {
        padding-top: .4rem;
        padding-bottom: .4rem;
    }

    .nav-menu-btn {
        min-width: 38px;
        min-height: 38px;
        padding: .3rem .45rem;
    }

    .h4 {
        font-size: 1.05rem;
    }

    .stat-card .h4,
    .stat-card .h5 {
        font-size: 1.02rem !important;
    }

    .stat-label {
        font-size: .76rem;
    }

    .mobile-filters {
        width: 100%;
    }

    .mobile-filters .col-12,
    .mobile-filters .col-md-auto {
        width: 100%;
    }

    .mobile-filters .btn {
        width: 100%;
    }

    .table th,
    .table td {
        font-size: .77rem;
    }

    .action-dropdown-menu {
        min-width: 10.2rem;
    }
}

@media (max-width: 575.98px) {
    .nav-brand {
        max-width: 38vw;
        font-size: .88rem;
    }

    .lang-flag {
        min-width: 52px;
        font-size: .72rem;
    }

    #theme-toggle {
        max-width: 74px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .btn-danger-subtle {
        max-width: 64px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Currencies & fees hub */
.fees-accordion .accordion-button:not(.collapsed) {
    background: color-mix(in srgb, var(--bs-primary) 10%, var(--bs-body-bg));
    box-shadow: none;
}

.fees-acc-item .accordion-button:focus {
    box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--bs-primary) 22%, transparent);
}

.fees-limits-box {
    border: 1px dashed color-mix(in srgb, var(--bs-primary) 28%, var(--bs-border-color));
    border-radius: 0.85rem;
    padding: 1rem 1.1rem;
    background: color-mix(in srgb, var(--bs-body-bg) 96%, var(--bs-primary));
}

.fees-fee-card {
    border: 1px solid var(--bs-border-color);
    border-radius: 0.85rem;
    padding: 0.85rem;
    height: 100%;
    background: var(--bs-body-bg);
    box-shadow: 0 4px 14px rgba(23, 43, 77, 0.06);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fees-fee-card:hover {
    border-color: color-mix(in srgb, var(--bs-primary) 35%, var(--bs-border-color));
    box-shadow: 0 6px 20px rgba(13, 110, 253, 0.08);
}
