/* GX - ULTIMATE GAMING TEMPLATE */

@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;500;600;700;800;900&display=swap');

:root {
    --gx-bg: #08090d;
    --gx-surface: #0d0f14;
    --gx-card: #12151c;
    --gx-card-light: #181c26;
    --gx-border: rgba(139, 92, 246, 0.1);
    --gx-border-light: rgba(139, 92, 246, 0.2);
    --gx-purple: #8b5cf6;
    --gx-purple-light: #a78bfa;
    --gx-purple-dark: #6d28d9;
    --gx-pink: #ec4899;
    --gx-cyan: #06b6d4;
    --gx-green: #10b981;
    --gx-text: #ffffff;
    --gx-text-2: rgba(255,255,255,0.7);
    --gx-text-3: rgba(255,255,255,0.4);
    /* Совпадает с .gx_nav: одна линия с меню на всех ширинах */
    --gx-nav-max: 1520px;
    --gx-nav-gutter: 80px;
}


/* =====================================================
   PARADOX PROFILE SETTINGS STYLE
   DEV-META DESIGN
===================================================== */

:root{
  --bg-main: #0f1117;
  --bg-card: #151922;
  --bg-card-2: #1b2030;
  --border-soft: rgba(255,255,255,0.05);
  --purple: #8b5cf6;
  --purple-dark: #6d28d9;
  --text-main: #ffffff;
  --text-muted: #8b90a0;
  --success: #22c55e;
  --danger: #ff5c7c;
}

/* =================== BODY =================== */

body{
  background: radial-gradient(circle at 20% 20%, #1a1f2e 0%, #0f1117 60%);
  color: var(--text-main);
}

/* =================== CARDS =================== */

.block,
.contacts_setting_block,
.signature_block_setting,
.password_setting_block,
.block_avatar_edit,
.privaty_block_settings,
.link_setting_block,
.black_list{
  background: var(--bg-card);
  border-radius: 18px;
  padding: 25px;
  border: 1px solid var(--border-soft);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  margin-bottom: 20px;
  transition: 0.3s ease;
}

.block:hover{
  border-color: rgba(139,92,246,0.4);
  box-shadow: 0 0 25px rgba(139,92,246,0.2);
}

/* =================== HEADERS =================== */

.top_info_index{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: var(--text-muted);
  margin-bottom: 15px;
}

.top_info_index i{
  background: linear-gradient(135deg, var(--purple), var(--purple-dark));
  padding: 8px;
  border-radius: 10px;
  color: white;
  box-shadow: 0 0 15px rgba(139,92,246,0.4);
}

/* =================== INPUTS =================== */

.custom-input input,
.custom-select select{
  background: var(--bg-card-2) !important;
  border: 1px solid var(--border-soft);
  border-radius: 12px;
  color: var(--text-main);
  padding: 14px 15px;
  transition: 0.3s ease;
}

.custom-input input:focus,
.custom-select select:focus{
  border-color: var(--purple);
  box-shadow: 0 0 0 2px rgba(139,92,246,0.3);
  outline: none;
}

.custom-input span,
.custom-select span{
  color: var(--text-muted);
}

/* =================== BUTTONS =================== */

.save_all,
.password_setting,
.btn_avatar_setting,
.save_signature,
.black_list_button,
button{
  background: linear-gradient(135deg, var(--purple), var(--purple-dark));
  border: none;
  border-radius: 12px;
  padding: 12px 20px;
  color: white;
  font-weight: 600;
  transition: 0.3s ease;
}

.save_all:hover,
.password_setting:hover,
.btn_avatar_setting:hover,
.save_signature:hover,
.black_list_button:hover,
button:hover{
  transform: translateY(-2px);
  box-shadow: 0 0 20px rgba(139,92,246,0.5);
}

/* =================== AVATAR =================== */

.img_edit_settings{
  border-radius: 18px;
  border: 2px solid var(--purple);
  box-shadow: 0 0 25px rgba(139,92,246,0.4);
}

/* =================== PRIVACY BLOCK =================== */

.checkbox.style-h input:checked ~ .checkbox__checkmark{
  background: var(--purple);
  box-shadow: 0 0 10px var(--purple);
}

.checkbox__body{
  color: var(--text-main);
}

/* =================== MODALS =================== */

.modal-content{
  background: var(--bg-card);
  border-radius: 18px;
  border: 1px solid var(--border-soft);
  color: white;
}

.modal-header{
  border-bottom: 1px solid var(--border-soft);
}

.modal-body table{
  background: var(--bg-card-2);
  color: white;
}

.table-bordered td,
.table-bordered th{
  border-color: var(--border-soft) !important;
}

/* =================== BLACK LIST =================== */

.black_list{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--bg-card-2);
  border-radius: 16px;
  padding: 15px;
}

/* =================== LINK BLOCK =================== */

.link_setting_block input{
  background: var(--bg-card-2) !important;
  border-radius: 12px;
  border: 1px solid var(--border-soft);
}

/* =================== SIGNATURE =================== */

textarea,
textarea{
  background: var(--bg-card-2) !important;
  border-radius: 12px;
  border: 1px solid var(--border-soft);
  color: white;
  padding: 12px;
}

/* =================== SUCCESS MESSAGE =================== */

.save_all_info{
  color: var(--success);
  margin-top: 10px;
  font-size: 13px;
}

/* =================== REFERRAL CARD =================== */

.flip-container .front,
.flip-container .back{
  border-radius: 20px;
  background: linear-gradient(135deg, #1b2030, #12141c);
  box-shadow: 0 10px 30px rgba(0,0,0,0.4);
  border: 1px solid var(--border-soft);
}

/* =================== SCROLLBAR =================== */

::-webkit-scrollbar{
  width: 8px;
}

::-webkit-scrollbar-thumb{
  background: linear-gradient(var(--purple), var(--purple-dark));
  border-radius: 10px;
}

::-webkit-scrollbar-track{
  background: #0f1117;
}




.new_header, .new_left_sidebar, .new_right_sidebar, .new_footer,
.center_sub, .sub_menu, .version_fixed, 
header.new_header, footer.new_footer,
.navigation_profile, .block_t_u {
    display: none !important;
}

.col-lg-3.order-is-last {
    display: none !important;
}

.col-lg-9.order-is-first {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
}

.new_layout_wrapper {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: auto !important;
}

.new_center_content {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

aside.new_left_sidebar,
aside.new_right_sidebar {
    display: none !important;
}

.with_code,
.col-lg-9.order-is-first {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body {
    background: var(--gx-bg) !important;
    font-family: 'Exo 2', sans-serif !important;
    overflow-x: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

.game_page {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 99999 !important;
    overflow-y: auto !important;
    background: var(--gx-bg) !important;
}

.gx {
    position: relative;
    min-height: 100vh;
    width: 100%;
}

.gx::before {
    content: '';
    position: fixed;
    inset: 0;
    background: url('../img/background.jpg') center/cover no-repeat fixed;
    opacity: 0.12;
    z-index: 0;
    pointer-events: none;
}

/* ANIMATED BACKGROUND */

.gx_bg {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 1;
}

.gx_orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.4;
    animation: orb_float 25s ease-in-out infinite;
}

.gx_orb1 {
    width: 600px;
    height: 600px;
    background: var(--gx-purple);
    top: -200px;
    left: -150px;
}

.gx_orb2 {
    width: 500px;
    height: 500px;
    background: var(--gx-pink);
    bottom: -100px;
    right: -100px;
    animation-delay: -8s;
}

.gx_orb3 {
    width: 400px;
    height: 400px;
    background: var(--gx-cyan);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-delay: -15s;
    opacity: 0.2;
}

@keyframes orb_float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(50px, -50px) scale(1.1); }
    66% { transform: translate(-30px, 30px) scale(0.9); }
}

.gx_grid {
    position: absolute;
    inset: 0;
    background-image: 
        linear-gradient(rgba(139, 92, 246, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139, 92, 246, 0.03) 1px, transparent 1px);
    background-size: 60px 60px;
}

.gx_noise {
    position: absolute;
    inset: 0;
    opacity: 0.03;
}

/* NAVIGATION */

.gx_nav {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: calc(100% - var(--gx-nav-gutter));
    max-width: var(--gx-nav-max);
    padding: 12px 24px;
    background: rgba(18, 21, 28, 0.95);
    backdrop-filter: blur(20px);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    z-index: 1000;
    overflow: visible;
}

/* Кнопка мобильного меню (панель ниже) */
.gx_nav_mobile_toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    margin: 0;
    flex-shrink: 0;
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.12);
    color: var(--gx-text);
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gx_nav_mobile_toggle i {
    font-size: 24px;
    line-height: 1;
}

.gx_nav_mobile_toggle:hover {
    border-color: rgba(139, 92, 246, 0.45);
    background: rgba(139, 92, 246, 0.2);
    color: #fff;
}

body.gx_nav_mobile_open .gx_nav_mobile_toggle {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: rgba(139, 92, 246, 0.55);
    color: #fff;
}

.gx_nav_mobile_backdrop {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1001;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.gx_nav_mobile_panel {
    display: none;
    position: fixed;
    left: 12px;
    right: 12px;
    top: 92px;
    z-index: 1002;
    max-height: min(72vh, calc(100vh - 110px));
    overflow: hidden;
    flex-direction: column;
    padding: 0;
    margin: 0;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.gx_nav_mobile_panel_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.2);
    flex-shrink: 0;
}

.gx_nav_mobile_panel_title {
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_nav_mobile_close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--gx-text-2);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.gx_nav_mobile_close:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #fecaca;
}

.gx_nav_mobile_close i {
    font-size: 22px;
    line-height: 1;
}

.gx_nav_mobile_links {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px 10px 12px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    flex: 1;
    min-height: 0;
}

.gx_nav_mobile_link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 14px;
    border-radius: 12px;
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid transparent;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gx_nav_mobile_link i {
    font-size: 20px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
}

.gx_nav_mobile_link:hover {
    background: rgba(139, 92, 246, 0.12);
    border-color: rgba(139, 92, 246, 0.25);
    color: var(--gx-text) !important;
}

.gx_nav_mobile_link.active {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.35), rgba(109, 40, 217, 0.25));
    border-color: rgba(139, 92, 246, 0.45);
    color: #fff !important;
}

.gx_nav_mobile_link.active i {
    color: #fff;
}

.gx_nav_mobile_footer {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px 12px 14px;
    border-top: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.15);
    flex-shrink: 0;
}

.gx_nav_mobile_purse {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: 12px;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: 1px solid rgba(139, 92, 246, 0.45);
}

.gx_nav_mobile_purse--secondary {
    background: rgba(255, 255, 255, 0.06);
    color: var(--gx-text) !important;
    border-color: var(--gx-border);
    font-weight: 600;
}

.gx_nav_mobile_purse--secondary:hover {
    border-color: rgba(139, 92, 246, 0.35);
    color: var(--gx-text) !important;
}

.gx_nav_mobile_purse i {
    font-size: 20px;
}

.gx_nav_user {
    position: relative;
    flex-shrink: 0;
    overflow: visible;
    align-self: center;
}

.gx_nav_avatar {
    position: relative;
    width: 46px;
    height: 46px;
    cursor: pointer;
    transition: transform 0.2s;
}

.gx_nav_avatar:hover {
    transform: scale(1.05);
}

.gx_nav_avatar img {
    width: 100%;
    height: 100%;
    border-radius: 14px;
    border: 2px solid var(--gx-purple);
    object-fit: cover;
    transition: border-color 0.2s;
}

.gx_nav_avatar:hover img {
    border-color: var(--gx-purple-light);
}

.gx_nav_status {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 14px;
    height: 14px;
    background: var(--gx-green);
    border: 3px solid var(--gx-card);
    border-radius: 50%;
}

/* Dropdown Menu */
.gx_dropdown {
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    width: 280px;
    min-width: 260px;
    max-width: min(280px, calc(100vw - 32px));
    box-sizing: border-box;
    z-index: 1002;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.gx_dropdown.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gx_dropdown_header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    background: rgba(139, 92, 246, 0.1);
    border-bottom: 1px solid var(--gx-border);
}

.gx_dropdown_header img {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    border: 2px solid var(--gx-purple);
    object-fit: cover;
}

.gx_dropdown_name {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: var(--gx-text);
    margin-bottom: 4px;
}

.gx_dropdown_group {
    font-size: 13px;
    font-weight: 600;
}

.gx_dropdown_menu {
    padding: 10px;
}

.gx_dropdown_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    color: var(--gx-text-2);
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.2s;
}

.gx_dropdown_item i {
    font-size: 20px;
    color: var(--gx-purple-light);
}

.gx_dropdown_item span {
    font-size: 14px;
    font-weight: 500;
}

.gx_dropdown_item:hover {
    background: rgba(139, 92, 246, 0.15);
    color: var(--gx-text);
}

.gx_dropdown_exit:hover {
    background: rgba(239, 68, 68, 0.15);
}

.gx_dropdown_exit:hover i {
    color: #ef4444;
}

.gx_dropdown_priv {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(217, 119, 6, 0.1));
    border-top: 1px solid var(--gx-border);
    color: #fbbf24;
    text-decoration: none;
    transition: all 0.2s;
}

.gx_dropdown_priv i:first-child {
    font-size: 20px;
}

.gx_dropdown_priv span {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
}

.gx_dropdown_priv i:last-child {
    font-size: 18px;
    opacity: 0.5;
    transition: all 0.2s;
}

.gx_dropdown_priv:hover {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(217, 119, 6, 0.15));
}

.gx_dropdown_priv:hover i:last-child {
    opacity: 1;
    transform: translateX(4px);
}

.gx_brand_text {
    font-size: 20px;
    font-weight: 800;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 2px;
}

.gx_nav_links {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    background: transparent;
}

.gx_link {
    width: auto;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    color: var(--gx-text-2);
    background: transparent;
    font-family: 'Exo 2', sans-serif;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 12px;
    text-decoration: none;
    transition: all 0.25s ease;
    white-space: nowrap;
}

.gx_link i {
    font-size: 18px;
    opacity: 0.7;
}

.gx_link span {
    display: inline;
}

.gx_link:hover {
    color: var(--gx-text);
    background: rgba(139, 92, 246, 0.1);
}

.gx_link:hover i {
    opacity: 1;
}

.gx_link.active {
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    box-shadow: 0 4px 20px rgba(139, 92, 246, 0.4);
}

.gx_link.active i {
    opacity: 1;
}

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

.gx_wallet {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid var(--gx-border);
    border-radius: 50px;
    color: var(--gx-purple-light);
    font-weight: 600;
    font-size: 14px;
}

.gx_wallet i { font-size: 18px; }

.gx_wallet_add {
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gx-purple);
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s;
}

.gx_wallet_add:hover {
    transform: scale(1.1);
    box-shadow: 0 0 15px rgba(139, 92, 246, 0.5);
}

/* Notification icons in nav */
.gx_nav_notification {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid var(--gx-border);
    border-radius: 50%;
    color: var(--gx-purple-light);
    text-decoration: none;
    font-size: 20px;
    transition: all 0.3s;
}

.gx_nav_notification:hover {
    background: rgba(139, 92, 246, 0.2);
    border-color: var(--gx-purple);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.gx_notification_badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: 2px solid var(--gx-bg);
    border-radius: 10px;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 0 6px;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.4);
}

.gx_nav_complaint {
    color: var(--gx-purple);
}

.gx_nav_unban {
    color: #4ecdc4;
}

.gx_nav_support {
    color: #ffd93d;
}

.gx_exit {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gx-text-3);
    font-size: 20px;
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.2s;
}

.gx_exit:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* LAYOUT */

.gx_layout {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 30px;
    max-width: min(var(--gx-nav-max), calc(100vw - var(--gx-nav-gutter)));
    margin: 0 auto;
    padding: 120px 40px 40px;
    z-index: 10;
}

.gx_main {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.gx_side {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Пара «контент + правый сайдбар»: в .gx_layout дети участвуют в сетке 1fr + 380px */
.gx_layout:not(.gx_layout_page) > .gx_page_with_sidebar {
    display: contents;
}

@media (min-width: 1201px) {
    .gx_layout:not(.gx_layout_page) > .gx_page_with_sidebar > .gx_main {
        grid-column: 1;
        min-width: 0;
    }

    .gx_layout:not(.gx_layout_page) > .gx_page_with_sidebar > .gx_side {
        grid-column: 2;
        min-width: 0;
        align-self: start;
    }
}

/* Тот же блок внутри .gx_page_content (как у настроек — одна широкая колонка) */
.gx_page_content > .gx_page_with_sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    gap: 28px;
    align-items: start;
    width: 100%;
}

@media (max-width: 1100px) {
    .gx_page_content > .gx_page_with_sidebar {
        grid-template-columns: 1fr;
    }
}

/* HERO SECTION */

.gx_hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 400px;
    padding: 50px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 32px;
    overflow: hidden;
}

.gx_hero_content {
    position: relative;
    z-index: 10;
    max-width: 55%;
}

.gx_hero_badge {
    display: inline-block;
    padding: 8px 16px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-pink));
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    margin-bottom: 20px;
}

.gx_hero_title {
    font-size: 52px;
    font-weight: 900;
    line-height: 1.1;
    margin-bottom: 20px;
    color: var(--gx-text);
}

.gx_hero_title span { display: block; }

.gx_gradient {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-pink), var(--gx-cyan));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gx_hero_text {
    font-size: 16px;
    color: var(--gx-text-2);
    line-height: 1.7;
    margin-bottom: 30px;
    max-width: 450px;
}

.gx_hero_btns {
    display: flex;
    gap: 15px;
    margin-bottom: 40px;
}

.gx_btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 16px;
    transition: all 0.3s;
    cursor: pointer;
    border: none;
}

.gx_btn i { font-size: 20px; }

.gx_btn_primary {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    color: #fff;
    box-shadow: 0 10px 40px rgba(139, 92, 246, 0.3);
}

.gx_btn_primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 50px rgba(139, 92, 246, 0.5);
    color: #fff;
}

.gx_btn_outline {
    background: transparent;
    color: var(--gx-text);
    border: 1px solid var(--gx-border-light);
}

.gx_btn_outline:hover {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--gx-purple);
    color: var(--gx-text);
}

.gx_hero_stats {
    display: flex;
    align-items: center;
    gap: 30px;
}

.gx_stat_num {
    display: block;
    font-size: 28px;
    font-weight: 800;
    color: var(--gx-purple-light);
}

.gx_stat_label {
    font-size: 13px;
    color: var(--gx-text-3);
}

.gx_stat_divider {
    width: 1px;
    height: 40px;
    background: var(--gx-border-light);
}

/* Hero visual - Character */
.gx_hero_visual {
    position: absolute;
    right: 0;
    bottom: -30px;
    width: 45%;
    height: 120%;
    pointer-events: none;
    z-index: 5;
}

.gx_hero_glow {
    position: absolute;
    right: 20%;
    top: 35%;
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--gx-purple) 0%, rgba(168, 85, 247, 0.4) 30%, transparent 70%);
    filter: blur(60px);
    opacity: 0.7;
    animation: glow_breathe 4s ease-in-out infinite;
}

@keyframes glow_breathe {
    0%, 100% { opacity: 0.5; transform: scale(1); }
    50% { opacity: 0.8; transform: scale(1.1); }
}

.gx_hero_rings {
    position: absolute;
    right: 30%;
    top: 50%;
    transform: translate(50%, -50%);
}

.gx_ring {
    position: absolute;
    border: 2px solid rgba(139, 92, 246, 0.3);
    border-radius: 50%;
    animation: ring_pulse 4s ease-out infinite;
    transform: translate(-50%, -50%);
}

.gx_ring:nth-child(1) { width: 180px; height: 180px; animation-delay: 0s; }
.gx_ring:nth-child(2) { width: 280px; height: 280px; animation-delay: 1s; }
.gx_ring:nth-child(3) { width: 380px; height: 380px; animation-delay: 2s; }

@keyframes ring_pulse {
    0% { transform: translate(-50%, -50%) scale(0.8); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(1.4); opacity: 0; }
}

.gx_hero_char {
    position: absolute;
    right: 5%;
    bottom: 0;
    height: 95%;
    width: auto;
    max-width: 100%;
    object-fit: contain;
    filter: drop-shadow(0 0 60px rgba(139, 92, 246, 0.5))
            drop-shadow(0 10px 30px rgba(0, 0, 0, 0.5));
    animation: char_float 6s ease-in-out infinite;
    z-index: 10;
}

@keyframes char_float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

/* SERVERS */

/* Servers use .gx_section_block */

.gx_section_head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: nowrap;
}

.gx_section_icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-radius: 12px;
    font-size: 18px;
    color: #fff;
    flex-shrink: 0;
}

.gx_section_title {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.gx_section_title h2 {
    font-size: 16px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0;
    white-space: nowrap;
}

.gx_section_line {
    flex: 1;
    min-width: 30px;
    max-width: 200px;
    height: 1px;
    background: linear-gradient(90deg, var(--gx-border-light), transparent);
}

.gx_section_more {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--gx-purple-light);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
}

.gx_section_more:hover { color: var(--gx-purple); }

.gx_servers_grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 16px !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}

#servers {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
}

/* SERVER CARD */

#servers .server_card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-height: 220px !important;
    background: var(--gx-card-light) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: all 0.3s ease !important;
}

#servers .server_card:hover {
    transform: translateY(-3px) !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 10px 30px rgba(139, 92, 246, 0.2) !important;
}

/* Map background */
#servers .server_card_map {
    display: block !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 80px !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 18px 18px 0 0 !important;
    opacity: 0.6 !important;
}

#servers .server_card_map::after {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, transparent 0%, var(--gx-card) 100%) !important;
    border-radius: 18px 18px 0 0 !important;
}

/* Content */
#servers .server_card_content {
    position: relative !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 18px !important;
    margin: 0 !important;
}

/* Status badge */
#servers .server_card_status {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    padding: 5px 12px !important;
    background: rgba(16, 185, 129, 0.95) !important;
    border-radius: 8px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    z-index: 20 !important;
}

#servers .server_card_status.offline {
    background: rgba(107, 114, 128, 0.95) !important;
}

/* Server name - FULL display */
#servers .server_card_name {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fff !important;
    margin-bottom: 6px !important;
    padding-right: 80px !important;
    line-height: 1.4 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* Map name - show only first span (map) */
#servers .server_card_info {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--gx-purple-light) !important;
    margin-bottom: 12px !important;
}

#servers .server_card_info span:first-child {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

#servers .server_card_info span:first-child i {
    font-size: 14px !important;
    color: var(--gx-purple-light) !important;
}

/* Hide second span (players already shown below) */
#servers .server_card_info span:last-child {
    display: none !important;
}

/* Players section */
#servers .server_card_players {
    margin-top: auto !important;
    margin-bottom: 14px !important;
}

#servers .server_card_players_bar {
    height: 6px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border-radius: 6px !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
}

#servers .server_card_players_fill {
    height: 100% !important;
    background: linear-gradient(90deg, var(--gx-purple), var(--gx-pink)) !important;
    border-radius: 6px !important;
}

#servers .server_card_players_count {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #fff !important;
}

/* Action buttons */
#servers .server_card_actions {
    display: flex !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

#servers .server_card_btn {
    border-radius: 10px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    padding: 11px 16px !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
}

#servers .server_card_btn i {
    font-size: 14px !important;
}

#servers .server_card_btn_play {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    flex: 1 !important;
    border: none !important;
    color: #fff !important;
}

#servers .server_card_btn_play:hover {
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4) !important;
}

#servers .server_card_btn_copy,
#servers .server_card_btn_info {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
    padding: 11px 14px !important;
}

#servers .server_card_btn_copy:hover,
#servers .server_card_btn_info:hover {
    background: rgba(255, 255, 255, 0.15) !important;
}

/* Loading */
.gx_loading {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding: 40px;
}

.gx_spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--gx-border);
    border-top-color: var(--gx-purple);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

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

/* MODULES */

.gx_modules {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.gx_module {
    position: relative;
    display: flex;
    align-items: center;
    padding: 24px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    text-decoration: none;
    overflow: hidden;
    transition: all 0.3s;
}

.gx_module:hover {
    border-color: var(--gx-purple);
    transform: translateY(-4px);
}

.gx_module_bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0.15;
}

.gx_module_content {
    position: relative;
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1;
    z-index: 2;
}

.gx_module_icon {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-radius: 14px;
    font-size: 22px;
    color: #fff;
}

.gx_module_cases .gx_module_icon { background: linear-gradient(135deg, #f59e0b, #d97706); }
.gx_module_rewards .gx_module_icon { background: linear-gradient(135deg, var(--gx-green), #059669); }

.gx_module_title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--gx-text);
    margin-bottom: 4px;
}

.gx_module_desc {
    font-size: 13px;
    color: var(--gx-text-3);
}

.gx_module_arrow {
    color: var(--gx-text-3);
    font-size: 24px;
    transition: all 0.3s;
}

.gx_module:hover .gx_module_arrow {
    color: var(--gx-purple);
    transform: translateX(5px);
}

/* SIDEBAR CARDS */

.gx_card {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 24px;
    overflow: hidden;
}

.gx_card_head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px 24px;
    background: rgba(0,0,0,0.2);
    border-bottom: 1px solid var(--gx-border);
    font-size: 15px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_card_icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border-radius: 10px;
    font-size: 18px;
    color: #fff;
}

.gx_card_icon.chat {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
}

/* TOP USERS */

.gx_top_list {
    padding: 0 !important;
    counter-reset: topuser !important;
}

/* Card: [place] [avatar] [info] [stats] */
.gx_top_list .top_user_card {
    display: grid !important;
    grid-template-columns: 30px 44px 1fr auto !important;
    grid-template-areas: "place avatar info stats" !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    transition: background 0.2s !important;
}

.gx_top_list .top_user_card:hover {
    background: rgba(139, 92, 246, 0.06) !important;
}

/* Avatar */
.gx_top_list .top_user_avatar {
    grid-area: avatar !important;
}

.gx_top_list .top_user_avatar img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    display: block !important;
}

.gx_top_list .top_user_avatar_glow { display: none !important; }

/* Info */
.gx_top_list .top_user_info {
    grid-area: info !important;
    min-width: 0 !important;
}

.gx_top_list .top_user_name {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.gx_top_list .top_user_group {
    display: block !important;
    font-size: 10px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    margin-top: 2px !important;
}

/* Stats with icons */
.gx_top_list .top_user_stats {
    grid-area: stats !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 3px !important;
}

.gx_top_list .top_user_stat {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--gx-text-2) !important;
}

.gx_top_list .top_user_stat i {
    font-size: 12px !important;
    order: -1 !important;
}

.gx_top_list .top_user_stat:first-child i { color: #fbbf24 !important; }
.gx_top_list .top_user_stat:last-child i { color: #06b6d4 !important; }

/* Hide JS-added place badges */
.gx_top_list .top_place { display: none !important; }

/* RESET all ::before and ::after from layout_new.css */
.top_user_card::before,
.top_user_card::after,
.gx_top_list .top_user_card::after {
    all: unset !important;
    display: none !important;
    content: none !important;
}

/* Remove backgrounds from first 3 cards */
.gx_top_list .top_user_card:first-child,
.gx_top_list .top_user_card:nth-child(2),
.gx_top_list .top_user_card:nth-child(3) {
    background: transparent !important;
}

/* Now add OUR ::before for .gx_top_list only */
.gx_top_list .top_user_card::before {
    all: unset !important;
    counter-increment: topuser !important;
    content: "#" counter(topuser) !important;
    grid-area: place !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gx-text-3) !important;
    flex-shrink: 0 !important;
    min-width: 26px !important;
}

/* CHAT */

.gx_card_chat {
    display: flex !important;
    flex-direction: column !important;
    max-height: 500px !important;
}

.gx_chat_online {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gx-green);
}

.gx_chat_dot {
    width: 8px;
    height: 8px;
    background: var(--gx-green);
    border-radius: 50%;
    animation: pulse_dot 2s infinite;
}

@keyframes pulse_dot {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

/* Messages container - FIXED HEIGHT with scroll */
.gx_chat_messages {
    height: 340px !important;
    max-height: 340px !important;
    min-height: 340px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.gx_chat_messages::-webkit-scrollbar { width: 4px; }
.gx_chat_messages::-webkit-scrollbar-track { background: transparent; }
.gx_chat_messages::-webkit-scrollbar-thumb { background: var(--gx-purple); border-radius: 10px; }

/* Chat message card */
.gx_chat_messages .chat_message {
    flex-shrink: 0 !important;
    position: relative !important;
}

.gx_chat_messages .chat_message .message {
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
}

.gx_chat_messages .chat_message .info {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    z-index: 10 !important;
}

.gx_chat_messages .chat_message .delete_message {
    width: 26px !important;
    height: 26px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(239, 68, 68, 0.15) !important;
    border-radius: 8px !important;
    color: #ef4444 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    opacity: 0 !important;
    transition: all 0.2s !important;
}

.gx_chat_messages .chat_message:hover .delete_message {
    opacity: 1 !important;
}

.gx_chat_messages .chat_message .delete_message:hover {
    background: rgba(239, 68, 68, 0.3) !important;
}

/* Message content wrapper */
.gx_chat_messages .chat_message .with_code {
    display: flex !important;
    gap: 10px !important;
    padding: 12px !important;
    background: var(--gx-card-light) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    transition: all 0.2s !important;
}

.gx_chat_messages .chat_message:hover .with_code {
    border-color: rgba(139, 92, 246, 0.3) !important;
}

/* Avatar */
.gx_chat_messages .back_img_chat {
    flex-shrink: 0 !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 2px solid var(--gx-border) !important;
}

.gx_chat_messages .chat_img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border: none !important;
}

/* Message global container */
.gx_chat_messages .message_global {
    flex: 1 !important;
    min-width: 0 !important;
}

/* Header with name and date */
.gx_chat_messages .login_share_flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    margin-bottom: 6px !important;
    flex-wrap: wrap !important;
}

.gx_chat_messages .avatar_login {
    min-width: 0 !important;
}

.gx_chat_messages .avatar_login a {
    text-decoration: none !important;
}

.gx_chat_messages .author {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    transition: opacity 0.2s !important;
}

.gx_chat_messages .author:hover {
    opacity: 0.8 !important;
}

/* Date and reply */
.gx_chat_messages .interaction_mess {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

.gx_chat_messages .chat_date {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: var(--gx-text-3) !important;
    background: rgba(139, 92, 246, 0.1) !important;
    padding: 3px 8px !important;
    border-radius: 6px !important;
}

.gx_chat_messages .share_login {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--gx-purple-light) !important;
    cursor: pointer !important;
    transition: color 0.2s !important;
}

.gx_chat_messages .share_login:hover {
    color: var(--gx-pink) !important;
}

/* Message text */
.gx_chat_messages .text_chat {
    font-size: 13px !important;
    line-height: 1.5 !important;
    color: var(--gx-text-2) !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

.gx_chat_messages .text_chat img {
    max-width: 100% !important;
    border-radius: 8px !important;
}

/* Hidden textarea */
.gx_chat_messages textarea {
    display: none !important;
}

.gx_chat_messages .clearfix {
    display: none !important;
}

/* Chat input area */
.gx_chat_input {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px;
    border-top: 1px solid var(--gx-border);
    background: var(--gx-card);
    flex-shrink: 0;
}

.gx_chat_input input {
    flex: 1;
    padding: 12px 16px;
    background: var(--gx-card-light);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    outline: none;
    transition: all 0.3s;
}

.gx_chat_input input:focus {
    border-color: var(--gx-purple);
}

.gx_chat_input input::placeholder { color: var(--gx-text-3); }

.gx_chat_emoji,
.gx_chat_send {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gx-card-light);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text-3);
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}

/* HIDE old chat and duplicate smile buttons */
.right_chat_wrapper,
.right_chat_input,
.right_chat_smile,
.right_chat_send,
aside .right_chat_messages,
#smile_btn:not(#gx_smile_btn),
.gx_chat_input #smile_btn {
    display: none !important;
}

/* Show only our smile button */
#gx_smile_btn {
    display: flex !important;
}

.gx_chat_emoji:hover { 
    color: #f59e0b; 
    border-color: #f59e0b;
}

.gx_chat_send {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: none;
    color: #fff;
}

.gx_chat_send:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.4);
}

/* Loading spinner in chat */
.gx_chat_messages .gx_loading {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 30px !important;
}


/* Socials */
.gx_socials {
    display: flex;
    gap: 12px;
}

.gx_social {
    flex: 1;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    font-size: 22px;
    color: var(--gx-text-3);
    text-decoration: none;
    transition: all 0.3s;
}

.gx_social:hover { transform: translateY(-3px); }
.gx_social.vk:hover { background: #4C75A3; color: #fff; border-color: #4C75A3; }
.gx_social.tg:hover { background: #0088cc; color: #fff; border-color: #0088cc; }
.gx_social.ds:hover { background: #5865F2; color: #fff; border-color: #5865F2; }
.gx_social.yt:hover { background: #FF0000; color: #fff; border-color: #FF0000; }

/* FOOTER */

/* Обёртка как у .gx_nav / .gx_layout: фон и контент не на 100vw */
.gx_footer_wrap {
    width: 100%;
    max-width: min(var(--gx-nav-max), calc(100vw - var(--gx-nav-gutter)));
    margin: 48px auto 0;
    box-sizing: border-box;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid var(--gx-border);
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.35);
}

.gx_footer_wrap .gx_footer {
    margin-top: 0;
    border-radius: 0;
}

.gx_footer_wrap .gx_footer_bg {
    border-top: none;
}

.gx_footer_wrap .gx_footer_inner {
    max-width: none;
    width: 100%;
}

.gx_footer {
    position: relative;
    z-index: 10;
    margin-top: 48px;
    padding: 0;
    overflow: hidden;
    font-family: 'Exo 2', sans-serif;
}

.gx_footer_bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(18, 21, 28, 0.96) 0%, rgba(8, 9, 13, 0.99) 55%, #06070a 100%);
    border-top: 1px solid rgba(139, 92, 246, 0.12);
    box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.35);
}

.gx_footer_bg::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: min(90%, 720px);
    height: 2px;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, var(--gx-purple), var(--gx-pink), var(--gx-cyan), transparent);
    opacity: 0.85;
    filter: blur(0.5px);
}

.gx_footer_bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 120% at 50% 0%, rgba(139, 92, 246, 0.08), transparent 55%);
    pointer-events: none;
}

.gx_footer_inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 24px 32px;
    max-width: min(var(--gx-nav-max), calc(100vw - var(--gx-nav-gutter)));
    margin: 0 auto;
    padding: 28px 40px 34px;
}

.gx_footer_left {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.gx_footer_tagline {
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    background: linear-gradient(135deg, var(--gx-purple-light), var(--gx-pink));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gx_footer_copy {
    margin: 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--gx-text-3);
    line-height: 1.5;
    max-width: 420px;
}

.gx_footer_links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gx_footer_link,
.gx_footer_links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--gx-text-2);
    text-decoration: none;
    background: rgba(139, 92, 246, 0.06);
    border: 1px solid var(--gx-border);
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_footer_link:hover,
.gx_footer_links a:hover {
    color: var(--gx-text);
    border-color: rgba(139, 92, 246, 0.35);
    background: rgba(139, 92, 246, 0.14);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.12);
}

