/*
 * PSXCLUB FGame base styles
 * Geometry/behavior only + a theme-variable bridge.
 * Load this file synchronously in <head> BEFORE the table HTML is rendered.
 * Light/dark theme files only define --fgame-theme-* variables.
 * Awards visual appearance is intentionally NOT styled here.
 */
/* Недостаточный баланс показывается поверх всей страницы, а не внутри td. */
.fgame-balance-redirect {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    background: rgba(0, 0, 0, .62);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}
.fgame-balance-redirect__card {
    width: min(420px, 100%);
    padding: 22px;
    border: 1px solid var(--fgame-theme-border, #334155);
    border-radius: 16px;
    background: var(--fgame-theme-surface, #111827);
    color: var(--fgame-theme-text, #fff);
    box-shadow: 0 20px 60px rgba(0, 0, 0, .38);
    text-align: center;
}
.fgame-balance-redirect__icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: rgba(234, 179, 8, .15);
    color: #eab308;
    font-size: 22px;
}
.fgame-balance-redirect__title {
    margin-bottom: 6px;
    font-size: 18px;
    line-height: 1.25;
    font-weight: 800;
}
.fgame-balance-redirect__text {
    margin-bottom: 16px;
    color: var(--fgame-theme-muted, #9ca3af);
    font-size: 14px;
    line-height: 1.45;
}
.fgame-balance-redirect__button {
    width: 100%;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 10px;
    background: #dc2626;
    color: #fff;
    font-weight: 800;
    cursor: pointer;
}
.fgame-balance-redirect__button:hover {
    background: #b91c1c;
}

.fgame-balance-redirect__card {
    position: relative;
}
.fgame-balance-redirect__close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--fgame-theme-border, #334155);
    border-radius: 9px;
    background: transparent;
    color: var(--fgame-theme-muted, #9ca3af);
    cursor: pointer;
}
.fgame-balance-redirect__close:hover {
    color: var(--fgame-theme-text, #fff);
    background: rgba(148, 163, 184, .12);
}
.fgame-balance-redirect__actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
}
.fgame-balance-redirect__button--secondary {
    background: var(--fgame-theme-control, #253044);
    color: var(--fgame-theme-text, #fff);
    border: 1px solid var(--fgame-theme-border, #334155);
}
.fgame-balance-redirect__button--secondary:hover {
    background: var(--fgame-theme-control-hover, #334155);
}
.subs_org {
    float: right;
    padding: 0 5px;
    margin-left: 5px;
    background: #bf1717;
    color: white;
    border-radius: 5px;
}
.fgame-number-block.fgame-number.all_payd {
    background: linear-gradient(90deg, rgba(53, 155, 42, 1) 0%, rgba(59, 163, 58, 1) 25%, rgba(237, 221, 83, 1) 73%);
}
.subs {
    float: right;
    padding: 2px 5px;
    background: #bf1717;
    position: absolute;
    right: 0;
    color: white;
    border-top-right-radius: 13px;
}
.table-subscribers {
    float: left;
}
.complite {
    margin-right: 5px;
}
.subscribers-count {
    border-left: 3px solid;
    padding-left: 5px;
    cursor: pointer;
}
.subscribers-list {
    position: absolute;
    z-index: 1;
    display: none;
    background: white;
}
.subscribers-list ul {
    padding: 5px 20px;
    list-style: none;
    width: max-content;
}
.subscribers-list li {
    padding: 5px;
}
.fixed-modal {
    position: fixed;
    overflow: auto;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 1000;
    display: none;
}
/* при отображении модального окно */
.modal:target {
    opacity: 1;
    /* делаем окно видимым */
    pointer-events: auto;
    /* элемент видим для событий мыши */
    overflow-y: auto;
    /* добавляем прокрутку по y, когда элемент не помещается на страницу */
}
/* ширина модального окна и его отступы от экрана */
.modal-dialog {
    position: relative;
    width: auto;
    margin: 150px 10px;
}
@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px;
        margin: 150px auto;
        /* для отображения модального окна по центру */
    }
}
/* свойства для блока, содержащего контент модального окна */
.modal-content {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 1px solid rgba(0,0,0,.2);
    border-radius: .3rem;
    outline: 0;
}
@media (min-width: 768px) {
    .modal-content {
        -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
        box-shadow: 0 5px 15px rgba(0,0,0,.5);
    }
}
/* свойства для заголовка модального окна */
.modal-header {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 15px;
    border-bottom: 1px solid #eceeef;
}
.modal-title {
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1.5;
    font-size: 1.25rem;
    font-weight: 500;
}
/* свойства для кнопки "Закрыть" */
.close {
    float: right;
    font-family: sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5;
    z-index: 1001;
    text-decoration: none;
}
/* свойства для кнопки "Закрыть" при нахождении её в фокусе или наведении */
.close:focus, .close:hover {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: .75;
    z-index: 1001;
}
/* свойства для блока, содержащего основное содержимое окна */
.modal-body {
    position: relative;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: 15px;
    overflow: auto;
}
.fgame-subscribe, .fgame-unsubscribe {
    cursor: pointer;
    float: left;
    padding: 0 5px;
}
.table_confirm thead {
    background: #5bd376;
}
.button_add_table {
    display: block;
    text-align: center;
    margin: auto;
    padding-top: 10px;
}
.setnum {
    cursor: text;
    margin-left: 5px;
}
.setnum[contenteditable="true"] {
    background: #FFF;
}
.you-in-table {
    display: inline-flex;
    align-items: center;
    margin-left: 7px;
    padding: 1px 7px;
    border-radius: 10px;
    background: #43ac6a;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    white-space: nowrap;
}
.total-price {
    margin: 0px 5px;
    padding: 0px 5px;
    cursor: text;
    position: initial;
    right: 150px;
    display: flex;
}
.setprice[contenteditable="true"] {
    background: #FFF;
    padding-left: 5px;
}
.del-table {
    position: absolute;
    right: 0px;
    cursor: pointer;
    padding-right: 10px;
}
.remarked {
    text-decoration: line-through;
}
.button28 {
    position: relative;
    color: white;
    font-weight: bold;
    text-decoration: none;
    text-shadow: -1px -1px #000;
    user-select: none;
    padding: .3em 1em;
    outline: none;
    background-color: #000;
    background-image: linear-gradient(45deg, rgba(255,255,255,.0) 30%, rgba(255,255,255,.8), rgba(255,255,255,.0) 70%), radial-gradient(190% 100% at 50% 0%, rgba(255,255,255,.7) 0%, rgba(255,255,255,.5) 50%, rgba(0,0,0,0) 50%);
    background-repeat: no-repeat;
    background-size: 200% 100%, auto;
    background-position: 200% 0, 0 0;
    box-shadow: rgba(0,0,0,.3) 0 2px 5px;
}
.button28:active {
    top: 1px;
    box-shadow: none;
}
.button28:hover {
    transition: .5s linear;
    background-position: -200% 0, 0 0;
    box-shadow: inset 0 -1px 1px rgba(0,0,0,0), inset 0 1px 2px rgba(0,0,0,0), inset 0 0 0 60px rgba(0,0,0,0) !important;
}
.fgame-finduser {
    cursor: pointer;
}
.fixed-overlay {
    position: fixed;
    overflow: auto;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 999999;
    display: none;
}
.wmodal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.wmodal_container {
    background-color: #fff;
    width: 320px;
    height: auto;
    border: #3d9a65 solid 1px;
    padding: 15px;
    margin-top: 30px;
    padding: 10px;
}
.wmodal_container h2 {
    padding-left: 40px;
}
.wmodal-close {
    float: right;
    padding: 7px;
    cursor: pointer;
    color: #FFF;
}
.fgame-userline {
    width: 275px;
    display: table;
    margin: 3px;
    color: black;
    font-weight: bold;
    border: #CCC solid 1px;
    padding: 3px;
    cursor: pointer;
}
.fgame-avatar img, .icms-profile-avatar__default.avatar__inlist {
    width: 32px !important;
    height: 32px !important;
    float: left;
    border-radius: 50%;
}
.fgame-username {
    float: left;
    margin-left: 5px;
}
.create-list {
    margin-left: 7px;
}
.create-list:hover {
    text-decoration: underline;
}
.head-marker.wait-curator {
    background: red;
    cursor: help;
}
.head-marker.wait-for-payd {
    background: black;
    cursor: help;
}
.fgame-number-block.fgame-number.wait-for-start, .head-marker.wait-for-start {
    background: #ef9918;
    cursor: help;
}
.fgame-number-block.fgame-number.wait-register ,.head-marker.wait-register {
    background: #8585ff;
    cursor: help;
}
.fgame-number-block.fgame-number.full-complite,.head-marker.full-complite {
    background: #43ac6a;
    color: black;
}
.head-marker {
    float: right;
    padding: 2px 10px;
    position: absolute;
    right: 0;
    color: white;
    border-top-right-radius: 13px;
}
/* PSXCLUB FGame redesign - scoped to the component */
.fgame-container {
    --fg-bg: #0b0d12;
    --fg-card: #121722;
    --fg-card-2: #171d29;
    --fg-line: #2a3240;
    --fg-line-soft: #202734;
    --fg-text: #f4f6f8;
    --fg-muted: #9ba6b5;
    --fg-brand: #d62835;
    --fg-brand-dark: #97151d;
    --fg-green: #239b56;
    --fg-yellow: #d99518;
    --fg-blue: #3478f6;
    --fg-danger: #d63a43;
    color: var(--fg-text);
}
.fgame-container .fgame-container__tabsout {
    background: var(--fg-bg);
    border: 1px solid var(--fg-line);
    border-radius: 14px 14px 0 0;
    padding: 10px 12px 0;
    overflow: hidden;
}
.fgame-container #fgame-tabs {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    border-bottom: 1px solid var(--fg-line);
}
.fgame-container #fgame-tabs::-webkit-scrollbar {
    display: none;
}
.fgame-container #fgame-tabs .nav-item {
    flex: 0 0 auto;
}
.fgame-container #fgame-tabs .nav-link {
    min-width: 118px;
    padding: 12px 18px;
    border: 1px solid var(--fg-line-soft);
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: linear-gradient(180deg,#171d29,#111620);
    color: #d9dee7;
    font-weight: 700;
    text-align: center;
    transition: .18s ease;
}
.fgame-container #fgame-tabs .nav-link:hover {
    color: #fff;
    background: #1b2230;
}
.fgame-container #fgame-tabs .nav-link.active {
    color: #fff;
    background: linear-gradient(180deg,#34141a,#1c1115);
    border-color: #6c2028;
    box-shadow: inset 0 -3px 0 var(--fg-brand);
}
.fgame-container .tab-content {
    background: var(--fg-bg);
    border: 1px solid var(--fg-line);
    border-top: 0;
    border-radius: 0 0 14px 14px;
    padding: 12px;
}
.fgame-container .fgame-section {
    position: relative;
    margin: 0 0 14px;
    border: 1px solid var(--fg-line);
    border-radius: 12px;
    background: linear-gradient(180deg,var(--fg-card),#0f141e);
    overflow: visible;
    box-shadow: 0 8px 24px rgba(0,0,0,.18);
    transition: border-color .2s ease,box-shadow .2s ease;
}
.fgame-container .fgame-section.user-in-table {
    border-color: #2f804e;
    box-shadow: 0 0 0 1px rgba(35,155,86,.12),0 8px 24px rgba(0,0,0,.2);
}
.fgame-container .fgame-number-block {
    min-height: 66px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 12px;
    background: linear-gradient(180deg,#18202d,#121823);
    border-bottom: 1px solid var(--fg-line);
    border-radius: 11px 11px 0 0;
    color: var(--fg-text);
    position: relative;
}
.fgame-container .setnum {
    min-width: 44px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 10px;
    border-radius: 8px;
    background: linear-gradient(180deg,#e53845,#b61d27);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14),0 4px 12px rgba(214,40,53,.18);
    color: #fff;
    font-size: 17px;
    font-weight: 800;
    white-space: nowrap;
}
.fgame-container .setnum[contenteditable="true"] {
    background: #fff;
    color: #111;
    outline: 2px solid var(--fg-brand);
}
.fgame-container .you-in-table {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 999px;
    background: linear-gradient(180deg,#2aa961,#1f874e);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.fgame-container .fgame-copy-link,
.fgame-container .fgame-spoiler,
.fgame-container .total-actions > a,
.fgame-container .repay-button,
.fgame-container .fgame-finduser {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border: 1px solid #394252;
    border-radius: 8px;
    background: linear-gradient(180deg,#303847,#202735);
    color: #fff;
    cursor: pointer;
    text-decoration: none !important;
    transition: .15s ease;
}
.fgame-container .fgame-copy-link:hover,
.fgame-container .fgame-spoiler:hover,
.fgame-container .total-actions > a:hover,
.fgame-container .repay-button:hover,
.fgame-container .fgame-finduser:hover {
    transform: translateY(-1px);
    filter: brightness(1.12);
}
.fgame-container .fgame-copy-link {
    background: linear-gradient(180deg,#2b6fe0,#1f55aa);
    border-color: #3478f6;
}
.fgame-container .fgame-spoiler {
    margin-left: auto;
    background: #171e29;
}
.fgame-container .fgame-occupancy {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 145px;
    margin-left: 4px;
    color: var(--fg-muted);
}
.fgame-container .fgame-occupancy-text {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    white-space: nowrap;
}
.fgame-container .fgame-occupied-count {
    color: #fff;
}
.fgame-container .fgame-progress {
    width: 86px;
    height: 6px;
    overflow: hidden;
    border-radius: 99px;
    background: #242c39;
}
.fgame-container .fgame-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg,var(--fg-brand),#ff5962);
    transition: width .25s ease;
}
.fgame-container .total-price {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    margin-right: 0;
    padding: 6px 10px;
    min-height: 38px;
    border-left: 1px solid var(--fg-line);
    color: #dce2eb;
    font-size: 13px;
    cursor: text;
}
.fgame-container .total-price > i {
    color: #f2b63d;
}
.fgame-container .setprice {
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
}
.fgame-container .setprice[contenteditable="true"] {
    background: #fff;
    color: #111;
    border-radius: 4px;
    padding: 2px 5px;
    outline: 2px solid var(--fg-brand);
}
.fgame-container .total-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: 2px;
}
.fgame-container .total-actions .total-edit {
    background: linear-gradient(180deg,#2c73e8,#2256a9);
    border-color: #3a78db;
}
.fgame-container .total-actions .total-delete {
    background: linear-gradient(180deg,#3b4350,#272e39);
}
.fgame-container .total-actions .total-exprie {
    background: linear-gradient(180deg,#218c4c,#176b38);
    border-color: #278b4e;
}
.fgame-container .total-actions .create-list {
    background: linear-gradient(180deg,#6e42b7,#513184);
    border-color: #8154c6;
}
.fgame-container .total-actions .del-table {
    position: static;
    padding: 0;
    background: linear-gradient(180deg,#dc3742,#9e1e26);
    border-color: #d84049;
}
.fgame-container .subs_org,
.fgame-container .subs {
    position: static;
    float: none;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 0 4px;
    padding: 0;
    background: transparent;
    color: #fff;
    border-radius: 0;
}
.fgame-container .fgame-subscribe,
.fgame-container .fgame-unsubscribe {
    float: none;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid #394252;
    border-radius: 8px;
    background: #202734;
    color: #fff;
    font-size: 12px;
    cursor: pointer;
}
.fgame-container .table-subscribers {
    float: none;
    position: relative;
}
.fgame-container .subscribers-count {
    display: flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 5px 9px;
    border: 1px solid #394252;
    border-left: 1px solid #394252;
    border-radius: 8px;
    background: #202734;
    color: #fff;
    cursor: pointer;
}
.fgame-container .subscribers-list {
    top: 42px;
    right: 0;
    min-width: 220px;
    padding: 5px;
    border: 1px solid var(--fg-line);
    border-radius: 10px;
    background: #151b25;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
    color: #fff;
    z-index: 50;
}
.fgame-container .subscribers-list ul {
    margin: 0;
    padding: 4px;
}
.fgame-container .subscribers-list li {
    padding: 4px;
}
.fgame-container .subscribers-list a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
}
.fgame-container .subscribers-list .user-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
}
.fgame-container a.stat,.fgame-container .stat {
    position: static;
    width: auto;
    margin-left: auto;
    border-radius: 8px;
    overflow: hidden;
}
.fgame-container .table-spoiler {
    overflow: visible;
    border-radius: 0 0 11px 11px;
}
.fgame-container .fgame-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
    background: #101620;
    color: var(--fg-text);
    table-layout: fixed;
}
.fgame-container .fgame-table thead th {
    height: 42px;
    padding: 10px 12px;
    background: #0e141e;
    border-right: 1px solid var(--fg-line-soft);
    border-bottom: 1px solid var(--fg-line);
    color: #d7dde6;
    font-size: 12px;
    font-weight: 700;
    vertical-align: middle;
}
.fgame-container .fgame-table thead th:last-child {
    border-right: 0;
}
.fgame-container .fgame-table th.pos {
    width: 92px;
    text-align: center;
}
.fgame-container .fgame-table th.uch {
    width: auto;
}
.fgame-container .fgame-table th.price-head {
    width: 125px;
    text-align: center;
}
.fgame-container .fgame-table th.stst {
    width: 175px;
    text-align: center;
}
.fgame-container .fgame-table th.admin-head {
    width: 58px;
    text-align: center;
}
.fgame-container .fgame-table td {
    min-height: 66px;
    padding: 10px 12px;
    border-right: 1px solid var(--fg-line-soft);
    border-bottom: 1px solid var(--fg-line-soft);
    background: #111822;
    color: #eef1f5;
    vertical-align: middle;
}
.fgame-container .fgame-table tr:last-child td {
    border-bottom: 0;
}
.fgame-container .fgame-table td:last-child {
    border-right: 0;
}
.fgame-container .fgame-main-row.its_you td {
    background: linear-gradient(90deg,rgba(35,155,86,.10),#111822 30%);
}
.fgame-container .fgame-main-row:hover td {
    background-color: #151d29;
}
.fgame-container .fgame-position {
    text-align: center;
}
.fgame-container .fgame-position-badge {
    min-width: 46px;
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 7px;
    border-radius: 9px;
    background: linear-gradient(180deg,#243a68,#1a2745);
    border: 1px solid #34538d;
    font-weight: 900;
    font-size: 15px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.fgame-container .fgame-position-badge a,.fgame-container .fgame-position-badge span {
    color: #fff;
    text-decoration: none;
}
.fgame-container .fgame-member {
    position: relative;
}
.fgame-container .user-card {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}
.fgame-container .user_tabl {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
}
.fgame-container .user-avatar {
    position: relative;
    flex: 0 0 auto;
}
.fgame-container .user-avatar img,
.fgame-container .user-avatar .avatar,
.fgame-container .fgame-avatar img,
.fgame-container .icms-profile-avatar__default.avatar__inlist {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    object-fit: cover;
}
.fgame-container .online-indicator {
    position: absolute;
    right: -1px;
    bottom: 0;
    width: 11px;
    height: 11px;
    border: 2px solid #111822;
    border-radius: 50%;
    background: #36cf70;
}
.fgame-container .nick_tabl {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fgame-container .fgame-you-inline {
    display: block;
    margin-top: 2px;
    color: #5ca0ff;
    font-size: 11px;
    font-weight: 700;
}
.fgame-container .fgame-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex: 0 0 auto;
    min-width: 0;
}
.fgame-container .awdss {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}
.fgame-container .fgame-paybutton a,
.fgame-container .fgame-paylabel {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #fff !important;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none !important;
    white-space: nowrap;
}
.fgame-container .fgame-paybutton.green a {
    background: #1f8d4c;
    border: 1px solid #2ca85d;
}
.fgame-container .fgame-paybutton.red a {
    background: #8b252d;
    border: 1px solid #b7333c;
}
.fgame-container .fgame-paylabel {
    width: auto;
    background: #1f8d4c;
    border: 1px solid #2ca85d;
}
.fgame-container .getout {
    width: 32px;
    min-width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid #8b3039;
    border-radius: 8px;
    background: linear-gradient(180deg,#e05a62,#b62c35);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
}
.fgame-container .getout span {
    display: none;
}
.fgame-container .getout:hover {
    background: linear-gradient(180deg,#ef6a73,#c7353f);
    color: #fff;
    transform: translateY(-1px);
}
.fgame-container .fgame-action {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 9px;
}
.fgame-container .fgame-empty-user {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: #b6bfcb;
    font-size: 13px;
}
.fgame-container .fgame-empty-user i {
    font-size: 28px;
    color: #596473;
}
.fgame-container .fgame-join {
    margin-left: auto;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 11px;
    border: 1px solid #2d70dc;
    border-radius: 8px;
    background: linear-gradient(180deg,#357cf0,#255cb8);
    color: #fff !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none !important;
    cursor: pointer;
    white-space: nowrap;
}
.fgame-container .fgame-join:hover {
    filter: brightness(1.08);
}
.fgame-container .fgame-unavailable {
    margin-left: auto;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 9px;
    border: 1px solid #38414e;
    border-radius: 999px;
    background: #202734;
    color: #8f9aa9;
    font-size: 11px;
    white-space: nowrap;
}
.fgame-container .fgame-finduser {
    margin-left: 0;
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    background: linear-gradient(180deg,#6d45c0,#50328c);
    border-color: #7d55c8;
}
.fgame-container .fgame-price,
.fgame-container .remarked {
    text-align: center;
    font-weight: 800;
    white-space: nowrap;
}
.fgame-container .remarked {
    color: #808b99;
    text-decoration: line-through;
}
.fgame-container .fgame-price-value {
    font-size: 14px;
}
.fgame-container .fgame-price-coin {
    margin-left: 4px;
    color: #f5b83d;
    font-size: 12px;
}
.fgame-container .trcl td {
    min-height: 34px;
    padding-top: 5px;
    padding-bottom: 7px;
    background: #0f151e;
}
.fgame-container .trcl .rell {
    color: #f4f6f8;
    text-decoration: none;
}
.fgame-container .fgame-sale-label {
    display: block;
    color: #6fcf86;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.fgame-container .fgame-status {
    text-align: center;
    position: relative;
    overflow: visible !important;
}
.fgame-container .fgame-status-admin {
    width: 100%;
    max-width: 168px;
    margin: 0 auto;
    position: relative;
    z-index: 12;
}
.fgame-container .fgame-status-trigger {
    width: 100%;
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border: 1px solid #46505f;
    border-radius: 9px;
    background: #202733;
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
    white-space: nowrap;
    transition: .15s ease;
}
.fgame-container .fgame-status-trigger:hover {
    filter: brightness(1.10);
    transform: translateY(-1px);
}
.fgame-container .fgame-status-main-icon {
    width: 15px;
    text-align: center;
    flex: 0 0 15px;
}
.fgame-container .fgame-status-trigger-label {
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1 1 auto;
}
.fgame-container .fgame-status-chevron {
    margin-left: auto;
    font-size: 10px;
    opacity: .72;
    transition: transform .16s ease;
}
.fgame-container .fgame-status-admin.is-open .fgame-status-chevron {
    transform: rotate(180deg);
}
.fgame-container .fgame-status-admin[data-status="0"] .fgame-status-trigger {
    border-color: #536071;
    background: linear-gradient(180deg,#303845,#242b35);
    color: #e4e8ee;
}
.fgame-container .fgame-status-admin[data-status="1"] .fgame-status-trigger {
    border-color: #9a6512;
    background: linear-gradient(180deg,#765016,#50360f);
    color: #ffd985;
}
.fgame-container .fgame-status-admin[data-status="2"] .fgame-status-trigger {
    border-color: #2a8d51;
    background: linear-gradient(180deg,#247d47,#185c34);
    color: #d9ffe8;
}
.fgame-container .fgame-status-admin[data-status="3"] .fgame-status-trigger {
    border-color: #a13b44;
    background: linear-gradient(180deg,#7c2d35,#552027);
    color: #ffd9dc;
}
.fgame-container .fgame-status-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 220px;
    display: none;
    padding: 6px;
    border: 1px solid #394453;
    border-radius: 11px;
    background: #151c26;
    box-shadow: 0 16px 38px rgba(0,0,0,.46);
    z-index: 200;
}
.fgame-container .fgame-status-admin.is-open .fgame-status-menu {
    display: block;
}
.fgame-container .fgame-status-option {
    width: 100%;
    min-height: 40px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 9px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #e8edf4;
    cursor: pointer;
    text-align: left;
    font-size: 12px;
    font-weight: 700;
}
.fgame-container .fgame-status-option:hover {
    background: #222c39;
}
.fgame-container .fgame-status-option-icon {
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
    border-radius: 7px;
    background: #2a3340;
}
.fgame-container .fgame-status-option[data-status="0"] .fgame-status-option-icon {
    background: #343e4c;
    color: #c7d0db;
}
.fgame-container .fgame-status-option[data-status="1"] .fgame-status-option-icon {
    background: #624313;
    color: #ffc85c;
}
.fgame-container .fgame-status-option[data-status="2"] .fgame-status-option-icon {
    background: #185b34;
    color: #62dc91;
}
.fgame-container .fgame-status-option[data-status="3"] .fgame-status-option-icon {
    background: #61272d;
    color: #ff7e87;
}
.fgame-container .fgame-status-option-label {
    flex: 1 1 auto;
}
.fgame-container .fgame-status-check {
    display: none;
    color: #64db91;
}
.fgame-container .fgame-status-option.is-active {
    background: #202a36;
    color: #fff;
}
.fgame-container .fgame-status-option.is-active .fgame-status-check {
    display: block;
}
.fgame-container .fgame-status .oplata_tabl_data {
    min-width: 34px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #394252;
    border-radius: 50%;
    background: #202734;
    color: #aab4c1;
}
.fgame-container .fgame-status > div:not(.oplata_tabl_data),
.fgame-container .fgame-status > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 32px;
    padding: 5px 10px;
    border-radius: 999px;
}
.fgame-container .fgame-admin-cell {
    text-align: center;
}
.fgame-container .repay-button {
    margin: auto;
    border: 0;
    background: linear-gradient(180deg,#404958,#2b323e);
}
.fgame-container .button_add_table {
    padding: 8px 0 2px;
    text-align: center;
}
.fgame-container .button_add_table .btn {
    border: 1px solid #c32d37;
    border-radius: 9px;
    background: linear-gradient(180deg,#dc3541,#a91d26);
    color: #fff;
    font-weight: 800;
    padding: 9px 16px;
}
.fgame-container .autobreak {
    margin-top: 10px;
    color: #9ba6b5;
    font-size: 12px;
}
.fgame-container .fixed-overlay {
    backdrop-filter: blur(4px);
    background: rgba(4,7,11,.75);
}
.fgame-container .wmodal {
    width: min(440px,calc(100vw - 24px));
    padding: 0;
    border: 1px solid #343d4b;
    border-radius: 14px;
    background: #111722;
    box-shadow: 0 20px 70px rgba(0,0,0,.55);
    overflow: hidden;
}
.fgame-container .wmodal-close {
    float: none;
    display: flex;
    justify-content: flex-end;
    padding: 9px 12px 0;
    color: #aeb7c3;
    font-size: 12px;
}
.fgame-container .wmodal_container {
    width: auto;
    margin: 0;
    padding: 8px 14px 16px;
    border: 0;
    background: transparent;
    color: #fff;
}
.fgame-container .wmodal_container h3 {
    margin: 4px 0 12px;
    color: #fff;
    font-size: 18px;
}
.fgame-container .user-finder {
    display: flex;
    gap: 7px;
}
.fgame-container .user-finder input {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #394252;
    border-radius: 8px;
    background: #0d121a;
    color: #fff;
    outline: none;
}
.fgame-container .user-finder input:focus {
    border-color: #6c7687;
    box-shadow: 0 0 0 3px rgba(255,255,255,.04);
}
.fgame-container .user-finder button {
    height: 40px;
    padding: 0 14px;
    border: 1px solid #c32d37;
    border-radius: 8px;
    background: #c82732;
    color: #fff;
    font-weight: 800;
}
.fgame-container .modal-results {
    margin-top: 10px;
    max-height: 280px;
    overflow: auto;
}
.fgame-container .fgame-user-results {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fgame-container .fgame-userline {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid #2c3441;
    border-radius: 9px;
    background: #171e29;
    color: #fff;
    text-align: left;
    cursor: pointer;
}
.fgame-container .fgame-userline:hover {
    background: #202938;
    border-color: #465266;
}
.fgame-container .fgame-avatar {
    display: flex;
    flex: 0 0 auto;
}
.fgame-container .fgame-avatar img,.fgame-container .fgame-avatar .avatar {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    object-fit: cover;
}
.fgame-container .fgame-username {
    float: none;
    min-width: 0;
    flex: 1;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fgame-container .fgame-user-add {
    color: #61a0ff;
}
.fgame-container .fgame-no-results {
    padding: 18px;
    text-align: center;
    color: #8f9aa9;
}
.fgame-container .fgame-busy {
    pointer-events: none;
    opacity: .58;
}
.fgame-toast-stack {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1000001;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.fgame-toast {
    min-width: 220px;
    max-width: 360px;
    padding: 10px 12px;
    border: 1px solid #394252;
    border-radius: 10px;
    background: #171e29;
    color: #fff;
    box-shadow: 0 14px 35px rgba(0,0,0,.35);
    font-size: 13px;
    animation: fgameToastIn .18s ease-out;
}
.fgame-toast.success {
    border-color: #2a7d4b;
}
.fgame-toast.error {
    border-color: #9c3139;
}
@keyframes fgameToastIn {
    from {
        transform: translateY(8px);
        opacity: 0;
    }
    to {
        transform: none;
        opacity: 1;
    }
}
@media (max-width: 767.98px) {
    .fgame-container .fgame-container__tabsout {
        padding: 7px 7px 0;
        border-radius: 11px 11px 0 0;
    }
    .fgame-container .tab-content {
        padding: 7px;
        border-radius: 0 0 11px 11px;
    }
    .fgame-container #fgame-tabs {
        gap: 5px;
    }
    .fgame-container #fgame-tabs .nav-link {
        min-width: 105px;
        padding: 10px 12px;
        font-size: 12px;
    }
    .fgame-container .fgame-section {
        margin-bottom: 9px;
        border-radius: 10px;
    }
    .fgame-container .fgame-number-block {
        min-height: 0;
        flex-wrap: wrap;
        gap: 7px;
        padding: 9px;
        border-radius: 9px 9px 0 0;
    }
    .fgame-container .setnum {
        min-width: 42px;
        height: 38px;
        font-size: 15px;
        padding: 0 8px;
    }
    .fgame-container .you-in-table {
        min-height: 30px;
        padding: 5px 9px;
        font-size: 11px;
    }
    .fgame-container .fgame-copy-link {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }
    .fgame-container .fgame-spoiler {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        order: 3;
        margin-left: auto;
    }
    .fgame-container .fgame-occupancy {
        order: 10;
        flex: 1 1 100%;
        min-width: 0;
        gap: 7px;
        margin: 0;
        padding-top: 6px;
        border-top: 1px solid #252d39;
    }
    .fgame-container .fgame-progress {
        flex: 1 1 auto;
        width: auto;
    }
    .fgame-container .total-price {
        order: 11;
        margin: 0;
        padding: 6px 0 0;
        min-height: 0;
        border-left: 0;
        font-size: 12px;
    }
    .fgame-container .total-actions {
        order: 12;
        width: 100%;
        margin: 0;
        padding-top: 7px;
        border-top: 1px solid #252d39;
        justify-content: space-between;
    }
    .fgame-container .total-actions > a {
        width: 42px;
        height: 38px;
        flex: 1 1 42px;
        max-width: 56px;
    }
    .fgame-container .subs_org,.fgame-container .subs {
        order: 13;
        margin-left: auto;
    }
    .fgame-container .fgame-subscribe,.fgame-container .fgame-unsubscribe {
        font-size: 0;
        width: 36px;
        height: 34px;
        justify-content: center;
        padding: 0;
    }
    .fgame-container .fgame-subscribe i,.fgame-container .fgame-unsubscribe i {
        font-size: 13px;
    }
    .fgame-container a.stat,.fgame-container .stat {
        order: 14;
        max-width: 100%;
        margin: 0 0 0 auto;
    }
    .fgame-container .fgame-table {
        display: block;
        table-layout: auto;
    }
    .fgame-container .fgame-table thead {
        display: none;
    }
    .fgame-container .fgame-table tbody {
        display: block;
    }
    .fgame-container .fgame-main-row {
        display: grid;
        grid-template-columns: 48px minmax(0,1fr) 62px 52px;
        width: 100%;
        border-bottom: 1px solid #2a3240;
    }
    .fgame-container .fgame-admin-table .fgame-main-row {
        grid-template-columns: 46px minmax(0,1fr) 58px 48px 38px;
    }
    .fgame-container .fgame-main-row > td {
        width: auto !important;
        min-width: 0 !important;
        min-height: 62px;
        display: flex;
        align-items: center;
        padding: 7px 6px;
        border-bottom: 0;
    }
    .fgame-container .fgame-main-row .fgame-position {
        grid-column: 1;
        justify-content: center;
    }
    .fgame-container .fgame-main-row .fgame-member {
        grid-column: 2;
    }
    .fgame-container .fgame-main-row > .fgame-price,
    .fgame-container .fgame-main-row > .remarked {
        grid-column: 3;
        justify-content: center;
    }
    .fgame-container .fgame-main-row .fgame-status {
        grid-column: 4;
        justify-content: center;
        padding-left: 3px;
        padding-right: 3px;
    }
    .fgame-container .fgame-main-row .fgame-admin-cell {
        grid-column: 5;
        justify-content: center;
        padding-left: 2px;
        padding-right: 2px;
    }
    .fgame-container .fgame-position-badge {
        min-width: 36px;
        min-height: 38px;
        padding: 4px;
        font-size: 12px;
        border-radius: 8px;
    }
    .fgame-container .user-card {
        gap: 6px;
        flex-wrap: nowrap;
    }
    .fgame-container .user_tabl {
        gap: 7px;
        flex: 1 1 auto;
        min-width: 0;
    }
    .fgame-container .fgame-user-actions {
        gap: 4px;
        flex: 0 0 auto;
    }
    .fgame-container .user-avatar img,.fgame-container .user-avatar .avatar {
        width: 34px !important;
        height: 34px !important;
    }
    .fgame-container .nick_tabl {
        font-size: 12px;
        line-height: 1.2;
    }
    .fgame-container .fgame-you-inline {
        font-size: 10px;
    }
    .fgame-container .awdss {
        margin: 0;
    }
    .fgame-container .fgame-paybutton a,.fgame-container .fgame-paylabel {
        min-height: 26px;
        padding: 4px 6px;
        font-size: 0;
        border-radius: 7px;
    }
    .fgame-container .fgame-paybutton i,.fgame-container .fgame-paylabel i {
        font-size: 11px;
        margin: 0;
    }
    .fgame-container .getout {
        height: 27px;
        min-width: 27px;
        padding: 0 5px;
        font-size: 0;
    }
    .fgame-container .getout i {
        font-size: 11px;
    }
    .fgame-container .fgame-action {
        gap: 5px;
        flex-wrap: wrap;
    }
    .fgame-container .fgame-empty-user {
        flex: 1 1 100%;
        font-size: 11px;
        gap: 5px;
    }
    .fgame-container .fgame-empty-user i {
        font-size: 22px;
    }
    .fgame-container .fgame-join {
        margin: 0;
        min-height: 28px;
        padding: 4px 7px;
        font-size: 10px;
    }
    .fgame-container .fgame-finduser {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }
    .fgame-container .fgame-unavailable {
        margin: 0;
        min-height: 27px;
        padding: 4px 6px;
        font-size: 9px;
    }
    .fgame-container .fgame-price-value {
        font-size: 12px;
    }
    .fgame-container .fgame-price-coin {
        font-size: 9px;
        margin-left: 2px;
    }
    .fgame-container .fgame-status-admin {
        width: 34px;
        max-width: 34px;
        margin: 0 auto;
    }
    .fgame-container .fgame-status-trigger {
        width: 34px;
        min-width: 34px;
        height: 34px;
        min-height: 34px;
        justify-content: center;
        padding: 0;
        border-radius: 9px;
    }
    .fgame-container .fgame-status-trigger-label,
    .fgame-container .fgame-status-chevron {
        display: none;
    }
    .fgame-container .fgame-status-main-icon {
        width: auto;
        flex: 0 0 auto;
        font-size: 13px;
    }
    .fgame-container .fgame-status-menu {
        width: 205px;
        right: -3px;
        top: calc(100% + 7px);
        padding: 5px;
    }
    .fgame-container .fgame-status-option {
        min-height: 42px;
        padding: 8px;
        font-size: 12px;
    }
    .fgame-container .fgame-status .oplata_tabl_data {
        min-width: 31px;
        min-height: 31px;
    }
    .fgame-container .fgame-status > div:not(.oplata_tabl_data),.fgame-container .fgame-status > span {
        min-width: 31px;
        min-height: 31px;
        padding: 4px;
        font-size: 0;
    }
    .fgame-container .fgame-status i {
        font-size: 12px;
    }
    .fgame-container .repay-button {
        width: 31px;
        height: 31px;
        flex-basis: 31px;
    }
    .fgame-container .trcl {
        display: grid;
        grid-template-columns: 48px minmax(0,1fr) 62px 52px;
        margin-top: -1px;
        border-bottom: 1px solid #2a3240;
    }
    .fgame-container .fgame-admin-table .trcl {
        grid-template-columns: 46px minmax(0,1fr) 58px 48px 38px;
    }
    .fgame-container .trcl > td {
        grid-column: 3;
        min-height: 26px;
        padding: 2px 4px;
        border-right: 1px solid #202734;
        border-bottom: 0;
        text-align: center;
    }
    .fgame-container .fgame-sale-label {
        font-size: 7px;
    }
    .fgame-container .table-spoiler {
        overflow: visible;
        border-radius: 0 0 9px 9px;
    }
    .fgame-toast-stack {
        left: 8px;
        right: 8px;
        bottom: 8px;
    }
    .fgame-toast {
        min-width: 0;
        max-width: none;
        width: 100%;
    }
}
/* Search/user modal lives outside .fgame-container in the original template */
.fgame-fixed-overlay {
    backdrop-filter: blur(4px);
    background: rgba(4,7,11,.78);
}
.fgame-fixed-overlay .wmodal {
    width: min(440px,calc(100vw - 24px));
    padding: 0;
    border: 1px solid #343d4b;
    border-radius: 14px;
    background: #111722;
    box-shadow: 0 20px 70px rgba(0,0,0,.55);
    overflow: hidden;
}
.fgame-fixed-overlay .wmodal-close {
    float: none;
    display: flex;
    justify-content: flex-end;
    padding: 9px 12px 0;
    color: #aeb7c3;
    font-size: 12px;
}
.fgame-fixed-overlay .wmodal_container {
    width: auto;
    height: auto;
    margin: 0;
    padding: 8px 14px 16px;
    border: 0;
    background: transparent;
    color: #fff;
}
.fgame-fixed-overlay .wmodal_container h3 {
    margin: 4px 0 12px;
    color: #fff;
    font-size: 18px;
}
.fgame-fixed-overlay .user-finder {
    display: flex;
    gap: 7px;
}
.fgame-fixed-overlay .user-finder input {
    flex: 1 1 auto;
    min-width: 0;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #394252;
    border-radius: 8px;
    background: #0d121a;
    color: #fff;
    outline: none;
}
.fgame-fixed-overlay .user-finder button {
    height: 40px;
    padding: 0 14px;
    border: 1px solid #c32d37;
    border-radius: 8px;
    background: #c82732;
    color: #fff;
    font-weight: 800;
}
.fgame-fixed-overlay .modal-results {
    margin-top: 10px;
    max-height: 280px;
    overflow: auto;
}
.fgame-fixed-overlay .fgame-user-results {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.fgame-fixed-overlay .fgame-userline {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 7px 9px;
    border: 1px solid #2c3441;
    border-radius: 9px;
    background: #171e29;
    color: #fff;
    text-align: left;
    cursor: pointer;
}
.fgame-fixed-overlay .fgame-userline:hover {
    background: #202938;
    border-color: #465266;
}
.fgame-fixed-overlay .fgame-avatar {
    display: flex;
    flex: 0 0 auto;
}
.fgame-fixed-overlay .fgame-avatar img,.fgame-fixed-overlay .fgame-avatar .avatar,.fgame-fixed-overlay .icms-profile-avatar__default.avatar__inlist {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    object-fit: cover;
}
.fgame-fixed-overlay .fgame-username {
    float: none;
    min-width: 0;
    flex: 1;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fgame-fixed-overlay .fgame-user-add {
    color: #61a0ff;
}
.fgame-fixed-overlay .fgame-no-results {
    padding: 18px;
    text-align: center;
    color: #8f9aa9;
}
.fgame-fixed-modal .modal-content {
    background: #111722;
    color: #fff;
    border: 1px solid #343d4b;
}
.fgame-fixed-modal .modal-header {
    border-bottom-color: #2a3240;
}
.fgame-fixed-modal .close {
    color: #fff;
    text-shadow: none;
}
.fgame-fixed-modal .modal-body a {
    color: #ff646d;
    font-weight: 700;
}
/* ===== PSXCLUB fgame v3: финальные исправления раскладки ===== */
.fgame-container .fgame-section {
    isolation: auto;
}
.fgame-container .fgame-section.status-menu-open {
    z-index: 1000;
}
.fgame-container .table-spoiler,
.fgame-container .fgame-table,
.fgame-container .fgame-table tbody,
.fgame-container .fgame-main-row,
.fgame-container .fgame-status {
    overflow: visible !important;
}
/* Колонки: последняя колонка появляется только когда реально есть возврат оплаты */
.fgame-container .fgame-table th.pos {
    width: 92px;
}
.fgame-container .fgame-table th.price-head {
    width: 126px;
}
.fgame-container .fgame-table th.stst {
    width: 168px;
}
.fgame-container .fgame-table th.admin-head {
    width: 50px;
}
/* Участник и Awards: не режем ник/награды и не даём кнопкам наезжать */
.fgame-container .fgame-member {
    padding-left: 14px;
    padding-right: 14px;
}
.fgame-container .user-card {
    display: grid;
    grid-template-columns: minmax(0,1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
}
.fgame-container .user_tabl {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    width: 100%;
}
.fgame-container .nick_tabl {
    min-width: 0;
    width: auto;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    line-height: 1.25;
}
.fgame-container .nick_tabl a,
.fgame-container .nick_tabl span {
    max-width: none;
    white-space: normal;
}
.fgame-container .fgame-user-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    flex: 0 0 auto;
    min-width: max-content;
}
.fgame-container .awdss {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}
/* Действия у участника специально компактные - без текста, чтобы не перекрывать Awards */
.fgame-container .fgame-paybutton a,
.fgame-container .fgame-paylabel,
.fgame-container .getout {
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    flex: 0 0 34px !important;
}
.fgame-container .fgame-paybutton a > span,
.fgame-container .fgame-paylabel .fgame-action-label,
.fgame-container .getout > span {
    display: none !important;
}
.fgame-container .fgame-paylabel > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
/* Статус: меню рисуется fixed JS-ом, поэтому больше не обрезается соседними строками/таблицами */
.fgame-container .fgame-status-admin {
    position: relative;
    z-index: auto;
}
.fgame-container .fgame-status-admin.is-open {
    z-index: 2147482000;
}
.fgame-container .fgame-status-menu {
    z-index: 2147483000 !important;
}
.fgame-container .fgame-status-trigger {
    min-width: 132px;
    max-width: 150px;
    margin: 0 auto;
}
.fgame-container .button_add_table .btn.is-loading {
    opacity: .65;
    pointer-events: none;
}
@media (max-width: 767.98px) {
    .fgame-container .user-card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 5px;
    }
    .fgame-container .user_tabl {
        width: 100%;
        gap: 7px;
    }
    .fgame-container .fgame-user-actions {
        width: 100%;
        justify-content: flex-start;
        gap: 4px;
    }
    .fgame-container .nick_tabl {
        font-size: 12px;
        overflow: visible !important;
        white-space: normal !important;
    }
    .fgame-container .fgame-paybutton a,
    .fgame-container .fgame-paylabel,
    .fgame-container .getout {
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        flex-basis: 28px !important;
    }
    .fgame-container .fgame-status-trigger {
        min-width: 34px;
        max-width: 34px;
    }
    .fgame-container .fgame-status-menu {
        width: 210px;
    }
}
/* ===== PSXCLUB fgame v4: компактный режим + корректная индикация оплаты ===== */
/* В v3 display!important мог показывать зелёную галочку даже при inline display:none. */
.fgame-container .fgame-paylabel[style*="display:none"],
.fgame-container .fgame-paylabel[style*="display: none"] {
    display: none !important;
}
/* Внешняя оболочка */
.fgame-container .fgame-container__tabsout {
    padding: 6px 8px 0;
    border-radius: 10px 10px 0 0;
}
.fgame-container #fgame-tabs {
    gap: 5px;
}
.fgame-container #fgame-tabs .nav-link {
    min-width: 100px;
    padding: 8px 13px;
    border-radius: 8px 8px 0 0;
    font-size: 13px;
    line-height: 1.15;
}
.fgame-container .tab-content {
    padding: 8px;
    border-radius: 0 0 10px 10px;
}
.fgame-container .fgame-section {
    margin-bottom: 9px;
    border-radius: 10px;
    box-shadow: 0 4px 14px rgba(0,0,0,.16);
}
/* Шапка таблицы */
.fgame-container .fgame-number-block {
    min-height: 48px;
    gap: 6px;
    padding: 6px 8px;
    border-radius: 9px 9px 0 0;
}
.fgame-container .setnum {
    min-width: 38px;
    height: 34px;
    padding: 0 8px;
    border-radius: 7px;
    font-size: 14px;
}
.fgame-container .you-in-table {
    min-height: 27px;
    padding: 4px 8px;
    gap: 4px;
    font-size: 10.5px;
}
.fgame-container .fgame-copy-link,
.fgame-container .fgame-spoiler,
.fgame-container .total-actions > a,
.fgame-container .repay-button,
.fgame-container .fgame-finduser {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 7px;
    font-size: 12px;
}
.fgame-container .fgame-occupancy {
    gap: 6px;
    min-width: 118px;
    margin-left: 2px;
}
.fgame-container .fgame-occupancy-text {
    gap: 4px;
    font-size: 11px;
}
.fgame-container .fgame-progress {
    width: 66px;
    height: 5px;
}
.fgame-container .total-price {
    min-height: 32px;
    padding: 4px 7px;
    gap: 5px;
    font-size: 12px;
}
.fgame-container .total-actions {
    gap: 4px;
    margin-left: 0;
}
.fgame-container .fgame-subscribe,
.fgame-container .fgame-unsubscribe,
.fgame-container .subscribers-count {
    min-height: 30px;
    padding: 4px 7px;
    font-size: 11px;
    border-radius: 7px;
}
/* Таблица */
.fgame-container .fgame-table th.pos {
    width: 78px;
}
.fgame-container .fgame-table th.price-head {
    width: 108px;
}
.fgame-container .fgame-table th.stst {
    width: 138px;
}
.fgame-container .fgame-table th.admin-head {
    width: 42px;
}
.fgame-container .fgame-table thead th {
    height: 34px;
    padding: 6px 8px;
    font-size: 11px;
}
.fgame-container .fgame-table td {
    min-height: 48px;
    padding: 6px 8px;
}
.fgame-container .fgame-member {
    padding-left: 9px;
    padding-right: 9px;
}
.fgame-container .fgame-position-badge {
    min-width: 38px;
    min-height: 34px;
    padding: 4px 6px;
    border-radius: 7px;
    font-size: 13px;
}
/* Пользователь */
.fgame-container .user-card {
    gap: 8px;
}
.fgame-container .user_tabl {
    gap: 7px;
}
.fgame-container .user-avatar img,
.fgame-container .user-avatar .avatar,
.fgame-container .fgame-avatar img,
.fgame-container .icms-profile-avatar__default.avatar__inlist {
    width: 34px !important;
    height: 34px !important;
}
.fgame-container .online-indicator {
    width: 9px;
    height: 9px;
    border-width: 2px;
}
.fgame-container .nick_tabl {
    font-size: 12px;
    line-height: 1.15 !important;
}
.fgame-container .fgame-you-inline {
    margin-top: 1px;
    font-size: 9.5px;
}
.fgame-container .fgame-user-actions,.fgame-container .awdss {
    gap: 4px;
}
.fgame-container .fgame-paybutton a,
.fgame-container .fgame-paylabel,
.fgame-container .getout {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 7px !important;
    padding: 0 !important;
    font-size: 11px;
}
/* Свободная позиция */
.fgame-container .fgame-action {
    gap: 6px;
}
.fgame-container .fgame-empty-user {
    gap: 5px;
    font-size: 12px;
}
.fgame-container .fgame-empty-user i {
    font-size: 22px;
}
.fgame-container .fgame-join {
    min-height: 29px;
    padding: 4px 8px;
    gap: 5px;
    border-radius: 7px;
    font-size: 10.5px;
}
.fgame-container .fgame-finduser {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
}
.fgame-container .fgame-unavailable {
    min-height: 28px;
    padding: 4px 7px;
    font-size: 10px;
}
/* Цена и статус */
.fgame-container .fgame-price-value {
    font-size: 12.5px;
}
.fgame-container .fgame-price-coin {
    font-size: 10px;
}
.fgame-container .trcl td {
    min-height: 27px;
    padding-top: 3px;
    padding-bottom: 4px;
}
.fgame-container .fgame-status-admin {
    max-width: 124px;
}
.fgame-container .fgame-status-trigger {
    min-width: 118px !important;
    max-width: 124px !important;
    min-height: 31px;
    padding: 4px 7px;
    gap: 5px;
    border-radius: 7px;
    font-size: 10.5px;
}
.fgame-container .fgame-status-main-icon {
    width: 12px;
    flex-basis: 12px;
    font-size: 10px;
}
.fgame-container .fgame-status-chevron {
    font-size: 8px;
}
.fgame-container .fgame-status-menu {
    width: 190px;
    padding: 4px;
    border-radius: 9px;
}
.fgame-container .fgame-status-option {
    min-height: 32px;
    padding: 5px 7px;
    gap: 7px;
    border-radius: 6px;
    font-size: 10.5px;
}
.fgame-container .fgame-status-option-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    border-radius: 6px;
    font-size: 10px;
}
.fgame-container .repay-button {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
}
.fgame-container .button_add_table {
    padding: 5px 0 0;
}
.fgame-container .button_add_table .btn {
    padding: 7px 12px;
    border-radius: 7px;
    font-size: 12px;
}
.fgame-container .autobreak {
    font-size: 11px;
}
@media (max-width: 767.98px) {
    .fgame-container .fgame-container__tabsout {
        padding: 5px 5px 0;
    }
    .fgame-container #fgame-tabs .nav-link {
        min-width: 88px;
        padding: 7px 9px;
        font-size: 11.5px;
    }
    .fgame-container .tab-content {
        padding: 5px;
    }
    .fgame-container .fgame-number-block {
        min-height: 44px;
        padding: 5px 6px;
        gap: 4px;
    }
    .fgame-container .setnum {
        height: 31px;
        min-width: 34px;
        font-size: 12px;
        padding: 0 6px;
    }
    .fgame-container .you-in-table {
        min-height: 25px;
        padding: 3px 6px;
        font-size: 9.5px;
    }
    .fgame-container .fgame-copy-link,
    .fgame-container .fgame-spoiler,
    .fgame-container .total-actions > a {
        width: 29px;
        height: 29px;
        flex-basis: 29px;
    }
    .fgame-container .fgame-occupancy {
        min-width: auto;
        gap: 4px;
    }
    .fgame-container .fgame-progress {
        width: 42px;
    }
    .fgame-container .total-price {
        padding: 3px 5px;
        font-size: 10.5px;
    }
    .fgame-container .fgame-main-row {
        grid-template-columns: 42px minmax(0,1fr) 54px 38px !important;
        min-height: 48px;
    }
    .fgame-container .fgame-admin-table .fgame-main-row {
        grid-template-columns: 42px minmax(0,1fr) 54px 38px 32px !important;
    }
    .fgame-container .fgame-main-row > td {
        padding: 5px 5px;
    }
    .fgame-container .fgame-position-badge {
        min-width: 32px;
        min-height: 31px;
        font-size: 11px;
        padding: 3px 4px;
    }
    .fgame-container .user-avatar img,.fgame-container .user-avatar .avatar {
        width: 30px !important;
        height: 30px !important;
    }
    .fgame-container .nick_tabl {
        font-size: 10.5px !important;
    }
    .fgame-container .fgame-user-actions {
        gap: 3px;
    }
    .fgame-container .fgame-paybutton a,
    .fgame-container .fgame-paylabel,
    .fgame-container .getout {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        flex-basis: 25px !important;
    }
    .fgame-container .fgame-empty-user {
        font-size: 10.5px;
    }
    .fgame-container .fgame-empty-user i {
        font-size: 18px;
    }
    .fgame-container .fgame-join {
        min-height: 26px;
        padding: 3px 6px;
        font-size: 9.5px;
    }
    .fgame-container .fgame-finduser {
        width: 27px;
        height: 27px;
        flex-basis: 27px;
    }
    .fgame-container .fgame-price-value {
        font-size: 11px;
    }
    .fgame-container .fgame-status-admin {
        width: 30px !important;
        max-width: 30px !important;
    }
    .fgame-container .fgame-status-trigger {
        min-width: 30px !important;
        max-width: 30px !important;
        width: 30px !important;
        min-height: 30px;
        padding: 0 !important;
        justify-content: center;
    }
    .fgame-container .fgame-status-trigger-label,.fgame-container .fgame-status-chevron {
        display: none !important;
    }
    .fgame-container .fgame-status-menu {
        width: 184px;
    }
}
/* ===== FGame v6: компактность, действия без наложений, сортировка таблиц ===== */
.fgame-container .fgame-tab-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 7px;
    padding: 7px 8px;
    border: 1px solid #263343;
    border-radius: 9px;
    background: #101823;
}
.fgame-container .fgame-tab-toolbar .fgame-add-table {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 31px;
    padding: 5px 10px;
    border: 1px solid #2f74de;
    border-radius: 7px;
    background: linear-gradient(180deg,#347ced,#255db9);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
}
.fgame-container .fgame-tab-toolbar .autobreak {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10.5px;
    color: #9eaabc;
}
.fgame-container .fgame-tab-toolbar .form-check {
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 5px;
}
.fgame-container .fgame-tab-toolbar .form-check-input {
    margin: 0 !important;
    position: static !important;
}
.fgame-container .fgame-table-list {
    display: block;
}
.fgame-container .fgame-section.is-complete {
    opacity: .88;
    border-color: #283443;
}
.fgame-container .fgame-section.is-complete .fgame-number-block {
    background: #111923 !important;
}
.fgame-container .fgame-section.is-complete .fgame-progress span {
    background: #4e657d !important;
}
/* Ячейка участника: пользователь слева, панель действий справа. */
.fgame-container .fgame-member {
    overflow: visible !important;
}
.fgame-container .fgame-member .user-card {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    padding: 0 !important;
}
.fgame-container .fgame-member .user_tabl {
    min-width: 0 !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
}
.fgame-container .fgame-member .nick_tabl {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: visible !important;
    line-height: 1.15 !important;
}
.fgame-container .fgame-user-actions {
    margin-left: auto !important;
    min-width: max-content !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    padding: 3px !important;
    border: 1px solid rgba(255,255,255,.07) !important;
    border-radius: 9px !important;
    background: rgba(7,12,18,.38) !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
}
.fgame-container .fgame-user-actions:empty {
    display: none !important;
}
.fgame-container .fgame-user-actions .awdss {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fgame-container .fgame-user-actions .fgame-paybutton,
.fgame-container .fgame-user-actions .fgame-paylabel,
.fgame-container .fgame-user-actions .repay-button,
.fgame-container .fgame-user-actions .getout {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    margin: 0 !important;
    transform: none !important;
}
.fgame-container .fgame-user-actions .fgame-paybutton a,
.fgame-container .fgame-user-actions .fgame-paylabel,
.fgame-container .fgame-user-actions .repay-button,
.fgame-container .fgame-user-actions .getout {
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;
    min-height: 27px !important;
    flex: 0 0 27px !important;
    padding: 0 !important;
    border-radius: 6px !important;
    font-size: 10.5px !important;
}
/* Свободная позиция: подпись слева, действия строго выровнены справа. */
.fgame-container .fgame-action {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(100px,1fr) auto auto !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
}
.fgame-container .fgame-empty-user {
    justify-self: start !important;
    min-width: 0 !important;
    margin: 0 !important;
    gap: 6px !important;
    font-size: 11.5px !important;
}
.fgame-container .fgame-empty-user i {
    font-size: 20px !important;
}
.fgame-container .fgame-join {
    justify-self: end !important;
    margin: 0 !important;
    min-width: 102px !important;
    min-height: 28px !important;
    padding: 4px 8px !important;
    border-radius: 7px !important;
    font-size: 10.5px !important;
}
.fgame-container .fgame-finduser {
    justify-self: end !important;
    margin: 0 !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    position: relative !important;
    inset: auto !important;
}
.fgame-container .fgame-unavailable {
    justify-self: end !important;
    margin: 0 !important;
}
/* Ещё немного уплотняем сами строки. */
.fgame-container .fgame-table thead th {
    height: 30px !important;
    padding: 5px 7px !important;
    font-size: 10.5px !important;
}
.fgame-container .fgame-table td {
    min-height: 43px !important;
    padding: 5px 7px !important;
}
.fgame-container .fgame-position-badge {
    min-height: 30px !important;
    min-width: 36px !important;
    font-size: 11.5px !important;
}
.fgame-container .user-avatar img,.fgame-container .user-avatar .avatar {
    width: 31px !important;
    height: 31px !important;
}
.fgame-container .nick_tabl {
    font-size: 11px !important;
}
.fgame-container .fgame-you-inline {
    font-size: 9px !important;
}
.fgame-container .fgame-status-trigger {
    min-height: 29px !important;
    font-size: 10px !important;
}
@media (max-width:767.98px) {
    .fgame-container .fgame-tab-toolbar {
        padding: 6px;
        gap: 6px;
        align-items: center;
    }
    .fgame-container .fgame-tab-toolbar .fgame-add-table {
        min-height: 30px;
        padding: 5px 8px;
        font-size: 10px;
    }
    .fgame-container .fgame-tab-toolbar .autobreak span {
        font-size: 9px;
    }
    .fgame-container .fgame-member .user-card {
        grid-template-columns: minmax(0,1fr) auto !important;
        column-gap: 5px !important;
    }
    .fgame-container .fgame-user-actions {
        width: auto !important;
        justify-content: flex-end !important;
        padding: 2px !important;
        gap: 3px !important;
    }
    .fgame-container .fgame-user-actions .fgame-paybutton a,
    .fgame-container .fgame-user-actions .fgame-paylabel,
    .fgame-container .fgame-user-actions .repay-button,
    .fgame-container .fgame-user-actions .getout {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        flex-basis: 24px !important;
    }
    .fgame-container .fgame-action {
        grid-template-columns: minmax(72px,1fr) auto auto !important;
        gap: 4px !important;
    }
    .fgame-container .fgame-empty-user {
        font-size: 9.5px !important;
        gap: 4px !important;
    }
    .fgame-container .fgame-empty-user i {
        font-size: 17px !important;
    }
    .fgame-container .fgame-join {
        min-width: 82px !important;
        min-height: 25px !important;
        padding: 3px 5px !important;
        font-size: 9px !important;
    }
    .fgame-container .fgame-finduser {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        flex-basis: 25px !important;
    }
}
/* =========================================================
   V10 - участники по центру + стабильная мобильная раскладка
   ========================================================= */
/* Индикатор заполненности: < 50% зелёный, >= 50% синий, 100% красный. */
.fgame-container .fgame-occupancy .fgame-progress span {
    transition: width .22s ease, background .22s ease, box-shadow .22s ease !important;
}
.fgame-container .fgame-occupancy.fgame-fill-low .fgame-progress span {
    background: linear-gradient(90deg,#25b864,#39d47b) !important;
    box-shadow: 0 0 8px rgba(57,212,123,.22) !important;
}
.fgame-container .fgame-occupancy.fgame-fill-low .fgame-occupancy-text i,
.fgame-container .fgame-occupancy.fgame-fill-low .fgame-occupied-count {
    color: #4cdb87 !important;
}
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-progress span {
    background: linear-gradient(90deg,#2878e6,#4b9aff) !important;
    box-shadow: 0 0 8px rgba(75,154,255,.22) !important;
}
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-occupancy-text i,
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-occupied-count {
    color: #61a5ff !important;
}
.fgame-container .fgame-occupancy.fgame-fill-full .fgame-progress span,
.fgame-container .fgame-section.is-complete .fgame-occupancy.fgame-fill-full .fgame-progress span {
    background: linear-gradient(90deg,#dc3545,#f05a65) !important;
    box-shadow: 0 0 8px rgba(240,90,101,.24) !important;
}
.fgame-container .fgame-occupancy.fgame-fill-full .fgame-occupancy-text i,
.fgame-container .fgame-occupancy.fgame-fill-full .fgame-occupied-count {
    color: #ff747d !important;
}
/* Как в старом шаблоне: всё содержимое колонки участника собирается
   в одну компактную группу и центрируется относительно столбца. */
.fgame-container .fgame-member {
    text-align: center !important;
    vertical-align: middle !important;
}
.fgame-container .fgame-member .user-card {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    vertical-align: middle !important;
}
.fgame-container .fgame-member .user_tabl {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 0 1 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 !important;
}
.fgame-container .fgame-member .nick_tabl {
    width: auto !important;
    min-width: 0 !important;
    max-width: 220px !important;
    text-align: left !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
}
.fgame-container .fgame-member .fgame-user-actions {
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}
/* Свободная позиция центрируется тем же способом. */
.fgame-container .fgame-member .fgame-action {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 0 auto !important;
}
.fgame-container .fgame-member .fgame-empty-user,
.fgame-container .fgame-member .fgame-join,
.fgame-container .fgame-member .fgame-finduser,
.fgame-container .fgame-member .fgame-unavailable {
    justify-self: auto !important;
    margin: 0 !important;
}
@media (max-width:767.98px) {
    /* В мобильной grid-строке сама ячейка участника центрирует группу. */
    .fgame-container .fgame-main-row .fgame-member {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        overflow: hidden !important;
        padding: 5px 3px !important;
    }
    .fgame-container .fgame-member .user-card {
        width: auto !important;
        max-width: 100% !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        margin: 0 auto !important;
    }
    .fgame-container .fgame-member .user_tabl {
        width: auto !important;
        max-width: calc(100% - 55px) !important;
        min-width: 0 !important;
        flex: 0 1 auto !important;
        gap: 5px !important;
        justify-content: center !important;
    }
    .fgame-container .fgame-member .user-avatar {
        flex: 0 0 auto !important;
    }
    .fgame-container .fgame-member .user-avatar img,
    .fgame-container .fgame-member .user-avatar .avatar {
        width: 28px !important;
        height: 28px !important;
    }
    .fgame-container .fgame-member .nick_tabl {
        display: block !important;
        min-width: 0 !important;
        max-width: 92px !important;
        font-size: 10px !important;
        line-height: 1.08 !important;
        text-align: left !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        word-break: normal !important;
    }
    .fgame-container .fgame-member .fgame-you-inline {
        margin-top: 1px !important;
        font-size: 8.5px !important;
        line-height: 1.05 !important;
    }
    .fgame-container .fgame-member .fgame-user-actions {
        width: auto !important;
        min-width: 0 !important;
        max-width: 52px !important;
        flex: 0 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        padding: 0 !important;
        margin: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }
    .fgame-container .fgame-member .fgame-user-actions .awdss {
        display: inline-flex !important;
        align-items: center !important;
        gap: 3px !important;
    }
    .fgame-container .fgame-member .fgame-user-actions .fgame-paybutton a,
    .fgame-container .fgame-member .fgame-user-actions .fgame-paylabel,
    .fgame-container .fgame-member .fgame-user-actions .repay-button,
    .fgame-container .fgame-member .fgame-user-actions .getout {
        width: 23px !important;
        min-width: 23px !important;
        height: 23px !important;
        min-height: 23px !important;
        flex: 0 0 23px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 6px !important;
    }
    /* Свободная позиция тоже остаётся в одну строку и не разваливает колонку. */
    .fgame-container .fgame-member .fgame-action {
        width: auto !important;
        max-width: 100% !important;
        display: inline-flex !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        margin: 0 auto !important;
    }
    .fgame-container .fgame-member .fgame-empty-user {
        flex: 0 1 auto !important;
        font-size: 9px !important;
        gap: 3px !important;
        white-space: nowrap !important;
    }
    .fgame-container .fgame-member .fgame-empty-user i {
        font-size: 16px !important;
    }
    .fgame-container .fgame-member .fgame-join {
        min-width: 0 !important;
        min-height: 25px !important;
        padding: 3px 6px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }
    .fgame-container .fgame-member .fgame-finduser {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        flex: 0 0 25px !important;
    }
}
body.openmodal {
    overflow: hidden;
}
.fgame-number-block.table_confirm {
    background: #43ac6a;
}
.modal-results {
    overflow: auto;
    overflow-x: hidden;
    max-height: 200px;
}
.fgame-number-block, .total-actions > a {
    color: #f1efef;
}
/* v5: реальная оплата / ручной статус и скидки */
.fgame-container .fgame-user-actions .repay-button {
    margin: 0;
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    flex: 0 0 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.fgame-container .fgame-user-actions .repay-button .fgame-action-label {
    display: none !important;
}
.fgame-container .trcl.no-sale {
    height: 0 !important;
    line-height: 0 !important;
}
.fgame-container .trcl.no-sale td {
    padding: 0 !important;
    border: 0 !important;
}
/* ===== PSXCLUB fgame v7: единый слот оплаты + чистое выравнивание ===== */
.fgame-container .fgame-member {
    text-align: left !important;
    vertical-align: middle !important;
}
.fgame-container .fgame-member .user-card {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.fgame-container .fgame-member .user_tabl {
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    text-align: left !important;
}
.fgame-container .fgame-member .nick_tabl {
    text-align: left !important;
    margin: 0 !important;
}
.fgame-container .fgame-member.has-user > .fgame-action,
.fgame-container .fgame-member:has(.user-card) > .fgame-action {
    display: none !important;
}
.fgame-container .fgame-user-actions {
    margin-left: 0 !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}
.fgame-container .fgame-payment-slot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton,
.fgame-container .fgame-payment-slot .fgame-paylabel,
.fgame-container .fgame-payment-slot .repay-button {
    margin: 0 !important;
    position: static !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton a,
.fgame-container .fgame-payment-slot .fgame-paylabel,
.fgame-container .fgame-payment-slot .repay-button,
.fgame-container .fgame-user-actions .getout {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 7px !important;
    padding: 0 !important;
}
.fgame-container .fgame-payment-slot .repay-button {
    background: linear-gradient(180deg,#d89224,#a96308) !important;
    border: 1px solid #e9a63a !important;
    color: #fff !important;
}
/* Свободная позиция - подпись слева, кнопки собраны справа в один блок. */
.fgame-container .fgame-action {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 !important;
    text-align: left !important;
}
.fgame-container .fgame-empty-user {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: left !important;
}
.fgame-container .fgame-empty-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
}
.fgame-container .fgame-empty-actions .fgame-join,
.fgame-container .fgame-empty-actions .fgame-finduser,
.fgame-container .fgame-empty-actions .fgame-unavailable {
    margin: 0 !important;
}
@media (max-width:767.98px) {
    .fgame-container .fgame-member .user-card {
        flex-wrap: wrap !important;
        gap: 5px 7px !important;
    }
    .fgame-container .fgame-member .user_tabl {
        flex: 1 1 calc(100% - 70px) !important;
    }
    .fgame-container .fgame-user-actions {
        width: auto !important;
        flex: 0 0 auto !important;
    }
    .fgame-container .fgame-action {
        gap: 6px !important;
    }
    .fgame-container .fgame-empty-actions {
        gap: 4px !important;
    }
}
/* ===== PSXCLUB fgame v8: stable desktop/mobile layout ===== */
/* Статус состава в шапке больше не абсолютный - он не может перекрыть spoiler. */
.fgame-container .fgame-number-block {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}
.fgame-container a.stat,
.fgame-container .stat {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    max-width: 230px !important;
    min-width: 0 !important;
    flex: 0 1 auto !important;
    margin-left: auto !important;
    padding: 5px 9px !important;
    border-radius: 7px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    z-index: 1 !important;
}
.fgame-container .fgame-spoiler {
    position: relative !important;
    z-index: 3 !important;
    flex: 0 0 auto !important;
    margin-left: 6px !important;
}
.fgame-container .stat .head-marker,
.fgame-container .fgame-number-block > .head-marker {
    position: static !important;
    inset: auto !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.fgame-container .fgame-number-block > .head-marker {
    margin-left: auto !important;
}
/* Цена всегда живёт в одной строке с позицией. */
.fgame-container .fgame-price {
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}
.fgame-container .fgame-current-price,
.fgame-container .fgame-original-price,
.fgame-container .fgame-sale-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    line-height: 1.1 !important;
}
.fgame-container .fgame-original-price {
    opacity: .58 !important;
    text-decoration: line-through !important;
    font-size: 10px !important;
}
.fgame-container .fgame-sale-price {
    margin-top: 3px !important;
    flex-wrap: wrap !important;
    color: #ecf3ff !important;
}
.fgame-container .fgame-sale-price .fgame-sale-label {
    flex: 1 0 100% !important;
    color: #53d880 !important;
    font-size: 8px !important;
    line-height: 1 !important;
    text-transform: none !important;
}
/* Участник слева, кнопки всегда в собственной колонке справа. */
.fgame-container .fgame-member .user-card {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    column-gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}
.fgame-container .fgame-member .user_tabl {
    grid-column: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    width: 100% !important;
}
.fgame-container .fgame-member .nick_tabl {
    min-width: 0 !important;
    text-align: left !important;
    overflow: visible !important;
}
.fgame-container .fgame-member .fgame-user-actions {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}
/* Один слот: Оплатить -> Возврат админу / Оплачено пользователю. */
.fgame-container .fgame-payment-slot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton,
.fgame-container .fgame-payment-slot .fgame-paylabel,
.fgame-container .fgame-payment-slot .repay-button {
    position: static !important;
    float: none !important;
    margin: 0 !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton a,
.fgame-container .fgame-payment-slot .fgame-paylabel,
.fgame-container .fgame-payment-slot .repay-button,
.fgame-container .fgame-user-actions .getout {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: 7px !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton.green a {
    background: #178747 !important;
    border: 1px solid #29aa61 !important;
    color: #fff !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton.red a {
    background: #b52e39 !important;
    border: 1px solid #db4650 !important;
    color: #fff !important;
}
.fgame-container .fgame-payment-slot .repay-button {
    background: #b56f14 !important;
    border: 1px solid #df962f !important;
    color: #fff !important;
}
.fgame-container .fgame-payment-slot .fgame-paylabel {
    background: #178747 !important;
    border: 1px solid #29aa61 !important;
    color: #fff !important;
}
.fgame-container .fgame-payment-slot .fgame-paybutton[style*="display:none"],
.fgame-container .fgame-payment-slot .fgame-paybutton[style*="display: none"],
.fgame-container .fgame-payment-slot .fgame-paylabel[style*="display:none"],
.fgame-container .fgame-payment-slot .fgame-paylabel[style*="display: none"],
.fgame-container .fgame-payment-slot .repay-button[style*="display:none"],
.fgame-container .fgame-payment-slot .repay-button[style*="display: none"] {
    display: none !important;
}
/* Свободная позиция: текст слева, запись/поиск справа. */
.fgame-container .fgame-member .fgame-action {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
}
.fgame-container .fgame-empty-user {
    grid-column: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    min-width: 0 !important;
    text-align: left !important;
}
.fgame-container .fgame-empty-actions {
    grid-column: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 5px !important;
    white-space: nowrap !important;
}
.fgame-container .fgame-action.is-closed .fgame-empty-user {
    opacity: .62 !important;
}
.fgame-container tr.fgame-row-closed td {
    background-color: rgba(70,76,88,.08) !important;
}
/* Меню статуса всегда поверх таблицы. */
.fgame-container .fgame-status,
.fgame-container .table-spoiler,
.fgame-container .fgame-table,
.fgame-container .fgame-table tbody,
.fgame-container .fgame-main-row {
    overflow: visible !important;
}
.fgame-container .fgame-status-admin.is-open,
.fgame-container .fgame-status-menu {
    z-index: 2147483000 !important;
}
/* Компактнее на ПК. */
.fgame-container .fgame-table thead th {
    height: 30px !important;
    padding: 5px 7px !important;
    font-size: 10.5px !important;
}
.fgame-container .fgame-table td {
    height: 45px !important;
    padding: 5px 7px !important;
}
.fgame-container .user-avatar img,
.fgame-container .user-avatar .avatar {
    width: 31px !important;
    height: 31px !important;
}
.fgame-container .fgame-position-badge {
    min-height: 31px !important;
    min-width: 36px !important;
}
@media (max-width:767.98px) {
    /* На телефоне возвращаем настоящую таблицу: заголовки остаются видимыми,
       скидочная цена не выпадает отдельной строкой. */
    .fgame-container .table-spoiler {
        overflow-x: hidden !important;
    }
    .fgame-container .fgame-table {
        display: table !important;
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
    }
    .fgame-container .fgame-table thead {
        display: table-header-group !important;
    }
    .fgame-container .fgame-table tbody {
        display: table-row-group !important;
    }
    .fgame-container .fgame-table .zag_tab,
    .fgame-container .fgame-table .fgame-main-row {
        display: table-row !important;
        width: auto !important;
        border: 0 !important;
    }
    .fgame-container .fgame-table th,
    .fgame-container .fgame-table .fgame-main-row > td {
        display: table-cell !important;
        min-width: 0 !important;
        width: auto !important;
        min-height: 0 !important;
        height: auto !important;
        vertical-align: middle !important;
        border-bottom: 1px solid #27303d !important;
    }
    .fgame-container .fgame-table th.pos,
    .fgame-container .fgame-table .fgame-position {
        width: 52px !important;
    }
    .fgame-container .fgame-table th.price-head,
    .fgame-container .fgame-table .fgame-price {
        width: 70px !important;
    }
    .fgame-container .fgame-table th.stst,
    .fgame-container .fgame-table .fgame-status {
        width: 47px !important;
    }
    .fgame-container .fgame-table th.uch {
        width: auto !important;
    }
    .fgame-container .fgame-table thead th {
        height: 28px !important;
        padding: 5px 3px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }
    .fgame-container .fgame-table td {
        height: 53px !important;
        padding: 5px 4px !important;
    }
    /* Участник и его действия не переносятся друг под друга. */
    .fgame-container .fgame-member .user-card {
        grid-template-columns: minmax(0,1fr) auto !important;
        column-gap: 4px !important;
    }
    .fgame-container .fgame-member .user_tabl {
        gap: 4px !important;
    }
    .fgame-container .user-avatar img,
    .fgame-container .user-avatar .avatar {
        width: 27px !important;
        height: 27px !important;
    }
    .fgame-container .nick_tabl {
        font-size: 10px !important;
        line-height: 1.05 !important;
    }
    .fgame-container .fgame-you-inline {
        font-size: 8px !important;
    }
    .fgame-container .fgame-user-actions {
        gap: 2px !important;
    }
    .fgame-container .fgame-payment-slot,
    .fgame-container .fgame-payment-slot .fgame-paybutton a,
    .fgame-container .fgame-payment-slot .fgame-paylabel,
    .fgame-container .fgame-payment-slot .repay-button,
    .fgame-container .fgame-user-actions .getout {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        flex-basis: 25px !important;
        border-radius: 6px !important;
    }
    .fgame-container .fgame-payment-slot i,
    .fgame-container .fgame-user-actions .getout i {
        font-size: 10px !important;
    }
    /* Свободная позиция остаётся одной линией. */
    .fgame-container .fgame-member .fgame-action {
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 4px !important;
    }
    .fgame-container .fgame-empty-user {
        gap: 4px !important;
        font-size: 9.5px !important;
        white-space: nowrap !important;
    }
    .fgame-container .fgame-empty-user i {
        font-size: 17px !important;
    }
    .fgame-container .fgame-empty-actions {
        gap: 3px !important;
    }
    .fgame-container .fgame-join {
        min-width: 0 !important;
        min-height: 26px !important;
        padding: 3px 6px !important;
        gap: 3px !important;
        font-size: 9px !important;
        border-radius: 6px !important;
    }
    .fgame-container .fgame-finduser {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        flex-basis: 26px !important;
    }
    .fgame-container .fgame-unavailable {
        min-height: 25px !important;
        padding: 3px 5px !important;
        font-size: 0 !important;
    }
    .fgame-container .fgame-unavailable i {
        font-size: 10px !important;
    }
    /* Цена в своей колонке, две строки только внутри одной ячейки. */
    .fgame-container .fgame-price {
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
    .fgame-container .fgame-price-value {
        font-size: 10px !important;
    }
    .fgame-container .fgame-price-coin {
        font-size: 8px !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-original-price {
        font-size: 9px !important;
    }
    .fgame-container .fgame-sale-price {
        margin-top: 2px !important;
        gap: 2px !important;
    }
    .fgame-container .fgame-sale-price .fgame-sale-label {
        font-size: 7px !important;
    }
    /* Статус на телефоне только иконкой - колонка не раздувается. */
    .fgame-container .fgame-status {
        padding: 3px !important;
        text-align: center !important;
    }
    .fgame-container .fgame-status-admin {
        width: 30px !important;
        max-width: 30px !important;
        margin: 0 auto !important;
    }
    .fgame-container .fgame-status-trigger {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 !important;
        margin: 0 auto !important;
        justify-content: center !important;
    }
    .fgame-container .fgame-status-trigger-label,
    .fgame-container .fgame-status-chevron {
        display: none !important;
    }
    /* Шапка: маркер статуса состава уходит на отдельную строку,
       кнопка свернуть/развернуть всегда остаётся свободной. */
    .fgame-container .fgame-number-block {
        padding: 6px !important;
        gap: 4px !important;
    }
    .fgame-container a.stat,
    .fgame-container .stat {
        order: 20 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 0 !important;
        text-align: center !important;
    }
    .fgame-container .fgame-number-block > .head-marker {
        order: 20 !important;
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 4px 0 0 !important;
        text-align: center !important;
    }
    .fgame-container .fgame-spoiler {
        order: 3 !important;
        margin-left: auto !important;
    }
    .fgame-container .fgame-occupancy {
        order: 10 !important;
        flex: 1 1 100% !important;
    }
    .fgame-container .total-price {
        order: 11 !important;
    }
    .fgame-container .total-actions {
        order: 12 !important;
    }
    /* v9: мобильное выравнивание колонки участника.
       Пользователь визуально строго по центру столбца, а действия
       оплаты/возврата/выписки закреплены у правого края и не давят на ник. */
    .fgame-container .fgame-table th.uch,
    .fgame-container .fgame-member {
        text-align: center !important;
    }
    .fgame-container .fgame-member.has-user {
        position: relative !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
    .fgame-container .fgame-member.has-user .user-card {
        display: grid !important;
        grid-template-columns: 54px minmax(0,1fr) 54px !important;
        align-items: center !important;
        column-gap: 0 !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 31px !important;
        padding: 0 !important;
        margin: 0 !important;
        position: relative !important;
    }
    .fgame-container .fgame-member.has-user .user_tabl {
        grid-column: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        text-align: center !important;
    }
    .fgame-container .fgame-member.has-user .nick_tabl {
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
        overflow: visible !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
    .fgame-container .fgame-member.has-user .fgame-user-actions {
        grid-column: 3 !important;
        width: 54px !important;
        min-width: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 3px !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
        position: relative !important;
        right: 0 !important;
        top: auto !important;
        transform: none !important;
        z-index: 4 !important;
    }
    .fgame-container .fgame-member.has-user .fgame-payment-slot {
        flex: 0 0 25px !important;
        width: 25px !important;
        min-width: 25px !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-member.has-user .getout {
        flex: 0 0 25px !important;
        margin: 0 !important;
    }
    /* Свободная позиция: подпись центрируем в доступной части столбца,
       кнопки записи и поиска остаются прижаты справа. */
    .fgame-container .fgame-member.is-empty .fgame-action {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .fgame-container .fgame-member.is-empty .fgame-empty-user {
        grid-column: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        justify-content: center !important;
        text-align: center !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-member.is-empty .fgame-empty-actions {
        grid-column: 2 !important;
        justify-self: end !important;
        margin: 0 !important;
    }
}
/* ===== PSXCLUB fgame v11: mobile participant visibility ===== */
@media (max-width:767.98px) {
    /* Отменяем v9 grid, которая могла схлопнуть Awards/ник. */
    .fgame-container .fgame-member.has-user {
        text-align: center !important;
        overflow: visible !important;
        padding: 4px 5px !important;
    }
    .fgame-container .fgame-member.has-user .user-card {
        display: flex !important;
        grid-template-columns: none !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 34px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }
    .fgame-container .fgame-member.has-user .user_tabl {
        grid-column: auto !important;
        display: flex !important;
        flex: 1 1 auto !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 58px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        text-align: left !important;
    }
    .fgame-container .fgame-member.has-user .user-avatar {
        display: block !important;
        flex: 0 0 28px !important;
        width: 28px !important;
        min-width: 28px !important;
        height: 28px !important;
        position: relative !important;
        overflow: visible !important;
    }
    .fgame-container .fgame-member.has-user .user-avatar img,
    .fgame-container .fgame-member.has-user .user-avatar .avatar,
    .fgame-container .fgame-member.has-user .user-avatar .icms-profile-avatar__default {
        display: block !important;
        width: 28px !important;
        height: 28px !important;
        max-width: 28px !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .fgame-container .fgame-member.has-user .nick_tabl {
        display: block !important;
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 34px) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        opacity: 1 !important;
        visibility: visible !important;
        text-align: left !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
        line-height: 1.15 !important;
        position: static !important;
        transform: none !important;
    }
    /* Awards часто возвращает вложенные ссылки/spans - не даём старым стилям их схлопнуть. */
    .fgame-container .fgame-member.has-user .nick_tabl > *,
    .fgame-container .fgame-member.has-user .nick_tabl a,
    .fgame-container .fgame-member.has-user .nick_tabl span,
    .fgame-container .fgame-member.has-user .nick_tabl div {
        max-width: 100% !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    .fgame-container .fgame-member.has-user .fgame-user-actions {
        grid-column: auto !important;
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 3px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 54px !important;
        margin: 0 !important;
        padding: 0 !important;
        position: static !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        white-space: nowrap !important;
        z-index: auto !important;
    }
    .fgame-container .fgame-member.has-user .fgame-payment-slot,
    .fgame-container .fgame-member.has-user .getout {
        flex: 0 0 25px !important;
        width: 25px !important;
        min-width: 25px !important;
        max-width: 25px !important;
        height: 25px !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-member.has-user .fgame-paybutton a,
    .fgame-container .fgame-member.has-user .fgame-paylabel,
    .fgame-container .fgame-member.has-user .repay-button,
    .fgame-container .fgame-member.has-user .getout {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        min-height: 25px !important;
        padding: 0 !important;
    }
    .fgame-container .fgame-member.has-user .fgame-action-label,
    .fgame-container .fgame-member.has-user .getout span {
        display: none !important;
    }
    /* Bootstrap-tooltip внутри этого компонента на touch вообще не нужен. */
    .fgame-container [data-fgame-tooltip-title] {
        -webkit-tap-highlight-color: transparent;
    }
}
/* ========================================================================== */
/* PSXCLUB fgame v12 - isolated visual layer (psxf-*)                         */
/* Новые классы используются только для внешнего вида. Старые fgame-*         */
/* сохранены для JS и серверной логики компонента.                             */
/* ========================================================================== */
/* Шапка таблицы: служебные действия, подписка и spoiler не конфликтуют. */
.fgame-container .psxf-table-head {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    min-width: 0 !important;
}
.fgame-container .psxf-table-head > * {
    min-width: 0;
}
.fgame-container .psxf-table-head .setnum {
    order: 10;
}
.fgame-container .psxf-table-head .you-in-table {
    order: 20;
}
.fgame-container .psxf-table-head .fgame-copy-link {
    order: 30;
}
.fgame-container .psxf-table-head .fgame-occupancy {
    order: 40;
}
.fgame-container .psxf-table-head .psxf-head-price {
    order: 50;
}
.fgame-container .psxf-table-head .psxf-head-admin {
    order: 60;
}
.fgame-container .psxf-table-head .psxf-head-subscribe,
.fgame-container .psxf-table-head .psxf-head-state {
    order: 90 !important;
    position: static !important;
    inset: auto !important;
    float: none !important;
    right: auto !important;
    top: auto !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 240px !important;
}
.fgame-container .psxf-table-head .psxf-head-spoiler {
    order: 100 !important;
    position: static !important;
    inset: auto !important;
    margin: 0 0 0 2px !important;
    flex: 0 0 auto !important;
}
.fgame-container .psxf-head-subscribe {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
}
.fgame-container .psxf-head-subscribe .fgame-subscribe,
.fgame-container .psxf-head-subscribe .fgame-unsubscribe {
    float: none !important;
    position: static !important;
    margin: 0 !important;
}
.fgame-container .psxf-head-state {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.fgame-container .psxf-head-state .head-marker {
    position: static !important;
    inset: auto !important;
    right: auto !important;
    top: auto !important;
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    border-radius: 7px !important;
    white-space: nowrap !important;
}
/* Колонка участника - независимые имена классов защищают от старого CSS. */
.fgame-container th.uch.psxf-member-head,
.fgame-container td.fgame-member.psxf-member-cell {
    text-align: center !important;
}
.fgame-container td.fgame-member.psxf-member-cell {
    vertical-align: middle !important;
    overflow: visible !important;
}
.fgame-container td.fgame-member.psxf-member-cell .user-card.psxf-member-card {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
    position: relative !important;
}
.fgame-container td.fgame-member.psxf-member-cell .user_tabl.psxf-member-main {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    gap: 7px !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}
.fgame-container td.fgame-member.psxf-member-cell .nick_tabl.psxf-member-name {
    display: block !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 220px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-align: center !important;
    text-overflow: clip !important;
    white-space: normal !important;
    opacity: 1 !important;
    visibility: visible !important;
    line-height: 1.2 !important;
}
.fgame-container td.fgame-member.psxf-member-cell .nick_tabl.psxf-member-name * {
    opacity: 1 !important;
    visibility: visible !important;
}
.fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    gap: 4px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
}
/* Свободное место тоже визуально центрируется как единый блок. */
.fgame-container td.fgame-member.psxf-member-cell .fgame-action.psxf-empty-member {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    text-align: center !important;
}
.fgame-container td.fgame-member.psxf-member-cell .fgame-empty-user.psxf-empty-label,
.fgame-container td.fgame-member.psxf-member-cell .fgame-empty-actions.psxf-empty-actions {
    flex: 0 0 auto !important;
    margin: 0 !important;
}
/* Пользовательские статусы: собственные цвета, не зависят от старых тем. */
.fgame-container .psxf-status-view {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 116px !important;
    min-height: 30px !important;
    padding: 5px 9px !important;
    border: 1px solid transparent !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
.fgame-container .psxf-status-view.psxf-status-0 {
    color: #d9e1ec !important;
    background: #293342 !important;
    border-color: #465469 !important;
}
.fgame-container .psxf-status-view.psxf-status-1 {
    color: #ffe0a0 !important;
    background: #6b480d !important;
    border-color: #a96f0d !important;
}
.fgame-container .psxf-status-view.psxf-status-2 {
    color: #e0ffeb !important;
    background: #17663a !important;
    border-color: #268d51 !important;
}
.fgame-container .psxf-status-view.psxf-status-3 {
    color: #ffdce0 !important;
    background: #6b252d !important;
    border-color: #a63c47 !important;
}
/* Админский picker также принудительно получает те же смысловые цвета. */
.fgame-container .fgame-status-admin[data-status="0"] .fgame-status-trigger {
    color: #d9e1ec !important;
    background: #293342 !important;
    border-color: #465469 !important;
}
.fgame-container .fgame-status-admin[data-status="1"] .fgame-status-trigger {
    color: #ffe0a0 !important;
    background: #6b480d !important;
    border-color: #a96f0d !important;
}
.fgame-container .fgame-status-admin[data-status="2"] .fgame-status-trigger {
    color: #e0ffeb !important;
    background: #17663a !important;
    border-color: #268d51 !important;
}
.fgame-container .fgame-status-admin[data-status="3"] .fgame-status-trigger {
    color: #ffdce0 !important;
    background: #6b252d !important;
    border-color: #a63c47 !important;
}
@media (max-width:767.98px) {
    .fgame-container .psxf-table-head {
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
    /* На мобильном правая группа всегда остаётся справа в первой строке. */
    .fgame-container .psxf-table-head .psxf-head-subscribe,
    .fgame-container .psxf-table-head .psxf-head-state {
        margin-left: auto !important;
        max-width: 150px !important;
    }
    .fgame-container .psxf-table-head .psxf-head-spoiler {
        margin-left: 0 !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell {
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .user-card.psxf-member-card {
        gap: 5px !important;
        width: auto !important;
        max-width: 100% !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .user_tabl.psxf-member-main {
        gap: 4px !important;
        max-width: calc(100% - 54px) !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .user_tabl.psxf-member-main .user-avatar,
    .fgame-container td.fgame-member.psxf-member-cell .user_tabl.psxf-member-main .user-avatar img {
        width: 27px !important;
        height: 27px !important;
        min-width: 27px !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .nick_tabl.psxf-member-name {
        display: block !important;
        max-width: 82px !important;
        font-size: 10px !important;
        line-height: 1.12 !important;
        overflow: visible !important;
        white-space: normal !important;
        word-break: normal !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions {
        gap: 3px !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .fgame-payment-slot,
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .getout {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        flex: 0 0 24px !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .fgame-paybutton a,
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .fgame-paylabel,
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .repay-button,
    .fgame-container td.fgame-member.psxf-member-cell .fgame-user-actions.psxf-member-actions .getout {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        padding: 0 !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .fgame-action.psxf-empty-member {
        gap: 5px !important;
    }
    .fgame-container td.fgame-member.psxf-member-cell .fgame-empty-user.psxf-empty-label {
        font-size: 10px !important;
    }
    .fgame-container .psxf-status-view {
        min-width: 32px !important;
        width: 32px !important;
        min-height: 32px !important;
        height: 32px !important;
        padding: 0 !important;
        border-radius: 8px !important;
    }
    .fgame-container .psxf-status-view span {
        display: none !important;
    }
    .fgame-container .psxf-status-view i {
        font-size: 12px !important;
    }
}
/* ========================================================================== */
/* PSXCLUB fgame v13 - participant layout reset                              */
/* Отдельные psx13-* классы отвечают только за геометрию колонки Участник.   */
/* Старые fgame-* остаются для JS, прав и AJAX.                               */
/* ========================================================================== */
/* Центрируем именно содержимое колонки, а не отдельные элементы внутри. */
.fgame-container td.psx13-member-cell {
    text-align: center !important;
    vertical-align: middle !important;
    position: relative !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
.fgame-container td.psx13-member-cell > .psx13-member-card {
    display: inline-flex !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-flow: row nowrap !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
}
.fgame-container td.psx13-member-cell .psx13-member-main {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 1 auto !important;
    gap: 7px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    float: none !important;
}
.fgame-container td.psx13-member-cell .psx13-member-main .user-avatar {
    flex: 0 0 auto !important;
    margin: 0 !important;
    position: relative !important;
}
.fgame-container td.psx13-member-cell .psx13-member-name {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 260px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    text-align: left !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    opacity: 1 !important;
    visibility: visible !important;
}
/* Awards может возвращать вложенные ссылки/spans - запрещаем им дробить ник по буквам. */
.fgame-container td.psx13-member-cell .psx13-member-name > *,
.fgame-container td.psx13-member-cell .psx13-member-name a,
.fgame-container td.psx13-member-cell .psx13-member-name span,
.fgame-container td.psx13-member-cell .psx13-member-name div {
    max-width: 100% !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.fgame-container td.psx13-member-cell .psx13-member-actions {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 0 0 auto !important;
    flex-flow: row nowrap !important;
    gap: 4px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    float: none !important;
}
.fgame-container td.psx13-member-cell .psx13-member-actions .fgame-payment-slot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
}
/* Свободная позиция центрируется тем же способом. */
.fgame-container td.psx13-member-cell > .psx13-empty-member {
    display: inline-flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex-flow: row nowrap !important;
    gap: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
    text-align: left !important;
}
.fgame-container td.psx13-member-cell .psx13-empty-label,
.fgame-container td.psx13-member-cell .psx13-empty-actions {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    position: static !important;
}
.fgame-container td.psx13-member-cell .psx13-empty-actions {
    gap: 4px !important;
}
/* На широком экране отдаём участнику максимум места. */
@media (min-width:768px) {
    .fgame-container .fgame-table th.pos,
    .fgame-container .fgame-table td.fgame-position {
        width: 74px !important;
    }
    .fgame-container .fgame-table th.price-head,
    .fgame-container .fgame-table td.fgame-price {
        width: 112px !important;
    }
    .fgame-container .fgame-table th.stst,
    .fgame-container .fgame-table td.fgame-status {
        width: 140px !important;
    }
    .fgame-container .fgame-table th.uch {
        width: auto !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-name {
        max-width: 320px !important;
        font-size: 12px !important;
    }
}
@media (max-width:767.98px) {
    /* Таблица остаётся настоящей таблицей. Основная ширина у Участника. */
    .fgame-container .fgame-table {
        width: 100% !important;
        table-layout: fixed !important;
    }
    .fgame-container .fgame-table th.pos,
    .fgame-container .fgame-table td.fgame-position {
        width: 58px !important;
    }
    .fgame-container .fgame-table th.price-head,
    .fgame-container .fgame-table td.fgame-price {
        width: 72px !important;
    }
    .fgame-container .fgame-table th.stst,
    .fgame-container .fgame-table td.fgame-status {
        width: 48px !important;
    }
    .fgame-container .fgame-table th.uch {
        width: auto !important;
    }
    .fgame-container td.psx13-member-cell {
        padding: 4px 3px !important;
        overflow: hidden !important;
    }
    .fgame-container td.psx13-member-cell > .psx13-member-card {
        display: inline-flex !important;
        flex-flow: row nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 5px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-main {
        display: inline-flex !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 55px) !important;
        gap: 4px !important;
        overflow: hidden !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-main .user-avatar,
    .fgame-container td.psx13-member-cell .psx13-member-main .user-avatar img,
    .fgame-container td.psx13-member-cell .psx13-member-main .user-avatar .avatar,
    .fgame-container td.psx13-member-cell .psx13-member-main .user-avatar .icms-profile-avatar__default {
        width: 27px !important;
        min-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        flex: 0 0 27px !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-name {
        display: flex !important;
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 112px !important;
        font-size: 10.5px !important;
        line-height: 1.08 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        word-break: normal !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-name > *,
    .fgame-container td.psx13-member-cell .psx13-member-name a,
    .fgame-container td.psx13-member-cell .psx13-member-name span:not(.fgame-you-inline),
    .fgame-container td.psx13-member-cell .psx13-member-name div {
        display: block !important;
        max-width: 112px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        word-break: normal !important;
    }
    .fgame-container td.psx13-member-cell .fgame-you-inline {
        display: block !important;
        max-width: 112px !important;
        margin-top: 1px !important;
        font-size: 8px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-actions {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        gap: 3px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    /* На телефоне действия только иконками - они занимают максимум 51px. */
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-payment-slot,
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paybutton,
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paybutton a,
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paylabel,
    .fgame-container td.psx13-member-cell .psx13-member-actions .repay-button,
    .fgame-container td.psx13-member-cell .psx13-member-actions .getout {
        width: 24px !important;
        min-width: 24px !important;
        max-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        max-height: 24px !important;
        flex: 0 0 24px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 6px !important;
        position: static !important;
        transform: none !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paybutton a,
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paylabel,
    .fgame-container td.psx13-member-cell .psx13-member-actions .repay-button,
    .fgame-container td.psx13-member-cell .psx13-member-actions .getout {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-action-label,
    .fgame-container td.psx13-member-cell .psx13-member-actions .getout > span,
    .fgame-container td.psx13-member-cell .psx13-member-actions .fgame-paybutton span {
        display: none !important;
    }
    /* Свободное место: подпись остаётся в центре, действия рядом и не лезут в цену. */
    .fgame-container td.psx13-member-cell > .psx13-empty-member {
        display: inline-flex !important;
        flex-flow: row nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-label {
        min-width: 0 !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-actions {
        flex: 0 0 auto !important;
        gap: 3px !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-actions .fgame-join {
        min-width: 0 !important;
        height: 27px !important;
        min-height: 27px !important;
        padding: 3px 6px !important;
        font-size: 9px !important;
        white-space: nowrap !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-actions .fgame-finduser {
        width: 27px !important;
        min-width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
    }
}
/* Совсем узкий экран: сохраняем ник, уменьшая только текст кнопки записи. */
@media (max-width:420px) {
    .fgame-container .fgame-table th.pos,
    .fgame-container .fgame-table td.fgame-position {
        width: 54px !important;
    }
    .fgame-container .fgame-table th.price-head,
    .fgame-container .fgame-table td.fgame-price {
        width: 68px !important;
    }
    .fgame-container .fgame-table th.stst,
    .fgame-container .fgame-table td.fgame-status {
        width: 44px !important;
    }
    .fgame-container td.psx13-member-cell .psx13-member-name,
    .fgame-container td.psx13-member-cell .psx13-member-name > *,
    .fgame-container td.psx13-member-cell .psx13-member-name a,
    .fgame-container td.psx13-member-cell .psx13-member-name span:not(.fgame-you-inline),
    .fgame-container td.psx13-member-cell .psx13-member-name div {
        max-width: 92px !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-actions .fgame-join span {
        display: none !important;
    }
    .fgame-container td.psx13-member-cell .psx13-empty-actions .fgame-join {
        width: 28px !important;
        min-width: 28px !important;
        padding: 0 !important;
        justify-content: center !important;
    }
}
/* =========================================================
   PSXCLUB FGame v14 - стабильная шапка и участники
   Эти селекторы намеренно идут последними и имеют отдельный
   namespace psx14, чтобы старые стили компонента не конфликтовали.
   ========================================================= */
.fgame-container .psx14-head-id {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    flex: 0 0 auto !important;
    min-width: 0 !important;
    order: -20 !important;
}
.fgame-container .psx14-head-id .setnum,
.fgame-container .psx14-head-id .you-in-table,
.fgame-container .psx14-head-id .fgame-copy-link {
    position: static !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}
/* Участник - единая компактная группа по центру столбца */
.fgame-container td.psx14-member-cell {
    text-align: center !important;
    vertical-align: middle !important;
    overflow: hidden !important;
}
.fgame-container td.psx14-member-cell > .psx14-member-card {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    gap: 6px !important;
    float: none !important;
    position: static !important;
}
.fgame-container td.psx14-member-cell .psx14-member-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    flex: 0 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 60px) !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
}
.fgame-container td.psx14-member-cell .psx14-member-main .user-avatar,
.fgame-container td.psx14-member-cell .psx14-member-main .user-avatar img,
.fgame-container td.psx14-member-cell .psx14-member-main .avatar,
.fgame-container td.psx14-member-cell .psx14-member-main .icms-profile-avatar__default {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    margin: 0 !important;
    float: none !important;
}
.fgame-container td.psx14-member-cell .psx14-member-name {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 150px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.15 !important;
}
.fgame-container td.psx14-member-cell .psx14-member-name > *,
.fgame-container td.psx14-member-cell .psx14-member-name a,
.fgame-container td.psx14-member-cell .psx14-member-name div {
    max-width: 100% !important;
}
.fgame-container td.psx14-member-cell .psx14-member-actions {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    position: static !important;
}
/* На кнопках действий только иконки */
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton span,
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel .fgame-action-label,
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button span,
.fgame-container td.psx14-member-cell .psx14-member-actions .getout span {
    display: none !important;
}
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-payment-slot,
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton,
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
.fgame-container td.psx14-member-cell .psx14-member-actions .getout {
    flex: 0 0 auto !important;
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;
    min-height: 27px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-payment-slot {
    display: inline-flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
}
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton a,
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
.fgame-container td.psx14-member-cell .psx14-member-actions .getout {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 27px !important;
    min-width: 27px !important;
    height: 27px !important;
    min-height: 27px !important;
    border-radius: 7px !important;
}
/* inline display:none должен иметь приоритет - это критично для возврата */
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton[style*="display:none"],
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton[style*="display: none"],
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel[style*="display:none"],
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel[style*="display: none"],
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button[style*="display:none"],
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button[style*="display: none"] {
    display: none !important;
}
/* Свободная позиция */
.fgame-container td.psx14-member-cell > .psx14-empty-member {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    position: static !important;
}
.fgame-container td.psx14-member-cell .psx14-empty-label,
.fgame-container td.psx14-member-cell .psx14-empty-actions {
    position: static !important;
    float: none !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}
@media (max-width:767.98px) {
    /* Верхняя строка шапки: номер + Вы тут + ссылка, стрелка справа */
    .fgame-container .fgame-number-block.psxf-table-head {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-auto-flow: row !important;
        align-items: center !important;
        gap: 7px 6px !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .psx14-head-id {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        max-width: 100% !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .fgame-spoiler {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .fgame-occupancy {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .total-price {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin: 0 !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .total-actions {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin: 0 !important;
        justify-content: space-between !important;
    }
    .fgame-container .fgame-number-block.psxf-table-head > .psxf-head-subscribe,
    .fgame-container .fgame-number-block.psxf-table-head > .psxf-head-state {
        grid-column: 1 / -1 !important;
        position: static !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        justify-self: start !important;
    }
    /* Колонки на телефоне: больше места участнику */
    .fgame-container table.fgame-table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    .fgame-container table.fgame-table th.pos,
    .fgame-container table.fgame-table td.fgame-position {
        width: 14% !important;
    }
    .fgame-container table.fgame-table th.uch,
    .fgame-container table.fgame-table td.psx14-member-cell {
        width: 50% !important;
    }
    .fgame-container table.fgame-table th.price-head,
    .fgame-container table.fgame-table td.fgame-price {
        width: 22% !important;
    }
    .fgame-container table.fgame-table th.stst,
    .fgame-container table.fgame-table td.fgame-status {
        width: 14% !important;
    }
    .fgame-container td.psx14-member-cell {
        padding: 4px 2px !important;
    }
    .fgame-container td.psx14-member-cell > .psx14-member-card {
        gap: 4px !important;
        max-width: 100% !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-main {
        gap: 4px !important;
        max-width: calc(100% - 55px) !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-main .user-avatar,
    .fgame-container td.psx14-member-cell .psx14-member-main .user-avatar img,
    .fgame-container td.psx14-member-cell .psx14-member-main .avatar,
    .fgame-container td.psx14-member-cell .psx14-member-main .icms-profile-avatar__default {
        width: 25px !important;
        min-width: 25px !important;
        height: 25px !important;
        flex-basis: 25px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-name {
        max-width: 72px !important;
        font-size: 10.5px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions {
        gap: 2px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton a,
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
    .fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
    .fgame-container td.psx14-member-cell .psx14-member-actions .getout {
        width: 24px !important;
        min-width: 24px !important;
        height: 24px !important;
        min-height: 24px !important;
        padding: 0 !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions i {
        font-size: 10px !important;
    }
    .fgame-container td.psx14-member-cell > .psx14-empty-member {
        gap: 4px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-label {
        font-size: 10px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions {
        display: flex !important;
        gap: 3px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join {
        padding: 5px 7px !important;
        font-size: 10px !important;
    }
}
@media (max-width:390px) {
    .fgame-container td.psx14-member-cell .psx14-member-name {
        max-width: 58px !important;
        font-size: 10px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join span {
        display: none !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join {
        width: 26px !important;
        min-width: 26px !important;
        padding: 0 !important;
        justify-content: center !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v15 - action labels + final responsive normalization          */
/* Все CSS правила компонента собраны в этом единственном style-блоке.         */
/* ========================================================================== */
/* Служебный стиль из userfield.tpl.php теперь тоже хранится здесь. */
.icms-profile-avatar__default.avatar__inlist {
    width: 38px;
    height: 38px;
}
/* Базовая геометрия кнопок действий участника. */
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-action-label {
    line-height: 1;
    white-space: nowrap;
}
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton a,
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
.fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
.fgame-container td.psx14-member-cell .psx14-member-actions .getout,
.fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join,
.fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-finduser {
    gap: 5px !important;
}
.fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
}
/* ПК: у действий есть понятный текст. */
@media (min-width:768px) {
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-action-label,
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-action-label {
        display: inline !important;
        font-size: 11px !important;
        font-weight: 700 !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-payment-slot {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        flex: 0 0 auto !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton,
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
    .fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
    .fgame-container td.psx14-member-cell .psx14-member-actions .getout {
        width: auto !important;
        min-width: 0 !important;
        height: 28px !important;
        min-height: 28px !important;
        flex: 0 0 auto !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton a,
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
    .fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
    .fgame-container td.psx14-member-cell .psx14-member-actions .getout {
        width: auto !important;
        min-width: 0 !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 8px !important;
        border-radius: 7px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-finduser {
        width: auto !important;
        min-width: 0 !important;
        height: 30px !important;
        padding: 0 8px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}
/* Телефон: те же действия остаются только иконками и не раздувают колонку. */
@media (max-width:767.98px) {
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-action-label,
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-action-label,
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join > span {
        display: none !important;
    }
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paybutton a,
    .fgame-container td.psx14-member-cell .psx14-member-actions .fgame-paylabel,
    .fgame-container td.psx14-member-cell .psx14-member-actions .repay-button,
    .fgame-container td.psx14-member-cell .psx14-member-actions .getout,
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join,
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-finduser {
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
        min-height: 26px !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 7px !important;
        flex: 0 0 26px !important;
    }
    .fgame-container td.psx14-member-cell .psx14-empty-actions .fgame-join {
        justify-content: center !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v16 - stable participant/action layout                       */
/* Новая геометрия использует только psx16-* и не зависит от старых psx13/14. */
/* ========================================================================== */
/* Колонка участника */
.fgame-container.psx16-ui th.psx16-member-head {
    text-align: center !important;
}
.fgame-container.psx16-ui td.psx16-member-cell {
    text-align: center !important;
    vertical-align: middle !important;
    padding: 7px 10px !important;
    overflow: hidden !important;
}
/* Занятая позиция: пользователь и действия - единая центрированная группа. */
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    overflow: visible !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 60% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar {
    position: relative !important;
    display: block !important;
    flex: 0 0 30px !important;
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    float: none !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar img,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .avatar,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .icms-profile-avatar__default {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 180px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.1 !important;
    text-align: left !important;
    overflow: hidden !important;
    position: static !important;
    float: none !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name > a,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name > div,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name > span:not(.fgame-you-inline) {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .fgame-you-inline {
    display: block !important;
    margin-top: 2px !important;
    font-size: 9px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}
/* Действия занятой позиции */
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
    overflow: visible !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-payment-slot {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user {
    flex: 0 0 auto !important;
    margin: 0 !important;
    float: none !important;
    position: static !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
    padding: 0 9px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}
/* inline style display:none должен оставаться сильнее визуального слоя */
.fgame-container.psx16-ui td.psx16-member-cell .fgame-paybutton[style*="display:none"],
.fgame-container.psx16-ui td.psx16-member-cell .fgame-paybutton[style*="display: none"],
.fgame-container.psx16-ui td.psx16-member-cell .fgame-paylabel[style*="display:none"],
.fgame-container.psx16-ui td.psx16-member-cell .fgame-paylabel[style*="display: none"],
.fgame-container.psx16-ui td.psx16-member-cell .psx16-repay[style*="display:none"],
.fgame-container.psx16-ui td.psx16-member-cell .psx16-repay[style*="display: none"] {
    display: none !important;
}
/* Свободная позиция */
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    float: none !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-join,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    height: 30px !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    flex: 0 0 auto !important;
    position: static !important;
    float: none !important;
    overflow: hidden !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
    min-width: 86px !important;
    background: linear-gradient(180deg,#754bd0,#56339d) !important;
    border: 1px solid #8258d4 !important;
    color: #fff !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user:hover,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-join:hover {
    filter: brightness(1.08) !important;
}
/* ПК: подписи действий видны. */
@media (min-width:768px) {
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-action-label,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join > span {
        display: inline !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-width: none !important;
    }
}
/* Телефон: устойчивые размеры колонок и только иконки на кнопках. */
@media (max-width:767.98px) {
    .fgame-container.psx16-ui table.fgame-table {
        width: 100% !important;
        table-layout: fixed !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.pos,
    .fgame-container.psx16-ui table.fgame-table td.fgame-position {
        width: 15% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx16-ui table.fgame-table td.psx16-member-cell {
        width: 49% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.price-head,
    .fgame-container.psx16-ui table.fgame-table td.fgame-price {
        width: 22% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.stst,
    .fgame-container.psx16-ui table.fgame-table td.fgame-status {
        width: 14% !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell {
        padding: 5px 3px !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card {
        gap: 5px !important;
        justify-content: center !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main {
        gap: 5px !important;
        max-width: calc(100% - 62px) !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar img,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .avatar,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .icms-profile-avatar__default {
        flex-basis: 26px !important;
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
        max-width: 82px !important;
        font-size: 10.5px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions {
        gap: 3px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-action-label,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join > span {
        display: none !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        padding: 0 !important;
        flex: 0 0 28px !important;
        border-radius: 7px !important;
        gap: 0 !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        min-width: 28px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member {
        gap: 6px !important;
        justify-content: center !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
        font-size: 10.5px !important;
        gap: 4px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions {
        gap: 3px !important;
    }
}
@media (max-width:390px) {
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
        max-width: 66px !important;
        font-size: 10px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label span {
        max-width: 54px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v17 - compact mobile header + reliable AJAX payment state     */
/* ========================================================================== */
/* Старые блоки подписки остаются в DOM ради совместимости, но интерфейс теперь
   использует единственную кнопку рядом с копированием ссылки. */
.fgame-container.psx16-ui .psxf-head-subscribe {
    display: none !important;
}
.fgame-container.psx16-ui .psx17-subscribe-inline {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fgame-container.psx16-ui .psx17-subscribe-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 9px !important;
    margin: 0 !important;
    border: 1px solid #394252 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg,#283141,#1b2230) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    float: none !important;
    position: static !important;
}
.fgame-container.psx16-ui .psx17-subscribe-button:hover {
    filter: brightness(1.12);
}
/* Desktop: left identity group stays compact; right-side controls remain where
   they already look good. */
@media (min-width:768px) {
    .fgame-container.psx16-ui .psx14-head-id {
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }
}
/* Mobile header deliberately mirrors desktop hierarchy without narrow vertical
   fragments: identity on top, occupancy, price, actions, state. */
@media (max-width:767.98px) {
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) 38px !important;
        grid-auto-rows: auto !important;
        align-items: center !important;
        gap: 8px !important;
        min-height: 0 !important;
        padding: 9px !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .psx14-head-id {
        grid-column: 1 !important;
        grid-row: 1 !important;
        display: flex !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 5px !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .setnum {
        height: 36px !important;
        min-height: 36px !important;
        min-width: 0 !important;
        padding: 0 9px !important;
        font-size: 14px !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .you-in-table {
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 8px !important;
        font-size: 10px !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .fgame-copy-link,
    .fgame-container.psx16-ui .psx14-head-id .psx17-subscribe-button {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        flex: 0 0 34px !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .psx17-subscribe-button span {
        display: none !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .fgame-spoiler {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        margin: 0 !important;
        justify-self: end !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .fgame-occupancy {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: auto minmax(0,1fr) !important;
        gap: 7px !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .fgame-occupancy .fgame-progress {
        width: 100% !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .total-price {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 32px !important;
        margin: 0 !important;
        padding: 6px 4px !important;
        border-left: 0 !important;
        border-top: 1px solid var(--fg-line) !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .total-actions {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding-top: 7px !important;
        border-top: 1px solid var(--fg-line) !important;
        display: flex !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .total-actions > a {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .psxf-head-state {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        position: static !important;
        justify-self: stretch !important;
    }
    .fgame-container.psx16-ui .fgame-number-block.psxf-table-head > .psxf-head-state .head-marker {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        border-radius: 7px !important;
        text-align: center !important;
    }
    /* Table itself: keep the same information hierarchy as desktop. */
    .fgame-container.psx16-ui table.fgame-table {
        width: 100% !important;
        table-layout: fixed !important;
    }
    .fgame-container.psx16-ui table.fgame-table th,
    .fgame-container.psx16-ui table.fgame-table td {
        box-sizing: border-box !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.pos,
    .fgame-container.psx16-ui table.fgame-table td.fgame-position {
        width: 15% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx16-ui table.fgame-table td.psx16-member-cell {
        width: 47% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.price-head,
    .fgame-container.psx16-ui table.fgame-table td.fgame-price {
        width: 23% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.stst,
    .fgame-container.psx16-ui table.fgame-table td.fgame-status {
        width: 15% !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell {
        padding: 5px 3px !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 10.5px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions {
        flex: 0 0 auto !important;
        gap: 3px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        padding: 0 !important;
        flex: 0 0 27px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-action-label,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join > span {
        display: none !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        justify-content: flex-start !important;
        overflow: hidden !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label span {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions {
        flex: 0 0 auto !important;
        gap: 3px !important;
    }
}
/* ===== PSXCLUB v18: mobile status portal + subscription state ===== */
.fgame-container.psx16-ui .psx18-subscribe-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
    border: 1px solid #3d4756 !important;
    border-radius: 8px !important;
    background: #202734 !important;
    color: #e8edf4 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.fgame-container.psx16-ui .psx18-subscribe-button.is-subscribed {
    background: linear-gradient(180deg,#249457,#197442) !important;
    border-color: #2da966 !important;
    color: #fff !important;
    box-shadow: 0 0 0 1px rgba(45,169,102,.12),inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.fgame-container.psx16-ui .psx18-subscribe-button.is-subscribed i {
    color: #dffff0 !important;
}
.fgame-status-mobile-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.52) !important;
    z-index: 2147483600 !important;
}
.fgame-status-mobile-portal {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    bottom: max(12px,env(safe-area-inset-bottom)) !important;
    z-index: 2147483601 !important;
    padding: 10px !important;
    border: 1px solid #3c4654 !important;
    border-radius: 14px !important;
    background: #121923 !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.6) !important;
    color: #fff !important;
}
.fgame-status-mobile-title {
    padding: 3px 5px 9px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #cfd7e3 !important;
}
.fgame-status-mobile-portal .fgame-status-option {
    width: 100% !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 3px 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #1d2633 !important;
    color: #edf2f8 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-align: left !important;
}
.fgame-status-mobile-portal .fgame-status-option.is-active {
    background: #2b3544 !important;
}
.fgame-status-mobile-portal .fgame-status-option-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
    border-radius: 7px !important;
    background: #2d3747 !important;
}
.fgame-status-mobile-portal .fgame-status-option-label {
    flex: 1 1 auto !important;
}
.fgame-status-mobile-portal .fgame-status-check {
    margin-left: auto !important;
}
@media (max-width:767.98px) {
    .fgame-container.psx16-ui .psx14-head-id {
        overflow: visible !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .psx18-subscribe-button {
        width: 34px !important;
        min-width: 34px !important;
        max-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        flex: 0 0 34px !important;
        border-radius: 8px !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .psx18-subscribe-button span {
        display: none !important;
    }
    .fgame-container.psx16-ui .fgame-section,.fgame-container.psx16-ui .table-spoiler {
        overflow: visible !important;
    }
}
/* ===== PSXCLUB v19: symmetric member column + single inline subscription ===== */
/* В старом шаблоне осталось два прежних блока подписки. Они нужны только как
   историческая разметка, но визуально больше не участвуют. Единственная рабочая
   кнопка подписки находится в .psx14-head-id сразу после кнопки копирования. */
.fgame-container.psx16-ui .psxf-head-subscribe,
.fgame-container.psx16-ui .subs.psxf-head-subscribe,
.fgame-container.psx16-ui .subs_org.psxf-head-subscribe {
    display: none !important;
}
/* Жёсткий и предсказуемый порядок элементов слева в шапке таблицы. */
.fgame-container.psx16-ui .psx14-head-id {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    min-width: 0 !important;
    overflow: visible !important;
}
.fgame-container.psx16-ui .psx14-head-id > .setnum {
    order: 10 !important;
}
.fgame-container.psx16-ui .psx14-head-id > .you-in-table {
    order: 20 !important;
}
.fgame-container.psx16-ui .psx14-head-id > .fgame-copy-link {
    order: 30 !important;
}
.fgame-container.psx16-ui .psx14-head-id > .psx18-subscribe-button {
    order: 40 !important;
}
/*
 * Одинаковая геометрия занятой и свободной позиции.
 * Слева зеркальный резерв, по центру пользователь/"Свободно", справа действия.
 * Благодаря этому центральный блок не прыгает при появлении кнопок.
 */
.fgame-container.psx16-ui td.psx16-member-cell {
    text-align: center !important;
    vertical-align: middle !important;
    overflow: hidden !important;
    padding: 5px 8px !important;
}
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card,
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 42px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(105px,1fr) minmax(0,280px) minmax(105px,1fr) !important;
    align-items: center !important;
    column-gap: 8px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card::before,
.fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member::before {
    content: "";
    display: block;
    grid-column: 1 !important;
    min-width: 0 !important;
}
/* Центральная зона: одинаково для пользователя и для пустой позиции. */
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    overflow: hidden !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar {
    flex: 0 0 auto !important;
    margin: 0 !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: 210px !important;
    margin: 0 !important;
    text-align: left !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
    color: #cbd4df !important;
    white-space: nowrap !important;
}
/* Правая зона: действия всегда занимают одно и то же место. */
.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions,
.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions {
    grid-column: 3 !important;
    justify-self: start !important;
    align-self: center !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
}
.fgame-container.psx16-ui td.psx16-member-cell .psx16-payment-slot {
    display: flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}
/* ПК: полноценные кнопки с текстом, но одинаковой высоты. */
@media (min-width:768px) {
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        width: auto !important;
        min-width: 34px !important;
        max-width: none !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 10px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-action-label,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join > span {
        display: inline !important;
    }
}
/* Телефон: та же симметрия, только действия становятся компактными иконками. */
@media (max-width:767.98px) {
    .fgame-container.psx16-ui table.fgame-table th.pos,
    .fgame-container.psx16-ui table.fgame-table td.fgame-position {
        width: 15% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx16-ui table.fgame-table td.psx16-member-cell {
        width: 50% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.price-head,
    .fgame-container.psx16-ui table.fgame-table td.fgame-price {
        width: 22% !important;
    }
    .fgame-container.psx16-ui table.fgame-table th.stst,
    .fgame-container.psx16-ui table.fgame-table td.fgame-status {
        width: 13% !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell {
        padding: 4px 2px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-member-card,
    .fgame-container.psx16-ui td.psx16-member-cell > .psx16-empty-member {
        min-height: 48px !important;
        grid-template-columns: 58px minmax(0,1fr) 58px !important;
        column-gap: 3px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
        gap: 4px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .user-avatar img,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .avatar,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-main .icms-profile-avatar__default {
        width: 26px !important;
        height: 26px !important;
        min-width: 26px !important;
        flex: 0 0 26px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-name {
        max-width: 74px !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .fgame-you-inline {
        font-size: 8px !important;
        line-height: 1.05 !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-label {
        font-size: 10.5px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions {
        width: 58px !important;
        max-width: 58px !important;
        justify-self: start !important;
        gap: 3px !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        padding: 0 !important;
        flex: 0 0 27px !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-action-label,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join > span {
        display: none !important;
    }
    /* Верхняя группа остаётся в одну строку и подписка всегда идёт после ссылки. */
    .fgame-container.psx16-ui .psx14-head-id {
        gap: 6px !important;
        max-width: calc(100% - 44px) !important;
    }
    .fgame-container.psx16-ui .psx14-head-id .setnum,
    .fgame-container.psx16-ui .psx14-head-id .you-in-table,
    .fgame-container.psx16-ui .psx14-head-id .fgame-copy-link,
    .fgame-container.psx16-ui .psx14-head-id .psx18-subscribe-button {
        flex-shrink: 0 !important;
    }
}
/* ===== PSXCLUB v20: visibility safety guard =====
 * ВАЖНО: видимость этих элементов определяется PHP/JS-проверками.
 * Этот блок намеренно имеет повышенную специфичность и находится ПОСЛЕ
 * всех декоративных правил, чтобы оформление никогда не могло отменить
 * display:none, выставленный бизнес-логикой.
 */
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .fgame-paybutton[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .fgame-paybutton[style*="display: none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .fgame-paylabel[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .fgame-paylabel[style*="display: none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .repay-button[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-payment-slot .repay-button[style*="display: none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-join[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-join[style*="display: none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-finduser[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-finduser[style*="display: none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-unavailable[style*="display:none"],
html body .fgame-container.psx16-ui.fgame-container.psx16-ui td.psx16-member-cell .psx16-empty-actions .fgame-unavailable[style*="display: none"] {
    display: none !important;
}
/* Flex-геометрия применяется ТОЛЬКО к реально видимым action-элементам. */
@media (min-width:768px) {
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        display: inline-flex !important;
    }
}
@media (max-width:767.98px) {
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-member-actions .psx16-repay:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-remove-user,
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-join:not([style*="display:none"]):not([style*="display: none"]),
    .fgame-container.psx16-ui td.psx16-member-cell .psx16-add-user {
        display: inline-flex !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v21 - mobile participant alignment + compact price settings  */
/* ========================================================================== */
/* Цена таблицы больше не занимает постоянное место в шапке. */
.fgame-container.psx21-ui .psx21-price-tools {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 0 !important;
}
.fgame-container.psx21-ui .psx21-price-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    border: 1px solid #465166 !important;
    border-radius: 8px !important;
    background: linear-gradient(180deg,#3a4658,#252e3c) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.fgame-container.psx21-ui .psx21-price-toggle:hover,
.fgame-container.psx21-ui .psx21-price-tools.is-open .psx21-price-toggle {
    border-color: #d19a35 !important;
    background: linear-gradient(180deg,#564321,#362b1b) !important;
}
.fgame-container.psx21-ui .psx21-price-toggle i {
    color: #ffc857 !important;
}
.fgame-container.psx21-ui .psx21-price-panel {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 8px) !important;
    left: 0 !important;
    z-index: 2147483000 !important;
    width: 238px !important;
    padding: 10px !important;
    border: 1px solid #3a4657 !important;
    border-radius: 11px !important;
    background: #121a25 !important;
    box-shadow: 0 14px 40px rgba(0,0,0,.48) !important;
    color: #fff !important;
    box-sizing: border-box !important;
}
.fgame-container.psx21-ui .psx21-price-tools.is-open .psx21-price-panel {
    display: block !important;
}
.fgame-container.psx21-ui .psx21-price-panel-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    margin: 0 0 9px !important;
    padding: 0 0 8px !important;
    border-bottom: 1px solid #293445 !important;
    font-size: 12px !important;
}
.fgame-container.psx21-ui .psx21-price-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    padding: 0 !important;
    border: 1px solid #394557 !important;
    border-radius: 7px !important;
    background: #202a37 !important;
    color: #dce4ee !important;
    cursor: pointer !important;
}
.fgame-container.psx21-ui .psx21-price-panel .psx21-price-value {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: 100% !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 7px 9px !important;
    border: 1px solid #303c4d !important;
    border-radius: 8px !important;
    background: #0d141e !important;
    box-sizing: border-box !important;
}
.fgame-container.psx21-ui .psx21-price-panel .setprice {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-align: left !important;
}
.fgame-container.psx21-ui .psx21-price-panel-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px !important;
    margin-top: 8px !important;
}
.fgame-container.psx21-ui .psx21-price-panel-actions > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-height: 34px !important;
    padding: 0 8px !important;
    border: 1px solid #3b4758 !important;
    border-radius: 8px !important;
    background: #202a37 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}
.fgame-container.psx21-ui .psx21-price-panel-actions .total-edit {
    background: linear-gradient(180deg,#2d75e8,#2359ad) !important;
    border-color: #3d7ee8 !important;
}
.fgame-container.psx21-ui .psx21-price-panel-actions .total-delete {
    background: linear-gradient(180deg,#424d5e,#2a3341) !important;
}
/* Старое постоянное ценовое поле в шапке не должно занимать отдельную строку. */
.fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .total-price:not(.psx21-price-value) {
    display: none !important;
}
.fgame-container.psx21-ui .psx21-admin-actions {
    overflow: visible !important;
}
@media (max-width:767.98px) {
    /* На телефоне колонка участника: данные слева, действия строго справа. */
    .fgame-container.psx21-ui table.fgame-table th.pos,
    .fgame-container.psx21-ui table.fgame-table td.fgame-position {
        width: 14% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx21-ui table.fgame-table td.psx16-member-cell {
        width: 52% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.price-head,
    .fgame-container.psx21-ui table.fgame-table td.fgame-price {
        width: 20% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.stst,
    .fgame-container.psx21-ui table.fgame-table td.fgame-status {
        width: 14% !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell {
        padding: 5px 5px !important;
        text-align: left !important;
        overflow: hidden !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-member-card,
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        grid-template-rows: auto !important;
        align-items: center !important;
        gap: 5px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 42px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-member-card::before,
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member::before {
        content: none !important;
        display: none !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: stretch !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main .user-avatar,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main .user-avatar img,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main .avatar,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main .icms-profile-avatar__default {
        width: 27px !important;
        min-width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name {
        display: block !important;
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name > a,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name > div,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name > span:not(.fgame-you-inline),
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name * {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .fgame-you-inline {
        display: block !important;
        margin-top: 2px !important;
        font-size: 8px !important;
        line-height: 1 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-actions,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-self: center !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 3px !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label {
        color: #cbd4df !important;
        font-size: 10.5px !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label span {
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    /* На телефоне административная цена - одна кнопка в общей строке действий. */
    .fgame-container.psx21-ui .psx21-price-toggle {
        width: 38px !important;
        min-width: 38px !important;
        max-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        padding: 0 !important;
        flex: 0 0 38px !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle span {
        display: none !important;
    }
    .fgame-container.psx21-ui .psx21-price-panel {
        position: fixed !important;
        left: 12px !important;
        right: 12px !important;
        top: auto !important;
        bottom: max(12px,env(safe-area-inset-bottom)) !important;
        width: auto !important;
        max-width: none !important;
        z-index: 2147483602 !important;
        border-radius: 14px !important;
        padding: 12px !important;
    }
    .fgame-container.psx21-ui .psx21-price-panel-actions > a {
        min-height: 40px !important;
        font-size: 12px !important;
    }
    /* Убираем старую отдельную строку под цену из мобильной сетки шапки. */
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .total-price {
        display: none !important;
    }
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin: 0 !important;
        padding-top: 7px !important;
        border-top: 1px solid var(--fg-line) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        overflow: visible !important;
    }
}
/* v23 - desktop: служебные кнопки таблицы всегда прижаты вправо. */
@media (min-width:768px) {
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        margin-left: auto !important;
        margin-right: 0 !important;
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
    }
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psxf-head-spoiler {
        margin-left: 4px !important;
        margin-right: 0 !important;
        flex: 0 0 auto !important;
    }
}
/* v22 - зелёно-жёлтая расцветка только для полностью собранной и оплаченной таблицы. */
.fgame-container .fgame-section.is-paid-complete .fgame-number-block.fgame-number.all_payd {
    background: linear-gradient(90deg,rgba(53,155,42,1) 0%,rgba(59,163,58,1) 25%,rgba(237,221,83,1) 73%) !important;
}
.fgame-container .fgame-section:not(.is-paid-complete) .fgame-number-block.fgame-number.all_payd {
    background: #111923 !important;
}
/* ========================================================================== */
/* PSXCLUB fgame v25 - hard priority lock + status containment                */
/* ========================================================================== */
/* hidden должен оставаться сильнее любых старых display:inline-flex!important. */
html body .fgame-container.psx16-ui [hidden] {
    display: none !important;
}
/* Пока приоритет не заполнен, кнопки обычных позиций физически недоступны. */
html body .fgame-container.psx16-ui tr.fgame-priority-locked .fgame-join,
html body .fgame-container.psx16-ui tr.fgame-priority-locked .fgame-finduser {
    display: none !important;
    pointer-events: none !important;
}
html body .fgame-container.psx16-ui tr.fgame-priority-locked .fgame-unavailable {
    display: inline-flex !important;
    pointer-events: none !important;
}
/* Статус никогда не должен выходить за ширину своей колонки. */
html body .fgame-container.psx16-ui td.fgame-status {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
html body .fgame-container.psx16-ui .psxf-status-view {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 116px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
html body .fgame-container.psx16-ui .psxf-status-view span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
html body .fgame-container.psx16-ui .fgame-status-admin {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 168px !important;
    box-sizing: border-box !important;
}
html body .fgame-container.psx16-ui .fgame-status-trigger {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
html body .fgame-container.psx16-ui .fgame-status-trigger-label {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
@media (max-width:767.98px) {
    html body .fgame-container.psx16-ui td.fgame-status {
        overflow: visible !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
    html body .fgame-container.psx16-ui .psxf-status-view,
    html body .fgame-container.psx16-ui .fgame-status-admin,
    html body .fgame-container.psx16-ui .fgame-status-trigger {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    html body .fgame-container.psx16-ui .psxf-status-view span,
    html body .fgame-container.psx16-ui .fgame-status-trigger-label,
    html body .fgame-container.psx16-ui .fgame-status-chevron {
        display: none !important;
    }
}
/* v29: быстрый переход к таблице пользователя */
.fgame-container .fgame-user-quickbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 7px 0 9px;
}
.fgame-container .fgame-jump-my-table {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #2f7be5;
    border-radius: 8px;
    background: linear-gradient(180deg,#2f83ee,#1f61c7);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 3px 10px rgba(20,92,190,.18);
}
.fgame-container .fgame-jump-my-table:hover {
    filter: brightness(1.08);
}
.fgame-container .fgame-jump-my-table i {
    font-size: 12px;
}
@media (max-width:767.98px) {
    .fgame-container .fgame-user-quickbar {
        margin: 6px 0 8px;
    }
    .fgame-container .fgame-jump-my-table {
        width: 100%;
        min-height: 38px;
        font-size: 12px;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v30 - mobile join layout + status tap tooltip                */
/* ========================================================================== */
@media (max-width:767.98px) {
    /* "Свободно" на телефоне не дублируем: свободное место понятно по кнопке. */
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label {
        display: none !important;
    }
    /* Пустая позиция имеет симметричную сетку: центр - Записаться/недоступно,
       справа - ручное добавление организатора. */
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member {
        display: block !important;
        width: 100% !important;
        min-height: 46px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: hidden !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        display: grid !important;
        grid-template-columns: 34px minmax(0,1fr) 34px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 46px !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
    /* Главная пользовательская кнопка остаётся ТЕКСТОВОЙ и строго по центру. */
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-join:not([hidden]):not([style*="display:none"]):not([style*="display: none"]) {
        grid-column: 2 !important;
        justify-self: center !important;
        width: auto !important;
        min-width: 108px !important;
        max-width: 100% !important;
        height: 34px !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-join > span {
        display: inline !important;
        font-size: 11px !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-join > i {
        font-size: 11px !important;
        margin: 0 !important;
    }
    /* Если вход запрещён, вместо пустого места показываем понятный текст. */
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .fgame-unavailable {
        grid-column: 2 !important;
        justify-self: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-height: 30px !important;
        padding: 5px 8px !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        border-radius: 7px !important;
        font-size: 9.5px !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;
        text-align: center !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .fgame-unavailable i {
        flex: 0 0 auto !important;
        font-size: 10px !important;
    }
    /* Ручное добавление остаётся отдельной иконкой справа и не сдвигает центр. */
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-add-user {
        grid-column: 3 !important;
        justify-self: end !important;
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
    }
}
/* Короткая безопасная touch-подсказка статуса, не использующая Bootstrap. */
.fgame-mobile-status-tip {
    position: fixed !important;
    z-index: 2147483640 !important;
    max-width: min(240px,calc(100vw - 16px)) !important;
    padding: 7px 10px !important;
    border: 1px solid #465268 !important;
    border-radius: 8px !important;
    background: #0c121b !important;
    color: #fff !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.48) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    text-align: center !important;
    pointer-events: none !important;
    white-space: normal !important;
}
/* v30 safety: никакая мобильная геометрия не может вернуть скрытые бизнес-логикой действия. */
html body .fgame-container.psx16-ui.psx21-ui [hidden] {
    display: none !important;
}
/* ========================================================================== */
/* PSXCLUB FGame v31 - compact mobile header + table-state badge              */
/* ========================================================================== */
/* Среднее заполнение теперь жёлтое: <50% зелёный, 50-99% жёлтый, 100% красный. */
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-progress span {
    background: linear-gradient(90deg,#e3ad21,#ffd44d) !important;
    box-shadow: 0 0 8px rgba(255,212,77,.24) !important;
}
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-occupancy-text i,
.fgame-container .fgame-occupancy.fgame-fill-mid .fgame-occupied-count {
    color: #ffd44d !important;
}
/* Номер таблицы одновременно является цветовым индикатором её состояния. */
.fgame-container .fgame-table-state-badge {
    cursor: pointer !important;
    transition: background .18s ease,border-color .18s ease,box-shadow .18s ease,filter .18s ease !important;
    border: 1px solid transparent !important;
}
.fgame-container .fgame-table-state-badge:hover {
    filter: brightness(1.08) !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-open {
    background: linear-gradient(180deg,#2baa65,#1d824c) !important;
    border-color: #37bd74 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.14),0 4px 12px rgba(31,143,82,.18) !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-wait-for-payd {
    background: linear-gradient(180deg,#d99a13,#9f6900) !important;
    border-color: #e8ad31 !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-wait-curator {
    background: linear-gradient(180deg,#7a50c8,#55358e) !important;
    border-color: #9067d8 !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-wait-register {
    background: linear-gradient(180deg,#357fe8,#235bb0) !important;
    border-color: #4a91f1 !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-wait-for-start {
    background: linear-gradient(180deg,#1aa7a9,#11777b) !important;
    border-color: #27bec0 !important;
}
.fgame-container .fgame-table-state-badge.fgame-table-state-full-complite {
    background: linear-gradient(180deg,#29985b,#197143) !important;
    border-color: #37b66f !important;
}
@media (max-width:767.98px) {
    /* Шапка таблицы компактнее по вертикали. */
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head {
        padding: 6px 7px !important;
        row-gap: 5px !important;
        min-height: 0 !important;
    }
    .fgame-container.psx21-ui .psx14-head-id {
        gap: 4px !important;
        min-height: 30px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .setnum {
        height: 30px !important;
        min-height: 30px !important;
        min-width: 52px !important;
        padding: 0 8px !important;
        border-radius: 7px !important;
        font-size: 12px !important;
        line-height: 30px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .you-in-table {
        min-height: 28px !important;
        height: 28px !important;
        padding: 0 7px !important;
        font-size: 9px !important;
        gap: 4px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .fgame-copy-link,
    .fgame-container.psx21-ui .psx14-head-id .psx18-subscribe-button,
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psxf-head-spoiler {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        flex-basis: 30px !important;
        padding: 0 !important;
        border-radius: 7px !important;
        font-size: 11px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .psx18-subscribe-button span {
        display: none !important;
    }
    /* Административные действия тоже компактнее по высоте. */
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        padding-top: 5px !important;
        gap: 5px !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle,
    .fgame-container.psx21-ui .psx21-admin-actions > a,
    .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        flex: 0 0 30px !important;
        padding: 0 !important;
        border-radius: 7px !important;
        font-size: 11px !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle span {
        display: none !important;
    }
    /* Индикатор заполненности ниже и компактнее. */
    .fgame-container.psx21-ui .fgame-occupancy {
        min-height: 24px !important;
        gap: 6px !important;
        margin-top: 0 !important;
    }
    .fgame-container.psx21-ui .fgame-occupancy-text {
        font-size: 10px !important;
    }
    .fgame-container.psx21-ui .fgame-progress {
        height: 5px !important;
    }
    /* Позиция получает больше места и больше не переносится на две строки. */
    .fgame-container.psx21-ui table.fgame-table th.pos,
    .fgame-container.psx21-ui table.fgame-table td.fgame-position {
        width: 22% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx21-ui table.fgame-table td.psx16-member-cell {
        width: 43% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.price-head,
    .fgame-container.psx21-ui table.fgame-table td.fgame-price {
        width: 21% !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.stst,
    .fgame-container.psx21-ui table.fgame-table td.fgame-status {
        width: 14% !important;
    }
    .fgame-container.psx21-ui .fgame-position-badge,
    .fgame-container.psx21-ui .fgame-position-badge > a,
    .fgame-container.psx21-ui .fgame-position-badge > span {
        white-space: nowrap !important;
        word-break: keep-all !important;
        overflow-wrap: normal !important;
    }
    .fgame-container.psx21-ui .fgame-position-badge {
        min-width: 0 !important;
        width: auto !important;
        max-width: 100% !important;
        padding: 4px 6px !important;
        font-size: 10.5px !important;
    }
    /* На мобильном подробный head_marker не занимает место: состояние доступно
       по цвету номера таблицы и по тапу на него. */
    .fgame-container.psx21-ui .psxf-head-state {
        display: none !important;
    }
}
/* ==========================================================================
   PSXCLUB FGame v32 - final layout stabilization
   ========================================================================== */
/* В таблице нет второго визуального сообщения "Запись недоступна":
   состояние показывается непосредственно в центральной подписи участника. */
.fgame-container.psx21-ui .fgame-unavailable {
    display: none !important;
}
/* Позиция - кликабельна целиком со стороны пользователя, без отдельного "?". */
.fgame-container.psx21-ui .fgame-position-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: inherit !important;
    color: inherit !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.fgame-container.psx21-ui .fgame-position-link:hover {
    color: #fff !important;
    text-decoration: none !important;
    filter: brightness(1.12);
}
/* Колонки подстраиваются под содержимое. Участник получает всё оставшееся место. */
.fgame-container.psx21-ui table.fgame-table {
    width: 100% !important;
    table-layout: auto !important;
}
.fgame-container.psx21-ui table.fgame-table th.pos,
.fgame-container.psx21-ui table.fgame-table td.fgame-position {
    width: 1% !important;
    white-space: nowrap !important;
}
.fgame-container.psx21-ui table.fgame-table th.psx16-member-head,
.fgame-container.psx21-ui table.fgame-table td.psx16-member-cell {
    width: auto !important;
}
.fgame-container.psx21-ui table.fgame-table th.price-head,
.fgame-container.psx21-ui table.fgame-table td.fgame-price {
    width: 1% !important;
    white-space: nowrap !important;
}
.fgame-container.psx21-ui table.fgame-table th.stst,
.fgame-container.psx21-ui table.fgame-table td.fgame-status {
    width: 1% !important;
    white-space: nowrap !important;
}
/* На ПК статус должен читаться полностью, места для него достаточно. */
@media (min-width:768px) {
    .fgame-container.psx21-ui table.fgame-table th.stst,
    .fgame-container.psx21-ui table.fgame-table td.fgame-status {
        min-width: 154px !important;
    }
    .fgame-container.psx21-ui .fgame-status-admin {
        width: auto !important;
        max-width: none !important;
    }
    .fgame-container.psx21-ui .fgame-status-trigger {
        width: auto !important;
        min-width: 146px !important;
        max-width: none !important;
        padding-left: 10px !important;
        padding-right: 9px !important;
    }
    .fgame-container.psx21-ui .fgame-status-trigger-label {
        display: inline !important;
        overflow: visible !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }
    /* Свободная и занятая позиция имеют одинаковый визуальный центр. */
    .fgame-container.psx21-ui td.psx16-member-cell {
        text-align: center !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-member-card,
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 720px !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member {
        display: grid !important;
        grid-template-columns: minmax(120px,1fr) auto !important;
        align-items: center !important;
        gap: 8px !important;
        width: min(100%,540px) !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label {
        justify-self: center !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        justify-self: end !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
    }
}
/* Кнопка оплаты не должна иметь квадратный "фон-подложку" с торчащими углами. */
.fgame-container.psx21-ui .fgame-payment-slot,
.fgame-container.psx21-ui .fgame-paybutton,
.fgame-container.psx21-ui .fgame-paybutton > a {
    border-radius: 8px !important;
}
.fgame-container.psx21-ui .fgame-paybutton {
    overflow: hidden !important;
}
.fgame-container.psx21-ui .fgame-payment-slot {
    background: transparent !important;
}
/* Реально закрытые позиции (status=3) приглушаем, но не смешиваем
   с временной блокировкой приоритетом. */
.fgame-container.psx21-ui tr.fgame-row-closed td {
    background: rgba(95,105,120,.055) !important;
}
.fgame-container.psx21-ui tr.fgame-row-closed .fgame-position-badge,
.fgame-container.psx21-ui tr.fgame-row-closed .fgame-price {
    opacity: .58 !important;
}
.fgame-container.psx21-ui tr.fgame-row-closed .fgame-price-value {
    text-decoration: line-through !important;
}
.fgame-container.psx21-ui tr.fgame-row-closed .fgame-sale-label {
    display: none !important;
}
.fgame-container.psx21-ui .fgame-closed-price-empty {
    color: #738095 !important;
    text-decoration: none !important;
}
/* Старые блоки подписки больше не участвуют в геометрии шапки.
   Единственная кнопка подписки находится сразу после копирования ссылки. */
.fgame-container.psx21-ui .psxf-head-subscribe,
.fgame-container.psx21-ui .subs.psxf-head-subscribe,
.fgame-container.psx21-ui .subs_org.psxf-head-subscribe {
    display: none !important;
}
/* Быстрый переход не должен занимать целую широкую плашку. */
.fgame-container.psx21-ui .fgame-user-quickbar {
    display: flex !important;
    justify-content: flex-start !important;
    margin: 5px 0 7px !important;
}
.fgame-container.psx21-ui .fgame-jump-my-table {
    width: auto !important;
    min-width: 0 !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    font-size: 10.5px !important;
    gap: 6px !important;
}
/* Мобильная версия: меньше вертикальных пустот, контент остаётся читабельным. */
@media (max-width:767.98px) {
    .fgame-container.psx21-ui .fgame-tab-toolbar {
        min-height: 38px !important;
        padding: 4px 6px !important;
        margin-bottom: 5px !important;
        gap: 6px !important;
    }
    .fgame-container.psx21-ui .fgame-tab-toolbar .fgame-add-table {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 9px !important;
        font-size: 9.5px !important;
        border-radius: 7px !important;
    }
    .fgame-container.psx21-ui .fgame-tab-toolbar .autobreak {
        min-width: 0 !important;
        margin-left: auto !important;
    }
    .fgame-container.psx21-ui .fgame-tab-toolbar .autobreak span {
        font-size: 8.7px !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui .fgame-user-quickbar {
        margin: 4px 0 6px !important;
    }
    .fgame-container.psx21-ui .fgame-jump-my-table {
        min-height: 30px !important;
        height: 30px !important;
        padding: 0 10px !important;
        font-size: 9.5px !important;
    }
    .fgame-container.psx21-ui .fgame-section {
        margin-bottom: 7px !important;
    }
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head {
        padding: 4px 6px !important;
        row-gap: 4px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id {
        min-height: 28px !important;
        gap: 4px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .setnum {
        min-width: 49px !important;
        height: 28px !important;
        min-height: 28px !important;
        line-height: 28px !important;
        padding: 0 7px !important;
        font-size: 11px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .you-in-table {
        height: 27px !important;
        min-height: 27px !important;
        padding: 0 6px !important;
        font-size: 8.5px !important;
    }
    .fgame-container.psx21-ui .psx14-head-id .fgame-copy-link,
    .fgame-container.psx21-ui .psx14-head-id .psx18-subscribe-button,
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psxf-head-spoiler {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        flex-basis: 28px !important;
        border-radius: 7px !important;
    }
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        padding-top: 3px !important;
        gap: 4px !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle,
    .fgame-container.psx21-ui .psx21-admin-actions > a,
    .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        height: 28px !important;
        min-height: 28px !important;
        flex: 0 0 28px !important;
        border-radius: 7px !important;
    }
    .fgame-container.psx21-ui .fgame-occupancy {
        min-height: 20px !important;
        margin: 0 !important;
        gap: 5px !important;
    }
    .fgame-container.psx21-ui .fgame-occupancy-text {
        font-size: 9.5px !important;
    }
    /* table-layout:auto + nowrap делает колонку позиции ровно такой,
       какая нужна для T2 (PS4/5), T3/T5 и т.п. */
    .fgame-container.psx21-ui table.fgame-table {
        table-layout: auto !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.pos,
    .fgame-container.psx21-ui table.fgame-table td.fgame-position {
        width: 1% !important;
        min-width: 74px !important;
        max-width: none !important;
        white-space: nowrap !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.psx16-member-head,
    .fgame-container.psx21-ui table.fgame-table td.psx16-member-cell {
        width: auto !important;
        min-width: 0 !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.price-head,
    .fgame-container.psx21-ui table.fgame-table td.fgame-price {
        width: 1% !important;
        min-width: 72px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    .fgame-container.psx21-ui table.fgame-table th.stst,
    .fgame-container.psx21-ui table.fgame-table td.fgame-status {
        width: 1% !important;
        min-width: 42px !important;
        max-width: 42px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
    .fgame-container.psx21-ui .fgame-position-badge {
        min-width: 0 !important;
        width: auto !important;
        max-width: none !important;
        min-height: 32px !important;
        padding: 4px 6px !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui .fgame-table thead th {
        height: 28px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
        font-size: 9.7px !important;
    }
    .fgame-container.psx21-ui .fgame-table td {
        min-height: 41px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
    /* Занятый участник: аватар/ник слева, действия справа.
       Длинный ник обрезается троеточием и никогда не толкает кнопки. */
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-member-card {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        gap: 4px !important;
        margin: 0 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-main {
        min-width: 0 !important;
        max-width: none !important;
        justify-content: flex-start !important;
        gap: 5px !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name {
        min-width: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        line-height: 1.1 !important;
        text-align: left !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name > *,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name a,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-name span:not(.fgame-you-inline) {
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-member-actions {
        justify-self: end !important;
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        gap: 3px !important;
    }
    /* Свободная строка: "Свободно" не показываем. Записаться остаётся
       строго по центру, а ручное добавление администратора - справа. */
    .fgame-container.psx21-ui td.psx16-member-cell > .psx16-empty-member {
        display: grid !important;
        grid-template-columns: 32px minmax(0,1fr) 32px !important;
        align-items: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 36px !important;
        gap: 3px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        display: contents !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        white-space: nowrap !important;
        font-size: 9px !important;
        line-height: 1 !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-member:not(.is-unavailable):not(.is-closed):not(.is-priority-locked) .psx16-empty-label {
        display: none !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-member.is-unavailable .psx16-empty-label,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-member.is-closed .psx16-empty-label,
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-member.is-priority-locked .psx16-empty-label {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-empty-label i {
        font-size: 9px !important;
        flex: 0 0 auto !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-join:not([hidden]) {
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: center !important;
        min-width: 102px !important;
        max-width: 100% !important;
        height: 31px !important;
        min-height: 31px !important;
        padding: 0 9px !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-join > span {
        display: inline !important;
    }
    .fgame-container.psx21-ui td.psx16-member-cell .psx16-add-user:not([hidden]) {
        grid-column: 3 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        width: 29px !important;
        min-width: 29px !important;
        max-width: 29px !important;
        height: 29px !important;
        min-height: 29px !important;
        padding: 0 !important;
    }
    /* Закрытая строка чуть компактнее, а текст всегда в одну строку. */
    .fgame-container.psx21-ui tr.fgame-row-closed td {
        min-height: 37px !important;
        padding-top: 3px !important;
        padding-bottom: 3px !important;
    }
    .fgame-container.psx21-ui tr.fgame-row-closed .psx16-empty-label {
        white-space: nowrap !important;
        font-size: 8.8px !important;
    }
    /* На телефоне статус остаётся компактной иконкой; название доступно по тапу. */
    .fgame-container.psx21-ui .fgame-status-admin {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
    }
    .fgame-container.psx21-ui .fgame-status-trigger {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
    }
    .fgame-container.psx21-ui .fgame-status-trigger-label,
    .fgame-container.psx21-ui .fgame-status-chevron {
        display: none !important;
    }
    .fgame-container.psx21-ui .psxf-status-view {
        width: 32px !important;
        min-width: 32px !important;
        max-width: 32px !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 !important;
        margin: 0 auto !important;
    }
    .fgame-container.psx21-ui .psxf-status-view > span {
        display: none !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v33 - compact mobile admin toolbar, no duplicate table state */
/* ========================================================================== */
/* Состояние таблицы показывается только цветом номера + tooltip. */
.fgame-container.psx21-ui .psxf-head-state,
.fgame-container.psx21-ui .stat.psxf-head-state {
    display: none !important;
}
@media (max-width:767.98px) {
    /* Админские действия - одна низкая строка на всю ширину. */
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0,1fr) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: none !important;
        min-height: 27px !important;
        margin: 0 !important;
        padding: 3px 0 0 !important;
        gap: 5px !important;
        border-top: 1px solid var(--fg-line) !important;
        overflow: visible !important;
    }
    .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        display: block !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle,
    .fgame-container.psx21-ui .psx21-admin-actions > a,
    .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 27px !important;
        min-height: 27px !important;
        max-height: 27px !important;
        padding: 0 5px !important;
        margin: 0 !important;
        border-radius: 7px !important;
        flex: none !important;
        font-size: 10px !important;
        line-height: 1 !important;
    }
    .fgame-container.psx21-ui .psx21-price-toggle span {
        display: none !important;
    }
    /* Шапка чуть плотнее: меньше пустоты между заполненностью и действиями. */
    .fgame-container.psx21-ui .fgame-number-block.psxf-table-head {
        row-gap: 3px !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v34 - stage sorting + paid outline + toolbar alignment       */
/* ========================================================================== */
/* Полностью оплаченная таблица больше не получает цветную заливку. */
html body .fgame-container.psx21-ui .fgame-section.is-paid-complete {
    border-color: #28a865 !important;
    box-shadow: 0 0 0 1px rgba(40,168,101,.38) !important;
}
html body .fgame-container.psx21-ui .fgame-section.is-paid-complete .fgame-number-block.fgame-number,
html body .fgame-container.psx21-ui .fgame-section.is-paid-complete .fgame-number-block.fgame-number.all_payd,
html body .fgame-container.psx21-ui .fgame-section.is-paid-complete .fgame-number-block.fgame-number.wait-curator {
    background: #111923 !important;
    background-image: none !important;
}
/* ПК: стрелка раскрытия всегда последняя справа. */
@media (min-width:768px) {
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx14-head-id {
        flex: 0 1 auto !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .fgame-occupancy {
        flex: 0 0 auto !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        margin-left: auto !important;
        margin-right: 0 !important;
        order: 900 !important;
        flex: 0 0 auto !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psxf-head-spoiler {
        margin-left: auto !important;
        margin-right: 0 !important;
        order: 999 !important;
        flex: 0 0 auto !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions + .psxf-head-spoiler {
        margin-left: 6px !important;
    }
}
/* Телефон: все видимые админские кнопки одинаково широкие, как кнопка цены. */
@media (max-width:767.98px) {
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: stretch !important;
        width: 100% !important;
        max-width: none !important;
        gap: 6px !important;
        overflow: visible !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools > .psx21-price-toggle,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 29px !important;
        min-height: 29px !important;
        max-height: 29px !important;
        border-radius: 8px !important;
    }
}
/* ========================================================================== */
/* PSXCLUB FGame v35 - final lifecycle stages + balanced controls             */
/* ========================================================================== */
/* Выданный состав: номер становится понятной кнопкой-ссылкой для пользователя. */
.fgame-container.psx21-ui .fgame-table-state-link {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    border-radius: 8px !important;
    flex: 0 0 auto !important;
}
.fgame-container.psx21-ui .fgame-table-state-link .setnum {
    margin: 0 !important;
    cursor: pointer !important;
}
.fgame-container.psx21-ui .fgame-table-state-link:hover .setnum {
    filter: brightness(1.08) !important;
}
/* Пользовательский вид: свободное место = одна понятная кнопка по центру,
   заблокированное место = один центрированный текст. */
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-empty-member {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
}
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-empty-member .psx16-empty-label {
    display: none !important;
}
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-empty-member .psx16-empty-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
}
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-empty-member .fgame-join,
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-empty-member .fgame-unavailable {
    margin: 0 auto !important;
}
.fgame-container.psx21-ui .fgame-table:not(.fgame-admin-table) .psx16-member-card {
    margin-left: auto !important;
    margin-right: auto !important;
}
/* ПК: одинаковый ритм у всех служебных кнопок справа. */
@media (min-width:768px) {
    html body .fgame-container.psx21-ui .psx21-admin-actions {
        gap: 6px !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        margin: 0 !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psxf-head-spoiler {
        margin-left: 6px !important;
        margin-right: 0 !important;
    }
    html body .fgame-container.psx21-ui .fgame-number-block.fgame-number_user > .psxf-head-spoiler {
        margin-left: auto !important;
    }
}
/* Телефон: все видимые кнопки управления таблицей имеют одинаковую ширину
   и одинаковые промежутки, включая блок цены. */
@media (max-width:767.98px) {
    html body .fgame-container.psx21-ui .psx21-admin-actions {
        display: flex !important;
        width: 100% !important;
        gap: 7px !important;
        padding: 0 !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        flex: 1 1 0 !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools > .psx21-price-toggle,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
    }
    /* v37: все реально видимые кнопки делят строку строго поровну.
       grid-auto-columns гарантирует одинаковую ширину при 2, 3, 4 и более кнопках. */
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        display: grid !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0,1fr) !important;
        grid-template-columns: none !important;
        align-items: stretch !important;
        justify-content: stretch !important;
        width: 100% !important;
        gap: 7px !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        margin: 0 !important;
        justify-self: stretch !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools > .psx21-price-toggle,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
}
/* v38: финальный мобильный фикс равной ширины панели управления. */
@media (max-width:767.98px) {
    html body .fgame-container.psx21-ui .fgame-number-block.psxf-table-head > .psx21-admin-actions {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        gap: 6px !important;
        overflow: visible !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        margin: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    html body .fgame-container.psx21-ui .psx21-admin-actions > .psx21-price-tools > .psx21-price-toggle,
    html body .fgame-container.psx21-ui .psx21-admin-actions > a,
    html body .fgame-container.psx21-ui .psx21-admin-actions > button {
        box-sizing: border-box !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        justify-content: center !important;
    }
}

/* ===== Theme variable bridge. Keep at the end of base CSS. ===== */
html body .fgame-container.psx16-ui.psx21-ui {
    --fg-bg: var(--fgame-theme-007);
    --fg-blue: var(--fgame-theme-008);
    --fg-brand: var(--fgame-theme-009);
    --fg-brand-dark: var(--fgame-theme-010);
    --fg-card: var(--fgame-theme-011);
    --fg-card-2: var(--fgame-theme-012);
    --fg-danger: var(--fgame-theme-013);
    --fg-green: var(--fgame-theme-014);
    --fg-line: var(--fgame-theme-015);
    --fg-line-soft: var(--fgame-theme-016);
    --fg-muted: var(--fgame-theme-017);
    --fg-text: var(--fgame-theme-018);
    --fg-yellow: var(--fgame-theme-019);
    color: var(--fgame-theme-020) !important;
}
html body .fgame-container.psx16-ui.psx21-ui #fgame-tabs {
    border-color: var(--fgame-theme-021) !important;
}
html body .fgame-container.psx16-ui.psx21-ui #fgame-tabs .nav-link {
    background: var(--fgame-theme-022) !important;
    border-color: var(--fgame-theme-023) !important;
    box-shadow: var(--fgame-theme-024) !important;
    color: var(--fgame-theme-025) !important;
}
html body .fgame-container.psx16-ui.psx21-ui #fgame-tabs .nav-link.active {
    background: var(--fgame-theme-026) !important;
    border-color: var(--fgame-theme-027) !important;
    box-shadow: var(--fgame-theme-028) !important;
    color: var(--fgame-theme-029) !important;
}
html body .fgame-container.psx16-ui.psx21-ui #fgame-tabs .nav-link:hover {
    background: var(--fgame-theme-030) !important;
    color: var(--fgame-theme-031) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-container__tabsout {
    background: var(--fgame-theme-032) !important;
    border-color: var(--fgame-theme-033) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-copy-link {
    background: var(--fgame-theme-034) !important;
    background-image: var(--fgame-theme-035) !important;
    border-color: var(--fgame-theme-036) !important;
    box-shadow: var(--fgame-theme-037) !important;
    color: var(--fgame-theme-038) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-empty-user {
    color: var(--fgame-theme-039) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-empty-user i {
    color: var(--fgame-theme-040) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-jump-my-table {
    color: var(--fgame-theme-041) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-main-row.its_you td {
    background: var(--fgame-theme-042) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-main-row:hover td {
    background: var(--fgame-theme-043) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-number-block {
    background: var(--fgame-theme-044) !important;
    background-image: var(--fgame-theme-045) !important;
    border-color: var(--fgame-theme-046) !important;
    color: var(--fgame-theme-047) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-occupancy {
    color: var(--fgame-theme-048) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-occupancy-text {
    color: var(--fgame-theme-049) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-occupied-count {
    color: var(--fgame-theme-050) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge {
    background: var(--fgame-theme-051) !important;
    border-color: var(--fgame-theme-052) !important;
    box-shadow: var(--fgame-theme-053) !important;
    color: var(--fgame-theme-054) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge a {
    color: var(--fgame-theme-055) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge span {
    color: var(--fgame-theme-056) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-link {
    color: var(--fgame-theme-057) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-price-value {
    color: var(--fgame-theme-058) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-progress {
    background: var(--fgame-theme-059) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-sale-label {
    color: var(--fgame-theme-060) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section {
    background: var(--fgame-theme-061) !important;
    border-color: var(--fgame-theme-062) !important;
    box-shadow: var(--fgame-theme-063) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.is-paid-complete {
    border-color: var(--fgame-theme-064) !important;
    box-shadow: var(--fgame-theme-065) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.is-paid-complete .fgame-number-block {
    background: var(--fgame-theme-066) !important;
    background-image: var(--fgame-theme-067) !important;
    border-color: var(--fgame-theme-068) !important;
    color: var(--fgame-theme-069) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.is-paid-complete .fgame-number-block.all_payd {
    background: var(--fgame-theme-070) !important;
    background-image: var(--fgame-theme-071) !important;
    border-color: var(--fgame-theme-072) !important;
    color: var(--fgame-theme-073) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.is-paid-complete .fgame-number-block.wait-curator {
    background: var(--fgame-theme-074) !important;
    background-image: var(--fgame-theme-075) !important;
    border-color: var(--fgame-theme-076) !important;
    color: var(--fgame-theme-077) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.user-in-table {
    border-color: var(--fgame-theme-078) !important;
    box-shadow: var(--fgame-theme-079) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-spoiler {
    background: var(--fgame-theme-080) !important;
    background-image: var(--fgame-theme-081) !important;
    border-color: var(--fgame-theme-082) !important;
    box-shadow: var(--fgame-theme-083) !important;
    color: var(--fgame-theme-084) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status .oplata_tabl_data {
    background: var(--fgame-theme-085) !important;
    border-color: var(--fgame-theme-086) !important;
    color: var(--fgame-theme-087) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-admin[data-status="0"] .fgame-status-trigger {
    background: var(--fgame-theme-088) !important;
    border-color: var(--fgame-theme-089) !important;
    color: var(--fgame-theme-090) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-admin[data-status="1"] .fgame-status-trigger {
    background: var(--fgame-theme-091) !important;
    border-color: var(--fgame-theme-092) !important;
    color: var(--fgame-theme-093) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-admin[data-status="2"] .fgame-status-trigger {
    background: var(--fgame-theme-094) !important;
    border-color: var(--fgame-theme-095) !important;
    color: var(--fgame-theme-096) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-admin[data-status="3"] .fgame-status-trigger {
    background: var(--fgame-theme-097) !important;
    border-color: var(--fgame-theme-098) !important;
    color: var(--fgame-theme-099) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-menu {
    background: var(--fgame-theme-100) !important;
    border-color: var(--fgame-theme-101) !important;
    box-shadow: var(--fgame-theme-102) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-option {
    color: var(--fgame-theme-103) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-option.is-active {
    background: var(--fgame-theme-104) !important;
    color: var(--fgame-theme-105) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-status-option:hover {
    background: var(--fgame-theme-106) !important;
    color: var(--fgame-theme-107) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-subscribe {
    background: var(--fgame-theme-108) !important;
    background-image: var(--fgame-theme-109) !important;
    border-color: var(--fgame-theme-110) !important;
    box-shadow: var(--fgame-theme-111) !important;
    color: var(--fgame-theme-112) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-tab-toolbar {
    background: var(--fgame-theme-113) !important;
    border-color: var(--fgame-theme-114) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-tab-toolbar .autobreak {
    color: var(--fgame-theme-115) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-tab-toolbar .fgame-add-table {
    color: var(--fgame-theme-116) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-unsubscribe {
    background: var(--fgame-theme-117) !important;
    background-image: var(--fgame-theme-118) !important;
    border-color: var(--fgame-theme-119) !important;
    box-shadow: var(--fgame-theme-120) !important;
    color: var(--fgame-theme-121) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-you-inline {
    color: var(--fgame-theme-122) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .online-indicator {
    border-color: var(--fgame-theme-123) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx16-empty-label {
    color: var(--fgame-theme-124) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx18-subscribe-button {
    background: var(--fgame-theme-125) !important;
    background-image: var(--fgame-theme-126) !important;
    border-color: var(--fgame-theme-127) !important;
    box-shadow: var(--fgame-theme-128) !important;
    color: var(--fgame-theme-129) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx18-subscribe-button.is-subscribed {
    background: var(--fgame-theme-130) !important;
    border-color: var(--fgame-theme-131) !important;
    color: var(--fgame-theme-132) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-close {
    background: var(--fgame-theme-133) !important;
    border-color: var(--fgame-theme-134) !important;
    color: var(--fgame-theme-135) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-panel {
    background: var(--fgame-theme-136) !important;
    border-color: var(--fgame-theme-137) !important;
    box-shadow: var(--fgame-theme-138) !important;
    color: var(--fgame-theme-139) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-panel .psx21-price-value {
    background: var(--fgame-theme-140) !important;
    border-color: var(--fgame-theme-141) !important;
    color: var(--fgame-theme-142) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-panel .setprice {
    color: var(--fgame-theme-143) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-panel-actions > a {
    background: var(--fgame-theme-144) !important;
    border-color: var(--fgame-theme-145) !important;
    color: var(--fgame-theme-146) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-panel-head {
    border-color: var(--fgame-theme-147) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-toggle {
    background: var(--fgame-theme-148) !important;
    background-image: var(--fgame-theme-149) !important;
    border-color: var(--fgame-theme-150) !important;
    box-shadow: var(--fgame-theme-151) !important;
    color: var(--fgame-theme-152) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-toggle:hover {
    background: var(--fgame-theme-153) !important;
    border-color: var(--fgame-theme-154) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-price-tools.is-open .psx21-price-toggle {
    background: var(--fgame-theme-155) !important;
    border-color: var(--fgame-theme-156) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .remarked {
    color: var(--fgame-theme-157) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .setnum[contenteditable="true"] {
    background: var(--fgame-theme-158) !important;
    color: var(--fgame-theme-159) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .setprice[contenteditable="true"] {
    background: var(--fgame-theme-160) !important;
    color: var(--fgame-theme-161) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .subscribers-count {
    background: var(--fgame-theme-162) !important;
    background-image: var(--fgame-theme-163) !important;
    border-color: var(--fgame-theme-164) !important;
    box-shadow: var(--fgame-theme-165) !important;
    color: var(--fgame-theme-166) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .subscribers-list {
    background: var(--fgame-theme-167) !important;
    border-color: var(--fgame-theme-168) !important;
    box-shadow: var(--fgame-theme-169) !important;
    color: var(--fgame-theme-170) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .subscribers-list a {
    color: var(--fgame-theme-171) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .tab-content {
    background: var(--fgame-theme-172) !important;
    border-color: var(--fgame-theme-173) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .total-actions > a {
    background: var(--fgame-theme-174) !important;
    background-image: var(--fgame-theme-175) !important;
    border-color: var(--fgame-theme-176) !important;
    box-shadow: var(--fgame-theme-177) !important;
    color: var(--fgame-theme-178) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .trcl .rell {
    color: var(--fgame-theme-179) !important;
}
html body .fgame-container.psx16-ui.psx21-ui .trcl td {
    background: var(--fgame-theme-180) !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table {
    background: var(--fgame-theme-181) !important;
    color: var(--fgame-theme-182) !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td {
    background: var(--fgame-theme-183) !important;
    border-color: var(--fgame-theme-184) !important;
    color: var(--fgame-theme-185) !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table thead th {
    background: var(--fgame-theme-186) !important;
    border-color: var(--fgame-theme-187) !important;
    color: var(--fgame-theme-188) !important;
}
html body .fgame-container.psx16-ui.psx21-ui tr.fgame-row-closed td {
    background: var(--fgame-theme-189) !important;
}
html body .fgame-fixed-modal .close {
    color: var(--fgame-theme-190) !important;
}
html body .fgame-fixed-modal .modal-content {
    background: var(--fgame-theme-191) !important;
    border-color: var(--fgame-theme-192) !important;
    box-shadow: var(--fgame-theme-193) !important;
    color: var(--fgame-theme-194) !important;
}
html body .fgame-fixed-modal .modal-title {
    color: var(--fgame-theme-195) !important;
}
html body .fgame-fixed-overlay .fgame-no-results {
    color: var(--fgame-theme-196) !important;
}
html body .fgame-fixed-overlay .fgame-userline {
    background: var(--fgame-theme-197) !important;
    border-color: var(--fgame-theme-198) !important;
    color: var(--fgame-theme-199) !important;
}
html body .fgame-fixed-overlay .fgame-userline:hover {
    background: var(--fgame-theme-200) !important;
    border-color: var(--fgame-theme-201) !important;
}
html body .fgame-fixed-overlay .user-finder input {
    background: var(--fgame-theme-202) !important;
    border-color: var(--fgame-theme-203) !important;
    color: var(--fgame-theme-204) !important;
}
html body .fgame-fixed-overlay .wmodal {
    background: var(--fgame-theme-205) !important;
    border-color: var(--fgame-theme-206) !important;
    box-shadow: var(--fgame-theme-207) !important;
    color: var(--fgame-theme-208) !important;
}
html body .fgame-fixed-overlay .wmodal-close {
    color: var(--fgame-theme-209) !important;
}
html body .fgame-fixed-overlay .wmodal_container {
    color: var(--fgame-theme-210) !important;
}
html body .fgame-fixed-overlay .wmodal_container h3 {
    color: var(--fgame-theme-211) !important;
}
html body .fgame-mobile-status-tip {
    background: var(--fgame-theme-212) !important;
    border-color: var(--fgame-theme-213) !important;
    box-shadow: var(--fgame-theme-214) !important;
    color: var(--fgame-theme-215) !important;
}
html body .fgame-status-mobile-portal {
    background: var(--fgame-theme-216) !important;
    border-color: var(--fgame-theme-217) !important;
    box-shadow: var(--fgame-theme-218) !important;
    color: var(--fgame-theme-219) !important;
}
html body .fgame-status-mobile-portal .fgame-status-option {
    color: var(--fgame-theme-220) !important;
}
html body .fgame-status-mobile-portal .fgame-status-option.is-active {
    background: var(--fgame-theme-221) !important;
}
html body .fgame-status-mobile-title {
    color: var(--fgame-theme-222) !important;
}
html body .fgame-toast {
    background: var(--fgame-theme-223) !important;
    border-color: var(--fgame-theme-224) !important;
    box-shadow: var(--fgame-theme-225) !important;
    color: var(--fgame-theme-226) !important;
}
@media (max-width:767.98px) {
    html body .fgame-container.psx16-ui.psx21-ui .fgame-main-row {
        border-color: var(--fgame-theme-001) !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .fgame-number-block {
        border-color: var(--fgame-theme-002) !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .fgame-occupancy {
        border-color: var(--fgame-theme-003) !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions {
        border-color: var(--fgame-theme-004) !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .total-actions {
        border-color: var(--fgame-theme-005) !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .trcl {
        border-color: var(--fgame-theme-006) !important;
    }
}


/* ========================================================================== */
/* PSXCLUB FGame v40 - avatar online dot + role-aware table outline           */
/* ========================================================================== */

/* Online всегда принадлежит самой аватарке, а не строке/Awards-блоку. */
html body .fgame-container.psx16-ui.psx21-ui .fgame-member .user-avatar {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
    overflow: visible !important;
    flex: 0 0 auto !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-member .user-avatar .online-indicator {
    position: absolute !important;
    right: -1px !important;
    bottom: -1px !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 0 !important;
    z-index: 5 !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
    border-color: var(--fgame-avatar-online-ring, var(--fg-card)) !important;
}

/* Сбрасываем старую зелёную подсветку paid/user-in-table. Дальше подсветка
 * назначается только по роли и состоянию таблицы. */
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.is-paid-complete,
html body .fgame-container.psx16-ui.psx21-ui .fgame-section.user-in-table {
    border-color: var(--fgame-theme-062) !important;
    box-shadow: var(--fgame-theme-063) !important;
}

/* Обычный пользователь: контрастная обводка только у таблицы, где он записан. */
html body .fgame-container.psx16-ui.psx21-ui.fgame-user-view .fgame-section.user-in-table {
    border-color: var(--fgame-active-table-outline, #1f2937) !important;
    box-shadow: 0 0 0 1px var(--fgame-active-table-outline, #1f2937) !important;
}

/* Организатор / администратор: подсветка только у действительно полностью
 * оплаченных таблиц. Сам факт нахождения текущего пользователя в таблице
 * отдельную обводку в этом режиме не создаёт. */
html body .fgame-container.psx16-ui.psx21-ui.fgame-manager-view .fgame-section.user-in-table {
    border-color: var(--fgame-theme-062) !important;
    box-shadow: var(--fgame-theme-063) !important;
}
html body .fgame-container.psx16-ui.psx21-ui.fgame-manager-view .fgame-section[data-complete="1"][data-all-paid="1"] {
    border-color: var(--fgame-active-table-outline, #ffffff) !important;
    box-shadow: 0 0 0 1px var(--fgame-active-table-outline, #ffffff) !important;
}

/* ========================================================================== */
/* PSXCLUB FGame v50 - stable columns + forbidden join state                  */
/* ========================================================================== */

/* Одинаковая сетка колонок во всех таблицах одной вкладки. */
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table {
    width: 100% !important;
    table-layout: fixed !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-position { width: 92px !important; }
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-member   { width: auto !important; }
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-price    { width: 112px !important; }
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-status   { width: 150px !important; }

html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.pos,
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-position {
    width: 92px !important;
    min-width: 92px !important;
    max-width: 92px !important;
    text-align: center !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.uch,
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-member {
    width: auto !important;
    min-width: 0 !important;
    text-align: center !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.price-head,
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-price {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    text-align: center !important;
}
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.stst,
html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-status {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    text-align: center !important;
}

html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge,
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge a,
html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge span {
    white-space: nowrap !important;
}

/* Свободная позиция: группа действий всегда по центру участника. */
html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-action {
    width: 100% !important;
    min-width: 0 !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-empty-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
}

/* Если allow_in не разрешает запись, это не выглядит как рабочая кнопка. */
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 96px;
    height: 32px;
    padding: 0 12px;
    border: 1px solid #ff6670;
    border-radius: 7px;
    background: #cf3542;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    cursor: not-allowed;
    opacity: 1;
    box-sizing: border-box;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied:hover,
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied:focus {
    background: #cf3542;
    color: #fff;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied[hidden] {
    display: none !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-action.is-user-forbidden .fgame-empty-user {
    display: none !important;
}

@media (max-width: 767.98px) {
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-position { width: 92px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-price    { width: 86px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-status   { width: 58px !important; }

    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.pos,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-position {
        width: 92px !important;
        min-width: 92px !important;
        max-width: 92px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.price-head,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-price {
        width: 86px !important;
        min-width: 86px !important;
        max-width: 86px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.stst,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-status {
        width: 58px !important;
        min-width: 58px !important;
        max-width: 58px !important;
    }

    html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-empty-actions {
        gap: 5px !important;
        width: 100% !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-join,
    html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-join-denied {
        min-width: 92px !important;
        height: 30px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
        border-radius: 7px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .fgame-member.is-empty .fgame-finduser {
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
    }
}

/* ========================================================================== */
/* PSXCLUB FGame v52 - desktop member alignment + admin semantic colors        */
/* Mobile geometry intentionally remains from the stable v50 rules.            */
/* ========================================================================== */

/* ПК: участник/Свободно слева, действия справа. На телефоне эти правила
   не применяются, чтобы не перебивать проверенную мобильную сетку. */
@media (min-width: 768px) {
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell {
        text-align: left !important;
    }

    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .user-card.psx16-member-card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .user-card.psx16-member-card::before,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .user-card.psx16-member-card::after {
        content: none !important;
        display: none !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main {
        grid-column: 1 !important;
        justify-self: start !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        text-align: left !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-name {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        text-align: left !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions {
        grid-column: 2 !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: max-content !important;
        margin: 0 !important;
        gap: 7px !important;
    }

    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member::before,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member::after {
        content: none !important;
        display: none !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-label {
        grid-column: 1 !important;
        justify-self: start !important;
        justify-content: flex-start !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: left !important;
        white-space: nowrap !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        grid-column: 2 !important;
        justify-self: end !important;
        justify-content: flex-end !important;
        width: auto !important;
        min-width: max-content !important;
        margin: 0 !important;
        gap: 7px !important;
    }
}

/* Кнопка запрета: всегда неактивная и красная. */
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied:not([hidden]) {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    min-width: 96px !important;
    height: 32px !important;
    padding: 0 12px !important;
    border: 1px solid #ff6670 !important;
    border-radius: 7px !important;
    background: #cf3542 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    cursor: not-allowed !important;
}
html body .fgame-container.psx16-ui.psx21-ui .fgame-join-denied[hidden] {
    display: none !important;
}

/* Семантические цвета управления организатора/админа. Эти правила стоят в
   самом конце base CSS и не зависят от light/dark palette. */
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .psx21-price-toggle {
    background: linear-gradient(180deg, #3a4658, #252e3c) !important;
    border-color: #465166 !important;
    color: #fff !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .psx21-price-toggle i {
    color: #ffc857 !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .total-exprie {
    background: linear-gradient(180deg, #249655, #176b38) !important;
    border-color: #2aa45e !important;
    color: #fff !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .create-list {
    background: linear-gradient(180deg, #7b4ccb, #56338f) !important;
    border-color: #8b5bd4 !important;
    color: #fff !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .curat {
    background: linear-gradient(180deg, #3b4656, #242d3a) !important;
    border-color: #48566a !important;
    color: #fff !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .del-table {
    background: linear-gradient(180deg, #dc3742, #9e1e26) !important;
    border-color: #e14b54 !important;
    color: #fff !important;
}
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .total-exprie i,
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .create-list i,
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .curat i,
html body .fgame-container.psx16-ui.psx21-ui .psx21-admin-actions .del-table i {
    color: inherit !important;
}


/* ========================================================================== */
/* PSXCLUB FGame v53 - mobile table geometry                                  */
/* Больше места участнику, компактные служебные колонки и стабильные действия. */
/* ========================================================================== */
@media (max-width: 767.98px) {
    /* Служебным колонкам даём только реально необходимую ширину. */
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table {
        width: 100% !important;
        table-layout: fixed !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-position {
        width: 70px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-member {
        width: auto !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-price {
        width: 68px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-status {
        width: 54px !important;
    }

    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.pos,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-position {
        width: 70px !important;
        min-width: 70px !important;
        max-width: 70px !important;
        padding-left: 4px !important;
        padding-right: 4px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.psx16-member-head,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.psx16-member-cell {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.price-head,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-price {
        width: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.stst,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-status {
        width: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        padding-left: 3px !important;
        padding-right: 3px !important;
    }

    /* Позиция остаётся в одну строку, но больше не отнимает четверть таблицы. */
    html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge,
    html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge a,
    html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge span {
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        box-sizing: border-box !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui .fgame-position-badge {
        padding-left: 6px !important;
        padding-right: 6px !important;
        font-size: 10px !important;
    }

    /* Занятая позиция: профиль использует всё оставшееся место, действия справа. */
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell {
        padding: 5px 4px !important;
        overflow: hidden !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .user-card.psx16-member-card {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main {
        grid-column: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 4px !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main .user-avatar,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main .user-avatar img,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main .avatar,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-main .icms-profile-avatar__default {
        flex: 0 0 26px !important;
        width: 26px !important;
        min-width: 26px !important;
        height: 26px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-name {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        overflow: hidden !important;
        text-align: left !important;
        font-size: 10px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-name > a,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-name > div,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-name > span:not(.fgame-you-inline) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions {
        grid-column: 2 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        justify-self: end !important;
        gap: 3px !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions .fgame-paybutton a,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions .fgame-paylabel,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions .psx16-repay,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-member-actions .psx16-remove-user {
        width: 27px !important;
        min-width: 27px !important;
        max-width: 27px !important;
        height: 27px !important;
        min-height: 27px !important;
        padding: 0 !important;
        flex: 0 0 27px !important;
    }

    /* На телефоне свободная строка не тратит место на слово "Свободно".
       Записаться занимает свободную ширину, лупа остаётся справа. */
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member:not(.is-unavailable) .psx16-empty-label {
        display: none !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell > .fgame-action.psx16-empty-member.is-unavailable .psx16-empty-label {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        font-size: 9.5px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: stretch !important;
        gap: 4px !important;
        width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-join:not([hidden]),
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .fgame-join-denied:not([hidden]) {
        display: inline-flex !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 7px !important;
        justify-content: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-join > span,
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .fgame-join-denied > span {
        display: inline !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-width: none !important;
        font-size: 10.5px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-add-user:not([hidden]) {
        display: inline-flex !important;
        flex: 0 0 30px !important;
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        padding: 0 !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.psx16-member-cell .psx16-empty-actions .psx16-add-user .psx16-action-label {
        display: none !important;
    }

    /* Цена компактнее, но остаётся читаемой. */
    html body .fgame-container.psx16-ui.psx21-ui td.fgame-price .fgame-price-value {
        font-size: 10.5px !important;
    }
    html body .fgame-container.psx16-ui.psx21-ui td.fgame-price .fgame-sale-label {
        font-size: 8px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 374px) {
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-position { width: 66px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-price { width: 64px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table col.fgame-col-status { width: 50px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.pos,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-position { width:66px !important; min-width:66px !important; max-width:66px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.price-head,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-price { width:64px !important; min-width:64px !important; max-width:64px !important; }
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table th.stst,
    html body .fgame-container.psx16-ui.psx21-ui table.fgame-table td.fgame-status { width:50px !important; min-width:50px !important; max-width:50px !important; }
}


/* ==========================================================================
 * PSXCLUB FGame v54 - hidden action guard
 * --------------------------------------------------------------------------
 * Mobile layout must never override business visibility from PHP/JS.
 * A control carrying [hidden] stays hidden even when mobile rules use
 * display:inline-flex!important for visible controls.
 * ========================================================================== */
html body .fgame-container.psx16-ui.psx21-ui .psx16-empty-actions .psx16-join[hidden],
html body .fgame-container.psx16-ui.psx21-ui .psx16-empty-actions .fgame-join-denied[hidden],
html body .fgame-container.psx16-ui.psx21-ui .psx16-empty-actions .psx16-add-user[hidden],
html body .fgame-container.psx16-ui.psx21-ui .psx16-empty-actions .fgame-finduser[hidden] {
    display: none !important;
}


/* v55: hidden всегда сильнее любых старых mobile override. */
html body .fgame-container [hidden],
html body .fgame-container .fgame-join[hidden],
html body .fgame-container .fgame-join-denied[hidden],
html body .fgame-container .fgame-finduser[hidden] {
    display: none !important;
}