.gx_footer_link i,
.gx_footer_links a i {
    font-size: 17px;
    color: var(--gx-purple-light);
    opacity: 0.9;
}

.gx_footer_link:hover i,
.gx_footer_links a:hover i {
    opacity: 1;
}

@media (max-width: 720px) {
    .gx_footer_inner {
        flex-direction: column;
        align-items: stretch;
        padding: 24px 20px 32px;
    }

    .gx_footer_links {
        justify-content: flex-start;
    }

    .gx_footer_link,
    .gx_footer_links a {
        flex: 1 1 auto;
        justify-content: center;
        min-width: min(100%, 160px);
    }
}

/* RESPONSIVE */

@media (max-width: 1400px) {
    .gx_layout { grid-template-columns: 1fr 340px; }
}

@media (max-width: 1200px) {
    .gx_layout { grid-template-columns: 1fr; }
    .gx_side { 
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    .gx_socials { grid-column: 1 / -1; }
    .gx_hero_content { max-width: 60%; }
    .gx_hero_visual { 
        width: 40%; 
        right: 0;
    }
    .gx_hero_char { right: 0; }
    .gx_servers_grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 1000px) {
    .gx_hero_visual { display: none; }
    .gx_hero_content { max-width: 100%; }
}

@media (max-width: 900px) {
    :root {
        --gx-nav-gutter: 32px;
    }
    .gx_nav { 
        padding: 10px 14px;
        gap: 10px;
    }
    .gx_nav_brand {
        display: flex !important;
        flex: 1 1 auto;
        justify-content: center;
        min-width: 0;
        margin: 0 4px;
    }
    .gx_brand_text {
        font-size: clamp(11px, 3.2vw, 15px) !important;
        letter-spacing: 0.06em !important;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 36vw;
    }
    .gx_nav_mobile_toggle {
        display: inline-flex !important;
    }
    .gx_nav_mobile_backdrop {
        display: block !important;
    }
    .gx_nav_mobile_panel {
        display: flex !important;
    }
    .gx_nav_links { gap: 4px; padding: 4px; }
    .gx_link { width: 36px; height: 36px; font-size: 16px; }
    .gx_modules { grid-template-columns: 1fr; }
    .gx_side { grid-template-columns: 1fr; }
    .gx_dropdown {
        width: min(280px, calc(100vw - 32px));
        min-width: min(260px, calc(100vw - 24px));
        max-width: calc(100vw - 24px);
    }
    .gx_wallet span {
        max-width: 72px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

body.gx_nav_mobile_open {
    overflow: hidden;
    touch-action: none;
}

@media (max-width: 900px) {
    body.gx_nav_mobile_open .gx_nav_mobile_backdrop {
        opacity: 1;
        visibility: visible;
    }
    body.gx_nav_mobile_open .gx_nav_mobile_panel {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }
}

@media (max-width: 600px) {
    .gx_nav_mobile_panel {
        left: 10px;
        right: 10px;
        top: max(88px, calc(env(safe-area-inset-top, 0px) + 72px));
        max-height: min(75vh, calc(100vh - env(safe-area-inset-bottom, 0px) - 96px));
    }
    .gx_layout { padding: 110px 16px 16px; }
    .gx_hero { padding: 30px; }
    .gx_hero_title { font-size: 32px; }
    .gx_hero_btns { flex-direction: column; }
    .gx_hero_stats { flex-wrap: wrap; }
    
    /* Server cards mobile */
    .gx_servers_grid { grid-template-columns: 1fr !important; gap: 12px !important; }
    #servers .server_card { min-height: 220px !important; }
    #servers .server_card_name { font-size: 13px !important; padding-right: 70px !important; }
    #servers .server_card_content { padding: 14px !important; }
    #servers .server_card_players_count { font-size: 18px !important; }
    #servers .server_card_btn { padding: 10px 12px !important; font-size: 11px !important; }
    #servers .server_card_btn i { font-size: 12px !important; }
    
    /* Section head mobile */
    .gx_section_head { flex-wrap: wrap; }
    .gx_section_line { display: none; }
    
    /* Nav links mobile */
    .gx_nav_links { display: none; }
}

/* 
   NAV LINKS - PROPER MENU WITH SPACING
*/

.gx_nav .gx_nav_links {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gx_nav .gx_nav_links .gx_link,
.gx_nav_links > a.gx_link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 10px 16px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    background: rgba(139, 92, 246, 0.05) !important;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

.gx_nav .gx_nav_links .gx_link i,
.gx_nav_links > a.gx_link i {
    font-size: 16px !important;
    display: inline-block !important;
}

.gx_nav .gx_nav_links .gx_link span,
.gx_nav_links > a.gx_link span {
    display: inline !important;
}

.gx_nav .gx_nav_links .gx_link:hover,
.gx_nav_links > a.gx_link:hover {
    background: rgba(139, 92, 246, 0.15) !important;
    color: var(--gx-text) !important;
}

.gx_nav .gx_nav_links .gx_link.active,
.gx_nav_links > a.gx_link.active {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
}

@media (max-width: 1300px) {
    .gx_nav .gx_nav_links .gx_link span,
    .gx_nav_links > a.gx_link span { display: none !important; }
    .gx_nav .gx_nav_links .gx_link,
    .gx_nav_links > a.gx_link { padding: 10px 12px !important; }
}

@media (max-width: 900px) {
    .gx_nav .gx_nav_links { display: none !important; }
}

/* Раздвижной пункт верхнего меню (top.tpl / page.tpl) */
.gx_nav_links .gx_nav_dd {
    position: relative;
    flex-shrink: 0;
}

.gx_nav_links .gx_nav_dd_btn {
    -webkit-appearance: none;
    appearance: none;
    border: none;
    cursor: pointer;
    font: inherit;
    text-align: inherit;
    color: inherit;
}

.gx_nav_links .gx_nav_dd_chev {
    font-size: 14px !important;
    opacity: 0.6;
    margin-left: 2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.gx_nav_links .gx_nav_dd:hover .gx_nav_dd_chev,
.gx_nav_links .gx_nav_dd.is-open .gx_nav_dd_chev,
.gx_nav_links .gx_nav_dd:focus-within .gx_nav_dd_chev {
    opacity: 1;
    transform: rotate(180deg);
}

.gx_nav_links .gx_nav_dd_panel {
    position: absolute;
    left: 0;
    top: 100%;
    min-width: 228px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: rgba(14, 12, 22, 0.98);
    border: 1px solid rgba(139, 92, 246, 0.22);
    border-radius: 14px;
    box-shadow:
        0 20px 50px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(255, 255, 255, 0.04);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    z-index: 1200;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px) scale(0.98);
    transform-origin: top center;
    transition: opacity 0.18s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events: none;
}

.gx_nav_links .gx_nav_dd_panel::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: 12px;
}

.gx_nav_links .gx_nav_dd:hover .gx_nav_dd_panel,
.gx_nav_links .gx_nav_dd:focus-within .gx_nav_dd_panel,
.gx_nav_links .gx_nav_dd.is-open .gx_nav_dd_panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}

.gx_nav_links .gx_nav_dd_link {
    display: flex !important;
    align-items: center;
    gap: 10px;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    color: rgba(248, 250, 252, 0.92) !important;
    text-decoration: none !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: background 0.15s ease, color 0.15s ease;
    opacity: 1 !important;
}

.gx_nav_links .gx_nav_dd_link i {
    font-size: 18px;
    opacity: 0.75;
}

.gx_nav_links .gx_nav_dd_link:hover {
    background: rgba(139, 92, 246, 0.18) !important;
    color: #fff !important;
}

.gx_nav_links .gx_nav_dd_link.active {
    background: rgba(139, 92, 246, 0.28) !important;
    color: #fff !important;
}


/* 
   TOP USERS TABS (Icon buttons in header)
*/

.gx_card_top .gx_card_head {
    display: flex;
    align-items: center;
    padding-top: 18px !important;
}

.gx_top_switcher {
    display: flex;
    gap: 4px;
    margin-left: auto;
}

.gx_top_btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.08);
    border: none;
    border-radius: 8px;
    color: var(--gx-text-3);
    cursor: pointer;
    transition: all 0.2s ease;
}

.gx_top_btn i {
    font-size: 16px;
}

.gx_top_btn:hover {
    background: rgba(139, 92, 246, 0.15);
    color: var(--gx-text-2);
}

.gx_top_btn.active {
    background: var(--gx-purple);
    color: #fff;
}

.gx_top_content {
    position: relative;
    padding-top: 8px;
}

.gx_top_panel {
    display: none;
}

.gx_top_panel.active {
    display: block;
}

/* 
   NEWS SECTION
*/

/* News in section block */

.gx_section_more {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--gx-purple-light);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
}

.gx_section_more:hover {
    color: var(--gx-purple);
}

.gx_news_grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

/* Style for existing news_block structure */
.gx_news_grid .col-lg-12 {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gx_news_grid .new_news {
    display: none;
}

.gx_news_grid .news_block {
    display: grid !important;
    /* Два прямых ребёнка: .flex_new_new (превью + текст) и .news_info — без display:contents у внутренних */
    grid-template-columns: minmax(0, 1fr) minmax(160px, 230px) !important;
    align-items: stretch;
    gap: 0;
    background: rgba(0,0,0,0.2);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--gx-border);
    transition: all 0.3s ease;
}

.gx_news_grid .news_block:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.05);
}

.gx_news_grid .flex_new_new {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 18px;
    min-width: 0;
    padding: 0;
}

.gx_news_grid .news-block-img {
    width: 120px;
    min-width: 120px;
    height: 140px;
    border-radius: 10px;
    flex-shrink: 0;
    background-size: cover !important;
    background-position: center !important;
}

.gx_news_grid .flex_info_new {
    flex: 1;
    min-width: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.gx_news_grid .name_news {
    display: block;
    color: var(--gx-text);
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 6px;
    line-height: 1.3;
}

.gx_news_grid .short_news {
    display: block;
    color: var(--gx-text-3);
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.gx_news_grid .news-button-bottom {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-radius: 8px;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    width: fit-content;
}

.gx_news_grid .news_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    padding: 16px 20px;
    background: rgba(0,0,0,0.15);
    border-left: 1px solid var(--gx-border);
    min-width: 140px;
}

.gx_news_grid .news_info_set {
    display: flex;
    flex-direction: column;
}

.gx_news_grid .first_text_news {
    font-size: 10px;
    color: var(--gx-text-3);
    text-transform: uppercase;
    margin-bottom: 2px;
}

.gx_news_grid .second_text_news {
    font-size: 13px;
    color: var(--gx-text);
    font-weight: 600;
}

.gx_news_grid .news-button-vk {
    display: none;
}

@media (max-width: 768px) {
    .gx_news_grid .news_block {
        grid-template-columns: 1fr !important;
    }
    .gx_news_grid .flex_new_new {
        flex-direction: column;
        align-items: stretch;
        padding: 0;
    }
    .gx_news_grid .news-block-img {
        width: 100%;
        min-width: 0;
        height: 160px;
    }
    .gx_news_grid .news_info {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 16px;
        border-left: none;
        border-top: 1px solid var(--gx-border);
        padding: 14px 16px;
    }
}

.gx_news_pagination {
    margin-top: 20px;
}

/* Single news page (tpl/news/new.tpl) */
.gx_news_article .news_flex {
    display: grid;
    grid-template-columns: minmax(260px, 340px) 1fr;
    gap: 24px;
    align-items: start;
}

.gx_news_article .news-block-imgg {
    position: relative;
    min-height: 220px;
    border-radius: 16px;
    background-size: cover !important;
    background-position: center !important;
    border: 1px solid var(--gx-border);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
    background-color: rgba(0, 0, 0, 0.35);
}

.gx_news_article .news-block-imgg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.82));
    pointer-events: none;
}

.gx_news_article .news-block-imgg .gx_news_meta_date,
.gx_news_article .news-block-imgg .name_news_img {
    position: relative;
    z-index: 1;
}

.gx_news_meta_date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 8px;
}

.gx_news_article .news-block-imgg .name_news_img {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
}

.gx_news_comments_wrap {
    margin-top: 20px;
    padding: 16px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 12px;
    border: 1px solid var(--gx-border);
    min-height: 72px;
}

.gx_news_comments_wrap .gx_news_comments_loading {
    grid-column: unset;
    padding: 24px;
}

.gx_news_article .block_content_new {
    background: rgba(0, 0, 0, 0.15);
    border-radius: 16px;
    border: 1px solid var(--gx-border);
    overflow: hidden;
}

.gx_news_article .head_news {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px;
    background: rgba(139, 92, 246, 0.06);
    border-bottom: 1px solid var(--gx-border);
}

.gx_news_article .flex_head_news {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.gx_news_article .flex_head_news > i {
    font-size: 22px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
}

.gx_news_article .flex_info_head_news {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gx_news_article .text_news_info {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_news_article .desp_news_info {
    font-size: 12px;
    color: var(--gx-text-3);
}

.gx_news_article .head_news_btn {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.gx_news_article .edit_news_btn {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--gx-border);
    color: var(--gx-text-2);
    text-decoration: none;
    transition: all 0.2s ease;
}

.gx_news_article .edit_news_btn:hover {
    border-color: var(--gx-purple);
    color: var(--gx-purple-light);
}

.gx_news_article .with_code,
.gx_news_article .gx_news_body {
    padding: 20px 22px;
    color: var(--gx-text);
    font-size: 15px;
    line-height: 1.65;
}

.gx_news_article .with_code a {
    color: var(--gx-purple-light);
}

.gx_news_article .with_code a:hover {
    color: var(--gx-purple);
}

.gx_news_article .with_code img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.gx_news_article .with_code p {
    margin: 0 0 12px;
}

.gx_news_article .with_code p:last-child {
    margin-bottom: 0;
}

.gx_news_article .with_code pre {
    padding: 14px 16px;
    overflow-x: auto;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 10px;
    border: 1px solid var(--gx-border);
    font-size: 13px;
}

.gx_news_article .with_code blockquote {
    margin: 12px 0;
    padding: 12px 16px;
    border-left: 3px solid var(--gx-purple);
    background: rgba(139, 92, 246, 0.06);
    border-radius: 0 8px 8px 0;
    color: var(--gx-text-2);
}

.gx_news_comment_form {
    margin-top: 24px;
}

.gx_news_article .block_comments textarea#text,
.gx_news_article .block_comments textarea {
    width: 100% !important;
    min-height: 160px;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.25);
    color: var(--gx-text);
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
}

.gx_news_smile_row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px !important;
}

.gx_news_article .send_comment_btn {
    padding: 10px 22px;
    border-radius: 10px;
    border: none;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    color: #fff;
    transition: opacity 0.2s ease;
}

.gx_news_article .send_comment_btn:hover {
    opacity: 0.92;
}

.gx_news_editor_host {
    padding: 0;
    background: transparent;
    display: flex;
    flex-direction: column-reverse;
}

/* TinyMCE on news page */
.gx_news_article .tox-tinymce {
    border-radius: 12px !important;
    border-color: var(--gx-border) !important;
    margin-top: 12px;
}

@media (max-width: 992px) {
    .gx_news_article .news_flex {
        grid-template-columns: 1fr;
    }
}

/* =====================================================
   INDEX / AUTH LANDING (tpl/index/body.tpl)
===================================================== */

/* Заполняем экран по высоте: убираем «карточку» .gx_page_content и тянем блок до футера */
.gx:has(.gx_auth_landing) {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh;
}

.gx:has(.gx_auth_landing) .gx_layout,
.gx:has(.gx_auth_landing) .gx_layout.gx_layout_page {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    width: 100%;
    max-width: none !important;
    margin: 0 !important;
    padding: 100px 0 0 !important;
    min-height: 0;
    background: transparent !important;
}

.gx:has(.gx_auth_landing) .gx_page_content:has(.gx_auth_landing) {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.gx_auth_landing.page_authorization {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    min-height: calc(100vh - 180px);
    min-height: calc(100dvh - 180px);
    position: relative;
    /* Прозрачно: полноэкранный слой .gx_auth_landing_backdrop (как у .gx::before + сетка) */
    background: transparent;
    font-family: 'Exo 2', sans-serif;
    align-items: stretch;
}

/* Фон как у сайта (.gx::before + сетка + «орбы»), если нет обёртки .gx или старый кэш */
.gx_auth_landing_backdrop {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--gx-bg);
}

.gx_auth_landing_backdrop::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url('../img/background.jpg') center / cover no-repeat fixed;
    opacity: 0.12;
}

.gx_auth_landing_backdrop::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(139, 92, 246, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139, 92, 246, 0.03) 1px, transparent 1px),
        radial-gradient(closest-side at 12% 18%, rgba(139, 92, 246, 0.22), transparent 72%),
        radial-gradient(closest-side at 92% 88%, rgba(236, 72, 153, 0.14), transparent 68%),
        radial-gradient(closest-side at 50% 50%, rgba(6, 182, 212, 0.08), transparent 58%);
    background-size: 60px 60px, 60px 60px, auto, auto, auto;
}

.gx_auth_landing.page_authorization > *:not(.gx_auth_landing_backdrop) {
    position: relative;
    z-index: 1;
}

.gx:has(.gx_auth_landing) .gx_page_content:has(.gx_auth_landing) > .gx_auth_landing.page_authorization {
    flex: 1 1 auto;
    min-height: calc(100vh - 180px);
    min-height: calc(100dvh - 180px);
}

.gx:has(.gx_auth_landing) .gx_footer {
    margin-top: auto;
    flex-shrink: 0;
}

.gx_auth_landing .page_auth_left.gx_auth_hero {
    position: relative;
    flex: 1.15;
    min-height: min(420px, 100%);
    align-self: stretch;
    padding: 48px 40px;
    align-items: center;
    overflow: hidden;
    border-right: 1px solid var(--gx-border);
}

.gx_auth_hero_bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transform: scale(1.02);
    filter: saturate(1.05);
}

.gx_auth_hero_overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(8, 9, 13, 0.92) 0%, rgba(8, 9, 13, 0.55) 45%, rgba(109, 40, 217, 0.35) 100%),
        radial-gradient(circle at 20% 120%, rgba(139, 92, 246, 0.35), transparent 55%);
    pointer-events: none;
}

.gx_auth_landing .gx_auth_hero_container {
    position: relative;
    z-index: 2;
    max-width: 640px;
    margin: 0;
    padding: 0 8px 0 0;
}

.gx_auth_landing .gx_auth_hero_inner {
    max-width: 100%;
}

.gx_auth_badge {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--gx-purple-light);
    background: rgba(139, 92, 246, 0.12);
    border: 1px solid var(--gx-border-light);
    margin-bottom: 22px;
}

.gx_auth_landing .gx_auth_brand_title {
    margin: 0 0 18px;
    font-size: clamp(36px, 5vw, 52px);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gx_auth_landing .gx_auth_brand_line1 {
    text-transform: uppercase;
}

.gx_auth_landing .gx_auth_brand_line2 {
    text-transform: uppercase;
}

.gx_auth_landing .gx_auth_tagline {
    display: block;
    font-size: clamp(17px, 2.2vw, 22px);
    line-height: 1.45;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.92);
    margin-bottom: 14px;
}

.gx_auth_landing .gx_auth_desc {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gx-text-3);
    margin-bottom: 32px;
    max-width: 520px;
}

.gx_auth_landing .gx_auth_social_row {
    align-items: center;
    flex-wrap: wrap;
}

.gx_auth_landing .gx_auth_social_row a {
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border-light);
    color: #fff;
    backdrop-filter: blur(8px);
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.gx_auth_landing .gx_auth_social_row a:hover {
    transform: translateY(-3px);
    border-color: var(--gx-purple);
    box-shadow: 0 12px 30px rgba(139, 92, 246, 0.25);
    color: #fff;
}

.gx_auth_hero_decor {
    position: absolute;
    right: -80px;
    bottom: -100px;
    width: 420px;
    height: 420px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.45;
}

.gx_auth_hero_ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(167, 139, 250, 0.25);
}

.gx_auth_hero_ring + .gx_auth_hero_ring {
    inset: 28px;
    border-color: rgba(167, 139, 250, 0.12);
}

.gx_auth_landing .page_auth_right.gx_auth_panel {
    flex: 0 0 min(480px, 100%);
    max-width: 520px;
    background: transparent;
    box-shadow: none;
    padding: 32px 28px;
    align-self: stretch;
    align-items: stretch;
    justify-content: center;
}

.gx_auth_card.login_block {
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 28px 26px 26px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.gx_auth_landing .gx_auth_tabs.tabes {
    border-bottom-color: var(--gx-border);
    margin-bottom: 22px;
    gap: 4px;
}

.gx_auth_landing .gx_auth_tabs .tab {
    color: var(--gx-text-3);
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    border-radius: 10px 10px 0 0;
    padding: 14px 12px;
    font-size: 13px;
    font-weight: 600;
}

.gx_auth_landing .gx_auth_tabs .tab:hover {
    color: var(--gx-text-2);
    background: rgba(139, 92, 246, 0.06);
}

.gx_auth_landing .gx_auth_tabs .tab.active {
    color: var(--gx-text);
    border-bottom-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.08);
}

.gx_auth_landing .flex_authorization_page {
    display: block;
}

.gx_auth_landing .flex_authorization_page .block.authorization {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gx_auth_landing .authorization_welcome {
    margin-bottom: 20px;
}

.gx_auth_landing .authorization_welcome .text_welcome {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
    margin-bottom: 6px;
}

.gx_auth_landing .authorization_welcome .second_welcome {
    display: block;
    font-size: 13px;
    line-height: 1.45;
    color: var(--gx-text-3);
}

.gx_auth_landing .login_place {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gx_auth_landing .input_login {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 4px 4px 14px;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gx_auth_landing .input_login:focus-within {
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2);
}

.gx_auth_landing .input_login > i {
    font-size: 20px;
    color: var(--gx-text-3);
}

.gx_auth_landing .form_control_auth {
    flex: 1;
    border: none !important;
    background: transparent !important;
    color: var(--gx-text) !important;
    padding: 12px 12px 12px 0 !important;
    font-size: 14px !important;
    box-shadow: none !important;
}

.gx_auth_landing .form_control_auth::placeholder {
    color: var(--gx-text-3) !important;
}

.gx_auth_landing .login_account_btn {
    width: 100%;
    margin-top: 6px;
    padding: 14px 18px;
    border: none;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    color: #fff !important;
    box-shadow: 0 10px 30px rgba(139, 92, 246, 0.35);
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.gx_auth_landing .login_account_btn:hover {
    opacity: 0.95;
    transform: translateY(-1px);
}

.gx_auth_landing .block_auth_push .small {
    display: inline-block;
    margin-top: 12px;
    font-size: 12px;
    color: var(--gx-purple-light);
}

.gx_auth_landing .block_auth_push .small:hover {
    color: var(--gx-purple);
}

.gx_auth_landing .line_social {
    margin: 18px 0 12px;
}

.gx_auth_landing .circle_social {
    background: var(--gx-border) !important;
}

.gx_auth_landing .circle_in_social {
    background: var(--gx-purple) !important;
}

.gx_auth_landing .button_social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.gx_auth_landing .vkbut,
.gx_auth_landing .steambut {
    flex: 1;
    min-width: 120px;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    border: 1px solid var(--gx-border);
    background: rgba(255, 255, 255, 0.04);
    color: var(--gx-text) !important;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.gx_auth_landing .vkbut:hover,
.gx_auth_landing .steambut:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.1);
}

/* parts/mini-profile.tpl — «Забыли пароль?», разделитель, VK / Steam (PARADOX) */
.gx_auth_social_wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    margin-top: 6px;
}

.gx_auth_social_wrap .gx_auth_forgot.small {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    margin-top: 18px;
    padding: 9px 18px;
    font-size: 13px !important;
    font-weight: 600;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    border-radius: 999px;
    border: 1px solid rgba(139, 92, 246, 0.22);
    background: rgba(139, 92, 246, 0.06);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15) inset;
    transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_auth_social_wrap .gx_auth_forgot.small:hover {
    color: var(--gx-purple-light) !important;
    border-color: rgba(167, 139, 250, 0.45);
    background: rgba(139, 92, 246, 0.12);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(139, 92, 246, 0.15);
}

.gx_auth_social_wrap .gx_auth_social_rule.line_social {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    margin: 22px 0 12px;
    width: 100%;
    border: none;
    background: none;
    padding: 0;
}

.gx_auth_social_wrap .gx_auth_social_rule.line_social::before,
.gx_auth_social_wrap .gx_auth_social_rule.line_social::after {
    content: '';
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.35), transparent);
}

.gx_auth_social_wrap .gx_auth_social_rule .circle_social {
    width: 36px;
    height: 36px;
    margin: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.12) !important;
    border: 1px solid rgba(139, 92, 246, 0.35);
    box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.06);
}

.gx_auth_social_wrap .gx_auth_social_rule .circle_in_social {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--gx-purple-light), var(--gx-purple)) !important;
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.5);
}

.gx_auth_social_wrap .gx_auth_social_hint {
    margin: 0 0 14px;
    padding: 0;
    text-align: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    line-height: 1.4;
    color: var(--gx-text-3);
}

.gx_auth_social_wrap .gx_auth_social_btns.button_social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
}

.gx_auth_social_wrap .gx_auth_social_btns .vkbut,
.gx_auth_social_wrap .gx_auth_social_btns .steambut {
    flex: 1 1 calc(50% - 5px);
    min-width: min(100%, 132px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 16px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, filter 0.2s ease;
}

.gx_auth_social_wrap .gx_auth_social_btns .vkbut {
    border-color: rgba(79, 129, 189, 0.55);
    background: linear-gradient(165deg, rgba(79, 129, 189, 0.45) 0%, rgba(39, 61, 107, 0.75) 100%);
    color: #eef3ff !important;
    box-shadow: 0 10px 26px rgba(39, 61, 107, 0.35);
}

.gx_auth_social_wrap .gx_auth_social_btns .vkbut:hover {
    transform: translateY(-2px);
    border-color: rgba(129, 174, 226, 0.75);
    box-shadow: 0 14px 32px rgba(59, 101, 163, 0.45);
    filter: brightness(1.06);
}

.gx_auth_social_wrap .gx_auth_social_btns .steambut {
    border-color: rgba(42, 71, 94, 0.75);
    background: linear-gradient(165deg, rgba(42, 71, 94, 0.55) 0%, rgba(15, 24, 38, 0.92) 100%);
    color: #dbe7f5 !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.35);
}

.gx_auth_social_wrap .gx_auth_social_btns .steambut:hover {
    transform: translateY(-2px);
    border-color: rgba(102, 148, 184, 0.55);
    box-shadow: 0 14px 32px rgba(23, 40, 61, 0.5);
    filter: brightness(1.08);
}

.gx_auth_social_wrap .gx_auth_social_btns .vkbut i,
.gx_auth_social_wrap .gx_auth_social_btns .steambut i {
    font-size: 22px;
    line-height: 1;
}

/* parts/detailed-profile.tpl — согласие на обработку ПДн (вне .block.authorization) */
.flex_authorization_page .privacy-policy.gx_auth_privacy_note,
.flex_authorization_page .privacy-policy {
    margin-top: 20px;
    margin-bottom: 0;
    padding: 14px 16px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.55;
    color: var(--gx-text-2);
    text-align: center;
    border-radius: 12px;
    border: 1px solid rgba(139, 92, 246, 0.2);
    background: linear-gradient(180deg, rgba(139, 92, 246, 0.1) 0%, rgba(0, 0, 0, 0.22) 100%);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18) inset;
}

.flex_authorization_page .privacy-policy a {
    color: var(--gx-purple-light);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.gx_auth_landing .privacy-policy {
    margin-top: 16px;
    font-size: 11px;
    line-height: 1.45;
    color: var(--gx-text-3);
    text-align: center;
}

.gx_auth_landing #result,
.gx_auth_landing #result2 {
    margin-top: 12px;
    color: var(--gx-text-2);
    font-size: 13px;
}

@media (max-width: 992px) {
    .gx_auth_landing.page_authorization {
        flex-direction: column;
        min-height: calc(100vh - 160px);
        min-height: calc(100dvh - 160px);
    }

    .gx_auth_landing .page_auth_left.gx_auth_hero {
        min-height: 320px;
        flex: 0 0 auto;
        border-right: none;
        border-bottom: 1px solid var(--gx-border);
        padding: 36px 24px;
    }

    .gx_auth_landing .gx_auth_hero_container {
        padding: 0;
    }

    .gx_auth_landing .page_auth_right.gx_auth_panel {
        flex: 1 1 auto;
        max-width: none;
        padding: 28px 20px 40px;
    }

    .gx_auth_hero_decor {
        display: none;
    }
}

/* 
   ACTIVITY SECTION
*/

/* Activity in section block */

.gx_activity_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

/* Section blocks (like servers) */
.gx_section_block {
    background: var(--gx-card);
    border-radius: 20px;
    border: 1px solid var(--gx-border);
    padding: 24px;
    margin-bottom: 24px;
}

.gx_section_block .gx_section_head {
    margin-bottom: 20px;
}

.gx_section_block .gx_section_content {
    /* content area */
}

.gx_activity_block {
    background: var(--gx-card);
    border-radius: 16px;
    border: 1px solid var(--gx-border);
    overflow: hidden;
}

.gx_activity_head {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: rgba(139, 92, 246, 0.05);
    border-bottom: 1px solid var(--gx-border);
}

.gx_activity_head i {
    font-size: 18px;
    color: var(--gx-purple-light);
}

.gx_activity_head span {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_activity_list {
    padding: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Activity users - use top_user_card styles */
.gx_activity_users {
    display: flex !important;
    flex-direction: column !important;
    padding: 8px !important;
    counter-reset: topuser !important;
}

.gx_activity_users .top_user_card {
    display: grid !important;
    grid-template-columns: 40px 1fr auto !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 10px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: background 0.2s !important;
}

.gx_activity_users .top_user_card::before,
.gx_activity_users .top_user_card::after {
    display: none !important;
}

.gx_activity_users .top_user_card:hover {
    background: rgba(139, 92, 246, 0.06) !important;
}

.gx_activity_users .top_user_avatar {
    grid-column: 1 !important;
}

.gx_activity_users .top_user_avatar img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

.gx_activity_users .top_user_info {
    grid-column: 2 !important;
}

.gx_activity_users .top_user_stats {
    grid-column: 3 !important;
}

/* Activity forum - last_activity.tpl styles */
.gx_activity_forum {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.gx_activity_forum .lst_activity_block {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    transition: background 0.2s;
}

.gx_activity_forum .lst_activity_block:hover {
    background: rgba(139, 92, 246, 0.06);
}

.gx_activity_forum .left_side_activity {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.gx_activity_forum .img_actiity {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
}

.gx_activity_forum .activity_flex {
    flex: 1;
    min-width: 0;
}

.gx_activity_forum .activity_flex a {
    text-decoration: none;
}

.gx_activity_forum .last_activity_theme {
    display: block;
    color: var(--gx-text);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gx_activity_forum .description_activity {
    display: block;
    color: var(--gx-text-3);
    font-size: 11px;
    margin-top: 3px;
}

.gx_activity_forum .activity_btn {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border-radius: 8px;
    color: var(--gx-purple-light);
    transition: all 0.2s;
}

.gx_activity_forum .lst_activity_block:hover .activity_btn {
    background: var(--gx-purple);
    color: #fff;
}

.gx_activity_forum .empty-element {
    display: block;
    padding: 20px;
    text-align: center;
    color: var(--gx-text-3);
    font-size: 13px;
}

/* 
   ONLINE USERS SIDEBAR CARDS
*/

.gx_card_online,
.gx_card_recent {
    background: var(--gx-card);
    border-radius: 16px;
    border: 1px solid var(--gx-border);
    margin-bottom: 16px;
}

.gx_card_online .gx_card_head .gx_card_icon.online {
    background: rgba(16, 185, 129, 0.1);
    color: var(--gx-green);
}

.gx_card_recent .gx_card_head .gx_card_icon.recent {
    background: rgba(6, 182, 212, 0.1);
    color: var(--gx-cyan);
}

.gx_online_list {
    padding: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Online user item (online_user.tpl) - avatar only */
.gx_online_list .online_user_item {
    display: inline-block;
    text-decoration: none;
    transition: all 0.2s ease;
}

.gx_online_list .online_user_item:hover {
    transform: scale(1.05);
}

.gx_online_list .online_user_item img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    border: none !important;
}

.gx_online_list .online_user_name {
    display: none !important;
}

/* Visit user item (visit_user.tpl for were_online) - avatar only like online */
.gx_online_list .visit_users_online1 {
    display: inline-block !important;
    width: auto !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 10px !important;
}

.gx_online_list .visit_users_online1:hover {
    background: transparent !important;
}

.gx_online_list .visit_users_online1 > div {
    display: inline-block !important;
}

.gx_online_list .back_img_chat {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 10px !important;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.gx_online_list .user_o_img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 10px !important;
}

/* Hide text and extra elements in visit_user */
.gx_online_list .block_visit,
.gx_online_list .login_visit,
.gx_online_list .gp_visit,
.gx_online_list .visit_users_online1 > i {
    display: none !important;
}

.gx_online_list > a {
    text-decoration: none;
    display: inline-block;
}

/* Hide commas between users */
.gx_online_list {
    font-size: 0;
    line-height: 0;
}

.gx_online_list > a,
.gx_online_list .online_user_item,
.gx_online_list .visit_users_online1 {
    font-size: 14px;
    line-height: normal;
}

.gx_online_list .empty-element {
    display: block;
    width: 100%;
    padding: 16px;
    text-align: center;
    color: var(--gx-text-3);
    font-size: 12px;
}

/* Responsive */
@media (max-width: 1200px) {
    .gx_nav_links .gx_link span { display: none !important; }
    .gx_nav_links .gx_link { padding: 10px !important; }
}

@media (max-width: 900px) {
    .gx_news_grid { grid-template-columns: 1fr; }
    .gx_activity_grid { grid-template-columns: 1fr; }
}

/* 
   PAGE LAYOUT - FOR INNER PAGES
*/

.gx_layout_page {
    display: block !important;
    max-width: min(var(--gx-nav-max), calc(100vw - var(--gx-nav-gutter)));
    margin: 0 auto;
}

/* Single column layout for pages without gx_main/gx_side */
.gx_layout:not(:has(.gx_main)) {
    grid-template-columns: 1fr !important;
}

.gx_page_content {
    background: var(--gx-card);
    border-radius: 20px;
    border: 1px solid var(--gx-border);
    padding: 30px;
    min-height: 400px;
}

/* Page titles */
.gx_page_content .page_title,
.gx_page_content h1,
.gx_page_content .heading {
    font-family: 'Exo 2', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--gx-text);
    margin-bottom: 24px;
}

/* Tables in pages */
.gx_page_content table {
    width: 100%;
    border-collapse: collapse;
}

.gx_page_content table th,
.gx_page_content table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--gx-border);
}

.gx_page_content table th {
    background: rgba(139, 92, 246, 0.05);
    font-weight: 600;
    color: var(--gx-text);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gx_page_content table tr:hover td {
    background: rgba(139, 92, 246, 0.03);
}

/* Buttons in pages */
.gx_page_content .btn,
.gx_page_content button {
    font-family: 'Exo 2', sans-serif;
}

/* Forms in pages */
.gx_page_content input[type="text"],
.gx_page_content input[type="password"],
.gx_page_content input[type="email"],
.gx_page_content textarea,
.gx_page_content select {
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 10px;
    padding: 12px 16px;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    width: 100%;
    transition: border-color 0.2s ease;
}

.gx_page_content input:focus,
.gx_page_content textarea:focus,
.gx_page_content select:focus {
    outline: none;
    border-color: var(--gx-purple);
}

/* Cards/blocks in pages */
.gx_page_content .block,
.gx_page_content .card {
    background: rgba(0,0,0,0.2);
    border-radius: 16px;
    border: 1px solid var(--gx-border);
    padding: 20px;
    margin-bottom: 20px;
}

/* Pagination inside .gx_page_content — как #pagination2 / .pagination (рамки у номеров) */
.gx_page_content .pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.gx_page_content .pagination li {
    list-style: none;
    margin: 0;
    padding: 0;
    background: transparent !important;
}

.gx_page_content .pagination a,
.gx_page_content .pagination span,
.gx_page_content .pagination li > a,
.gx_page_content .pagination li > span {
    min-width: 42px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    box-sizing: border-box;
    background: rgba(18, 21, 28, 0.78) !important;
    border: 1px solid var(--gx-border, rgba(139, 92, 246, 0.22)) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    color: var(--gx-text-2, rgba(255, 255, 255, 0.78));
    text-decoration: none;
    font-family: 'Exo 2', system-ui, sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    white-space: nowrap;
}

.gx_page_content .pagination a:hover,
.gx_page_content .pagination li > a:hover {
    border-color: rgba(167, 139, 250, 0.45) !important;
    background: rgba(139, 92, 246, 0.1) !important;
    color: var(--gx-purple-light, #c4b5fd);
}

.gx_page_content .pagination .active,
.gx_page_content .pagination span.current,
.gx_page_content .pagination li.active > a,
.gx_page_content .pagination li.active > span {
    border-color: rgba(167, 139, 250, 0.55) !important;
    background: rgba(139, 92, 246, 0.16) !important;
    color: var(--gx-purple-light, #c4b5fd) !important;
    font-weight: 700;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.12);
}

/* 
   PROFILE PAGE STYLES
*/

.profile_container {
    max-width: 100% !important;
    margin: 0;
    padding: 0;
}

.profile_layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 24px;
    margin-top: 24px;
}

.profile_main_column {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.profile_modern_wrapper {
    background: var(--gx-card);
    border-radius: 20px;
    border: 1px solid var(--gx-border);
    overflow: hidden;
}

.profile_cover {
    height: 200px;
    background: linear-gradient(135deg, var(--gx-purple-dark), var(--gx-purple), var(--gx-pink));
    position: relative;
    display: flex;
    flex-direction: column;
}

.profile_cover_overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.5));
}

.profile_actions_top {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
    z-index: 10;
}

.profile_id_modern {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(10px);
    border-radius: 10px;
    font-size: 12px;
    color: var(--gx-text-2);
}

.profile_id_value {
    color: var(--gx-text);
    font-weight: 600;
}

.copyref_modern,
.btn_exit_modern,
.btn_block_modern {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(10px);
    border: none;
    border-radius: 10px;
    color: var(--gx-text-2);
    cursor: pointer;
    transition: all 0.2s ease;
}

.copyref_modern:hover,
.btn_exit_modern:hover,
.btn_block_modern:hover {
    background: rgba(139, 92, 246, 0.3);
    color: #fff;
}

.profile_hero_section {
    display: flex;
    align-items: flex-end;
    gap: 24px;
    padding: 0 24px 24px;
    margin-top: auto;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 5;
}

.profile_avatar_wrapper {
    flex-shrink: 0;
}

.profile_avatar_frame {
    width: 120px;
    height: 120px;
    border-radius: 20px;
    overflow: hidden;
    border: 4px solid var(--gx-card);
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}

.profile_avatar_modern {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile_hero_info {
    padding-top: 0;
    flex: 1;
    padding-bottom: 0;
}

.profile_username_hero {
    font-family: 'Exo 2', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 4px;
}

.profile_group_modern {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.profile_stats_section {
    display: flex;
    justify-content: flex-end;
    gap: 24px;
    padding: 20px 24px;
    background: var(--gx-card);
    border-bottom: 1px solid var(--gx-border);
}

.profile_stats_row {
    display: flex;
    gap: 24px;
    margin-top: 16px;
}

.stat_item_inline {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: var(--gx-surface);
    border-radius: 12px;
    border: 1px solid var(--gx-border);
    transition: all 0.3s;
}

.stat_item_inline:hover {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--gx-purple);
    transform: translateY(-2px);
}

.stat_item_inline i {
    font-size: 24px;
}

.stat_icon_heart { color: var(--gx-purple); }
.stat_icon_message { color: var(--gx-purple); }
.stat_icon_trophy { color: var(--gx-purple); }

.stat_text {
    display: flex;
    flex-direction: column;
}

.stat_value_inline {
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
}

.stat_label_inline {
    font-size: 11px;
    color: var(--gx-text-3);
    text-transform: uppercase;
}

/* Heading blocks */
.heading_block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gx-border);
}

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

.double_heading > i {
    font-size: 24px;
    color: var(--gx-purple);
}

.heading_cap {
    display: flex;
    flex-direction: column;
}

.heading_cap .heading {
    font-family: 'Exo 2', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--gx-text);
}

.heading_cap .second_heading {
    font-size: 12px;
    color: var(--gx-text-3);
}

@media (max-width: 1100px) {
    .profile_layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .profile_hero_section {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .profile_hero_info {
        padding-top: 16px;
    }
    .profile_stats_row {
        justify-content: center;
    }
}

/* Reset old layout wrappers */
.col-lg-3,
.col-lg-6,
.col-lg-9,
.col-lg-12,
.col-12,
.row {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    flex: none !important;
}

.order-is-first,
.order-is-last {
    order: unset !important;
}

/* Container reset */
.container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
}

/* Block complaints / Bans */
.block_complaints {
    background: rgba(0,0,0,0.2);
    border-radius: 16px;
    padding: 20px;
    border: 1px solid var(--gx-border);
}

/* Table styles */
.table-adaptive {
    width: 100% !important;
    overflow-x: auto !important;
    border-radius: 16px !important;
}

.table-adaptive table,
table {
    width: 100% !important;
    border-collapse: collapse !important;
    background: transparent !important;
}

.table-adaptive th,
.table-adaptive td,
table th,
table td {
    padding: 14px 16px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
    font-size: 13px !important;
}

.table-adaptive th,
table th {
    background: rgba(139, 92, 246, 0.08) !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.table-adaptive tr:hover td,
table tr:hover td {
    background: rgba(139, 92, 246, 0.03) !important;
}

.table-adaptive a,
table a {
    color: var(--gx-purple-light) !important;
    text-decoration: none !important;
}

.table-adaptive a:hover,
table a:hover {
    color: var(--gx-purple) !important;
}

/* Table row format (banlist/stats) */
.table-adaptive.table-fused {
    overflow: hidden !important;
    border-radius: 16px !important;
}

.table-adaptive .table-row {
    display: flex !important;
    align-items: center !important;
    padding: 12px 20px !important;
    background: var(--gx-card-light) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    margin-bottom: 10px !important;
    transition: all 0.2s ease !important;
}

.table-adaptive .table-row:hover {
    border-color: rgba(139, 92, 246, 0.3) !important;
    background: rgba(139, 92, 246, 0.05) !important;
}

.table-adaptive .table-row:last-child {
    margin-bottom: 0 !important;
}

.table-adaptive .table-row > .row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
}

.table-adaptive .table-row > .row > div {
    padding: 0 12px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.table-adaptive .table-row > .row > div > strong {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    margin-bottom: 4px !important;
}

.table-adaptive .table-row > .row > div > p,
.table-adaptive .table-row > .row > div > span {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--gx-text) !important;
    line-height: 1.4 !important;
}

.table-adaptive .table-row > .row > div > .area-user {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

.table-adaptive .table-row > .row > div > .area-user a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--gx-text) !important;
    text-decoration: none !important;
}

.table-adaptive .table-row > .row > div > .area-user a:hover {
    color: var(--gx-purple-light) !important;
}

.table-adaptive .table-row > .row > div > .area-user img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

.table-adaptive .table-row > .row > div.with-icon {
    position: relative !important;
    padding-left: 50px !important;
}

.table-adaptive .table-row > .row > div.with-icon > i {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(139, 92, 246, 0.15) !important;
    border-radius: 10px !important;
    color: var(--gx-purple-light) !important;
    font-size: 18px !important;
}

.table-adaptive .table-row > .row > div.with-icon > img {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

/* Success/warning/danger rows */
.table-adaptive .table-row.success {
    border-left: 3px solid var(--gx-green) !important;
}

.table-adaptive .table-row.warning {
    border-left: 3px solid #f59e0b !important;
}

.table-adaptive .table-row.danger {
    border-left: 3px solid #ef4444 !important;
}

/* Area image in table */
.table-adaptive .table-row > .row > div > .area-image img {
    max-height: 40px !important;
    width: auto !important;
    border-radius: 6px !important;
}

/* Администраторы (admin.tpl): три колонки на всю ширину, не «ломаются» layout-fix и * { max-width:100% } */
.gx_admins_wrap.table-adaptive {
    width: 100%;
    max-width: 100%;
}

.gx_admins_wrap.table-adaptive .table-row > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-wrap: nowrap !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > [class*="col-lg-"] {
    max-width: none !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > .col-lg-3 {
    flex: 0 0 22% !important;
    width: 22% !important;
    min-width: 160px !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > .col-lg-4 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > .col-lg-5 {
    flex: 0 0 32% !important;
    width: 32% !important;
    min-width: 220px !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > div.with-icon img.admins_img,
.gx_admins_wrap.table-adaptive .table-row > .row > div.with-icon > img {
    width: 44px !important;
    height: 44px !important;
    max-width: none !important;
    object-fit: cover !important;
}

.gx_admins_wrap.table-adaptive .table-row > .row > div.with-description p,
.gx_admins_wrap.table-adaptive .table-row > .row > div.with-description p a {
    word-break: break-word;
}

@media (max-width: 991.98px) {
    .gx_admins_wrap.table-adaptive .table-row > .row {
        flex-wrap: wrap !important;
    }

    .gx_admins_wrap.table-adaptive .table-row > .row > [class*="col-lg-"] {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* Empty elements */
.empty-element {
    text-align: center;
    padding: 40px 20px;
    color: var(--gx-text-3);
    font-size: 14px;
}

/* Pagination — номера в рамках (единый стиль по шаблону) */
#pagination2 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 20px 0;
    flex-wrap: wrap;
    background: transparent !important;
}

#pagination2 ul,
#pagination2 .pagination,
.pagination_center ul,
.pagination_center .pagination,
ul.pagination {
    display: flex;
    gap: 10px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#pagination2 a,
#pagination2 span,
#pagination2 li > a,
#pagination2 li > span,
.pagination a,
.pagination span,
.pagination li > a,
.pagination li > span {
    min-width: 42px;
    min-height: 42px;
    height: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    box-sizing: border-box;
    background: rgba(18, 21, 28, 0.78) !important;
    border: 1px solid var(--gx-border, rgba(139, 92, 246, 0.22)) !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    color: var(--gx-text-2, rgba(255, 255, 255, 0.78));
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Exo 2', system-ui, sans-serif;
    line-height: 1.2;
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    white-space: nowrap;
    text-shadow: none !important;
    outline: none !important;
}

#pagination2 a:hover,
.pagination a:hover,
#pagination2 li > a:hover,
.pagination li > a:hover {
    border-color: rgba(167, 139, 250, 0.45) !important;
    background: rgba(139, 92, 246, 0.1) !important;
    color: var(--gx-purple-light, #c4b5fd);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.05) inset;
    text-shadow: none !important;
    outline: none !important;
}

#pagination2 .active,
#pagination2 span.current,
#pagination2 li.active > a,
#pagination2 li.active > span,
.pagination .active,
.pagination span.current,
.pagination li.active > a,
.pagination li.active > span {
    border-color: rgba(167, 139, 250, 0.55) !important;
    background: rgba(139, 92, 246, 0.16) !important;
    color: var(--gx-purple-light, #c4b5fd) !important;
    font-weight: 700;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.12), 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    text-shadow: none !important;
    outline: none !important;
}

#pagination2 li.disabled > a,
#pagination2 li.disabled > span,
.pagination li.disabled > a,
.pagination li.disabled > span {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
    border-color: var(--gx-border, rgba(139, 92, 246, 0.12)) !important;
    background: rgba(18, 21, 28, 0.35) !important;
}

/* Hide navigation buttons (back/forward) */
#pagination2 li:first-child,
#pagination2 li:last-child,
.pagination li:first-child,
.pagination li:last-child {
    display: none !important;
}

/* Override any conflicting pagination styles */
#pagination2 li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#pagination2 .pagination > li {
    display: inline-block;
    margin: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Ellipsis styling */
#pagination2 .pagination > li > span:not(.current):not(a),
.pagination > li > span:not(.current):not(a) {
    min-width: 38px;
    min-height: 42px;
    padding: 0 10px;
    border: 1px dashed rgba(139, 92, 246, 0.2) !important;
    border-radius: 12px !important;
    background: rgba(18, 21, 28, 0.35) !important;
    color: var(--gx-text-3) !important;
    cursor: default;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Exo 2', system-ui, sans-serif;
}

#pagination2 .pagination > li > span:not(.current):not(a):hover,
.pagination > li > span:not(.current):not(a):hover {
    transform: none;
    border-color: rgba(139, 92, 246, 0.2) !important;
    background: rgba(18, 21, 28, 0.35) !important;
    box-shadow: none;
}

/* Navigation buttons text styling */
#pagination2 li:first-child > a,
#pagination2 li:last-child > a,
.pagination li:first-child > a,
.pagination li:last-child > a {
    display: flex;
    align-items: center;
    gap: 4px;
}

#pagination2 li:first-child > a > span,
#pagination2 li:last-child > a > span,
.pagination li:first-child > a > span,
.pagination li:last-child > a > span {
    font-size: 14px;
    color: var(--gx-text-2);
    white-space: nowrap;
    display: inline-block;
}

/* Heading block */
.heading_block {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 24px !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.double_heading {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.double_heading > i {
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 14px !important;
    font-size: 22px !important;
    color: #fff !important;
}

.heading_cap {
    display: flex !important;
    flex-direction: column !important;
}

.heading_cap .heading {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    margin: 0 !important;
}

.heading_cap .second_heading {
    font-size: 13px !important;
    color: var(--gx-text-3) !important;
    margin-top: 2px !important;
}

/* Heading button */
.btn_heading {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.btn_heading:hover {
    transform: scale(1.05) !important;
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
}

/* admins.tpl — ссылка на редактирование админов (.btn_admin_stn) */
.gx_admins_wrap .heading_block > a[href*="edit_admins"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    flex-shrink: 0 !important;
}

.gx_admins_wrap .btn_admin_stn {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: 1px solid rgba(139, 92, 246, 0.4) !important;
    border-radius: 16px !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.3) !important;
}

.gx_admins_wrap .btn_admin_stn:hover {
    transform: scale(1.06) !important;
    box-shadow: 0 12px 32px rgba(139, 92, 246, 0.45) !important;
}

.gx_admins_wrap .btn_admin_stn i {
    font-size: 26px !important;
    line-height: 1 !important;
}

/* Buttons */
.btn,
button,
input[type="button"],
input[type="submit"] {
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 24px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-primary,
.btn.btn-primary {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    border: none !important;
}

.btn-primary:hover {
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
    transform: translateY(-2px) !important;
}

.btn-outline-primary {
    background: transparent !important;
    color: var(--gx-purple-light) !important;
    border: 1px solid var(--gx-purple) !important;
}

.btn-outline-primary:hover {
    background: rgba(139, 92, 246, 0.1) !important;
}

.btn.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
}

/* Form controls */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    width: 100% !important;
    transition: border-color 0.2s ease !important;
}

.form-control:focus,
input:focus,
textarea:focus,
select:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1) !important;
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder {
    color: var(--gx-text-3) !important;
}

/* Custom select */
.custom-select,
label.custom-select {
    position: relative !important;
    display: block !important;
    margin-bottom: 16px !important;
}

.custom-select.with-title,
label.custom-select.with-title {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(48px, auto) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    padding-top: 0 !important;
}

.custom-select select,
label.custom-select select {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    padding: 16px 50px 16px 18px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: border-color 0.2s !important;
}

.custom-select select:focus,
label.custom-select select:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
}

.custom-select select option,
label.custom-select select option {
    background: var(--gx-card) !important;
    color: var(--gx-text) !important;
    padding: 12px !important;
}

.custom-select > span,
label.custom-select > span {
    position: absolute !important;
    top: 0 !important;
    left: 14px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--gx-purple-light) !important;
    background: var(--gx-surface) !important;
    padding: 2px 8px !important;
    border-radius: 4px !important;
    z-index: 10 !important;
    transform: translateY(-50%) !important;
}

.custom-select.with-title > span,
label.custom-select.with-title > span {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    grid-row: 1 !important;
    grid-column: 1 !important;
    font-size: 12px !important;
    color: var(--gx-text-2) !important;
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    z-index: auto !important;
}

.custom-select > i,
label.custom-select > i {
    position: absolute !important;
    left: 16px !important;
    top: calc(50% + 4px) !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

label.custom-select.with-title > i {
    grid-row: 2 !important;
    grid-column: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 0 0 14px !important;
    transform: none !important;
    z-index: 2 !important;
}

label.custom-select.with-title select {
    grid-row: 2 !important;
    grid-column: 1 !important;
    min-height: 48px !important;
    line-height: 1.4 !important;
    box-sizing: border-box !important;
    color-scheme: dark !important;
    padding: 14px 44px 14px 50px !important;
    background-color: var(--gx-surface) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}

/* If icon is on left, add padding to select */
label.custom-select:has(> i) select {
    padding-left: 50px !important;
}

label.custom-select.with-title:has(> i) select {
    padding-left: 50px !important;
}

/* ========== BANS — добавить заявку (tpl/bans/add_ban.tpl) ========== */
.gx_ban_add_page {
    min-width: 0;
}

.gx_ban_add_page .gx_banlist_compact_header {
    margin-bottom: 24px;
}

.gx_ban_add_page .block.gx_ban_add_card {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 20px !important;
    padding: 22px 24px 26px !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22) !important;
}

.gx_ban_add_page .gx_ban_add_field {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.gx_ban_add_page .gx_ban_add_field + .gx_ban_add_field {
    margin-top: 18px !important;
}

.gx_ban_add_page label.custom-select.with-title,
.gx_ban_add_page label.custom-input.with-title {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* custom-input.with-title — сетка как у label.custom-select.with-title */
.gx_ban_add_page label.custom-input.with-title {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto minmax(48px, auto) !important;
    gap: 8px !important;
    align-items: stretch !important;
    width: 100% !important;
    position: relative !important;
}

.gx_ban_add_page label.custom-input.with-title > span {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    grid-row: 1 !important;
    grid-column: 1 !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--gx-text-2) !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: auto !important;
}

.gx_ban_add_page label.custom-input.with-title > input {
    grid-row: 2 !important;
    grid-column: 1 !important;
    width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    padding: 14px 18px 14px 50px !important;
    margin: 0 !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_ban_add_page label.custom-input.with-title > input:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1) !important;
}

.gx_ban_add_page label.custom-input.with-title > i {
    grid-row: 2 !important;
    grid-column: 1 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    align-self: center !important;
    justify-self: start !important;
    margin: 0 0 0 14px !important;
    transform: none !important;
    z-index: 2 !important;
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
    pointer-events: none !important;
    line-height: 1 !important;
}

.gx_ban_add_page .gx_ban_add_db {
    margin-top: 18px !important;
    padding-top: 4px !important;
    border-top: 1px solid var(--gx-border) !important;
}

.gx_ban_add_page .gx_ban_add_db .gx_ban_add_field {
    margin-top: 0 !important;
}

.gx_ban_add_page .gx_ban_add_btn_find {
    margin-top: 16px !important;
    margin-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 200px !important;
    padding: 12px 22px !important;
    border-radius: 12px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_ban_add_page .gx_ban_add_btn_find:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35) !important;
}

.gx_ban_add_page .gx_ban_add_dop {
    margin-top: 22px !important;
    padding-top: 20px !important;
    border-top: 1px solid var(--gx-border) !important;
}

.gx_ban_add_page .gx_ban_add_section_head.flex_head_complaint {
    padding: 0 0 12px 0 !important;
    margin: 0 0 12px 0 !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.gx_ban_add_page .gx_ban_add_section_head .text_flex_complaint {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.gx_ban_add_page .gx_ban_add_section_head .desp_flex_complaint {
    font-size: 13px !important;
    color: var(--gx-text-3) !important;
    line-height: 1.45 !important;
}

.gx_ban_add_page #dop .form-control#demo {
    margin-top: 0 !important;
}

.gx_ban_add_page .gx_ban_add_btn_submit {
    margin-top: 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 220px !important;
    padding: 12px 24px !important;
    border-radius: 12px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_ban_add_page .gx_ban_add_btn_submit:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35) !important;
}

.gx_ban_add_page .tox-tinymce {
    border-radius: 14px !important;
    border-color: var(--gx-border) !important;
    margin-top: 0 !important;
}

.gx_ban_add_page .find_succes_complaint {
    margin-top: 16px !important;
}

/* Custom checkbox */
.custom_checkbox_block {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 0;
    font-size: 13px;
    color: var(--gx-text-2);
}

.custom_checkbox_block a {
    color: var(--gx-purple-light);
}

.switch_1 {
    width: 50px;
    height: 26px;
    appearance: none;
    -webkit-appearance: none;
    background: var(--gx-surface);
    border-radius: 50px;
    position: relative;
    cursor: pointer;
    transition: background 0.3s;
}

.switch_1::before {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 20px;
    height: 20px;
    background: var(--gx-text-3);
    border-radius: 50%;
    transition: all 0.3s;
}

.switch_1:checked {
    background: var(--gx-purple);
}

.switch_1:checked::before {
    left: 27px;
    background: #fff;
}

/* Block solution (store) */
.block_solution {
    background: rgba(0,0,0,0.2);
    border-radius: 20px;
    padding: 24px;
    border: 1px solid var(--gx-border);
}

/* Discount block */
.discount_block {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(217, 119, 6, 0.1));
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 16px;
    margin-bottom: 24px;
}

.discount_left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.discount_left i {
    font-size: 32px;
    color: #fbbf24;
}

.discount_text_flex {
    display: flex;
    flex-direction: column;
}

.discount_text_h1 {
    font-size: 16px;
    font-weight: 700;
    color: #fbbf24;
}

.discount_text_h2 {
    font-size: 13px;
    color: var(--gx-text-2);
}

.discount_procent {
    font-size: 18px;
    font-weight: 700;
    color: #fbbf24;
    background: rgba(245, 158, 11, 0.2);
    padding: 10px 20px;
    border-radius: 10px;
}

/* Info privileges store */
.info_privileges_store {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
    margin-top: 0 !important;
}

.head_privileges_store {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 24px !important;
    background: rgba(0,0,0,0.25) !important;
    border-bottom: 1px solid var(--gx-border) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.head_privileges_store i {
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
}

#store_service_info {
    padding: 24px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--gx-text-2) !important;
}

#store_service_info:empty::after {
    content: 'Выберите услугу для просмотра описания' !important;
    color: var(--gx-text-3) !important;
    font-style: italic !important;
}

/* Store layout fix */
.block_solution .row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
}

.block_solution .col-lg-6 {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: none !important;
}

#buy_service_area {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* Store button */
#store_buy_btn {
    width: 100% !important;
    padding: 16px 24px !important;
    font-size: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

#store_buy_btn .icon_buy {
    display: flex !important;
    align-items: center !important;
}

#store_buy_btn .icon_buy i {
    font-size: 18px !important;
}

@media (max-width: 900px) {
    .block_solution .row {
        grid-template-columns: 1fr !important;
    }
}

/* Flex buttons */
.flex_yes_or_no {
    display: flex;
    gap: 12px;
    margin-top: 16px;
}

.flex_yes_or_no .btn {
    flex: 1;
}

.icon_buy {
    margin-left: 8px;
}

/* Hide display none */
.disp-n,
.d-none {
    display: none !important;
}

/* Utility classes */
.mt { margin-top: 16px !important; }
.mt-2 { margin-top: 8px !important; }
.mt-3 { margin-top: 12px !important; }
.mt-4 { margin-top: 24px !important; }
.mb { margin-bottom: 16px !important; }
.mb-2 { margin-bottom: 8px !important; }
.mb-3 { margin-bottom: 12px !important; }
.mb-4 { margin-bottom: 24px !important; }

/* Profile styles */
.profile_container {
    max-width: 100% !important;
    padding: 0 !important;
}

.profile_layout {
    display: grid !important;
    grid-template-columns: 1fr 360px !important;
    gap: 24px !important;
}

.profile_main_column {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
}

.profile_modern_wrapper {
    background: var(--gx-card) !important;
    border-radius: 24px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
}

.profile_cover {
    height: 200px !important;
    background: linear-gradient(135deg, var(--gx-purple-dark), var(--gx-purple), var(--gx-pink)) !important;
    position: relative !important;
}

.profile_cover_overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.6)) !important;
}

.profile_actions_top {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    display: flex !important;
    gap: 8px !important;
    z-index: 10 !important;
}

.profile_id_modern {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 14px !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

.profile_id_value {
    color: var(--gx-text) !important;
    font-weight: 700 !important;
}

.copyref_modern,
.btn_exit_modern,
.btn_block_modern {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0,0,0,0.5) !important;
    backdrop-filter: blur(10px) !important;
    border: none !important;
    border-radius: 12px !important;
    color: var(--gx-text-2) !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    font-size: 18px !important;
}

.copyref_modern:hover,
.btn_exit_modern:hover,
.btn_block_modern:hover {
    background: rgba(139, 92, 246, 0.4) !important;
    color: #fff !important;
}

.profile_hero_section {
    display: flex !important;
    align-items: flex-end !important;
    gap: 24px !important;
    padding: 0 30px 30px !important;
    margin-top: auto !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 5 !important;
}

.profile_avatar_wrapper {
    flex-shrink: 0 !important;
}

.profile_avatar_frame {
    width: 130px !important;
    height: 130px !important;
    border-radius: 24px !important;
    overflow: hidden !important;
    border: 5px solid var(--gx-card) !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
}

.profile_avatar_modern {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.profile_hero_info {
    padding-top: 0 !important;
    flex: 1 !important;
    padding-bottom: 0 !important;
}

.profile_username_hero {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--gx-text) !important;
    margin: 0 0 6px !important;
}

.profile_group_modern {
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.profile_stats_section {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    padding: 20px 24px !important;
    background: var(--gx-card) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.profile_stats_row {
    display: flex !important;
    gap: 28px !important;
    margin-top: 20px !important;
}

.stat_item_inline {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 16px !important;
    background: var(--gx-surface) !important;
    border-radius: 12px !important;
    border: 1px solid var(--gx-border) !important;
    transition: all 0.3s !important;
}

.stat_item_inline:hover {
    background: rgba(139, 92, 246, 0.1) !important;
    border-color: var(--gx-purple) !important;
    transform: translateY(-2px) !important;
}

.stat_item_inline i {
    font-size: 28px !important;
}

.stat_icon_heart { color: var(--gx-purple) !important; }
.stat_icon_message { color: var(--gx-purple) !important; }
.stat_icon_trophy { color: var(--gx-purple) !important; }

.stat_text {
    display: flex !important;
    flex-direction: column !important;
}

.stat_value_inline {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: var(--gx-text) !important;
}

.stat_label_inline {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
}

/* Profile content wrapper */
.profile_content_wrapper {
    padding: 0 30px 30px !important;
}

.profile_actions_section {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.profile_contacts_modern {
    display: flex !important;
    gap: 10px !important;
}

.profile_contacts_in_banner {
    display: flex;
    gap: 10px;
    margin-left: auto;
    align-items: center;
}

.contact_icon_modern {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0,0,0,0.4) !important;
    backdrop-filter: blur(10px) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 12px !important;
    color: rgba(255,255,255,0.9) !important;
    font-size: 20px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    position: relative !important;
}

.contact_icon_modern:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
}

.contact_telegram:hover { border-color: #0088cc !important; color: #0088cc !important; }
.contact_vk:hover { border-color: #4C75A3 !important; color: #4C75A3 !important; }
.contact_steam:hover { border-color: #1b2838 !important; color: #66c0f4 !important; }
.contact_discord:hover { border-color: #5865F2 !important; color: #5865F2 !important; }

.discord_tooltip {
    position: absolute !important;
    bottom: calc(100% + 8px) !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: all 0.2s !important;
}

.contact_discord:hover .discord_tooltip {
    opacity: 1 !important;
    visibility: visible !important;
}

.profile_buttons_modern {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

.btn_profile_primary,
.btn_profile_secondary,
.btn_profile_info {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border-radius: 12px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    border: none !important;
}

.btn_profile_primary {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
}

.btn_profile_primary:hover {
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

.btn_profile_secondary {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
}

.btn_profile_secondary:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
}

.btn_profile_info {
    background: transparent !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
}

.btn_profile_info:hover {
    border-color: var(--gx-cyan) !important;
    color: var(--gx-cyan) !important;
}

/* Achievements compact */
.achievements_compact {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
}

.achievements_header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 18px 24px !important;
    background: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--gx-border) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.achievements_header i {
    font-size: 20px !important;
    color: #fbbf24 !important;
}

.achievements_content {
    padding: 20px 24px !important;
}

.achievs_table {
    width: 100% !important;
}

/* Profile sidebar */
.profile_sidebar {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.profile_r_block {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
}

.flex_head_block {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 20px !important;
    background: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.flex_head_l {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.flex_head_l > i {
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
}

.flex_top_usr {
    display: flex !important;
    flex-direction: column !important;
}

.name_top_usr {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.desp_top_usr {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

.all_friends_btn {
    font-size: 12px !important;
    color: var(--gx-purple-light) !important;
    text-decoration: none !important;
}

.all_friends_btn:hover {
    color: var(--gx-purple) !important;
}

/* #friends на странице «Мои друзья» и в шапке друзей — без глобального padding (сетка задаёт отступы) */
.profile_sidebar .profile_r_block #last_activity {
    padding: 16px 20px !important;
}

/* Профиль — содержимое сайдбара: друзья, активность, привилегии */
.profile_sidebar #friends {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px 12px !important;
    padding: 18px 20px !important;
}

.profile_sidebar .small-friend {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    color: var(--gx-text) !important;
    max-width: 100% !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
}

.profile_sidebar .small-friend:hover {
    border-color: rgba(139, 92, 246, 0.35) !important;
    color: var(--gx-purple-light) !important;
}

.profile_sidebar .small-friend .img_back_friends {
    display: none !important;
}

.profile_sidebar .small-friend img,
.profile_sidebar .small-friend__avatar {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.profile_sidebar .small-friend span {
    font-size: 13px !important;
    font-weight: 600 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 170px !important;
}

.profile_sidebar #last_activity {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    padding: 16px 20px !important;
}

.profile_sidebar #last_activity .lst_activity_block {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px 14px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
}

.profile_sidebar #last_activity .left_side_activity {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.profile_sidebar #last_activity .lst_activity_avatar_link {
    flex-shrink: 0 !important;
}

.profile_sidebar #last_activity .img_actiity,
.profile_sidebar #last_activity .left_side_activity img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    display: block !important;
}

.profile_sidebar #last_activity .activity_flex {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
}

.profile_sidebar #last_activity .lst_activity_theme_link {
    text-decoration: none !important;
    color: inherit !important;
    min-width: 0 !important;
}

.profile_sidebar #last_activity .last_activity_theme {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
}

.profile_sidebar #last_activity .lst_activity_theme_link:hover .last_activity_theme {
    color: var(--gx-purple-light) !important;
}

.profile_sidebar #last_activity .description_activity {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

.profile_sidebar #last_activity .lst_activity_chevron {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: var(--gx-purple-light) !important;
}

.profile_sidebar #last_activity .activity_btn {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(139, 92, 246, 0.12) !important;
    border-radius: 10px !important;
}

.profile_sidebar #last_activity .activity_btn i {
    font-size: 20px !important;
    line-height: 1 !important;
}

.profile_sidebar .profile_r_block .table-adaptive {
    padding: 14px 16px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row {
    padding: 0 !important;
    margin-bottom: 0 !important;
    background: transparent !important;
    border: none !important;
    align-items: stretch !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.15fr) !important;
    gap: 10px !important;
    align-items: stretch !important;
    width: 100% !important;
    flex-wrap: unset !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div {
    padding: 12px 10px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    align-items: flex-start !important;
    width: auto !important;
    max-width: none !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon {
    padding-left: 12px !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon > i,
.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon > img {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    margin: 0 0 8px 0 !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon > i {
    width: 40px !important;
    height: 40px !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon > p {
    margin: 0 !important;
}

.profile_sidebar .profile_r_block .table-adaptive .table-row > .row > div.with-icon > span {
    margin-top: 2px !important;
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

@media (max-width: 420px) {
    .profile_sidebar .profile_r_block .table-adaptive .table-row > .row {
        grid-template-columns: 1fr !important;
    }
}

/* Profile comments section */
.profile_comments_section {
    margin-top: 24px !important;
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    padding: 24px !important;
}

#comments {
    margin-bottom: 20px !important;
}

.comment_toggle_btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 24px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 14px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.comment_toggle_btn:hover {
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
}

.comment_toggle_btn.active {
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
}

.comment_form_wrapper {
    margin-top: 20px !important;
    padding: 20px !important;
    background: rgba(0,0,0,0.2) !important;
    border-radius: 16px !important;
}

#add_new_comments textarea {
    width: 100% !important;
    min-height: 120px !important;
    margin-bottom: 16px !important;
}

.smile_input_forum {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.smile_btn {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    color: var(--gx-text-3) !important;
    font-size: 20px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.smile_btn:hover {
    border-color: #f59e0b !important;
    color: #f59e0b !important;
}

.send_comment_btn {
    flex: 1 !important;
    max-width: 200px !important;
}

body .modal-backdrop,
.modal-backdrop,
.modal-backdrop.fade,
.modal-backdrop.show,
.modal-backdrop.fade.show {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Modal container - MUST be above sidebar - FORCE OVERRIDE */
body .modal,
.modal,
.modal.fade,
.modal.show,
.modal.fade.show {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 100000 !important;
    display: none !important;
    width: 100% !important;
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    outline: 0 !important;
    pointer-events: none !important;
    background: rgba(0, 0, 0, 0.3) !important;
}

.modal.show,
.modal.fade.show {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    z-index: 100000 !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.3) !important;
}

body .modal-dialog,
.modal-dialog,
.modal.show .modal-dialog,
.modal.fade.show .modal-dialog {
    position: relative !important;
    width: auto !important;
    margin: 0 !important;
    max-width: 800px !important;
    pointer-events: auto !important;
    z-index: 1 !important;
    transform: none !important;
    -webkit-transform: none !important;
}

.modal-dialog.modal-lg {
    max-width: 900px !important;
}

.modal-dialog.modal-sm {
    max-width: 400px !important;
}

/* Modal content */
.modal-content {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    pointer-events: auto !important;
    background-color: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
    outline: 0 !important;
    max-height: 90vh !important;
    overflow: hidden !important;
    z-index: 1 !important;
}

/* Modal header */
.modal-header {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    padding: 0 !important;
    border-bottom: none !important;
    border-top-left-radius: 16px !important;
    border-top-right-radius: 16px !important;
    flex-shrink: 0 !important;
}

.modal_head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 14px 18px !important;
    width: 100% !important;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.08) 0%, rgba(59, 130, 246, 0.04) 100%) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.flex_modal_head {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.flex_modal_head > span {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    line-height: 1.3 !important;
}

.line_title {
    display: flex !important;
    gap: 3px !important;
    margin-top: 2px !important;
}

.line_purse,
.line_purse1 {
    height: 2px !important;
    border-radius: 2px !important;
}

.line_purse {
    width: 45px !important;
    background: var(--gx-purple) !important;
}

.line_purse1 {
    width: 16px !important;
    background: var(--gx-pink) !important;
}

.modal-header .close {
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: none !important;
    border-radius: 8px !important;
    color: var(--gx-text-2) !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    flex-shrink: 0 !important;
}

.modal-header .close:hover,
.modal-header .close:focus {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #ef4444 !important;
    transform: scale(1.05) !important;
    outline: none !important;
}

.modal-header .close span {
    display: block !important;
    line-height: 1 !important;
}

/* Modal body */
.modal-body {
    position: relative !important;
    flex: 1 1 auto !important;
    padding: 16px 18px !important;
    overflow-y: auto !important;
    max-height: calc(90vh - 60px) !important;
}

/* Prevent body scroll */
body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important;
}

.admin_menu_block {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

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

.balance-left {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 16px !important;
    padding: 20px !important;
    position: relative !important;
    overflow: hidden !important;
}

.balance-left::before {
    content: '' !important;
    position: absolute !important;
    top: -50% !important;
    right: -30% !important;
    width: 150px !important;
    height: 150px !important;
    background: rgba(255,255,255,0.1) !important;
    border-radius: 50% !important;
}

.top_balance_left {
    display: flex !important;
    flex-direction: column !important;
    margin-bottom: 30px !important;
}

.h1reg {
    font-size: 28px !important;
    font-weight: 800 !important;
    color: #fff !important;
}

.h2reg {
    font-size: 12px !important;
    color: rgba(255,255,255,0.7) !important;
}

.buttom_balance_left {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.name_card_user {
    font-size: 11px !important;
    color: rgba(255,255,255,0.5) !important;
    letter-spacing: 2px !important;
}

.login_card {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #fff !important;
}

.balance-left > i {
    position: absolute !important;
    bottom: 16px !important;
    right: 16px !important;
    font-size: 40px !important;
    color: rgba(255,255,255,0.3) !important;
}

.skidka-right {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

.procent_name_menu {
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    margin-bottom: 8px !important;
}

.procent_admin_menu {
    font-size: 36px !important;
    font-weight: 800 !important;
    color: #fbbf24 !important;
}

.btn_admins_menu {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
}

.btn_admin_func {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 18px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    color: var(--gx-text-2) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.btn_admin_func:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
    background: rgba(139, 92, 246, 0.05) !important;
}

.btn_admin_func i {
    font-size: 18px !important;
}

/* Personal card modal */
.personal_card_flex_top {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
}

.personal_card {
    background: var(--gx-surface) !important;
    border-radius: 16px !important;
    padding: 20px !important;
}

.persobal_card_flex {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
}

.img_personal_card {
    width: 60px !important;
    height: 60px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
}

.flex_user_info {
    display: flex !important;
    flex-direction: column !important;
}

.flex_user_info .username {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.flex_user_info .group_name {
    font-size: 12px !important;
    font-weight: 600 !important;
}

.activity_last_card {
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
}

.info_card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.profile-block-info {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
}

.profile-block-info i {
    font-size: 8px !important;
    color: var(--gx-purple) !important;
}

.flexinfo_card {
    display: flex !important;
    flex-direction: column !important;
}

.desp_card {
    font-size: 10px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
}

.name_card {
    font-size: 13px !important;
    color: var(--gx-text) !important;
    font-weight: 500 !important;
}

.container-buttons-card {
    display: flex !important;
    gap: 8px !important;
    margin-top: 12px !important;
}

.card-btn-s {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 10px !important;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.card-btn-s:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
}

.card-btn {
    flex: 1 !important;
    padding: 12px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Activity name */
.activity_name {
    font-size: 13px;
    color: var(--gx-green);
    display: flex;
    align-items: center;
    gap: 6px;
}

.activity_name::before {
    content: '';
    width: 8px;
    height: 8px;
    background: var(--gx-green);
    border-radius: 50%;
}

/* Flex profile top */
.flex_profile_top {
    display: flex;
    align-items: center;
    gap: 16px;
}

.btn_admin_menu {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-purple-light);
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s;
}

.btn_admin_menu:hover {
    background: var(--gx-purple);
    color: #fff;
}

/* Noty blocks */
.noty-block {
    padding: 16px 20px;
    border-radius: 12px;
    font-size: 14px;
}

.noty-block.error {
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
}

.noty-block.success {
    background: rgba(16, 185, 129, 0.1);
    border: 1px solid rgba(16, 185, 129, 0.3);
    color: var(--gx-green);
}

/* Responsive profile */
@media (max-width: 1100px) {
    .profile_layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 600px) {
    .profile_hero_section {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }
    .profile_hero_info {
        padding-top: 16px !important;
    }
    .profile_stats_row {
        justify-content: center !important;
    }
    .profile_actions_section {
        justify-content: center !important;
    }
    .personal_card_flex_top {
        grid-template-columns: 1fr !important;
    }
    .left_block_admin {
        grid-template-columns: 1fr !important;
    }
    .btn_admins_menu {
        grid-template-columns: 1fr !important;
    }
}

.block_select_servers_blocked {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}

.vertical-navigation {
    display: flex !important;
    gap: 8px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-wrap: wrap !important;
}

.vertical-navigation li {
    margin: 0 !important;
}

.vertical-navigation li a,
.vertical-navigation li span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    color: var(--gx-text-2) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.vertical-navigation li a:hover,
.vertical-navigation li span:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple-light) !important;
}

.vertical-navigation li.active a,
.vertical-navigation li.active span,
.vertical-navigation li a.active {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-color: var(--gx-purple) !important;
    color: #fff !important;
}

.block_search {
    flex: 1 !important;
    min-width: 250px !important;
}

.input-search {
    display: flex !important;
    align-items: center !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    padding: 4px !important;
    transition: border-color 0.2s !important;
}

.input-search:focus-within {
    border-color: var(--gx-purple) !important;
}

.search_btn {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 10px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    flex-shrink: 0 !important;
}

.search_btn:hover {
    transform: scale(1.05) !important;
}

.search_btn svg {
    fill: #fff !important;
    width: 16px !important;
    height: 16px !important;
}

.input-search .custom-input {
    flex: 1 !important;
    position: relative !important;
    margin: 0 !important;
}

.input-search .custom-input input {
    border: none !important;
    background: transparent !important;
    padding: 12px 16px !important;
    width: 100% !important;
}

.input-search .custom-input input:focus {
    box-shadow: none !important;
}

.input-search .custom-input span {
    position: absolute !important;
    top: 50% !important;
    left: 16px !important;
    transform: translateY(-50%) !important;
    color: var(--gx-text-3) !important;
    font-size: 13px !important;
    pointer-events: none !important;
    transition: all 0.2s !important;
    background: none !important;
}

.input-search .custom-input input:not(:placeholder-shown) + span,
.input-search .custom-input input:focus + span {
    opacity: 0 !important;
}

/* Blocked block (stats/banlist hero) */
.blocked_block {
    position: relative !important;
    background: var(--gx-card) !important;
    border-radius: 24px !important;
    border: 1px solid var(--gx-border) !important;
    padding: 40px !important;
    margin-bottom: 24px !important;
    overflow: hidden !important;
    background-size: cover !important;
    background-position: center !important;
    min-height: auto !important;
    height: auto !important;
}

.blocked_block::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(135deg, rgba(8, 9, 13, 0.9), rgba(18, 21, 28, 0.8)) !important;
    z-index: 1 !important;
}

.left_blocked {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
}

.bans_muts {
    display: inline-flex !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
    padding: 8px !important;
    background: rgba(139, 92, 246, 0.1) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
}

.active_btn_bans_muts,
.active_btn_stats {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.3) !important;
    cursor: pointer !important;
}

.btn_bans_muts {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 24px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
    background: transparent !important;
    color: var(--gx-text-2) !important;
    cursor: pointer !important;
}

.btn_bans_muts:hover {
    background: rgba(255,255,255,0.1) !important;
    color: var(--gx-text) !important;
}

.flex_blocked {
    margin-bottom: 24px !important;
}

.blocked_text {
    display: block !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    color: var(--gx-text) !important;
    margin-bottom: 8px !important;
}

.blocked_desp {
    display: block !important;
    font-size: 14px !important;
    color: var(--gx-text-2) !important;
    line-height: 1.6 !important;
}

.btns_blocked {
    display: flex !important;
    gap: 12px !important;
}

.stats_info {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    background: rgba(139, 92, 246, 0.15) !important;
    border: 1px solid rgba(139, 92, 246, 0.3) !important;
    border-radius: 12px !important;
    color: var(--gx-purple-light) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.stats_info i {
    font-size: 18px !important;
}

/* Pagination center */
.pagination_center {
    display: flex !important;
    justify-content: center !important;
    margin-top: 24px !important;
}

.block_stats_bans {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 16px !important;
    margin-bottom: 24px !important;
}

.stats_info_bans {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 24px 20px !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    text-align: center !important;
    background-size: cover !important;
    background-position: center !important;
    position: relative !important;
    overflow: hidden !important;
}

.stats_info_bans::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: rgba(18, 21, 28, 0.85) !important;
    z-index: 1 !important;
}

.stats_info_bans > * {
    position: relative !important;
    z-index: 2 !important;
}

.text_bans {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--gx-text) !important;
    margin-bottom: 8px !important;
}

.info_text_bans,
.info_text_bans_r {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--gx-text-2) !important;
}

.line_info_stats {
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--gx-purple), var(--gx-pink)) !important;
    border-radius: 3px !important;
}

.line_info_stats_r {
    width: 60px !important;
    height: 3px !important;
    background: linear-gradient(90deg, #ef4444, #f87171) !important;
    border-radius: 3px !important;
}

/* Banlist buttons */
.btns_blocked {
    display: flex !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.ban_btn_blocked,
.report_btn_blocked {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 14px 22px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
}

.ban_btn_blocked {
    background: rgba(6, 182, 212, 0.15) !important;
    border: 1px solid rgba(6, 182, 212, 0.3) !important;
    color: var(--gx-cyan) !important;
}

.ban_btn_blocked:hover {
    background: rgba(6, 182, 212, 0.25) !important;
}

.report_btn_blocked {
    background: rgba(239, 68, 68, 0.15) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ef4444 !important;
}

.report_btn_blocked:hover {
    background: rgba(239, 68, 68, 0.25) !important;
}

.ban_btn_blocked i,
.report_btn_blocked i {
    font-size: 18px !important;
}

@media (max-width: 900px) {
    .block_stats_bans {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 500px) {
    .block_stats_bans {
        grid-template-columns: 1fr !important;
    }
}

#banlist .table-row {
    display: grid !important;
    grid-template-columns: 2.5fr 2.5fr 2fr 2fr !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

#muts .table-row {
    display: grid !important;
    grid-template-columns: 2fr 2.5fr 1.5fr 2fr 2fr !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

#banlist .table-row:hover,
#muts .table-row:hover {
    background: rgba(139, 92, 246, 0.04) !important;
}

#banlist .table-row:last-child,
#muts .table-row:last-child {
    border-bottom: none !important;
}

#banlist .table-row > .row,
#muts .table-row > .row {
    display: contents !important;
}

#banlist .table-row > .row > div,
#muts .table-row > .row > div {
    padding: 22px 24px !important;
    display: flex !important;
    align-items: center !important;
    border-right: 1px solid rgba(139, 92, 246, 0.1) !important;
    min-height: 75px !important;
}

#banlist .table-row > .row > div:last-child,
#muts .table-row > .row > div:last-child {
    border-right: none !important;
}

/* Stats place number */
/* Stats table - using banlist table structure */
#stats .table-row {
    display: grid !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

/* Type 2: Place, Player, Kills, Deaths, Rank, Skill (6 columns) */
#stats[data-type="2"] .table-row {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr 1.5fr !important;
}

/* Type 6: Place, Player, Kills, Deaths, Rank_img (5 columns) */
#stats[data-type="6"] .table-row {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr !important;
}

/* Default (1,3,4,5,7): Place, Player, Kills, Deaths, Skill (5 columns) */
#stats:not([data-type="2"]):not([data-type="6"]) .table-row {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr !important;
}

#stats .table-row:hover {
    background: rgba(139, 92, 246, 0.04) !important;
}

#stats .table-row:last-child {
    border-bottom: none !important;
}

#stats .table-row > .row {
    display: contents !important;
}

#stats .table-row > .row > div {
    padding: 22px 24px !important;
    display: flex !important;
    align-items: center !important;
    border-right: 1px solid rgba(139, 92, 246, 0.1) !important;
    min-height: 75px !important;
}

#stats .table-row > .row > div:last-child {
    border-right: none !important;
}

#stats .table-row .with-description {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
}

#stats .table-row .with-description.with-icon {
    flex-direction: row !important;
}

#stats .table-row .with-description.with-icon i {
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    flex-shrink: 0 !important;
    font-size: 22px !important;
}

#stats .table-row .with-description > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

#stats .table-row .with-description p {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    margin: 0 !important;
    font-family: 'Exo 2', sans-serif !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

#stats .table-row .with-description span {
    display: none !important;
}

#stats .table-row .gx_skill_badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
    margin-right: 6px;
}

#stats .table-row img {
    max-height: 40px !important;
    width: auto !important;
    border-radius: 6px;
}

.modal .info_block_names {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 14px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 10px !important;
    margin-bottom: 8px !important;
}

.info_block_names {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px 18px !important;
    background: var(--gx-card-light) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    margin-bottom: 10px !important;
}

.modal .info_block_names i {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
    flex-shrink: 0 !important;
}

.modal .flex_info_block_names {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 1 !important;
}

.modal .text_desp_info {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.modal .name_info_block {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

.modal .block_stats_mini {
    margin-top: 12px !important;
    margin-bottom: 12px !important;
}

.modal .head_mini_stats {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 8px !important;
    display: block !important;
}

.modal .row {
    gap: 16px !important;
}

.modal .col-lg-6 {
    padding: 0 8px !important;
}

.modal .btn_unban {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 16px !important;
    flex-wrap: wrap !important;
}

.modal .bottom-button {
    padding: 10px 18px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}

.modal .progress {
    height: 8px !important;
    border-radius: 4px !important;
    margin-top: 6px !important;
}

.modal .absolute_rank_mini {
    margin-bottom: 12px !important;
}

.modal .absolute_rank_mini .label {
    font-size: 11px !important;
    padding: 4px 10px !important;
}

.modal .block_stats_mini .info_block_names {
    padding: 8px 12px !important;
    margin-bottom: 6px !important;
}

.modal .block_stats_mini .info_block_names:last-child {
    margin-bottom: 0 !important;
}


.ui-datepicker,
.ui-datepicker * {
    background: var(--gx-card) !important;
    color: var(--gx-text) !important;
}

.ui-datepicker {
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4) !important;
    padding: 16px !important;
    font-family: 'Exo 2', sans-serif !important;
    z-index: 100001 !important;
    width: 300px !important;
    background-color: var(--gx-card) !important;
}

.ui-datepicker-header {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(59, 130, 246, 0.05) 100%) !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 12px !important;
    padding: 12px !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
}

.ui-datepicker-title {
    color: var(--gx-text) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-align: center !important;
    flex: 1 !important;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    position: relative !important;
    width: 32px !important;
    height: 32px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
}

.ui-datepicker-prev:hover,
.ui-datepicker-next:hover {
    background: rgba(139, 92, 246, 0.2) !important;
    transform: scale(1.05) !important;
}

.ui-datepicker-prev .ui-icon,
.ui-datepicker-next .ui-icon {
    background: none !important;
    background-image: none !important;
    text-indent: 0 !important;
    width: 100% !important;
    height: 100% !important;
    color: var(--gx-text) !important;
    font-size: 18px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
}

.ui-datepicker-prev .ui-icon:before {
    content: "‹" !important;
    font-size: 20px !important;
    line-height: 1 !important;
    display: block !important;
}

.ui-datepicker-next .ui-icon:before {
    content: "›" !important;
    font-size: 20px !important;
    line-height: 1 !important;
    display: block !important;
}

.ui-datepicker-prev .ui-icon span,
.ui-datepicker-next .ui-icon span,
.ui-datepicker-prev span,
.ui-datepicker-next span {
    display: none !important;
}

.ui-datepicker-prev,
.ui-datepicker-next {
    text-indent: 0 !important;
    overflow: hidden !important;
}

.ui-datepicker-prev:after,
.ui-datepicker-next:after {
    display: none !important;
}

.ui-datepicker-calendar {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 4px !important;
    margin: 0 !important;
    background: transparent !important;
}

.ui-datepicker-calendar * {
    background: transparent !important;
}

.ui-datepicker-calendar thead th {
    color: var(--gx-text-3) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 8px 4px !important;
    text-align: center !important;
    border: none !important;
    background: transparent !important;
}

.ui-datepicker-calendar tbody td {
    padding: 0 !important;
    border: none !important;
}

.ui-datepicker-calendar tbody td {
    background: transparent !important;
}

.ui-datepicker-calendar tbody td a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    color: var(--gx-text) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    background: var(--gx-surface) !important;
    background-color: var(--gx-surface) !important;
    border: 1px solid transparent !important;
    transition: all 0.2s ease !important;
    margin: 0 auto !important;
}

.ui-datepicker-calendar tbody td a:hover {
    background: rgba(139, 92, 246, 0.15) !important;
    border-color: var(--gx-purple) !important;
    transform: scale(1.05) !important;
}

.ui-datepicker-calendar tbody td .ui-state-active {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.3) !important;
}

.ui-datepicker-calendar tbody td .ui-state-highlight {
    background: rgba(139, 92, 246, 0.1) !important;
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
}

.ui-datepicker-calendar tbody td .ui-state-disabled {
    color: var(--gx-text-3) !important;
    opacity: 0.4 !important;
    cursor: not-allowed !important;
}

.ui-datepicker-calendar tbody td .ui-state-disabled:hover {
    background: var(--gx-surface) !important;
    transform: none !important;
}

.ui-datepicker-time {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--gx-border) !important;
}

.ui-datepicker-time input {
    background: var(--gx-surface) !important;
    background-color: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 8px !important;
    color: var(--gx-text) !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: 'Exo 2', sans-serif !important;
    width: 100% !important;
    transition: all 0.2s ease !important;
}

.ui-datepicker-time input:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1) !important;
}

.ui-datepicker-buttonpane {
    margin-top: 12px !important;
    padding-top: 12px !important;
    border-top: 1px solid var(--gx-border) !important;
    display: flex !important;
    gap: 8px !important;
}

.ui-datepicker-buttonpane button {
    flex: 1 !important;
    padding: 8px 16px !important;
    background: var(--gx-surface) !important;
    background-color: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 8px !important;
    color: var(--gx-text) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-family: 'Exo 2', sans-serif !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.ui-datepicker-buttonpane button:hover {
    background: rgba(139, 92, 246, 0.15) !important;
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple) !important;
}

.ui-datepicker-current,
.ui-datepicker-current2 {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    border: none !important;
}

.ui-datepicker-current:hover,
.ui-datepicker-current2:hover {
    background: linear-gradient(135deg, var(--gx-purple-dark), var(--gx-purple)) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3) !important;
}

.gx_stats_modal_actions {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.gx_stats_modal_actions .gx_btn_primary,
.gx_stats_modal_actions .gx_btn_danger {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    font-family: 'Exo 2', sans-serif;
    cursor: pointer;
    transition: all 0.2s ease;
    border: none;
}

.gx_stats_modal_actions .gx_btn_primary {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    color: #fff;
}

.gx_stats_modal_actions .gx_btn_primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.gx_stats_modal_actions .gx_btn_danger {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.gx_stats_modal_actions .gx_btn_danger:hover {
    background: rgba(239, 68, 68, 0.25);
    transform: translateY(-2px);
}

.gx_price_badge {
    background: rgba(255, 255, 255, 0.2);
    padding: 2px 8px;
    border-radius: 6px;
    font-weight: 700;
    margin-left: 4px;
}

.gx_stats_modal_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.gx_stats_modal_col {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gx_stats_modal_skill_badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    margin-bottom: 8px;
}

.gx_stats_modal_skill_badge .gx_skill_badge {
    font-size: 12px;
    padding: 4px 10px;
}

.gx_stats_modal_skill_badge .gx_skill_value {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_stats_modal_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    transition: all 0.2s ease;
}

.gx_stats_modal_item:hover {
    background: rgba(139, 92, 246, 0.05);
    border-color: var(--gx-purple);
    transform: translateX(2px);
}

.gx_stats_modal_icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border-radius: 10px;
    color: var(--gx-purple);
    font-size: 20px;
    flex-shrink: 0;
}

.gx_stats_modal_info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-width: 0;
}

.gx_stats_modal_label {
    font-size: 11px;
    color: var(--gx-text-3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.gx_stats_modal_value {
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
}

.gx_stats_modal_section {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--gx-border);
}

.gx_stats_modal_section_title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    color: var(--gx-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gx_stats_modal_section_title i {
    font-size: 18px;
    color: var(--gx-purple);
}

.gx_stats_modal_progress {
    padding: 16px;
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    margin-bottom: 12px;
}

.gx_stats_modal_progress_label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    color: var(--gx-text);
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gx_progress_bar {
    position: relative;
    height: 8px;
    background: var(--gx-surface);
    border-radius: 4px;
    overflow: hidden;
}

.gx_progress_fill {
    height: 100%;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-radius: 4px;
    transition: width 0.3s ease;
}

.gx_progress_text {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
    .gx_stats_modal_grid {
        grid-template-columns: 1fr;
    }
}

.info_block_names img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

.info_block_names i {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(139, 92, 246, 0.15) !important;
    border-radius: 10px !important;
    color: var(--gx-purple-light) !important;
    font-size: 16px !important;
}

.flex_info_block_names {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.name_info_block {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

.text_desp_info {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

/* Price button in tables */
.price_btn {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 12px !important;
    background: rgba(16, 185, 129, 0.15) !important;
    border-radius: 8px !important;
    color: var(--gx-green) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* 
   FORUM STYLES
*/

.btn_heading_full {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 24px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.btn_heading_full:hover {
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Админ-панель форума: «Добавить раздел», «Добавить форум» (edit_forum.tpl) */
.block_btn_forum_top {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    padding: 14px 18px !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2) !important;
}

.btn_add_forum {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 11px 18px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: 1px solid rgba(139, 92, 246, 0.4) !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
    box-shadow: 0 4px 18px rgba(139, 92, 246, 0.28) !important;
}

.btn_add_forum i {
    font-size: 18px !important;
    line-height: 1 !important;
    opacity: 0.95 !important;
}

.btn_add_forum:hover,
.btn_add_forum:focus {
    color: #fff !important;
    text-decoration: none !important;
    outline: none !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(139, 92, 246, 0.45) !important;
    border-color: rgba(167, 139, 250, 0.55) !important;
}

.flex_btn_modal_forum {
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 22px !important;
    padding-top: 4px !important;
}

.modal_btn_forum {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 120px !important;
    padding: 11px 22px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 16px rgba(139, 92, 246, 0.3) !important;
}

.modal_btn_forum:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.45) !important;
    color: #fff !important;
}

/* Модалка «Добавить форум»: выравнивание полей, раздел, загрузка картинки */
#add_forum .gx_add_forum_modal {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    padding-top: 4px !important;
}

#add_forum .gx_add_forum_upload {
    margin-bottom: 0 !important;
}

#add_forum .gx_add_forum_upload_row.row_img_edit_forum {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 18px !important;
}

#add_forum .img_add_forum {
    width: 88px !important;
    height: 88px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    border: 1px solid var(--gx-border) !important;
    flex-shrink: 0 !important;
}

#add_forum .gx_add_forum_upload_col {
    flex: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

#add_forum .gx_add_forum_file_group {
    display: block !important;
    width: 100% !important;
}

#add_forum #img_form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
}

#add_forum .gx_add_forum_custom_file.custom-file {
    position: relative !important;
    width: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    border: 1px solid var(--gx-border) !important;
    background: var(--gx-surface) !important;
}

#add_forum .gx_add_forum_custom_file .custom-file-input {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    opacity: 0.001 !important;
    cursor: pointer !important;
    color-scheme: dark !important;
}

#add_forum .gx_add_forum_custom_file .custom-file-label {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: var(--gx-surface) !important;
    color: var(--gx-text-2) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    pointer-events: none !important;
}

#add_forum .gx_add_forum_upload_btn {
    align-self: flex-start !important;
    margin-top: 0 !important;
}

#add_forum .gx_add_forum_img_result {
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

#add_forum .gx_add_forum_fields {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
}

#add_forum .gx_add_forum_field {
    margin-bottom: 0 !important;
    margin-top: 0 !important;
}

#add_forum .gx_add_forum_field_label {
    display: block !important;
    margin: 0 0 8px 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    color: var(--gx-text-2) !important;
    font-family: 'Exo 2', sans-serif !important;
}

#add_forum .gx_forum_section_mount {
    position: relative !important;
    width: 100% !important;
    min-height: 48px !important;
}

#add_forum .gx_forum_section_mount > i.bx {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    color: var(--gx-purple-light) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

#add_forum .gx_forum_sections_slot,
#add_forum #sections_list {
    width: 100% !important;
    min-height: 48px !important;
}

#add_forum #sections_list select,
#add_forum .gx_forum_sections_slot select {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    line-height: 1.4 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    color-scheme: dark !important;
    padding: 12px 40px 12px 48px !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    background-color: var(--gx-surface) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    color: var(--gx-text) !important;
    font-size: 14px !important;
    font-family: 'Exo 2', sans-serif !important;
    cursor: pointer !important;
}

#add_forum #sections_list select:focus,
#add_forum .gx_forum_sections_slot select:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
}

.clearfix {
    display: none !important;
}

#forum {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

/* Страница раздела форума — как index.tpl: heading_block + #forum (tpl/forum/forum.tpl) */
.gx_forum_single_page,
.gx_forum_topic_page {
    margin-bottom: 8px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.gx_forum_single_page .gx_forum_breadcrumb_bar,
.gx_forum_topic_page .gx_forum_breadcrumb_bar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 12px 16px !important;
    margin-bottom: 16px !important;
    padding: 12px 16px !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
}

.gx_forum_single_page .gx_forum_back_inline,
.gx_forum_topic_page .gx_forum_back_inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
    padding: 8px 14px !important;
    border-radius: 12px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_forum_single_page .gx_forum_back_inline i {
    font-size: 18px !important;
    line-height: 1 !important;
}

.gx_forum_single_page .gx_forum_back_inline:hover,
.gx_forum_topic_page .gx_forum_back_inline:hover {
    color: var(--gx-text) !important;
    border-color: rgba(139, 92, 246, 0.4) !important;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.15) !important;
    text-decoration: none !important;
}

.gx_forum_single_page .gx_forum_breadcrumb_bar .forum_next,
.gx_forum_topic_page .gx_forum_breadcrumb_bar .forum_next {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 6px 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex: 1 !important;
    min-width: 0 !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

.gx_forum_single_page .gx_forum_breadcrumb_bar .forum_next li,
.gx_forum_topic_page .gx_forum_breadcrumb_bar .forum_next li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.gx_forum_single_page .gx_forum_breadcrumb_bar .forum_next a,
.gx_forum_topic_page .gx_forum_breadcrumb_bar .forum_next a {
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease !important;
}

.gx_forum_single_page .gx_forum_breadcrumb_bar .forum_next a:hover,
.gx_forum_topic_page .gx_forum_breadcrumb_bar .forum_next a:hover {
    color: var(--gx-purple-light) !important;
}

/* Шапка темы: мета (ответы/просмотры), бейджи, заголовок (tpl/forum/topic.tpl) */
.gx_forum_topic_page .block_top_topic {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    padding: 18px 22px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
}

.gx_forum_topic_page .name_info_block_topic {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px 20px !important;
    flex-wrap: wrap !important;
}

.gx_forum_topic_page .head_block_topic {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.gx_forum_topic_page .forum_info_answer {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 10px !important;
}

.gx_forum_topic_page .forum_info_answer > span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 12px !important;
    border-radius: 10px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--gx-text-2) !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    line-height: 1.2 !important;
}

.gx_forum_topic_page .forum_info_answer > span i {
    font-size: 16px !important;
    color: var(--gx-purple-light) !important;
    line-height: 1 !important;
}

.gx_forum_topic_page .forum_fixed_top {
    background: rgba(245, 158, 11, 0.14) !important;
    border-color: rgba(245, 158, 11, 0.4) !important;
    color: #fbbf24 !important;
}

.gx_forum_topic_page .forum_fixed_top i {
    color: #fbbf24 !important;
}

.gx_forum_topic_page .forum_close_top {
    background: rgba(107, 114, 128, 0.18) !important;
    border-color: rgba(156, 163, 175, 0.35) !important;
    color: var(--gx-text-2) !important;
}

.gx_forum_topic_page .forum_close_top i {
    color: #9ca3af !important;
}

.gx_forum_topic_page .name_topic_forum {
    display: block !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: var(--gx-text) !important;
    letter-spacing: -0.02em !important;
    word-break: break-word !important;
    max-width: 100% !important;
}

.gx_forum_topic_page .btn_admin_topic {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
}

.gx_forum_topic_page .btn_admin_topic .btn_admin_forum {
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_forum_topic_page .btn_admin_topic .btn_admin_forum:hover {
    border-color: rgba(139, 92, 246, 0.45) !important;
    color: var(--gx-text) !important;
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.12) !important;
}

.gx_forum_single_page .heading_block {
    margin-bottom: 20px !important;
}

.gx_forum_single_page #forum {
    margin-top: 0 !important;
}

.gx_forum_single_page #forum > .gx_forum_topics_card.block_forum {
    margin-bottom: 0 !important;
    min-height: 120px !important;
}

.gx_forum_single_page #forum .block_forum_item .forum_empty {
    padding: 14px 22px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--gx-text-2) !important;
    background: rgba(139, 92, 246, 0.08) !important;
    border: 1px solid rgba(139, 92, 246, 0.15) !important;
    border-radius: 12px !important;
}

.gx_forum_add_topic {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Редактирование сообщения / темы / новая тема — карточка редактора (edit_message.tpl, edit_topic.tpl, add_topic.tpl) */
.gx_forum_edit_message_page,
.gx_forum_edit_topic_page {
    margin-bottom: 8px !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.gx_forum_editor_head.gx_banlist_compact_header {
    margin-bottom: 16px !important;
}

.gx_forum_editor_card {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    padding: 22px 24px 24px !important;
    box-sizing: border-box !important;
    margin-bottom: 8px !important;
}

.gx_forum_add_topic_form .gx_forum_form_group,
.gx_forum_edit_topic_form .gx_forum_form_group {
    margin-bottom: 20px !important;
}

.gx_forum_add_topic_form .gx_forum_form_group:last-of-type,
.gx_forum_edit_topic_form .gx_forum_form_group:last-of-type {
    margin-bottom: 0 !important;
}

.gx_forum_edit_topic_form .gx_forum_edit_topic_status {
    margin-bottom: 20px !important;
}

/* edit_topic.tpl — явные поля вместо label.custom-select + button (ломали сетку и плавающие подписи) */
.gx_forum_edit_topic_form .gx_forum_field_label {
    display: block !important;
    margin: 0 0 8px 2px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--gx-text-2) !important;
    letter-spacing: 0.02em !important;
}

.gx_forum_edit_topic_form .gx_forum_field_label--stack {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin-bottom: 10px !important;
}

.gx_forum_edit_topic_form .gx_forum_field_label_main {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.gx_forum_edit_topic_form .gx_forum_field_label_hint {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: var(--gx-text-3) !important;
    line-height: 1.4 !important;
}

.gx_forum_edit_topic_form .gx_forum_status_row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.gx_forum_edit_topic_form .gx_forum_status_select_wrap {
    position: relative !important;
    flex: 1 1 200px !important;
    min-width: 0 !important;
}

.gx_forum_edit_topic_form .gx_forum_status_select_wrap > i.bx {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.gx_forum_edit_topic_form .gx_forum_status_select,
.gx_forum_edit_topic_form select.gx_forum_status_select {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 50px !important;
    padding: 14px 44px 14px 50px !important;
    margin: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    background-color: var(--gx-surface) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    cursor: pointer !important;
    color-scheme: dark !important;
}

.gx_forum_edit_topic_form .gx_forum_status_select:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12) !important;
}

.gx_forum_edit_topic_form .gx_forum_status_btn {
    flex: 0 0 auto !important;
    align-self: stretch !important;
    min-height: 50px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 14px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_forum_edit_topic_form .gx_forum_status_btn:hover {
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35) !important;
}

.gx_forum_edit_topic_form .gx_forum_title_input_wrap {
    position: relative !important;
    display: block !important;
    width: 100% !important;
}

.gx_forum_edit_topic_form .gx_forum_title_input_wrap > i.bx {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--gx-purple-light) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

.gx_forum_edit_topic_form .gx_forum_title_input {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 50px !important;
    padding: 14px 18px 14px 50px !important;
    margin: 0 !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_forum_edit_topic_form .gx_forum_title_input:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12) !important;
}

.gx_forum_edit_topic_form .gx_forum_title_input::placeholder {
    color: var(--gx-text-3) !important;
}

.gx_forum_edit_topic_form .gx_forum_topic_body_group textarea#text {
    margin-top: 0 !important;
}

@media (max-width: 520px) {
    .gx_forum_edit_topic_form .gx_forum_status_row {
        flex-direction: column !important;
    }

    .gx_forum_edit_topic_form .gx_forum_status_btn {
        width: 100% !important;
    }
}

.gx_forum_field_head.flex_head_complaint {
    padding-top: 0 !important;
    margin-bottom: 12px !important;
}

.gx_forum_editor_card textarea#text {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    border: 1px solid var(--gx-border) !important;
    background: var(--gx-surface) !important;
    color: var(--gx-text) !important;
    padding: 12px 14px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    min-height: 220px !important;
    resize: vertical !important;
}

.gx_forum_edit_message_page .tox-tinymce,
.gx_forum_edit_topic_page .tox-tinymce,
.gx_forum_add_topic .tox-tinymce {
    border-radius: 12px !important;
    border: 1px solid var(--gx-border) !important;
    margin-top: 0 !important;
}

.gx_forum_editor_actions.smile_input_forum {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin-top: 18px !important;
    margin-bottom: 0 !important;
}

.gx_forum_editor_actions .send_comment_btn {
    margin-top: 0 !important;
}

@media (max-width: 576px) {
    .gx_forum_single_page .gx_forum_breadcrumb_bar,
    .gx_forum_topic_page .gx_forum_breadcrumb_bar {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .gx_forum_single_page .gx_forum_back_inline,
    .gx_forum_topic_page .gx_forum_back_inline {
        justify-content: center !important;
    }

    .gx_forum_topic_page .name_info_block_topic {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .gx_forum_topic_page .btn_admin_topic {
        justify-content: flex-end !important;
    }
}

/* Forum category */
.forum_category,
.forum_block,
.forum_cat {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
    margin-bottom: 0 !important;
}

/* Forum category header */
.cat_head,
.forum_cat_head {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 18px 24px !important;
    background: rgba(0,0,0,0.25) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.cat_head i,
.forum_cat_head i {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 12px !important;
    font-size: 18px !important;
    color: #fff !important;
}

.cat_head .cat_name,
.forum_cat_head span,
.cat_name {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.cat_head .cat_desc,
.cat_desc {
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    margin-left: auto !important;
}

/* 
   FORUM BLOCKS (from templates)
*/

.block_forum {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

.flex_head_block_forum {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 18px 24px !important;
    background: rgba(0,0,0,0.25) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.flex_head_block_forum .flex_head_l {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.flex_head_block_forum .flex_head_l > i {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 12px !important;
    font-size: 20px !important;
    color: #fff !important;
}

/* Forum item */
.block_forum_item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 18px 24px !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s ease !important;
}

.block_forum_item:last-child {
    border-bottom: none !important;
}

.block_forum_item:hover {
    background: rgba(139, 92, 246, 0.03) !important;
}

.flex_forum_info_left {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

.forum_img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.flex_info_forum {
    min-width: 0 !important;
}

.name_forum {
    display: block !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    margin-bottom: 4px !important;
    transition: color 0.2s !important;
}

.name_forum:hover {
    color: var(--gx-purple-light) !important;
}

.desp_forum {
    display: block !important;
    font-size: 13px !important;
    color: var(--gx-text-3) !important;
    line-height: 1.4 !important;
}

.flex_forum_info_right {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
}

.forum_empty {
    padding: 12px 20px !important;
    background: rgba(107, 114, 128, 0.1) !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
}

.user_info_forum {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.user_info_forum .forum_name_user {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(139, 92, 246, 0.15) !important;
    border-radius: 10px !important;
    color: var(--gx-purple-light) !important;
    font-size: 16px !important;
}

.forum_img_user {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
}

.theme_info_forum {
    min-width: 0 !important;
    max-width: 200px !important;
}

.flex_forum_user {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.forum_name_theme {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transition: color 0.2s !important;
}

.forum_name_theme:hover {
    color: var(--gx-purple-light) !important;
}

.forum_date {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

@media (max-width: 768px) {
    .block_forum_item {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .flex_forum_info_right {
        margin-top: 12px !important;
        width: 100% !important;
    }
    .theme_info_forum {
        max-width: none !important;
        flex: 1 !important;
    }
}

/* 
   FORUM MESSAGE/ANSWER
*/

#answer_1,
[id^="answer_"] {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 20px !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
}

.left-side {
    padding: 24px !important;
    background: rgba(0,0,0,0.2) !important;
    border-right: 1px solid var(--gx-border) !important;
}

.block_forum_profile_top {
    margin-bottom: 20px !important;
}

.flex_block_forum_profile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
}

.flex_user_info_topic {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    position: relative !important;
}

.img_forum_user_back {
    display: none !important;
}

.img_forum_user {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
}

.flex_text_forum {
    display: flex !important;
    flex-direction: column !important;
}

.name_user_forum {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.group_user_forum {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

.like_forum {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(244, 63, 94, 0.1) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #f43f5e !important;
    font-size: 18px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.like_forum:hover {
    background: rgba(244, 63, 94, 0.2) !important;
    transform: scale(1.05) !important;
}

.info_reactions_profile {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.forum_profile_reaction {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

.forum_profile_reaction i {
    font-size: 16px !important;
    color: var(--gx-purple-light) !important;
}

.reaction_block {
    display: flex !important;
    gap: 6px !important;
}

.name_reaction_forum {
    color: var(--gx-text-3) !important;
}

.answer_forum {
    width: 100% !important;
    padding: 12px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 12px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    margin-top: 16px !important;
}

.answer_forum:hover {
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.3) !important;
}

.right-side_flex {
    display: flex !important;
    flex-direction: column !important;
}

.right-side {
    padding: 24px !important;
    flex: 1 !important;
}

.likes-area {
    display: flex !important;
    gap: 8px !important;
    float: right !important;
    margin-bottom: 16px !important;
}

.forum_delete {
    width: 36px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(239, 68, 68, 0.1) !important;
    border: none !important;
    border-radius: 10px !important;
    color: #ef4444 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.forum_delete:hover {
    background: rgba(239, 68, 68, 0.2) !important;
}

.date_forum {
    display: inline-block !important;
    padding: 6px 12px !important;
    background: rgba(139, 92, 246, 0.1) !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--gx-purple-light) !important;
    margin-bottom: 16px !important;
}

.right-side .with_code {
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: var(--gx-text-2) !important;
}

.right-side .with_code img {
    max-width: 100% !important;
    border-radius: 12px !important;
}

.signature_forum {
    display: block !important;
    margin-top: 20px !important;
    padding-top: 16px !important;
    border-top: 1px solid var(--gx-border) !important;
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    font-style: italic !important;
}

.editeds {
    display: block !important;
    margin-top: 12px !important;
    font-size: 11px !important;
}

@media (max-width: 900px) {
    [id^="answer_"] {
        grid-template-columns: 1fr !important;
    }
    .left-side {
        border-right: none !important;
        border-bottom: 1px solid var(--gx-border) !important;
    }
    .flex_user_info_topic {
        flex-wrap: wrap !important;
    }
    .info_reactions_profile {
        flex-direction: row !important;
        flex-wrap: wrap !important;
    }
}

/* Forum item / row */
.forum_item,
.forum_row,
.frm_block {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

.forum_item:last-child,
.forum_row:last-child,
.frm_block:last-child {
    border-bottom: none !important;
}

.forum_item:hover,
.forum_row:hover,
.frm_block:hover {
    background: rgba(139, 92, 246, 0.03) !important;
}

/* Forum item icon */
.forum_item_icon,
.frm_icon {
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.forum_item_icon img,
.frm_icon img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
}

/* Forum item info */
.forum_item_info,
.frm_info {
    flex: 1 !important;
    min-width: 0 !important;
}

.forum_item_info a,
.frm_info a,
.frm_name {
    display: block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    text-decoration: none !important;
    margin-bottom: 4px !important;
    transition: color 0.2s !important;
}

.forum_item_info a:hover,
.frm_info a:hover,
.frm_name:hover {
    color: var(--gx-purple-light) !important;
}

.forum_item_info span,
.frm_info span,
.frm_desc {
    display: block !important;
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    line-height: 1.4 !important;
}

/* Forum stats (topics/messages count) */
.forum_item_stats,
.frm_stats {
    display: flex !important;
    gap: 24px !important;
    flex-shrink: 0 !important;
}

.forum_item_stats > div,
.frm_stats > div {
    text-align: center !important;
}

.forum_item_stats span:first-child,
.frm_stats span:first-child {
    display: block !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.forum_item_stats span:last-child,
.frm_stats span:last-child {
    display: block !important;
    font-size: 10px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
}

/* Forum last post */
.forum_item_last,
.frm_last {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 200px !important;
    flex-shrink: 0 !important;
}

.forum_item_last img,
.frm_last img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.forum_item_last_info,
.frm_last_info {
    min-width: 0 !important;
}

.forum_item_last_info a,
.frm_last_info a {
    display: block !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--gx-text) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.forum_item_last_info a:hover,
.frm_last_info a:hover {
    color: var(--gx-purple-light) !important;
}

.forum_item_last_info span,
.frm_last_info span {
    display: block !important;
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

/* Old forum category head override */
.forum_category_head,
.category_head {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 20px 24px !important;
    background: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.forum_category_head i,
.category_head i {
    width: 44px !important;
    height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 12px !important;
    font-size: 20px !important;
    color: #fff !important;
}

.forum_category_head span,
.category_head span {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

/* Forum row/item */
.forum_row,
.forum_item {
    display: grid !important;
    grid-template-columns: 50px 1fr 100px 100px 200px !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 24px !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

.forum_row:last-child,
.forum_item:last-child {
    border-bottom: none !important;
}

.forum_row:hover,
.forum_item:hover {
    background: rgba(139, 92, 246, 0.03) !important;
}

.forum_row_icon,
.forum_icon {
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(139, 92, 246, 0.1) !important;
    border-radius: 12px !important;
    font-size: 22px !important;
    color: var(--gx-purple-light) !important;
}

.forum_row_info,
.forum_info {
    min-width: 0 !important;
}

.forum_row_name,
.forum_name,
.forum_row_info a,
.forum_info > a {
    display: block !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
    margin-bottom: 4px !important;
}

.forum_row_name:hover,
.forum_name:hover,
.forum_row_info a:hover,
.forum_info > a:hover {
    color: var(--gx-purple-light) !important;
}

.forum_row_desc,
.forum_desc,
.forum_row_info span,
.forum_info > span {
    display: block !important;
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    line-height: 1.4 !important;
}

.forum_row_topics,
.forum_row_messages,
.forum_topics,
.forum_messages {
    text-align: center !important;
}

.forum_row_topics span,
.forum_row_messages span,
.forum_topics span,
.forum_messages span {
    display: block !important;
}

.forum_row_topics span:first-child,
.forum_row_messages span:first-child,
.forum_topics span:first-child,
.forum_messages span:first-child {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
}

.forum_row_topics span:last-child,
.forum_row_messages span:last-child,
.forum_topics span:last-child,
.forum_messages span:last-child {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
}

.forum_row_last,
.forum_last {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.forum_row_last img,
.forum_last img {
    width: 40px !important;
    height: 40px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.forum_row_last_info,
.forum_last_info {
    min-width: 0 !important;
}

.forum_row_last_info a,
.forum_last_info a,
.forum_row_last_info span,
.forum_last_info span {
    display: block !important;
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.forum_row_last_info a,
.forum_last_info a {
    color: var(--gx-text) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.forum_row_last_info a:hover,
.forum_last_info a:hover {
    color: var(--gx-purple-light) !important;
}

.forum_row_last_info span,
.forum_last_info span {
    color: var(--gx-text-3) !important;
    font-size: 11px !important;
}

/* Forum topic list */
.topic_list,
.topics_block {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
}

.topic_item,
.topic_row {
    display: grid !important;
    grid-template-columns: 50px 1fr 80px 120px !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--gx-border) !important;
    transition: background 0.2s !important;
}

.topic_item:last-child,
.topic_row:last-child {
    border-bottom: none !important;
}

.topic_item:hover,
.topic_row:hover {
    background: rgba(139, 92, 246, 0.03) !important;
}

.topic_icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
}

.topic_info {
    min-width: 0 !important;
}

.topic_name,
.topic_info a {
    display: block !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    text-decoration: none !important;
    margin-bottom: 4px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.topic_name:hover,
.topic_info a:hover {
    color: var(--gx-purple-light) !important;
}

.topic_meta,
.topic_info span {
    font-size: 11px !important;
    color: var(--gx-text-3) !important;
}

.topic_meta a,
.topic_info span a {
    color: var(--gx-purple-light) !important;
    font-weight: 500 !important;
}

.topic_stats {
    text-align: center !important;
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

.topic_last {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.topic_last img {
    width: 36px !important;
    height: 36px !important;
    border-radius: 10px !important;
    object-fit: cover !important;
}

.topic_last_info {
    min-width: 0 !important;
    font-size: 11px !important;
}

.topic_last_info a {
    display: block !important;
    color: var(--gx-text) !important;
    font-weight: 500 !important;
    margin-bottom: 2px !important;
}

.topic_last_info span {
    color: var(--gx-text-3) !important;
}

/* Forum badges */
.forum_badge,
.topic_badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-left: 8px !important;
}

.forum_badge.pinned,
.topic_badge.pinned {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #fbbf24 !important;
}

.forum_badge.closed,
.topic_badge.closed {
    background: rgba(107, 114, 128, 0.15) !important;
    color: #9ca3af !important;
}

.forum_badge.hot,
.topic_badge.hot {
    background: rgba(239, 68, 68, 0.15) !important;
    color: #ef4444 !important;
}

/* Forum add topic button */
.add_topic_btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 14px 28px !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    border-radius: 14px !important;
    color: #fff !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-bottom: 20px !important;
}

.add_topic_btn:hover {
    box-shadow: 0 8px 25px rgba(139, 92, 246, 0.4) !important;
    transform: translateY(-2px) !important;
    color: #fff !important;
}

/* Responsive forum */
@media (max-width: 900px) {
    .forum_row,
    .forum_item {
        grid-template-columns: 44px 1fr !important;
    }
    .forum_row_topics,
    .forum_row_messages,
    .forum_row_last,
    .forum_topics,
    .forum_messages,
    .forum_last {
        display: none !important;
    }
    .topic_item,
    .topic_row {
        grid-template-columns: 44px 1fr !important;
    }
    .topic_stats,
    .topic_last {
        display: none !important;
    }
}

/* 
   NOTIFICATIONS & ALERTS
*/

/* Global result notifications */
#global_result {
    position: fixed !important;
    top: 100px !important;
    right: 20px !important;
    z-index: 99999 !important;
}

.result_uspeshno,
.result_danger {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 16px 24px !important;
    border-radius: 14px !important;
    backdrop-filter: blur(10px) !important;
    animation: slideIn 0.3s ease !important;
}

.result_uspeshno {
    background: rgba(16, 185, 129, 0.15) !important;
    border: 1px solid rgba(16, 185, 129, 0.4) !important;
}

.result_danger {
    background: rgba(239, 68, 68, 0.15) !important;
    border: 1px solid rgba(239, 68, 68, 0.4) !important;
}

.result_uspeshno i {
    font-size: 28px !important;
    color: var(--gx-green) !important;
}

.result_danger i {
    font-size: 28px !important;
    color: #ef4444 !important;
}

.flex_operation_text {
    display: flex !important;
    flex-direction: column !important;
}

.text_operation_h1,
.text_operation_h11 {
    font-size: 15px !important;
    font-weight: 700 !important;
}

.text_operation_h1 { color: var(--gx-green) !important; }
.text_operation_h11 { color: #ef4444 !important; }

.text_operation_h2,
.text_operation_h22 {
    font-size: 12px !important;
    color: var(--gx-text-2) !important;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(50px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Noty.js styles */
.noty_layout {
    z-index: 99999 !important;
}

.noty_bar {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.3) !important;
    overflow: hidden !important;
}

.noty_body {
    padding: 16px 20px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    color: var(--gx-text) !important;
}

.noty_type__success .noty_body {
    border-left: 4px solid var(--gx-green) !important;
}

.noty_type__error .noty_body {
    border-left: 4px solid #ef4444 !important;
}

.noty_type__warning .noty_body {
    border-left: 4px solid #f59e0b !important;
}

.noty_type__info .noty_body {
    border-left: 4px solid var(--gx-cyan) !important;
}

/* Popover (Bootstrap) */
.popover {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.4) !important;
    max-width: 320px !important;
}

.popover-header {
    background: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--gx-border) !important;
    padding: 14px 18px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    border-radius: 16px 16px 0 0 !important;
}

.popover-body {
    padding: 14px 18px !important;
    color: var(--gx-text-2) !important;
}

.bs-popover-top .arrow::before,
.bs-popover-top .arrow::after {
    border-top-color: var(--gx-card) !important;
}

.bs-popover-bottom .arrow::before,
.bs-popover-bottom .arrow::after {
    border-bottom-color: var(--gx-card) !important;
}

/* Smiles/Stickers popover */
.smiles_block,
.stickers_block {
    display: grid !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 8px !important;
    max-height: 200px !important;
    overflow-y: auto !important;
}

.smiles_block img,
.stickers_block img {
    width: 32px !important;
    height: 32px !important;
    cursor: pointer !important;
    transition: transform 0.2s !important;
    border-radius: 6px !important;
}

.smiles_block img:hover,
.stickers_block img:hover {
    transform: scale(1.2) !important;
}

/* Loader */
.loader {
    width: 40px !important;
    height: 40px !important;
    border: 3px solid var(--gx-border) !important;
    border-top-color: var(--gx-purple) !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
    margin: 30px auto !important;
}

/* Preloader */
.preloader {
    position: fixed !important;
    inset: 0 !important;
    background: var(--gx-bg) !important;
    z-index: 999999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 0.4s, visibility 0.4s !important;
}

.preloader_hidden {
    opacity: 0 !important;
    visibility: hidden !important;
}

#preloader {
    display: flex;
    align-items: center;
    justify-content: center;
}

#loader {
    width: 60px !important;
    height: 60px !important;
    border: 4px solid var(--gx-border) !important;
    border-top-color: var(--gx-purple) !important;
    border-radius: 50% !important;
    animation: spin 1s linear infinite !important;
}

/* Version fixed */
.version_fixed {
    display: none !important;
}

/* Alert boxes */
.alert,
.alert-danger,
.alert-success,
.alert-warning,
.alert-info {
    padding: 16px 20px !important;
    border-radius: 12px !important;
    font-size: 14px !important;
    margin-bottom: 16px !important;
}

.alert-danger {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #ef4444 !important;
}

.alert-success {
    background: rgba(16, 185, 129, 0.1) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    color: var(--gx-green) !important;
}

.alert-warning {
    background: rgba(245, 158, 11, 0.1) !important;
    border: 1px solid rgba(245, 158, 11, 0.3) !important;
    color: #f59e0b !important;
}

.alert-info {
    background: rgba(6, 182, 212, 0.1) !important;
    border: 1px solid rgba(6, 182, 212, 0.3) !important;
    color: var(--gx-cyan) !important;
}

/* 
   NEWS PAGE STYLES
*/

.news_page_block,
.new_block_full {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
    margin-bottom: 24px !important;
}

.news_cover,
.new_img_full {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
}

.news_content,
.new_content_full {
    padding: 30px !important;
}

.news_title,
.new_title_full {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    margin-bottom: 16px !important;
}

.news_text,
.new_text_full {
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: var(--gx-text-2) !important;
}

.news_text a,
.new_text_full a {
    color: var(--gx-purple-light) !important;
}

.news_text img,
.new_text_full img {
    max-width: 100% !important;
    border-radius: 12px !important;
    margin: 16px 0 !important;
}

/* 
   SUPPORT/TICKETS PAGE
*/

.ticket_block,
.support_block {
    background: var(--gx-card) !important;
    border-radius: 16px !important;
    border: 1px solid var(--gx-border) !important;
    overflow: hidden !important;
    margin-bottom: 16px !important;
    transition: border-color 0.2s !important;
}

.ticket_block:hover,
.support_block:hover {
    border-color: rgba(139, 92, 246, 0.3) !important;
}

.ticket_header,
.support_header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    background: rgba(0,0,0,0.2) !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.ticket_title,
.support_title {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

.ticket_status,
.support_status {
    padding: 6px 14px !important;
    border-radius: 8px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.ticket_status.open,
.support_status.open {
    background: rgba(16, 185, 129, 0.15) !important;
    color: var(--gx-green) !important;
}

.ticket_status.closed,
.support_status.closed {
    background: rgba(107, 114, 128, 0.15) !important;
    color: #9ca3af !important;
}

.ticket_status.pending,
.support_status.pending {
    background: rgba(245, 158, 11, 0.15) !important;
    color: #f59e0b !important;
}

.ticket_body,
.support_body {
    padding: 16px 20px !important;
    font-size: 13px !important;
    color: var(--gx-text-2) !important;
}

/* 
   MESSAGES PAGE
*/

.messages_list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.message_item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 20px !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}

.message_item:hover {
    border-color: var(--gx-purple) !important;
    background: rgba(139, 92, 246, 0.03) !important;
}

.message_avatar {
    width: 50px !important;
    height: 50px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    flex-shrink: 0 !important;
}

.message_info {
    flex: 1 !important;
    min-width: 0 !important;
}

.message_name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    margin-bottom: 4px !important;
}

.message_preview {
    font-size: 13px !important;
    color: var(--gx-text-3) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.message_time {
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
    flex-shrink: 0 !important;
}

.message_unread {
    width: 10px !important;
    height: 10px !important;
    background: var(--gx-purple) !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
}

/* 
   SETTINGS PAGE
*/

.settings_tabs {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 24px !important;
    flex-wrap: wrap !important;
}

.settings_tab {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    color: var(--gx-text-2) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.settings_tab:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple-light) !important;
}

.settings_tab.active {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-color: var(--gx-purple) !important;
    color: #fff !important;
}

.settings_block {
    background: var(--gx-card) !important;
    border-radius: 20px !important;
    border: 1px solid var(--gx-border) !important;
    padding: 30px !important;
}

.settings_section {
    margin-bottom: 30px !important;
}

.settings_section:last-child {
    margin-bottom: 0 !important;
}

.settings_section_title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    margin-bottom: 20px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--gx-border) !important;
}

.settings_row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid rgba(139, 92, 246, 0.05) !important;
}

.settings_row:last-child {
    border-bottom: none !important;
}

.settings_label {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.settings_label span:first-child {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

.settings_label span:last-child {
    font-size: 12px !important;
    color: var(--gx-text-3) !important;
}

/* 
   PURSE/WALLET PAGE
*/

.purse_card {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-radius: 24px !important;
    padding: 30px !important;
    margin-bottom: 24px !important;
    position: relative !important;
    overflow: hidden !important;
}

.purse_card::before {
    content: '' !important;
    position: absolute !important;
    top: -50% !important;
    right: -20% !important;
    width: 200px !important;
    height: 200px !important;
    background: rgba(255,255,255,0.1) !important;
    border-radius: 50% !important;
}

.purse_balance {
    position: relative !important;
    z-index: 1 !important;
}

.purse_balance_label {
    font-size: 13px !important;
    color: rgba(255,255,255,0.7) !important;
    margin-bottom: 8px !important;
}

.purse_balance_value {
    font-family: 'Exo 2', sans-serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: #fff !important;
}

.purse_methods {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 16px !important;
}

.purse_method {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 20px !important;
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

.purse_method:hover {
    border-color: var(--gx-purple) !important;
}

.purse_method.selected {
    border-color: var(--gx-purple) !important;
    background: rgba(139, 92, 246, 0.05) !important;
}

.purse_method_icon {
    width: 50px !important;
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--gx-surface) !important;
    border-radius: 12px !important;
    font-size: 24px !important;
}

.purse_method_name {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
}

/* 
   RESPONSIVE GLOBAL
*/

/* 
   BANLIST & MUTLIST
*/

.gx_banlist_header {
    margin-bottom: 0 !important;
}

.gx_banlist_hero {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 40px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.gx_banlist_hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(139, 92, 246, 0.1) 0%, transparent 70%);
    animation: rotate 20s linear infinite;
}

.gx_banlist_hero_content {
    position: relative;
    z-index: 1;
}

.gx_banlist_badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(139, 92, 246, 0.2);
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--gx-purple);
    margin-bottom: 20px;
}

.gx_banlist_badge i {
    font-size: 16px;
}

.gx_banlist_title {
    font-size: 36px;
    font-weight: 800;
    color: var(--gx-text);
    margin: 0 0 12px 0;
    background: linear-gradient(135deg, var(--gx-purple) 0%, var(--gx-blue) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gx_banlist_desc {
    font-size: 16px;
    color: var(--gx-text-secondary);
    margin: 0 0 24px 0;
    line-height: 1.6;
}

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

.gx_banlist_tabs {
    display: flex;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.gx_tab_btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text-secondary);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s;
}

.gx_tab_btn:hover {
    background: var(--gx-card);
    border-color: var(--gx-purple);
    color: var(--gx-text);
    transform: translateY(-2px);
}

.gx_tab_btn.active {
    background: linear-gradient(135deg, var(--gx-purple) 0%, var(--gx-blue) 100%);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.gx_banlist_filters {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gx_banlist_search {
    flex: 1;
}

.gx_search_wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
    transition: all 0.2s;
}

.gx_search_wrapper:focus-within {
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.gx_search_wrapper i:first-child {
    position: absolute;
    left: 16px;
    font-size: 20px;
    color: var(--gx-text-secondary);
    z-index: 1;
}

.gx_search_input {
    flex: 1;
    padding: 14px 16px 14px 48px;
    background: transparent;
    border: none;
    color: var(--gx-text);
    font-size: 15px;
    outline: none;
}

.gx_search_input::placeholder {
    color: var(--gx-text-tertiary);
}

.gx_search_btn {
    padding: 14px 20px;
    background: linear-gradient(135deg, var(--gx-purple) 0%, var(--gx-blue) 100%);
    border: none;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gx_search_btn:hover {
    opacity: 0.9;
    transform: scale(1.05);
}

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

.gx_servers_filter {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    font-size: 14px;
    color: var(--gx-text);
}

.gx_servers_filter i {
    font-size: 18px;
    color: var(--gx-purple);
}

.gx_servers_list {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.gx_servers_list li {
    list-style: none;
}

.gx_servers_list li a {
    display: inline-block;
    padding: 8px 16px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 8px;
    color: var(--gx-text-secondary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}

.gx_servers_list li a:hover,
.gx_servers_list li.active a {
    background: linear-gradient(135deg, var(--gx-purple) 0%, var(--gx-blue) 100%);
    border-color: transparent;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.gx_banlist_stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.gx_stat_card {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    transition: all 0.2s;
}

.gx_stat_card:hover {
    border-color: var(--gx-purple);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1);
}

.gx_stat_icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    font-size: 24px;
}

.gx_stat_info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gx_stat_num {
    font-size: 24px;
    font-weight: 800;
    color: var(--gx-text);
}

.gx_stat_label {
    font-size: 13px;
    color: var(--gx-text-secondary);
    font-weight: 500;
}

.gx_banlist_table {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gx_banlist_table .table-row {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 20px;
    transition: all 0.2s;
    cursor: pointer;
}

.gx_banlist_table .table-row:hover {
    border-color: var(--gx-purple);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1);
}

.gx_banlist_table .table-row .row {
    display: grid;
    grid-template-columns: 2fr 2fr 1.5fr 1.5fr;
    gap: 20px;
    align-items: center;
}

.gx_banlist_table .with-description {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gx_banlist_table .with-description.with-icon {
    flex-direction: row;
    align-items: center;
    gap: 12px;
}

.gx_banlist_table .with-description i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-size: 20px;
}

.gx_banlist_table .with-description p {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_banlist_table .with-description span {
    font-size: 12px;
    color: var(--gx-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gx_banlist_table .with-description.with-icon > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gx_banlist_table .text-danger {
    color: #ff6b6b !important;
}

.gx_banlist_table .text-success {
    color: #51cf66 !important;
}

.gx_banlist_table .text-warning {
    color: #ffc107 !important;
}

/* Modal styles for ban/mute details */
.modal-content {
    background: var(--gx-card) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 20px !important;
    overflow: hidden;
}

.modal-header {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1) 0%, rgba(59, 130, 246, 0.1) 100%) !important;
    border-bottom: 1px solid var(--gx-border) !important;
    padding: 24px !important;
}

.modal-body {
    padding: 24px !important;
    background: var(--gx-card) !important;
}

.modal-bans {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
}

.info_block_names {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    transition: all 0.2s;
}

.info_block_names:hover {
    border-color: var(--gx-purple);
    transform: translateY(-2px);
}

.info_block_names i {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.15);
    color: var(--gx-purple);
    border-radius: 10px;
    font-size: 20px;
}

.flex_info_block_names {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.text_desp_info {
    font-size: 12px;
    color: var(--gx-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.name_info_block {
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
}

.btn_unban {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}

.bottom-button {
    padding: 12px 24px;
    background: linear-gradient(135deg, var(--gx-purple) 0%, var(--gx-blue) 100%);
    border: none;
    border-radius: 12px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.bottom-button:hover {
    opacity: 0.9;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

.bottom-button.disp-n {
    display: none !important;
}

.price_btn {
    background: rgba(255, 255, 255, 0.2);
    padding: 4px 8px;
    border-radius: 6px;
    font-weight: 700;
}

.gx_empty_state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
    color: var(--gx-text-secondary);
}

.gx_empty_state i {
    font-size: 48px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.gx_pagination_wrapper {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

@media (max-width: 768px) {
    .gx_banlist_hero {
        padding: 24px;
    }
    
    .gx_banlist_title {
        font-size: 28px;
    }
    
    .gx_banlist_actions {
        flex-direction: column;
    }
    
    .gx_banlist_filters {
        flex-direction: column;
    }
    
    .gx_banlist_stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gx_banlist_table .table-row .row {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .block_select_servers_blocked {
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .vertical-navigation {
        justify-content: center !important;
    }
    .blocked_text {
        font-size: 28px !important;
    }
    .settings_row {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* 
   NEW BANLIST DESIGN
*/

/* Compact Header */
.gx_banlist_compact_header {
    background: var(--gx-card);
    background-image: url('../img/banlist.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 24px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    gap: 30px;
    position: relative;
    overflow: hidden;
}

.gx_banlist_compact_header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(59, 130, 246, 0.1) 100%);
    z-index: 0;
}

.gx_banlist_compact_header > * {
    position: relative;
    z-index: 1;
}

.gx_banlist_header_left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex: 1;
}

.gx_banlist_icon_wrap {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(139, 92, 246, 0.1));
    border-radius: 16px;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.gx_banlist_icon_wrap i {
    font-size: 32px;
    color: var(--gx-purple);
}

.gx_banlist_header_text h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 4px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_banlist_header_text p {
    font-size: 14px;
    color: var(--gx-text-3);
    margin: 0;
}

.gx_banlist_header_tabs {
    display: flex;
    gap: 12px;
}

.gx_banlist_tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text-2);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
    font-family: 'Exo 2', sans-serif;
}

.gx_banlist_tab i {
    font-size: 18px;
}

.gx_banlist_tab:hover {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--gx-purple);
    color: var(--gx-text);
    transform: translateY(-2px);
}

.gx_banlist_tab.active {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: var(--gx-purple);
    color: #fff;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}

/* ========== MESSAGES / PM (tpl/home/messages.tpl) ========== */

.gx_messages_page {
    position: relative;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.gx_messages_header .gx_banlist_tab.disp-n {
    display: none !important;
}

.gx_messages_sound_player {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.gx_messages_wrapper {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    gap: 20px;
    align-items: stretch;
    min-height: min(72vh, 760px);
}

.gx_messages_companions {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-height: 360px;
    max-height: calc(100vh - 200px);
}

.gx_messages_companions::-webkit-scrollbar {
    width: 6px;
}

.gx_messages_companions::-webkit-scrollbar-thumb {
    background: var(--gx-purple);
    border-radius: 10px;
}

.gx_messages_companions > .gx_loading {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
    grid-column: unset;
}

/* Правая колонка: список диалогов / переписка — та же «карточка», что у контактов */
.gx_messages_content,
#place_for_messages.gx_messages_content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-height: 360px;
    max-height: calc(100vh - 200px);
    padding: 8px 4px 12px;
    box-sizing: border-box;
}

.gx_messages_content::-webkit-scrollbar,
#place_for_messages.gx_messages_content::-webkit-scrollbar {
    width: 6px;
}

.gx_messages_content::-webkit-scrollbar-thumb,
#place_for_messages.gx_messages_content::-webkit-scrollbar-thumb {
    background: var(--gx-purple);
    border-radius: 10px;
}

.gx_messages_content > .gx_loading,
#place_for_messages > .gx_loading {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
}

/* Строка диалога: слева (#companions), справа список диалогов (#place_for_messages) */
.gx_messages_wrapper .gx_dialog,
.gx_messages_wrapper .dialog.gx_dialog,
#place_for_messages .gx_dialog,
#place_for_messages .dialog.gx_dialog,
.gx_messages_companions .gx_dialog,
.gx_messages_companions .dialog.gx_dialog,
#companions .gx_dialog,
#companions .dialog.gx_dialog {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    margin: 6px 8px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.gx_messages_wrapper .gx_dialog:hover,
.gx_messages_wrapper .dialog.gx_dialog:hover,
#place_for_messages .gx_dialog:hover,
#place_for_messages .dialog.gx_dialog:hover,
.gx_messages_companions .gx_dialog:hover,
.gx_messages_companions .dialog.gx_dialog:hover,
#companions .gx_dialog:hover,
#companions .dialog.gx_dialog:hover {
    background: rgba(139, 92, 246, 0.08);
    border-color: rgba(139, 92, 246, 0.25);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.gx_messages_wrapper .gx_dialog_main,
#place_for_messages .gx_dialog_main,
.gx_messages_companions .gx_dialog_main,
#companions .gx_dialog_main {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    cursor: pointer;
}

.gx_messages_wrapper .gx_dialog_avatar,
#place_for_messages .gx_dialog_avatar,
.gx_messages_companions .gx_dialog_avatar,
#companions .gx_dialog_avatar {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--gx-border);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gx_messages_wrapper .gx_dialog:hover .gx_dialog_avatar,
#place_for_messages .gx_dialog:hover .gx_dialog_avatar,
.gx_messages_companions .gx_dialog:hover .gx_dialog_avatar,
#companions .gx_dialog:hover .gx_dialog_avatar {
    border-color: rgba(139, 92, 246, 0.45);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}

.gx_messages_wrapper .gx_dialog_meta,
#place_for_messages .gx_dialog_meta,
.gx_messages_companions .gx_dialog_meta,
#companions .gx_dialog_meta {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.gx_messages_wrapper .gx_dialog_login,
#place_for_messages .gx_dialog_login,
.gx_messages_companions .gx_dialog_login,
#companions .gx_dialog_login {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
    line-height: 1.3;
    font-family: 'Exo 2', sans-serif;
}

.gx_messages_wrapper .gx_dialog_date,
#place_for_messages .gx_dialog_date,
.gx_messages_companions .gx_dialog_date,
#companions .gx_dialog_date {
    margin: 0;
    font-size: 11px;
    font-weight: 500;
    color: var(--gx-text-3);
    line-height: 1.35;
}

/* Статусы — бейджи (класс .gx_dialog_status + text-*) */
.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-info,
.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-success,
.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-default,
#place_for_messages .gx_dialog .gx_dialog_status.text-info,
#place_for_messages .gx_dialog .gx_dialog_status.text-success,
#place_for_messages .gx_dialog .gx_dialog_status.text-default,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-info,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-success,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-default,
#companions .gx_dialog .gx_dialog_status.text-info,
#companions .gx_dialog .gx_dialog_status.text-success,
#companions .gx_dialog .gx_dialog_status.text-default {
    display: inline-flex;
    align-items: center;
    margin: 0;
    margin-top: 2px;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    cursor: default;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-text-fill-color: currentColor;
}

.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-info,
#place_for_messages .gx_dialog .gx_dialog_status.text-info,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-info,
#companions .gx_dialog .gx_dialog_status.text-info {
    color: #5eead4 !important;
    background: rgba(6, 182, 212, 0.14);
    border: 1px solid rgba(6, 182, 212, 0.4);
}

.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-success,
#place_for_messages .gx_dialog .gx_dialog_status.text-success,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-success,
#companions .gx_dialog .gx_dialog_status.text-success {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.4);
}

.gx_messages_wrapper .gx_dialog .gx_dialog_status.text-default,
#place_for_messages .gx_dialog .gx_dialog_status.text-default,
.gx_messages_companions .gx_dialog .gx_dialog_status.text-default,
#companions .gx_dialog .gx_dialog_status.text-default {
    color: var(--gx-text-2) !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border);
}

/* Старый шаблон: статус как ссылка <a class="text-info"> внутри .dialog */
.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-info,
.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-success,
.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-default,
#place_for_messages .gx_dialog a.gx_dialog_status.text-info,
#place_for_messages .gx_dialog a.gx_dialog_status.text-success,
#place_for_messages .gx_dialog a.gx_dialog_status.text-default,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-info,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-success,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-default,
#companions .gx_dialog a.gx_dialog_status.text-info,
#companions .gx_dialog a.gx_dialog_status.text-success,
#companions .gx_dialog a.gx_dialog_status.text-default {
    display: inline-flex;
    align-items: center;
    margin: 0;
    margin-top: 2px;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    letter-spacing: 0.01em;
    text-decoration: none !important;
    cursor: pointer;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-text-fill-color: currentColor;
}

.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-info,
#place_for_messages .gx_dialog a.gx_dialog_status.text-info,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-info,
#companions .gx_dialog a.gx_dialog_status.text-info {
    color: #5eead4 !important;
    background: rgba(6, 182, 212, 0.14);
    border: 1px solid rgba(6, 182, 212, 0.4);
}

.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-success,
#place_for_messages .gx_dialog a.gx_dialog_status.text-success,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-success,
#companions .gx_dialog a.gx_dialog_status.text-success {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.4);
}

.gx_messages_wrapper .gx_dialog a.gx_dialog_status.text-default,
#place_for_messages .gx_dialog a.gx_dialog_status.text-default,
.gx_messages_companions .gx_dialog a.gx_dialog_status.text-default,
#companions .gx_dialog a.gx_dialog_status.text-default {
    color: var(--gx-text-2) !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border);
}

.gx_messages_wrapper .dialog a.text-info,
.gx_messages_wrapper .dialog a.text-success,
.gx_messages_wrapper .dialog a.text-default,
#place_for_messages .dialog a.text-info,
#place_for_messages .dialog a.text-success,
#place_for_messages .dialog a.text-default,
.gx_messages_companions .dialog a.text-info,
.gx_messages_companions .dialog a.text-success,
.gx_messages_companions .dialog a.text-default,
#companions .dialog a.text-info,
#companions .dialog a.text-success,
#companions .dialog a.text-default {
    display: inline-flex;
    align-items: center;
    margin-top: 2px;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-text-fill-color: currentColor;
}

.gx_messages_wrapper .dialog a.text-info,
#place_for_messages .dialog a.text-info,
.gx_messages_companions .dialog a.text-info,
#companions .dialog a.text-info {
    color: #5eead4 !important;
    background: rgba(6, 182, 212, 0.14);
    border: 1px solid rgba(6, 182, 212, 0.4);
}

.gx_messages_wrapper .dialog a.text-success,
#place_for_messages .dialog a.text-success,
.gx_messages_companions .dialog a.text-success,
#companions .dialog a.text-success {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.4);
}

.gx_messages_wrapper .dialog a.text-default,
#place_for_messages .dialog a.text-default,
.gx_messages_companions .dialog a.text-default,
#companions .dialog a.text-default {
    color: var(--gx-text-2) !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border);
}

.gx_messages_wrapper .gx_dialog_delete,
#place_for_messages .gx_dialog_delete,
.gx_messages_companions .gx_dialog_delete,
#companions .gx_dialog_delete {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-radius: 12px;
    color: var(--gx-text-3);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--gx-border);
    transition: color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.gx_messages_wrapper .gx_dialog_delete i,
#place_for_messages .gx_dialog_delete i,
.gx_messages_companions .gx_dialog_delete i,
#companions .gx_dialog_delete i {
    font-size: 20px;
}

.gx_messages_wrapper .gx_dialog_delete:hover,
#place_for_messages .gx_dialog_delete:hover,
.gx_messages_companions .gx_dialog_delete:hover,
#companions .gx_dialog_delete:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.35);
}

/* Старый кэш без .gx_dialog: базовая сетка */
.gx_messages_wrapper .dialog:not(.gx_dialog),
#place_for_messages .dialog:not(.gx_dialog),
.gx_messages_companions .dialog:not(.gx_dialog),
#companions .dialog:not(.gx_dialog) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--gx-border);
    transition: background 0.2s ease;
}

.gx_messages_wrapper .dialog:not(.gx_dialog):hover,
#place_for_messages .dialog:not(.gx_dialog):hover,
.gx_messages_companions .dialog:not(.gx_dialog):hover,
#companions .dialog:not(.gx_dialog):hover {
    background: rgba(139, 92, 246, 0.06);
}

.gx_messages_wrapper .dialog:not(.gx_dialog) > div:first-child,
#place_for_messages .dialog:not(.gx_dialog) > div:first-child,
.gx_messages_companions .dialog:not(.gx_dialog) > div:first-child,
#companions .dialog:not(.gx_dialog) > div:first-child {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    cursor: pointer;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) img,
#place_for_messages .dialog:not(.gx_dialog) img,
.gx_messages_companions .dialog:not(.gx_dialog) img,
#companions .dialog:not(.gx_dialog) img {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) > div:first-child > div,
#place_for_messages .dialog:not(.gx_dialog) > div:first-child > div,
.gx_messages_companions .dialog:not(.gx_dialog) > div:first-child > div,
#companions .dialog:not(.gx_dialog) > div:first-child > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p,
#place_for_messages .dialog:not(.gx_dialog) p,
.gx_messages_companions .dialog:not(.gx_dialog) p,
#companions .dialog:not(.gx_dialog) p {
    margin: 0;
    font-size: 12px;
    color: var(--gx-text-3);
    line-height: 1.35;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p:first-child,
#place_for_messages .dialog:not(.gx_dialog) p:first-child,
.gx_messages_companions .dialog:not(.gx_dialog) p:first-child,
#companions .dialog:not(.gx_dialog) p:first-child {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p:nth-child(2),
#place_for_messages .dialog:not(.gx_dialog) p:nth-child(2),
.gx_messages_companions .dialog:not(.gx_dialog) p:nth-child(2),
#companions .dialog:not(.gx_dialog) p:nth-child(2) {
    font-size: 11px;
    color: var(--gx-text-3);
    font-weight: 500;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-info,
.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-success,
.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-default,
#place_for_messages .dialog:not(.gx_dialog) p.text-info,
#place_for_messages .dialog:not(.gx_dialog) p.text-success,
#place_for_messages .dialog:not(.gx_dialog) p.text-default,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-info,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-success,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-default,
#companions .dialog:not(.gx_dialog) p.text-info,
#companions .dialog:not(.gx_dialog) p.text-success,
#companions .dialog:not(.gx_dialog) p.text-default {
    display: inline-flex;
    align-items: center;
    margin-top: 2px;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
    text-decoration: none !important;
    cursor: default;
    max-width: 100%;
    box-sizing: border-box;
    -webkit-text-fill-color: currentColor;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-info,
#place_for_messages .dialog:not(.gx_dialog) p.text-info,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-info,
#companions .dialog:not(.gx_dialog) p.text-info {
    color: #5eead4 !important;
    background: rgba(6, 182, 212, 0.14);
    border: 1px solid rgba(6, 182, 212, 0.4);
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-success,
#place_for_messages .dialog:not(.gx_dialog) p.text-success,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-success,
#companions .dialog:not(.gx_dialog) p.text-success {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.16);
    border: 1px solid rgba(16, 185, 129, 0.4);
}

.gx_messages_wrapper .dialog:not(.gx_dialog) p.text-default,
#place_for_messages .dialog:not(.gx_dialog) p.text-default,
.gx_messages_companions .dialog:not(.gx_dialog) p.text-default,
#companions .dialog:not(.gx_dialog) p.text-default {
    color: var(--gx-text-2) !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border);
}

.gx_messages_wrapper .dialog:not(.gx_dialog) > div:last-child,
#place_for_messages .dialog:not(.gx_dialog) > div:last-child,
.gx_messages_companions .dialog:not(.gx_dialog) > div:last-child,
#companions .dialog:not(.gx_dialog) > div:last-child {
    cursor: pointer;
    padding: 8px;
    border-radius: 10px;
    color: var(--gx-text-3);
    transition: color 0.2s, background 0.2s;
}

.gx_messages_wrapper .dialog:not(.gx_dialog) > div:last-child:hover,
#place_for_messages .dialog:not(.gx_dialog) > div:last-child:hover,
.gx_messages_companions .dialog:not(.gx_dialog) > div:last-child:hover,
#companions .dialog:not(.gx_dialog) > div:last-child:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.gx_messages_companions .block_companion {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 1px solid var(--gx-border);
    transition: background 0.2s ease;
}

.gx_messages_companions .block_companion:hover {
    background: rgba(139, 92, 246, 0.05);
}

.gx_messages_companions .flex_companion {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.gx_messages_companions .img_companion {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    object-fit: cover;
    flex-shrink: 0;
}

.gx_messages_companions .flex_companion_mini {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.gx_messages_companions .login_companion {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
}

.gx_messages_companions .desp_companion {
    font-size: 11px;
    color: var(--gx-text-3);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.gx_messages_companions .companion_btn {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.12);
    border: 1px solid var(--gx-border);
    color: var(--gx-purple-light);
    flex-shrink: 0;
    text-decoration: none;
    transition: all 0.2s ease;
}

.gx_messages_companions .companion_btn:hover {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: var(--gx-purple);
    color: #fff;
}

.gx_messages_content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 360px;
    min-width: 0;
    position: relative;
}

.gx_messages_content > .gx_loading {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px;
    grid-column: unset;
}

.gx_messages_content #chat {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
}

.gx_messages_content #chat form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    height: 100%;
}

.gx_messages_content #drop_zone {
    position: relative;
    flex: 1;
    min-height: 240px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.18);
}

.gx_messages_content #drop_zone.loader {
    opacity: 0.85;
}

.gx_messages_content #drop_mask {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 5;
    background: rgba(139, 92, 246, 0.08);
    border: 2px dashed var(--gx-purple);
    border-radius: 12px;
    margin: 8px;
}

.gx_messages_content #drop_zone.hover #drop_mask {
    display: block;
}

.gx_messages_content #messages {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gx_messages_content #messages::-webkit-scrollbar {
    width: 6px;
}

.gx_messages_content #messages::-webkit-scrollbar-thumb {
    background: var(--gx-purple);
    border-radius: 10px;
}

.gx_messages_content #messages .chat_message {
    flex-shrink: 0;
}

.gx_messages_content #messages .chat_message .message {
    display: block;
    padding: 0;
    background: transparent;
}

.gx_messages_content #messages .chat_message .with_code {
    display: flex;
    gap: 10px;
    padding: 12px;
    background: var(--gx-card-light);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    transition: border-color 0.2s ease;
}

.gx_messages_content #messages .chat_message:hover .with_code {
    border-color: rgba(139, 92, 246, 0.35);
}

.gx_messages_content #messages .back_img_chat {
    flex-shrink: 0;
    display: block;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    overflow: hidden;
}

.gx_messages_content #messages .chat_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gx_messages_content #messages .message_global {
    flex: 1;
    min-width: 0;
}

.gx_messages_content #messages .login_share_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}

.gx_messages_content #messages .author {
    font-family: 'Exo 2', sans-serif;
    font-size: 13px;
    font-weight: 700;
}

.gx_messages_content #messages .chat_date {
    font-size: 10px;
    color: var(--gx-text-3);
    background: rgba(139, 92, 246, 0.1);
    padding: 3px 8px;
    border-radius: 6px;
}

.gx_messages_content #messages .text_chat {
    font-size: 13px;
    line-height: 1.5;
    color: var(--gx-text-2);
    word-wrap: break-word;
}

.gx_messages_content #messages .text_chat img {
    max-width: 100%;
    border-radius: 8px;
}

.gx_messages_content .input-group {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding: 14px 16px;
    border-top: 1px solid var(--gx-border);
    background: var(--gx-card-light);
    flex-shrink: 0;
    position: relative !important;
    top: auto !important;
}

.gx_messages_content .smile_input {
    flex: 1;
    position: relative;
    min-width: 0;
}

.gx_messages_content .smile_input textarea,
.gx_messages_content .smile_input .form-control,
.gx_messages_content #text {
    width: 100% !important;
    min-height: 48px;
    max-height: 160px;
    padding: 12px 48px 12px 14px !important;
    background: rgba(0, 0, 0, 0.28) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    resize: vertical;
    box-sizing: border-box;
}

.gx_messages_content .smile_input textarea:focus,
.gx_messages_content #text:focus {
    border-color: var(--gx-purple) !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2);
}

.gx_messages_content .smile_btn {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 32px;
    height: 32px;
    cursor: pointer;
    opacity: 0.85;
}

.gx_messages_content .input-group-btn {
    flex-shrink: 0;
}

.gx_messages_content .btn_send_message {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-radius: 14px;
    color: #fff !important;
    border: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none;
}

.gx_messages_content .btn_send_message:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35);
}

.gx_messages_content .btn_send_message i {
    font-size: 22px;
}

.gx_messages_content #passive {
    padding: 24px;
    text-align: center;
    color: var(--gx-text-2);
}

.gx_messages_content #passive p {
    margin: 8px 0;
}

@media (max-width: 960px) {
    .gx_messages_wrapper {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .gx_messages_companions {
        max-height: 280px;
    }

    .gx_messages_content {
        min-height: 420px;
    }
}

/* ========== SUPPORT / FAQ (tpl/support/index.tpl) ========== */

.gx_support_page {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.gx_support_layout.block_support {
    display: grid;
    grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
    margin-top: 24px;
}

.gx_support_sidebar.block_support_left {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 18px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.gx_support_topbar.support_btn_top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 4px 4px 4px 8px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
}

.gx_support_topbar .active_btn_support_top {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gx-text-3);
    padding: 8px 10px;
}

.gx_support_topbar .btn_support_top {
    font-size: 13px;
    font-weight: 600;
    color: var(--gx-text);
    padding: 10px 16px;
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.15);
    border: 1px solid rgba(139, 92, 246, 0.35);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    font-family: 'Exo 2', sans-serif;
}

.gx_support_topbar .btn_support_top:hover {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: var(--gx-purple);
    color: #fff;
    transform: translateY(-1px);
}

/* Категории FAQ: одна колонка на всю ширину сайдбара — в сетке 2×2 на ~300px карточки «ломаются» */
.gx_support_nav {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gx_support_nav .btn_support {
    margin: 0;
    padding: 0;
    list-style: none;
    border-radius: 14px;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.04), rgba(0, 0, 0, 0.18));
    border: 1px solid var(--gx-border);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    flex-shrink: 0;
}

.gx_support_nav .btn_support a {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    text-decoration: none;
    color: inherit;
    border-radius: 14px;
    min-height: 64px;
    box-sizing: border-box;
}

.gx_support_nav .btn_support i {
    font-size: 22px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.12);
    border: 1px solid rgba(139, 92, 246, 0.22);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.gx_support_nav .flex_text_supp {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    text-align: left;
    flex: 1;
}

.gx_support_nav .name_support_btn {
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--gx-text);
    line-height: 1.25;
}

.gx_support_nav .desp_support_btn {
    font-size: 11px;
    font-weight: 500;
    color: var(--gx-text-3);
    line-height: 1.35;
    letter-spacing: 0.02em;
}

.gx_support_nav .btn_support:hover {
    border-color: rgba(139, 92, 246, 0.4);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.18);
}

.gx_support_nav .btn_support:hover i {
    background: rgba(139, 92, 246, 0.2);
    border-color: rgba(139, 92, 246, 0.35);
}

.gx_support_nav .btn_support.active_support_btn {
    border-color: rgba(139, 92, 246, 0.55);
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(0, 0, 0, 0.22));
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.15), 0 6px 22px rgba(139, 92, 246, 0.12);
}

.gx_support_nav .btn_support.active_support_btn i {
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: rgba(255, 255, 255, 0.2);
}

.gx_support_hint.center_message_support {
    text-align: center;
    font-size: 13px;
    color: var(--gx-text-2);
    line-height: 1.5;
    padding: 8px 4px 0;
}

.gx_support_hint .line_social {
    display: flex;
    justify-content: center;
    margin-bottom: 10px;
}

.gx_support_hint .circle_social {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--gx-border);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.08);
}

.gx_support_hint .circle_in_social {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--gx-purple);
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.6);
}

.gx_support_create_wrap {
    text-decoration: none;
    display: block;
    margin-top: 4px;
}

.gx_support_create_btn.add_ticket_support {
    text-align: center;
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 700;
    padding: 16px 18px;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: 1px solid rgba(139, 92, 246, 0.5);
    box-shadow: 0 8px 28px rgba(139, 92, 246, 0.25);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_support_create_wrap:hover .add_ticket_support {
    transform: translateY(-2px);
    box-shadow: 0 12px 36px rgba(139, 92, 246, 0.4);
}

.gx_support_main.block_support_right {
    min-width: 0;
}

.gx_support_content_root#content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: hidden;
    min-height: 400px;
}

.gx_support_page #content2,
.gx_support_page #content3,
.gx_support_page #content4 {
    display: none;
}

.gx_support_panel {
    padding: 24px 22px 28px;
}

.gx_support_panel_head.block_top_content {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--gx-border);
}

.gx_support_panel_head .text_top_content {
    font-family: 'Exo 2', sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_support_panel_head .desp_top_content {
    font-size: 14px;
    color: var(--gx-text-3);
    line-height: 1.45;
}

.gx_support_panel_head .category_content {
    margin-top: 6px;
}

.gx_support_panel_head .select_content {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gx-purple-light);
    padding: 8px 14px;
    border-radius: 10px;
    background: rgba(139, 92, 246, 0.12);
    border: 1px solid rgba(139, 92, 246, 0.28);
}

.gx_support_panel_head .select_content i {
    font-size: 14px;
}

.gx_support_accordion.accordion-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gx_support_page .accordion-item {
    border-radius: 14px;
    border: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.18);
    overflow: hidden;
}

.gx_support_page .accordion-header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 18px;
    margin: 0;
    border: none;
    background: transparent;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background 0.2s ease;
}

.gx_support_page .accordion-header:hover {
    background: rgba(139, 92, 246, 0.06);
}

.gx_support_page .flex_accordion_text {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.gx_support_page .flex_accordion_text i {
    font-size: 22px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
}

.gx_support_page .accordion-header .icon {
    flex-shrink: 0;
    color: var(--gx-text-3);
    transition: transform 0.25s ease;
}

.gx_support_page .accordion-header.active .icon {
    transform: rotate(180deg);
    color: var(--gx-purple-light);
}

.gx_support_page .accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    border-top: 1px solid transparent;
}

.gx_support_page .accordion-header.active + .accordion-content {
    border-top-color: var(--gx-border);
}

.gx_support_page .accordion-content p {
    margin: 0;
    padding: 16px 18px 20px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--gx-text-2);
}

.gx_support_header .gx_support_admin_tab {
    background: rgba(0, 0, 0, 0.35) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: rgba(255, 255, 255, 0.95) !important;
}

.gx_support_tickets_modal .gx_support_modal_content.modal-content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45);
}

.gx_support_tickets_modal .gx_support_modal_header.modal-header {
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid var(--gx-border);
    padding: 18px 22px;
}

.gx_support_tickets_modal .modal_head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
}

.gx_support_tickets_modal .flex_modal_head span {
    font-family: 'Exo 2', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_support_tickets_modal .line_title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
}

.gx_support_tickets_modal .line_purse1 {
    display: block;
    width: 28px;
    height: 3px;
    border-radius: 2px;
    background: var(--gx-purple);
}

.gx_support_tickets_modal .line_purse {
    display: block;
    width: 48px;
    height: 3px;
    border-radius: 2px;
    background: var(--gx-border);
}

.gx_support_tickets_modal .close {
    color: var(--gx-text-2);
    opacity: 0.85;
    text-shadow: none;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
}

.gx_support_tickets_modal .close:hover {
    color: #fff;
    opacity: 1;
}

.gx_support_tickets_modal .gx_support_modal_body.modal-body {
    padding: 20px 22px 24px;
    background: var(--gx-card);
}

.gx_support_tickets_modal .gx_support_tickets_table {
    border-radius: 14px;
    border: 1px solid var(--gx-border);
    overflow: hidden;
    background: rgba(0, 0, 0, 0.15);
    min-height: 120px;
}

@media (max-width: 960px) {
    .gx_support_layout.block_support {
        grid-template-columns: 1fr;
    }
}

/* ========== SUPPORT TICKET VIEW (tpl/support/ticket.tpl) ========== */

.gx_ticket_page {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.gx_ticket_top_grid.gx_stats_container {
    margin-top: 24px;
}

.gx_ticket_info_grid.gx_ticket_info {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 24px;
    align-items: start;
}

.gx_ticket_meta_card.div_edit_user_left {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gx_ticket_page .gx_ticket_flip.flip-tr {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 12px;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.18);
    border: 1px solid var(--gx-border);
    transition: border-color 0.2s ease, background 0.2s ease;
}

.gx_ticket_page .gx_ticket_flip.flip-tr:hover {
    border-color: rgba(139, 92, 246, 0.35);
    background: rgba(139, 92, 246, 0.06);
}

.gx_ticket_page .gx_ticket_flip.flip-tr > i {
    font-size: 24px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
    margin-top: 2px;
}

.gx_ticket_page .flex_tr_ticket {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.gx_ticket_page .h1-tr {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gx-text-3);
}

.gx_ticket_page .h2-tr {
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
    line-height: 1.35;
    word-break: break-word;
}

.gx_ticket_page .gx_ticket_status_cell {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 6px;
}

.gx_ticket_page .gx_ticket_label {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    border: 1px solid transparent;
    text-decoration: none !important;
}

.gx_ticket_page .gx_ticket_label--info,
.gx_ticket_page .gx_ticket_label.label-info {
    color: #5eead4 !important;
    background: rgba(6, 182, 212, 0.14);
    border-color: rgba(6, 182, 212, 0.4);
}

.gx_ticket_page .gx_ticket_label--success,
.gx_ticket_page .gx_ticket_label.label-success {
    color: #6ee7b7 !important;
    background: rgba(16, 185, 129, 0.16);
    border-color: rgba(16, 185, 129, 0.4);
}

.gx_ticket_message_card.div_edit_user_right {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 22px 22px 24px;
    min-width: 0;
}

.gx_ticket_page .gx_ticket_section_head.flex_head_complaint {
    padding: 0 0 14px 0;
    margin-bottom: 14px;
    border-bottom: 1px solid var(--gx-border);
}

.gx_ticket_page .gx_ticket_section_head--action {
    margin-top: 22px;
    padding-top: 4px;
}

.gx_ticket_page .flex_text_complaint {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.gx_ticket_page .text_flex_complaint {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_ticket_page .desp_flex_complaint {
    font-size: 13px;
    color: var(--gx-text-3);
    line-height: 1.45;
}

.gx_ticket_page .gx_ticket_message_body.comment_ticket {
    font-size: 14px;
    line-height: 1.7;
    color: var(--gx-text-2);
    padding: 16px 18px;
    border-radius: 14px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--gx-border);
    min-height: 80px;
}

.gx_ticket_page .gx_ticket_message_body.comment_ticket img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}

.gx_ticket_actions.btn_ticket_support {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 8px;
}

.gx_ticket_page .gx_ticket_btn {
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 600;
    padding: 12px 22px;
    border-radius: 12px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.gx_ticket_page .gx_ticket_btn--close.close_ticket {
    color: #fff;
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.9), rgba(217, 119, 6, 0.95));
    border-color: rgba(245, 158, 11, 0.45);
}

.gx_ticket_page .gx_ticket_btn--close.close_ticket:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(245, 158, 11, 0.3);
}

.gx_ticket_page .gx_ticket_btn--delete.delete_ticket {
    color: #fff;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    border-color: rgba(239, 68, 68, 0.45);
}

.gx_ticket_page .gx_ticket_btn--delete.delete_ticket:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(239, 68, 68, 0.35);
}

.gx_ticket_discussion_wrap {
    margin-top: 24px;
    padding-left: 0;
    padding-right: 0;
}

.gx_ticket_thread.block_solution {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: hidden;
}

.gx_ticket_thread_head.block_head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 22px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid var(--gx-border);
}

.gx_ticket_thread_head.block_head > i {
    font-size: 28px;
    color: var(--gx-purple-light);
    flex-shrink: 0;
}

.gx_ticket_thread_head .head_text_two {
    font-family: 'Exo 2', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_ticket_reply_area#add_ticket_answer {
    padding: 20px 22px 0;
}

.gx_ticket_page .gx_ticket_reply_area textarea#text {
    min-height: 200px;
    width: 100%;
    box-sizing: border-box;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 14px !important;
    color: var(--gx-text) !important;
    padding: 14px 16px !important;
}

.gx_ticket_page .gx_ticket_reply_toolbar.smile_input_forum {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 16px !important;
}

.gx_ticket_page .gx_ticket_send_btn.send_comment_btn {
    padding: 12px 24px;
    border-radius: 12px;
    border: none;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_ticket_page .gx_ticket_send_btn.send_comment_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.4);
}

.gx_ticket_page .gx_ticket_reply_toolbar .smile_btn {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    border: 1px solid var(--gx-border);
    background: rgba(255, 255, 255, 0.05);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.gx_ticket_page .gx_ticket_reply_toolbar .smile_btn:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.1);
}

.gx_ticket_answers#answers {
    padding: 20px 22px 24px;
    border-top: 1px solid var(--gx-border);
    margin-top: 0 !important;
}

.gx_ticket_page .gx_ticket_answers .loader {
    margin: 24px auto !important;
}

/* TinyMCE inside ticket reply */
.gx_ticket_page .tox-tinymce {
    border-radius: 14px !important;
    border-color: var(--gx-border) !important;
}

@media (max-width: 960px) {
    .gx_ticket_info_grid.gx_ticket_info {
        grid-template-columns: 1fr;
    }
}

/* ========== COMPLAINT VIEW (tpl/complaints/complaint.tpl) — вместе с gx_ticket_page ========== */

.gx_complaint_view .gx_ticket_reply_area.gx_complaint_reply_area {
    padding: 20px 22px 0;
}

.gx_complaint_view #comments.gx_ticket_answers,
.gx_complaint_view .gx_complaint_comments.gx_ticket_answers {
    padding: 20px 22px 24px;
    border-top: 1px solid var(--gx-border);
    margin-top: 0 !important;
}

.gx_complaint_view .gx_ticket_page .gx_complaint_comments .loader {
    margin: 24px auto !important;
}

.gx_complaint_view .gx_complaint_section--demo {
    margin-top: 10px;
}

.gx_complaint_view .demo_ticket {
    display: inline-block;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(107, 114, 128, 0.12);
    border: 1px solid var(--gx-border);
    color: var(--gx-text-3);
    font-size: 13px;
    line-height: 1.45;
}

.gx_complaint_view .demo_btn_ticket {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 22px;
    border-radius: 12px;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none !important;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: 1px solid rgba(139, 92, 246, 0.45);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_complaint_view .demo_btn_ticket:hover {
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35);
}

.gx_complaint_view .gx_complaint_verdict_actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 14px;
    margin-top: 4px;
}

.gx_complaint_view .gx_complaint_verdict_select_wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    flex: 1 1 260px;
    max-width: min(400px, 100%);
    min-width: 0;
    margin-bottom: 0 !important;
}

.gx_complaint_view .gx_complaint_verdict_select_label {
    font-family: 'Exo 2', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: var(--gx-text-2);
    line-height: 1.3;
}

.gx_complaint_view .gx_complaint_verdict_mount {
    position: relative;
    width: 100%;
    min-height: 48px;
}

.gx_complaint_view .gx_complaint_verdict_mount > i {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    font-size: 20px;
    line-height: 1;
    color: var(--gx-purple-light);
    pointer-events: none;
    z-index: 2;
}

.gx_complaint_view .gx_complaint_verdict_mount select#sentence {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 12px 44px 12px 48px !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    background-color: var(--gx-surface) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23a78bfa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    color-scheme: dark !important;
}

.gx_complaint_view .gx_complaint_verdict_mount select#sentence:focus {
    outline: none !important;
    border-color: var(--gx-purple) !important;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2) !important;
}

.gx_complaint_view .gx_complaint_verdict_mount select#sentence option {
    background: var(--gx-card) !important;
    color: var(--gx-text) !important;
}

@media (max-width: 576px) {
    .gx_complaint_view .gx_complaint_verdict_actions {
        flex-direction: column;
        align-items: stretch;
    }

    .gx_complaint_view .gx_complaint_verdict_select_wrap {
        max-width: 100%;
        flex: 1 1 auto;
    }

    .gx_complaint_view .gx_complaint_verdict_btn.succesy_button {
        width: 100%;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }
}

.gx_complaint_view .gx_complaint_verdict_btn.succesy_button {
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border: none !important;
    color: #fff !important;
    padding: 12px 22px !important;
    border-radius: 12px !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    box-shadow: none !important;
}

.gx_complaint_view .gx_complaint_verdict_btn.succesy_button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.35) !important;
}

.gx_complaint_view .gx_complaint_status.text-warning {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #fbbf24 !important;
}

.gx_complaint_view .h2-tr[data-toggle="modal"],
.gx_complaint_view .h2-tr[onclick] {
    cursor: pointer;
    color: var(--gx-purple-light) !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gx_complaint_view .h2-tr[data-toggle="modal"]:hover,
.gx_complaint_view .h2-tr[onclick]:hover {
    color: #fff !important;
}

.gx_complaint_view .modal-content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    overflow: hidden;
}

.gx_complaint_view .modal-header {
    border-bottom: 1px solid var(--gx-border);
    padding: 16px 20px;
    background: rgba(0, 0, 0, 0.2);
}

.gx_complaint_view .modal-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_complaint_view .modal-body {
    padding: 18px 20px 22px;
    background: var(--gx-card);
}

.gx_complaint_view .modal-body .table {
    color: var(--gx-text-2);
    margin-bottom: 0;
}

.gx_complaint_view .modal-body .table thead td {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--gx-text-3);
    border-color: var(--gx-border);
    background: rgba(0, 0, 0, 0.2);
}

.gx_complaint_view .modal-body .table-bordered td {
    border-color: var(--gx-border);
}

.gx_complaint_view .modal-header .close {
    color: var(--gx-text-2);
    opacity: 0.85;
    text-shadow: none;
}

.gx_complaint_view .modal-header .close:hover {
    color: var(--gx-text);
    opacity: 1;
}

.gx_complaint_view .gx_ticket_page .gx_ticket_send_btn.send_comment_btn {
    /* input[type=button] вместо button — те же размеры */
    padding: 12px 24px;
    border-radius: 12px;
    border: none;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_complaint_view .gx_ticket_page .gx_ticket_send_btn.send_comment_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.4);
}

/* Bans appeal instructions (tpl/bans/instructions.tpl) */
.gx_ban_instructions {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--gx-text-2);
}

.gx_ban_instructions strong {
    color: var(--gx-text);
    font-weight: 700;
}

/* Quick Stats */
.gx_banlist_quick_stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}

.gx_quick_stat {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.3s;
}

.gx_quick_stat:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    border-color: var(--gx-purple);
}

.gx_quick_stat_icon {
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    flex-shrink: 0;
}

.gx_quick_stat_icon i {
    font-size: 28px;
}

.gx_quick_stat_content {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gx_quick_stat_num {
    font-size: 28px;
    font-weight: 700;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    line-height: 1;
}

.gx_quick_stat_label {
    font-size: 13px;
    color: var(--gx-text-3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

/* Toolbar */
.gx_banlist_toolbar {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.gx_banlist_search_bar {
    flex: 1;
    min-width: 300px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    padding: 4px 4px 4px 16px;
    transition: all 0.3s;
}

.gx_banlist_search_bar:focus-within {
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.gx_search_icon_wrap {
    display: flex;
    align-items: center;
    color: var(--gx-text-3);
    font-size: 20px;
}

.gx_banlist_search_input {
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--gx-text);
    font-size: 14px;
    font-family: 'Exo 2', sans-serif;
    padding: 8px 0;
}

.gx_banlist_search_input::placeholder {
    color: var(--gx-text-3);
}

.gx_banlist_search_btn {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    font-family: 'Exo 2', sans-serif;
}

.gx_banlist_search_btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.gx_banlist_server_dropdown_wrap {
    position: relative;
}

.gx_server_dropdown {
    position: relative;
}

.gx_server_dropdown_trigger {
    display: flex;
    align-items: center;
    padding: 0;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.3s;
    min-width: 200px;
    font-family: 'Exo 2', sans-serif;
    width: 100%;
    outline: none;
    position: relative;
    overflow: hidden;
}

.gx_server_dropdown_trigger:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.05);
}

.gx_server_dropdown_trigger i:first-child {
    font-size: 18px;
    color: var(--gx-text-2);
    flex-shrink: 0;
    padding: 12px 0 12px 16px;
}

.gx_server_dropdown_text {
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
    text-align: left;
    padding: 12px 0;
    min-width: 0;
}

.gx_server_dropdown_arrow {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.2);
    border-radius: 6px;
    font-size: 16px;
    color: var(--gx-purple);
    transition: all 0.3s;
    flex-shrink: 0;
    margin: 8px 8px 8px 0;
}

.gx_server_dropdown.active .gx_server_dropdown_arrow {
    transform: rotate(180deg);
    background: rgba(139, 92, 246, 0.2);
    border-color: var(--gx-purple);
}

.gx_server_dropdown_trigger:hover .gx_server_dropdown_arrow {
    background: rgba(139, 92, 246, 0.15);
    border-color: rgba(139, 92, 246, 0.3);
}

.gx_server_dropdown_menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    padding: 8px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    min-width: 200px;
}

.gx_server_dropdown_menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}

.gx_server_dropdown.active .gx_server_dropdown_menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.gx_server_dropdown_menu li {
    margin: 0;
    width: 100%;
}

.gx_server_dropdown_menu a {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    color: var(--gx-text-2);
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.2s;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Exo 2', sans-serif;
}

.gx_server_dropdown_menu a:hover {
    background: rgba(139, 92, 246, 0.1);
    color: var(--gx-text);
}

.gx_server_dropdown_menu li.active a {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    color: #fff;
}

.gx_banlist_actions_bar {
    display: flex;
    gap: 12px;
}

.gx_banlist_action_btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text-2);
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s;
    font-family: 'Exo 2', sans-serif;
}

.gx_banlist_action_btn:hover {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--gx-purple);
    color: var(--gx-text);
    transform: translateY(-2px);
}

/* Ban List Container */
.gx_banlist_container {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 0;
    min-height: 400px;
    overflow: hidden;
}

.gx_banlist_table_wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.gx_banlist_table_modern {
    width: 100%;
    font-family: 'Exo 2', sans-serif;
    background: transparent;
}

.gx_banlist_table_header {
    display: grid;
    grid-template-columns: 2.5fr 2.5fr 2fr 2fr;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.12), rgba(59, 130, 246, 0.08));
    border-bottom: 2px solid var(--gx-border);
    position: sticky;
    top: 0;
    z-index: 10;
}

/* 5 columns for mutelist header */
#muts .gx_banlist_table_header {
    grid-template-columns: 2fr 2.5fr 1.5fr 2fr 2fr;
}

/* Stats table header columns */
#stats[data-type="2"] .gx_banlist_table_header {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr 1.5fr;
}

#stats[data-type="6"] .gx_banlist_table_header {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr;
}

#stats:not([data-type="2"]):not([data-type="6"]) .gx_banlist_table_header {
    grid-template-columns: 1fr 2.5fr 1.5fr 1.5fr 1.5fr;
}

.gx_banlist_th {
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    color: var(--gx-text);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    border-right: 1px solid rgba(139, 92, 246, 0.2);
}

.gx_banlist_th:last-child {
    border-right: none;
}

.gx_banlist_th i {
    font-size: 18px;
    color: var(--gx-purple);
    opacity: 0.8;
}

.gx_banlist_table_body {
    display: block;
}

/* Clean table row content styles */
#banlist .table-row .with-description,
#muts .table-row .with-description {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
}

#banlist .table-row .with-description.with-icon,
#muts .table-row .with-description.with-icon {
    flex-direction: row !important;
}

#banlist .table-row .with-description.with-icon i,
#muts .table-row .with-description.with-icon i {
    width: 46px !important;
    height: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 12px !important;
    flex-shrink: 0 !important;
    font-size: 22px !important;
}

#banlist .table-row .with-description > div,
#muts .table-row .with-description > div {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    flex: 1 !important;
    min-width: 0 !important;
}

#banlist .table-row .with-description p,
#muts .table-row .with-description p {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    margin: 0 !important;
    font-family: 'Exo 2', sans-serif !important;
    line-height: 1.3 !important;
    word-break: break-word !important;
}

#banlist .table-row .with-description span,
#muts .table-row .with-description span {
    display: none !important;
}

#banlist .table-row .text-success,
#muts .table-row .text-success {
    color: #10b981 !important;
    font-weight: 600 !important;
}

#banlist .table-row .text-danger,
#muts .table-row .text-danger {
    color: #ef4444 !important;
    font-weight: 600 !important;
}

#banlist .table-row .area-user,
#muts .table-row .area-user {
    color: var(--gx-text) !important;
    font-weight: 500 !important;
    font-size: 14px !important;
}

/* Empty State */
.gx_banlist_empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
    text-align: center;
}

.gx_banlist_empty_icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border-radius: 20px;
    margin-bottom: 24px;
}

.gx_banlist_empty_icon i {
    font-size: 40px;
    color: var(--gx-purple);
}

.gx_banlist_empty h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 8px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_banlist_empty p {
    font-size: 14px;
    color: var(--gx-text-3);
    margin: 0;
}

/* Pagination */
.gx_banlist_pagination {
    margin-top: 32px;
    display: flex;
    justify-content: center;
    padding: 24px 0;
    position: relative;
}


.gx_banlist_pagination #pagination2 {
    margin-top: 0;
    padding: 0;
}

/* Ensure text fits in navigation buttons */
#pagination2 li:first-child,
#pagination2 li:last-child,
.pagination li:first-child,
.pagination li:last-child {
    flex-shrink: 0;
}

/* 
   STORE - MODERN DESIGN
*/

.gx_store_categories {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 20px;
    margin-bottom: 32px;
}

.gx_store_category_card {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.gx_store_category_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.1), rgba(59, 130, 246, 0.05));
    opacity: 0;
    transition: opacity 0.3s;
}

.gx_store_category_card:hover::before,
.gx_store_category_card.active::before {
    opacity: 1;
}

.gx_store_category_card:hover {
    border-color: var(--gx-purple);
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.2);
}

.gx_store_category_card.active {
    border-color: var(--gx-purple);
    border-width: 2px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15), rgba(59, 130, 246, 0.1));
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.3);
}

.gx_category_image {
    width: 100%;
    height: 180px;
    margin: 0 auto 16px;
    border-radius: 16px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(59, 130, 246, 0.1));
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.gx_category_image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.3), rgba(59, 130, 246, 0.2));
    z-index: 1;
}

.gx_category_icon {
    position: relative;
    z-index: 2;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.4);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    border: 2px solid rgba(255, 255, 255, 0.2);
}

.gx_category_icon i {
    font-size: 32px;
    color: #fff;
}

.gx_category_content {
    text-align: center;
    position: relative;
    z-index: 1;
}

.gx_category_content h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 6px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_category_content p {
    font-size: 13px;
    color: var(--gx-text-3);
    margin: 0;
}

.gx_store_content {
    position: relative;
}

.gx_store_section {
    display: none;
}

.gx_store_section.active {
    display: block;
}

.gx_store_header {
    background: var(--gx-card);
    background-image: url('../img/store.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 24px 30px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
}

.gx_store_header .gx_banlist_header_overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.15) 0%, rgba(59, 130, 246, 0.1) 100%);
    z-index: 0;
}

.gx_store_header > * {
    position: relative;
    z-index: 1;
}

.gx_store_header_left {
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    z-index: 1;
}

.gx_store_icon_wrap {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.2), rgba(139, 92, 246, 0.1));
    border-radius: 16px;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.gx_store_icon_wrap i {
    font-size: 32px;
    color: var(--gx-purple);
}

.gx_store_header_text h1 {
    font-size: 28px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 4px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_store_header_text p {
    font-size: 14px;
    color: var(--gx-text-3);
    margin: 0;
}

.gx_store_discount {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 152, 0, 0.1));
    border: 1px solid rgba(255, 193, 7, 0.3);
    border-radius: 16px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.gx_discount_left {
    display: flex;
    align-items: center;
    gap: 16px;
}

.gx_discount_left i {
    font-size: 32px;
    color: #ffc107;
}

.gx_discount_text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.gx_discount_title {
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
}

.gx_discount_subtitle {
    font-size: 14px;
    color: var(--gx-text-2);
}

.gx_discount_percent {
    font-size: 32px;
    font-weight: 800;
    color: #ffc107;
    font-family: 'Exo 2', sans-serif;
}

.gx_store_form_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.gx_store_form_left {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 32px;
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

.gx_store_select_group {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 24px;
}

.gx_store_select_label {
    position: relative;
    display: block;
}

.gx_store_select_label select {
    width: 100% !important;
    padding: 18px 50px 18px 90px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    color: var(--gx-text) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    font-family: 'Exo 2', sans-serif !important;
    appearance: none !important;
    cursor: pointer !important;
    transition: all 0.3s !important;
    min-height: 60px !important;
    box-sizing: border-box !important;
    text-indent: 0 !important;
}

.gx_store_select_label select option {
    background: var(--gx-card);
    color: var(--gx-text);
    padding: 12px;
}

.gx_store_select_label select option:checked {
    background: var(--gx-purple);
    color: #fff;
}

.gx_store_select_label select:focus {
    outline: none;
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
    background: rgba(139, 92, 246, 0.05);
}

.gx_store_select_label select:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.03);
}

.gx_store_select_label i {
    position: absolute !important;
    left: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 20px !important;
    color: var(--gx-purple) !important;
    pointer-events: none !important;
    z-index: 2 !important;
    width: 24px !important;
    text-align: center !important;
}

.gx_store_select_label::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 8px solid var(--gx-text-3);
    pointer-events: none;
    transition: all 0.3s;
}

.gx_store_select_label:focus-within::after {
    border-top-color: var(--gx-purple);
    transform: translateY(-50%) rotate(180deg);
}

.gx_select_placeholder {
    position: absolute !important;
    left: 90px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    pointer-events: none !important;
    transition: all 0.3s !important;
    background: var(--gx-surface) !important;
    padding: 0 6px !important;
    z-index: 1 !important;
}

.gx_store_select_label select:focus + .gx_select_placeholder,
.gx_store_select_label select:not([value=""]):not([value="0"]) + .gx_select_placeholder,
.gx_store_select_label select option:checked + .gx_select_placeholder {
    top: -8px;
    font-size: 10px;
    color: var(--gx-purple);
    background: var(--gx-surface);
}

.gx_store_select_label select:not([value=""]):not([value="0"]) + .gx_select_placeholder,
.gx_select_placeholder.hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.gx_store_input {
    width: 100%;
    padding: 16px 20px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text);
    font-size: 15px;
    font-weight: 500;
    font-family: 'Exo 2', sans-serif;
    margin-bottom: 16px;
    transition: all 0.3s;
}

.gx_store_input:focus {
    outline: none;
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
    background: rgba(139, 92, 246, 0.05);
}

.gx_store_input:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.03);
}

.gx_store_input::placeholder {
    color: var(--gx-text-3);
}

.gx_store_checkbox {
    margin-bottom: 24px !important;
    margin-top: 0 !important;
    padding: 20px 24px !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 12px !important;
    transition: all 0.3s !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
    float: none !important;
}

.gx_store_checkbox:hover {
    border-color: var(--gx-purple);
    background: rgba(139, 92, 246, 0.05);
}

.gx_store_checkbox_input {
    display: none;
}

.gx_store_checkbox_label {
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    margin: 0;
}

.gx_store_checkbox_custom {
    width: 24px;
    height: 24px;
    border: 2px solid var(--gx-border);
    border-radius: 6px;
    background: var(--gx-surface);
    position: relative;
    flex-shrink: 0;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.gx_store_checkbox_custom::after {
    content: '';
    width: 5px;
    height: 10px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 0.2s;
    position: absolute;
    top: 3px;
    left: 7px;
}

.gx_store_checkbox_input:checked + .gx_store_checkbox_label .gx_store_checkbox_custom {
    background: var(--gx-purple);
    border-color: var(--gx-purple);
}

.gx_store_checkbox_input:checked + .gx_store_checkbox_label .gx_store_checkbox_custom::after {
    transform: rotate(45deg) scale(1);
    border-color: #fff;
}

.gx_store_checkbox_text {
    font-size: 14px;
    color: var(--gx-text);
    font-weight: 500;
    line-height: 1.5;
}

.gx_store_checkbox a {
    color: var(--gx-purple);
    text-decoration: none;
}

.gx_store_checkbox a:hover {
    text-decoration: underline;
}

.gx_store_buy_btn {
    width: 100%;
    padding: 18px 24px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-family: 'Exo 2', sans-serif;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: all 0.3s;
    position: relative;
    overflow: hidden;
}

.gx_store_buy_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.gx_store_buy_btn:not(.disabled):hover::before {
    left: 100%;
}

.gx_store_buy_btn:not(.disabled):hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(139, 92, 246, 0.5);
}

.gx_store_buy_btn:not(.disabled):active {
    transform: translateY(-1px);
}

.gx_store_buy_btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--gx-surface);
    color: var(--gx-text-3);
}

.gx_store_buy_btn i {
    font-size: 22px;
}

.gx_store_form_right {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 30px;
    height: fit-content;
    position: sticky;
    top: 24px;
}

.gx_store_info_card {
    width: 100%;
}

.gx_store_info_header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--gx-border);
}

.gx_store_info_header i {
    font-size: 24px;
    color: var(--gx-purple);
}

.gx_store_info_header h3 {
    font-size: 18px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_store_info_content {
    color: var(--gx-text-2);
    font-size: 14px;
    line-height: 1.6;
}

.gx_store_empty {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 60px 20px;
    text-align: center;
}

.gx_store_empty_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border-radius: 20px;
}

.gx_store_empty_icon i {
    font-size: 40px;
    color: var(--gx-purple);
}

.gx_store_empty h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 8px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_store_empty p {
    font-size: 14px;
    color: var(--gx-text-3);
    margin: 0;
}

.gx_store_error {
    background: rgba(139, 92, 246, 0.1);
    border: 1px solid rgba(139, 92, 246, 0.3);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.gx_store_error i {
    font-size: 24px;
    color: var(--gx-purple);
}

.gx_store_error p {
    margin: 0;
    color: var(--gx-text);
    font-size: 14px;
}

.gx_store_result {
    margin-bottom: 20px;
    padding: 16px;
    border-radius: 12px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    font-size: 14px;
    line-height: 1.6;
}

.gx_store_result.success {
    background: rgba(81, 207, 102, 0.1);
    border-color: rgba(81, 207, 102, 0.3);
    color: #51cf66;
}

.gx_store_result.error {
    background: rgba(139, 92, 246, 0.1);
    border-color: rgba(139, 92, 246, 0.3);
    color: var(--gx-purple);
}

@media (max-width: 1200px) {
    .gx_store_form_wrapper {
        grid-template-columns: 1fr;
    }
    
    .gx_store_form_right {
        position: static;
    }
}

@media (max-width: 768px) {
    .gx_store_categories {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gx_store_header {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* Responsive */
@media (max-width: 1200px) {
    .gx_banlist_quick_stats {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gx_banlist_toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    
    .gx_banlist_search_bar {
        min-width: auto;
    }
}

@media (max-width: 768px) {
    .gx_banlist_compact_header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .gx_banlist_header_tabs {
        width: 100%;
    }
    
    .gx_banlist_tab {
        flex: 1;
        justify-content: center;
    }
    
    .gx_banlist_quick_stats {
        grid-template-columns: 1fr;
    }
    
    .gx_banlist_table_header,
    #banlist .table-row,
    #muts .table-row {
        grid-template-columns: 1fr !important;
    }
    
    #banlist .table-row > .row > div,
    #muts .table-row > .row > div {
        border-right: none !important;
        border-bottom: 1px solid var(--gx-border) !important;
    }
    
    #banlist .table-row > .row > div:last-child,
    #muts .table-row > .row > div:last-child {
        border-bottom: none !important;
    }
    
    .gx_banlist_th,
    #banlist .table-row > .row > div,
    #muts .table-row > .row > div {
        padding: 16px 20px !important;
    }
}



.gx_stats_info_badge {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Exo 2', sans-serif;
}

.gx_stats_info_badge i {
    font-size: 20px;
}

.gx_banlist_icon_wrap i.bx-bar-chart-alt-2 {
    color: var(--gx-purple) !important;
}

.gx_stats_toolbar {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 20px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.gx_stats_search_bar {
    flex: 1;
    min-width: 300px;
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    padding: 4px 4px 4px 16px;
    transition: all 0.3s;
}

.gx_stats_search_bar:focus-within {
    border-color: var(--gx-purple);
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1);
}

.gx_stats_search_input {
    flex: 1;
    border: none;
    background: transparent;
    color: var(--gx-text);
    font-size: 15px;
    font-weight: 500;
    font-family: 'Exo 2', sans-serif;
    padding: 12px 0;
    outline: none;
}

.gx_stats_search_input::placeholder {
    color: var(--gx-text-3);
}

.gx_stats_search_btn {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border: none;
    border-radius: 10px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Exo 2', sans-serif;
    cursor: pointer;
    transition: all 0.3s;
}

.gx_stats_search_btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.4);
}

.gx_stats_search_btn i {
    font-size: 18px;
}

.gx_stats_server_dropdown_wrap {
    flex-shrink: 0;
}

.gx_stats_container {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 0;
    margin-bottom: 24px;
    overflow: hidden;
}

/* Страница друзей (home/friends.tpl) — сетка и карточки user-full */
.gx_friends_page_header {
    background-image: url('../img/friends.png');
}

.gx_friends_grid,
.gx_stats_container .gx_friends_grid,
#friends.gx_friends_grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(268px, 1fr)) !important;
    gap: 20px !important;
    padding: 24px !important;
    min-height: 120px !important;
    align-items: stretch !important;
}

.gx_friends_grid > .col-lg-4,
#friends.gx_friends_grid > .col-lg-4 {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
}

.gx_friends_grid .user-full,
#friends.gx_friends_grid .user-full {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    background: var(--gx-surface) !important;
    background-image: none !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.gx_friends_grid .user-full:hover,
#friends.gx_friends_grid .user-full:hover {
    border-color: rgba(139, 92, 246, 0.35) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22) !important;
}

.gx_friends_grid .block_user,
#friends.gx_friends_grid .block_user {
    flex: 1 !important;
    padding: 18px 18px 12px !important;
}

.gx_friends_grid .flex_user_full,
#friends.gx_friends_grid .flex_user_full {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.gx_friends_grid .img_back_user,
#friends.gx_friends_grid .img_back_user {
    display: none !important;
}

.gx_friends_grid .flex_user_full > a,
#friends.gx_friends_grid .flex_user_full > a {
    flex-shrink: 0 !important;
}

.gx_friends_grid .user_avatar,
#friends.gx_friends_grid .user_avatar {
    width: 64px !important;
    height: 64px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    display: block !important;
    border: 2px solid var(--gx-border) !important;
}

.gx_friends_grid .flex_user,
#friends.gx_friends_grid .flex_user {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
    flex: 1 !important;
}

.gx_friends_grid .text_user,
#friends.gx_friends_grid .text_user {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
}

.gx_friends_grid .desp_user,
#friends.gx_friends_grid .desp_user {
    font-size: 12px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.gx_friends_grid .buttons_friends_new,
#friends.gx_friends_grid .buttons_friends_new {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin-top: 8px !important;
}

.gx_friends_grid .user-button,
.gx_friends_grid .user-button-check1,
#friends.gx_friends_grid .user-button,
#friends.gx_friends_grid .user-button-check1 {
    padding: 8px 12px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    border: 1px solid var(--gx-border) !important;
    background: var(--gx-card-light) !important;
    color: var(--gx-text) !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
    cursor: pointer !important;
}

.gx_friends_grid .user-button:hover,
#friends.gx_friends_grid .user-button:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple-light) !important;
}

.gx_friends_grid .user-button-check1,
#friends.gx_friends_grid .user-button-check1 {
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark)) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.gx_friends_grid .user_btn,
#friends.gx_friends_grid .user_btn {
    display: flex !important;
    gap: 10px !important;
    padding: 12px 18px 18px !important;
    margin-top: auto !important;
    border-top: 1px solid var(--gx-border) !important;
    background: rgba(0, 0, 0, 0.15) !important;
}

.gx_friends_grid .profile_button,
.gx_friends_grid .message_button,
#friends.gx_friends_grid .profile_button,
#friends.gx_friends_grid .message_button {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    border-radius: 12px !important;
    background: var(--gx-card-light) !important;
    border: 1px solid var(--gx-border) !important;
    color: var(--gx-text-2) !important;
    text-decoration: none !important;
    transition: border-color 0.2s ease, color 0.2s ease !important;
}

.gx_friends_grid .profile_button:hover,
.gx_friends_grid .message_button:hover,
#friends.gx_friends_grid .profile_button:hover,
#friends.gx_friends_grid .message_button:hover {
    border-color: var(--gx-purple) !important;
    color: var(--gx-purple-light) !important;
}

.gx_friends_grid .profile_button i,
.gx_friends_grid .message_button i,
#friends.gx_friends_grid .profile_button i,
#friends.gx_friends_grid .message_button i {
    font-size: 20px !important;
}

/*
 * Профиль (profile.tpl) → вкладка «Друзья»: вывод через mini_friend.tpl (.small-friend),
 * без .user-full — отдельные карточки в той же сетке, что и на странице друзей.
 */
.gx_profile_friends_grid.gx_friends_grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
}

.gx_friends_grid > a.small-friend {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    padding: 20px 16px !important;
    margin: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 16px !important;
    text-decoration: none !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', system-ui, sans-serif !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease !important;
}

.gx_friends_grid > a.small-friend:hover {
    border-color: rgba(139, 92, 246, 0.42) !important;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22) !important;
    color: var(--gx-purple-light) !important;
    transform: translateY(-2px);
}

.gx_friends_grid > a.small-friend .small-friend__avatar {
    width: 72px !important;
    height: 72px !important;
    border-radius: 14px !important;
    object-fit: cover !important;
    border: 2px solid var(--gx-border) !important;
    display: block !important;
    flex-shrink: 0 !important;
}

.gx_friends_grid > a.small-friend span {
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    word-break: break-word !important;
    max-width: 100% !important;
    color: inherit !important;
}

.gx_profile_tab_content #friends .gx_profile_friends_block {
    margin-top: 0 !important;
}

/* «Мои друзья» (myfriends.tpl): вкладки и лоадер в сетке */
.gx_myfriends_page .gx_myfriends_tab_content {
    margin-top: 16px !important;
}

.gx_myfriends_page .gx_friends_grid > .loader,
.gx_friends_grid > .loader {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    margin: 36px auto !important;
}

@media (max-width: 600px) {
    .gx_friends_grid,
    .gx_stats_container .gx_friends_grid,
    #friends.gx_friends_grid,
    #unfriends.gx_friends_grid,
    #infriends.gx_friends_grid,
    .gx_profile_friends_grid.gx_friends_grid {
        grid-template-columns: 1fr !important;
        padding: 16px !important;
    }
}

.gx_stats_table_wrapper {
    overflow-x: auto;
    padding: 0;
}

.gx_stats_table_modern {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    overflow: hidden;
}

.gx_stats_table_header {
    display: grid;
    gap: 20px;
    padding: 16px 24px;
    background: var(--gx-surface);
    border-bottom: 2px solid var(--gx-border);
}

#stats[data-type="2"] .gx_stats_table_header {
    grid-template-columns: repeat(6, 1fr);
}

#stats[data-type="6"] .gx_stats_table_header {
    grid-template-columns: repeat(5, 1fr);
}

#stats:not([data-type="2"]):not([data-type="6"]) .gx_stats_table_header {
    grid-template-columns: repeat(5, 1fr);
}

.gx_stats_table_body {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.gx_stats_table_row {
    display: grid;
    gap: 20px;
    padding: 16px 24px;
    background: var(--gx-card);
    border-bottom: 1px solid var(--gx-border);
    transition: all 0.3s;
    cursor: pointer;
    align-items: center;
    min-height: 60px;
}

#stats[data-type="2"] .gx_stats_table_row {
    grid-template-columns: repeat(6, 1fr);
}

#stats[data-type="6"] .gx_stats_table_row {
    grid-template-columns: repeat(5, 1fr);
}

#stats:not([data-type="2"]):not([data-type="6"]) .gx_stats_table_row {
    grid-template-columns: repeat(5, 1fr);
}


.gx_stats_table_row:last-child {
    border-bottom: none;
}

.gx_stats_table_row:hover {
    background: rgba(139, 92, 246, 0.05);
    border-color: var(--gx-purple);
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.1);
}

.gx_stats_table_row:nth-child(even) {
    background: rgba(18, 21, 28, 0.3);
}

.gx_stats_table_row:nth-child(even):hover {
    background: rgba(139, 92, 246, 0.08);
}

.gx_stats_th {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--gx-text-3);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.gx_stats_th i {
    font-size: 16px;
    color: var(--gx-purple);
}

.gx_stats_col_player .gx_stats_th {
    justify-content: flex-start;
}

.gx_stats_skill_badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.gx_stats_td {
    display: flex;
    align-items: center;
    min-height: 40px;
}

.gx_stats_col_place {
    justify-content: center;
}

.gx_stats_col_player {
    justify-content: flex-start;
}

.gx_stats_col_kills,
.gx_stats_col_deaths,
.gx_stats_col_rank {
    justify-content: center;
}

.gx_stats_col_skill {
    justify-content: center;
}

.gx_stats_col_rank_img {
    justify-content: center;
}

.gx_stats_place {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

.gx_stats_place i {
    font-size: 24px;
    flex-shrink: 0;
}

.gx_stats_place_num {
    font-size: 16px;
    font-weight: 700;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    min-width: 24px;
}

.gx_stats_player {
    display: flex;
    align-items: center;
    width: 100%;
}

.gx_stats_nick {
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    word-break: break-word;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gx_stats_value {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.gx_stats_num {
    font-size: 15px;
    font-weight: 600;
    color: var(--gx-text);
    font-family: 'Exo 2', sans-serif;
    text-align: center;
    white-space: nowrap;
}

.gx_stats_skill {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.gx_stats_skill_badge {
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.gx_stats_skill_num {
    font-size: 14px;
    color: var(--gx-text-3);
    font-weight: 500;
}

.gx_stats_rank_img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gx_rank_image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 8px;
    white-space: nowrap;
}

.gx_stats_rank_img {
    display: flex;
    align-items: center;
    justify-content: center;
}

.gx_rank_image {
    width: 40px;
    height: 40px;
    object-fit: contain;
    border-radius: 8px;
}

.gx_stats_empty {
    padding: 60px 20px;
    text-align: center;
}

.gx_stats_empty_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gx-surface);
    border-radius: 50%;
    border: 2px solid var(--gx-border);
}

.gx_stats_empty_icon i {
    font-size: 40px;
    color: var(--gx-text-3);
}

.gx_stats_empty h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--gx-text);
    margin: 0 0 12px 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_stats_empty p {
    font-size: 16px;
    color: var(--gx-text-3);
    margin: 0;
}

/* Skill colors */
.gx_skill_red { background: rgba(139, 92, 246, 0.2); color: var(--gx-purple); border: 1px solid rgba(139, 92, 246, 0.3); }
.gx_skill_orange { background: rgba(255, 152, 0, 0.2); color: #ff9800; border: 1px solid rgba(255, 152, 0, 0.3); }
.gx_skill_yellow { background: rgba(255, 193, 7, 0.2); color: #ffc107; border: 1px solid rgba(255, 193, 7, 0.3); }
.gx_skill_green { background: rgba(81, 207, 102, 0.2); color: #51cf66; border: 1px solid rgba(81, 207, 102, 0.3); }
.gx_skill_blue { background: rgba(33, 150, 243, 0.2); color: #2196f3; border: 1px solid rgba(33, 150, 243, 0.3); }
.gx_skill_purple { background: rgba(139, 92, 246, 0.2); color: #8b5cf6; border: 1px solid rgba(139, 92, 246, 0.3); }

/* Responsive */
@media (max-width: 1200px) {
    .gx_stats_table_header,
    .gx_stats_table_row {
        grid-template-columns: 0.8fr 2fr 1.2fr 1.2fr 1.2fr;
    }
}

@media (max-width: 768px) {
    .gx_banlist_compact_header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .gx_stats_toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    
    .gx_stats_search_bar {
        min-width: 100%;
    }
    
    #stats .gx_stats_table_header,
    #stats .gx_stats_table_row {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }
    
    .gx_stats_th {
        display: none;
    }
    
    .gx_stats_td {
        padding: 12px 0;
        border-bottom: 1px solid var(--gx-border);
    }
    
    .gx_stats_td:last-child {
        border-bottom: none;
    }
    
    .gx_stats_td::before {
        content: attr(data-label);
        font-size: 11px;
        font-weight: 700;
        color: var(--gx-text-3);
        text-transform: uppercase;
        letter-spacing: 1px;
        margin-bottom: 8px;
        display: block;
    }
}

/* 
   NOTIFICATIONS PAGE
*/

.gx_notifications_list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.notif_block_sucess {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px 24px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    transition: all 0.3s;
}

.notif_block_sucess:hover {
    background: rgba(139, 92, 246, 0.05);
    border-color: var(--gx-purple);
    transform: translateX(4px);
    box-shadow: 0 2px 8px rgba(139, 92, 246, 0.1);
}

.date_not {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.date_notif {
    font-size: 12px;
    color: var(--gx-text-3);
    font-weight: 600;
}

.date_not .m-icon {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(239, 68, 68, 0.1);
    border-radius: 8px;
    color: #ef4444;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 16px;
}

.date_not .m-icon:hover {
    background: rgba(239, 68, 68, 0.2);
    transform: scale(1.1);
}

.flex_notif {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.icon_notif {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(139, 92, 246, 0.1);
    border-radius: 12px;
    color: var(--gx-purple);
    font-size: 24px;
    flex-shrink: 0;
}

.notification_collapse {
    flex: 1;
}

.notif_text {
    font-size: 14px;
    color: var(--gx-text);
    line-height: 1.6;
}

.gx_messages_wrapper {
    display: grid;
    grid-template-columns: 320px 1fr;
    gap: 24px;
    margin-top: 24px;
}

.gx_messages_companions {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 16px;
    max-height: 600px;
    overflow-y: auto;
}

.gx_messages_companions::-webkit-scrollbar {
    width: 4px;
}

.gx_messages_companions::-webkit-scrollbar-track {
    background: transparent;
}

.gx_messages_companions::-webkit-scrollbar-thumb {
    background: var(--gx-purple);
    border-radius: 10px;
}

.gx_messages_content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 24px;
    min-height: 600px;
    display: flex;
    flex-direction: column;
}

/* 
   FRIENDS PAGE
*/

.gx_friends_grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}

@media (max-width: 900px) {
    .gx_messages_wrapper {
        grid-template-columns: 1fr;
    }
    
    .gx_messages_companions {
        max-height: 200px;
    }
}

/* 
   SUPPORT PAGES
*/

.gx_support_form {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 24px;
}

.gx_support_tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 12px;
}

.gx_support_tabs .nav {
    display: flex;
    gap: 8px;
    width: 100%;
}

.gx_support_tabs .nav li {
    flex: 1;
}

.gx_support_tabs .nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    background: var(--gx-surface);
    border: 1px solid var(--gx-border);
    border-radius: 12px;
    color: var(--gx-text-2);
    text-decoration: none;
    transition: all 0.3s;
    font-weight: 600;
}

.gx_support_tabs .nav a:hover,
.gx_support_tabs .nav a.active {
    background: rgba(139, 92, 246, 0.1);
    border-color: var(--gx-purple);
    color: var(--gx-purple);
}

.gx_support_tabs_content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 24px;
    overflow-x: auto;
}

.gx_ticket_info {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 24px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    padding: 24px;
}

@media (max-width: 900px) {
    .gx_ticket_info {
        grid-template-columns: 1fr;
    }
}

/* ========== ERROR PAGE (tpl/error.tpl) — только карточка, без отдельного фона-«сцены» ========== */

.gx_error_shell {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.gx_error_page {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 0 32px;
    box-sizing: border-box;
    background: transparent;
}

.gx_error_card {
    position: relative;
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    padding: 40px 36px 36px;
    text-align: center;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 22px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
    box-sizing: border-box;
}

.gx_error_code {
    position: absolute;
    top: 20px;
    right: 22px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--gx-text-3);
    opacity: 0.85;
    font-family: 'Exo 2', sans-serif;
}

.gx_error_icon {
    width: 88px;
    height: 88px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(145deg, #ef4444, #b91c1c);
    border: 1px solid rgba(248, 113, 113, 0.45);
    box-shadow: 0 8px 32px rgba(239, 68, 68, 0.28);
}

.gx_error_icon i {
    font-size: 44px;
    color: #fff;
    line-height: 1;
}

.gx_error_heading {
    margin: 0 0 14px;
    font-family: 'Exo 2', sans-serif;
    font-size: clamp(28px, 5vw, 36px);
    font-weight: 800;
    color: var(--gx-text);
    letter-spacing: -0.02em;
}

.gx_error_text {
    margin: 0 0 28px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--gx-text-2);
    max-width: 34em;
    margin-left: auto;
    margin-right: auto;
}

.gx_error_actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.gx_error_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 22px;
    border-radius: 14px;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    box-sizing: border-box;
    min-height: 48px;
}

.gx_error_btn i {
    font-size: 20px;
    line-height: 1;
}

.gx_error_btn--home {
    color: #fff;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    border-color: rgba(139, 92, 246, 0.5);
    box-shadow: 0 8px 28px rgba(139, 92, 246, 0.35);
}

.gx_error_btn--home:hover {
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 12px 36px rgba(139, 92, 246, 0.45);
}

.gx_error_btn--back {
    color: var(--gx-text);
    background: rgba(255, 255, 255, 0.04);
    border-color: var(--gx-border);
}

.gx_error_btn--back:hover {
    border-color: rgba(139, 92, 246, 0.4);
    background: rgba(139, 92, 246, 0.08);
    color: var(--gx-text);
}

@media (max-width: 480px) {
    .gx_error_card {
        padding: 36px 22px 28px;
    }

    .gx_error_actions {
        flex-direction: column;
        width: 100%;
    }

    .gx_error_btn {
        width: 100%;
    }
}

/* ========== PROFILE v2 (tpl/home/profile.tpl) — PARADOX / gx ========== */

.gx_profile_deleted_msg {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--gx-text);
    margin: 24px 0;
}

.gx_profile_v2 {
    width: 100%;
    min-width: 0;
    font-family: 'Exo 2', sans-serif;
}

.gx_profile_v2 .gx_profile_center {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* На всю ширину контент-зоны: тема часто задаёт .center_block_container { max-width: … } */
.gx_profile_v2 .center_block_container.gx_profile_center,
.gx_profile_v2.center_block_container {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
}

/* Шапка профиля: обложка с фото + строка с аватаром (частично над обложкой), z-index без «ломания» */
.gx_profile_v2 .profile_page_containter.gx_profile_header_card,
.profile_page_containter.gx_profile_header_card {
    position: relative;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    overflow: visible;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22);
}

.gx_profile_v2 .profile_page_containter_banner.gx_profile_cover_wrap,
.profile_page_containter_banner.gx_profile_cover_wrap {
    position: relative;
    z-index: 1;
    height: 200px;
    min-height: 180px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
    background-color: #0f1117;
    background-image:
        linear-gradient(180deg, rgba(8, 9, 13, 0.2) 0%, rgba(8, 9, 13, 0.75) 100%),
        url('../img/background.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gx_profile_v2 .gx_profile_cover_banner,
.gx_profile_cover_banner {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.gx_profile_v2 .profile_page_container_info.gx_profile_hero_row,
.profile_page_container_info.gx_profile_hero_row {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr) auto;
    gap: 16px 20px;
    padding: 0 22px 22px;
    align-items: end;
    margin-top: 0;
    background: var(--gx-card);
    border-radius: 0 0 18px 18px;
}

.gx_profile_v2 .gx_profile_hero_row .profile_page_container_info_avatar,
.gx_profile_hero_row .profile_page_container_info_avatar {
    position: relative;
    z-index: 3;
    align-self: end;
}

.gx_profile_v2 .gx_profile_hero_row .profile_page_container_info_avatar img,
.gx_profile_hero_row .profile_page_container_info_avatar img {
    width: 112px;
    height: 112px;
    border-radius: 50%;
    border: 4px solid var(--gx-card);
    margin-top: -56px;
    object-fit: cover;
    background: var(--gx-surface);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.4);
    display: block;
}

.gx_profile_v2 .profile_page_container_infos {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    padding-bottom: 4px;
}

.gx_profile_v2 .profile_page_container_info_login {
    font-size: clamp(1.15rem, 2.5vw, 1.45rem);
    font-weight: 800;
    color: var(--gx-text);
    letter-spacing: -0.02em;
}

.gx_profile_v2 .profile_page_container_info_group {
    font-size: 14px;
    font-weight: 600;
}

/* Тёмные inline-цвета группы на тёмном фоне — читаемость */
.gx_profile_v2 .gx_profile_group_line,
.gx_profile_group_line {
    text-shadow:
        0 0 12px rgba(0, 0, 0, 0.95),
        0 1px 3px rgba(0, 0, 0, 0.9);
}

.gx_profile_v2 .online_status {
    color: #34d399;
    font-weight: 600;
    font-size: 13px;
}

.gx_profile_v2 .last_activity_status {
    color: var(--gx-text-3);
    font-size: 13px;
}

.gx_profile_v2 .profile_page_edit {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-bottom: 4px;
}

.gx_profile_v2 .header_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 12px;
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text) !important;
    text-decoration: none !important;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--gx-border);
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.gx_profile_v2 .header_btn:hover {
    border-color: rgba(139, 92, 246, 0.45);
    background: rgba(139, 92, 246, 0.12);
    color: var(--gx-text) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(139, 92, 246, 0.2);
}

.gx_profile_v2 .gx_profile_header_btn--ghost {
    padding: 10px 12px;
    min-width: 44px;
}

.gx_profile_v2 .gx_profile_modal .modal-content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
}

.gx_profile_v2 .gx_profile_modal .modal-header {
    border-bottom: 1px solid var(--gx-border);
    padding: 14px 18px;
    background: rgba(0, 0, 0, 0.2);
}

.gx_profile_v2 .gx_profile_modal .modal-title {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_profile_v2 .gx_profile_modal .modal-body {
    padding: 16px 18px 20px;
    background: var(--gx-card);
}

.gx_profile_v2 .profile_dopcog {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.gx_profile_v2 .gx_profile_dopcog_section {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.gx_profile_v2 .gx_profile_dopcog_section + .gx_profile_dopcog_section {
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--gx-border);
}

.gx_profile_v2 .gx_profile_dopcog_label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--gx-text-3);
    padding: 0 2px 2px;
}

.gx_profile_v2 .gx_profile_dopcog_section--admin .gx_profile_dopcog_label {
    color: rgba(139, 92, 246, 0.85);
}

.gx_profile_v2 .profile_dopcog .header_btn {
    width: 100%;
    justify-content: flex-start;
}

.gx_profile_v2 .profile_dopcog .header_btn .bx {
    font-size: 20px;
    flex-shrink: 0;
}

.gx_profile_v2 .profile_dopcog iconify-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.gx_profile_v2 .profile_page_nav.gx_profile_nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
    padding: 14px 16px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
}

.gx_profile_v2 .profile_btn {
    padding: 11px 20px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--gx-border);
    color: var(--gx-text-2) !important;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
}

.gx_profile_v2 .profile_btn:hover,
.gx_profile_v2 .profile_btn.active {
    color: #fff !important;
    border-color: rgba(139, 92, 246, 0.5);
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    box-shadow: 0 6px 22px rgba(139, 92, 246, 0.35);
}

.gx_profile_v2 .gx_profile_tab_content {
    margin-top: 16px;
}

.gx_profile_v2 .profile_page_second {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    align-items: stretch;
}

/* Верхний ряд: карточки слева, «Привилегии» справа в колонку по высоте; стена — ниже на всю ширину */
.gx_profile_v2 .gx_profile_main_row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 14px;
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
}

.gx_profile_v2 .gx_profile_cards_cluster {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
}

/* Строки по 3 карточки — одинаковая высота в каждой строке (grid stretch) */
.gx_profile_v2 .gx_profile_info_row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
    align-items: stretch;
}

.gx_profile_v2 .gx_profile_info_row > .profile_page_card {
    min-width: 0;
    height: 100%;
    align-self: stretch;
    box-sizing: border-box;
}

.gx_profile_v2 .gx_profile_info_row > .profile_page_card:not(.profile_page_item_vk):not(.profile_page_item_steam):not(.profile_page_item_tg) {
    align-items: flex-start;
}

.gx_profile_v2 .gx_profile_info_row .card_info_subtitle {
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
}

.gx_profile_v2 .gx_profile_privileges--sidebar {
    flex: 0 0 clamp(280px, 34vw, 520px);
    max-width: 100%;
    min-width: 0;
    margin-top: 0 !important;
    padding: 14px 14px 16px;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    min-height: 0;
}

.gx_profile_v2 .gx_profile_privileges--sidebar .gx_profile_privileges_head {
    flex-shrink: 0;
    padding-bottom: 12px;
    margin-bottom: 12px;
}

.gx_profile_v2 .gx_profile_privileges--sidebar .gx_profile_privileges_table_wrap {
    flex: 1 1 auto;
    min-height: 120px;
    max-height: min(72vh, 920px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 0 2px 0 0;
    -webkit-overflow-scrolling: touch;
}

/* В боковой колонке — строки «в высоту»: блоки друг под другом, не широкая полоса */
.gx_profile_v2 .gx_profile_privileges--sidebar .gx_profile_user_admins_widget .table-row > .row {
    grid-template-columns: 1fr !important;
    gap: 10px 0 !important;
    align-items: start !important;
}

.gx_profile_v2 .gx_profile_privileges--sidebar .gx_profile_user_admins_widget .col-lg-5.with-icon.with-description:not(:has(> i)):not(:has(> img)) {
    align-items: flex-start !important;
    text-align: left !important;
}

/* Широкий экран: один ряд на всю ширину, сетка карточек растягивается (~2/3), привилегии справа (~1/3) */
@media (min-width: 1201px) {
    .gx_profile_v2 .gx_profile_main_row {
        flex-wrap: nowrap;
        gap: 16px;
    }
}

.gx_profile_v2 .profile_page_second > .profile_page_wall {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 0;
}

.gx_profile_v2 .profile_page_cards {
    flex: 1 1 calc(20% - 10px);
    min-width: 200px;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.gx_profile_v2 .profile_page_wall {
    flex: 1 1 320px;
    min-width: min(100%, 280px);
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(0, 0, 0, 0.2);
    padding: 16px;
    box-sizing: border-box;
}

.gx_profile_v2 .profile_page_card {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
    padding: 14px 16px;
    display: flex;
    gap: 12px;
    align-items: center;
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.14);
}

.gx_profile_v2 .profile_page_card_icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--gx-purple), var(--gx-purple-dark));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #fff;
}

.gx_profile_v2 .profile_page_card_icon iconify-icon {
    font-size: 22px;
    color: #fff;
}

.gx_profile_v2 .profile_page_card_icon > .bx {
    font-size: 24px;
    line-height: 1;
    color: #fff;
}

.gx_profile_v2 .profile_page_vk_body {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    flex: 1;
}

.gx_profile_v2 .profile_page_vk_body > a:first-of-type {
    flex-shrink: 0;
}

.gx_profile_v2 .profile_page_card_info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    overflow: hidden;
}

.gx_profile_v2 .card_info_title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gx-text-3);
}

.gx_profile_v2 .card_info_subtitle {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.gx_profile_v2 .gx_profile_steam_row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    white-space: normal !important;
}

.gx_profile_v2 .copy_id_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: rgba(139, 92, 246, 0.2);
    color: var(--gx-purple-light);
    cursor: pointer;
    transition: background 0.2s ease, transform 0.2s ease;
}

.gx_profile_v2 .copy_id_button:hover {
    background: rgba(139, 92, 246, 0.35);
    transform: scale(1.05);
}

.gx_profile_v2 .profile_page_item_vk,
.gx_profile_v2 .profile_page_item_steam,
.gx_profile_v2 .profile_page_item_tg {
    align-items: center;
}

.gx_profile_v2 .profile_page_item_vk img,
.gx_profile_v2 .profile_page_item_steam img {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(139, 92, 246, 0.45);
    flex-shrink: 0;
}

.gx_profile_v2 .profile_page_info_item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.gx_profile_v2 .profile_page_info_item_title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gx-text-3);
}

.gx_profile_v2 .profile_page_info_item_link {
    font-size: 14px;
    font-weight: 600;
    color: var(--gx-purple-light) !important;
    text-decoration: none !important;
}

.gx_profile_v2 .profile_page_info_item_link:hover {
    color: #fff !important;
}

.gx_profile_v2 .gx_profile_wall_heading .card_servers_header {
    padding: 0 0 12px 0;
    margin-bottom: 0;
    border-bottom: 1px solid var(--gx-border);
}

.gx_profile_v2 .gx_profile_wall_heading_inner {
    display: flex;
    align-items: center;
    gap: 10px;
}

.gx_profile_v2 .gx_profile_wall_heading .card_servers__header__icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(139, 92, 246, 0.15);
    color: var(--gx-purple-light);
}

.gx_profile_v2 .gx_profile_wall_heading .card_servers__header__icon iconify-icon {
    font-size: 22px;
}

.gx_profile_v2 .gx_profile_wall_heading .card_servers__header__title {
    font-family: 'Exo 2', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--gx-text);
}

.gx_profile_v2 .gx_profile_wall_block.block {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
}

.gx_profile_v2 .gx_profile_wall_toolbar.smile_input_forum {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 12px !important;
}

.gx_profile_v2 .gx_profile_wall_comments {
    margin-top: 20px;
    max-height: min(58vh, 720px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 6px 6px 14px 4px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--gx-text-2);
    scrollbar-width: thin;
    scrollbar-color: rgba(139, 92, 246, 0.5) rgba(255, 255, 255, 0.06);
}

.gx_profile_v2 .gx_profile_wall_comments::-webkit-scrollbar {
    width: 8px;
}

.gx_profile_v2 .gx_profile_wall_comments::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 8px;
}

.gx_profile_v2 .gx_profile_wall_comments::-webkit-scrollbar-thumb {
    background: rgba(139, 92, 246, 0.45);
    border-radius: 8px;
}

/* Блоки постов (часто каждый комментарий — отдельный div) */
.gx_profile_v2 .gx_profile_wall_comments > div:not(.loader) {
    padding: 14px 14px 16px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.22);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
    box-sizing: border-box;
}

.gx_profile_v2 .gx_profile_wall_comments > div:not(.loader):last-child {
    margin-bottom: 0;
}

/* Табличная вёрстка комментариев */
.gx_profile_v2 .gx_profile_wall_comments table {
    width: 100% !important;
    max-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.gx_profile_v2 .gx_profile_wall_comments table tr + tr td {
    border-top: 1px solid var(--gx-border);
    padding-top: 16px;
}

.gx_profile_v2 .gx_profile_wall_comments table td {
    vertical-align: top !important;
    padding: 12px 12px 14px 0;
    font-size: 14px;
    line-height: 1.55;
    color: var(--gx-text-2);
    word-break: break-word;
}

.gx_profile_v2 .gx_profile_wall_comments table tr:first-child td {
    padding-top: 4px;
}

/* Вложения и фото в тексте — не ужимать до аватара */
.gx_profile_v2 .gx_profile_wall_comments table td:not(:first-child) img,
.gx_profile_v2 .gx_profile_wall_comments table td:first-child img ~ img,
.gx_profile_v2 .gx_profile_wall_comments table td:first-child > a ~ img,
.gx_profile_v2 .gx_profile_wall_comments p img,
.gx_profile_v2 .gx_profile_wall_comments .media-body img,
.gx_profile_v2 .gx_profile_wall_comments font img,
.gx_profile_v2 .gx_profile_wall_comments .mce-content-body img,
.gx_profile_v2 .gx_profile_wall_comments span img {
    width: auto !important;
    max-width: min(100%, 640px) !important;
    height: auto !important;
    border-radius: 12px;
    object-fit: contain;
    border: 1px solid var(--gx-border);
    margin: 10px 0 0;
    display: block;
    box-sizing: border-box;
}

.gx_profile_v2 .gx_profile_wall_comments img.g_smile {
    width: auto !important;
    max-width: none !important;
    height: 20px !important;
    max-height: 24px !important;
    border-radius: 0 !important;
    border: none !important;
    margin: 0 2px !important;
    display: inline !important;
    vertical-align: middle;
    object-fit: contain;
}

/* Аватар: только первая картинка в колонке с аватаром / слева у .media */
.gx_profile_v2 .gx_profile_wall_comments table td:first-child > a img,
.gx_profile_v2 .gx_profile_wall_comments table td:first-child > img:first-of-type,
.gx_profile_v2 .gx_profile_wall_comments .media > a > img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover;
    border: 2px solid rgba(139, 92, 246, 0.45) !important;
    display: block;
    margin: 0 !important;
}

.gx_profile_v2 .gx_profile_wall_comments > div:not(.loader) > a:first-of-type img,
.gx_profile_v2 .gx_profile_wall_comments > div:not(.loader) > img:first-of-type {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover;
    border: 2px solid rgba(139, 92, 246, 0.45) !important;
    display: block;
    margin: 0 0 8px !important;
}

/* Имена и ссылки — выше контраст, крупнее */
.gx_profile_v2 .gx_profile_wall_comments a {
    font-size: 15px;
    font-weight: 700;
    color: #f3e8ff !important;
    text-decoration: none !important;
}

.gx_profile_v2 .gx_profile_wall_comments a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

/* Текст записи */
.gx_profile_v2 .gx_profile_wall_comments p,
.gx_profile_v2 .gx_profile_wall_comments .media-body {
    margin: 8px 0 0;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gx-text) !important;
}

.gx_profile_v2 .gx_profile_wall_comments p:first-child {
    margin-top: 0;
}

/* Ссылки внутри текста — не как заголовок автора */
.gx_profile_v2 .gx_profile_wall_comments p a,
.gx_profile_v2 .gx_profile_wall_comments .media-body p a {
    font-size: inherit;
    font-weight: 600;
    color: var(--gx-purple-light) !important;
}

/* Bootstrap .media в комментариях */
.gx_profile_v2 .gx_profile_wall_comments .media {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 14px 14px 16px;
    margin-bottom: 12px;
    background: rgba(0, 0, 0, 0.2);
    border: 1px solid var(--gx-border);
    border-radius: 14px;
}

.gx_profile_v2 .gx_profile_wall_comments .media:last-child {
    margin-bottom: 0;
}

.gx_profile_v2 .gx_profile_wall_comments .media-body {
    flex: 1;
    min-width: 0;
}

.gx_profile_v2 .gx_profile_wall_comments .loader {
    margin: 24px auto;
}

/* Привилегии / купленные услуги (виджет user_admins) */
.gx_profile_v2 .gx_profile_privileges {
    margin-top: 24px;
    padding: 18px 20px 20px;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 16px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
}

.gx_profile_v2 .gx_profile_privileges_head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--gx-border);
}

.gx_profile_v2 .gx_profile_privileges_head_icon {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    flex-shrink: 0;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.25), rgba(139, 92, 246, 0.08));
    border: 1px solid rgba(139, 92, 246, 0.35);
    color: var(--gx-purple-light);
}

.gx_profile_v2 .gx_profile_privileges_head_icon .bx {
    font-size: 24px;
    line-height: 1;
}

.gx_profile_v2 .gx_profile_privileges_head_text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.gx_profile_v2 .gx_profile_privileges_title {
    font-family: 'Exo 2', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--gx-text);
    letter-spacing: -0.02em;
}

.gx_profile_v2 .gx_profile_privileges_sub {
    font-size: 13px;
    font-weight: 500;
    color: var(--gx-text-3);
    line-height: 1.35;
}

.gx_profile_v2 .gx_profile_privileges_table_wrap {
    overflow-x: auto;
    margin: 0 -4px;
    padding: 0 4px;
    -webkit-overflow-scrolling: touch;
}

.gx_profile_v2 .gx_profile_privileges_table.table-adaptive {
    margin: 0;
}

.gx_profile_v2 .gx_profile_privileges_table table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    color: var(--gx-text-2);
}

.gx_profile_v2 .gx_profile_privileges_table thead th {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--gx-text-3);
    text-align: left;
    padding: 10px 14px;
    background: rgba(0, 0, 0, 0.2);
    border-bottom: 1px solid var(--gx-border);
}

.gx_profile_v2 .gx_profile_privileges_table thead th:first-child {
    border-radius: 10px 0 0 0;
}

.gx_profile_v2 .gx_profile_privileges_table thead th:last-child {
    border-radius: 0 10px 0 0;
}

.gx_profile_v2 .gx_profile_privileges_table tbody td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--gx-border);
    vertical-align: middle;
}

.gx_profile_v2 .gx_profile_privileges_table tbody tr:last-child td {
    border-bottom: none;
}

.gx_profile_v2 .gx_profile_privileges_table tbody tr:hover td {
    background: rgba(139, 92, 246, 0.05);
}

.gx_profile_v2 .gx_profile_privileges_table a {
    color: var(--gx-purple-light) !important;
    text-decoration: none !important;
    font-weight: 600;
}

.gx_profile_v2 .gx_profile_privileges_table a:hover {
    color: #fff !important;
    text-decoration: underline !important;
}

/*
 * Виджет user_admins → elements/admin.tpl: строки .table-row + .col-lg-*.
 * Глобальный reset колонок Bootstrap ломает сетку; здесь — явная grid-сетка и подписи.
 * Важно: в .table-adaptive иконка в .with-icon — position:absolute + padding-left:50px;
 * это ломает нашу сетку и накладывает текст на иконку — сбрасываем внутри виджета.
 */
.gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row > div.with-icon {
    position: static !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row > div.with-icon > i {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row > div.with-icon > img {
    position: static !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row {
    display: grid !important;
    grid-template-columns: minmax(180px, 1.05fr) minmax(220px, 1.35fr) minmax(0, 2fr) !important;
    gap: 0 24px !important;
    align-items: center !important;
    width: 100% !important;
    flex-wrap: unset !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row > [class*="col-"] {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* admin.tpl: сначала <p> (значение), ниже <span> (подпись) — как на эталоне */
.gx_profile_v2 .gx_profile_user_admins_widget .with-description > p {
    margin: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--gx-text) !important;
    line-height: 1.35 !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-3.with-description > span,
.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-5.with-description > span,
.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-4.with-description:not(:has(> img)) > span {
    display: block !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--gx-text-3) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    line-height: 1.25 !important;
}

/* Колонка игрока: вторая строка — название группы, без капса */
.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-4.with-description:has(> img) > span {
    display: block !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--gx-text-2) !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    line-height: 1.4 !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-5.with-description > p a {
    font-size: 15px !important;
    font-weight: 600 !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> i) {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 6px !important;
    align-items: center !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> i) > i {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    flex-shrink: 0 !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: var(--gx-purple-light) !important;
    background: rgba(139, 92, 246, 0.15) !important;
    border-radius: 12px !important;
    border: 1px solid rgba(139, 92, 246, 0.28) !important;
    box-sizing: border-box !important;
}

/* значение сверху, подпись «Статус» снизу */
.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> i) > p {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> i) > span {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> img) {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 14px !important;
    row-gap: 6px !important;
    align-items: center !important;
    cursor: pointer;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> img) > img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
    border: 2px solid var(--gx-border) !important;
}

/* логин сверху, группа снизу */
.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> img) > p {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: end !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:has(> img) > span {
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: start !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .with-icon.with-description:not(:has(> i)):not(:has(> img)) {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 0 !important;
}

/* Третья колонка (услуги) — как на макете: блок прижат вправо */
.gx_profile_v2 .gx_profile_user_admins_widget .col-lg-5.with-icon.with-description:not(:has(> i)):not(:has(> img)) {
    align-items: flex-end !important;
    text-align: right !important;
}

.gx_profile_v2 .gx_profile_user_admins_widget .admins_img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
}

@media (max-width: 900px) {
    .gx_profile_v2 .gx_profile_user_admins_widget .table-row > .row {
        grid-template-columns: 1fr !important;
    }
}

.gx_profile_v2 #stores .gx_profile_stores_tab {
    margin-top: 0;
}

.gx_profile_v2 #stores .gx_profile_rcon_purchases {
    margin-top: 20px;
}

.gx_profile_v2 .gx_profile_tab_block,
.gx_profile_v2 .gx_profile_friends_block {
    border-radius: 16px;
    border: 1px solid var(--gx-border);
    background: var(--gx-card);
    max-height: 420px;
    overflow: auto;
}

.gx_profile_admin_modal .modal-content {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 18px;
}

.gx_profile_admin_modal .modal-header {
    border-bottom: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.2);
}

.gx_profile_admin_balance.balance-left {
    background-image: none !important;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.35), rgba(59, 130, 246, 0.2)) !important;
    border: 1px solid var(--gx-border);
    border-radius: 16px;
}

@media (max-width: 1200px) {
    .gx_profile_v2 .profile_page_second {
        flex-direction: column;
    }

    .gx_profile_v2 .gx_profile_main_row {
        flex-direction: column;
    }

    .gx_profile_v2 .gx_profile_cards_cluster,
    .gx_profile_v2 .gx_profile_privileges--sidebar,
    .gx_profile_v2 .profile_page_wall {
        flex: 1 1 100%;
        max-width: 100%;
        min-width: 0;
    }

    .gx_profile_v2 .gx_profile_privileges--sidebar .gx_profile_privileges_table_wrap {
        max-height: none;
    }
}

@media (max-width: 720px) {
    .gx_profile_v2 .profile_page_container_info.gx_profile_hero_row,
    .profile_page_container_info.gx_profile_hero_row {
        grid-template-columns: 1fr;
        text-align: center;
        justify-items: center;
        padding-top: 8px;
    }

    .gx_profile_v2 .gx_profile_hero_row .profile_page_container_info_avatar img,
    .gx_profile_hero_row .profile_page_container_info_avatar img {
        margin-top: -48px;
    }

    .gx_profile_v2 .profile_page_edit {
        justify-content: center;
        width: 100%;
    }

    .gx_profile_v2 .profile_page_nav.gx_profile_nav {
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        justify-content: flex-start;
        padding-bottom: 4px;
    }

    .gx_profile_v2 .profile_page_nav .profile_btn {
        flex-shrink: 0;
    }

    .gx_profile_v2 .gx_profile_info_row {
        grid-template-columns: 1fr;
    }
}

/* ========== MY STORES / ПРИВИЛЕГИИ (tpl/home/my_stores.tpl) ========== */

.gx_my_stores_page {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
}

.gx_my_stores_page .gx_my_stores_header.gx_banlist_compact_header {
    margin-bottom: 24px;
}

.gx_my_stores_panel.block_my_stores {
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 20px;
    padding: 0;
    overflow: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
}

.gx_my_stores_mount#my_stores {
    margin-top: 0 !important;
    min-height: 200px;
    padding: 20px 22px 24px;
    box-sizing: border-box;
}

.gx_my_stores_mount#my_stores > .loader {
    margin: 48px auto !important;
}

.gx_my_stores_mount#my_stores table {
    border-radius: 0 !important;
}

.gx_my_stores_mount#my_stores th:first-child {
    border-top-left-radius: 12px;
}

.gx_my_stores_mount#my_stores th:last-child {
    border-top-right-radius: 12px;
}

.gx_my_stores_mount#my_stores select,
.gx_my_stores_mount#my_stores .form-control,
.gx_my_stores_mount#my_stores select.form-control {
    background: var(--gx-surface) !important;
    border: 1px solid var(--gx-border) !important;
    border-radius: 10px !important;
    color: var(--gx-text) !important;
    font-family: 'Exo 2', sans-serif !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    min-height: 38px;
}

.gx_my_stores_mount#my_stores .btn,
.gx_my_stores_mount#my_stores button:not(.close),
.gx_my_stores_mount#my_stores .header_btn {
    font-family: 'Exo 2', sans-serif !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
}

.gx_my_stores_mount#my_stores .label,
.gx_my_stores_mount#my_stores .badge {
    border-radius: 8px !important;
    font-weight: 600 !important;
    padding: 4px 10px !important;
}

.gx_my_stores_mount#my_stores .text-success {
    color: #6ee7b7 !important;
}

.gx_my_stores_mount#my_stores .text-danger,
.gx_my_stores_mount#my_stores .text-warning {
    font-weight: 600 !important;
}

@media (max-width: 720px) {
    .gx_my_stores_mount#my_stores {
        padding: 16px 14px 20px;
    }
}

/* ========== OFF SITE / ТЕХРАБОТЫ (tpl/off_site.tpl, отдельная страница) ========== */

body.gx_off_site_body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 32px 18px;
    box-sizing: border-box;
    font-family: 'Exo 2', system-ui, sans-serif;
    background: radial-gradient(120% 80% at 50% 0%, rgba(139, 92, 246, 0.14), transparent 55%),
        radial-gradient(80% 50% at 100% 100%, rgba(236, 72, 153, 0.06), transparent 45%),
        var(--gx-bg);
    color: var(--gx-text);
}

.gx_off_site_wrap {
    position: relative;
    width: 100%;
    max-width: 520px;
}

.gx_off_site_glow {
    position: absolute;
    border-radius: 50%;
    filter: blur(72px);
    opacity: 0.4;
    pointer-events: none;
}

.gx_off_site_glow--1 {
    width: 280px;
    height: 280px;
    top: -100px;
    right: -80px;
    background: rgba(139, 92, 246, 0.45);
}

.gx_off_site_glow--2 {
    width: 200px;
    height: 200px;
    bottom: -60px;
    left: -40px;
    background: rgba(236, 72, 153, 0.25);
}

.gx_off_site_card {
    position: relative;
    padding: 40px 32px 36px;
    text-align: center;
    background: var(--gx-card);
    border: 1px solid var(--gx-border);
    border-radius: 22px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(139, 92, 246, 0.08);
    overflow: hidden;
}

.gx_off_site_badge {
    position: absolute;
    top: 18px;
    right: 20px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: var(--gx-text-3);
    padding: 6px 10px;
    border-radius: 8px;
    border: 1px solid var(--gx-border);
    background: rgba(0, 0, 0, 0.25);
}

.gx_off_site_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.35), rgba(109, 40, 217, 0.2));
    border: 1px solid rgba(139, 92, 246, 0.4);
    box-shadow: 0 12px 40px rgba(139, 92, 246, 0.2);
}

.gx_off_site_icon .bx {
    font-size: 38px;
    color: var(--gx-purple-light);
    line-height: 1;
}

.gx_off_site_kicker {
    margin: 0 0 16px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--gx-text-3);
}

.gx_off_site_message {
    margin: 0;
    font-size: clamp(1.05rem, 3.5vw, 1.25rem);
    font-weight: 600;
    line-height: 1.65;
    color: var(--gx-text-2);
}

.gx_off_site_message p {
    margin: 0 0 12px;
}

.gx_off_site_message p:last-child {
    margin-bottom: 0;
}

.gx_off_site_message a {
    color: var(--gx-purple-light);
    text-decoration: none;
    font-weight: 600;
}

.gx_off_site_message a:hover {
    color: #fff;
    text-decoration: underline;
}

.gx_off_site_message img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin-top: 12px;
}

.gx_off_site_footer {
    margin: 24px 0 0;
    padding-top: 20px;
    border-top: 1px solid var(--gx-border);
    font-size: 13px;
    font-weight: 600;
    color: var(--gx-text-3);
}

@media (max-width: 480px) {
    body.gx_off_site_body {
        padding: 20px 14px;
    }

    .gx_off_site_card {
        padding: 36px 22px 28px;
    }
}
.table-adaptive .table-row > .row > div.col-lg-4.with-icon,
.table-adaptive .table-row > .row > div.with-icon {
  padding-left: 12px !important;
  padding-right: 12px !important;
  flex: 0 0 33.333333% !important;
  max-width: 33.333333% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
/* 1) Внутри with-icon делаем строку: иконка слева, текст справа */
.table-adaptive .table-row > .row > div.with-icon{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;

  padding-left: 12px !important;   /* обычный паддинг */
  padding-right: 12px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* 2) Иконка не должна растягиваться/переезжать */
.table-adaptive .table-row > .row > div.with-icon { ... }
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* 3) Текстовой части разрешаем сжиматься/переноситься */
.table-adaptive .table-row > .row > div.with-icon > *:not(i.bx){
  min-width: 0 !important;
}
/* Модалка и её затемнение поверх всего */
.modal { z-index: 1055 !important; }
.modal-backdrop { z-index: 1050 !important; }

/* Футер не должен перекрывать модалки */
.gx_footer,
.gx_footer_inner{
  position: relative;   /* чтобы z-index работал корректно */
  z-index: 1 !important;
}
/* Модалка и затемнение всегда поверх */
.modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
}

.modal-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 19990 !important;
}

.modal-dialog,
.modal-content {
  position: relative !important;
  z-index: 20010 !important;
}
body, #wrapper, .wrapper, .page, .container, .main {
  transform: none !important;
}
/* ========== МОДАЛЬНОЕ ОКНО - ПОЛНОЕ ИСПРАВЛЕНИЕ ========== */

/* Размер модалки */
.modal .modal-dialog {
    max-width: 650px !important;
    width: 95% !important;
    margin: 30px auto !important;
}

.modal .modal-content {
    background: var(--gx-card) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

/* Фон за модалкой */
.modal-backdrop.in,
.modal-backdrop.show {
    opacity: 0.85 !important;
    background: #000 !important;
}

/* --- Таблица Активность --- */
.modal .status_block td {
    vertical-align: middle !important;
    padding: 8px 12px !important;
}

/* --- Select (тип привязки) с кнопкой Изменить --- */
.modal .custom-select.with-title.with-button {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

.modal .custom-select.with-title.with-button > * {
    order: 2 !important;
}

.modal .custom-select.with-title.with-button .btn {
    position: static !important;
    transform: none !important;
    flex-shrink: 0 !important;
    order: 99 !important;
}

.modal .custom-select.with-title.with-button select {
    flex: 1 !important;
    min-width: 0 !important;
    order: 3 !important;
}

.modal .custom-select.with-title.with-button label {
    position: static !important;
    flex-shrink: 0 !important;
    order: 1 !important;
    font-size: 12px !important;
}

.modal .custom-select.with-title.with-button i,
.modal .custom-select.with-title.with-button .bx {
    order: 2 !important;
    flex-shrink: 0 !important;
}

/* --- Поле STEAM ID с кнопкой Изменить --- */
.modal .custom-input.with-title.with-button {
    display: block !important;
    position: relative !important;
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

.modal .custom-input.with-title.with-button label {
    position: static !important;
    display: block !important;
    margin-bottom: 6px !important;
    font-size: 12px !important;
}

.modal .custom-input.with-title.with-button input {
    width: calc(100% - 120px) !important;
    box-sizing: border-box !important;
    display: inline-block !important;
}

.modal .custom-input.with-title.with-button .btn {
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    vertical-align: middle !important;
    margin-left: 8px !important;
}

/* --- Таблица привилегий --- */
.modal .table-responsive {
    overflow-x: auto !important;
    width: 100% !important;
}

.modal .table td,
.modal .table th {
    padding: 8px 12px !important;
    white-space: normal !important;
    word-break: break-word !important;
}
/* Тёмный фон всей полосы (обёртка select + кнопка) */
.modal label.custom-select.with-title.with-button{
  background: var(--gx-surface, #171b2a) !important;
  border: 1px solid var(--gx-border, rgba(255,255,255,.10)) !important;
  border-radius: 10px !important;
  padding: 6px 8px !important; /* чтобы не прилипало к краям */
}

/* Внутри: элементы не должны иметь свой белый фон */
.modal label.custom-select.with-title.with-button select{
  background: transparent !important;
  border: 0 !important;
  color: var(--gx-text, #e5e7eb) !important;
}

/* Иконки/стрелки — прозрачные */
.modal label.custom-select.with-title.with-button i,
.modal label.custom-select.with-title.with-button svg,
.modal label.custom-select.with-title.with-button .bx{
  background: transparent !important;
}
/* Одна линия: кнопка + подпись + иконка + select */
.modal label.custom-select.with-title.with-button{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* "Тип привязки" не переносится и не растягивает блок */
.modal label.custom-select.with-title.with-button .with-title,
.modal label.custom-select.with-title.with-button .title,
.modal label.custom-select.with-title.with-button .label{
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

/* Иконка фиксированная */
.modal label.custom-select.with-title.with-button i.bx{
  flex: 0 0 auto !important;
}

/* select занимает всё оставшееся место */
.modal label.custom-select.with-title.with-button select{
  flex: 1 1 auto !important;
  min-width: 180px; /* можно 160/220 по вкусу */
}
/* Не переносить "Тип привязки" (и подобные подписи) в верхней строке модалки */
.modal label.custom-select.with-title.with-button .with-title,
.modal label.custom-select.with-title.with-button .title,
.modal label.custom-select.with-title.with-button .label,
.modal label.custom-select.with-title.with-button .custom-title,
.modal label.custom-select.with-title.with-button span {
  white-space: nowrap !important;
}
/* Выравниваем поле и кнопку в одной строке (кнопка поднимается) */
.modal label.custom-input.with-title.with-button{
  display: flex !important;
  align-items: center !important;   /* поднимет кнопку к центру поля */
  gap: 12px !important;
}

/* Поле занимает ширину, кнопка не переносится */
.modal label.custom-input.with-title.with-button input{
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.modal label.custom-input.with-title.with-button button,
.modal label.custom-input.with-title.with-button .btn{
  flex: 0 0 auto !important;
  margin-top: 0 !important;
}
/* 2-строчная раскладка для полей с кнопкой в модалке */
.modal label.custom-input.with-title.with-button{
  display: grid !important;
  grid-template-columns: 1fr auto;  /* поле | кнопка */
  grid-template-rows: auto auto;    /* заголовок | контент */
  column-gap: 12px !important;
  row-gap: 6px !important;
  align-items: center !important;
}

/* Заголовок (Идентификатор/Пароль) на всю ширину */
.modal label.custom-input.with-title.with-button .with-title,
.modal label.custom-input.with-title.with-button .title,
.modal label.custom-input.with-title.with-button .label{
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

/* Инпут слева во 2-й строке */
.modal label.custom-input.with-title.with-button input{
  grid-column: 1 !important;
  grid-row: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* Кнопка справа во 2-й строке */
.modal label.custom-input.with-title.with-button button,
.modal label.custom-input.with-title.with-button .btn{
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: center !important;
  margin: 0 !important;
}
/* Правые кнопки "Изменить" в модалке — шире */
.modal label.custom-input.with-title.with-button button,
.modal label.custom-input.with-title.with-button .btn{
  min-width: 120px !important;   /* попробуй 120–140 */
  padding-left: 16px !important;
  padding-right: 16px !important;
  white-space: nowrap !important;
}
