.header-admin-manage-block {
    margin-top: 8px;
    padding: 10px;
    border: 1px solid rgba(138, 160, 255, 0.28);
    border-radius: 12px;
    background: rgba(21, 24, 38, 0.92);
    max-height: 58vh;
    overflow-y: auto;
}

.header-admin-manage-title {
    font-size: 13px;
    font-weight: 700;
    color: #c8d2ff;
    margin-bottom: 8px;
}

.header-admin-manage-counters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.header-admin-counter {
    border: 1px solid rgba(127, 145, 255, 0.28);
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 11px;
    color: #cfd8ff;
    background: rgba(27, 32, 52, 0.75);
}

.header-admin-manage-tools {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-bottom: 10px;
}

.header-admin-manage-tools input,
.header-admin-manage-tools select {
    width: 100%;
    border: 1px solid rgba(127, 145, 255, 0.35);
    border-radius: 8px;
    background: rgba(18, 21, 34, 0.92);
    color: #e9eeff;
    font-size: 12px;
    padding: 8px 10px;
}

.header-admin-manage-empty {
    margin: 0;
    color: #a8b2d1;
    font-size: 13px;
}

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

.players-history-block {
    margin-top: 8px;
    padding: 10px;
    border: 1px solid rgba(138, 160, 255, 0.28);
    border-radius: 12px;
    background: rgba(21, 24, 38, 0.92);
    max-height: 62vh;
    overflow-y: auto;
}

.players-history-title {
    font-size: 13px;
    font-weight: 700;
    color: #c8d2ff;
    margin-bottom: 8px;
}

.players-history-tools {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

#players-history-search-input {
    flex: 1 1 320px;
    border: 1px solid rgba(127, 145, 255, 0.35);
    border-radius: 8px;
    background: rgba(18, 21, 34, 0.92);
    color: #e9eeff;
    font-size: 12px;
    padding: 8px 10px;
}

.players-history-count {
    color: #a8b2d1;
    font-size: 12px;
}

.players-history-list {
    display: grid;
    gap: 8px;
}

.players-history-card {
    border: 1px solid rgba(130, 145, 255, 0.26);
    border-radius: 10px;
    padding: 10px;
    background: rgba(11, 13, 24, 0.88);
}

.players-history-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin-bottom: 6px;
}

.players-history-name {
    font-size: 14px;
    font-weight: 700;
    color: #edf1ff;
}

a.players-history-name-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(237, 241, 255, 0.35);
}
a.players-history-name-link:hover {
    color: #fff;
    border-bottom-color: rgba(248, 250, 252, 0.75);
}

.players-history-meta code {
    color: #c8d2ff;
    font-size: 11px;
}

.players-history-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #a8b2d1;
    font-size: 12px;
}

.players-history-empty {
    margin: 0;
    color: #a8b2d1;
    font-size: 13px;
}

body.light-theme .players-history-block {
    background: #f9fafb;
    border-color: rgba(15, 23, 42, 0.12);
}

body.light-theme .players-history-title {
    color: #111827;
}

body.light-theme #players-history-search-input {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.18);
    color: #111827;
    -webkit-text-fill-color: #111827;
}

body.light-theme #players-history-search-input::placeholder {
    color: #9ca3af;
}

body.light-theme .players-history-count,
body.light-theme .players-history-empty {
    color: #64748b;
}

body.light-theme .players-history-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
}

body.light-theme .players-history-name {
    color: #111827;
}

body.light-theme a.players-history-name-link {
    color: #111827;
    border-bottom-color: rgba(15, 23, 42, 0.25);
}

body.light-theme a.players-history-name-link:hover {
    color: #4338ca;
    border-bottom-color: rgba(67, 56, 202, 0.45);
}

body.light-theme .players-history-meta code {
    color: #475569;
}

body.light-theme .players-history-stats {
    color: #64748b;
}

.header-admin-card {
    border: 1px solid rgba(130, 145, 255, 0.26);
    border-radius: 10px;
    padding: 10px;
    background: rgba(11, 13, 24, 0.88);
}

.header-admin-card-name {
    font-size: 14px;
    font-weight: 700;
    color: #edf1ff;
}

.header-admin-card-meta {
    margin-top: 3px;
    color: #a8b2d1;
    font-size: 12px;
}

.header-admin-card-status {
    margin-top: 6px;
    color: #cfd8ff;
    font-size: 12px;
}

.header-admin-card-actions {
    margin-top: 10px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.header-admin-action-btn {
    border: 1px solid rgba(127, 145, 255, 0.35);
    border-radius: 8px;
    background: rgba(91, 106, 208, 0.22);
    color: #e9eeff;
    padding: 6px 10px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
}

.header-admin-action-btn.warn {
    background: rgba(176, 132, 29, 0.25);
    border-color: rgba(215, 168, 52, 0.44);
}

.header-admin-action-btn.danger {
    background: rgba(179, 49, 49, 0.22);
    border-color: rgba(216, 84, 84, 0.45);
}

.header-admin-action-btn.unfreeze {
    background: rgba(54, 154, 127, 0.22);
    border-color: rgba(90, 194, 166, 0.45);
}

.header-admin-action-btn:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
/* ============================================ */
/* Портал: тёмная тема + фиолетовый акцент      */
/* (фон body, светлая тема, cursor-glow — без изменений) */
/* ============================================ */

:root {
    --btn-gradient-primary: linear-gradient(135deg, #6366f1 0%, #7c3aed 52%, #9333ea 100%);
    --btn-gradient-primary-hover: linear-gradient(135deg, #818cf8 0%, #8b5cf6 52%, #a855f7 100%);
    --tab-gradient-active: linear-gradient(135deg, #1e4d5c 0%, #0f766e 50%, #0d9488 100%);
    --tab-gradient-active-hover: linear-gradient(135deg, #0f766e 0%, #0d9488 50%, #14b8a6 100%);
    --mod-section-tab-gradient-active: linear-gradient(135deg, #4338ca 0%, #6366f1 50%, #7c3aed 100%);
    --mod-section-tab-gradient-active-hover: linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #8b5cf6 100%);
    --mod-section-tab-border-active: 1px solid rgba(129, 140, 248, 0.45);
    --mod-section-tab-shadow-active: 0 4px 14px rgba(99, 102, 241, 0.28);
    --tab-gradient-admin-active: linear-gradient(135deg, #b91c1c 0%, #dc2626 48%, #ef4444 100%);
    --tab-gradient-admin-active-hover: linear-gradient(135deg, #dc2626 0%, #ef4444 48%, #f87171 100%);
    --tab-border-active: 1px solid rgba(13, 148, 136, 0.42);
    --tab-shadow-active: 0 4px 14px rgba(15, 118, 110, 0.26);
    --btn-gradient-secondary: linear-gradient(135deg, rgba(52, 58, 92, 0.96), rgba(28, 32, 52, 0.98));
    --btn-gradient-secondary-hover: linear-gradient(135deg, rgba(68, 74, 108, 0.98), rgba(40, 44, 68, 0.99));
    --btn-gradient-muted: linear-gradient(135deg, rgba(40, 44, 68, 0.72), rgba(22, 24, 40, 0.88));
    --btn-gradient-muted-hover: linear-gradient(135deg, rgba(56, 60, 88, 0.82), rgba(32, 34, 52, 0.92));
    --btn-gradient-danger: linear-gradient(135deg, #fb923c 0%, #ef4444 55%, #dc2626 100%);
    --btn-gradient-danger-hover: linear-gradient(135deg, #fdba74 0%, #f87171 55%, #ef4444 100%);
    --btn-gradient-success: linear-gradient(135deg, #22c55e, #16a34a);
    --btn-gradient-success-hover: linear-gradient(135deg, #4ade80, #22c55e);
    --btn-gradient-ice: linear-gradient(135deg, rgba(103, 232, 249, 0.78), rgba(56, 189, 248, 0.88), rgba(37, 99, 235, 0.82));
    --btn-gradient-ice-hover: linear-gradient(135deg, rgba(125, 211, 252, 0.92), rgba(56, 189, 248, 0.95), rgba(59, 130, 246, 0.88));
    --btn-gradient-warn: linear-gradient(135deg, #f59e0b, #d97706);
    --btn-gradient-warn-hover: linear-gradient(135deg, #fbbf24, #f59e0b);
    --btn-shadow-primary: 0 6px 22px rgba(99, 102, 241, 0.35);
    --btn-shadow-primary-hover: 0 10px 28px rgba(99, 102, 241, 0.45);
    --btn-border-primary: 1px solid rgba(196, 181, 253, 0.35);
    --btn-border-secondary: 1px solid rgba(127, 145, 255, 0.28);
    --wallet-topup-btn-bg: #6d92eb;
    --wallet-topup-btn-bg-hover: #82a3f0;
    --wallet-topup-btn-fg: #0c1018;
    --wallet-topup-btn-size: 22px;
    --wallet-topup-btn-icon: 22px;
    --surface-block-bg: rgba(40, 38, 45, 0.1);
}

html {
    min-height: 100%;
    overflow-x: hidden;
}

body {
    min-height: 100vh;
    min-height: -webkit-fill-available;
    margin: 0;
    padding: 0;
    padding-left: env(safe-area-inset-left, 0);
    padding-right: env(safe-area-inset-right, 0);
    background: #1a1a24;
    color: #e8e8f0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}

/* Светлая тема — мягкий фон, тёмный текст */
body.light-theme {
    background: #f0f2f5;
    color: #111827;
    --btn-gradient-muted: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    --btn-gradient-muted-hover: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    --btn-gradient-secondary: linear-gradient(180deg, #ffffff 0%, #eef2ff 100%);
    --btn-gradient-secondary-hover: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    --btn-border-secondary: 1px solid rgba(99, 102, 241, 0.32);
    --tab-gradient-active: linear-gradient(135deg, #115e59 0%, #0f766e 46%, #0d9488 100%);
    --tab-gradient-active-hover: linear-gradient(135deg, #0f766e 0%, #0d9488 46%, #14b8a6 100%);
    --tab-gradient-admin-active: linear-gradient(135deg, #991b1b 0%, #dc2626 46%, #ef4444 100%);
    --tab-gradient-admin-active-hover: linear-gradient(135deg, #b91c1c 0%, #ef4444 46%, #f87171 100%);
    --tab-shadow-active: 0 4px 14px rgba(15, 118, 110, 0.22);
}

body.light-theme h1,
body.light-theme h2,
body.light-theme h3 {
    color: #0f172a;
    text-shadow: none;
}

/* Скроллбары основного сайта — трек в цвет фона */
body:not(.support-portal) {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.38) #1a1a24;
}

body:not(.support-portal) * {
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, 0.38) #1a1a24;
}

body:not(.support-portal)::-webkit-scrollbar,
body:not(.support-portal) *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body:not(.support-portal)::-webkit-scrollbar-track,
body:not(.support-portal) *::-webkit-scrollbar-track {
    background: #1a1a24;
}

body:not(.support-portal)::-webkit-scrollbar-thumb,
body:not(.support-portal) *::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.38);
    border-radius: 999px;
    border: 2px solid #1a1a24;
}

body:not(.support-portal).light-theme {
    scrollbar-color: rgba(100, 116, 139, 0.45) #f0f2f5;
}

body:not(.support-portal).light-theme * {
    scrollbar-color: rgba(100, 116, 139, 0.45) #f0f2f5;
}

body:not(.support-portal).light-theme::-webkit-scrollbar-track,
body:not(.support-portal).light-theme *::-webkit-scrollbar-track {
    background: #f0f2f5;
}

body:not(.support-portal).light-theme::-webkit-scrollbar-thumb,
body:not(.support-portal).light-theme *::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.45);
    border-color: #f0f2f5;
}

body.light-theme .main-content {
    background: #f0f2f5;
}

body.light-theme .app-main-wrap {
    background: #f0f2f5;
}

body.light-theme .cursor-glow {
    opacity: 0;
    visibility: hidden;
}

body.light-theme .page-content p,
body.light-theme .page-content li {
    color: #334155;
}

/* Ссылки: белые на тёмном фоне, тёмные на светлом (кнопки/навигация — отдельно) */
body:not(.light-theme) a:not(.btn):not(.action-btn):not(.mod-page-btn):not(.nav-btn):not(.site-rail-btn):not(.site-dropdown-item):not(.header-dropdown-item):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.players-history-name-link):not(.mod-user-cell):not(.steam-profile-nav-link):not(.mod-admin-roster-profile-link) {
    color: #ffffff;
}
body:not(.light-theme) a:not(.btn):not(.action-btn):not(.mod-page-btn):not(.nav-btn):not(.site-rail-btn):not(.site-dropdown-item):not(.header-dropdown-item):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.players-history-name-link):not(.mod-user-cell):not(.steam-profile-nav-link):not(.mod-admin-roster-profile-link):hover,
body:not(.light-theme) a:not(.btn):not(.action-btn):not(.mod-page-btn):not(.nav-btn):not(.site-rail-btn):not(.site-dropdown-item):not(.header-dropdown-item):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.players-history-name-link):not(.mod-user-cell):not(.steam-profile-nav-link):not(.mod-admin-roster-profile-link):visited {
    color: #ffffff;
}

body.light-theme a:not(.header-dropdown-item):not(.site-dropdown-item):not(.btn):not(.action-btn):not(.nav-btn):not(.site-rail-btn):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.mod-admin-roster-profile-link) {
    color: #111827;
}
body.light-theme a:not(.header-dropdown-item):not(.site-dropdown-item):not(.btn):not(.action-btn):not(.nav-btn):not(.site-rail-btn):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.mod-admin-roster-profile-link):hover,
body.light-theme a:not(.header-dropdown-item):not(.site-dropdown-item):not(.btn):not(.action-btn):not(.nav-btn):not(.site-rail-btn):not(.header-brand):not(.shop-pay-btn):not(.mod-sanction-lift-btn):not(.mod-admin-roster-profile-link):visited {
    color: #0f172a;
}

/* Главная: заголовок «Главная» и блок ввода */
#home-content.home-page .home-page-title {
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 8px;
    animation: none;
    text-shadow: none;
    color: #ffffff!important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: clamp(28px, 3.2vw, 36px);
    font-weight: 700;
}
#home-content.home-page .home-greeting-line {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: rgba(216, 180, 254, 0.95);
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 14px;
    max-width: 640px;
}
#home-content.home-page .home-intro .home-lead {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    color: rgba(243, 243, 255, 0.92);
    text-shadow: none;
    font-size: 1.05rem;
    line-height: 1.55;
    margin-top: 0;
}
body.light-theme #home-content.home-page .home-greeting-line {
    color: rgba(216, 180, 254, 0.95);
}
body.light-theme #home-content.home-page .home-page-title {
    color: #111827;
}

body.light-theme .home-intro {
    background: linear-gradient(145deg, rgba(249, 250, 251, 0.98), rgba(243, 232, 255, 0.95));
    border-color: rgba(99, 102, 241, 0.15);
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

body.light-theme .home-intro .home-lead {
    color: #374151;
}

/* Бейдж на hero: всегда тёмный фон и белый текст (читаемо на картинке и в светлой теме) */
body.light-theme #home-content .home-tag,
body.light-theme .home-hero .home-tag,
body.light-theme .home-tag {
    background: rgba(0, 0, 0, 0.72) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
    color: #ffffff !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.35) !important;
}
body.light-theme #home-content .home-tag span,
body.light-theme .home-hero .home-tag span,
body.light-theme .home-tag span {
    color: #ffffff !important;
}

/* Затемнённое размытое пятно света за курсором */
.cursor-glow {
    position: fixed;
    width: min(42vmax, 280px);
    height: min(42vmax, 280px);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(
        circle at center,
        rgba(139, 92, 246, 0.35) 0%,
        rgba(139, 92, 246, 0.2) 20%,
        rgba(139, 92, 246, 0.12) 40%,
        rgba(139, 92, 246, 0.05) 60%,
        transparent 80%
    );
    filter: blur(18px);
    pointer-events: none;
    z-index: 0;
    will-change: left, top;
}

body.cursor-glow-off .cursor-glow {
    opacity: 0;
    visibility: hidden;
}

.header-display-toggles {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.cursor-glow-toggle.is-active {
    border-color: rgba(167, 139, 250, 0.5);
    box-shadow: 0 0 12px rgba(139, 92, 246, 0.35);
}

.cursor-glow-toggle-icon {
    display: block;
    flex-shrink: 0;
}

.cursor-glow-toggle:not(.is-active) .cursor-glow-toggle-icon {
    opacity: 0.55;
}

.cursor-glow-toggle:not(.is-active) .cursor-glow-toggle-halo {
    opacity: 0;
}

body.light-theme .cursor-glow-toggle.is-active {
    border-color: rgba(99, 102, 241, 0.45);
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.25);
}

.app-container {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-height: 100vh;
    overflow-x: hidden;
}

.app-main-wrap {
    flex: 1;
    min-width: 0;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden;
}

.site-left-rail {
    position: fixed;
    left: 12px;
    top: 77%;
    transform: translateY(-50%);
    z-index: 1005;
    width: 56px;
    padding: 10px 8px;
    border-radius: 16px;
    background: rgba(8, 10, 20, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    overflow: visible;
    box-sizing: border-box;
    transition: width 0.22s cubic-bezier(0.25, 0.8, 0.25, 1);
}

html.site-rail-expanded .site-left-rail,
.site-left-rail.is-expanded {
    width: 168px;
    align-items: stretch;
}

@media (max-width: 768px) {
    .site-left-rail {
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        transform: none;
        width: 100% !important;
        max-width: none;
        flex-direction: row;
        align-items: center;
        justify-content: space-around;
        gap: 2px;
        padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
        border-radius: 0;
        border-left: 0;
        border-right: 0;
        border-bottom: 0;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(8, 10, 20, 0.97);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        z-index: 1100;
        box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.35);
    }
    html.site-rail-expanded .site-left-rail,
    .site-left-rail.is-expanded {
        width: 100% !important;
        align-items: center;
    }
    .site-rail-expand-btn {
        display: none !important;
    }
    .site-rail-label {
        display: none !important;
    }
    .site-rail-btn-wrap {
        width: auto;
        margin: 0;
    }
    .site-rail-btn-wrap--tickets .site-rail-tooltip {
        display: none !important;
    }
    .site-rail-btn {
        width: 48px;
        height: 48px;
        min-width: 48px;
        min-height: 48px;
        margin: 0;
        border-radius: 14px;
    }
    html.site-rail-expanded .site-rail-btn,
    .site-left-rail.is-expanded .site-rail-btn {
        width: 48px;
        justify-content: center;
        padding: 0;
    }
    body.light-theme .site-left-rail {
        background: rgba(248, 250, 252, 0.97);
        border-top-color: rgba(15, 23, 42, 0.1);
        box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12);
    }
}

.site-rail-expand-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 32px;
    margin: 0 auto 2px;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8b8b9a;
    cursor: pointer;
    flex-shrink: 0;
    box-sizing: border-box;
}

html.site-rail-expanded .site-rail-expand-btn,
.site-left-rail.is-expanded .site-rail-expand-btn {
    width: 100%;
    justify-content: flex-end;
    padding-right: 6px;
}

.site-rail-expand-btn:hover {
    background: rgba(139, 92, 246, 0.12);
    color: #e9d5ff;
}

.site-rail-expand-btn .ui-icon-wrap {
    display: inline-flex;
    width: 20px;
    height: 20px;
    line-height: 0;
}

.site-rail-label {
    display: none;
    margin-left: 10px;
    font-size: 13px;
    font-weight: 560;
    letter-spacing: 0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2;
    max-width: 108px;
    text-align: left;
}

html.site-rail-expanded .site-rail-label,
.site-left-rail.is-expanded .site-rail-label {
    display: inline-block;
}

.site-rail-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #a3a3a3;
    font-size: 18px;
    line-height: 0;
    cursor: pointer;
    transform: none;
    box-sizing: border-box;
    margin: 0 auto;
}

html.site-rail-expanded .site-rail-btn,
.site-left-rail.is-expanded .site-rail-btn {
    width: 100%;
    justify-content: flex-start;
    padding: 0 10px;
    margin: 0;
}

.site-left-rail .site-rail-btn.nav-btn,
.site-left-rail .site-rail-btn.nav-btn:hover,
.site-left-rail .site-rail-btn.nav-btn.active {
    transform: none !important;
}

.site-left-rail .ui-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    line-height: 0;
    flex-shrink: 0;
}

.site-left-rail .ui-icon-wrap svg,
.site-left-rail .ui-icon-wrap .ui-icon {
    display: block;
    margin: 0 auto;
}

/* Иконка «Общие блокировки»: путь смещён в viewBox — подравниваем оптически */
.site-left-rail .site-rail-btn[data-page="globalBlocks"] .ui-icon-wrap svg {
    transform: translateX(2px);
}

.site-rail-btn:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
}

.site-rail-btn.active {
    background: linear-gradient(135deg, #343f91, #5b21b6);
    color: #c4b5fd;
}

/* Рельс: не применять глобальный .nav-criteria (зелёный + translateX) — иначе кнопка «вылезает» вбок */
.site-left-rail .site-rail-btn.nav-criteria,
.site-left-rail .site-rail-btn.nav-criteria:hover,
.site-left-rail .site-rail-btn.nav-criteria.active {
    transform: none !important;
}
.site-left-rail .site-rail-btn.nav-criteria {
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}
.site-left-rail .site-rail-btn.nav-criteria:hover {
    background: rgba(139, 92, 246, 0.15) !important;
    color: #e9d5ff !important;
}
.site-left-rail .site-rail-btn.nav-criteria.active {
    background: linear-gradient(135deg, #343f91, #5b21b6) !important;
    color: #c4b5fd !important;
    box-shadow: none !important;
}

/* Подсказка у «Тикетов»: выезжает вправо при наведении */
.site-rail-btn-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
}

html.site-rail-expanded .site-rail-btn-wrap,
.site-left-rail.is-expanded .site-rail-btn-wrap {
    width: 100%;
    margin: 0;
    align-items: stretch;
}

.site-rail-btn-wrap .site-rail-btn {
    flex-shrink: 0;
}

html.site-rail-expanded .site-rail-btn-wrap--tickets .site-rail-tooltip,
.site-left-rail.is-expanded .site-rail-btn-wrap--tickets .site-rail-tooltip {
    display: none;
}

.site-rail-tooltip {
    position: absolute;
    left: calc(100% + 8px);
    top: 50%;
    z-index: 1006;
    margin: 0;
    padding: 12px 16px;
    max-width: min(240px, calc(100vw - 100px));
    border-radius: 10px;
    background: rgba(12, 14, 24, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.45;
    color: #f3f4f6;
    text-align: left;
    white-space: normal;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-50%) translateX(-8px);
    transition:
        opacity 0.2s ease,
        transform 0.22s cubic-bezier(0.25, 0.8, 0.25, 1),
        visibility 0.2s;
}

.site-rail-btn-wrap:hover .site-rail-tooltip,
.site-rail-btn-wrap:focus-within .site-rail-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}

body.light-theme .site-rail-expand-btn {
    color: #6b7280;
}

body.light-theme .site-rail-expand-btn:hover {
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
}

body.light-theme .site-left-rail {
    background: #ffffff;
    border-color: #e5e7eb;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

body.light-theme .site-rail-btn {
    color: #6b7280;
}

body.light-theme .site-rail-btn:hover {
    background: rgba(99, 102, 241, 0.1);
    color: #4338ca;
}

body.light-theme .site-rail-btn.active {
    background: linear-gradient(135deg, #6366f1, #7c3aed);
    color: #ffffff;
}

body.light-theme .site-left-rail .site-rail-btn.nav-criteria,
body.light-theme .site-left-rail .site-rail-btn.nav-criteria:hover {
    background: transparent !important;
    color: #6b7280 !important;
}

body.light-theme .site-left-rail .site-rail-btn.nav-criteria.active {
    background: linear-gradient(135deg, #6366f1, #7c3aed) !important;
    color: #ffffff !important;
}

body.light-theme .site-rail-tooltip {
    background: rgba(249, 250, 251, 0.98);
    border-color: rgba(15, 23, 42, 0.12);
    color: #111827;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.15);
}

.menu-trigger-mobile {
    display: none;
}

@media (max-width: 1199px) {
    .site-left-rail {
        display: flex;
        left: 8px;
        width: 50px;
        padding: 8px 6px;
    }
    html.site-rail-expanded .site-left-rail,
    .site-left-rail.is-expanded {
        width: 156px;
    }
    .site-rail-btn {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }
    .site-rail-expand-btn {
        width: 36px;
        height: 28px;
    }
    .site-rail-label {
        max-width: 96px;
        font-size: 12px;
    }
    .menu-trigger-mobile {
        display: inline-flex !important;
    }
    .header-brand-mobile {
        display: inline-flex !important;
    }
    .header-site-menu-btn {
        display: none;
    }
}

@media (min-width: 992px) {
    .menu-trigger-mobile {
        display: none !important;
    }
    .header-brand-mobile {
        display: none !important;
    }
}

/* Сайт-меню «Меню ▼» */
.header-site-menu-wrap {
    position: relative;
}

.header-site-menu-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.06);
    color: #e8e8f0;
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.header-site-menu-btn:hover {
    background: rgba(139, 92, 246, 0.18);
    border-color: rgba(139, 92, 246, 0.35);
    color: #f5f3ff;
}

.header-site-menu-btn.is-open {
    background: rgba(139, 92, 246, 0.22);
    border-color: rgba(139, 92, 246, 0.4);
}

.header-chev-down {
    display: block;
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid currentColor;
    opacity: 0.8;
    margin-top: 2px;
    transition: transform 0.2s ease;
}

.header-site-menu-btn.is-open .header-chev-down {
    transform: rotate(180deg);
}

.header-menu-scrim {
    display: none;
}

body.site-menu-open .header-menu-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1002;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(3px);
}

/* Шапка над скримом: кнопка ☰ и тема остаются кликабельными */
body.site-menu-open .top-header {
    z-index: 1008;
}

.header-site-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 268px;
    max-width: min(360px, calc(100vw - 48px));
    max-height: min(72vh, 520px);
    overflow-y: auto;
    overflow-x: hidden;
    padding: 8px 6px;
    margin: 0;
    background: rgba(24, 24, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
    z-index: 1004;
    display: none;
}

.header-site-dropdown.is-open {
    display: block;
}

.site-dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 11px 18px;
    text-align: left;
    font-size: 15px;
    font-family: inherit;
    color: #e8e8f0;
    border: none;
    background: none;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    border-radius: 0;
    transition: background 0.2s ease, color 0.2s ease, transform 0.25s ease-out, border-radius 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
    text-decoration: none;
}

/* Глобальные .nav-news / .nav-mystatus и т.д. задают border-color — без рамки в дропдауне */
.header-site-dropdown .site-dropdown-item {
    border: none !important;
}

/* Пункты выпадающего меню навигации */
.site-dropdown-item:hover:not(.nav-tickets) {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
    transform: translateX(8px);
}

.site-dropdown-item.nav-btn.active {
    background: rgba(139, 92, 246, 0.2);
    color: #e9d5ff;
    transform: translateX(6px);
    border-radius: 10px;
}

.site-dropdown-item:active:not(.nav-news):not(.nav-tickets) {
    background: rgba(139, 92, 246, 0.22);
    color: #e9d5ff;
    transform: translateX(6px);
    border-radius: 10px;
}

/* «Тикеты» — постоянная фиолетовая плашка */
.site-dropdown-item.nav-tickets {
    position: relative;
    z-index: 0;
    isolation: isolate;
    background: transparent !important;
    background-color: transparent !important;
    color: #e9d5ff;
    border-radius: 10px;
}

.site-dropdown-item.nav-tickets::before {
    content: "";
    position: absolute;
    inset: 2px 4px;
    border-radius: 10px;
    background-color: rgba(192, 132, 252, 0.32);
    z-index: -1;
    pointer-events: none;
    transition: background-color 0.2s ease;
}

.site-dropdown-item.nav-tickets:hover {
    background: transparent !important;
    background-color: transparent !important;
    color: #e9d5ff;
    transform: translateX(8px);
    border-radius: 10px;
}

.site-dropdown-item.nav-tickets:hover::before {
    background-color: rgba(192, 132, 252, 0.45);
}

.site-dropdown-item.nav-tickets.active {
    color: #e9d5ff;
    border-radius: 10px;
    transform: translateX(6px);
}

.site-dropdown-item.nav-tickets.active::before {
    background-color: rgba(192, 132, 252, 0.4);
}

/* «Новости» — индиго-фиолетовый градиент (в тон primary-кнопкам) */
.site-dropdown-item.nav-news:hover:not(.active) {
    background: linear-gradient(90deg, rgba(99, 102, 241, 0.22), rgba(139, 92, 246, 0.14)) !important;
    color: #e9d5ff !important;
    transform: translateX(8px);
}

.site-dropdown-item.nav-news.active {
    background: var(--btn-gradient-primary) !important;
    color: #fff !important;
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.4) !important;
    transform: translateX(15px);
    border-radius: 10px;
}

.site-dropdown-item.nav-news.active:hover {
    background: var(--btn-gradient-primary-hover) !important;
    color: #fff !important;
    transform: translateX(15px);
}

.site-dropdown-item.nav-admin {
    background: rgba(239, 68, 68, 0.2);
}

.site-dropdown-item.nav-admin:hover {
    background: rgba(239, 68, 68, 0.34);
    color: #fecaca;
}

.site-dropdown-item.nav-admin.active {
    background: linear-gradient(90deg, #b91c1c, #ef4444) !important;
    color: #fff5f5 !important;
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.38) !important;
}

.site-dropdown-link.site-dropdown-item:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
    transform: translateX(8px);
}

/* «Сообщество» — белый текст на тёмном фоне, не меняется при hover */
.header-site-dropdown .site-dropdown-link.nav-dropdown-clan,
.header-site-dropdown .site-dropdown-link.nav-dropdown-clan:hover,
.header-site-dropdown .site-dropdown-link.nav-dropdown-clan:active,
.header-site-dropdown .site-dropdown-link.nav-dropdown-clan:focus-visible,
.header-site-dropdown .site-dropdown-link.nav-dropdown-clan:visited {
    color: #ffffff;
}

.site-dropdown-link {
    color: inherit;
}

.site-dropdown-divider {
    height: 1px;
    margin: 8px 12px;
    background: rgba(255, 255, 255, 0.08);
    border: none;
    padding: 0;
}

.site-dropdown-item .btn-icon {
    font-size: 18px;
    flex-shrink: 0;
}

body.light-theme .header-site-dropdown {
    background: rgba(250, 250, 252, 0.98);
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.15);
}

body.light-theme .site-dropdown-item {
    color: #1e1b2e;
}

body.light-theme .site-dropdown-item:hover:not(.nav-tickets) {
    background: rgba(99, 102, 241, 0.12);
    color: #1e1b2e;
}

body.light-theme .site-dropdown-item.nav-btn.active {
    background: rgba(99, 102, 241, 0.18);
    color: #3730a3;
}

body.light-theme .site-dropdown-item.nav-btn:active:not(.nav-news):not(.nav-tickets) {
    background: rgba(99, 102, 241, 0.12);
    color: #1e1b2e;
    transform: translateX(6px);
    border-radius: 10px;
}

/* «Сообщество» — на светлом фоне меню чёрный текст */
body.light-theme .header-site-dropdown .site-dropdown-link.nav-dropdown-clan,
body.light-theme .header-site-dropdown .site-dropdown-link.nav-dropdown-clan:hover,
body.light-theme .header-site-dropdown .site-dropdown-link.nav-dropdown-clan:active,
body.light-theme .header-site-dropdown .site-dropdown-link.nav-dropdown-clan:focus-visible,
body.light-theme .header-site-dropdown .site-dropdown-link.nav-dropdown-clan:visited {
    color: #111827;
}

body.light-theme .site-dropdown-item.nav-tickets::before {
    background-color: rgba(192, 132, 252, 0.22);
}

body.light-theme .site-dropdown-item.nav-tickets:hover::before,
body.light-theme .site-dropdown-item.nav-tickets.active::before {
    background-color: rgba(192, 132, 252, 0.35);
}

body.light-theme .site-dropdown-item.nav-tickets,
body.light-theme .site-dropdown-item.nav-tickets:hover,
body.light-theme .site-dropdown-item.nav-tickets.active {
    background-color: transparent !important;
    color: #1e1b2e;
}

body.light-theme .site-dropdown-item.nav-news:hover:not(.active) {
    background: linear-gradient(90deg, rgba(99, 102, 241, 0.16), rgba(139, 92, 246, 0.1)) !important;
    color: #3730a3 !important;
}

body.light-theme .site-dropdown-item.nav-news.active {
    background: var(--btn-gradient-primary) !important;
    color: #fff !important;
    box-shadow: 0 0 16px rgba(99, 102, 241, 0.32) !important;
}

body.light-theme .site-dropdown-item.nav-news.active:hover {
    background: var(--btn-gradient-primary-hover) !important;
    color: #fff !important;
}

body.light-theme .site-dropdown-item.nav-criteria.active,
body.light-theme .site-dropdown-item.nav-criteria.nav-btn.active,
body.light-theme .site-dropdown-item.nav-criteria.nav-btn.active:hover,
body.light-theme .site-dropdown-item.nav-criteria.nav-btn:active {
    background: linear-gradient(90deg, #27ae60, #2ecc71) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 0 16px rgba(46, 204, 113, 0.35) !important;
}

body.light-theme .site-dropdown-item.nav-apply.active,
body.light-theme .site-dropdown-item.nav-apply.nav-btn.active,
body.light-theme .site-dropdown-item.nav-apply.nav-btn.active:hover,
body.light-theme .site-dropdown-item.nav-apply.nav-btn:active {
    background: linear-gradient(90deg, rgba(155, 89, 182, 0.55), rgba(142, 68, 173, 0.48)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: 0 0 12px rgba(155, 89, 182, 0.22) !important;
}

body.light-theme .site-dropdown-item.nav-criteria.active .btn-icon,
body.light-theme .site-dropdown-item.nav-criteria.active .ui-icon,
body.light-theme .site-dropdown-item.nav-apply.active .btn-icon,
body.light-theme .site-dropdown-item.nav-apply.active .ui-icon {
    color: #ffffff !important;
}

body.light-theme .site-dropdown-divider {
    background: rgba(15, 23, 42, 0.1);
}

@media (max-width: 991px) {
    /* Панель не перекрывает шапку (иначе ☰ под слоем меню) */
    .header-site-dropdown {
        position: fixed;
        top: calc(var(--hdr-h, 56px) + env(safe-area-inset-top, 0px));
        left: 0;
        bottom: 0;
        width: min(252px, min(82vw, calc(100vw - 64px)));
        max-width: 280px;
        max-height: none;
        border-radius: 0;
        border-right: 1px solid rgba(139, 92, 246, 0.2);
        border-top: none;
        border-bottom: none;
        border-left: none;
        padding-top: 10px;
        padding-bottom: env(safe-area-inset-bottom, 0);
        box-shadow: 16px 0 48px rgba(0, 0, 0, 0.55);
        transform: translateX(-105%);
        transition: transform 0.28s ease;
        display: block;
        visibility: hidden;
        pointer-events: none;
        z-index: 1006;
        -webkit-overflow-scrolling: touch;
    }

    .header-site-dropdown.is-open {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    .header-site-dropdown .site-dropdown-item {
        min-height: 44px;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 14px;
    }

    body.site-menu-open {
        overflow: hidden;
    }

    body.site-menu-open .header-menu-scrim {
        z-index: 1004;
    }

    .top-header {
        padding-left: max(12px, env(safe-area-inset-left, 0));
        padding-right: max(12px, env(safe-area-inset-right, 0));
        padding-top: env(safe-area-inset-top, 0);
    }
}

.btn-login-steam {
    background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
    border: none;
    color: #ffffff;
    border-radius: 9999px;
    padding: 13px 36px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 600;
    font-size: 16px;
    justify-content: center;
}
.btn-login-steam::before {
    content: none;
}
.btn-login-steam::after {
    content: '';
    display: inline-block;
    width: 34px;
    height: 34px;
    background-image: url('https://community.cloudflare.steamstatic.com/public/shared/images/header/logo_steam.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    filter: brightness(2.2) contrast(1.35) drop-shadow(0 0 4px rgba(255, 255, 255, 0.4));
    transform: scale(1.85);
    transform-origin: center;
    flex-shrink: 0;
}
.btn-login-steam:hover {
    filter: brightness(1.06);
}

.steam-login-btn {
    background: #5865F2 !important;
    color: #ffffff !important;
    border: none !important;
}

.discord-auth-choice {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.giveaway-auth-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.tickets-steam-hint {
    margin: 8px 0 0;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.72);
    max-width: 420px;
    line-height: 1.45;
}

body.light-theme .tickets-steam-hint {
    color: rgba(17, 24, 39, 0.75);
}

/* Узкая боковая панель (иконки) */
.sidebar {
    width: 72px;
    min-width: 72px;
    background: rgba(18, 18, 28, 0.98);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
}

.sidebar-inner {
    padding: 16px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.sidebar-btn {
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: #9ca3af;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.sidebar-btn:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #c4b5fd;
}

.sidebar-btn.active {
    background: rgba(139, 92, 246, 0.35);
    color: #e9d5ff;
}

.sidebar-icon {
    font-size: 22px;
}

/* Основная область: хедер + контент */
.main-area {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #1a1a24;
}

/* Хедер: градиент тёмно-синий / фиолетовый (как у крупных CS2-порталов) */
.top-header {
    --hdr-h: 56px;
    height: var(--hdr-h);
    min-height: var(--hdr-h);
    width: 100%;
    padding: 0 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: linear-gradient(135deg, rgba(22, 24, 48, 0.98) 0%, rgba(30, 22, 52, 0.98) 42%, rgba(18, 18, 32, 0.98) 100%);
    border-bottom: 1px solid rgba(139, 92, 246, 0.12);
    box-shadow: 0 1px 0 rgba(99, 102, 241, 0.08);
    box-sizing: border-box;
    position: relative;
}

.header-left {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}

/* Логотип в шапке (стиль игрового портала) */
.header-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #f5f3ff;
    flex-shrink: 0;
    padding: 4px 2px;
    border-radius: 10px;
    transition: opacity 0.2s ease, transform 0.15s ease;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}
.header-brand:hover {
    opacity: 0.92;
    transform: translateX(-50%) translateY(-1px);
}
.header-brand-mark {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 17px;
    font-family: 'Inter', sans-serif;
    color: #fff;
    background: linear-gradient(145deg, #6366f1 0%, #7c3aed 45%, #a855f7 100%);
    box-shadow: 0 4px 18px rgba(99, 102, 241, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.12);
}
.header-brand-word {
    display: flex;
    align-items: baseline;
    gap: 0;
    font-family: 'Inter', sans-serif;
    letter-spacing: -0.02em;
}
.header-brand-text {
    font-size: 1.15rem;
    font-weight: 700;
    text-transform: lowercase;
    color: #ede9fe;
}
.header-brand-tld {
    font-size: 0.95rem;
    font-weight: 500;
    color: rgba(196, 181, 253, 0.85);
}

@media (max-width: 480px) {
    .header-brand-mobile .header-brand-word {
        display: none;
    }
    .header-brand-mobile {
        padding: 2px;
    }
}

/* Кнопка «Меню» и выпадающий список навигации */
.header-nav-wrap {
    position: relative;
}
.menu-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.05);
    color: #e8e8f0;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
    position: relative;
    z-index: 6;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(139, 92, 246, 0.2);
}
.menu-trigger-icon {
    display: block;
}
.menu-trigger:hover {
    background: rgba(139, 92, 246, 0.2);
    border-color: rgba(139, 92, 246, 0.3);
    color: #e9d5ff;
}
.menu-trigger[aria-expanded="true"] {
    background: rgba(139, 92, 246, 0.25);
    border-color: rgba(139, 92, 246, 0.4);
}
.nav-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 6px;
    min-width: 280px;
    width: max-content;
    max-width: min(360px, calc(100vw - 24px));
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 10px 0;
    background: rgba(24, 24, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
    z-index: 1001;
    display: none;
}
.nav-dropdown.is-open {
    display: block;
}
.nav-dropdown .nav-dropdown-item {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding: 12px 20px;
    text-align: left;
    font-size: 15px;
    color: #e8e8f0;
    border: none;
    background: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, transform 0.25s ease-out;
    border-radius: 0;
    box-sizing: border-box;
}
.nav-dropdown .nav-dropdown-item:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
    transform: translateX(8px);
}
.nav-dropdown .nav-dropdown-item.active {
    background: rgba(139, 92, 246, 0.2);
    color: #e9d5ff;
    transform: translateX(6px);
    border-radius: 10px;
}
.nav-dropdown .nav-tickets {
    background: rgba(192, 132, 252, 0.32);
}
.nav-dropdown .nav-tickets:hover {
    background: rgba(192, 132, 252, 0.45);
    color: #e9d5ff;
    transform: translateX(8px);
}
.nav-dropdown .nav-tickets.active {
    background: rgba(192, 132, 252, 0.4);
    color: #e9d5ff;
}
.nav-dropdown .nav-dropdown-link {
    text-decoration: none;
    color: inherit;
    transition: background 0.2s ease, color 0.2s ease, transform 0.25s ease-out;
}
.nav-dropdown .nav-dropdown-link:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
    transform: translateX(8px);
}
.nav-dropdown .nav-dropdown-clan {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    color: #ffffff;
}
.nav-dropdown .nav-dropdown-clan:hover,
.nav-dropdown .nav-dropdown-clan:visited {
    color: #ffffff;
}

/* Внешняя ссылка проекта (legacy nav-dropdown) */
body.light-theme .nav-dropdown .nav-dropdown-clan,
body.light-theme .nav-dropdown .nav-dropdown-clan:hover {
    color: #111827;
}
.nav-dropdown .btn-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.header-right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-left: auto;
    min-width: 0;
    position: relative;
    z-index: 3;
}

.header-site-menu-wrap {
    position: relative;
    z-index: 3;
}

.theme-toggle {
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(0, 0, 0, 0.35);
    color: #f9fafb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease, box-shadow 0.15s ease, color 0.2s ease;
}
.theme-toggle:hover {
    background: rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.25);
    transform: translateY(-1px);
}
.theme-toggle:active {
    transform: translateY(0);
    box-shadow: none;
}

body.light-theme .theme-toggle {
    background: #f9fafb;
    color: #111827;
    border-color: rgba(15, 23, 42, 0.18);
    box-shadow: 0 0 8px rgba(148, 163, 184, 0.45);
}

.header-user-wrap {
    position: relative;
    margin-left: 10px;
}

.header-auth-cluster {
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.header-user-block {
    font-size: 14px;
    color: #d1d5db;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: default;
}

.header-user-block.header-user-clickable {
    cursor: pointer;
    padding: 2px 4px 2px 2px;
    border-radius: 8px;
    width: fit-content;
    max-width: min(280px, 52vw);
    align-self: center;
    box-sizing: border-box;
}
.header-user-block.header-user-clickable:hover,
.header-user-block.header-user-clickable.is-open {
    background: transparent;
}
.header-user-block.header-user-clickable:focus,
.header-user-block.header-user-clickable:focus-visible {
    outline: none;
}

.header-user-avatar-wrap {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}
.header-user-block .user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.header-user-meta-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 2px;
    min-width: 0;
    flex: 0 1 auto;
    width: auto;
}

.header-user-name-row {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    width: 100%;
}

.header-user-balance-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
    font-size: 12px;
    font-weight: 500;
    color: #f3f4f6;
    line-height: 1.2;
    margin-top: 1px;
}
/* Баланс в шапке: между темой и аватаром, компактная «плашка» */
.header-wallet-strip {
    margin-top: 0;
    padding: 4px 10px 4px 8px;
    border-radius: 999px;
    background: rgba(15, 17, 28, 0.75);
    border: 1px solid rgba(139, 92, 246, 0.22);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
    flex-shrink: 1;
    min-width: 0;
    max-width: min(220px, 38vw);
}
body.light-theme .header-wallet-strip {
    background: #f9fafb;
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
}
.header-wallet-strip .header-balance-add-btn {
    width: var(--wallet-topup-btn-size);
    height: var(--wallet-topup-btn-size);
    margin-left: 4px;
}
.header-wallet-strip--clickable {
    cursor: pointer;
}
.header-wallet-strip--clickable:hover {
    border-color: rgba(139, 92, 246, 0.38);
}
body.light-theme .header-wallet-strip--clickable:hover {
    border-color: rgba(99, 102, 241, 0.35);
}
@media (max-width: 520px) {
    .header-wallet-strip {
        font-size: 11px;
        gap: 4px;
        padding: 3px 8px 3px 6px;
        max-width: min(180px, 42vw);
    }
}

.header-balance-part {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.header-balance-coin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    font-size: 9px;
    color: rgba(243, 244, 246, 0.75);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.header-balance-sep {
    color: rgba(156, 163, 175, 0.85);
    font-weight: 600;
    user-select: none;
}

.header-balance-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--wallet-topup-btn-size);
    height: var(--wallet-topup-btn-size);
    margin-left: 4px;
    padding: 0;
    border: none;
    border-radius: 0;
    font-size: 0;
    line-height: 0;
    color: var(--wallet-topup-btn-fg);
    background: transparent;
    cursor: pointer;
    flex-shrink: 0;
    box-shadow: none;
    transition: transform 0.15s ease;
}
.header-balance-add-btn > span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0;
}
.header-balance-add-btn .ui-icon {
    display: block;
    width: var(--wallet-topup-btn-icon);
    height: var(--wallet-topup-btn-icon);
}
.header-balance-add-btn .addwallet-fill {
    fill: var(--wallet-topup-btn-bg);
    transition: fill 0.15s ease;
}
.header-balance-add-btn:hover {
    transform: scale(1.04);
}
.header-balance-add-btn:hover .addwallet-fill {
    fill: var(--wallet-topup-btn-bg-hover);
}

body.light-theme .header-user-balance-row {
    color: #111827;
}
body.light-theme .header-balance-coin-icon {
    color: #fbbf24;
    background: rgba(251, 191, 36, 0.22);
    border-color: rgba(251, 191, 36, 0.42);
}
body.light-theme .profile-wallet-row .header-balance-coin-icon {
    color: #92400e;
    background: linear-gradient(145deg, #fef9c3 0%, #fde68a 55%, #fcd34d 100%);
    border-color: rgba(146, 64, 14, 0.28);
    box-shadow: 0 1px 2px rgba(180, 83, 9, 0.14);
}
body.light-theme .header-balance-coin-icon .ui-icon,
body.light-theme .header-balance-coin-icon svg {
    color: inherit;
}
body.light-theme .header-balance-sep {
    color: rgba(75, 85, 99, 0.75);
}

.profile-wallet-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 6px 0 10px;
    font-size: 14px;
    font-weight: 600;
    color: #f3f4f6;
}
.profile-wallet-coins-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}
body.light-theme .profile-wallet-coins-wrap {
    color: #111827 !important;
}
.profile-wallet-rub {
    white-space: nowrap;
}
body.light-theme .profile-wallet-rub {
    color: #111827 !important;
}
.profile-dev-wallet-grant-btn {
    margin-left: 0;
    margin-top: 10px;
    min-width: 0;
    max-width: 100%;
    width: 100%;
    min-height: auto;
    border: 1px solid rgba(196, 181, 253, 0.4) !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #6366f1 0%, #7c3aed 52%, #9333ea 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 8px 20px rgba(99, 102, 241, 0.32);
    display: none;
    grid-template-columns: 20px 1fr;
    grid-template-areas:
        "icon title"
        "icon sub";
    align-items: center;
    justify-items: start;
    column-gap: 10px;
    row-gap: 2px;
    padding: 10px 14px !important;
    line-height: 1.05;
    text-align: left;
}
.profile-dev-wallet-grant-btn:not([hidden]) {
    display: grid;
}
.profile-dev-wallet-grant-btn[hidden] {
    display: none !important;
}
.profile-dev-wallet-grant-btn:hover {
    background: linear-gradient(135deg, #818cf8 0%, #8b5cf6 52%, #a855f7 100%) !important;
    filter: none;
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(99, 102, 241, 0.4);
}
.profile-dev-wallet-grant-btn-icon {
    grid-area: icon;
    font-size: 14px;
    line-height: 1;
}
.profile-dev-wallet-grant-btn-text {
    grid-area: title;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.05;
}
.profile-dev-wallet-grant-btn-sub {
    grid-area: sub;
    font-size: 12px;
    opacity: 0.96;
}
@media (max-width: 760px) {
    .profile-dev-wallet-grant-btn {
        min-width: 100%;
        margin-left: 0;
    }
}
.profile-wallet-summary-note {
    margin-top: 0;
}
body.light-theme .profile-wallet-row {
    color: #111827;
}

/* ===== Светлая тема: шапка и уведомления ===== */
body.light-theme .top-header {
    background: #ffffff;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
}

body.light-theme .header-brand {
    color: #111827;
}

body.light-theme .header-brand-text {
    color: #111827;
}

body.light-theme .header-brand-tld {
    color: #6b7280;
}

body.light-theme .header-site-menu-btn,
body.light-theme .menu-trigger {
    border-color: rgba(15, 23, 42, 0.12);
    background: #f9fafb;
    color: #374151;
}

body.light-theme .header-site-menu-btn:hover,
body.light-theme .menu-trigger:hover {
    background: #f3f4f6;
    color: #111827;
}

body.light-theme .header-user-block {
    color: #111827;
}

body.light-theme .header-username {
    color: #111827;
}

body.light-theme .header-user-chev {
    color: #6b7280;
}

body.light-theme .header-user-block.header-user-clickable:hover,
body.light-theme .header-user-block.header-user-clickable.is-open {
    background: transparent;
}

body.light-theme .header-notifications-btn {
    background: transparent;
    color: #1e293b;
}

body.light-theme .header-notifications-btn:hover {
    background: transparent;
    color: #0f172a;
}

body.light-theme .header-notifications-badge {
    box-shadow: 0 0 0 2px #ffffff;
}

body.light-theme .header-notifications-dropdown {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

body.light-theme .header-notifications-title {
    color: #111827;
}

body.light-theme .header-notifications-empty {
    color: #6b7280;
}

body.light-theme .header-notifications-item {
    border-top-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .header-notifications-item-msg {
    color: #111827;
    font-weight: 600;
}

body.light-theme .header-notifications-item-time {
    color: #6b7280;
}

body.light-theme .header-notifications-item.is-unread {
    background: rgba(59, 130, 246, 0.08);
}

body.light-theme .header-notifications-item.is-unread .header-notifications-item-msg {
    color: #030712;
    font-weight: 700;
}

.ui-icon-img {
    display: block;
    object-fit: contain;
    flex-shrink: 0;
}
body:not(.light-theme) .ui-icon-img {
    opacity: 0.92;
}
body.light-theme .ui-icon-img {
    opacity: 1;
    filter: brightness(0.22) contrast(1.45) saturate(1.05);
}

body.light-theme .site-rail-btn.active .ui-icon-img {
    filter: brightness(1.05) contrast(1.05);
}

body.light-theme .site-rail-btn:not(.active) .ui-icon {
    color: #374151;
}

.header-username {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 800;
    font-synthesis: weight;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

.header-user-chev {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    line-height: 0;
    color: rgba(209, 213, 219, 0.85);
    transform: rotate(180deg);
    transition: transform 0.2s ease;
    cursor: pointer;
}

.header-user-block.is-open .header-user-chev {
    transform: rotate(0deg);
}

.header-user-block .btn-login {
    padding: 8px 16px;
    border-radius: 10px;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed);
    color: #fff;
    border: none;
    font-weight: 600;
    cursor: pointer;
    font-size: 13px;
}
.header-user-block .btn-login-steam {
    padding: 10px 22px;
    font-size: 15px;
    gap: 22px;
}
.header-user-block .btn-login:hover {
    filter: brightness(1.12);
}

.header-user-block-guest {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.header-user-block .btn-login-dev {
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 500;
    background: linear-gradient(135deg, #64748b, #475569);
    opacity: 0.92;
}
.header-user-block .btn-login-dev:hover {
    opacity: 1;
    filter: brightness(1.08);
}

.header-notifications-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    flex-shrink: 0;
    overflow: visible;
}

.header-notifications-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #f8fafc;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 0;
    overflow: visible;
    transition: color 0.2s, opacity 0.2s, transform 0.15s ease;
}

.header-notifications-btn:hover {
    background: transparent;
    color: #ffffff;
    opacity: 0.92;
}

.header-notifications-btn:active {
    transform: scale(0.9);
}

.header-notifications-btn.is-ringing .header-notifications-icon-wrap {
    animation: header-notif-bell-ring 0.5s ease;
}

@keyframes header-notif-bell-ring {
    0% { transform: rotate(0deg) scale(1); }
    18% { transform: rotate(14deg) scale(1.08); }
    36% { transform: rotate(-12deg) scale(1.06); }
    54% { transform: rotate(8deg) scale(1.04); }
    72% { transform: rotate(-5deg) scale(1.02); }
    100% { transform: rotate(0deg) scale(1); }
}

.header-notifications-icon-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    overflow: visible;
    pointer-events: none;
}

.header-notifications-btn .header-notifications-icon {
    display: block;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    pointer-events: none;
    margin: 0;
}

/* Inline SVG из icons.js — центрирование в кнопках */
[data-icon] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    flex-shrink: 0;
}
[data-icon] .ui-icon,
[data-icon] svg.ui-icon {
    display: block;
    margin: 0;
}

.tickets-sub-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.tickets-sub-btn [data-icon] {
    width: 18px;
    height: 18px;
}

.header-notifications-badge {
    position: absolute;
    top: -5px;
    right: -7px;
    min-width: 14px;
    height: 14px;
    padding: 0 3px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 14px;
    text-align: center;
    box-sizing: border-box;
    z-index: 2;
    pointer-events: none;
    box-shadow: 0 0 0 2px rgba(24, 24, 36, 0.98);
}

.header-notifications-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: min(320px, calc(100vw - 24px));
    max-height: 360px;
    overflow: auto;
    padding: 10px 0;
    background: rgba(24, 24, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
    z-index: 1001;
    display: none;
}

.header-notifications-dropdown.is-open {
    display: block;
}

.header-notifications-title {
    margin: 0 14px 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #c4b5fd;
}

.header-notifications-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-notifications-item {
    padding: 10px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    cursor: default;
    transition: background 0.15s ease, transform 0.15s ease;
}
.header-notifications-item[role="menuitem"],
.header-notifications-item.is-unread {
    cursor: pointer;
}
.header-notifications-item[role="menuitem"]:hover,
.header-notifications-item.is-unread:hover {
    background: rgba(255, 255, 255, 0.05);
}
.header-notifications-item:active,
.header-notifications-item.is-pressed {
    background: rgba(109, 124, 242, 0.18);
    transform: scale(0.985);
}

.header-notifications-item-msg {
    display: block;
    color: #e8e8f0;
    font-size: 13px;
    line-height: 1.45;
}

.header-notifications-item-time {
    display: block;
    margin-top: 4px;
    color: #9ca3af;
    font-size: 11px;
}

.header-notifications-empty {
    margin: 0;
    padding: 12px 14px;
    color: #9ca3af;
    font-size: 13px;
}

.header-user-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 6px;
    min-width: 210px;
    padding: 6px;
    background: rgba(24, 24, 36, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: none;
    overflow: hidden;
    box-sizing: border-box;
}
.header-user-dropdown.is-open {
    display: block;
}
.header-dropdown-item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    width: 100%;
    margin: 0;
    padding: 10px 14px;
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #e8e8f0;
    text-decoration: none;
    border: none;
    background: none;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    border-radius: 8px;
    box-sizing: border-box;
}
.header-dropdown-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    width: 24px;
    min-width: 24px;
    height: 20px;
    margin-right: 10px;
    flex-shrink: 0;
    line-height: 0;
    overflow: visible;
}
.header-user-dropdown [data-icon].header-dropdown-icon {
    display: inline-flex;
    flex: 0 0 24px;
    width: 24px;
    min-width: 24px;
    height: 20px;
    margin-right: 10px;
    overflow: visible;
}
.header-dropdown-icon .ui-icon,
.header-dropdown-icon svg {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
    overflow: visible;
    flex-shrink: 0;
}
.header-dropdown-label {
    flex: 1 1 auto;
    min-width: 0;
    display: block;
    white-space: nowrap;
}
.header-dropdown-item:hover {
    background: rgba(139, 92, 246, 0.15);
    color: #e9d5ff;
}
.header-user-block.header-user-clickable.is-open {
    background: transparent;
}
.header-user-dropdown .site-dropdown-divider {
    margin: 4px 6px;
}
.header-dropdown-logout {
    color: #f87171;
    font-weight: 600;
}
.header-dropdown-logout:hover {
    background: rgba(248, 113, 113, 0.12);
    color: #e74f4f;
}

body.light-theme .header-user-dropdown {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.1);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.12);
}

#header-user-dropdown button.header-dropdown-item:not(:hover):not(:focus-visible) {
    appearance: none;
    -webkit-appearance: none;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    padding: 10px 14px;
    min-height: 0;
    margin: 0;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    color: inherit;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 8px;
    cursor: pointer;
}

#header-dev-wallet-grant-btn.header-dropdown-item[hidden] {
    display: none !important;
}

#header-dev-wallet-grant-btn.header-dropdown-item,
#header-dropdown-promo.header-dropdown-item,
.header-dropdown-item.header-dropdown-logout {
    align-items: center;
    justify-content: flex-start;
}

/* Тёмная тема: «Выйти» — красный акцент (не наследует color от button.header-dropdown-item) */
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout .header-dropdown-label,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout .header-dropdown-icon,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout .ui-icon,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout svg {
    color: #f87171 !important;
    -webkit-text-fill-color: #f87171 !important;
    font-weight: 600 !important;
    background: transparent !important;
}

body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover {
    background: rgba(248, 113, 113, 0.12) !important;
    color: #e74f4f !important;
    -webkit-text-fill-color: #e74f4f !important;
}

body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .header-dropdown-label,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .header-dropdown-icon,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .ui-icon,
body:not(.light-theme) #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover svg {
    color: #e74f4f !important;
    -webkit-text-fill-color: #e74f4f !important;
    background: transparent !important;
}

.main-content {
    flex: 1;
    min-width: 0;
    min-height: calc(100vh - 56px);
    padding: 24px 28px 40px 84px;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Страницы: по умолчанию скрыты, активная — видна */
.main-content .page-content {
    display: none;
    padding: 40px 20px;
    max-width: 1100px;
    margin: 0 auto;
}
.main-content .page-content.active {
    display: block !important;
}

/* Модерация / репорты / общие баны: таблицы и сетка админов шире стандартных 1100px */
.main-content .page-content.mod-page,
.main-content .page-content#admin-content,
.main-content .page-content.site-settings-page {
    max-width: min(100%, 1720px);
    width: 100%;
}

/* Блок ввода внешней ссылки клана */
.clan-link-block {
    margin: 24px 0 20px;
    padding: 20px 24px;
    background: linear-gradient(145deg, rgba(28, 26, 48, 0.95), rgba(36, 32, 56, 0.9));
    border-radius: 16px;
    border: 1px solid rgba(139, 92, 246, 0.2);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}

.clan-link-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    margin-bottom: 10px;
}

.clan-link-row {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}

.clan-link-input {
    flex: 1;
    min-width: 200px;
    padding: 10px 14px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    font-size: 14px;
}

.clan-link-input::placeholder {
    color: #6b7280;
}

.clan-link-input:focus {
    outline: none;
    border-color: #8b5cf6;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.25);
}

.clan-open-btn {
    display: inline-flex;
    align-items: center;
    margin-top: 8px;
    padding: 12px 20px;
    background: linear-gradient(135deg, #8b5cf6, #7c3aed) !important;
    box-shadow: 0 8px 24px rgba(139, 92, 246, 0.4);
    font-weight: 600;
}

.clan-open-btn:hover {
    box-shadow: 0 12px 32px rgba(139, 92, 246, 0.5);
    filter: brightness(1.05);
}

/* Мобильное меню: кнопка гамбургер в хедере (показывается на узких экранах) */
.menu-toggle {
    display: none;
}

@media (max-width: 768px) {
    .sidebar {
        position: fixed;
        left: -72px;
        top: 0;
        bottom: 0;
        z-index: 1000;
        transition: left 0.25s ease;
    }
    .sidebar.open {
        left: 0;
    }
    .menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border: none;
        border-radius: 8px;
        background: rgba(139, 92, 246, 0.2);
        color: #e9d5ff;
        font-size: 20px;
        cursor: pointer;
    }
}
.criteria-font h1,
.criteria-font h2 {
    font-family: 'Times New Roman', serif;
}



        .a {
            text-align: center;
            font-family: "Times New Roman", Times, serif;
            font-size: large;
            padding: 1rem;
            margin-top: 15px;
            color: #d14040;
            text-shadow: 0 0 5px rgba(209, 64, 64, 0.4);
            animation: slide-spin 2s cubic-bezier(0.34, 1.56, 0.64, 1) 1, header-red-flow 5s ease-in-out 2s infinite;
            font-weight: bold;
        }

        @keyframes slide-spin {
            0% {
                opacity: 0;
                transform: translateY(300vh) rotateX(90deg) scale(0);
            }
            50% {
                opacity: 0.7;
                transform: translateY(50px) rotateX(45deg) scale(0.8);
            }
            100% {
                opacity: 1;
                transform: translateY(0) rotateX(0deg) scale(1);
            }
        }

        /* Плавное переливание от глубокого красного к светло-красному (без мигания) */
        @keyframes header-red-flow {
            0%, 100% {
                color: #4a1515;
                text-shadow: 0 0 6px rgba(74, 21, 21, 0.5), 0 0 12px rgba(120, 30, 30, 0.3);
            }
            50% {
                color: #e85c5c;
                text-shadow: 0 0 8px rgba(232, 92, 92, 0.5), 0 0 16px rgba(232, 92, 92, 0.25);
            }
        }

        .nav-discord {
            border-color: #5865F2 !important;
            background: linear-gradient(90deg, rgba(88, 101, 242, 0.15), rgba(88, 101, 242, 0.1)) !important;
        }

        .nav-discord:hover {
            background: linear-gradient(90deg, rgba(88, 101, 242, 0.3), rgba(88, 101, 242, 0.25)) !important;
            box-shadow: 0 0 15px rgba(88, 101, 242, 0.4) !important;
        }

        .nav-discord.active {
            background: linear-gradient(90deg, #5865F2, #7289DA) !important;
            box-shadow: 0 0 20px rgba(88, 101, 242, 0.6) !important;
        }
 
        .nav-telegram {
            border-color: #0088cc !important;
            background: linear-gradient(90deg, rgba(0, 136, 204, 0.15), rgba(0, 136, 204, 0.1)) !important;
        }

        .nav-telegram:hover {
            background: linear-gradient(90deg, rgba(0, 136, 204, 0.3), rgba(0, 136, 204, 0.25)) !important;
            box-shadow: 0 0 15px rgba(0, 136, 204, 0.4) !important;
        }

        .nav-telegram.active {
            background: linear-gradient(90deg, #0088cc, #00a8e8) !important;
            box-shadow: 0 0 20px rgba(0, 136, 204, 0.6) !important;
        }

        /* Green theme for the Criteria nav button */
        .nav-criteria {
            border-color: #2ecc71 !important;
            background: linear-gradient(90deg, rgba(46, 204, 113, 0.15), rgba(46, 204, 113, 0.08)) !important;
        }

        .nav-criteria:hover {
            background: linear-gradient(90deg, rgba(46, 204, 113, 0.3), rgba(46, 204, 113, 0.2)) !important;
            box-shadow: 0 0 15px rgba(46, 204, 113, 0.25) !important;
        }

        .nav-criteria.active {
            background: linear-gradient(90deg, #27ae60, #2ecc71) !important;
            box-shadow: 0 0 20px rgba(46, 204, 113, 0.45) !important;
            color: #ffffff !important;
            transform: translateX(15px);
        }

        .btn-icon {
            font-size: 24px;
            min-width: 30px;
        }

        .btn-text {
            flex: 1;
        }

.page-content {
            display: none;
            padding: 40px 20px;
            max-width: 1100px;
            margin: 0 auto;
            animation: fadeIn 0.5s ease-in-out;
        }

        .page-content.active {
            display: block !important;
        }

        /* ============================================ */
        /* HOME PAGE (hero как у CS2-порталов)          */
        /* ============================================ */

        .home-page {
            padding-top: 28px;
            padding-bottom: 48px;
            max-width: 1240px;
        }

        .home-intro {
            background: linear-gradient(145deg, rgba(12, 12, 20, 0.92), rgba(40, 18, 40, 0.96));
            border-radius: 22px;
            padding: 28px 28px 26px;
            box-shadow: 0 18px 45px rgba(0, 0, 0, 0.65);
            border: 1px solid rgba(255, 255, 255, 0.06);
            position: relative;
            overflow: hidden;
            margin-bottom: 28px;
        }

        .home-intro::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                radial-gradient(circle at 10% 0%, rgba(99, 102, 241, 0.35), transparent 55%),
                radial-gradient(circle at 100% 100%, rgba(139, 92, 246, 0.28), transparent 55%);
            opacity: 0.65;
            pointer-events: none;
        }

        .home-intro > * {
            position: relative;
            z-index: 1;
        }

        .home-tag {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 4px 10px;
            border-radius: 999px;
            background: rgba(0, 0, 0, 0.62);
            border: 1px solid rgba(255, 255, 255, 0.2);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: #ffffff;
            margin-bottom: 14px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
        }
        .home-tag span {
            color: #ffffff;
        }

        .home-page-title {
            font-size: clamp(28px, 3vw, 34px);
            margin: 0 0 10px;
        }

        .home-lead {
            margin: 0 0 20px;
            max-width: 620px;
            color: #f3f3f3;
            opacity: 0.9;
        }

        .home-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 6px;
        }

        .home-live-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0 0 16px;
        }

        .home-live-chip {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 6px 10px;
            border-radius: 999px;
            font-size: 12px;
            color: #e5e7eb;
            background: rgba(0, 0, 0, 0.32);
            border: 1px solid rgba(255, 255, 255, 0.09);
        }

        .home-live-dot {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: #22c55e;
            box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.16);
        }

        .home-primary-btn,
        .home-secondary-btn,
        .home-ghost-btn {
            border-radius: 999px;
            padding: 10px 18px;
            font-size: 14px;
            font-weight: 600;
            border: none;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            text-decoration: none;
            transition: all 0.2s ease;
            white-space: nowrap;
        }

        .home-primary-btn {
            background: linear-gradient(135deg, #6366f1, #9333ea);
            color: #fff;
            box-shadow: 0 12px 30px rgba(99, 102, 241, 0.4);
        }

        .home-primary-btn:hover {
            transform: translateY(-1px);
            box-shadow: 0 16px 40px rgba(147, 51, 234, 0.45);
        }

        .home-secondary-btn {
            background: rgba(255, 255, 255, 0.05);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.22);
        }

        .home-secondary-btn:hover {
            background: rgba(255, 255, 255, 0.12);
        }

        .home-ghost-btn {
            background: transparent;
            color: #c4c4ff;
            border: 1px dashed rgba(163, 163, 255, 0.6);
        }

        .home-ghost-btn:hover {
            background: rgba(163, 163, 255, 0.08);
        }

        /* Верхняя линия режимов и баннер главной */
        .home-mode-topbar {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 12px;
        }

        .home-mode-tab {
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: rgba(255, 255, 255, 0.03);
            color: #d1d5db;
            border-radius: 8px;
            padding: 8px 12px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 0.05em;
            cursor: default;
        }

        .home-mode-tab span {
            color: #93c5fd;
            margin-left: 6px;
            font-weight: 600;
        }

        .home-mode-tab.is-active {
            background: rgba(34, 197, 94, 0.14);
            border-color: rgba(34, 197, 94, 0.4);
            color: #dcfce7;
        }

        .home-hero {
            position: relative;
            border-radius: 14px;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.08);
            min-height: 320px;
            margin-bottom: 28px;
            background:
                linear-gradient(90deg, rgba(8, 8, 14, 0.92) 0%, rgba(8, 8, 14, 0.74) 42%, rgba(8, 8, 14, 0.38) 100%),
                url('https://insider-gaming.com/wp-content/uploads/2025/01/cs2-crosshair.jpg') center/cover no-repeat;
        }

        .home-hero-overlay {
            position: absolute;
            inset: 0;
            pointer-events: none;
            background: radial-gradient(circle at 90% 50%, rgba(59, 130, 246, 0.2), transparent 40%);
        }

        .home-hero-content {
            position: relative;
            z-index: 1;
            max-width: 620px;
            padding: 24px 24px 20px;
        }

        /* Список серверов на главной */
        .home-servers {
            margin-bottom: 44px;
        }

.home-side-panel {
    margin: 8px 0 24px;
}

.home-side-panel-inner {
    display: inline-flex;
    flex-direction: column;
    gap: 8px;
}

.home-side-panel-btn {
    min-width: 180px;
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: #e5e7eb;
    padding: 10px 12px;
    font-family: inherit;
    cursor: pointer;
}

.home-side-panel-btn:hover {
    border-color: rgba(139, 92, 246, 0.4);
    background: rgba(139, 92, 246, 0.14);
}

body.light-theme .home-side-panel-btn {
    color: #1f2937;
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(15, 23, 42, 0.12);
}

        .home-servers-head {
            margin-bottom: 18px;
        }

        .home-servers-title {
            margin: 0 0 8px;
            font-size: 1.35rem;
            font-weight: 700;
            color: #f5f3ff;
            letter-spacing: -0.02em;
        }

        .home-servers-desc {
            margin: 0;
            font-size: 0.95rem;
            line-height: 1.5;
            color: rgba(200, 200, 220, 0.88);
            max-width: 720px;
        }

        /* Вкладки режимов на главной */
        .home-server-modes {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
            margin-bottom: 18px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            padding-bottom: 0;
        }

        .home-server-tab {
            font-family: inherit;
            font-size: 14px;
            font-weight: 600;
            padding: 10px 18px 12px;
            margin-bottom: -1px;
            border: none;
            border-bottom: 2px solid transparent;
            border-radius: 10px 10px 0 0;
            background: transparent;
            color: rgba(200, 200, 220, 0.65);
            cursor: pointer;
            transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
        }

        .home-server-tab:hover {
            color: #e9d5ff;
            background: rgba(139, 92, 246, 0.08);
        }

        .home-server-tab-active {
            color: #f5f3ff;
            border-bottom-color: #a855f7;
            background: rgba(139, 92, 246, 0.12);
        }

        .home-server-panel {
            display: none;
        }

        .home-server-panel-active {
            display: block;
        }

        body.light-theme .home-server-modes {
            border-bottom-color: rgba(15, 23, 42, 0.1);
        }

        body.light-theme .home-server-tab {
            color: #6b7280;
        }

        body.light-theme .home-server-tab:hover {
            color: #4b5563;
            background: rgba(99, 102, 241, 0.08);
        }

        body.light-theme .home-server-tab-active {
            color: #111827;
            border-bottom-color: #7c3aed;
            background: rgba(139, 92, 246, 0.1);
        }

        body.light-theme .home-mode-tab {
            color: #1f2937;
            background: rgba(255, 255, 255, 0.86);
            border-color: rgba(15, 23, 42, 0.12);
        }

        body.light-theme .home-mode-tab.is-active {
            color: #14532d;
            background: rgba(34, 197, 94, 0.16);
            border-color: rgba(34, 197, 94, 0.45);
        }

        body.light-theme .home-live-chip {
            color: #374151;
            background: rgba(255, 255, 255, 0.78);
            border-color: rgba(15, 23, 42, 0.1);
        }

        .home-server-list {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 16px;
        }

        .home-server-list-single {
            grid-template-columns: minmax(0, 1fr);
            max-width: 520px;
        }

        .home-server-name-plain {
            margin: 0 0 10px;
        }

        .home-server-card {
            background: linear-gradient(160deg, rgba(18, 18, 28, 0.98), rgba(28, 22, 42, 0.96));
            border: 1px solid rgba(139, 92, 246, 0.18);
            border-radius: 16px;
            padding: 18px 18px 16px;
            box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
            cursor: pointer;
        }

        .home-server-card:hover {
            border-color: rgba(167, 139, 250, 0.45);
            box-shadow: 0 16px 44px rgba(99, 102, 241, 0.15);
        }

        .home-server-card-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 10px;
            margin-bottom: 8px;
        }

        .home-server-name {
            margin: 0;
            font-size: 1.05rem;
            font-weight: 600;
            color: #fff;
            line-height: 1.3;
        }

        #home-public-server .home-server-name-plain {
            font-size: 1.15rem;
        }
        body.light-theme #home-public-status {
            color: #111827;
        }
        #home-public-status.is-checking {
            color: #818cf8;
        }
        body.light-theme #home-public-status.is-checking {
            color: #4338ca;
        }
        #home-public-status.is-online {
            color: #4ade80;
        }
        body.light-theme #home-public-status.is-online {
            color: #15803d;
        }

        .home-server-meta {
            margin: 0 0 12px;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.35em 0.45em;
            font-size: 13px;
            color: rgba(200, 200, 215, 0.9);
            line-height: 1.35;
        }
        body.light-theme .home-server-meta {
            color: #4b5563;
        }
        .home-server-meta-dot {
            opacity: 0.55;
            user-select: none;
        }
        .home-server-ping {
            font-variant-numeric: tabular-nums;
            color: rgba(226, 232, 240, 0.92);
        }
        body.light-theme .home-server-ping {
            color: #1f2937;
        }

        .home-server-badge {
            flex-shrink: 0;
            font-size: 11px;
            font-weight: 700;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 4px 8px;
            border-radius: 8px;
            background: rgba(99, 102, 241, 0.35);
            color: #e0e7ff;
            border: 1px solid rgba(129, 140, 248, 0.4);
        }

        .home-server-badge-fun {
            background: rgba(236, 72, 153, 0.25);
            border-color: rgba(244, 114, 182, 0.45);
            color: #fce7f3;
        }

        .home-server-map {
            margin: 0 0 12px;
            font-size: 13px;
            color: rgba(200, 200, 215, 0.9);
        }

        .home-server-players {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 14px;
        }

        .home-server-players-track {
            flex: 1;
            height: 8px;
            border-radius: 999px;
            background: rgba(0, 0, 0, 0.45);
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.06);
        }

        .home-server-players-fill {
            display: block;
            height: 100%;
            border-radius: 999px;
            background: linear-gradient(90deg, #6366f1, #a855f7);
            box-shadow: 0 0 12px rgba(139, 92, 246, 0.5);
            /* Ширина меняется из JS (плавная подгонка к A2S), без transition — иначе конфликт с покадровым обновлением */
            transition: none;
            will-change: width;
        }

        .home-server-players-text {
            flex-shrink: 0;
            font-size: 13px;
            font-weight: 600;
            font-variant-numeric: tabular-nums;
            color: #d8b4fe;
            transition: color 0.35s ease;
        }

        @media (prefers-reduced-motion: reduce) {
            .home-server-players-fill {
                transition: none;
            }
            .home-server-players-text {
                transition: none;
            }
        }

        .home-server-connect {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }

        .home-server-ip {
            display: block;
            font-family: ui-monospace, 'Cascadia Code', 'Consolas', monospace;
            font-size: 13px;
            padding: 8px 10px;
            border-radius: 10px;
            background: rgba(0, 0, 0, 0.4);
            color: #c4b5fd;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .home-server-btns {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .home-server-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 9px 14px;
            font-size: 13px;
            font-weight: 600;
            font-family: inherit;
            border-radius: 10px;
            border: none;
            cursor: pointer;
            text-decoration: none;
            transition: transform 0.15s ease, filter 0.15s ease;
        }

        .home-server-btn-copy {
            background: rgba(255, 255, 255, 0.08);
            color: #e8e8f0;
            border: 1px solid rgba(255, 255, 255, 0.14);
        }

        .home-server-btn-copy:hover:not(:disabled) {
            background: rgba(255, 255, 255, 0.12);
        }
        body.light-theme .home-server-btn-copy {
            color: #131518;
        }

        .home-server-btn-join {
            background: linear-gradient(135deg, #22c55e, #16a34a);
            color: #fff;
            box-shadow: 0 8px 22px rgba(34, 197, 94, 0.35);
        }

        .home-server-btn-join:hover {
            filter: brightness(1.08);
            transform: translateY(-1px);
        }

        body.light-theme .home-servers-title {
            color: #111827;
        }

        body.light-theme .home-servers-desc {
            color: #4b5563;
        }

        body.light-theme .home-server-card {
            background: linear-gradient(160deg, #fafafa, #f3f4f6);
            border-color: rgba(99, 102, 241, 0.25);
            box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
        }

        body.light-theme .home-server-name {
            color: #111827;
        }

        body.light-theme .home-server-map {
            color: #131518!important;
        }

        body.light-theme .home-server-ip {
            background: #fff;
            color: #4338ca;
            border-color: rgba(99, 102, 241, 0.2);
        }

        body.light-theme .home-server-players-track {
            background: #e5e7eb;
            border-color: rgba(15, 23, 42, 0.08);
        }

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

        .home-shortcut-card {
            padding: 16px 16px 14px;
            border-radius: 16px;
            background: linear-gradient(135deg, rgba(16, 16, 26, 0.96), rgba(30, 18, 35, 0.96));
            border: 1px solid rgba(255, 255, 255, 0.06);
            box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .home-shortcut-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 40px rgba(0, 0, 0, 0.75);
            border-color: rgba(139, 92, 246, 0.55);
        }

        .shortcut-title {
            font-size: 15px;
            font-weight: 600;
            margin-bottom: 4px;
        }

        .shortcut-desc {
            font-size: 13px;
            color: #d3d3dd;
        }

        .page-content h1,
        .page-content h2,
        .page-content h3 {
            font-weight: 600;
            line-height: 1.35;
            letter-spacing: -0.02em;
        }
        .page-content p,
        .page-content li {
            line-height: 1.65;
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Links styling */
        a:not(.header-dropdown-item) {
            text-decoration: none;
            font-weight: bold;
            transition: all 0.3s ease;
        }
        a:not(.header-dropdown-item):hover {
            text-shadow: 0 0 8px rgba(201, 42, 42, 0.3);
        }

        a.link-discord {
            color: #5865F2;
            font-size: 1.2em;
            padding: 10px 15px;
            border: 2px solid #5865F2;
            border-radius: 8px;
            display: inline-block;
            background: rgba(88, 101, 242, 0.1);
            transition: all 0.3s ease;
        }

        a.link-discord:hover {
            color: #7289DA;
            background: rgba(88, 101, 242, 0.3);
            box-shadow: 0 0 15px rgba(88, 101, 242, 0.5);
            transform: scale(1.05);
            text-shadow: 0 0 10px rgba(88, 101, 242, 0.5);
        }

        a.link-telegram {
            color: #0088cc;
            font-size: 1.2em;
            padding: 10px 15px;
            border: 2px solid #0088cc;
            border-radius: 8px;
            display: inline-block;
            background: rgba(0, 136, 204, 0.1);
            transition: all 0.3s ease;
        }

        a.link-telegram:hover {
            color: #00a8e8;
            background: rgba(0, 136, 204, 0.3);
            box-shadow: 0 0 15px rgba(0, 136, 204, 0.5);
            transform: scale(1.05);
            text-shadow: 0 0 10px rgba(0, 136, 204, 0.5);
        }

        .home-contact {
            margin-top: 40px;
            padding-top: 28px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }
        .home-contact-title {
            margin: 0 0 24px 0 !important;
            font-size: 1.1rem !important;
            font-weight: 600 !important;
            color: rgba(255, 255, 255, 0.7) !important;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            border: none !important;
            padding: 0 !important;
        }

        body.light-theme .home-contact-title {
            color: #4b5563 !important;
        }
        .home-links {
            display: grid;
            grid-template-columns: minmax(0, 520px);
            justify-content: center;
            gap: 20px;
            margin-top: 0;
        }
        .home-link-card {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 28px 26px;
            border-radius: 16px;
            text-decoration: none;
            color: inherit;
            border: 1px solid rgba(255, 255, 255, 0.06);
            background: rgba(26, 26, 34, 0.7);
            transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
            position: relative;
            overflow: hidden;
        }
        .home-link-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            opacity: 0.85;
            transition: opacity 0.25s ease;
        }
        .home-link-discord::before {
            background: linear-gradient(90deg, #5865F2, #7289da);
        }
        .home-link-card:hover {
            transform: translateY(-4px);
            border-color: rgba(255, 255, 255, 0.12);
            box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
        }
        .home-link-card:hover::before {
            opacity: 1;
        }
        .home-link-icon {
            font-size: 2rem;
            line-height: 1;
            margin-bottom: 14px;
            filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3));
        }
        .home-link-heading {
            margin: 0 0 10px 0 !important;
            font-size: 1.35rem !important;
            font-weight: 600 !important;
            color: #fff !important;
            border: none !important;
            padding: 0 !important;
        }
        .home-link-discord .home-link-heading { color: #b4baff !important; }
        .home-link-desc {
            margin: 0 0 18px 0;
            font-size: 0.95rem;
            line-height: 1.5;
            color: rgba(255, 255, 255, 0.75);
            flex-grow: 1;
        }
        body.light-theme #home-content .home-link-card.home-link-discord {
            background: #ffffff !important;
            border: 1px solid rgba(88, 101, 242, 0.22) !important;
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.07);
        }
        body.light-theme #home-content .home-link-card.home-link-discord:hover {
            border-color: rgba(88, 101, 242, 0.38) !important;
            box-shadow: 0 12px 28px rgba(88, 101, 242, 0.14);
        }
        body.light-theme #home-content .home-link-discord .home-link-heading {
            color: #4338ca !important;
        }
        body.light-theme #home-content .home-link-desc,
        body.light-theme #home-content .home-link-discord .home-link-desc {
            color: #64748b !important;
        }
        body.light-theme #home-content .home-link-discord .home-link-cta {
            color: #5865f2;
        }
        body.light-theme #home-content .home-link-discord .home-link-icon .ui-icon {
            color: #5865f2;
        }
        .home-link-cta {
            font-size: 0.9rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: gap 0.2s ease, opacity 0.2s ease;
        }
        .home-link-discord .home-link-cta { color: #7289da; }
        .home-link-card:hover .home-link-cta { gap: 10px; opacity: 1; }

        /* Headings styling */
        h1, h2, h3 {
            color: #ffffff;
            text-shadow: 0 0 8px rgba(201, 42, 42, 0.2);
            font-family: "Arial", sans-serif;
            font-weight: bold;
            margin-top: 30px;
            margin-bottom: 15px;
        }

        h1 {
            font-size: 2.5em;
            border-bottom: 2px solid #c92a2a;
            padding-bottom: 10px;
            animation: header-red-flow 5s ease-in-out infinite;
        }

        h2 {
            font-size: 2em;
            color: #d64040;
        }
        h3 {
            font-size: 1.5em;
            color: #e55c5c;
        }
        .page-content p {
            color: #d0d0d0;
            font-size: 1.1em;
            line-height: 1.6;
            margin: 15px 0;
            text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
        }

        /* Criteria card styling */
        .criteria-card {
            margin-top: 20px;
            padding: 18px 20px;
            background: rgba(15, 60, 30, 0.12);
            border: 1px solid rgba(34, 139, 34, 0.18);
            border-left: 6px solid #2ecc71;
            border-radius: 10px;
            box-shadow: 0 8px 30px rgba(34, 139, 34, 0.05);
            max-width: 820px;
            color: #eafff0;
            font-family: "Times New Roman", Times, serif;
        }

        body.light-theme .criteria-card {
            background: #f0fdf4;
            border-color: rgba(22, 163, 74, 0.35);
            color: #14532d;
        }

        .criteria-card h2 {
            margin: 0 0 8px 0;
            color: #e6fff0;
            font-size: 1.4em;
            text-shadow: 0 2px 6px rgba(8, 40, 20, 0.6);
        }

        .criteria-card ul {
            margin: 0;
            padding-left: 1.1em;
            color: #dfffee;
        }

        .criteria-card li {
            margin: 6px 0;
        }

        /* ============================================ */
        /* TICKETS CHANNEL CARD (отдельная вкладка тикетов) */
        /* ============================================ */

        .ticket-channel-card {
            max-width: 720px;
            background: var(--surface-block-bg);
            border-radius: 12px;
            padding: 24px 28px;
            border: 1px solid rgba(255, 255, 255, 0.08);
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4);
        }

        body.light-theme .ticket-channel-card {
            background: #f9fafb;
            border-color: rgba(15, 23, 42, 0.1);
            box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
        }

        .ticket-channel-header {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
        }

        .ticket-channel-badge {
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: rgba(255, 255, 255, 0.5);
            background: rgba(255, 255, 255, 0.06);
            padding: 4px 10px;
            border-radius: 4px;
        }

        body.light-theme .ticket-channel-badge {
            color: #111827 !important;
            background: #bfdbfe !important;
        }

        .ticket-channel-title {
            margin: 0;
            font-size: 1.5rem;
            font-weight: 600;
            color: #e0e0e0;
        }

        .ticket-channel-desc {
            color: rgba(255, 255, 255, 0.75);
            line-height: 1.55;
            margin: 0 0 20px 0;
            font-size: 15px;
        }

        .ticket-auth-inline {
            margin-bottom: 16px;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
            width: 100%;
        }

        .ticket-auth-inline .discord-user {
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            padding: 12px 18px;
        }

        .ticket-submit-block {
            margin: 20px 0;
        }

        .ticket-submit-block .tickets-instruction {
            color: rgba(255, 255, 255, 0.6);
            font-size: 14px;
            margin-bottom: 12px;
        }

        .ticket-create-btn {
            display: inline-flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 2px;
            padding: 14px 22px;
            background: linear-gradient(135deg, #5865F2, #4752c4);
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 16px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s ease;
            box-shadow: 0 2px 12px rgba(88, 101, 242, 0.35);
        }

        .ticket-create-btn:hover:not(:disabled) {
            background: linear-gradient(135deg, #6772f5, #5865F2);
            transform: translateY(-1px);
            box-shadow: 0 4px 16px rgba(88, 101, 242, 0.45);
        }

        .ticket-create-btn:disabled {
            opacity: 0.6;
            cursor: not-allowed;
        }

        .ticket-create-btn-icon {
            font-size: 20px;
        }

        .ticket-create-btn-text {
            font-size: 16px;
        }

        .ticket-create-btn-sub {
            font-size: 12px;
            font-weight: 400;
            opacity: 0.9;
        }

        .ticket-channel-footer {
            margin-top: 24px;
            padding-top: 16px;
            border-top: 1px solid rgba(255, 255, 255, 0.06);
        }

        .ticket-rules-label {
            color: rgba(255, 255, 255, 0.6);
            font-size: 14px;
            margin: 0 0 4px 0;
        }

        .ticket-rules-link {
            color: #5865F2;
            text-decoration: none;
        }

        .ticket-rules-link:hover {
            text-decoration: none;
        }

        .ticket-rules-sublabel {
            color: rgba(255, 255, 255, 0.45);
            font-size: 12px;
            margin: 0 0 12px 0;
        }

        .ticket-dev-link {
            display: inline-block;
            color: #0088cc;
            text-decoration: none;
            font-size: 14px;
        }

        .ticket-dev-link:hover {
            text-decoration: underline;
        }

        .ticket-channel-card .tickets-note {
            margin-top: 16px;
            color: rgba(255, 255, 255, 0.5);
            font-size: 13px;
        }

        body.light-theme .ticket-channel-desc {
            color: #374151;
        }
        body.light-theme .ticket-submit-block .tickets-instruction,
        body.light-theme .ticket-channel-card .tickets-note {
            color: #4b5563;
        }

        /* ============================================ */
        /* NEWS NAV BUTTON */
        /* ============================================ */

        .nav-news {
            border-color: rgba(129, 140, 248, 0.55) !important;
            background: linear-gradient(90deg, rgba(99, 102, 241, 0.16), rgba(139, 92, 246, 0.1)) !important;
        }

        .nav-news:hover {
            background: linear-gradient(90deg, rgba(99, 102, 241, 0.28), rgba(139, 92, 246, 0.18)) !important;
            box-shadow: 0 0 14px rgba(99, 102, 241, 0.28) !important;
        }

        .nav-news.active {
            background: var(--btn-gradient-primary) !important;
            box-shadow: 0 0 20px rgba(99, 102, 241, 0.4) !important;
            transform: translateX(15px);
        }

        body.light-theme .nav-news {
            border-color: rgba(99, 102, 241, 0.45) !important;
            background: linear-gradient(90deg, rgba(99, 102, 241, 0.12), rgba(167, 139, 250, 0.08)) !important;
        }

        body.light-theme .nav-news:hover {
            background: linear-gradient(90deg, rgba(99, 102, 241, 0.2), rgba(139, 92, 246, 0.14)) !important;
            box-shadow: 0 0 12px rgba(99, 102, 241, 0.22) !important;
            color: #3730a3 !important;
        }

        body.light-theme .nav-news.active {
            background: var(--btn-gradient-primary) !important;
            color: #fff !important;
            box-shadow: 0 0 16px rgba(99, 102, 241, 0.32) !important;
        }

        body.light-theme .nav-news.active:hover {
            background: var(--btn-gradient-primary-hover) !important;
            color: #fff !important;
        }

        /* ============================================ */
        /* ADMIN NAV BUTTON */
        /* ============================================ */

        .nav-admin {
            border-color: #e74c3c !important;
            background: linear-gradient(90deg, rgba(231, 76, 60, 0.15), rgba(231, 76, 60, 0.08)) !important;
        }

        .nav-admin:hover {
            background: linear-gradient(90deg, rgba(231, 76, 60, 0.3), rgba(231, 76, 60, 0.2)) !important;
            box-shadow: 0 0 15px rgba(231, 76, 60, 0.25) !important;
        }

        .nav-admin.active {
            background: linear-gradient(90deg, #c0392b, #e74c3c) !important;
            box-shadow: 0 0 20px rgba(231, 76, 60, 0.45) !important;
            transform: translateX(15px);
        }

        /* ============================================ */
        /* NEWS SUB-NAV (Новости | Розыгрыши) */
        /* ============================================ */

        .news-sub-nav {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
            padding-bottom: 16px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }

        .news-sub-btn {
            padding: 10px 20px;
            border: var(--btn-border-secondary);
            background: var(--btn-gradient-muted);
            color: #dbeafe;
            border-radius: 8px;
            cursor: pointer;
            font-size: 1em;
            transition: all 0.2s ease;
        }

        .news-sub-btn:hover:not(.active) {
            background: var(--btn-gradient-muted-hover);
            border-color: rgba(168, 182, 255, 0.55);
            color: #e0e7ff;
        }

        .news-sub-btn.active {
            background: var(--tab-gradient-active);
            border: var(--tab-border-active);
            box-shadow: var(--tab-shadow-active);
            color: #fff;
        }

        .news-sub-btn.active:hover {
            background: var(--tab-gradient-active-hover);
            color: #fff;
        }

        /* Светлая тема: подвкладки Новостей — indigo, не оранжевый hover */
        body.light-theme .news-sub-btn {
            border-color: rgba(99, 102, 241, 0.35);
            background: #f8fafc;
            color: #4338ca;
        }
        body.light-theme .news-sub-btn:hover:not(.active) {
            background: #eef2ff;
            border-color: rgba(99, 102, 241, 0.55);
            color: #312e81;
        }
        body.light-theme .news-sub-btn.active {
            background: var(--tab-gradient-active);
            border: var(--tab-border-active);
            box-shadow: var(--tab-shadow-active);
            color: #fff;
        }
        body.light-theme .news-sub-btn.active:hover {
            background: var(--tab-gradient-active-hover);
            color: #fff;
        }

        /* ============================================ */
        /* TICKETS SUB-NAV (Тикеты | Staff) */
        /* ============================================ */
        .tickets-sub-nav {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
        }
        .tickets-sub-btn {
            padding: 10px 20px;
            border: 1px solid rgba(88, 101, 242, 0.3);
            background: rgba(40, 38, 45, 0.5);
            color: #a0a0b0;
            border-radius: 8px;
            cursor: pointer;
            font-size: 1em;
            transition: all 0.2s ease;
        }
        .tickets-sub-btn:hover {
            background: rgba(88, 101, 242, 0.15);
            color: #c8ccf5;
        }
        .tickets-sub-btn.active {
            background: rgba(88, 101, 242, 0.25);
            border-color: #5865F2;
            color: #c8ccf5;
        }

        /* Светлая тема: яркие подвкладки тикетов */
        body.light-theme .tickets-sub-btn {
            background: rgba(209, 213, 219, 0.95);
            color: #111827;
            border-color: rgba(148, 163, 184, 0.9);
        }
        body.light-theme .tickets-sub-btn:hover {
            background: rgba(191, 219, 254, 1);
            color: #111827;
        }
        body.light-theme .tickets-sub-btn.active {
            background: var(--tab-gradient-active);
            border: var(--tab-border-active);
            box-shadow: var(--tab-shadow-active);
            color: #fff;
        }

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

        .news-card {
            background: transparent;
            border: none;
            border-left: 4px solid rgba(243, 156, 18, 0.35);
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }
        .news-card:last-child {
            margin-bottom: 20px;
            border-bottom: none;
        }

        body.light-theme .news-card {
            border-top-color: rgba(15, 23, 42, 0.35);
            border-bottom-color: rgba(15, 23, 42, 0.45);
        }

        .news-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 10px;
            flex-wrap: wrap;
            gap: 10px;
        }

        .news-title {
            margin: 0;
            color: #f5d78e;
            font-size: 1.3em;
            flex: 1;
        }

        .news-meta {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .news-date {
            color: #a89060;
            font-size: 0.9em;
        }

        .news-edit-btn {
            background: rgba(52, 152, 219, 0.2);
            border: 1px solid #3498db;
            color: #3498db;
            padding: 5px 10px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 0.9em;
            transition: all 0.3s ease;
        }

        .news-edit-btn:hover {
            background: #3498db;
            color: #fff;
        }

        .news-delete-btn {
            background: rgba(231, 76, 60, 0.2);
            border: 1px solid #e74c3c;
            color: #e74c3c;
            padding: 5px 10px;
            border-radius: 5px;
            cursor: pointer;
            font-size: 0.9em;
            transition: all 0.3s ease;
        }

        .news-delete-btn:hover {
            background: #e74c3c;
            color: #fff;
        }

        .news-thumbnail {
            max-width: 200px;
            max-height: 150px;
            border-radius: 8px;
            margin-bottom: 10px;
            display: block;
        }
        .news-text {
            color: #ddd;
            margin: 0;
            line-height: 1.6;
        }

        body.light-theme .news-text {
            color: #111827;
        }

        body.light-theme .news-title {
            color: #b91c1c;
        }

        body.light-theme .news-text strong {
            color: #b45309;
        }

        body.light-theme .news-date,
        body.light-theme .no-news {
            color: #4b5563;
        }

        .news-text strong { font-weight: 700; color: #f5d78e; }
        .news-text em { font-style: italic; }
        .news-text s { text-decoration: line-through; }
        .news-text code { background: rgba(0,0,0,0.3); padding: 2px 6px; border-radius: 4px; font-family: monospace; }
        .news-text pre { background: rgba(0,0,0,0.3); padding: 12px; border-radius: 8px; overflow-x: auto; margin: 10px 0; }
        .news-text pre code { padding: 0; background: none; }
        .news-text blockquote { border-left: 4px solid #f39c12; padding-left: 12px; margin: 10px 0; color: #bbb; }
        .news-text a { color: #3498db; text-decoration: none; }
        .news-text a:hover { text-decoration: underline; }

        .news-text .discord-spoiler,
        .news-title .discord-spoiler,
        .giveaway-desc .discord-spoiler {
            display: inline;
            cursor: pointer;
            border-radius: 4px;
            padding: 0 2px;
            background: rgba(0, 0, 0, 0.35);
            transition: filter 0.2s ease, background 0.2s ease;
        }
        .news-text .discord-spoiler:not(.is-revealed),
        .news-title .discord-spoiler:not(.is-revealed),
        .giveaway-desc .discord-spoiler:not(.is-revealed) {
            filter: blur(6px);
            user-select: none;
        }
        .news-text .discord-spoiler:not(.is-revealed) a,
        .news-title .discord-spoiler:not(.is-revealed) a,
        .giveaway-desc .discord-spoiler:not(.is-revealed) a {
            pointer-events: none;
        }
        .news-text .discord-spoiler.is-revealed,
        .news-title .discord-spoiler.is-revealed,
        .giveaway-desc .discord-spoiler.is-revealed {
            filter: none;
            user-select: text;
            background: rgba(0, 0, 0, 0.12);
        }
        body.light-theme .news-text .discord-spoiler,
        body.light-theme .news-title .discord-spoiler,
        body.light-theme .giveaway-desc .discord-spoiler {
            background: rgba(17, 24, 39, 0.12);
        }
        body.light-theme .news-text .discord-spoiler.is-revealed,
        body.light-theme .news-title .discord-spoiler.is-revealed,
        body.light-theme .giveaway-desc .discord-spoiler.is-revealed {
            background: rgba(17, 24, 39, 0.06);
        }

        body.light-theme .news-text blockquote {
            border-left-color: #f97316;
            color: #374151;
            background: rgba(249, 250, 251, 0.9);
        }

        .no-news {
            color: #888;
            text-align: center;
            padding: 40px;
        }

        /* ============================================ */
        /* ADMIN PANEL STYLES */
        /* ============================================ */

        .admin-card {
            background: rgba(40, 40, 50, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-left: 5px solid #e74c3c;
            border-radius: 10px;
            padding: 25px;
            max-width: 500px;
        }

        .admin-panel .admin-card,
        #developer-tools-container .admin-card {
            max-width: none;
            width: 100%;
            background: transparent;
            border: none;
            border-left: none;
            border-radius: 0;
            padding: 0 0 28px;
            margin: 0;
        }

        .admin-panel-shell {
            max-width: none;
            width: 100%;
            background: rgba(40, 40, 50, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-left: 5px solid #e74c3c;
            border-radius: 10px;
            padding: 25px;
            box-sizing: border-box;
        }

        body.light-theme .admin-panel-shell {
            background: #f9fafb;
            border-color: rgba(15, 23, 42, 0.1);
        }

        .admin-panel-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 28px 32px;
            align-items: start;
        }

        @media (min-width: 1280px) {
            .admin-panel-grid {
                grid-template-columns: repeat(4, minmax(0, 1fr));
            }
            .admin-panel-section--full {
                grid-column: 1 / -1;
            }
        }

        .admin-panel-section {
            min-width: 0;
            padding: 20px 22px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.03);
            box-sizing: border-box;
        }

        body.light-theme .admin-panel-section {
            background: #ffffff;
            border-color: rgba(15, 23, 42, 0.1);
        }

        .admin-panel-section--full {
            grid-column: 1 / -1;
            padding-top: 20px;
            border-top: none;
        }

        .admin-panel-section h2,
        .admin-panel-section .active-editors-title {
            margin-top: 0;
            margin-bottom: 20px;
            font-size: 1.3em;
            color: #fff;
        }

        body.light-theme .admin-panel-section h2 {
            color: #111827;
        }

        .admin-panel-dev-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 28px 32px;
            align-items: start;
        }

        .admin-panel-section--nested {
            min-width: 0;
            padding: 20px 22px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.03);
            box-sizing: border-box;
        }

        body.light-theme .admin-panel-section--nested {
            background: #ffffff;
            border-color: rgba(15, 23, 42, 0.1);
        }

        @media (max-width: 1024px) {
            .admin-panel-grid,
            .admin-panel-dev-grid {
                grid-template-columns: 1fr;
            }
        }

        .admin-panel .admin-card + .admin-card,
        .admin-panel #developer-tools-container .admin-card {
            padding-top: 28px;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        body.light-theme .admin-panel .admin-card + .admin-card,
        body.light-theme .admin-panel #developer-tools-container .admin-card {
            border-top-color: rgba(15, 23, 42, 0.1);
        }

        #developer-tools-container:empty {
            display: none;
        }

        #developer-tools-container:not(:empty) {
            padding-top: 20px;
        }
        
        body.light-theme .checkbox-group label {
            color: #111827 !important;
        }

        body.light-theme .admin-card {
            background: #f9fafb;
            border-color: rgba(15, 23, 42, 0.1);
            color: #111827;
        }

        body.light-theme .admin-panel .admin-card,
        body.light-theme #developer-tools-container .admin-card {
            background: transparent;
            border: none;
        }

        .admin-card h2 {
            margin-top: 0;
            margin-bottom: 20px;
            font-size: 1.3em;
            color: #fff;
        }

        .admin-panel .admin-form-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 16px;
            align-items: start;
        }

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

        .admin-panel .admin-form-grid--2 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        @media (max-width: 900px) {
            .admin-panel .admin-form-grid,
            .admin-panel .admin-form-grid--2 {
                grid-template-columns: 1fr;
            }

            .admin-panel .admin-form-grid .form-group,
            .admin-panel .admin-form-grid--2 .form-group {
                margin-bottom: 20px;
            }
        }

        .staff-override-list-wrap {
            margin-top: 8px;
        }

        .staff-override-list-wrap .admin-table {
            width: 100%;
        }

        .password-input-wrap {
            position: relative;
            display: block;
        }

        .password-input-wrap__input {
            padding-right: 44px !important;
        }

        .password-input-wrap__toggle {
            position: absolute;
            top: 50%;
            right: 10px;
            transform: translateY(-50%);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 32px;
            height: 32px;
            padding: 0;
            border: none;
            border-radius: 8px;
            background: transparent;
            color: rgba(255, 255, 255, 0.55);
            cursor: pointer;
        }

        .password-input-wrap__toggle:hover {
            color: rgba(255, 255, 255, 0.9);
            background: rgba(255, 255, 255, 0.06);
        }

        .password-input-wrap__eye--hide {
            display: none;
        }

        .password-input-wrap__toggle.is-visible .password-input-wrap__eye--show {
            display: none;
        }

        .password-input-wrap__toggle.is-visible .password-input-wrap__eye--hide {
            display: inline-flex;
        }

        body.light-theme .password-input-wrap__toggle {
            color: rgba(71, 85, 105, 0.85);
        }

        body.light-theme .password-input-wrap__toggle:hover {
            color: #1e293b;
            background: rgba(15, 23, 42, 0.06);
        }

        .admin-sub-nav {
            display: flex;
            gap: 10px;
            margin-bottom: 20px;
        }
        .admin-sub-btn {
            padding: 10px 20px;
            border: 1px solid rgba(231, 76, 60, 0.3);
            background: rgba(50, 35, 35, 0.5);
            color: #c8a0a0;
            border-radius: 8px;
            cursor: pointer;
            font-size: 1em;
            transition: all 0.2s ease;
        }
        .admin-sub-btn:hover {
            background: rgba(231, 76, 60, 0.15);
            color: #e8b0b0;
        }
        .admin-sub-btn.active {
            background: rgba(231, 76, 60, 0.25);
            color: #fff;
        }

        /* Светлая тема: яркие подвкладки админ‑панели */
        body.light-theme .admin-sub-btn {
            border-color: rgba(248, 113, 113, 0.8);
            background: rgba(254, 226, 226, 0.98);
            color: #7f1d1d;
        }
        body.light-theme .admin-sub-btn:hover {
            background: rgba(254, 202, 202, 1);
            color: #7f1d1d;
        }
        body.light-theme .admin-sub-btn.active {
            background: var(--tab-gradient-admin-active);
            border: 1px solid rgba(185, 28, 28, 0.65);
            box-shadow: 0 4px 14px rgba(220, 38, 38, 0.28);
            color: #fff;
        }
        .active-editors-title {
            font-size: 1.1em;
            letter-spacing: 0.05em;
            color: rgba(255,255,255,0.9);
        }
        body.light-theme .active-editors-title {
            color: #0f172a;
        }
        .no-active-editors {
            color: #888;
            margin: 0;
        }
        body.light-theme .no-active-editors {
            color: #64748b;
        }
        .active-editor-card {
            display: flex;
            align-items: center;
            gap: 14px;
            padding: 12px 16px;
            background: rgba(30, 30, 40, 0.8);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 10px;
            margin-bottom: 10px;
        }
        body.light-theme .active-editor-card {
            background: #f8fafc;
            border: 1px solid rgba(15, 23, 42, 0.1);
            box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
        }
        .active-editor-card:last-child {
            margin-bottom: 0;
        }
        .active-editor-avatar-wrap {
            position: relative;
            flex-shrink: 0;
        }
        .active-editor-avatar {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            object-fit: cover;
            background: rgba(60, 60, 70, 0.8);
        }
        .active-editor-online {
            position: absolute;
            bottom: 0;
            right: 0;
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: #2ecc71;
            border: 2px solid #1a1a24;
        }
        .active-editor-info {
            flex: 1;
            min-width: 0;
        }
        body.light-theme .active-editor-name {
            color: #111827 !important;
        }
        body.light-theme .active-editor-page {
            color: #64748b !important;
        }
        body.light-theme .active-editor-online {
            border-color: #f8fafc;
        }

        .active-editor-name {
            font-weight: 600;
            font-synthesis: none;
            font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
            color: #fff !important;
            margin: 0 0 4px 0;
        }
        .active-editor-page {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.9em;
            color: #888;
            margin: 0;
        }
        .active-editor-page-icon {
            opacity: 0.8;
        }

        .form-group {
            margin-bottom: 20px;
        }

        .form-group label {
            display: block;
            color: #ddd;
            font-size: 1em;
            font-weight: bold;
            margin-bottom: 8px;
        }

        body.light-theme .form-group label {
            color: #111827;
        }

        .form-group input,
        .form-group textarea {
            width: 100%;
            padding: 12px 15px;
            font-size: 1em;
            border: 2px solid rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            background: rgba(0, 0, 0, 0.4);
            color: #fff;
            transition: all 0.3s ease;
            box-sizing: border-box;
            font-family: inherit;
        }

        .form-group input:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: #e74c3c;
            box-shadow: 0 0 10px rgba(231, 76, 60, 0.3);
        }

        .form-group input::placeholder,
        .form-group textarea::placeholder {
            color: rgba(255, 255, 255, 0.4);
        }

        body.light-theme .form-group input,
        body.light-theme .form-group textarea,
        body.light-theme .form-group select {
            border-color: rgba(148, 163, 184, 0.7);
            background: #f9fafb;
            color: #111827;
        }
        body.light-theme .form-group input::placeholder,
        body.light-theme .form-group textarea::placeholder {
            color: #9ca3af;
        }

        .checkbox-group {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-bottom: 20px;
        }

        .checkbox-group input[type="checkbox"] {
            width: 18px;
            height: 18px;
            cursor: pointer;
        }

        .checkbox-group label {
            color: #ddd;
            cursor: pointer;
        }

        .news-publish-toggles {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-bottom: 20px;
        }

        .news-publish-plaque {
            display: flex;
            align-items: center;
            gap: 12px;
            flex: 1 1 220px;
            min-height: 64px;
            padding: 12px 16px;
            border-radius: 12px;
            border: 1px solid rgba(139, 92, 246, 0.45);
            background: rgba(139, 92, 246, 0.14);
            box-shadow: 0 0 14px rgba(139, 92, 246, 0.12);
            cursor: pointer;
            user-select: none;
            transition: opacity 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
        }

        .news-publish-plaque:has(.news-publish-plaque-input:checked) {
            border-color: rgba(167, 139, 250, 0.65);
            background: rgba(139, 92, 246, 0.22);
            box-shadow: 0 0 16px rgba(139, 92, 246, 0.22);
        }

        .news-publish-plaque:not(:has(.news-publish-plaque-input:checked)) {
            opacity: 0.42;
            border-color: rgba(255, 255, 255, 0.14);
            background: rgba(0, 0, 0, 0.22);
            box-shadow: none;
        }

        .news-publish-plaque-input {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        .news-publish-plaque-icon {
            font-size: 1.35rem;
            line-height: 1;
            flex-shrink: 0;
        }

        .news-publish-plaque-text {
            display: flex;
            flex-direction: column;
            gap: 2px;
            min-width: 0;
        }

        .news-publish-plaque-title {
            font-size: 0.95rem;
            font-weight: 600;
            color: #f3f4f6;
        }

        .news-publish-plaque-hint {
            font-size: 0.78rem;
            color: #b8bcc8;
        }

        body.light-theme .news-publish-plaque {
            border-color: rgba(99, 102, 241, 0.35);
            background: rgba(99, 102, 241, 0.08);
            box-shadow: 0 0 10px rgba(99, 102, 241, 0.08);
        }

        body.light-theme .news-publish-plaque:has(.news-publish-plaque-input:checked) {
            border-color: rgba(79, 70, 229, 0.45);
            background: rgba(99, 102, 241, 0.14);
        }

        body.light-theme .news-publish-plaque:not(:has(.news-publish-plaque-input:checked)) {
            border-color: rgba(15, 23, 42, 0.12);
            background: rgba(15, 23, 42, 0.04);
        }

        body.light-theme .news-publish-plaque-title {
            color: #111827;
        }

        body.light-theme .news-publish-plaque-hint {
            color: #6b7280;
        }

        .submit-btn {
            width: auto;
            max-width: min(100%, 240px);
            min-height: 48px;
            padding: 15px 22px;
            font-size: 0.875rem;
            font-weight: 600;
            color: #fff;
            background: linear-gradient(135deg, #c0392b, #e74c3c);
            border: none;
            border-radius: 11px;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 15px rgba(231, 76, 60, 0.3);
            line-height: 1.2;
        }

        .submit-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 25px rgba(231, 76, 60, 0.4);
        }

        .submit-btn.secondary {
            background: linear-gradient(135deg, #2c3e50, #34495e);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
        }

        .submit-btn.secondary:hover {
            box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4);
        }

        .logout-btn {
            padding: 10px 20px;
            background: var(--tab-gradient-admin-active);
            border: 1px solid rgba(185, 28, 28, 0.45);
            color: #ffffff;
            border-radius: 8px;
            cursor: pointer;
            margin-bottom: 20px;
            font-weight: bold;
            transition: all 0.3s ease;
            box-shadow: 0 4px 14px rgba(220, 38, 38, 0.22);
        }

        .logout-btn:hover {
            background: var(--tab-gradient-admin-active-hover);
            color: #fff;
            box-shadow: 0 6px 18px rgba(220, 38, 38, 0.28);
        }

        .form-note {
            font-size: 0.85em;
            color: #888;
            margin-top: 10px;
        }

        body.light-theme .form-note {
            color: #64748b !important;
        }

        /* ============================================ */
        /* MODAL STYLES */
        /* ============================================ */

        .modal {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.8);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 2000;
            backdrop-filter: blur(5px);
        }

            .modal-content {
            background: linear-gradient(180deg, rgba(40, 40, 50, 0.98), rgba(25, 25, 35, 0.98));
            border: 2px solid #3498db;
            border-radius: 15px;
            padding: 30px;
            max-width: 500px;
            width: 90%;
            max-height: 90vh;
            overflow-y: auto;
            position: relative;
            box-shadow: 0 10px 50px rgba(52, 152, 219, 0.3);
            animation: modalPanelIn 0.22s ease;
        }

        @keyframes modalBackdropIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        @keyframes modalPanelIn {
            from {
                opacity: 0;
                transform: translateY(8px) scale(0.985);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        /* legacy alias */
        @keyframes modalAppear {
            from {
                opacity: 0;
                transform: translateY(8px) scale(0.985);
            }
            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        .modal {
            animation: modalBackdropIn 0.2s ease;
        }

        .modal-content h2 {
            margin-top: 0;
            margin-bottom: 25px;
            color: #3498db;
            border-bottom: 2px solid #3498db;
            padding-bottom: 10px;
        }
        body.light-theme .modal-content {
            background: #ffffff;
            border-color: rgba(99, 102, 241, 0.35);
            box-shadow: 0 20px 50px rgba(15, 23, 42, 0.14);
            color: #1e293b;
        }
        body.light-theme .modal-content h2 {
            color: #1d4ed8;
            border-bottom-color: rgba(29, 78, 216, 0.3);
        }
        body.light-theme .modal-close {
            color: #64748b;
        }
        body.light-theme .modal-close:hover {
            color: #0f172a;
        }
        body.light-theme #ticket-detail-title {
            color: #1d4ed8;
            border-bottom-color: rgba(29, 78, 216, 0.3);
        }
        body.light-theme .ticket-detail-info {
            background: #f1f5f9;
            color: #334155;
        }
        body.light-theme .ticket-detail-info p {
            color: #334155;
            text-shadow: none;
        }
        body.light-theme .ticket-detail-info strong {
            color: #0f172a;
        }
        body.light-theme .ticket-detail-info code {
            color: #4338ca;
            background: #eef2ff;
            padding: 2px 6px;
            border-radius: 4px;
        }
        body.light-theme .ticket-messages-container {
            background: #f8fafc;
            border-color: rgba(99, 102, 241, 0.25);
        }
        body.light-theme .ticket-msg.user {
            background: rgba(99, 102, 241, 0.1);
            border-left-color: #6366f1;
            color: #1e293b;
        }
        body.light-theme .ticket-msg.staff {
            background: rgba(16, 185, 129, 0.12);
            border-left-color: #10b981;
            color: #1e293b;
        }
        body.light-theme .ticket-msg-meta {
            color: #64748b;
        }
        body.light-theme .ticket-no-messages {
            color: #64748b;
        }
        .ticket-reply-block textarea,
        #ticket-reply-text {
            width: 100%;
            box-sizing: border-box;
            margin-bottom: 10px;
            resize: vertical;
            min-height: 72px;
            padding: 11px 14px;
            font-size: 0.95rem;
            font-family: inherit;
            line-height: 1.45;
            border-radius: 10px;
            border: 1px solid rgba(127, 145, 255, 0.32);
            background: rgba(8, 11, 22, 0.88);
            color: #eef2ff;
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset;
            transition: border-color 0.2s ease, box-shadow 0.2s ease;
        }
        .ticket-reply-block textarea:focus,
        #ticket-reply-text:focus {
            outline: none;
            border-color: rgba(168, 182, 255, 0.75);
            box-shadow: 0 0 0 3px rgba(109, 124, 242, 0.18);
        }
        .ticket-reply-block textarea::placeholder,
        #ticket-reply-text::placeholder {
            color: rgba(198, 209, 238, 0.45);
        }
        body.light-theme .ticket-reply-block textarea,
        body.light-theme #ticket-reply-text {
            background: #ffffff;
            border-color: rgba(15, 23, 42, 0.18);
            color: #111827;
            box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
        }
        body.light-theme .ticket-reply-block textarea:focus,
        body.light-theme #ticket-reply-text:focus {
            border-color: rgba(99, 102, 241, 0.55);
            box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
        }
        body.light-theme .ticket-reply-block textarea::placeholder,
        body.light-theme #ticket-reply-text::placeholder {
            color: #9ca3af;
        }
        body.light-theme #ticket-detail-modal .form-group label {
            color: #374151;
        }
        body.light-theme #ticket-detail-modal .form-group input[type="file"] {
            background: #ffffff;
            border-color: rgba(15, 23, 42, 0.18);
            color: #111827;
        }
        body.light-theme #mod-add-block-modal .ticket-ban-preset-btn,
        body.light-theme #my-sanction-modal .ticket-ban-preset-btn,
        body.light-theme .mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn {
            background: #f1f5f9;
            border-color: rgba(99, 102, 241, 0.35);
            color: #3730a3;
        }
        body.light-theme #mod-add-block-modal .ticket-ban-preset-btn:hover,
        body.light-theme #mod-add-block-modal .ticket-ban-preset-btn.is-active,
        body.light-theme #my-sanction-modal .ticket-ban-preset-btn:hover:not(:disabled),
        body.light-theme #my-sanction-modal .ticket-ban-preset-btn.is-active,
        body.light-theme .mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn:hover:not(:disabled),
        body.light-theme .mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn.is-active {
            background: #eef2ff;
            border-color: #6366f1;
            color: #312e81;
        }

        .modal-close {
            position: absolute;
            top: 15px;
            right: 20px;
            font-size: 30px;
            color: #888;
            cursor: pointer;
            transition: color 0.3s ease;
        }

        .modal-close:hover {
            color: #e74c3c;
        }

        #home-server-modal .home-server-modal-content {
            width: min(920px, calc(100vw - 20px));
            max-width: 920px;
            max-height: min(86vh, 760px);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            padding: clamp(20px, 3.5vw, 28px);
            border-radius: 18px;
            border: 1px solid rgba(56, 189, 248, 0.28);
            background:
                linear-gradient(155deg, rgba(30, 41, 59, 0.92) 0%, rgba(15, 23, 42, 0.97) 42%, rgba(15, 23, 42, 0.99) 100%);
            box-shadow:
                0 0 0 1px rgba(255, 255, 255, 0.04) inset,
                0 28px 80px rgba(0, 0, 0, 0.55),
                0 0 120px rgba(56, 189, 248, 0.06);
        }
        body.light-theme #home-server-modal .home-server-modal-content {
            background: #ffffff;
            border-color: rgba(99, 102, 241, 0.28);
            box-shadow: 0 24px 56px rgba(15, 23, 42, 0.12);
        }

        body.light-theme #home-server-modal .modal-close {
            color: #64748b;
        }
        body.light-theme #home-server-modal .modal-close:hover {
            color: #0f172a;
        }

        #home-server-modal .home-server-modal-content h2 {
            margin: 0 0 6px;
            padding-bottom: 12px;
            font-size: clamp(1.15rem, 2.2vw, 1.35rem);
            letter-spacing: -0.02em;
            border-bottom: 1px solid rgba(56, 189, 248, 0.22);
            color: #e0f2fe;
            text-shadow: 0 0 40px rgba(56, 189, 248, 0.25);
        }
        body.light-theme #home-server-modal .home-server-modal-content h2 {
            color: #0f172a;
            border-bottom-color: rgba(99, 102, 241, 0.25);
            text-shadow: none;
        }

        body.light-theme #home-server-modal .home-server-modal-content #home-server-modal-meta {
            color: #475569;
            background: #f1f5f9;
            border-color: rgba(15, 23, 42, 0.1);
        }

        body.light-theme #home-server-modal .home-server-modal-team {
            background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f1f5f9 100%);
            box-shadow: 0 4px 18px rgba(15, 23, 42, 0.06);
        }
        body.light-theme #home-server-modal .home-server-modal-team--ct {
            --team-tint-top: rgba(56, 189, 248, 0.12);
            --team-border: rgba(56, 189, 248, 0.35);
        }
        body.light-theme #home-server-modal .home-server-modal-team--t {
            --team-tint-top: rgba(251, 146, 60, 0.1);
            --team-border: rgba(251, 146, 60, 0.35);
        }
        body.light-theme #home-server-modal .home-server-modal-team--spec {
            --team-tint-top: rgba(167, 139, 250, 0.1);
            --team-border: rgba(167, 139, 250, 0.35);
        }
        body.light-theme #home-server-modal .home-server-modal-team-title {
            color: #334155;
        }
        body.light-theme #home-server-modal .home-server-modal-player {
            background: #f8fafc;
            border-color: rgba(15, 23, 42, 0.08);
        }
        body.light-theme #home-server-modal .home-server-modal-player:hover {
            background: #eef2ff;
            border-color: rgba(99, 102, 241, 0.25);
            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08);
        }
        body.light-theme #home-server-modal .home-server-modal-player-name {
            color: #1e293b;
        }
        body.light-theme #home-server-modal .home-server-modal-player-avatar-fallback {
            color: #3730a3;
            background: linear-gradient(135deg, rgba(199, 210, 254, 0.9), rgba(186, 230, 253, 0.85));
            border-color: rgba(99, 102, 241, 0.25);
        }
        body.light-theme #home-server-modal .home-server-modal-empty {
            color: #64748b;
            background: #f8fafc;
            border-color: rgba(15, 23, 42, 0.12);
        }
        body.light-theme #home-server-modal.is-loading .home-server-modal-empty.is-loading {
            color: #6366f1;
            border-style: solid;
            background: #eef2ff;
        }

        #home-server-modal .home-server-modal-content #home-server-modal-meta {
            flex-shrink: 0;
            margin: 0 0 14px;
            padding: 10px 12px;
            font-size: 0.8125rem;
            line-height: 1.45;
            color: #94a3b8;
            background: rgba(15, 23, 42, 0.55);
            border-radius: 10px;
            border: 1px solid rgba(148, 163, 184, 0.12);
        }

        .home-server-modal-teams {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(12px, 2.2vw, 18px);
            margin-top: 4px;
            flex: 1;
            min-height: 0;
            align-content: stretch;
        }

        @media (max-width: 640px) {
            .home-server-modal-teams {
                grid-template-columns: 1fr;
            }
        }

        @media (min-width: 641px) and (max-width: 900px) {
            .home-server-modal-teams {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }

            .home-server-modal-teams .home-server-modal-team:last-child {
                grid-column: 1 / -1;
            }
        }

        .home-server-modal-team {
            --team-accent: #94a3b8;
            --team-tint-top: rgba(148, 163, 184, 0.1);
            --team-border: rgba(148, 163, 184, 0.22);
            position: relative;
            border-radius: 14px;
            border: 1px solid var(--team-border);
            background: linear-gradient(
                180deg,
                var(--team-tint-top) 0%,
                rgba(15, 23, 42, 0.75) 46%,
                rgba(2, 6, 23, 0.58) 100%
            );
            box-shadow:
                0 0 0 1px rgba(255, 255, 255, 0.03) inset,
                0 12px 32px rgba(0, 0, 0, 0.35);
            min-height: 140px;
            max-height: min(50vh, 440px);
            padding: 12px 12px 10px;
            display: flex;
            flex-direction: column;
            min-width: 0;
            overflow: hidden;
        }

        .home-server-modal-team::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            width: 3px;
            border-radius: 14px 0 0 14px;
            background: linear-gradient(180deg, var(--team-accent), rgba(15, 23, 42, 0.05));
            opacity: 0.95;
        }

        .home-server-modal-team--ct {
            --team-accent: #38bdf8;
            --team-tint-top: rgba(56, 189, 248, 0.14);
            --team-border: rgba(56, 189, 248, 0.28);
        }

        .home-server-modal-team--t {
            --team-accent: #fb923c;
            --team-tint-top: rgba(251, 146, 60, 0.12);
            --team-border: rgba(251, 146, 60, 0.28);
        }

        .home-server-modal-team--spec {
            --team-accent: #a78bfa;
            --team-tint-top: rgba(167, 139, 250, 0.12);
            --team-border: rgba(167, 139, 250, 0.28);
        }

        .home-server-modal-team-title {
            margin: 0 0 10px;
            padding-left: 10px;
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #e2e8f0;
        }

        .home-server-modal-team-badge {
            width: 8px;
            height: 8px;
            border-radius: 50%;
            background: var(--team-accent);
            box-shadow: 0 0 14px rgba(255, 255, 255, 0.08), 0 0 18px var(--team-accent);
            flex-shrink: 0;
        }

        .home-server-modal-list {
            display: flex;
            flex-direction: column;
            gap: 6px;
            overflow-y: auto;
            min-height: 0;
            flex: 1;
            padding: 2px 2px 4px 10px;
            scrollbar-width: thin;
            scrollbar-color: rgba(148, 163, 184, 0.35) #1a1a24;
        }

        .home-server-modal-list::-webkit-scrollbar {
            width: 6px;
        }

        .home-server-modal-list::-webkit-scrollbar-thumb {
            background: rgba(148, 163, 184, 0.35);
            border-radius: 99px;
            border: 2px solid #1a1a24;
        }

        .home-server-modal-list::-webkit-scrollbar-track {
            background: #1a1a24;
        }

        .home-server-modal-player {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 8px 10px;
            border-radius: 10px;
            background: rgba(15, 23, 42, 0.55);
            border: 1px solid rgba(148, 163, 184, 0.08);
            min-width: 0;
            transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
        }

        .home-server-modal-player:hover {
            background: rgba(30, 41, 59, 0.75);
            border-color: rgba(148, 163, 184, 0.18);
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
            transform: translateY(-1px);
        }

        .home-server-modal-player-link {
            text-decoration: none;
            color: inherit;
            cursor: pointer;
        }

        a.steam-profile-nav-link {
            text-decoration: none;
            color: inherit;
            cursor: pointer;
        }

        a.steam-profile-nav-link.mod-table-profile-link:hover {
            text-decoration: underline;
            color: #93c5fd;
        }

        .home-server-modal-player-main {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-width: 0;
        }

        .home-server-modal-player-avatar {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid rgba(148, 163, 184, 0.25);
            flex: 0 0 30px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
        }

        .home-server-modal-player-avatar-fallback {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 30px;
            height: 30px;
            flex: 0 0 30px;
            border-radius: 50%;
            background: linear-gradient(135deg, rgba(99, 102, 241, 0.45), rgba(56, 189, 248, 0.25));
            border: 2px solid rgba(148, 163, 184, 0.2);
            color: #f1f5f9;
            font-size: 0.8rem;
            font-weight: 700;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        }

        .home-server-modal-player-name {
            color: #f1f5f9;
            font-weight: 600;
            font-size: 0.9rem;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .home-server-modal-empty {
            margin-top: 2px;
            text-align: center;
            padding: 1.1rem 0.75rem;
            font-size: 0.8125rem;
            line-height: 1.4;
            color: rgba(148, 163, 184, 0.72);
            border: 1px dashed rgba(148, 163, 184, 0.22);
            border-radius: 10px;
            background: rgba(2, 6, 23, 0.25);
        }

        /* Компактная и центрированная модалка управления администраторами */
        #admin-action-modal {
            align-items: center;
            justify-content: center;
            padding: 16px;
        }
        #admin-action-modal .modal-content {
            width: min(460px, calc(100vw - 28px));
            max-height: min(72vh, 560px);
            padding: 18px 18px 16px;
            border-radius: 12px;
            border-color: rgba(88, 101, 242, 0.6);
            box-shadow: 0 16px 42px rgba(15, 23, 42, 0.55);
        }
        #admin-action-modal .modal-content h2 {
            margin-bottom: 14px;
            font-size: 1.15rem;
            padding-bottom: 8px;
        }
        #admin-action-modal .ticket-ban-user-info {
            margin-bottom: 10px;
            font-size: 0.9rem;
            color: #b9c2df;
        }
        #admin-action-modal .form-group {
            margin-bottom: 10px;
        }
        #admin-action-modal .form-group label {
            font-size: 0.92rem;
        }
        #admin-action-modal #admin-action-duration,
        #admin-action-modal #admin-action-reason {
            border: 1px solid rgba(114, 132, 255, 0.45);
            background: rgba(14, 18, 34, 0.92);
            border-radius: 10px;
            padding: 10px 12px;
            min-height: 42px;
        }
        #admin-action-modal #admin-action-duration {
            -moz-appearance: textfield;
            appearance: textfield;
        }
        #admin-action-modal #admin-action-duration::-webkit-outer-spin-button,
        #admin-action-modal #admin-action-duration::-webkit-inner-spin-button {
            -webkit-appearance: none;
            margin: 0;
        }
        #admin-action-modal #admin-action-duration:focus,
        #admin-action-modal #admin-action-reason:focus {
            border-color: #7f91ff;
            box-shadow: 0 0 0 3px rgba(127, 145, 255, 0.2);
        }

        /* Кастомные кнопки пресетов (без нативного вида) */
        #admin-action-modal .ticket-ban-preset-grid {
            margin-top: 8px;
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 8px;
        }
        #admin-action-modal .ticket-ban-preset-btn {
            appearance: none;
            border: 1px solid rgba(116, 135, 255, 0.5);
            background: linear-gradient(180deg, rgba(75, 89, 176, 0.35), rgba(48, 59, 126, 0.35));
            color: #eef2ff;
            border-radius: 9px;
            font-size: 0.84rem;
            font-weight: 600;
            padding: 8px 6px;
            cursor: pointer;
            transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
        }
        #admin-action-modal .ticket-ban-preset-btn:hover {
            border-color: #98abff;
            box-shadow: 0 6px 18px rgba(88, 101, 242, 0.28);
            transform: translateY(-1px);
        }

        #admin-action-modal .modal-actions {
            margin-top: 12px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
        }
        #admin-action-modal .submit-btn,
        #admin-action-modal .cancel-btn {
            appearance: none;
            width: 100%;
            min-height: 42px;
            padding: 10px 12px;
            border-radius: 10px;
            font-weight: 700;
            font-size: 0.92rem;
            cursor: pointer;
            border: 1px solid transparent;
            transition: transform 0.14s ease, box-shadow 0.14s ease, filter 0.14s ease;
        }
        #admin-action-modal .submit-btn {
            background: linear-gradient(135deg, #5865f2, #7f91ff);
            color: #ffffff;
            border-color: rgba(127, 145, 255, 0.75);
        }
        #admin-action-modal .cancel-btn {
            background: rgba(23, 29, 52, 0.88);
            color: #d9e0ff;
            border-color: rgba(129, 146, 255, 0.4);
        }
        #admin-action-modal .submit-btn:hover,
        #admin-action-modal .cancel-btn:hover {
            filter: brightness(1.06);
            box-shadow: 0 8px 22px rgba(31, 43, 102, 0.35);
            transform: translateY(-1px);
        }
        @media (max-width: 560px) {
            #admin-action-modal .modal-content {
                width: min(420px, calc(100vw - 20px));
                max-height: min(70vh, 520px);
                padding: 14px 14px 12px;
            }
            #admin-action-modal .ticket-ban-preset-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }

        .ticket-modal-content {
            max-width: 560px;
        }
        .ticket-detail-info {
            margin-bottom: 12px;
            padding: 10px;
            background: rgba(0,0,0,0.2);
            border-radius: 8px;
            font-size: 0.9rem;
            color: #d0d0d0;
        }
        .ticket-detail-info p {
            margin: 8px 0;
            color: inherit;
        }
        .ticket-messages-container {
            max-height: 320px;
            overflow-y: auto;
            margin-bottom: 16px;
            border: 1px solid rgba(52, 152, 219, 0.3);
            border-radius: 8px;
            padding: 12px;
            background: rgba(0,0,0,0.15);
        }
        .ticket-messages-list {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        .ticket-msg {
            padding: 10px 12px;
            border-radius: 8px;
            max-width: 95%;
            word-break: break-word;
        }
        .ticket-msg.user {
            align-self: flex-start;
            background: rgba(52, 152, 219, 0.2);
            border-left: 3px solid #3498db;
            color: #e5f2ff;
        }
        .ticket-msg.staff {
            align-self: flex-end;
            background: rgba(46, 204, 113, 0.2);
            border-right: 3px solid #2ecc71;
            color: #e6ffef;
        }
        .ticket-msg-meta {
            font-size: 0.75rem;
            color: #888;
            margin-bottom: 4px;
        }
        .ticket-msg-attachments {
            margin-top: 8px;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }
        .ticket-attachment-img {
            max-width: 200px;
            max-height: 150px;
            border-radius: 6px;
            object-fit: cover;
        }
        .ticket-attachment-link {
            color: #3498db;
            font-size: 0.9em;
        }
        .ticket-no-messages {
            color: #888;
            font-size: 0.9rem;
            margin: 0;
        }

        /* ============================================ */
        /* APPLICATION NAV BUTTONS */
        /* ============================================ */

        .nav-apply {
            border-color: #9b59b6 !important;
            background: linear-gradient(90deg, rgba(155, 89, 182, 0.15), rgba(155, 89, 182, 0.08)) !important;
        }

        .nav-apply:hover {
            background: linear-gradient(90deg, rgba(155, 89, 182, 0.3), rgba(155, 89, 182, 0.2)) !important;
            box-shadow: 0 0 15px rgba(155, 89, 182, 0.25) !important;
        }

        .nav-apply.active {
            background: linear-gradient(90deg, rgba(142, 68, 173, 0.72), rgba(155, 89, 182, 0.62)) !important;
            box-shadow: 0 0 14px rgba(155, 89, 182, 0.3) !important;
            color: #ffffff !important;
        }

        .nav-mystatus {
            border-color: #1abc9c !important;
            background: linear-gradient(90deg, rgba(26, 188, 156, 0.15), rgba(26, 188, 156, 0.08)) !important;
        }

        .nav-mystatus:hover {
            background: linear-gradient(90deg, rgba(26, 188, 156, 0.3), rgba(26, 188, 156, 0.2)) !important;
            box-shadow: 0 0 15px rgba(26, 188, 156, 0.25) !important;
        }

        .nav-mystatus.active {
            background: linear-gradient(90deg, #16a085, #1abc9c) !important;
            box-shadow: 0 0 20px rgba(26, 188, 156, 0.45) !important;
        }

        /* ============================================ */
        /* APPLICATION STATUS CARDS */
        /* ============================================ */

        .status-card {
            background: linear-gradient(180deg, rgba(40, 40, 50, 0.95), rgba(30, 30, 40, 0.9));
            border-radius: 15px;
            padding: 25px;
            max-width: 500px;
        }

        body.light-theme .status-card {
            background: #f9fafb;
            border: 1px solid rgba(15, 23, 42, 0.1);
            color: #111827;
        }

        .status-card.status-none {
            border-left: 5px solid #888;
        }

        .status-card.status-pending {
            border-left: 5px solid #f39c12;
        }

        .status-card.status-in_review {
            border-left: 5px solid #3498db;
        }

        .status-card.status-accepted {
            border-left: 5px solid #2ecc71;
        }

        .status-card.status-rejected {
            border-left: 5px solid #e74c3c;
        }

        .status-card.status-discord {
            border-left: 5px solid #5865F2;
        }

        .status-header {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-bottom: 20px;
            padding-bottom: 15px;
            border-bottom: 1px solid rgba(255,255,255,0.1);
        }

        .status-icon {
            font-size: 2em;
        }

        .status-text {
            font-size: 1.5em;
            font-weight: bold;
            color: #fff;
        }

        .status-details p {
            margin: 10px 0;
            color: #ccc;
        }

        .status-details a {
            color: #3498db;
        }

        .admin-message {
            background: rgba(255,255,255,0.05);
            padding: 10px 15px;
            border-radius: 8px;
            margin-top: 15px !important;
        }

        /* ============================================ */
        /* ADMIN APPLICATION CARDS */
        /* ============================================ */

        .admin-application-card {
            background: linear-gradient(180deg, rgba(50, 50, 60, 0.9), rgba(40, 40, 50, 0.85));
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 10px;
            padding: 20px;
            margin-bottom: 15px;
        }

        .app-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
        }

        .app-date {
            color: #888;
            font-size: 0.9em;
        }

        .app-info p {
            margin: 8px 0;
            color: #ccc;
        }

        .app-info a {
            color: #3498db;
        }

        body.light-theme .admin-application-card {
            background: #f9fafb;
            border-color: rgba(15, 23, 42, 0.1);
            color: #111827;
        }
        body.light-theme .app-info p {
            color: #374151;
            text-shadow: none;
        }

        .app-actions {
            display: flex;
            gap: 10px;
            margin-top: 15px;
            flex-wrap: wrap;
        }

        .ticket-not-assigned-hint {
            color: #95a5a6;
            font-size: 0.9em;
        }

        .action-btn {
            padding: 8px 15px;
            border-radius: 6px;
            border: none;
            cursor: pointer;
            font-weight: bold;
            transition: all 0.3s ease;
        }

        body.light-theme .action-btn {
            color: #111827;
        }

        body.light-theme .view-btn {
            background: rgba(59, 130, 246, 0.12);
            color: #1d4ed8;
            border-color: rgba(59, 130, 246, 0.35);
        }

        body.light-theme .accept-btn {
            background: rgba(34, 197, 94, 0.14);
            color: #15803d;
            border-color: rgba(34, 197, 94, 0.35);
        }

        body.light-theme .close-btn,
        body.light-theme .delete-btn {
            background: rgba(239, 68, 68, 0.12);
            color: #b91c1c;
            border-color: rgba(239, 68, 68, 0.35);
        }

        .view-btn {
            background: rgba(52, 152, 219, 0.2);
            color: #3498db;
            border: 1px solid #3498db;
        }
        .view-btn:hover {
            background: #3498db;
            color: #fff;
        }

        .accept-btn {
            background: rgba(46, 204, 113, 0.2);
            color: #2ecc71;
            border: 1px solid #2ecc71;
        }

        .accept-btn:hover {
            background: #2ecc71;
            color: #fff;
        }

        .reject-btn {
            background: rgba(231, 76, 60, 0.2);
            color: #e74c3c;
            border: 1px solid #e74c3c;
        }

        .reject-btn:hover {
            background: #e74c3c;
            color: #fff;
        }

        .discord-btn {
            background: rgba(88, 101, 242, 0.2);
            color: #5865F2;
            border: 1px solid #5865F2;
        }

        .discord-btn:hover {
            background: #5865F2;
            color: #fff;
        }

        .review-btn {
            background: rgba(52, 152, 219, 0.2);
            color: #3498db;
            border: 1px solid #3498db;
        }

        .review-btn:hover {
            background: #3498db;
            color: #fff;
        }

        .delete-btn {
            background: rgba(150, 150, 150, 0.2);
            color: #999;
            border: 1px solid #666;
            margin-top: 10px;
        }

        .delete-btn:hover {
            background: #666;
            color: #fff;
        }

        .ban-btn {
            background: rgba(230, 126, 34, 0.2);
            color: #e67e22;
            border: 1px solid #e67e22;
        }
        .ban-btn:hover {
            background: #e67e22;
            color: #fff;
        }
        .reassign-btn {
            background: rgba(100, 116, 139, 0.28);
            color: #cbd5e1;
            border: 1px solid #64748b;
        }
        .reassign-btn:hover {
            background: linear-gradient(135deg, #475569, #334155);
            color: #fff;
            border-color: #475569;
        }
        .ticket-banned-label {
            color: #e67e22;
            font-size: 0.85rem;
            margin: 6px 0 0 0;
        }

        /* Модальное окно запрета тикетов */
        .ticket-ban-user-info {
            margin: 0 0 12px 0;
            color: #b0b0b0;
        }
        #ticket-ban-modal .radio-group {
            display: flex;
            gap: 16px;
            margin: 8px 0;
        }
        #ticket-ban-modal .radio-group label {
            display: flex;
            align-items: center;
            gap: 6px;
            cursor: pointer;
        }
        .ticket-ban-duration-block select,
        .ticket-ban-datetime {
            margin-top: 8px;
            padding: 8px;
            width: 100%;
            max-width: 280px;
            box-sizing: border-box;
        }
        #ticket-ban-modal .modal-actions {
            display: flex;
            gap: 12px;
            margin-top: 16px;
            flex-wrap: wrap;
        }

        /* Badges */
        .badge {
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 0.85em;
            font-weight: bold;
        }

        .badge-pending {
            background: rgba(243, 156, 18, 0.2);
            color: #f39c12;
        }

        .badge-in_review {
            background: rgba(52, 152, 219, 0.2);
            color: #3498db;
        }

        .badge-accepted {
            background: rgba(46, 204, 113, 0.2);
            color: #2ecc71;
        }

        .badge-rejected {
            background: rgba(231, 76, 60, 0.2);
            color: #e74c3c;
        }

        .badge-discord {
            background: rgba(88, 101, 242, 0.2);
            color: #5865F2;
        }

        .no-applications {
            color: #888;
            text-align: center;
            padding: 20px;
        }

        .error {
            color: #e74c3c;
        }

        /* Form select */
        .form-group select {
            width: 100%;
            padding: 12px 15px;
            font-size: 1em;
            border: 2px solid rgba(255, 255, 255, 0.2);
            border-radius: 8px;
            background: rgba(0, 0, 0, 0.4);
            color: #fff;
            cursor: pointer;
        }

        .form-group select:focus {
            outline: none;
            border-color: #9b59b6;
            box-shadow: 0 0 10px rgba(155, 89, 182, 0.3);
        }

        .form-group select option {
            background: #2a2a3a;
            color: #fff;
        }

        /* ============================================ */
        /* GIVEAWAYS NAV BUTTON */
        /* ============================================ */

        .nav-giveaways {
            border-color: #e91e63 !important;
            background: linear-gradient(90deg, rgba(233, 30, 99, 0.15), rgba(233, 30, 99, 0.08)) !important;
        }

        .nav-giveaways:hover {
            background: linear-gradient(90deg, rgba(233, 30, 99, 0.3), rgba(233, 30, 99, 0.2)) !important;
            box-shadow: 0 0 15px rgba(233, 30, 99, 0.25) !important;
        }

        .nav-giveaways.active {
            background: linear-gradient(90deg, #c2185b, #e91e63) !important;
            box-shadow: 0 0 20px rgba(233, 30, 99, 0.45) !important;
        }

        /* ============================================ */
        /* DISCORD AUTH */
        /* ============================================ */

        .discord-auth-container {
            margin-bottom: 25px;
        }

        .discord-login-btn {
            display: flex;
            align-items: center;
            gap: 10px;
            padding: 12px 25px;
            background: #5865F2;
            color: #fff;
            border: none;
            border-radius: 8px;
            font-size: 1em;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .discord-login-btn:hover {
            background: #4752c4;
            transform: translateY(-2px);
            box-shadow: 0 5px 20px rgba(88, 101, 242, 0.4);
        }

        .discord-user {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 10px 15px;
            background: rgba(88, 101, 242, 0.1);
            border: 1px solid rgba(88, 101, 242, 0.3);
            border-radius: 10px;
        }

        .discord-avatar {
            width: 40px;
            height: 40px;
            border-radius: 50%;
        }

        .discord-username {
            font-weight: bold;
            font-synthesis: none;
            font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
            color: #fff;
        }

        body.light-theme .discord-user {
            background: linear-gradient(135deg, #bfdbfe 0%, #c7d2fe 52%, #ddd6fe 100%);
            border-color: rgba(79, 70, 229, 0.55);
            box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.12), 0 4px 14px rgba(79, 70, 229, 0.12);
        }
        body.light-theme .discord-username {
            color: #111827;
        }

        .member-badge {
            background: rgba(34, 197, 94, 0.24);
            color: #4ade80;
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 0.85em;
            font-weight: 600;
        }

        body.light-theme .member-badge {
            background: linear-gradient(135deg, rgba(34, 197, 94, 0.28), rgba(16, 185, 129, 0.22));
            color: #15803d;
            border: 1px solid rgba(34, 197, 94, 0.5);
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
        }

        .not-member-badge {
            background: rgba(231, 76, 60, 0.2);
            color: #e74c3c;
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 0.85em;
        }

        .discord-logout-btn {
            margin-left: auto;
            padding: 6px 12px;
            background: transparent;
            border: 1px solid #666;
            color: #888;
            border-radius: 6px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .discord-logout-btn:hover {
            background: rgba(255,255,255,0.1);
            color: #fff;
        }

        body.light-theme .discord-logout-btn {
            border-color: rgba(79, 70, 229, 0.45);
            color: #374151;
        }
        body.light-theme .discord-logout-btn:hover {
            background: rgba(99, 102, 241, 0.14);
            border-color: rgba(79, 70, 229, 0.55);
            color: #1e293b;
        }

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

        .giveaway-card {
            background: transparent;
            border: none;
            border-left: 4px solid rgba(233, 30, 99, 0.35);
            border-radius: 12px;
            padding: 20px;
            margin-bottom: 24px;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }
        .giveaway-card:last-child {
            margin-bottom: 20px;
            border-bottom: none;
        }

        body.light-theme .giveaway-card {
            background: #f9fafb;
            border-bottom-color: rgba(15, 23, 42, 0.45);
        }

        .giveaway-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
        }

        .giveaway-prize {
            font-size: 1.4em;
            font-weight: bold;
            color: #fff;
        }

        .giveaway-date {
            color: #888;
            font-size: 0.9em;
        }

        .giveaway-draw-date {
            color: #b0b0b0;
            font-size: 0.95em;
        }

        .giveaway-image-wrap {
            margin: 0 0 14px;
        }

        .giveaway-image {
            display: block;
            width: 100%;
            max-width: 520px;
            max-height: 320px;
            object-fit: cover;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.1);
        }

        body.light-theme .giveaway-image {
            border-color: rgba(15, 23, 42, 0.12);
        }

        .admin-giveaway-thumb {
            display: block;
            max-width: 180px;
            max-height: 110px;
            object-fit: cover;
            border-radius: 8px;
            margin: 8px 0;
        }

        .giveaway-desc-label {
            color: #999;
            font-size: 0.85em;
            margin: 10px 0 4px 0;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        .giveaway-desc {
            color: #bbb;
            margin-bottom: 15px;
        }

        .giveaway-stats {
            display: flex;
            gap: 20px;
            color: #999;
            margin-bottom: 15px;
            font-size: 0.95em;
        }

        .giveaway-action .submit-btn {
            width: auto;
            padding: 10px 25px;
        }

        .giveaway-action .submit-btn.participated {
            background: linear-gradient(135deg, #27ae60, #2ecc71);
            cursor: default;
        }

        .giveaway-action .participated-row {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: wrap;
        }

        .giveaway-action .giveaway-login-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
        }

        .giveaway-action .leave-btn {
            background: linear-gradient(135deg, #7f8c8d, #95a5a6);
            font-size: 0.95em;
            padding: 8px 18px;
        }

        .giveaway-action .leave-btn:hover {
            background: linear-gradient(135deg, #95a5a6, #bdc3c7);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
        }

        .not-member-warning {
            color: #e74c3c;
            margin-bottom: 10px;
        }

        .no-giveaways {
            color: #888;
            text-align: center;
            padding: 40px;
        }

        /* Admin giveaway card */
        .admin-giveaway-card {
            background: rgba(233, 30, 99, 0.1);
            border: 1px solid rgba(233, 30, 99, 0.2);
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 10px;
        }

/* ============================================ */
/* MOBILE ADAPTATION (phones)                  */
/* ============================================ */

@media (max-width: 768px) {
    .home-links {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .home-contact {
        margin-top: 32px;
        padding-top: 24px;
    }
    .home-link-card {
        padding: 22px 20px;
    }
    html, body {
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
    .app-container,
    .app-main-wrap {
        min-height: 100dvh;
        min-height: -webkit-fill-available;
    }
    .top-header {
        --hdr-h: 52px;
        padding-top: env(safe-area-inset-top, 0);
        padding-right: max(12px, env(safe-area-inset-right, 0));
        padding-bottom: 0;
        padding-left: max(16px, env(safe-area-inset-left, 0));
        min-height: calc(var(--hdr-h) + env(safe-area-inset-top, 0px));
        height: calc(var(--hdr-h) + env(safe-area-inset-top, 0px));
        gap: 8px;
        position: sticky;
        top: 0;
        z-index: 1008;
    }
    .header-brand {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 4;
        pointer-events: auto;
    }
    .header-brand:hover {
        transform: translateX(-50%) translateY(-1px);
    }
    .menu-trigger {
        width: 44px;
        height: 44px;
        min-width: 44px;
        min-height: 44px;
    }
    .nav-dropdown {
        left: 0;
        right: auto;
        min-width: 260px;
        max-width: calc(100vw - 24px);
        max-height: 80vh;
        padding: 8px 0;
    }
    .nav-dropdown .nav-dropdown-item {
        padding: 14px 18px;
        min-height: 48px;
        font-size: 15px;
    }
    .header-user-block .btn-login {
        padding: 10px 14px;
        font-size: 13px;
    }
    .header-username {
        max-width: 100px;
    }
    .header-display-toggles {
        display: none;
    }
    .header-auth-cluster {
        gap: 6px;
    }
    .header-user-wrap {
        margin-left: 4px;
        z-index: 1010;
    }
    .header-user-block.header-user-clickable {
        min-height: 44px;
        max-width: min(200px, 58vw);
        padding: 4px 6px 4px 4px;
        -webkit-tap-highlight-color: transparent;
    }
    .header-user-block .user-avatar {
        width: 40px;
        height: 40px;
    }
    .header-notifications-btn {
        width: 44px;
        height: 44px;
    }
    .header-notifications-dropdown {
        right: -8px;
        left: auto;
        width: min(340px, calc(100vw - 16px));
        max-height: min(70vh, 420px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    .header-user-dropdown {
        right: 0;
        min-width: 200px;
        max-width: calc(100vw - 16px);
        z-index: 1012;
    }
    .header-dropdown-item {
        padding: 14px 16px;
        min-height: 48px;
        font-size: 15px;
    }
    .header-user-meta-col {
        max-width: min(120px, 36vw);
    }
    .main-content {
        padding: 16px 12px calc(88px + env(safe-area-inset-bottom, 0px)) 16px;
        padding-left: calc(16px + env(safe-area-inset-left, 0));
        padding-right: calc(12px + env(safe-area-inset-right, 0));
    }
    .main-content .page-content {
        padding: 20px 0;
        max-width: 100%;
    }
    .page-content h1 {
        font-size: 1.5rem;
        line-height: 1.3;
    }
    .page-content h2 {
        font-size: 1.25rem;
    }
    .header-user-dropdown {
        right: 0;
        min-width: 160px;
        max-width: calc(100vw - 24px);
    }
    .header-dropdown-item {
        padding: 10px 14px;
        min-height: 0;
    }
    .submit-btn {
        min-height: 48px;
        padding: 15px 22px;
        width: auto;
        max-width: min(100%, 240px);
    }
    .form-group input,
    .form-group textarea,
    .form-group select {
        min-height: 48px;
        font-size: 16px;
    }
    .form-group textarea {
        min-height: 100px;
    }
    .modal-content {
        width: calc(100% - 24px);
        max-width: none;
        margin: 12px;
        padding: 20px 16px;
        max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        border-radius: 12px;
    }
    .modal-close {
        top: 10px;
        right: 12px;
        font-size: 28px;
    }
    .modal-content h2 {
        font-size: 1.25rem;
        padding-right: 36px;
    }
    .admin-card {
        padding: 16px;
    }
    .criteria-card {
        padding: 16px;
    }
    .home-intro {
        padding: 20px 18px;
        margin-bottom: 22px;
    }
    .home-server-list {
        grid-template-columns: 1fr;
    }
    .home-shortcuts {
        grid-template-columns: 1fr;
    }
    .home-shortcut-card {
        padding: 16px;
    }
    .clan-link-block,
    .clan-hero-card {
        margin-left: 0;
        margin-right: 0;
    }
    .clan-link-row {
        flex-direction: column;
    }
    .clan-link-input {
        min-width: 0;
        width: 100%;
    }
    .tickets-sub-nav {
        flex-wrap: wrap;
        gap: 8px;
    }
    .tickets-sub-btn {
        padding: 10px 14px;
        font-size: 14px;
        min-height: 44px;
    }
    .news-sub-nav {
        flex-wrap: wrap;
        gap: 8px;
    }
    .news-sub-btn {
        padding: 10px 14px;
        font-size: 14px;
    }
    .ticket-create-btn {
        padding: 16px;
        flex-direction: column;
        gap: 8px;
    }
    .ticket-channel-card {
        padding: 16px;
    }

    /* Site support widget (вкладка «Поддержка на сайте») */
    .site-support-widget {
        border-radius: 14px;
        min-height: 0;
    }
    .site-support-widget:has(#site-support-panel-chat:not([hidden])) {
        min-height: calc(100dvh - 200px - env(safe-area-inset-bottom, 0px));
        max-height: none;
    }
    .site-support-head {
        padding: 16px 16px 10px;
    }
    .site-support-title {
        font-size: 1.35rem;
    }
    .site-support-panel {
        padding: 8px 14px 18px;
    }
    .site-support-tabs {
        max-width: none;
    }
    .site-support-tab {
        min-height: 44px;
    }
    .site-support-messages {
        min-height: 220px;
        -webkit-overflow-scrolling: touch;
    }
    .site-support-compose {
        border-radius: 16px;
        padding: 6px 8px;
        position: sticky;
        bottom: 0;
        gap: 6px;
        align-items: center;
    }
    .site-support-icon-btn,
    .site-support-send {
        min-width: 44px;
        min-height: 44px;
    }
    .site-support-input {
        font-size: 16px !important;
        min-height: 44px;
    }
    .site-support-cta {
        min-height: 48px;
        width: 100%;
    }
    .tickets-sub-btn {
        min-height: 44px;
        padding: 10px 14px;
    }
    .site-support-input {
        font-size: 16px;
        min-height: 40px;
    }
    .site-support-icon-btn,
    .site-support-send {
        width: 44px;
        height: 44px;
    }
    .site-support-cta {
        min-height: 48px;
        max-width: none;
    }
    .site-support-auth-gate {
        padding: 28px 16px;
    }
    .site-support-faq-item summary {
        min-height: 48px;
        padding: 12px 14px;
    }

    .tickets-inbox {
        min-height: calc(100dvh - 220px);
        max-height: none;
    }
    .profile-skinchanger-php-frame {
        min-height: 640px;
        height: min(78dvh, 900px);
    }
}

/* Подача заявки на модерацию */
.apply-mod-page {
    max-width: 560px;
    margin: 0 auto;
    padding: 8px 0 40px;
}
.apply-mod-wrap {
    background: #121212;
    border-radius: 14px;
    padding: 28px 26px 32px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}
.apply-mod-h1 {
    margin: 0 0 22px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #fafafa;
    letter-spacing: -0.02em;
    border: none !important;
    animation: none !important;
    text-shadow: none !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    padding-bottom: 0 !important;
}
.apply-mod-page .apply-mod-subh {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    border: none !important;
    animation: none !important;
    text-shadow: none !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    margin-top: 16px !important;
    margin-bottom: 8px !important;
}
.apply-mod-accordion-panel p.apply-mod-lead {
    font-size: 0.95rem !important;
    color: #a3a3a3 !important;
    text-shadow: none !important;
}
body.light-theme #apply-mod-who-lead{
    color: #4b5563 !important;
}
.apply-mod-accordion {
    margin-bottom: 24px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #161616;
}
.apply-mod-accordion-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border: none;
    background: transparent;
    color: #f5f5f5;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease;
}
.apply-mod-accordion-trigger:hover {
    background: rgba(255, 255, 255, 0.04);
}
.apply-mod-chevron {
    display: inline-flex;
    font-size: 1.1rem;
    line-height: 1;
    color: #a3a3a3;
    transform: rotate(180deg);
    transition: transform 0.2s ease;
}
.apply-mod-accordion-trigger.is-open .apply-mod-chevron {
    transform: rotate(0deg);
}
.apply-mod-accordion-panel {
    padding: 0 16px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.apply-mod-accordion-panel[hidden] {
    display: none !important;
}
.apply-mod-lead {
    margin: 14px 0 12px;
    font-size: 0.95rem;
    line-height: 1.55;
    color: #a3a3a3;
}
.apply-mod-subh {
    margin: 16px 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #e5e5e5;
}
.apply-mod-criteria-list {
    margin: 0;
    padding-left: 1.1em;
    color: #a3a3a3;
    font-size: 0.95rem;
    line-height: 1.55;
}
.apply-mod-form {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.apply-form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.apply-mod-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #fafafa;
}
.apply-req {
    color: #818cf8;
    font-weight: 700;
}
.apply-mod-hint {
    margin: 0;
    font-size: 0.85rem;
    line-height: 1.45;
    color: #a3a3a3;
}
.apply-mod-input,
.apply-mod-textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: #1e1e1e;
    color: #f5f5f5;
    font-family: inherit;
    font-size: 0.95rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.apply-mod-input::placeholder,
.apply-mod-textarea::placeholder {
    color: #737373;
}
.apply-mod-input:focus,
.apply-mod-textarea:focus {
    outline: none;
    border-color: rgba(129, 140, 248, 0.55);
    box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2);
}
.apply-mod-textarea {
    resize: vertical;
    min-height: 120px;
}
.apply-mod-submit {
    width: auto;
    max-width: min(100%, 240px);
    min-height: 48px;
    margin-top: 4px;
    padding: 15px 22px;
    border: none;
    border-radius: 11px;
    background: #7b89f4;
    color: #fff;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: filter 0.2s ease, transform 0.15s ease;
}
.apply-mod-submit:hover {
    filter: brightness(1.06);
}
.apply-mod-submit:active {
    transform: translateY(1px);
}

/* Профиль */
.profile-page {
    max-width: 1560px;
    margin: 0 auto;
    width: 100%;
}
.main-content .page-content.profile-page {
    max-width: 1560px;
    padding-left: 8px;
    padding-right: 8px;
}
.profile-layout {
    display: grid;
    grid-template-columns: 236px minmax(0, 1fr);
    gap: 18px;
}
/* Чужой /profiles/:id — сайдбар скрыт скриптом; иначе grid оставляет пустую колонку 236px */
.profile-layout.profile-layout--public {
    grid-template-columns: minmax(0, 1fr);
}
.profile-side-nav {
    background: linear-gradient(180deg, rgba(24, 26, 39, 0.98), rgba(13, 14, 22, 0.96));
    border: 1px solid rgba(167, 139, 250, 0.18);
    border-radius: 14px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: fit-content;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}
.profile-side-btn {
    border: none;
    background: transparent;
    color: #b3b6c4;
    padding: 11px 12px;
    border-radius: 9px;
    text-align: left;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: background .18s ease, color .18s ease, transform .18s ease;
}
.profile-side-ico {
    width: 18px;
    text-align: center;
    opacity: .9;
}
.profile-side-btn.active,
.profile-side-btn.active-emphasis {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.26), rgba(139, 92, 246, 0.22));
    color: #f8fafc;
    transform: translateX(4px);
}
.profile-main {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}
.profile-layout--sub-focus .profile-main {
    gap: 0;
}
.profile-layout--sub-focus .profile-hero-card {
    display: none !important;
}
.profile-layout--sub-focus .profile-skinchanger-card:not([hidden]),
.profile-layout--sub-focus .profile-history-card:not([hidden]),
.profile-layout--sub-focus .profile-gallery-card:not([hidden]) {
    flex: 1 1 auto;
    min-height: min(82vh, 980px);
    display: flex;
    flex-direction: column;
}
.profile-layout--sub-focus #vue-wallet-history-mount {
    flex: 1 1 auto;
    min-height: min(68vh, 820px);
    display: flex;
    flex-direction: column;
}
.profile-layout--sub-focus #vue-wallet-history-mount .wallet-history-list {
    flex: 1 1 auto;
}
.profile-layout--sub-focus .profile-skinchanger-php-wrap {
    min-height: min(86vh, 1100px);
}
.profile-layout--sub-focus .profile-skinchanger-php-frame {
    min-height: min(86vh, 1100px);
    height: min(86vh, 1100px);
}
.profile-hero-card {
    position: relative;
    border: 1px solid rgba(139, 92, 246, 0.22);
    border-radius: 14px;
    padding: 12px 14px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.profile-hero-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 14px 14px 0 0;
    background: linear-gradient(90deg, #6366f1, #8b5cf6, #f59e0b);
}
.profile-hero-top {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 0;
    margin-bottom: 14px;
}
.profile-hero-avatar {
    grid-row: 1 / 3;
    grid-column: 1;
    align-self: start;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(167, 139, 250, 0.48);
    box-shadow: 0 6px 16px rgba(99, 102, 241, 0.22);
}
.profile-hero-name-row {
    grid-row: 1;
    grid-column: 2;
    align-self: center;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    min-width: 0;
}
.profile-hero-name-row .profile-hero-name {
    min-width: 0;
}
.profile-hero-admin-badges {
    --admin-badge-crown-size: 20px;
    --admin-badge-freeze-size: 21px;
    --admin-badge-freeze-offset-y: 0px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
    line-height: 0;
}
.profile-hero-admin-badges .dev-crown-hover,
.profile-hero-admin-badges .profile-hero-dev-crown,
.profile-hero-admin-badges .profile-hero-admin-freeze {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    height: var(--admin-badge-crown-size);
    transform: none !important;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}
.profile-hero-admin-badges .dev-crown-hover {
    line-height: 0;
    vertical-align: middle;
}
.profile-hero-name-row .dev-crown-hover {
    vertical-align: middle;
}
.profile-hero-admin-badges .dev-crown-hover-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.profile-hero-admin-badges .profile-hero-dev-crown-ico,
.profile-hero-admin-badges .profile-hero-dev-crown-ico svg {
    display: block;
    width: var(--admin-badge-crown-size, 20px);
    height: var(--admin-badge-crown-size, 20px);
}
.profile-hero-admin-badges .profile-hero-admin-freeze:not([hidden]) {
    margin-left: 0;
}
.profile-hero-admin-badges .profile-hero-admin-freeze {
    height: var(--admin-badge-freeze-size);
    transform: none !important;
}
.profile-hero-admin-badges .profile-hero-admin-freeze-ico,
.profile-hero-admin-badges .profile-hero-admin-freeze-ico svg,
.profile-hero-admin-badges .ui-icon-freeze {
    display: block;
    width: var(--admin-badge-freeze-size) !important;
    height: var(--admin-badge-freeze-size) !important;
    max-width: var(--admin-badge-freeze-size);
    max-height: var(--admin-badge-freeze-size);
}
.profile-hero-admin-badges:empty,
.profile-hero-admin-badges:not(:has(:not([hidden]))) {
    display: none;
}
.profile-hero-head-col {
    grid-row: 1;
    grid-column: 2;
    align-self: start;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.profile-hero-head-col .profile-hero-name-row {
    grid-row: auto;
    grid-column: auto;
    align-self: stretch;
}
.profile-hero-sub {
    grid-row: 2;
    grid-column: 2;
    margin: 0;
    padding-top: 0;
    min-width: 0;
}
.profile-hero-user {
    flex: 1;
    min-width: 0;
}
/* Само по себе display на бейджe перебивает встроенное [hidden]{display:none} — без :not() бейдж остаётся видимым. */
.profile-cs-ban-badge:not([hidden]) {
    display: inline-flex;
    align-items: center;
    align-self: center;
    gap: 8px;
    margin: 0 auto;
    padding: 7px 12px;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25;
    color: #d48878;
    background: rgba(62, 24, 24, 0.72);
    border: 1px solid rgba(140, 60, 60, 0.42);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    flex-shrink: 0;
    width: fit-content;
    max-width: min(100%, 360px);
    white-space: nowrap;
}
.profile-cs-ban-badge-ico {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #d48878;
}
.profile-cs-ban-badge-ico svg {
    display: block;
    width: 18px;
    height: 18px;
}
.dev-crown-hover {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    position: relative;
    vertical-align: middle;
    color: #9e6bff;
    line-height: 0;
    cursor: default;
}
.dev-crown-hover-ico svg path {
    fill: currentColor;
}
.dev-crown-hover-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
/* Подсказка вне потока — корона не прыгает; ширина под текст */
.dev-crown-hover-label {
    position: absolute;
    left: calc(100% + 7px);
    top: 50%;
    z-index: 5;
    display: block;
    width: max-content;
    max-width: none;
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    margin: 0;
    padding: 5px 11px;
    border-radius: 9px;
    border: 1px solid rgba(158, 107, 255, 0.24);
    background: rgba(22, 24, 32, 0.96);
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.03em;
    color: #b8bcc8;
    text-shadow: 0.35px 0 0 rgba(255, 72, 72, 0.32), -0.35px 0 0 rgba(88, 130, 255, 0.32);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.05);
    transform: translateY(-50%) translateX(-4px);
    transform-origin: left center;
    transition:
        opacity 0.18s ease,
        visibility 0.18s ease,
        transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
    pointer-events: none;
}
.dev-crown-hover:hover .dev-crown-hover-label,
.dev-crown-hover:focus-visible .dev-crown-hover-label {
    opacity: 1;
    visibility: visible;
    transform: translateY(-50%) translateX(0);
}
body.light-theme .dev-crown-hover-label {
    background: rgba(36, 38, 48, 0.96);
    color: #d8dce6;
    border-color: rgba(120, 80, 220, 0.28);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.profile-hero-dev-crown:not([hidden]) {
    display: inline-flex;
    align-self: center;
    margin-top: 0;
}
.profile-hero-dev-crown {
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #9e6bff;
    line-height: 0;
    margin-top: 0;
}
.profile-hero-dev-crown-ico,
.profile-hero-dev-crown-ico svg {
    display: block;
    width: var(--admin-badge-crown-size, 20px);
    height: var(--admin-badge-crown-size, 20px);
}
.profile-hero-dev-crown-ico svg path {
    fill: currentColor;
}
.profile-hero-dev-crown--vip {
    color: #7dd3fc;
}
.profile-hero-dev-crown--vip[data-vip-tier="standard"],
.profile-hero-dev-crown--vip[data-vip-tier="standart"] {
    color: #7dd3fc;
}
.profile-hero-dev-crown--vip[data-vip-tier="plus"] {
    color: #4ade80;
}
.profile-hero-dev-crown--vip[data-vip-tier="gold"] {
    color: #fde047;
}
.profile-hero-dev-crown--vip[data-vip-tier="diamond"] {
    color: #d8b4fe;
}
.profile-hero-admin-freeze:not([hidden]) {
    display: inline-flex;
    align-self: center;
    margin-top: 0;
}
.profile-hero-admin-freeze {
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #A3BBFE;
    line-height: 0;
    margin-left: 0;
}
.profile-hero-admin-badges .profile-hero-admin-freeze-ico svg {
    display: block;
}
.ui-icon-freeze,
.ui-icon-freeze svg path,
[data-icon="freeze"] svg path {
    fill: #A3BBFE;
    color: #A3BBFE;
}
.profile-cs-ban-badge-text {
    color: inherit;
}
.profile-hero-name {
    margin: 0;
    font-size: 1.35rem;
    line-height: 1.15;
    font-weight: 800;
    font-synthesis: weight;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

/* Внутри .page-content заданы «критериальные» красные h1/a — для профиля отключаем. */
.page-content.profile-page h1.profile-hero-name {
    color: #f8fafc;
    text-shadow: none;
    border-bottom: none;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 0;
    animation: none;
    font-size: 1.35rem;
    line-height: 1.15;
    font-weight: 800;
    font-synthesis: weight;
    font-family: 'Inter', 'Segoe UI', system-ui, sans-serif;
}

.page-content.profile-page h1.profile-hero-name:hover {
    color: #f8fafc;
    text-shadow: none;
}
.profile-hero-meta {
    margin: 0;
    color: #9ca3af;
    font-size: 0.92rem;
    line-height: 1.25;
    max-width: 100%;
    word-break: normal;
    overflow-wrap: break-word;
    overflow: visible;
}
.profile-hero-links {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 4px;
    overflow: visible;
}
.profile-hero-link-wrap {
    position: relative;
    display: inline-flex;
    max-width: 100%;
    overflow: visible;
}
/* Невидимый «мост» между кнопкой и подсказкой — hover не срывается при переходе к ID */
.profile-hero-link-wrap::after {
    content: '';
    position: absolute;
    left: -6px;
    right: -6px;
    bottom: 100%;
    height: 14px;
}
.profile-hero-link-tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 10px);
    z-index: 30;
    transform: translateX(-50%) translateY(6px);
    padding: 8px 14px;
    border-radius: 10px;
    background: rgba(18, 20, 28, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.48);
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.2;
    color: #f3f4f6;
    white-space: nowrap;
    max-width: min(240px, 70vw);
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
    user-select: none;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.18s ease,
        transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1),
        visibility 0.18s;
}
.profile-hero-link-wrap:hover .profile-hero-link-tooltip,
.profile-hero-link-wrap:focus-within .profile-hero-link-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
    user-select: text;
    cursor: text;
}
.profile-hero-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    border: none;
    border-radius: 0;
    font-size: 0.88rem;
    font-weight: 500;
    text-decoration: none;
    background: transparent;
    color: #9ca3af;
    line-height: 1.2;
    max-width: 100%;
    transition: color 0.15s ease, opacity 0.15s ease;
}
.profile-hero-link-btn:hover {
    background: transparent;
    color: #e5e7eb;
    text-decoration: none;
}
.profile-hero-link-btn--steam,
.profile-hero-link-btn--discord {
    color: #9ca3af;
}
.profile-hero-link-btn--steam:hover,
.profile-hero-link-btn--discord:hover {
    color: #e5e7eb;
}
.profile-hero-link-ico {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    color: #f8fafc;
    opacity: 0.92;
}
.profile-hero-link-ext {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-left: 1px;
    color: #d1d5db;
    opacity: 1;
}
.profile-hero-link-ext-ico {
    opacity: 1;
    color: #e5e7eb;
}
.profile-hero-link-btn:hover .profile-hero-link-ico {
    color: #ffffff;
    opacity: 1;
}
.profile-hero-link-btn:hover .profile-hero-link-ext,
.profile-hero-link-btn:hover .profile-hero-link-ext-ico {
    color: #f9fafb;
}
.profile-hero-link-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: min(200px, 38vw);
}
.profile-hero-meta-fallback {
    color: #9ca3af;
    font-size: 0.92rem;
    line-height: 1.25;
}
.profile-hero-admin-status {
    margin: 6px 0 0;
    font-size: 0.8rem;
    color: #7b86a8;
    line-height: 1.3;
}
.profile-hero-playing {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.35;
    color: #4ade80;
    max-width: 100%;
}
.page-content p.profile-hero-playing {
    margin: 0;
}
.profile-hero-playing strong {
    font-weight: 600;
    color: #86efac;
}
.profile-hero-playing-link {
    font-weight: 600;
    color: #86efac;
    text-decoration: none;
}
.profile-hero-playing-link:hover {
    text-decoration: underline;
}

.page-content.profile-page .profile-hero-playing-link {
    color: #86efac;
    font-weight: 600;
    text-shadow: none;
}

.page-content.profile-page .profile-hero-playing-link:hover,
.page-content.profile-page .profile-hero-playing-link:focus-visible {
    color: #bbf7d0;
    text-shadow: none;
    text-decoration: none;
}

.page-content.profile-page .profile-hero-playing-join {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    max-width: 100%;
    border-radius: 12px;
    padding: 4px 6px;
    margin: 0 0 0 6px;
    transition: background 0.18s ease, color 0.18s ease;
}

.page-content.profile-page .profile-hero-playing-join:hover,
.page-content.profile-page .profile-hero-playing-join:focus-visible {
    background: rgba(34, 197, 94, 0.12);
}

.page-content.profile-page .profile-hero-playing-label {
    font-weight: 600;
    color: #86efac;
    text-decoration: none;
}
.page-content.profile-page .profile-hero-playing-server-slot {
    font-weight: 700;
    color: #86efac;
    text-decoration: none;
}

.page-content.profile-page .profile-hero-playing-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 44px;
    height: 40px;
    padding: 0 10px;
    border-radius: 10px;
    font-size: 1.15rem;
    line-height: 1;
    color: #ecfdf5;
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.45), rgba(22, 163, 74, 0.55));
    border: 1px solid rgba(134, 239, 172, 0.55);
    box-shadow: 0 4px 14px rgba(34, 197, 94, 0.22);
    transition: filter 0.18s ease, transform 0.15s ease, box-shadow 0.18s ease;
}

.page-content.profile-page .profile-hero-playing-join:hover .profile-hero-playing-play,
.page-content.profile-page .profile-hero-playing-join:focus-visible .profile-hero-playing-play {
    filter: brightness(1.08);
    transform: scale(1.04);
    box-shadow: 0 6px 18px rgba(34, 197, 94, 0.35);
}
.profile-hero-stats {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin-top: 6px;
}
.profile-rank-bar {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    min-width: 0;
}
.profile-rank-bar-track {
    position: relative;
    width: 100%;
    height: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}
.profile-rank-bar-fill {
    height: 100%;
    width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #8b9cff 0%, #b8c4ff 100%);
    transition: width 0.35s ease;
}
.profile-rank-bar-meta {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.profile-rank-badge[hidden] {
    display: none;
}
.profile-rank-bar[aria-hidden="true"] .profile-rank-bar-track {
    opacity: 0.55;
}
.profile-rank-badge {
    display: block;
    height: 30px;
    width: auto;
    max-width: 72px;
    object-fit: contain;
    flex-shrink: 0;
}
.profile-rank-badge--current {
    justify-self: start;
}
.profile-rank-badge--next {
    justify-self: end;
}
.profile-rank-badge--project {
    height: 28px;
    max-width: 88px;
    opacity: 0.95;
}
.profile-rank-xp {
    justify-self: center;
    font-size: 0.82rem;
    font-weight: 600;
    color: rgba(186, 198, 255, 0.92);
    letter-spacing: 0.02em;
    white-space: nowrap;
    text-align: center;
}
.profile-hero-stat--rank .profile-hero-stat-label-top {
    margin-bottom: 2px;
}
.profile-stats-board {
    margin-top: 14px;
    padding: 12px 0 4px;
    border: none;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
    border-radius: 0;
    background: transparent;
}
.profile-stats-band {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-width: 0;
}
.profile-stats-band--aux {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}
.profile-stats-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 14px 10px 12px;
    min-width: 0;
    text-align: center;
    border-left: 1px solid rgba(148, 163, 184, 0.14);
}
.profile-stats-item:first-child {
    border-left: none;
}
.profile-stats-val {
    display: block;
    font-size: clamp(1.35rem, 2.4vw, 1.85rem);
    line-height: 1.15;
    font-weight: 800;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}
.profile-stats-val--coins {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.profile-stats-coin-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    opacity: 0.82;
    color: rgba(226, 232, 240, 0.88);
}
.profile-stats-label {
    display: block;
    font-size: 0.78rem;
    line-height: 1.3;
    color: #94a3b8;
    font-weight: 500;
}
.profile-stats-item--coins .profile-stats-label {
    color: #a5b4fc;
}
.profile-last-seen,
.profile-registered {
    grid-row: 1;
    grid-column: 3;
    margin: 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.68);
    text-align: right;
    justify-self: end;
    align-self: start;
    line-height: 1.3;
    white-space: nowrap;
}
.profile-registered {
    grid-row: 2;
    margin-top: 2px;
    color: rgba(255, 255, 255, 0.55);
}
.profile-side-btn[data-profile-sub] {
    cursor: pointer;
}
.profile-side-btn--disabled,
.profile-side-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.profile-history-card {
    border: 1px solid rgba(139, 92, 246, 0.22);
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.profile-history-card h2,
.profile-history-card-title {
    margin: 0 0 14px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #f8fafc;
}
.profile-history-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
}
.profile-history-card-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #f8fafc;
}
.profile-gallery-card {
    border: 1px solid rgba(139, 92, 246, 0.22);
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.profile-gallery-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 14px;
    font-size: 1.15rem;
    font-weight: 700;
    color: #f8fafc;
}
.profile-gallery-card-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #f8fafc;
}
.profile-gallery-search {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 0 12px;
    min-height: 42px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
}
.profile-gallery-search-ico {
    display: flex;
    color: #94a3b8;
}
.profile-gallery-search-ico .ui-icon,
.profile-gallery-search-ico svg {
    width: 16px;
    height: 16px;
}
.profile-gallery-search input {
    flex: 1;
    min-width: 0;
    border: 0;
    background: transparent;
    color: #f8fafc;
    font: inherit;
    padding: 10px 0;
    outline: none;
}
.profile-gallery-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.profile-gallery-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.45);
}
.profile-gallery-item-head {
    display: flex;
    align-items: center;
    gap: 8px;
}
.profile-gallery-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.08);
    flex: 0 0 auto;
}
a.profile-gallery-profile {
    display: flex;
    flex: 0 0 auto;
    border-radius: 50%;
    text-decoration: none;
    color: inherit;
}
a.profile-gallery-profile:hover { opacity: 0.88; }
.profile-gallery-avatar--empty { display: block; }
.profile-gallery-item-meta { flex: 1; min-width: 0; }
.profile-gallery-item-name {
    font-weight: 700;
    color: #f8fafc;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.profile-gallery-item-author {
    color: #94a3b8;
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
a.profile-gallery-item-author {
    display: block;
    text-decoration: none;
    color: #94a3b8;
}
a.profile-gallery-item-author:hover {
    color: #e2e8f0;
    text-decoration: underline;
}
.profile-gallery-dl {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #94a3b8;
    font-size: 0.8rem;
    font-weight: 700;
    flex-shrink: 0;
}
.profile-gallery-dl .ui-icon {
    width: 16px;
    height: 16px;
}
.profile-gallery-skins {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
}
.profile-gallery-cell {
    position: relative;
    aspect-ratio: 1;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.32);
    overflow: hidden;
}
.profile-gallery-cell img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.profile-gallery-cell--empty { background: rgba(255, 255, 255, 0.03); }
.profile-gallery-team {
    position: absolute;
    top: 2px;
    right: 2px;
    z-index: 1;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
    padding: 2px 3px;
    border-radius: 3px;
}
.profile-gallery-team.is-t { background: #fb923c; color: #1a1a24; }
.profile-gallery-team.is-ct { background: #38bdf8; color: #1a1a24; }
.profile-gallery-item-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.profile-gallery-fav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.05);
    color: #f8fafc;
    border-radius: 8px;
    padding: 9px 10px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.profile-gallery-fav:hover { background: rgba(255, 255, 255, 0.1); }
.profile-gallery-fav:disabled {
    opacity: 0.72;
    cursor: default;
}
.profile-gallery-fav:disabled:hover { background: rgba(255, 255, 255, 0.05); }
.profile-gallery-fav--danger {
    background: rgba(127, 29, 29, 0.88);
    border-color: rgba(185, 28, 28, 0.45);
    color: #fff;
}
.profile-gallery-fav--danger:hover {
    background: rgba(153, 27, 27, 0.96);
}
.profile-gallery-fav--own {
    cursor: default;
    opacity: 0.78;
    font-weight: 600;
    color: #94a3b8;
    background: rgba(148, 163, 184, 0.08);
}
.profile-gallery-fav--own:hover {
    background: rgba(148, 163, 184, 0.08);
}
.profile-gallery-fav .ui-icon {
    width: 16px;
    height: 16px;
}
.profile-gallery-pages {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 14px;
    flex-wrap: wrap;
}
.profile-gallery-page {
    min-width: 34px;
    height: 34px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    background: rgba(255, 255, 255, 0.04);
    color: #f8fafc;
    border-radius: 8px;
    cursor: pointer;
}
.profile-gallery-page.is-active {
    background: rgba(139, 92, 246, 0.22);
    border-color: rgba(196, 181, 253, 0.4);
}
.profile-gallery-page:disabled { opacity: 0.4; cursor: default; }
.profile-gallery-empty {
    margin: 8px 0 0;
    color: #94a3b8;
}
@media (max-width: 720px) {
    .profile-gallery-list { grid-template-columns: 1fr; }
}
.wallet-history-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.wallet-history-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.wallet-history-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}
.wallet-history-arrow--in {
    color: #4ade80;
    background: rgba(74, 222, 128, 0.12);
}
.wallet-history-arrow--out {
    color: #f87171;
    background: rgba(248, 113, 113, 0.12);
}
.wallet-history-label {
    color: #e5e7eb;
    font-size: 0.92rem;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.wallet-history-amounts {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.wallet-history-amount {
    font-weight: 700;
    font-size: 0.92rem;
    white-space: nowrap;
}
.wallet-history-amount--in { color: #4ade80; }
.wallet-history-amount--out { color: #f87171; }
.wallet-history-coin-icon {
    display: inline-flex;
    vertical-align: -2px;
    margin-left: 2px;
}
.wallet-history-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin-top: 18px;
    padding: 4px 0 2px;
}
.wallet-history-page-btn {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    font-family: inherit;
    font-size: 0.95rem;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.18s ease, color 0.18s ease;
}
.wallet-history-page-btn:hover:not(:disabled):not(.is-active) {
    background: rgba(255, 255, 255, 0.06);
}
.wallet-history-page-btn.is-active {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}
.wallet-history-page-btn:disabled {
    opacity: 0.35;
    cursor: default;
}
.wallet-history-page-btn--arrow {
    padding: 0 8px;
}
.wallet-history-page-btn--ellipsis {
    pointer-events: none;
    cursor: default;
    opacity: 0.65;
    min-width: 28px;
    background: transparent;
}
.wallet-history-page-btn--arrow .ui-icon {
    display: block;
}
.wallet-history-date {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.85rem;
    white-space: nowrap;
}
@media (max-width: 720px) {
    .profile-hero-top {
        grid-template-columns: 64px minmax(0, 1fr);
        grid-template-rows: auto auto auto;
    }
    .profile-last-seen {
        grid-row: 3;
        grid-column: 1 / -1;
        text-align: left;
        justify-self: start;
        align-self: start;
    }
    .wallet-history-row {
        grid-template-columns: 24px minmax(0, 1fr);
        grid-template-rows: auto auto;
    }
    .wallet-history-amounts { grid-column: 2; justify-content: flex-start; }
    .wallet-history-date { grid-column: 2; }
}
.profile-hero-stat {
    background: linear-gradient(145deg, rgba(56, 189, 248, 0.34), rgba(37, 99, 235, 0.26));
    border: 1px solid rgba(125, 211, 252, 0.5);
    border-radius: 20px;
    padding: 22px 24px;
    min-width: 0;
    overflow: visible;
    box-sizing: border-box;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 10px 26px rgba(2, 6, 23, 0.34);
}
.profile-hero-stat--hours {
    border-radius: 18px;
}
.profile-hero-stat.profile-hero-stat--rank,
.profile-hero-stat.profile-hero-stat--hours {
    background: none;
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}
.profile-hero-stat--wide {
    padding: 24px 26px;
}
.profile-hero-stat-label-top {
    display: block;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(224, 242, 254, 0.82);
    margin-bottom: 4px;
}
.profile-hero-stat-val-wrap {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
}
.profile-hero-stat-val {
    display: block;
    font-size: 3.35rem;
    font-weight: 800;
    color: #f8fafc;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}
.profile-hero-stat-unit {
    font-size: 1.05rem;
    font-weight: 700;
    color: #dbeafe;
    opacity: 0.9;
}
.profile-hero-stat-label {
    display: block;
    margin-top: 4px;
    font-size: 0.98rem;
    color: #bfdbfe;
    line-height: 1.35;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    white-space: normal;
}

@keyframes ui-skeleton-shimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.ui-skeleton,
.profile-shimmer {
    display: inline-block;
    vertical-align: middle;
    color: transparent !important;
    -webkit-text-fill-color: transparent;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.05);
    background-image: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.04) 0%,
        rgba(255, 255, 255, 0.14) 45%,
        rgba(255, 255, 255, 0.04) 90%
    );
    background-size: 200% 100%;
    animation: ui-skeleton-shimmer 1.15s ease-in-out infinite;
    pointer-events: none;
    user-select: none;
}

.home-server-ping--shimmer {
    display: inline-block;
    min-height: 0.85em;
    min-width: 3.4rem;
    border-radius: 6px;
    vertical-align: middle;
}

.profile-shimmer--name {
    min-height: 1.35em;
    width: min(220px, 72%);
}
.profile-shimmer--meta {
    min-height: 1em;
    width: min(280px, 88%);
    border-radius: 7px;
}
.profile-shimmer--playtime {
    min-height: 1.45em;
    width: min(140px, 55%);
}
.profile-shimmer--stat {
    min-height: 1.15em;
    min-width: 2.8ch;
    border-radius: 6px;
}
.profile-shimmer--line {
    min-height: 1em;
    width: min(210px, 62%);
    border-radius: 7px;
}

.ui-skeleton--wallet-sm {
    min-height: 0.95em;
    min-width: 2.8ch;
    border-radius: 6px;
}
.ui-skeleton--wallet-md {
    min-height: 0.95em;
    min-width: 4.5ch;
    border-radius: 6px;
}

.ui-skeleton--header-name {
    display: inline-block;
    min-height: 0.95em;
    min-width: 6.5ch;
    max-width: 120px;
    border-radius: 6px;
    vertical-align: middle;
}

.profile-hero-avatar.profile-hero-avatar--loading {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.05) 0%,
        rgba(255, 255, 255, 0.16) 45%,
        rgba(255, 255, 255, 0.05) 90%
    );
    background-size: 200% 100%;
    animation: ui-skeleton-shimmer 1.15s ease-in-out infinite;
    object-fit: cover;
}

body.light-theme .ui-skeleton,
body.light-theme .profile-shimmer {
    background-color: rgba(15, 23, 42, 0.06);
    background-image: linear-gradient(
        90deg,
        rgba(15, 23, 42, 0.05) 0%,
        rgba(15, 23, 42, 0.12) 45%,
        rgba(15, 23, 42, 0.05) 90%
    );
}

body.light-theme .profile-hero-avatar.profile-hero-avatar--loading {
    background: linear-gradient(
        90deg,
        rgba(15, 23, 42, 0.06) 0%,
        rgba(15, 23, 42, 0.14) 45%,
        rgba(15, 23, 42, 0.06) 90%
    );
    background-size: 200% 100%;
}

.profile-game-stat {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.68), rgba(2, 6, 23, 0.76));
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 12px;
    padding: 15px 14px 15px;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 8px;
    justify-content: flex-start;
}
.profile-game-stat:first-child {
    padding-left: 10px;
}
.profile-game-stat-val {
    display: block;
    font-size: 2.35rem;
    line-height: 1.2;
    font-weight: 800;
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.profile-game-stat-label {
    display: block;
    margin-top: 0;
    font-size: 0.82rem;
    color: #9ca3af;
    line-height: 1.35;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: none;
    white-space: normal;
}
@media (max-width: 980px) {
    .profile-stats-band {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .profile-stats-band--aux {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .profile-stats-item:nth-child(3n+1) {
        border-left: none;
    }
    .profile-stats-item {
        border-left: 1px solid rgba(148, 163, 184, 0.14);
    }
}
@media (max-width: 720px) {
    .profile-hero-stat-val {
        font-size: 2.85rem;
    }
    .profile-stats-band,
    .profile-stats-band--aux {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .profile-stats-item:nth-child(2n+1) {
        border-left: none;
    }
}
@media (max-width: 680px) {
    .profile-stats-band,
    .profile-stats-band--aux {
        grid-template-columns: 1fr 1fr;
    }
    .profile-stats-band .profile-stats-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        border-left: none;
    }
}
.profile-settings-card {
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 16px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}
.profile-settings-card h2 {
    margin: 0 0 12px;
    font-size: 1.02rem;
}
.profile-setting-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.site-settings-notify-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}
.site-settings-notify-list .site-chat-toggle-row {
    margin: 0;
}
.profile-badge-seg {
    display: flex;
    gap: 4px;
    padding: 4px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.profile-badge-seg-btn {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: rgba(255, 255, 255, 0.78);
    font: inherit;
    font-size: 0.92rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.profile-badge-seg-btn:hover:not(:disabled):not([aria-checked="true"]) {
    background: rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.92);
}
.profile-badge-seg-btn[aria-checked="true"] {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}
.profile-badge-seg-btn:disabled {
    opacity: 0.38;
    cursor: not-allowed;
}
.profile-badge-seg-ico {
    display: inline-flex;
    line-height: 0;
    flex-shrink: 0;
}
.profile-badge-seg-ico svg {
    display: block;
    width: 16px;
    height: 16px;
}
.profile-badge-seg-ico--vip {
    color: #7dd3fc;
}
.profile-badge-seg-ico--vip[data-vip-tier="standard"],
.profile-badge-seg-ico--vip[data-vip-tier="standart"] {
    color: #7dd3fc;
}
.profile-badge-seg-ico--vip[data-vip-tier="plus"] {
    color: #4ade80;
}
.profile-badge-seg-ico--vip[data-vip-tier="gold"] {
    color: #fde047;
}
.profile-badge-seg-ico--vip[data-vip-tier="diamond"] {
    color: #d8b4fe;
}
.profile-badge-seg-ico--admin {
    color: #f97316;
}
.profile-badge-seg-ico--vip svg path,
.profile-badge-seg-ico--admin svg path {
    fill: currentColor;
}
body.light-theme .profile-badge-seg {
    background: rgba(15, 23, 42, 0.06);
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-badge-seg-btn {
    color: rgba(15, 23, 42, 0.72);
}
body.light-theme .profile-badge-seg-btn:hover:not(:disabled):not([aria-checked="true"]) {
    background: rgba(15, 23, 42, 0.04);
    color: rgba(15, 23, 42, 0.9);
}
body.light-theme .profile-badge-seg-btn[aria-checked="true"] {
    background: rgba(15, 23, 42, 0.1);
    color: #0f172a;
}
.profile-settings-grid-single {
    grid-template-columns: 1fr;
}
.profile-setting-block {
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(167, 139, 250, 0.14);
    border-radius: 12px;
    padding: 14px;
}
.profile-settings-save-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.profile-settings-save-btn {
    margin: 0;
}

.profile-settings-save-msg {
    margin: 0;
}
.profile-setting-actions {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}
.profile-action-btn {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    padding: 10px 16px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    justify-content: center;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.profile-action-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(167, 139, 250, 0.45);
}
.profile-setting-actions .profile-action-btn + .profile-action-btn {
    margin-top: 0;
}
body.light-theme .profile-setting-actions .profile-action-btn,
body.light-theme #profile-discord-connect-btn,
body.light-theme #profile-discord-unlink-btn,
body.light-theme #profile-sync-roles-btn {
    background: #7077f1 !important;
    color: #ffffff !important;
    border: 1px solid #6366f1 !important;
    box-shadow: none !important;
}
body.light-theme .profile-setting-actions .profile-action-btn:hover,
body.light-theme #profile-discord-connect-btn:hover,
body.light-theme #profile-discord-unlink-btn:hover,
body.light-theme #profile-sync-roles-btn:hover {
    background: #666df0 !important;
    color: #ffffff !important;
    border-color: #6366f1 !important;
    box-shadow: none !important;
    transform: none !important;
}
.profile-setting-fields {
    margin-top: 14px;
    display: grid;
    gap: 8px;
}
.profile-field-label {
    font-size: 12px;
    color: #a3a3a3;
    font-weight: 600;
}
.profile-field-input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 8px;
    background: rgba(9, 10, 17, 0.62);
    color: #d1d5db;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13px;
}
.profile-hero-bio-row {
    margin: 2px 0 0;
    max-width: min(100%, 420px);
    min-width: 0;
    order: 2;
}
.profile-hero-head-col .profile-hero-name-row {
    order: 0;
}
.profile-hero-head-col .profile-cs-ban-badge {
    order: 1;
}
.profile-hero-bio-row:not([hidden]) {
    display: block;
}
.profile-hero-bio-trigger,
.profile-hero-bio-text {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.35;
    color: rgba(156, 163, 175, 0.72);
    text-align: left;
    cursor: pointer;
    max-width: 100%;
    word-break: break-word;
    white-space: pre-wrap;
}
.profile-hero-bio-trigger:not([hidden]),
.profile-hero-bio-text:not([hidden]) {
    display: inline;
}
.profile-hero-bio-trigger[hidden],
.profile-hero-bio-text[hidden],
.profile-hero-bio-edit[hidden] {
    display: none !important;
}
.profile-hero-bio-trigger:hover,
.profile-hero-bio-text:hover {
    color: rgba(209, 213, 219, 0.88);
}
.profile-hero-bio-text:not([hidden]) {
    font-style: italic;
    color: rgba(186, 192, 204, 0.78);
}
.profile-hero-bio-text.is-readonly {
    cursor: default;
    font-style: normal;
    color: rgba(209, 213, 219, 0.78);
}
.profile-hero-bio-text.is-readonly:hover {
    color: rgba(209, 213, 219, 0.78);
}
.profile-hero-bio-edit {
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 0;
    background: transparent;
    color: rgba(209, 213, 219, 0.92);
    font: inherit;
    font-size: 0.9rem;
    font-style: italic;
    line-height: 1.35;
    outline: none;
}
.profile-hero-bio-edit:not([hidden]) {
    display: block;
}
.profile-hero-bio-edit:focus {
    border-bottom-color: rgba(165, 180, 252, 0.55);
}
body.light-theme .profile-hero-bio-trigger,
body.light-theme .profile-hero-bio-text {
    color: rgba(26, 31, 51, 0.45);
}
body.light-theme .profile-hero-bio-trigger:hover,
body.light-theme .profile-hero-bio-text:hover {
    color: rgba(26, 31, 51, 0.72);
}
body.light-theme .profile-hero-bio-text.is-readonly,
body.light-theme .profile-hero-bio-text.is-readonly:hover {
    color: rgba(26, 31, 51, 0.72);
    font-style: normal;
}
body.light-theme .profile-hero-bio-edit {
    color: rgba(26, 31, 51, 0.85);
    border-bottom-color: rgba(26, 31, 51, 0.2);
}
body.light-theme .profile-hero-bio-edit:focus {
    border-bottom-color: rgba(79, 70, 229, 0.45);
}

/* Лайки / дизлайки / просмотры профиля */
.profile-hero-card {
    padding-top: 14px;
}
.profile-hero-social {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: none;
    align-items: center;
    gap: 6px;
}
.profile-hero-social:not([hidden]) {
    display: inline-flex;
}
.profile-hero-card:has(.profile-hero-social:not([hidden])) .profile-last-seen,
.profile-hero-card:has(.profile-hero-social:not([hidden])) .profile-registered {
    margin-top: 34px;
}
.profile-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    height: 28px;
    min-height: 28px;
    max-height: 28px;
    padding: 0 10px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(15, 18, 28, 0.72);
    color: rgba(226, 232, 240, 0.88);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.profile-social-btn--views {
    cursor: default;
    pointer-events: none;
}
.profile-social-btn:hover:not(.profile-social-btn--views):not(:disabled) {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
}
.profile-social-btn:disabled {
    opacity: 0.55;
    cursor: default;
}
.profile-social-btn.is-active {
    color: #93c5fd;
    border-color: rgba(96, 165, 250, 0.35);
    background: rgba(37, 99, 235, 0.18);
}
.profile-social-btn-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    line-height: 0;
    color: inherit;
    flex-shrink: 0;
    overflow: hidden;
}
.profile-social-btn-ico .ui-icon,
.profile-social-btn-ico svg {
    width: 14px !important;
    height: 14px !important;
    max-width: 14px;
    max-height: 14px;
    display: block;
    overflow: hidden;
}
.profile-social-btn-count {
    min-width: 0.7em;
    font-size: inherit;
    font-weight: inherit;
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

/* Комментарии разработчиков */
.profile-dev-comments {
    margin-top: 18px;
    padding: 16px 18px 14px;
    border: 1px solid rgba(139, 92, 246, 0.18);
    border-radius: 14px;
    background: rgba(10, 12, 20, 0.35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}
.profile-dev-comments:not([hidden]) {
    display: block;
}
.profile-dev-comments[hidden] {
    display: none !important;
}
.profile-dev-comments-title {
    margin: 0 0 14px;
    font-size: 0.95rem;
    font-weight: 600;
    color: rgba(226, 232, 240, 0.72);
    letter-spacing: 0.01em;
}
.profile-dev-comments-composer {
    display: none;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    margin-bottom: 16px;
}
.profile-dev-comments-composer:not([hidden]) {
    display: grid;
}
.profile-dev-comments-avatar-link {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    line-height: 0;
    text-decoration: none;
    flex-shrink: 0;
}
.profile-dev-comments-avatar-link:hover .profile-dev-comments-avatar,
.profile-dev-comments-avatar-link:focus-visible .profile-dev-comments-avatar {
    opacity: 0.88;
}
.profile-dev-comments-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.06);
}
.profile-dev-comments-input {
    width: 100%;
    min-width: 0;
    height: 40px;
    padding: 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    background: rgba(15, 18, 28, 0.85);
    color: #f1f5f9;
    font-size: 0.92rem;
    outline: none;
}
.profile-dev-comments-input:focus {
    border-color: rgba(96, 165, 250, 0.45);
}
.profile-dev-comments-input::placeholder {
    color: rgba(148, 163, 184, 0.75);
}
.profile-dev-comments-send {
    height: 40px;
    padding: 0 16px;
    border: none;
    border-radius: 10px;
    background: #4f6ef7;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}
.profile-dev-comments-send:hover:not(:disabled) {
    background: #5b7bff;
}
.profile-dev-comments-send:disabled {
    opacity: 0.55;
    cursor: default;
}
.profile-dev-comments-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.profile-dev-comment {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
}
.profile-dev-comment-body {
    min-width: 0;
}
.profile-dev-comment-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 4px;
}
.profile-dev-comment-name {
    font-weight: 600;
    color: #e2e8f0;
    font-size: 0.92rem;
    text-decoration: none;
}
a.profile-dev-comment-name:hover,
a.profile-dev-comment-name:focus-visible {
    color: #93c5fd;
    text-decoration: none;
}
.profile-dev-comment-time {
    font-size: 0.78rem;
    color: rgba(148, 163, 184, 0.85);
}
.profile-dev-comment-text {
    margin: 0;
    color: rgba(241, 245, 249, 0.92);
    font-size: 0.92rem;
    line-height: 1.45;
    white-space: pre-wrap;
    word-break: break-word;
}
.profile-dev-comment-edit {
    width: 100%;
    min-height: 64px;
    margin: 0 0 8px;
    padding: 8px 10px;
    border: 1px solid rgba(96, 165, 250, 0.35);
    border-radius: 8px;
    background: rgba(15, 18, 28, 0.9);
    color: #f1f5f9;
    font: inherit;
    resize: vertical;
}
.profile-dev-comment-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}
.profile-dev-comment-action {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 6px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: rgba(148, 163, 184, 0.9);
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
}
.profile-dev-comment-action:hover {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.05);
}
.profile-dev-comment-action.is-active {
    color: #93c5fd;
}
.profile-dev-comment-action .ui-icon {
    color: inherit;
}
.profile-dev-comments-pager {
    display: none;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 16px;
}
.profile-dev-comments-pager:not([hidden]) {
    display: flex;
}
.profile-dev-comments-page {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(15, 18, 28, 0.72);
    color: rgba(226, 232, 240, 0.85);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.profile-dev-comments-page.is-active {
    background: #4f6ef7;
    border-color: transparent;
    color: #fff;
    cursor: default;
}
.profile-dev-comments-page:disabled {
    opacity: 0.4;
    cursor: default;
}
.profile-dev-comments-ellipsis {
    color: rgba(148, 163, 184, 0.7);
    padding: 0 2px;
}
.profile-dev-comments-empty {
    margin: 4px 0 0;
    color: rgba(148, 163, 184, 0.8);
    font-size: 0.9rem;
}
.profile-dev-comments-closed-note {
    margin: 0 0 10px;
    color: rgba(148, 163, 184, 0.85);
    font-size: 0.88rem;
}
body.light-theme .profile-dev-comments-closed-note {
    color: rgba(71, 85, 105, 0.9);
}
body.light-theme .profile-social-btn {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.08);
    color: rgba(30, 41, 59, 0.88);
}
body.light-theme .profile-social-btn.is-active {
    color: #2563eb;
    background: rgba(37, 99, 235, 0.12);
    border-color: rgba(37, 99, 235, 0.28);
}
body.light-theme .profile-dev-comments {
    background: rgba(255, 255, 255, 0.55);
    border-color: rgba(99, 102, 241, 0.18);
}
body.light-theme .profile-dev-comments-title {
    color: rgba(51, 65, 85, 0.75);
}
body.light-theme .profile-dev-comments-input,
body.light-theme .profile-dev-comment-edit {
    background: #fff;
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.12);
}
body.light-theme .profile-dev-comment-name,
body.light-theme .profile-dev-comment-text {
    color: #0f172a;
}
body.light-theme a.profile-dev-comment-name:hover,
body.light-theme a.profile-dev-comment-name:focus-visible {
    color: #2563eb;
}
@media (max-width: 700px) {
    .profile-hero-social {
        position: static;
        margin: 0 0 10px;
        justify-content: flex-end;
    }
    .profile-hero-card:has(.profile-hero-social:not([hidden])) .profile-last-seen,
    .profile-hero-card:has(.profile-hero-social:not([hidden])) .profile-registered {
        margin-top: 0;
    }
    .profile-dev-comments-composer:not([hidden]) {
        grid-template-columns: 36px minmax(0, 1fr);
    }
    .profile-dev-comments-send {
        grid-column: 2;
        justify-self: end;
    }
}

.profile-setting-title {
    margin: 0;
    font-weight: 600;
}
.profile-setting-note {
    margin: 2px 0 0;
    color: #9ca3af;
    font-size: 0.9rem;
}
.profile-roles-sync-msg {
    margin-top: 10px;
}
.profile-roles-sync-msg--error {
    color: #f87171;
}
@media (max-width: 1200px) {
    .profile-stats-band {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 128px), 1fr));
    }
}
@media (max-width: 900px) {
    .profile-layout {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .profile-side-nav {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        gap: 8px;
        padding: 8px;
        width: 100%;
        max-width: 100%;
        scrollbar-width: none;
    }
    .profile-side-nav::-webkit-scrollbar { display: none; }
    .profile-side-btn {
        flex: 0 0 auto;
        white-space: nowrap;
        min-height: 44px;
        padding: 10px 14px;
    }
    .profile-stats-band {
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr));
    }
    .profile-settings-grid {
        grid-template-columns: 1fr;
    }
    .profile-hero-card {
        padding: 16px 14px;
    }
}

/* Профиль — светлая тема */
body.light-theme .profile-side-nav {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.22);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-side-btn {
    background: #f8fafc;
    color: #374151;
    border: 1px solid rgba(99, 102, 241, 0.14);
}
body.light-theme .profile-side-btn:hover {
    background: #eef2ff;
    color: #1e293b;
    border-color: rgba(99, 102, 241, 0.28);
}
body.light-theme .profile-side-btn.active,
body.light-theme .profile-side-btn.active-emphasis {
    background: var(--btn-gradient-primary);
    color: #ffffff;
    border: var(--btn-border-primary);
    box-shadow: var(--btn-shadow-primary);
}
body.light-theme .profile-hero-card {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.2);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}
body.light-theme .page-content.profile-page h1.profile-hero-name,
body.light-theme .page-content.profile-page h1.profile-hero-name:hover {
    color: #0f172a;
}
body.light-theme .profile-hero-meta,
body.light-theme .profile-hero-meta-fallback,
body.light-theme .profile-hero-admin-status,
body.light-theme .profile-last-seen,
body.light-theme .profile-registered {
    color: #64748b;
}
body.light-theme .profile-hero-link-btn,
body.light-theme .profile-hero-link-btn--steam,
body.light-theme .profile-hero-link-btn--discord {
    color: #64748b;
}
body.light-theme .profile-hero-link-btn:hover,
body.light-theme .profile-hero-link-btn--steam:hover,
body.light-theme .profile-hero-link-btn--discord:hover {
    color: #334155;
}
body.light-theme .profile-hero-link-ext,
body.light-theme .profile-hero-link-ext-ico {
    color: #374151;
}
body.light-theme .profile-hero-link-btn:hover .profile-hero-link-ext,
body.light-theme .profile-hero-link-btn:hover .profile-hero-link-ext-ico {
    color: #111827;
}
body.light-theme .profile-history-card,
body.light-theme .profile-gallery-card {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.18);
}
body.light-theme .profile-history-card h2,
body.light-theme .profile-history-card-title,
body.light-theme .profile-gallery-card-title {
    color: #111827;
}
body.light-theme .profile-hero-link-ico {
    color: #1e293b;
}
body.light-theme .profile-hero-link-btn:hover .profile-hero-link-ico {
    color: #0f172a;
}
body.light-theme .profile-hero-link-tooltip {
    background: rgba(249, 250, 251, 0.98);
    border-color: rgba(15, 23, 42, 0.12);
    color: #111827;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.14);
}
body.light-theme .profile-gallery-item {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-gallery-item-name,
body.light-theme .profile-gallery-fav,
body.light-theme .profile-gallery-page {
    color: #111827;
}
body.light-theme a.profile-gallery-item-author {
    color: #64748b;
}
body.light-theme a.profile-gallery-item-author:hover {
    color: #111827;
}
body.light-theme .profile-gallery-fav--danger {
    color: #fff;
}
body.light-theme .profile-gallery-search {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .profile-gallery-search input {
    color: #111827;
}
body.light-theme .wallet-history-row {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .wallet-history-label {
    color: #1f2937;
}
body.light-theme .wallet-history-page-btn {
    color: rgba(15, 23, 42, 0.82);
}
body.light-theme .wallet-history-page-btn:hover:not(:disabled):not(.is-active) {
    background: rgba(15, 23, 42, 0.06);
}
body.light-theme .wallet-history-page-btn.is-active {
    background: rgba(15, 23, 42, 0.1);
    color: #0f172a;
}

body.light-theme .wallet-history-date {
    color: rgba(15, 23, 42, 0.55);
}
body.light-theme .profile-hero-stat.profile-hero-stat--rank,
body.light-theme .profile-hero-stat.profile-hero-stat--hours {
    background: none;
    border: none;
    box-shadow: none;
}
body.light-theme .profile-hero-stat {
    background: linear-gradient(145deg, rgba(56, 189, 248, 0.18), rgba(37, 99, 235, 0.12));
    border-color: rgba(59, 130, 246, 0.35);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}
body.light-theme .profile-hero-stat-label-top {
    color: #1e40af;
}
body.light-theme .profile-hero-stat-val {
    color: #0f172a;
}
body.light-theme .profile-hero-stat-label,
body.light-theme .profile-hero-stat-unit {
    color: #475569;
}
body.light-theme .profile-stats-board {
    background: transparent;
    border-top-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .profile-stats-band--aux {
    border-top-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-stats-item {
    border-left-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-stats-val {
    color: #0f172a;
}
body.light-theme .profile-stats-label {
    color: #64748b;
}
body.light-theme .profile-stats-item--coins .profile-stats-label {
    color: #4f46e5;
}
body.light-theme .profile-stats-coin-icon {
    color: rgba(15, 23, 42, 0.55);
}
body.light-theme .profile-game-stats {
    border: none;
}
body.light-theme .profile-game-stat {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .profile-game-stat-val {
    color: #0f172a;
}
body.light-theme .profile-game-stat-label {
    color: #64748b;
}
body.light-theme .profile-settings-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}
body.light-theme .profile-settings-card h2 {
    color: #0f172a;
}
body.light-theme .profile-settings-save-row {
    border-top-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .profile-setting-block {
    background: #f8fafc;
    border-color: rgba(99, 102, 241, 0.15);
}
body.light-theme .profile-setting-title {
    color: #1e293b;
}
body.light-theme .profile-setting-note {
    color: #64748b;
}
body.light-theme .profile-field-label {
    color: #475569;
}
body.light-theme .profile-field-input {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.15);
    color: #111827;
}
body.light-theme .profile-field-input::placeholder {
    color: #94a3b8;
}

body.light-theme .apply-mod-wrap {
    background: #f9fafb;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}
body.light-theme .apply-mod-h1,
body.light-theme .apply-mod-label,
body.light-theme .apply-mod-accordion-trigger {
    color: #111827;
}
body.light-theme .apply-mod-h1 {
    color: #0f172a;
}
body.light-theme .apply-mod-hint {
    color: #6b7280;
}
body.light-theme .apply-mod-lead,
body.light-theme .apply-mod-criteria-list {
    color: #4b5563;
}
body.light-theme .apply-mod-subh {
    color: #1f2937;
}
body.light-theme .apply-mod-accordion {
    border-color: rgba(15, 23, 42, 0.12);
    background: #fff;
}
body.light-theme .apply-mod-accordion-panel {
    border-top-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .apply-mod-input,
body.light-theme .apply-mod-textarea {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.15);
    color: #111827;
}
body.light-theme .apply-mod-submit {
    background: linear-gradient(135deg, #6366f1, #7c3aed);
}

/* Страница «Правила» */
.main-content .page-content.rules-page {
    max-width: min(100%, 1240px);
    margin: 0;
    padding: 24px 16px 40px 0;
}
.rules-page {
    max-width: none;
    margin: 0;
    padding: 0;
}
.rules-layout {
    display: grid;
    grid-template-columns: 196px minmax(0, 1fr);
    gap: 14px;
    max-width: none;
    margin: 0;
    align-items: start;
}
.rules-side-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px;
    position: sticky;
    top: 88px;
    background: rgba(14, 15, 22, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}
.rules-side-btn {
    border: 1px solid transparent;
    background: transparent;
    color: #a1a1aa;
    padding: 11px 12px 11px 14px;
    text-align: left;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    cursor: pointer;
    border-radius: 10px;
    transition: color .15s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.rules-side-btn:hover {
    color: #f4f4f5;
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.14);
}
.rules-side-btn.is-active {
    color: #fafafa;
    background: rgba(99, 102, 241, 0.16);
    border-color: rgba(129, 140, 248, 0.42);
    box-shadow: inset 4px 0 0 #818cf8;
}
.rules-main {
    min-width: 0;
}
.rules-panel {
    display: none;
}
.rules-panel.is-active {
    display: block;
}
.rules-page > .rules-page-inner {
    max-width: 820px;
    margin: 0 auto;
}
.rules-page-inner {
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    padding: 28px 28px 32px;
    background: rgba(18, 19, 28, 0.72);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.32);
}
.rules-hero {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.rules-h1 {
    margin: 0 0 12px;
    font-size: clamp(1.75rem, 3vw, 2rem);
    font-weight: 700;
    color: #fafafa;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    border: none !important;
    animation: none !important;
    text-shadow: none !important;
    padding: 0 !important;
}
.rules-lead {
    margin: 0;
    font-size: 1rem;
    line-height: 1.6;
    color: #a1a1aa;
}
.rules-block {
    margin-bottom: 26px;
}
.rules-block:last-of-type {
    margin-bottom: 0;
}
.rules-h2 {
    margin: 0 0 12px;
    font-size: 1.15rem;
    font-weight: 600;
    color: #e4e4e7;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    border: none !important;
    animation: none !important;
    text-shadow: none !important;
}
.rules-list {
    margin: 0;
    padding-left: 1.25em;
    color: #d4d4d8;
    font-size: 0.95rem;
    line-height: 1.65;
}
.rules-list li {
    margin: 8px 0;
}
.rules-list--items {
    list-style: none;
    padding: 0;
    margin: 0;
    counter-reset: rules-item;
    --rules-item-text-size: 0.95rem;
    --rules-item-text-lh: 1.65;
    --rules-item-first-line-h: calc(var(--rules-item-text-size) * var(--rules-item-text-lh));
}
.rules-list--items > .rules-item {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: 14px;
    margin: 0 0 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    counter-increment: rules-item;
}
.rules-list--items > .rules-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}
.rules-item-num {
    flex: 0 0 2.25rem;
    text-align: right;
    padding: 0;
    line-height: var(--rules-item-text-lh);
    font-size: var(--rules-item-text-size);
    font-weight: 700;
    color: #e4e4e7;
}
.rules-item-num::before {
    content: counter(rules-item);
}
.rules-item-body {
    flex: 1 1 auto;
    min-width: 0;
}
.rules-item-text {
    margin: 0;
    color: #d4d4d8;
    font-size: var(--rules-item-text-size, 0.95rem);
    line-height: var(--rules-item-text-lh, 1.65);
}
.rules-item-term {
    margin: 10px 0 0;
    color: #7e95fb!important;
    font-size: 0.92rem;
    font-weight: 500;
    line-height: 1.5;
}
.rules-item-term + .rules-item-term {
    margin-top: 4px;
}
.rules-p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.65;
    color: #d4d4d8;
}
.rules-footnote {
    margin: 28px 0 0;
    padding-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.85rem;
    line-height: 1.5;
    color: #71717a;
}

body.light-theme .rules-page-inner {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.08);
}
body.light-theme .rules-h1 {
    color: #0f172a;
}
body.light-theme .rules-lead {
    color: #64748b;
}
body.light-theme .rules-h2 {
    color: #1e293b;
}
body.light-theme .rules-list {
    color: #94a3b8;
}
body.light-theme .rules-list,
body.light-theme .rules-p {
    color: #334155!important;
}
body.light-theme .rules-item-text {
    color: #334155!important;
}
body.light-theme .rules-item-num {
    color: #1e293b;
}
body.light-theme .rules-item-term {
    color: #2563eb!important;
}
body.light-theme .rules-list--items > .rules-item {
    border-bottom-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .rules-footnote {
    color: #94a3b8;
    border-top-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .rules-hero {
    border-bottom-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .rules-side-btn {
    color: #64748b;
}
body.light-theme .rules-side-nav {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.14);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}
body.light-theme .rules-side-btn:hover {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.05);
    border-color: rgba(15, 23, 42, 0.12);
}
body.light-theme .rules-side-btn.is-active {
    color: #1e1b4b;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.35);
    box-shadow: inset 4px 0 0 #6366f1;
}

@media (max-width: 768px) {
    .main-content .page-content.rules-page {
        padding: 16px 0 32px;
    }
    .rules-layout {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .rules-side-nav {
        position: static;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px;
        padding: 10px;
    }
    .rules-side-btn {
        width: auto;
        padding: 9px 12px;
        font-size: 13px;
        box-shadow: none;
    }
    .rules-side-btn.is-active {
        box-shadow: inset 0 -3px 0 #818cf8;
    }
    body.light-theme .rules-side-btn.is-active {
        box-shadow: inset 0 -3px 0 #6366f1;
    }
}

/* Магазин — светлая тема */
body.light-theme .shop-page {
    color: #1e293b;
}
body.light-theme .shop-page-inner {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}
body.light-theme .shop-page-title {
    color: #b91c1c;
}
body.light-theme .shop-page-lead,
body.light-theme .shop-placeholder,
body.light-theme .shop-section-note {
    color: #64748b;
}
body.light-theme .shop-tabs {
    border-bottom-color: rgba(15, 23, 42, 0.12);
}
body.light-theme .shop-tab {
    background: #f1f5f9;
    color: #475569;
    border-color: transparent;
}
body.light-theme .shop-tab:hover:not(:disabled) {
    border-color: rgba(99, 102, 241, 0.35);
    color: #1e293b;
}
body.light-theme .shop-tab.is-active {
    background: rgba(99, 102, 241, 0.14);
    border-color: rgba(99, 102, 241, 0.45);
    color: #312e81;
}
body.light-theme .shop-section-title {
    color: #1e293b;
}
body.light-theme .shop-section-note code {
    color: #4338ca;
}
body.light-theme .shop-admin-card {
    background: linear-gradient(165deg, #f8fafc, #eef2ff);
    border-color: rgba(99, 102, 241, 0.22);
}
body.light-theme .shop-admin-card--t1 .shop-admin-card-title { color: #15803d; }
body.light-theme .shop-admin-card--t2 .shop-admin-card-title { color: #0369a1; }
body.light-theme .shop-admin-card--t3 .shop-admin-card-title { color: #7e22ce; }
body.light-theme .shop-vip-card--standard .shop-vip-card-title { color: #0369a1; }
body.light-theme .shop-vip-card--plus .shop-vip-card-title { color: #15803d; }
body.light-theme .shop-vip-card--gold .shop-vip-card-title { color: #a16207; }
body.light-theme .shop-vip-card--diamond .shop-vip-card-title { color: #7e22ce; }
body.light-theme .shop-admin-card-brand {
    filter: none;
}
body.light-theme .shop-admin-card-price {
    color: #64748b;
}
body.light-theme .shop-price-from {
    color: #0f172a;
}
body.light-theme .shop-price-label {
    color: #94a3b8;
}
body.light-theme .shop-admin-card-btn {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.35);
    color: #3730a3;
}
body.light-theme .shop-admin-card-btn:hover {
    background: rgba(99, 102, 241, 0.22);
}
body.light-theme .shop-vip-card {
    background: linear-gradient(165deg, #f8fafc, #eef2ff);
    border-color: rgba(99, 102, 241, 0.22);
}
body.light-theme .shop-vip-card-title {
    color: #0f172a;
}
body.light-theme .shop-vip-card-brand {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 14px 8px;
    border-radius: 12px;
    background: linear-gradient(165deg, rgba(22, 26, 42, 0.94), rgba(12, 14, 24, 0.9));
    border: 1px solid rgba(99, 102, 241, 0.18);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 6px 16px rgba(15, 23, 42, 0.1);
    filter: none;
}
body.light-theme .shop-vip-card-price {
    color: #64748b;
}
body.light-theme .shop-vip-card-btn {
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.35);
    color: #3730a3;
}
body.light-theme .shop-vip-card-btn:hover {
    background: rgba(99, 102, 241, 0.22);
}

/* Страница модерации: боковая навигация */
.mod-layout {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 22px;
    margin-top: 10px;
}
/* Если левая колонка удалена, контент должен занимать всю ширину */
.mod-layout > .mod-tab-content-wrap:only-child {
    grid-column: 1 / -1;
}
.mod-side-tabs {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.mod-side-tab {
    text-align: left;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.03);
    color: #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    font-family: inherit;
    cursor: pointer;
}
.mod-side-tab.active {
    background: rgba(139, 92, 246, 0.2);
    border-color: rgba(139, 92, 246, 0.4);
    color: #f5f3ff;
}
.mod-tab-content { display: none; }
.mod-tab-content.active { display: block; }
.mod-rules-list { margin: 0; padding-left: 18px; line-height: 1.6; }

/* «Мои блокировки» — дашборд как на референсе */
.mod-page .mod-layout {
    margin-top: 0;
}
.mod-dashboard {
    background: rgba(18, 18, 24, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
}
.mod-dashboard-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 16px;
    padding: 16px 18px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.mod-admin-actions-cell {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-start;
}
.mod-admin-toolbar-btn {
    font-size: 0.85rem;
    padding: 6px 10px;
}
.mod-admin-manage-toolbar {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 8px 0 12px;
}
.mod-admin-manage-stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.mod-admin-manage-chip {
    border: 1px solid rgba(129, 140, 248, 0.35);
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.78), rgba(15, 23, 42, 0.62));
    color: #dbeafe;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.82rem;
}
.mod-admin-manage-ladder {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    width: 100%;
}
.mod-admin-ladder-caption {
    color: #93c5fd;
    font-size: 0.8rem;
    font-weight: 700;
    margin-right: 4px;
}
.mod-admin-ladder-item {
    display: inline-flex;
    align-items: center;
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(167, 139, 250, 0.35);
    background: rgba(49, 46, 129, 0.22);
    color: #ddd6fe;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 0.76rem;
    white-space: nowrap;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.mod-admin-ladder-item:hover {
    transform: translateY(-1px);
    border-color: rgba(125, 211, 252, 0.45);
}
.mod-admin-ladder-item.active {
    border-color: rgba(56, 189, 248, 0.65);
    background: linear-gradient(180deg, rgba(37, 99, 235, 0.45), rgba(30, 64, 175, 0.5));
    color: #eff6ff;
}
.mod-admin-manage-search {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid rgba(129, 140, 248, 0.4);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(2, 6, 23, 0.74));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03), 0 10px 22px rgba(2, 6, 23, 0.35);
    padding: 0 12px;
    min-width: 300px;
    position: relative;
}
.mod-admin-manage-search:focus-within {
    border-color: rgba(56, 189, 248, 0.55);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.18), 0 10px 24px rgba(2, 6, 23, 0.38);
}
.mod-admin-manage-search-ico {
    color: #93c5fd;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: rgba(56, 189, 248, 0.14);
}
.mod-admin-manage-search input {
    border: 0;
    outline: 0;
    background: transparent;
    color: #f1f5f9;
    font: inherit;
    padding: 9px 0;
    width: 100%;
}
.mod-admin-manage-search input::placeholder {
    color: rgba(191, 219, 254, 0.75);
}
.mod-admin-manage-cards {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.mod-admin-manage-card {
    border: 1px solid rgba(148, 163, 184, 0.25);
    border-radius: 12px;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.7), rgba(2, 6, 23, 0.72));
    padding: 12px;
}
.mod-admin-manage-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}
.mod-admin-manage-card-head h3 {
    margin: 0;
    font-size: 0.98rem;
    color: #f8fafc;
}
.mod-admin-manage-role {
    color: #c4b5fd;
    font-size: 0.8rem;
}
.mod-admin-manage-card p {
    margin: 4px 0;
    color: #cbd5e1;
    font-size: 0.88rem;
}
.mod-admin-card-actions-wrap {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.mod-admin-card-more {
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: rgba(15, 23, 42, 0.6);
    color: #e2e8f0;
    border-radius: 10px;
    width: 38px;
    height: 30px;
    cursor: pointer;
    font-weight: 800;
    letter-spacing: 1px;
}
.mod-admin-card-actions {
    width: 100%;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateY(-6px);
    transition: max-height .25s ease, opacity .2s ease, transform .2s ease;
}
.mod-admin-manage-card.actions-open .mod-admin-card-actions {
    max-height: 220px;
    opacity: 1;
    transform: translateY(0);
}
.mod-admin-manage-table-wrap {
    display: none !important;
}

@media (max-width: 920px) {
    .mod-admin-manage-search {
        min-width: 100%;
    }
    .mod-admin-manage-cards {
        grid-template-columns: 1fr;
    }
    .mod-admin-manage-ladder {
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 3px;
    }
}
.mod-dashboard-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f9fafb;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.mod-dashboard-title-icon {
    font-size: 1.35rem;
    line-height: 1;
}
.mod-dashboard-subtabs {
    display: inline-flex;
    gap: 8px;
    padding: 4px;
    background: rgba(0, 0, 0, 0.35);
    border-radius: 10px;
}
.mod-subtab {
    border: none;
    background: transparent;
    color: #9ca3af;
    font-family: inherit;
    font-size: 0.86rem;
    font-weight: 600;
    padding: 7px 12px;
    border-radius: 9px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}
.mod-subtab:hover {
    color: #e5e7eb;
}
.mod-subtab.active {
    background: rgba(55, 65, 81, 0.9);
    color: #f9fafb;
}

/* Управление игроками: табы + «Добавить блокировку» (референс — тёмные pill, плюс справа) */
.mod-player-manage-toolbar {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    padding: 14px 18px 12px;
}
.mod-player-manage-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    width: 100%;
}
.mod-reports-toolbar-row .mod-dashboard-title {
    flex: 1 1 auto;
    min-width: 0;
}
.mod-reports-sound-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-left: auto;
    padding: 8px 14px;
    border: 1px solid rgba(129, 140, 248, 0.35);
    border-radius: 10px;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.78), rgba(15, 23, 42, 0.62));
    color: #dbeafe;
    font-family: inherit;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.25;
    transition: filter 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.mod-reports-sound-toggle:hover {
    filter: brightness(1.08);
    border-color: rgba(165, 180, 252, 0.5);
}
.mod-reports-sound-toggle:not(.is-active) {
    opacity: 0.62;
    border-color: rgba(148, 163, 184, 0.28);
    color: rgba(203, 213, 225, 0.82);
}
.mod-reports-sound-toggle:not(.is-active) .mod-reports-sound-label {
    text-decoration: line-through;
    text-decoration-color: rgba(248, 113, 113, 0.75);
}
.mod-reports-sound-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.light-theme .mod-reports-sound-toggle {
    border-color: rgba(99, 102, 241, 0.28);
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95), rgba(241, 245, 249, 0.9));
    color: #334155;
}
body.light-theme .mod-reports-sound-toggle:not(.is-active) {
    color: #64748b;
}
.mod-player-manage-tabs {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 1 1 auto;
    min-width: 0;
}
.mod-player-manage-toolbar .mod-player-tab.mod-subtab {
    margin: 0;
    border: 1px solid transparent;
    background: transparent;
    color: rgba(226, 232, 240, 0.88);
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 10px;
    cursor: pointer;
    line-height: 1.25;
    box-shadow: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.mod-player-manage-toolbar .mod-player-tab.mod-subtab:hover {
    color: #f8fafc;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(139, 92, 246, 0.22);
}
.mod-player-manage-toolbar .mod-player-tab.mod-subtab.active {
    background: linear-gradient(145deg, rgba(55, 48, 163, 0.55), rgba(91, 33, 182, 0.45));
    border-color: rgba(167, 139, 250, 0.45);
    color: #faf5ff;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.15), 0 8px 22px rgba(0, 0, 0, 0.35);
    opacity: 1;
}
.mod-player-tab-count {
    font-weight: 600;
    white-space: nowrap;
    opacity: 0.88;
}
.mod-player-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-left: auto;
    padding: 10px 20px;
    border: 1px solid rgba(52, 211, 153, 0.35);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.55), rgba(5, 150, 105, 0.65));
    color: #ecfdf5;
    font-family: inherit;
    font-size: 0.94rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.25;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.2);
    transition: filter 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}
.mod-player-action-btn:hover {
    filter: brightness(1.06);
    border-color: rgba(110, 231, 183, 0.55);
}
.mod-player-action-btn:active {
    transform: translateY(1px);
}
.mod-player-action-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
}

.mod-moderation-message {
    padding: 0 18px 12px;
    margin: 0;
}
.mod-moderation-message .form-note {
    margin: 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.9rem;
}
.mod-subpanel {
    display: none;
    padding: 0 0 16px;
}
.mod-subpanel.active {
    display: block;
}
.mod-table-scroll {
    overflow-x: auto;
    margin: 0 8px 12px;
}
.mod-data-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9rem;
}
.mod-data-table thead th {
    text-align: left;
    color: rgba(255, 255, 255, 0.45);
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    white-space: nowrap;
}
.mod-data-table tbody td {
    padding: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    color: #e5e7eb;
    vertical-align: middle;
}
.mod-sanction-reason-cell {
    vertical-align: middle;
    line-height: 1.35;
}
.mod-sanction-reason-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 12px;
    min-height: 32px;
}
.mod-sanction-reason-text {
    flex: 1 1 auto;
    min-width: 0;
    word-break: break-word;
}
.mod-sanction-lift-wrap {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    margin-left: 0;
}
.mod-sanction-lift-btn.action-btn {
    padding: 7px 14px;
    border-radius: 9px;
    border: 1px solid rgba(134, 239, 172, 0.38);
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.78), rgba(5, 150, 105, 0.88));
    color: #ecfdf5;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 3px 12px rgba(16, 185, 129, 0.24);
}
.mod-sanction-lift-btn.action-btn:hover {
    background: linear-gradient(135deg, rgba(74, 222, 128, 0.88), rgba(22, 163, 74, 0.92));
    border-color: rgba(167, 243, 208, 0.55);
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(16, 185, 129, 0.32);
}
body.light-theme .mod-sanction-lift-btn.action-btn {
    color: #064e3b;
    border-color: rgba(16, 185, 129, 0.45);
    background: linear-gradient(135deg, rgba(52, 211, 153, 0.92), rgba(16, 185, 129, 0.88));
}
.mod-data-table tbody tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}
.mod-table-placeholder {
    text-align: center;
    color: rgba(255, 255, 255, 0.45);
    padding: 28px 12px !important;
}
.mod-table-placeholder.mod-table-empty {
    padding: 48px 12px !important;
    border-bottom: none;
}
.mod-table-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.mod-table-empty-icon {
    width: 40px;
    height: 40px;
    color: rgba(255, 255, 255, 0.32);
}
.mod-table-empty-text {
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.9rem;
    line-height: 1.35;
}
.mod-data-table tbody tr:has(.mod-table-empty) td,
.mod-data-table tbody tr:has(.mod-table-empty):hover td {
    background: transparent !important;
}
.mod-id-cell {
    font-size: 0.85rem;
    color: #93c5fd;
    background: rgba(30, 58, 138, 0.25);
    padding: 2px 8px;
    border-radius: 6px;
}
.mod-user-cell {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    word-break: normal;
    color: inherit;
    text-decoration: none;
}
.mod-user-cell:visited {
    color: inherit;
}
.mod-sanction-profile-cell .mod-user-cell:hover .mod-user-name {
    color: #c4b5fd;
    text-decoration: none;
}
.mod-user-avatar {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(15, 23, 42, 0.6);
    flex: 0 0 22px;
}
.mod-sanction-avatar,
.players-history-name-link img,
.mod-freeze-issuer img {
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.mod-sanction-avatar {
    border: 1px solid rgba(148, 163, 184, 0.45);
    background: rgba(15, 23, 42, 0.6);
}
.mod-user-name {
    word-break: break-word;
}
.mod-row-open-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    text-align: left;
}
.mod-row-open-btn:hover .mod-user-name {
    color: #c4b5fd;
    text-decoration: underline;
}
.mod-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    font-weight: 600;
}
.mod-status-active {
    color: #f87171;
}
.mod-status-expired {
    color: #4ade80;
}
.mod-status-ico {
    font-size: 1rem;
}
.mod-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px 16px;
}
.mod-page-btn {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(0, 0, 0, 0.35);
    color: #e5e7eb;
    font-family: inherit;
    font-size: 0.9rem;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.mod-page-btn:hover:not(:disabled) {
    background: rgba(55, 65, 81, 0.85);
}
.mod-page-btn:disabled {
    opacity: 0.35;
    cursor: default;
}
.mod-page-btn.is-active {
    background: rgba(75, 85, 99, 0.95);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.mod-page-btn--ellipsis {
    pointer-events: none;
    cursor: default;
    opacity: 0.65;
    min-width: 28px;
    border-color: transparent;
    background: transparent;
}
.mod-mutes-body {
    padding: 24px 18px;
    color: rgba(255, 255, 255, 0.7);
    line-height: 1.55;
}

body.light-theme .mod-dashboard {
    background: #f9fafb;
    border-color: rgba(15, 23, 42, 0.12);
}
body.light-theme .mod-dashboard-toolbar {
    border-bottom-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .mod-dashboard-title {
    color: #111827;
}
body.light-theme .mod-dashboard-subtabs {
    background: #e5e7eb;
}
body.light-theme .mod-subtab {
    color: #4b5563;
}
body.light-theme .mod-subtab.active {
    background: #fff;
    color: #111827;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
}
body.light-theme .mod-player-manage-toolbar .mod-player-tab.mod-subtab {
    color: #334155;
}
body.light-theme .mod-player-manage-toolbar .mod-player-tab.mod-subtab:hover {
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.25);
    color: #1e293b;
}
body.light-theme .mod-player-manage-toolbar .mod-player-tab.mod-subtab.active,
body.light-theme .mod-player-manage-toolbar .mod-player-tab.mod-subtab.active:hover {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #ffffff;
}
body.light-theme .mod-player-manage-toolbar .mod-player-tab.mod-subtab.active:hover {
    background: var(--tab-gradient-active-hover);
}
body.light-theme .mod-player-action-btn {
    background: linear-gradient(135deg, rgba(52, 211, 153, 0.85), rgba(16, 185, 129, 0.95));
    color: #022c22;
    border-color: rgba(5, 150, 105, 0.45);
}
body.light-theme .mod-player-action-btn:hover {
    filter: brightness(0.98);
}
body.light-theme .mod-data-table thead th {
    color: #6b7280;
    border-bottom-color: rgba(15, 23, 42, 0.12);
}
body.light-theme .mod-data-table tbody td {
    color: #111827;
    border-bottom-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .mod-data-table tbody tr:hover td {
    background: rgba(243, 244, 246, 0.9);
}
body.light-theme .mod-page-btn {
    background: #fff;
    border-color: rgba(15, 23, 42, 0.15);
    color: #111827;
}
body.light-theme .mod-page-btn.is-active {
    background: #e5e7eb;
}

/* «Общие блокировки» и mod-layout-ref */
body.light-theme .mod-side-ref {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}
body.light-theme .mod-ref-link {
    background: #f8fafc;
    color: #374151;
    border: 1px solid rgba(99, 102, 241, 0.14);
}
body.light-theme .mod-ref-link:hover {
    background: #eef2ff;
    color: #1e293b;
    border-color: rgba(99, 102, 241, 0.28);
}
body.light-theme .mod-side-ref .mod-ref-link.active[data-mod-section-link],
body.light-theme .mod-side-ref .mod-ref-link.active[data-mod-section-link]:hover {
    background: var(--mod-section-tab-gradient-active);
    border: var(--mod-section-tab-border-active);
    box-shadow: var(--mod-section-tab-shadow-active);
    color: #ffffff;
}
body.light-theme .mod-side-ref .mod-ref-link.active[data-mod-section-link]:hover {
    background: var(--mod-section-tab-gradient-active-hover);
}
body.light-theme .mod-layout-ref .mod-tab-content-wrap {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
    overflow: hidden;
}
body.light-theme .mod-layout-ref .mod-dashboard-toolbar {
    background: #f9fafb;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1);
}

/* Светлая тема: мод-панели без тёмных блоков */
body.light-theme #mod-panel-tickets,
body.light-theme #mod-panel-bypass,
body.light-theme #mod-panel-admin-roster,
body.light-theme #mod-panel-freezes {
    background: transparent;
    border: none;
    box-shadow: none;
    margin: 0;
    padding: 0 0 16px;
}

body.light-theme .mod-feature-note {
    background: transparent;
    border: none;
    color: #475569;
}

body.light-theme #mod-panel-bypass .form-group input,
body.light-theme #mod-bypass-search {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.18) !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    caret-color: #111827;
}

body.light-theme #mod-panel-bypass .form-group input::placeholder,
body.light-theme #mod-bypass-search::placeholder {
    color: #9ca3af;
    -webkit-text-fill-color: #9ca3af;
}

body.light-theme #mod-bypass-search:-webkit-autofill,
body.light-theme #mod-bypass-search:-webkit-autofill:focus,
body.light-theme #mod-panel-bypass .form-group input:-webkit-autofill,
body.light-theme #mod-panel-bypass .form-group input:-webkit-autofill:focus {
    -webkit-text-fill-color: #111827 !important;
    -webkit-box-shadow: 0 0 0 1000px #ffffff inset !important;
    box-shadow: 0 0 0 1000px #ffffff inset !important;
    caret-color: #111827;
}

body.light-theme .mod-table-placeholder {
    color: #64748b !important;
}
body.light-theme .mod-table-empty-icon {
    color: rgba(100, 116, 139, 0.55);
}
body.light-theme .mod-table-empty-text {
    color: #64748b;
}

body.light-theme .game-ticket-left,
body.light-theme .game-ticket-center,
body.light-theme .game-ticket-right .game-ticket-side-block {
    background: #f9fafb;
    border-color: rgba(15, 23, 42, 0.12);
    color: #111827;
}

body.light-theme .game-ticket-chat-title,
body.light-theme .game-ticket-side-title,
body.light-theme .game-ticket-verdict-title {
    color: #111827;
}

body.light-theme .game-ticket-chat-empty,
body.light-theme .game-ticket-side-empty {
    color: #64748b;
}

body.light-theme .game-ticket-verdict-list label {
    color: #374151;
}

body.light-theme .game-ticket-verdict-option {
    background: rgba(15, 23, 42, 0.03);
    border-color: rgba(15, 23, 42, 0.1);
}

body.light-theme .game-ticket-verdict-option:has(input:checked) {
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.35);
}

body.light-theme .game-ticket-verdict-option-text { color: #1e293b; }

body.light-theme .game-ticket-custom-verdict-wrap {
    background: rgba(248, 250, 252, 0.9);
    border-color: rgba(99, 102, 241, 0.22);
}

body.light-theme .game-ticket-custom-verdict-label { color: #475569; }

body.light-theme #game-ticket-custom-verdict,
body.light-theme .game-ticket-custom-verdict-input {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.18);
    border-radius: 10px;
    color: #111827;
    padding: 10px 12px;
}

body.light-theme .game-ticket-custom-verdict-hint { color: #64748b; }

body.light-theme .game-ticket-meta-row {
    background: rgba(248, 250, 252, 0.9);
    border-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .game-ticket-meta-value,
body.light-theme .game-ticket-chat-text { color: #1e293b; }
body.light-theme .game-ticket-chat-channel--all { color: #2563eb; }
body.light-theme .game-ticket-chat-channel--team { color: #15803d; }
body.light-theme .game-ticket-chat-name { color: #334155; }

body.light-theme .game-ticket-chat-msg,
body.light-theme .game-ticket-ban-item {
    background: rgba(248, 250, 252, 0.95);
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .game-ticket-ban-project { color: #1e293b; }
body.light-theme a.game-ticket-ban-project:hover { color: #2563eb; }
body.light-theme .game-ticket-ban-reason { color: #475569; }
body.light-theme .game-ticket-ban-type { color: #334155; }
body.light-theme .game-ticket-ban-sources { border-top-color: rgba(15, 23, 42, 0.08); }

body.light-theme .report-ticket-standalone .report-ticket-bypass-panel {
    border-top-color: rgba(15, 23, 42, 0.1);
}

body.light-theme .report-ticket-bypass-panel .game-ticket-side-title {
    color: #111827;
}

#global-blocks-note.global-blocks-note {
    margin: 0;
    padding: 10px 18px 14px;
    font-size: 0.85rem;
    line-height: 1.45;
    color: #9ca3af;
}
body.light-theme #global-blocks-content #global-blocks-note.global-blocks-note {
    color: #64748b !important;
    padding: 12px 18px 16px;
    background: #ffffff;
}

/* Общие блокировки (/bans, /mutes) и топ игроков (/top) */
#global-blocks-content .gb-shell,
#top-players-content .gb-shell {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}
#global-blocks-content .gb-header,
#top-players-content .gb-header {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 14px 20px;
    padding: 18px 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
#global-blocks-content .gb-title,
#top-players-content .gb-title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.35rem;
    font-weight: 700;
    color: #f9fafb;
}
#global-blocks-content .gb-subtitle,
#top-players-content .gb-subtitle {
    margin: 6px 0 0;
    font-size: 0.88rem;
    color: #9ca3af;
}
#global-blocks-content .gb-seg,
#top-players-content .gb-seg {
    display: inline-flex;
    gap: 4px;
    padding: 4px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}
#global-blocks-content .gb-seg-btn,
#top-players-content .gb-seg-btn {
    border: none;
    background: transparent;
    color: #9ca3af;
    font-family: inherit;
    font-size: 0.9rem;
    font-weight: 650;
    padding: 8px 16px;
    border-radius: 9px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}
#global-blocks-content .gb-seg-btn:hover,
#top-players-content .gb-seg-btn:hover {
    color: #e5e7eb;
}
#global-blocks-content .gb-seg-btn.active,
#top-players-content .gb-seg-btn.active {
    background: rgba(99, 102, 241, 0.28);
    color: #eef2ff;
    box-shadow: inset 0 0 0 1px rgba(129, 140, 248, 0.35);
}
#global-blocks-content .gb-toolbar,
#top-players-content .gb-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    padding: 12px 18px 8px;
}
#global-blocks-content .gb-search,
#top-players-content .gb-search {
    position: relative;
    flex: 1 1 240px;
    max-width: 420px;
    display: flex;
    align-items: center;
}
#global-blocks-content .gb-search-ico,
#top-players-content .gb-search-ico {
    position: absolute;
    left: 12px;
    display: inline-flex;
    opacity: 0.55;
    pointer-events: none;
}
#global-blocks-content .gb-search input,
#top-players-content .gb-search input {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px 10px 40px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.28);
    color: #f3f4f6;
    font-family: inherit;
    font-size: 0.9rem;
}
#global-blocks-content .gb-search input::placeholder,
#top-players-content .gb-search input::placeholder {
    color: #6b7280;
}
#global-blocks-content .gb-search input:focus,
#top-players-content .gb-search input:focus {
    outline: none;
    border-color: rgba(129, 140, 248, 0.55);
}
#global-blocks-content .gb-note,
#top-players-content .gb-note {
    margin: 0;
    margin-left: auto;
    font-size: 0.84rem;
    color: #9ca3af;
    white-space: nowrap;
}
#global-blocks-content .gb-panel[hidden] {
    display: none !important;
}
#global-blocks-content .gb-table-card {
    margin: 4px 12px 16px;
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: auto;
    max-height: min(70vh, 820px);
}
#global-blocks-content .gb-table {
    margin: 0;
}
#global-blocks-content .gb-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: transparent;
    backdrop-filter: none;
}
#global-blocks-content .gb-table tbody tr.gb-row--expired td {
    opacity: 0.72;
}
#global-blocks-content .gb-date-cell {
    white-space: nowrap;
    color: #9ca3af;
    font-variant-numeric: tabular-nums;
}

body.light-theme #global-blocks-content .gb-title,
body.light-theme #top-players-content .gb-title {
    color: #111827;
}
body.light-theme #global-blocks-content .gb-subtitle,
body.light-theme #global-blocks-content .gb-note,
body.light-theme #top-players-content .gb-subtitle,
body.light-theme #top-players-content .gb-note {
    color: #64748b;
}
body.light-theme #global-blocks-content .gb-header,
body.light-theme #top-players-content .gb-header {
    border-bottom-color: rgba(15, 23, 42, 0.08);
}
body.light-theme #global-blocks-content .gb-seg,
body.light-theme #top-players-content .gb-seg {
    background: #f1f5f9;
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme #global-blocks-content .gb-seg-btn,
body.light-theme #top-players-content .gb-seg-btn {
    color: #64748b;
}
body.light-theme #global-blocks-content .gb-seg-btn.active,
body.light-theme #top-players-content .gb-seg-btn.active {
    background: #ffffff;
    color: #1e293b;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}
body.light-theme #global-blocks-content .gb-search input,
body.light-theme #top-players-content .gb-search input {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    color: #0f172a;
}
body.light-theme #global-blocks-content .gb-table-card {
    background: transparent;
    border: none;
}
body.light-theme #global-blocks-content .gb-table thead th {
    background: transparent;
}

@media (max-width: 720px) {
    #global-blocks-content .gb-header,
    #top-players-content .gb-header {
        padding: 14px 12px 12px;
    }
    #global-blocks-content .gb-toolbar,
    #top-players-content .gb-toolbar {
        padding: 10px 12px 6px;
    }
    #global-blocks-content .gb-note,
    #top-players-content .gb-note {
        margin-left: 0;
        width: 100%;
        white-space: normal;
    }
    #global-blocks-content .gb-seg,
    #top-players-content .gb-seg {
        width: 100%;
    }
    #global-blocks-content .gb-seg-btn,
    #top-players-content .gb-seg-btn {
        flex: 1 1 0;
        text-align: center;
    }
    #global-blocks-content .gb-table-card {
        margin: 4px 8px 12px;
        max-height: none;
    }
    #top-players-content .lb-table-card {
        margin: 4px 8px 12px;
    }
}

@media (max-width: 900px) {
    .mod-layout { grid-template-columns: 1fr; }
    .mod-side-tabs { flex-direction: row; flex-wrap: wrap; }
    .home-side-panel-inner { width: 100%; }
    .home-side-panel-btn { width: 100%; min-width: 0; }
}

@media (max-width: 480px) {
    .top-header {
        padding: 0 10px 0 12px;
    }
    .header-user-block .btn-login {
        font-size: 12px;
        padding: 8px 12px;
    }
    .header-username {
        max-width: 72px;
    }
    .main-content {
        padding: 12px 10px 20px 12px;
    }
    .page-content h1 {
        font-size: 1.35rem;
    }
    .nav-dropdown .nav-dropdown-item {
        padding: 12px 16px;
    }
    .modal-content {
        width: calc(100% - 16px);
        margin: 8px;
        padding: 16px 12px;
    }
}

.game-ticket-shell {
    margin-bottom: 14px;
}

.game-ticket-head-actions {
    display: flex;
    gap: 8px;
}

.game-ticket-layout {
    display: grid;
    grid-template-columns: 1.2fr 1.4fr 1fr;
    gap: 12px;
}

.game-ticket-left,
.game-ticket-center,
.game-ticket-right .game-ticket-side-block {
    background: rgba(11, 13, 24, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px;
}

.game-ticket-verdict { margin-top: 14px; }
.game-ticket-verdict-title { font-weight: 700; margin-bottom: 8px; }
.game-ticket-verdict-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
.game-ticket-verdict-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
    cursor: pointer;
    font-size: 14px;
    transition: border-color 0.15s ease, background 0.15s ease;
}
.game-ticket-verdict-option:has(input:checked) {
    border-color: rgba(109, 124, 242, 0.55);
    background: rgba(109, 124, 242, 0.14);
}
.game-ticket-verdict-option input { margin-top: 3px; accent-color: #6d7cf2; flex-shrink: 0; }
.game-ticket-verdict-option-text { line-height: 1.35; color: #e8ecf8; }
.game-ticket-custom-verdict-wrap {
    margin-bottom: 12px;
    padding: 12px;
    border-radius: 10px;
    border: 1px dashed rgba(109, 124, 242, 0.28);
    background: rgba(14, 17, 30, 0.55);
}
.game-ticket-custom-verdict-label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #c5cee8;
    margin-bottom: 8px;
}
.game-ticket-custom-verdict-input,
#game-ticket-custom-verdict {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(8, 10, 18, 0.9);
    color: #f3f6ff;
    font-size: 14px;
}
.game-ticket-custom-verdict-input:focus,
#game-ticket-custom-verdict:focus {
    outline: none;
    border-color: rgba(109, 124, 242, 0.55);
    box-shadow: 0 0 0 2px rgba(109, 124, 242, 0.18);
}
.game-ticket-custom-verdict-hint {
    margin: 8px 0 0;
    font-size: 12px;
    color: #8f9ab8;
}
.game-ticket-close-btn { width: 100%; margin-top: 4px; }
.game-ticket-players { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
.game-ticket-player-card-label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: #8f9ab8;
    margin-bottom: 6px;
}
.game-ticket-meta-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 4px; }
.game-ticket-meta-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.game-ticket-meta-label { font-size: 11px; color: #8f9ab8; text-transform: uppercase; letter-spacing: 0.04em; }
.game-ticket-meta-value { font-size: 14px; color: #e8ecf8; word-break: break-word; }
.mod-lookup-card-steam { display: block; font-size: 12px; color: #8f9ab8; margin-top: 2px; }
.game-ticket-chat-title, .game-ticket-side-title { font-weight: 700; margin-bottom: 8px; }
.game-ticket-chat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.game-ticket-chat-head .game-ticket-chat-title {
    margin-bottom: 0;
}
.game-ticket-chat-follow-btn {
    flex-shrink: 0;
    white-space: nowrap;
}
.game-ticket-chat-follow-btn.is-off {
    opacity: 0.85;
    border-color: rgba(248, 113, 113, 0.35);
}
.game-ticket-chat-empty, .game-ticket-side-empty { color: #a7afc4; font-size: 14px; min-height: 80px; }
.game-ticket-chat-log {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}
.game-ticket-chat-msg {
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
}
.game-ticket-chat-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: baseline;
    margin-bottom: 6px;
    font-size: 12px;
    color: #8f9ab8;
}
.game-ticket-chat-channel {
    font-weight: 650;
    letter-spacing: 0.01em;
}
.game-ticket-chat-channel--all {
    color: #93c5fd;
}
.game-ticket-chat-channel--team {
    color: #86efac;
}
.game-ticket-chat-name { font-weight: 700; color: #c5cee8; }
.game-ticket-chat-text { margin: 0; font-size: 14px; line-height: 1.45; color: #e8ecf8; white-space: pre-wrap; word-break: break-word; }
.game-ticket-ban-item {
    padding: 10px 12px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.06);
    margin-bottom: 8px;
}
.game-ticket-ban-project {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #e8ecf8;
    margin-bottom: 4px;
    text-decoration: none;
}
a.game-ticket-ban-project:hover { color: #93c5fd; text-decoration: underline; }
.game-ticket-ban-steam { font-size: 13px; font-weight: 700; color: #e8ecf8; margin-bottom: 4px; word-break: break-all; }
.game-ticket-ban-reason { font-size: 13px; color: #b9c4e3; margin-bottom: 6px; }
.game-ticket-ban-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    margin-bottom: 6px;
    font-size: 11px;
    color: #8f9ab8;
}
.game-ticket-ban-type {
    font-weight: 700;
    color: #c5cee8;
}
.game-ticket-ban-expires { color: #8f9ab8; }
.game-ticket-ban-sources {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.game-ticket-ban-source {
    font-size: 11px;
    color: #8f9ab8;
    margin-bottom: 4px;
}
.game-ticket-ban-source--fail { color: #fbbf24; }
.game-ticket-ban-status {
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
}
.game-ticket-ban-status--active { background: rgba(239, 68, 68, 0.18); color: #fca5a5; }
.game-ticket-ban-status--inactive { background: rgba(148, 163, 184, 0.16); color: #cbd5e1; }

@media (max-width: 1200px) {
    .game-ticket-layout { grid-template-columns: 1fr; }
}

.report-ticket-detail-root {
    max-width: 1200px;
    margin: 0 auto;
}

.report-ticket-standalone .report-ticket-bypass-panel {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.report-ticket-bypass-panel #report-ticket-bypass-search {
    width: 100%;
    max-width: 520px;
}

.mod-layout-ref {
    display: grid;
    grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    gap: 22px;
}

.mod-layout-ref--single {
    grid-template-columns: minmax(0, 1fr);
}

.mod-side-ref {
    border: 1px solid rgba(130, 145, 255, 0.26);
    border-radius: 12px;
    background: rgba(11, 13, 24, 0.88);
    padding: 12px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: fit-content;
    min-width: 0;
}

.mod-ref-link {
    border: 1px solid transparent;
    background: rgba(255, 255, 255, 0.01);
    color: #b9c4e3;
    border-radius: 8px;
    padding: 11px 14px;
    text-align: left;
    font-weight: 600;
    font-size: 0.94rem;
    line-height: 1.35;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 10px;
}
.mod-ref-ico {
    display: inline-flex;
    flex-shrink: 0;
    color: #94a3b8;
}
.mod-side-ref .mod-ref-link.active[data-mod-section-link] .mod-ref-ico {
    color: #c7d2fe;
}

.mod-ref-link:hover {
    background: rgba(109, 124, 242, 0.14);
}

.mod-side-ref .mod-ref-link.active[data-mod-section-link] {
    background: var(--mod-section-tab-gradient-active);
    border-color: rgba(129, 140, 248, 0.35);
    box-shadow: var(--mod-section-tab-shadow-active);
    color: #fff;
}

.mod-side-ref .mod-ref-link.active[data-mod-section-link]:hover {
    background: var(--mod-section-tab-gradient-active-hover);
}

.mod-ref-link.mod-ref-link--frozen-blocked,
.mod-ref-link.mod-ref-link--frozen-blocked:hover {
    opacity: 0.45;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.02);
    border-color: rgba(248, 113, 113, 0.22);
    color: #9aa3b8;
}

.mod-side-ref .mod-ref-link.mod-ref-link--frozen-blocked.active[data-mod-section-link] {
    background: rgba(255, 255, 255, 0.02);
    box-shadow: none;
    border-color: rgba(248, 113, 113, 0.22);
    color: #9aa3b8;
}

.mod-side-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 4px;
    padding-top: 4px;
    border-top: 1px solid rgba(130, 145, 255, 0.14);
}

.mod-side-group-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: 1px solid rgba(130, 145, 255, 0.2);
    background: rgba(109, 124, 242, 0.08);
    color: #d5dcf5;
    border-radius: 8px;
    padding: 10px 12px;
    text-align: left;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
}

.mod-side-group-trigger:hover {
    background: rgba(109, 124, 242, 0.14);
}

.mod-side-group-panel {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 4px;
}

.mod-side-group-panel[hidden] {
    display: none;
}

.mod-side-group-trigger[aria-expanded="false"] .mod-side-group-chevron {
    transform: rotate(180deg);
}

.mod-server-mgmt-actions {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
    margin-top: 8px;
}

.mod-server-mgmt-btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 18px 20px;
    border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.12));
    border-radius: 12px;
    background: var(--surface-raised, rgba(255, 255, 255, 0.04));
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.mod-server-mgmt-btn:hover {
    border-color: rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.07);
}

.mod-server-mgmt-btn-title {
    font-size: 1rem;
    font-weight: 650;
}

.mod-server-mgmt-btn-desc {
    font-size: 0.85rem;
    opacity: 0.72;
    line-height: 1.35;
}

.mod-server-mgmt-btn--danger:hover {
    border-color: rgba(239, 68, 68, 0.45);
    background: rgba(239, 68, 68, 0.08);
}

.mod-ref-link--sub {
    font-size: 0.88rem;
    font-weight: 600;
    padding: 9px 12px 9px 16px;
}

.mod-admin-roster-toolbar .mod-admin-roster-toolbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px 20px;
    width: 100%;
}
.mod-admin-roster-title {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
}
.mod-admin-roster-crown {
    font-size: 1.15rem;
    color: #9e6bff;
}
#mod-admin-roster-crown1 {
    color: #ffffff;
    margin-top: 3px;
}
body.light-theme #mod-admin-roster-crown1 {
    color: #000000;
}
.mod-admin-roster-crown svg path {
    fill: #9e6bff;
}
.mod-admin-roster-dev-crown {
    margin-left: 0;
    margin-top: 0;
    vertical-align: middle;
    align-self: center;
}
.mod-admin-roster-dev-crown-ico,
.mod-admin-roster-dev-crown-ico svg {
    display: block;
    width: 24px;
    height: 24px;
}
.mod-admin-roster-dev-crown-ico svg path {
    fill: currentColor;
}
.mod-admin-roster-search {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(130, 145, 255, 0.28);
    background: rgba(8, 10, 20, 0.75);
    min-width: min(100%, 280px);
}
.mod-admin-roster-search-ico {
    opacity: 0.65;
    font-size: 0.95rem;
}
.mod-admin-roster-search input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #e8ecff;
    font-size: 0.92rem;
    outline: none;
}
.mod-admin-roster-search input::placeholder {
    color: #7b86a8;
}
.mod-admin-roster-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
    width: 100%;
    margin-top: 4px;
}
.mod-admin-roster-card {
    border-radius: 12px;
    border: 1px solid rgba(130, 145, 255, 0.22);
    background: rgba(18, 22, 38, 0.92);
    padding: 12px 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}
.mod-admin-roster-head {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    min-width: 0;
}
.mod-admin-roster-details {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.mod-admin-roster-nick a.mod-admin-roster-profile-link {
    color: inherit;
    text-decoration: none;
}
.mod-admin-roster-nick a.mod-admin-roster-profile-link:hover {
    text-decoration: none;
}
.mod-admin-roster-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(109, 124, 242, 0.35);
    display: block;
}
.mod-admin-roster-body {
    flex: 1;
    min-width: 0;
}
.mod-admin-roster-nick {
    margin: 0 0 2px;
    font-size: 1rem;
    font-weight: 700;
    color: #f4f6ff;
    line-height: 1.2;
    word-break: break-word;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    min-width: 0;
}
.mod-admin-roster-nick .mod-admin-roster-profile-link {
    font-weight: 700;
    min-width: 0;
}
.mod-admin-roster-badges {
    --admin-badge-crown-size: 18px;
    --admin-badge-freeze-size: 20px;
    --admin-badge-crown-offset-y: -2px;
    --admin-badge-freeze-offset-y: 0px;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    flex-shrink: 0;
    line-height: 0;
}
.mod-admin-roster-badges .mod-admin-roster-dev-crown,
.mod-admin-roster-badges .dev-crown-hover {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    height: var(--admin-badge-crown-size);
    transform: translateY(var(--admin-badge-crown-offset-y)) !important;
    vertical-align: middle;
    margin: 0;
    padding: 0;
    line-height: 0;
}
.mod-admin-roster-badges .mod-admin-roster-freeze {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: center;
    height: var(--admin-badge-freeze-size);
    vertical-align: middle;
    margin: 0;
    padding: 0;
    line-height: 0;
    color: #A3BBFE;
    transform: none !important;
}
.mod-admin-roster-badges .dev-crown-hover {
    vertical-align: middle;
}
.mod-admin-roster-badges .dev-crown-hover-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.mod-admin-roster-badges .mod-admin-roster-dev-crown-ico,
.mod-admin-roster-badges .mod-admin-roster-dev-crown-ico svg {
    display: block;
    width: var(--admin-badge-crown-size);
    height: var(--admin-badge-crown-size);
}
.mod-admin-roster-badges .mod-admin-roster-freeze:not([hidden]) {
    margin-left: 0;
}
.mod-admin-roster-badges .mod-admin-roster-freeze-ico,
.mod-admin-roster-badges .mod-admin-roster-freeze-ico svg,
.mod-admin-roster-badges .mod-admin-roster-freeze .ui-icon-freeze {
    display: block;
    width: var(--admin-badge-freeze-size) !important;
    height: var(--admin-badge-freeze-size) !important;
    max-width: var(--admin-badge-freeze-size);
    max-height: var(--admin-badge-freeze-size);
}
.mod-admin-roster-role,
.mod-admin-roster-body > p[class*="mod-admin-roster-role"] {
    margin: 0;
    font-size: 0.86rem;
    font-weight: 600;
    line-height: 1.25;
    hyphens: none;
    word-break: normal;
    overflow-wrap: anywhere;
}
.mod-admin-roster-body > p[class*="mod-admin-roster-role"] .mod-admin-roster-profile-link {
    font-weight: 600;
}
.mod-admin-roster-role--dev { color: #9e6bff; }
.mod-admin-roster-body a.mod-admin-roster-role--dev { color: #9e6bff; }
.mod-admin-roster-role--curator { color: #fa56ea; }
.mod-admin-roster-body a.mod-admin-roster-role--curator { color: #fa56ea; }
.mod-admin-roster-role--head { color: #f01d21; }
.mod-admin-roster-body a.mod-admin-roster-role--head { color: #f01d21; }
.mod-admin-roster-role--dsa { color: #fc6565; }
.mod-admin-roster-body a.mod-admin-roster-role--dsa { color: #fc6565; }
.mod-admin-roster-role--senadmin { color: #fb7185; }
.mod-admin-roster-body a.mod-admin-roster-role--senadmin { color: #fb7185; }
.mod-admin-roster-role--senmod { color: #2063ff; }
.mod-admin-roster-body a.mod-admin-roster-role--senmod { color: #2063ff; }
.mod-admin-roster-role--creative { color: #0fffd8; }
.mod-admin-roster-body a.mod-admin-roster-role--creative { color: #0fffd8; }
.mod-admin-roster-role--media { color: #fa56ea; }
.mod-admin-roster-body a.mod-admin-roster-role--media { color: #fa56ea; }
.mod-admin-roster-role--proj { color: #a78bfa; }
.mod-admin-roster-body a.mod-admin-roster-role--proj { color: #72e751; }
.mod-admin-roster-role--mod { color: #dab938; }
.mod-admin-roster-body a.mod-admin-roster-role--mod { color: #dab938; }
.mod-admin-roster-role--admin1 { color: #aea8b8; }
.mod-admin-roster-body a.mod-admin-roster-role--admin1 { color: #aea8b8; }
.mod-admin-roster-role--admin2 { color: #f8604f; }
.mod-admin-roster-body a.mod-admin-roster-role--admin2 { color: #f8604f; }
.mod-admin-roster-role--admin3 { color: #b7a7f1; }
.mod-admin-roster-body a.mod-admin-roster-role--admin3 { color: #b7a7f1; }
.mod-admin-roster-role--default { color: #9327c2; }
.mod-admin-roster-body a.mod-admin-roster-role--default { color: #9327c2; }
.mod-admin-roster-meta {
    margin: 0;
    font-size: 0.78rem;
    color: #7b86a8;
    line-height: 1.25;
}
.mod-admin-roster-steam {
    margin: 0;
    font-size: 0.74rem;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    overflow-x: auto;
    max-width: 100%;
    scrollbar-width: thin;
}
.mod-admin-roster-discord {
    margin: 4px 0 0;
    font-size: 0.74rem;
    color: #94a3b8;
    line-height: 1.35;
    word-break: break-all;
}
.mod-admin-roster-discord code {
    font-size: 0.72rem;
    color: #a5b4fc;
}
.mod-admin-roster-discord-user {
    color: #818cf8;
    font-weight: 500;
}
.mod-admin-roster-status {
    margin-top: 12px;
}
.mod-admin-roster-freshness {
    margin: 0 0 12px;
    padding: 8px 12px;
    border-radius: 10px;
    border: 1px solid rgba(251, 191, 36, 0.28);
    background: rgba(251, 191, 36, 0.1);
    color: #fbbf24;
    font-size: 0.88rem;
    line-height: 1.4;
}
body.light-theme .mod-admin-roster-freshness {
    border-color: rgba(180, 83, 9, 0.22);
    background: rgba(251, 191, 36, 0.14);
    color: #92400e;
}
body.light-theme .mod-admin-roster-card {
    background: rgba(248, 250, 255, 0.96);
    border-color: rgba(99, 102, 241, 0.2);
}
body.light-theme .mod-admin-roster-nick {
    color: #111827;
}
body.light-theme .mod-admin-roster-meta,
body.light-theme .mod-admin-roster-steam,
body.light-theme .mod-admin-roster-discord {
    color: #64748b;
}
body.light-theme .mod-admin-roster-discord code {
    color: #4f46e5;
}
body.light-theme .mod-admin-roster-discord-user {
    color: #4338ca;
}
body.light-theme .mod-admin-roster-search {
    background: #fff;
    border-color: rgba(99, 102, 241, 0.25);
}
body.light-theme .mod-admin-roster-search input {
    color: #111827;
}

.mod-admin-roster-lookup {
    margin-top: 10px;
    width: 100%;
}

.mod-admin-roster-lookup-card {
    border-radius: 12px;
    border: 1px solid rgba(130, 145, 255, 0.28);
    background: rgba(18, 22, 38, 0.95);
    padding: 12px 14px;
    display: flex;
    gap: 12px;
    align-items: center;
    min-width: 0;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
}

.mod-admin-roster-lookup-avatar {
    border-radius: 50%;
    flex-shrink: 0;
    background: rgba(148, 163, 184, 0.15);
    width: 48px;
    height: 48px;
}

.mod-admin-roster-lookup-body {
    flex: 1;
    min-width: 0;
}

.mod-admin-roster-lookup-name {
    margin: 0 0 4px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #f1f5f9;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
}

.mod-admin-roster-lookup-level {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
}

.mod-admin-roster-lookup-level--higher {
    color: #f87171;
}

.mod-admin-roster-lookup-freeze {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(248, 113, 113, 0.45);
    background: rgba(239, 68, 68, 0.18);
    color: #fecaca;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
}

.mod-admin-roster-lookup-freeze:hover {
    background: rgba(239, 68, 68, 0.28);
}

body.light-theme .mod-admin-roster-lookup-card {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.22);
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.08);
}

body.light-theme .mod-admin-roster-lookup-name {
    color: #111827;
}

body.light-theme .mod-admin-roster-lookup-freeze {
    background: rgba(239, 68, 68, 0.1);
    border-color: rgba(239, 68, 68, 0.35);
    color: #b91c1c;
}

body.light-theme .mod-admin-roster-lookup-freeze:hover {
    background: rgba(239, 68, 68, 0.16);
}

.mod-layout-ref .mod-dashboard-toolbar {
    margin-bottom: 10px;
    padding: 10px 12px;
    border-radius: 10px;
}
.mod-layout-ref .mod-player-manage-toolbar {
    padding: 14px 18px 12px;
}

.mod-layout-ref .mod-data-table tbody td {
    font-size: 13px;
    padding-top: 10px;
    padding-bottom: 10px;
}

#apply-content.apply-as-modal {
    position: fixed !important;
    z-index: 10001 !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: auto !important;
    height: auto !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: hidden !important;
    display: block !important;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    box-sizing: border-box;
}

#apply-content.apply-as-modal .apply-mod-wrap {
    margin: 0;
    padding: 12px 12px 10px;
    width: 580px;
    height: 640px;
    max-width: calc(100vw - 120px);
    max-height: calc(100vh - 120px);
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    transition: height 0.18s ease;
    background: #121212;
    animation: modalPanelIn 0.22s ease;
}

#apply-content.apply-as-modal .apply-mod-accordion {
    background: #161616;
}

#apply-content.apply-as-modal.apply-modal-expanded .apply-mod-wrap {
    height: 760px;
    max-height: calc(100vh - 80px);
}

body.has-apply-modal {
    overflow: hidden;
}

@media (max-width: 900px) {
    #apply-content.apply-as-modal .apply-mod-wrap {
        width: calc(100vw - 24px);
        height: calc(100dvh - 56px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        max-width: calc(100vw - 24px);
        max-height: calc(100dvh - 56px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    }
    #apply-content.apply-as-modal.apply-modal-expanded .apply-mod-wrap {
        height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
        max-height: calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    }
}

#apply-content.apply-as-modal .apply-mod-textarea {
    min-height: 72px;
    max-height: none;
}

#apply-content.apply-as-modal .apply-mod-form {
    gap: 0;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
}

/* Обёртка полей: скролл + растягивание комментария; кнопка снаружи — отступ не съедается flex */
.apply-mod-form .apply-form-scroll {
    display: contents;
}

#apply-content.apply-as-modal .apply-mod-form .apply-form-scroll {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    gap: 10px;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#apply-content.apply-as-modal .apply-mod-form .apply-form-scroll::-webkit-scrollbar {
    width: 0;
    height: 0;
}

#apply-content.apply-as-modal .apply-form-group {
    gap: 4px;
}

#apply-content.apply-as-modal .apply-mod-h1 {
    margin-bottom: 8px;
    font-size: 1.2rem;
}

#apply-content.apply-as-modal .apply-mod-accordion {
    margin-bottom: 8px;
}

#apply-content.apply-as-modal .apply-mod-accordion-trigger {
    padding: 10px 12px;
    font-size: 0.94rem;
}

#apply-content.apply-as-modal .apply-mod-accordion-panel {
    padding: 0 12px 10px;
}

#apply-content.apply-as-modal .apply-mod-lead {
    margin: 8px 0 8px;
    font-size: 0.88rem;
    line-height: 1.45;
}

#apply-content.apply-as-modal .apply-mod-subh {
    margin: 10px 0 6px;
    font-size: 0.88rem;
}

#apply-content.apply-as-modal .apply-mod-criteria-list {
    font-size: 0.88rem;
    line-height: 1.4;
}

#apply-content.apply-as-modal .apply-mod-label {
    font-size: 0.88rem;
}

#apply-content.apply-as-modal .apply-mod-hint {
    font-size: 0.8rem;
    line-height: 1.35;
}

#apply-content.apply-as-modal .apply-mod-input,
#apply-content.apply-as-modal .apply-mod-textarea {
    padding: 10px 12px;
    font-size: 0.9rem;
}

#apply-content.apply-as-modal .apply-mod-submit {
    flex-shrink: 0;
    margin-top: 14px;
    padding: 11px 14px;
    border-radius: 10px;
    font-size: 0.95rem;
}

#apply-content.apply-as-modal .apply-form-group--comment {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#apply-content.apply-as-modal .apply-form-group--comment .apply-mod-textarea {
    flex: 1 1 auto;
    min-height: 140px;
    height: 100%;
    resize: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

#apply-content.apply-as-modal .apply-form-group--comment .apply-mod-textarea::-webkit-scrollbar {
    width: 0;
    height: 0;
}

#mod-panel-tickets,
#mod-panel-bypass,
#mod-panel-admin-roster,
#mod-panel-freezes {
    margin: 0 8px 14px;
    padding: 0 0 16px;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.mod-freezes-search {
    display: flex;
    margin: 0 2px 12px;
    max-width: 420px;
}

.mod-feature-note {
    margin: 0 2px 12px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.88rem;
    line-height: 1.4;
}

#mod-add-block-modal .modal-content {
    width: min(680px, calc(100vw - 24px));
}

/* Пресеты срока — чипы в стиле сайта (модалка «Выдать наказание») */
#mod-add-block-modal .ticket-ban-preset-grid {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#mod-add-block-modal .ticket-ban-preset-btn {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    border: 1px solid rgba(127, 145, 255, 0.42);
    background: linear-gradient(180deg, rgba(52, 58, 92, 0.92), rgba(28, 32, 52, 0.96));
    color: #eef2ff;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    padding: 9px 14px;
    cursor: pointer;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 2px 8px rgba(0, 0, 0, 0.25);
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.14s ease,
        filter 0.15s ease;
}

#mod-add-block-modal .ticket-ban-preset-btn:hover {
    border-color: rgba(168, 182, 255, 0.85);
    filter: brightness(1.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 6px 20px rgba(88, 101, 242, 0.28);
    transform: translateY(-1px);
}

#mod-add-block-modal .ticket-ban-preset-btn:active {
    transform: translateY(0);
    filter: brightness(0.98);
}

/* Пресеты срока — модалка «Редактирование наказания» */
#my-sanction-modal .ticket-ban-preset-grid,
.mod-sanction-modal-content .mod-sanction-preset-grid {
    margin-top: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#my-sanction-modal .ticket-ban-preset-btn,
.mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn,
.mod-sanction-modal-content #my-sanction-reason-chips .ticket-ban-preset-btn {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    border: 1px solid rgba(127, 145, 255, 0.42);
    background: linear-gradient(180deg, rgba(52, 58, 92, 0.92), rgba(28, 32, 52, 0.96));
    color: #eef2ff;
    border-radius: 10px;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    padding: 9px 14px;
    cursor: pointer;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 2px 8px rgba(0, 0, 0, 0.25);
    transition:
        border-color 0.15s ease,
        box-shadow 0.15s ease,
        transform 0.14s ease,
        filter 0.15s ease;
}

#my-sanction-modal .ticket-ban-preset-btn:hover:not(:disabled),
.mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn:hover:not(:disabled),
.mod-sanction-modal-content #my-sanction-reason-chips .ticket-ban-preset-btn:hover:not(:disabled) {
    border-color: rgba(168, 182, 255, 0.85);
    filter: brightness(1.06);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.08) inset,
        0 6px 20px rgba(88, 101, 242, 0.28);
    transform: translateY(-1px);
}

#my-sanction-modal .ticket-ban-preset-btn:active:not(:disabled),
.mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn:active:not(:disabled),
.mod-sanction-modal-content #my-sanction-reason-chips .ticket-ban-preset-btn:active:not(:disabled) {
    transform: translateY(0);
    filter: brightness(0.98);
}

#my-sanction-modal .ticket-ban-preset-btn:disabled,
.mod-sanction-modal-content .mod-sanction-preset-grid .ticket-ban-preset-btn:disabled,
.mod-sanction-modal-content #my-sanction-reason-chips .ticket-ban-preset-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
    filter: none;
}

.mod-player-action-btns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
.mod-player-action-btns .mod-player-action-btn {
    margin-left: 0;
}
#mod-lift-block-btn.mod-player-action-btn {
    width: auto;
    min-width: 0;
    align-self: center;
    border-color: rgba(148, 163, 184, 0.35);
    background: linear-gradient(135deg, rgba(71, 85, 105, 0.7), rgba(51, 65, 85, 0.82));
    color: #f8fafc;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.28);
}
#mod-lift-block-btn.mod-player-action-btn:hover {
    border-color: rgba(226, 232, 240, 0.4);
}
body.light-theme #mod-lift-block-btn.mod-player-action-btn {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%) !important;
    color: #ffffff !important;
    border-color: #334155 !important;
    box-shadow: 0 4px 18px rgba(71, 85, 105, 0.28) !important;
}
.mod-lift-results {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 12px 0 4px;
}
.mod-lift-card {
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.4);
}
.mod-lift-card.is-blocked {
    opacity: 0.88;
}
.mod-lift-card-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 0.95rem;
}
.mod-lift-card-reason {
    margin: 8px 0 4px;
    color: #e2e8f0;
}
.mod-lift-blocked {
    margin: 8px 0 0;
    color: #fca5a5;
}
body.light-theme .mod-lift-card {
    background: rgba(248, 250, 252, 0.9);
    border-color: rgba(148, 163, 184, 0.35);
}
body.light-theme .mod-lift-card-reason {
    color: #0f172a;
}

#mod-add-block-btn.mod-player-action-btn {
    width: auto;
    min-width: 0;
    align-self: center;
    border-color: rgba(248, 113, 113, 0.45);
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.58), rgba(185, 28, 28, 0.72));
    color: #fef2f2;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.22);
}
#mod-add-block-btn.mod-player-action-btn:hover {
    border-color: rgba(252, 165, 165, 0.55);
}
body.light-theme #mod-add-block-btn.mod-player-action-btn {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 50%, #b91c1c 100%) !important;
    color: #ffffff !important;
    border-color: #991b1b !important;
    box-shadow: 0 4px 18px rgba(220, 38, 38, 0.38) !important;
}
body.light-theme #mod-add-block-btn.mod-player-action-btn:hover {
    background: linear-gradient(135deg, #f87171 0%, #ef4444 50%, #dc2626 100%) !important;
    filter: none !important;
}

.mod-panel-bypass .form-group,
#mod-panel-bypass .form-group {
    margin: 8px 10px 12px;
}

body:not(.light-theme) #mod-panel-bypass .form-group input {
    height: 42px;
    border-radius: 10px;
    border: 1px solid rgba(109, 124, 242, 0.3);
    background: rgba(10, 14, 26, 0.82);
    color: #eef3ff;
    font-size: 0.95rem;
}

body:not(.light-theme) #mod-panel-bypass .form-group input::placeholder {
    color: rgba(198, 209, 238, 0.45);
}

body.light-theme #mod-panel-bypass .form-group input,
body.light-theme #mod-bypass-search {
    height: 42px;
    border-radius: 10px;
    font-size: 0.95rem;
    background: #ffffff !important;
    border: 1px solid rgba(15, 23, 42, 0.18) !important;
    color: #111827 !important;
    -webkit-text-fill-color: #111827 !important;
    caret-color: #111827;
}

#mod-panel-tickets .mod-table-scroll,
#mod-panel-bypass .mod-table-scroll {
    margin: 0;
}

.mod-bypass-player {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.mod-bypass-player-link {
    color: inherit;
    text-decoration: none !important;
}

.mod-bypass-player-link:hover,
.mod-bypass-player-link:focus-visible {
    color: #a5b4fc;
    text-decoration: none !important;
}

.mod-bypass-player-avatar-link {
    display: inline-flex;
    flex: 0 0 auto;
    border-radius: 50%;
}

.mod-bypass-player-avatar {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid rgba(129, 140, 248, 0.42);
    background: rgba(15, 23, 42, 0.7);
}

.mod-bypass-player-name {
    font-weight: 600;
    white-space: nowrap;
}

.mod-bypass-chance {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5rem;
    padding: 0.22rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.mod-bypass-chance--subject {
    background: rgba(148, 163, 184, 0.18);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, 0.28);
}

.mod-bypass-chance--exact {
    background: rgba(239, 68, 68, 0.16);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.mod-bypass-chance--prefix {
    background: rgba(245, 158, 11, 0.14);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.32);
}

.mod-bypass-chance--none {
    background: transparent;
    color: #94a3b8;
    border: 0;
    padding-inline: 0;
    min-width: 0;
    font-weight: 500;
}

.mod-bypass-punish {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
}

.mod-bypass-punish-ico {
    display: inline-flex;
    flex-shrink: 0;
    opacity: 0.95;
}

.mod-bypass-punish.mod-status-active .mod-bypass-punish-ico {
    color: #f87171;
}

.mod-bypass-punish.mod-status-expired .mod-bypass-punish-ico {
    color: #4ade80;
}

.mod-add-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin-bottom: 12px;
}

.mod-add-tab {
    border: 1px solid rgba(127, 145, 255, 0.35);
    border-radius: 8px;
    background: rgba(18, 21, 34, 0.92);
    color: #e9eeff;
    padding: 8px 10px;
    font-weight: 600;
    cursor: pointer;
}

.mod-add-tab.is-active {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #fff;
}

.mod-add-reason-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

#apply-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(4, 7, 16, 0.78);
    backdrop-filter: blur(8px);
    z-index: 10000;
}

@media (max-width: 980px) {
    .mod-layout-ref { grid-template-columns: 1fr; }
}

/* ========== Магазин привилегий (/shop) ========== */
.shop-menu-ico {
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    vertical-align: -0.15em;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%239ec0ff' d='M4 20h16v-8H4v8zm2-6h4v4H6v-4zm6 0h4v4h-4v-4zm6 0h2v4h-2v-4zM3 10V8.2L12 4l9 4.2V10H3zm2-1h14L12 6.1 5 9z'/%3E%3Cpath fill='%239ec0ff' fill-opacity='0.35' d='M7 10h2v1.2H7V10zm4 0h2v1.2h-2V10zm4 0h2v1.2h-2V10zm4 0h2v1.2h-2V10z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.shop-page {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 18px 48px;
    color: #e9eeff;
}
.shop-page-inner {
    background: rgba(12, 14, 26, 0.55);
    border: 1px solid rgba(120, 138, 220, 0.22);
    border-radius: 14px;
    padding: 22px 20px 28px;
}
.shop-page-head {
    margin-bottom: 18px;
}
.shop-page-title {
    margin: 0 0 8px;
    font-size: 1.55rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.shop-page-lead {
    margin: 0;
    color: #a8b2d1;
    font-size: 0.95rem;
    line-height: 1.45;
}
.shop-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
    border-bottom: 1px solid rgba(100, 118, 200, 0.2);
    padding-bottom: 10px;
}
.shop-tab {
    border: 1px solid transparent;
    background: rgba(22, 26, 44, 0.85);
    color: #c5cee6;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
}
.shop-tab:hover:not(:disabled) {
    border-color: rgba(130, 150, 255, 0.35);
    color: #fff;
}
.shop-tab.is-active {
    background: rgba(95, 118, 255, 0.22);
    border-color: rgba(130, 150, 255, 0.55);
    color: #fff;
}
.shop-tab--soon:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.shop-panel[hidden] {
    display: none !important;
}
.shop-placeholder {
    color: #a8b2d1;
    margin: 0;
}
.shop-section-title {
    margin: 0 0 8px;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #dfe6ff;
}
.shop-all-section + .shop-all-section {
    margin-top: 36px;
}
.shop-section-note {
    margin: 0 0 20px;
    font-size: 0.88rem;
    color: #9aa6c8;
}
.shop-section-note code {
    font-size: 0.82em;
    color: #c8d4ff;
}
.shop-admin-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
@media (max-width: 820px) {
    .shop-admin-grid {
        grid-template-columns: 1fr;
    }
}
.shop-admin-card {
    cursor: pointer;
    position: relative;
    border-radius: 12px;
    padding: 16px 12px 18px;
    text-align: center;
    border: 1px solid rgba(120, 130, 200, 0.28);
    background: linear-gradient(165deg, rgba(18, 22, 38, 0.98), rgba(10, 12, 22, 0.95));
    overflow: hidden;
}
.shop-admin-card-glow {
    position: absolute;
    inset: -40%;
    opacity: 0.18;
    pointer-events: none;
    filter: blur(36px);
}
.shop-admin-card--t1 .shop-admin-card-glow {
    background: radial-gradient(circle at 50% 80%, #22c55e 0%, transparent 55%);
}
.shop-admin-card--t2 .shop-admin-card-glow {
    background: radial-gradient(circle at 50% 80%, #38bdf8 0%, transparent 55%);
}
.shop-admin-card--t3 .shop-admin-card-glow {
    background: radial-gradient(circle at 50% 80%, #a855f7 0%, transparent 55%);
}
.shop-admin-card-title {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}
.shop-admin-card--t1 .shop-admin-card-title { color: #4ade80; }
.shop-admin-card--t2 .shop-admin-card-title { color: #7dd3fc; }
.shop-admin-card--t3 .shop-admin-card-title { color: #d8b4fe; }
.shop-admin-card-brand {
    position: relative;
    z-index: 1;
    margin: 0 auto 12px;
    width: auto;
    max-width: 140px;
    background: transparent;
}
.shop-admin-card-logo {
    display: block;
    width: 100%;
    max-width: 138px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    background: transparent;
    image-rendering: auto;
}
.shop-admin-card-price {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    font-size: 0.95rem;
    color: #b8c4e8;
}
.shop-price-from {
    font-weight: 700;
    color: #fff;
    font-size: 1.15rem;
}
.shop-price-label {
    font-weight: 500;
    color: #8b96b8;
    font-size: 0.88rem;
    margin-right: 4px;
}
.shop-admin-card:focus-visible {
    outline: 2px solid rgba(130, 160, 255, 0.75);
    outline-offset: 2px;
}
.shop-admin-card-btn {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 200px;
    padding: 9px 14px;
    border-radius: 8px;
    border: 1px solid rgba(130, 150, 255, 0.45);
    background: rgba(70, 90, 200, 0.25);
    color: #eef2ff;
    font-weight: 600;
    cursor: pointer;
}
.shop-admin-card-btn:hover {
    background: rgba(90, 110, 230, 0.4);
}

/* VIP-карточки */
.shop-vip-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
@media (max-width: 1020px) {
    .shop-vip-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 560px) {
    .shop-vip-grid {
        grid-template-columns: 1fr;
    }
}
.shop-vip-card {
    cursor: pointer;
    position: relative;
    border-radius: 12px;
    padding: 16px 12px 18px;
    text-align: center;
    border: 1px solid rgba(120, 130, 200, 0.28);
    background: linear-gradient(165deg, rgba(18, 22, 38, 0.98), rgba(10, 12, 22, 0.95));
    overflow: hidden;
}
.shop-vip-card-glow {
    position: absolute;
    inset: -40%;
    opacity: 0.2;
    pointer-events: none;
    filter: blur(36px);
}
.shop-vip-card--standard .shop-vip-card-glow {
    background: radial-gradient(circle at 50% 80%, #38bdf8 0%, transparent 55%);
}
.shop-vip-card--plus .shop-vip-card-glow {
    background: radial-gradient(circle at 50% 80%, #22c55e 0%, transparent 55%);
}
.shop-vip-card--gold .shop-vip-card-glow {
    background: radial-gradient(circle at 50% 80%, #eab308 0%, transparent 55%);
}
.shop-vip-card--diamond .shop-vip-card-glow {
    background: radial-gradient(circle at 50% 80%, #a855f7 0%, transparent 55%);
}
.shop-vip-card-title {
    position: relative;
    z-index: 1;
    margin: 0 0 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
}
.shop-vip-card--standard .shop-vip-card-title { color: #7dd3fc; }
.shop-vip-card--plus .shop-vip-card-title { color: #4ade80; }
.shop-vip-card--gold .shop-vip-card-title { color: #fde047; }
.shop-vip-card--diamond .shop-vip-card-title { color: #d8b4fe; }
.shop-vip-card-brand {
    position: relative;
    z-index: 1;
    margin: 0 auto 12px;
    width: auto;
    max-width: 120px;
    background: transparent;
}
.shop-vip-card-logo {
    display: block;
    width: 100%;
    max-width: 118px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    user-select: none;
    -webkit-user-drag: none;
    background: transparent;
    image-rendering: auto;
}
.shop-vip-card-price {
    position: relative;
    z-index: 1;
    margin: 0 0 14px;
    font-size: 0.95rem;
    color: #b8c4e8;
}
.shop-vip-card:focus-visible {
    outline: 2px solid rgba(130, 160, 255, 0.75);
    outline-offset: 2px;
}
.shop-vip-card-btn {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 200px;
    padding: 9px 14px;
    border-radius: 8px;
    border: 1px solid rgba(130, 150, 255, 0.45);
    background: rgba(70, 90, 200, 0.25);
    color: #eef2ff;
    font-weight: 600;
    cursor: pointer;
}
.shop-vip-card-btn:hover {
    background: rgba(90, 110, 230, 0.4);
}

/* Модалка описания товара */
body.shop-modal-open {
    overflow: hidden;
}
.shop-modal {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.shop-modal.shop-modal--open {
    display: flex;
}
.shop-modal.shop-modal--open .shop-modal-backdrop {
    animation: modalBackdropIn 0.2s ease;
}
.shop-modal.shop-modal--open .shop-modal-panel {
    animation: modalPanelIn 0.22s ease;
}
.shop-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 8, 18, 0.72);
    backdrop-filter: blur(3px);
}
.shop-modal-panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 440px;
    max-height: min(88vh, 640px);
    overflow-y: auto;
    border-radius: 14px;
    border: 1px solid rgba(120, 138, 220, 0.35);
    background: linear-gradient(180deg, #151a2e 0%, #0e111f 100%);
    padding: 22px 20px 20px;
    color: #e9eeff;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
}
.shop-modal.shop-modal--vip .shop-modal-panel {
    max-width: min(580px, 96vw);
    max-height: min(92vh, 780px);
    min-height: 460px;
    padding: 26px 26px 24px;
}
.shop-modal-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #cfd8f8;
    font-size: 1.35rem;
    line-height: 1;
    cursor: pointer;
}
.shop-modal-close:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.shop-modal-title {
    margin: 0 0 6px;
    padding-right: 36px;
    font-size: 1.15rem;
    font-weight: 700;
}
.shop-modal-subtitle {
    margin: 0 0 14px;
    font-size: 0.88rem;
    color: #a8b4d8;
    line-height: 1.4;
}
.shop-modal-details {
    margin-bottom: 12px;
}
.shop-modal-details summary {
    cursor: pointer;
    font-weight: 600;
    color: #d4dcff;
    margin-bottom: 8px;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 8px;
}
.shop-modal-details summary::-webkit-details-marker {
    display: none;
}
.shop-modal-details summary::marker {
    content: '';
    display: none;
}
.shop-modal-details-chevron {
    display: inline-flex;
    flex-shrink: 0;
    color: #9aaed8;
    transition: transform 0.2s ease;
}
.shop-modal-details:not([open]) .shop-modal-details-chevron {
    transform: rotate(180deg);
}
.shop-modal-features {
    list-style: none;
    margin: 0;
    padding: 0;
}
.shop-modal-feature-group {
    margin-bottom: 12px;
}
.shop-modal-feature-group > strong {
    display: block;
    font-size: 0.82rem;
    color: #b8c6ec;
    margin-bottom: 6px;
}
.shop-modal-sublist {
    list-style: none;
    margin: 0;
    padding: 0;
}
.shop-modal-sublist li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 0.86rem;
    color: #dce3ff;
    margin-bottom: 6px;
    line-height: 1.35;
}
.shop-modal-check {
    flex-shrink: 0;
    color: #6d9fff;
    font-weight: 700;
}
.shop-modal-source-note {
    font-size: 0.75rem;
    color: #7a86a8;
    margin: 0 0 14px;
    line-height: 1.35;
}
.shop-modal-source-note code {
    font-size: 0.85em;
    color: #9aaed8;
}
.shop-modal-countdown {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(14, 16, 28, 0.9);
    border: 1px solid rgba(90, 110, 180, 0.22);
}
.shop-modal-countdown-label {
    margin: 0 0 10px;
    font-size: 0.82rem;
    color: #a8b4d8;
}
.shop-modal-countdown-digits {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}
.shop-modal-countdown-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 44px;
}
.shop-modal-countdown-block span {
    font-size: 1.25rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: #eef2ff;
    letter-spacing: 0.04em;
}
.shop-modal-countdown-block small {
    margin-top: 4px;
    font-size: 0.68rem;
    color: #7a86a8;
    text-transform: none;
}
.shop-modal-countdown-sep {
    font-size: 1.1rem;
    font-weight: 700;
    color: #5a6a9a;
    padding-bottom: 14px;
}
.shop-modal-duration {
    margin-bottom: 10px;
}
.shop-modal-duration-pill {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 8px;
    background: rgba(30, 36, 58, 0.95);
    border: 1px solid rgba(100, 118, 200, 0.3);
    font-size: 0.85rem;
    color: #cfd6f5;
}
.shop-modal-price-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 16px;
}
.shop-modal-price {
    font-size: 1.65rem;
    font-weight: 800;
    color: #fff;
}
.shop-modal-price-suffix {
    font-size: 0.9rem;
    color: #8b98bc;
}
.shop-modal-actions-wrap {
    position: relative;
    margin-top: 4px;
}
.shop-modal-pay-blocker {
    position: absolute;
    inset: 0;
    z-index: 3;
    border-radius: 10px;
    background: transparent;
    cursor: not-allowed;
}
.shop-modal-pay-blocker[hidden] {
    display: none !important;
}
.shop-modal-actions {
    display: flex;
    gap: 10px;
    align-items: stretch;
    flex-wrap: wrap;
}
.shop-modal.shop-modal--vip .shop-modal-actions-wrap {
    padding-top: 8px;
}
.shop-modal.shop-modal--vip .shop-modal-actions {
    gap: 12px;
}
.shop-modal.shop-modal--vip .shop-modal-pay {
    min-height: 48px;
    padding: 13px 18px;
    font-size: 0.92rem;
    line-height: 1.25;
}
.shop-modal.shop-modal--vip .shop-modal-price-row {
    margin-bottom: 6px;
}
.shop-modal.shop-modal--vip .shop-modal-features {
    margin-bottom: 16px;
}
.shop-modal-pay {
    flex: 1;
    text-align: center;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    color: #0b1020;
    background: linear-gradient(180deg, #6d9fff, #4a74e8);
    border: none;
    box-shadow: 0 6px 20px rgba(70, 120, 255, 0.35);
}
.shop-modal-pay:hover {
    filter: brightness(1.06);
}
.shop-modal-pay.shop-modal-pay--upgrade {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.shop-modal-pay-upgrade-ico {
    display: inline-flex;
    line-height: 0;
}
.shop-modal-pay:disabled {
    opacity: 0.55;
    cursor: not-allowed;
    filter: none !important;
    box-shadow: none !important;
    background: rgba(70, 90, 200, 0.25) !important;
    border: 1px solid rgba(130, 150, 255, 0.35) !important;
    color: #c5cee6 !important;
}
body.light-theme .shop-modal-pay:disabled {
    opacity: 1;
    background: rgba(99, 102, 241, 0.14) !important;
    border: 1px solid rgba(99, 102, 241, 0.42) !important;
    color: #3730a3 !important;
}
.shop-modal-gift {
    width: 48px;
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(24, 28, 48, 0.9);
    color: #c8d0ef;
    font-size: 1.15rem;
    cursor: pointer;
    opacity: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}
.shop-modal-gift:hover:not(:disabled) {
    background: rgba(40, 48, 78, 0.95);
    border-color: rgba(140, 150, 220, 0.55);
}
.shop-modal-gift:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.shop-gift-modal,
.shop-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 12120;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.shop-confirm-modal {
    z-index: 12140;
}
.shop-gift-modal.shop-gift-modal--open,
.shop-confirm-modal.shop-confirm-modal--open {
    display: flex;
}
.shop-gift-modal.shop-gift-modal--open .shop-gift-modal-backdrop,
.shop-confirm-modal.shop-confirm-modal--open .shop-confirm-modal-backdrop {
    animation: modalBackdropIn 0.2s ease;
}
.shop-gift-modal.shop-gift-modal--open .shop-gift-modal-panel,
.shop-confirm-modal.shop-confirm-modal--open .shop-confirm-modal-panel {
    animation: modalPanelIn 0.22s ease;
}
.shop-gift-modal-backdrop,
.shop-confirm-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 8, 18, 0.72);
    backdrop-filter: blur(3px);
}
.shop-gift-modal-panel,
.shop-confirm-modal-panel {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    border-radius: 16px;
    border: 1px solid rgba(120, 130, 200, 0.28);
    background: #141820;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55);
    padding: 22px 22px 20px;
    color: #eef2ff;
}
.shop-gift-modal-close,
.shop-confirm-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(120, 130, 200, 0.28);
    background: rgba(28, 34, 52, 0.9);
    color: #c8d0ef;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.shop-gift-modal-title {
    margin: 0 40px 16px 0;
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
}
.shop-gift-product {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(22, 26, 40, 0.95);
    border: 1px solid rgba(100, 110, 160, 0.25);
    margin-bottom: 16px;
}
.shop-gift-product-icon {
    width: 40px;
    height: 40px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: rgba(40, 36, 28, 0.9);
    color: #d4a84b;
}
.shop-gift-product-icon:empty {
    display: none;
}
.shop-gift-product-icon svg {
    display: block;
}
.shop-gift-product-name {
    font-size: 1.05rem;
    font-weight: 600;
    color: #fff;
}
.shop-gift-field {
    margin-bottom: 14px;
}
.shop-gift-label {
    display: block;
    margin-bottom: 8px;
    font-size: 0.88rem;
    color: #e8ecff;
}
.shop-gift-period-tabs {
    display: flex;
    gap: 8px;
}
.shop-gift-period-btn {
    flex: 1;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(100, 110, 150, 0.35);
    background: rgba(18, 22, 34, 0.95);
    color: #c8d0ef;
    font-weight: 600;
    font-size: 0.92rem;
    cursor: pointer;
}
.shop-gift-period-btn.is-active {
    background: rgba(70, 76, 96, 0.95);
    border-color: rgba(130, 140, 180, 0.55);
    color: #fff;
}
.shop-gift-steam-input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(100, 110, 150, 0.35);
    background: rgba(18, 22, 34, 0.95);
    color: #eef2ff;
    font-size: 0.92rem;
    outline: none;
}
.shop-gift-steam-input::placeholder {
    color: #6b7390;
}
.shop-gift-steam-input:focus {
    border-color: rgba(140, 150, 210, 0.65);
}
.shop-gift-total {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 6px 0 16px;
}
.shop-gift-total-label {
    font-size: 0.95rem;
    color: #eef2ff;
    flex-shrink: 0;
}
.shop-gift-total-line {
    flex: 1;
    height: 1px;
    background: rgba(120, 130, 170, 0.35);
}
.shop-gift-total-price {
    font: inherit;
    font-size: 1.45rem;
    font-weight: 800;
    color: #fff;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: default;
    text-align: right;
}
.shop-gift-total-price.is-toggleable {
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-underline-offset: 4px;
}
.shop-gift-total-price.is-toggleable:hover {
    color: #c7d2fe;
}
.shop-gift-submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 16px;
    border-radius: 12px;
    border: none;
    background: #6d7cf0;
    color: #fff;
    font-size: 1.02rem;
    font-weight: 700;
    cursor: pointer;
}
.shop-gift-submit:hover:not(:disabled) {
    background: #7b89f5;
}
.shop-gift-submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.shop-gift-submit-ico {
    display: inline-flex;
    line-height: 0;
}
.shop-confirm-modal-panel {
    max-width: 520px;
}
.shop-confirm-body {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 8px 36px 20px 0;
}
.shop-confirm-text {
    margin: 0;
    flex: 1;
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.45;
    color: #fff;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.shop-confirm-crown {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.shop-confirm-crown[hidden] {
    display: none !important;
}
.shop-confirm-crown svg {
    display: block;
}
.shop-confirm-actions {
    display: flex;
    gap: 10px;
}
.shop-confirm-btn {
    flex: 1;
    padding: 11px 14px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.95rem;
    cursor: pointer;
}
.shop-confirm-btn--cancel {
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(28, 34, 52, 0.95);
    color: #c8d0ef;
}
.shop-confirm-btn--ok {
    border: none;
    background: #6d7cf0;
    color: #fff;
}
.shop-confirm-btn--ok:hover {
    background: #7b89f5;
}

body.light-theme .shop-gift-modal-panel,
body.light-theme .shop-confirm-modal-panel {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.12);
    color: #0f172a;
}
body.light-theme .shop-gift-modal-title,
body.light-theme .shop-gift-product-name,
body.light-theme .shop-gift-total-price,
body.light-theme .shop-confirm-text {
    color: #0f172a;
}
body.light-theme .shop-gift-product,
body.light-theme .shop-gift-steam-input,
body.light-theme .shop-gift-period-btn {
    background: #eef2f7;
    border-color: rgba(15, 23, 42, 0.12);
    color: #334155;
}
body.light-theme .shop-gift-period-btn.is-active {
    background: #cbd5e1;
    color: #0f172a;
}
body.light-theme .shop-gift-label,
body.light-theme .shop-gift-total-label {
    color: #334155;
}
body.light-theme .shop-gift-total-line {
    background: rgba(15, 23, 42, 0.18);
}
body.light-theme .shop-confirm-btn--cancel {
    background: #e2e8f0;
    color: #334155;
}

.shop-modal-variant-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 12px;
}
.shop-modal-variant-tabs[hidden] {
    display: none !important;
}
.shop-modal-variant-btn {
    flex: 1;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(24, 28, 48, 0.85);
    color: #c8d0ef;
    font-weight: 600;
    cursor: pointer;
}
.shop-modal-variant-btn.is-active {
    border-color: rgba(99, 102, 241, 0.75);
    background: rgba(99, 102, 241, 0.22);
    color: #eef2ff;
}
.shop-modal-pay--coins {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.45);
}
.shop-modal-pay--external {
    background: rgba(249, 115, 22, 0.16);
    border-color: rgba(249, 115, 22, 0.45);
}

body.wallet-topup-open {
    overflow: hidden;
}
.wallet-topup-modal {
    position: fixed;
    inset: 0;
    z-index: 12050;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.wallet-topup-modal.wallet-topup-modal--open {
    display: flex;
}
.wallet-topup-modal.wallet-topup-modal--open .wallet-topup-backdrop {
    animation: modalBackdropIn 0.2s ease;
}
.wallet-topup-modal.wallet-topup-modal--open .wallet-topup-panel {
    animation: modalPanelIn 0.22s ease;
}
.wallet-topup-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 6, 14, 0.72);
    backdrop-filter: blur(4px);
}
.wallet-topup-panel {
    position: relative;
    z-index: 1;
    width: min(920px, 100%);
    max-height: min(90vh, 720px);
    overflow: auto;
    border-radius: 16px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: linear-gradient(165deg, rgba(18, 22, 38, 0.98), rgba(10, 12, 22, 0.96));
    padding: 22px 22px 24px;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}
.wallet-topup-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(24, 28, 48, 0.9);
    color: #eef2ff;
    cursor: pointer;
}
.wallet-topup-title {
    margin: 0 0 16px;
    font-size: 1.35rem;
    color: #f3f4ff;
}
.wallet-topup-layout {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 18px;
}
@media (max-width: 760px) {
    .wallet-topup-layout {
        grid-template-columns: 1fr;
    }
}
.wallet-topup-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-content: start;
}
.wallet-topup-method {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 110px;
    padding: 12px;
    border-radius: 12px;
    border: 1px solid rgba(120, 130, 200, 0.28);
    background: rgba(16, 20, 36, 0.92);
    cursor: pointer;
    color: #dbe3ff;
}
.wallet-topup-method.is-active {
    border-color: rgba(99, 102, 241, 0.8);
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.35);
}
.wallet-topup-method-logo {
    display: block;
    max-width: 100%;
    height: auto;
}
.wallet-topup-method-name {
    font-size: 0.82rem;
    color: #9aa8d8;
}
.wallet-topup-form .form-group {
    margin-bottom: 12px;
}
.wallet-topup-input {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(8, 10, 20, 0.85);
    color: #eef2ff;
}
.wallet-topup-hint {
    margin: 0 0 12px;
    font-size: 0.85rem;
}
.wallet-topup-agree {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    margin: 0 0 12px;
    font-size: 0.82rem;
    color: #b8c4e8;
    cursor: pointer;
}
.wallet-topup-total {
    margin: 0 0 12px;
    color: #dbe3ff;
}
.wallet-topup-submit {
    width: 100%;
    min-height: 46px;
    border-radius: 10px;
    border: 1px solid rgba(99, 102, 241, 0.55);
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.85), rgba(79, 70, 229, 0.9));
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}
.wallet-topup-submit:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.wallet-topup-code-note {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(34, 197, 94, 0.12);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: #bbf7d0;
    font-weight: 600;
}

body.light-theme .wallet-topup-panel {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.12);
}
body.light-theme .wallet-topup-close {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.12);
    color: #111827;
}
body.light-theme .wallet-topup-close:hover {
    background: #f1f5f9;
    color: #0f172a;
}
body.light-theme .wallet-topup-title {
    color: #111827;
}
body.light-theme .wallet-topup-method {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.12);
    color: #111827;
}
body.light-theme .wallet-topup-method.is-active {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.55);
    box-shadow: 0 0 0 1px rgba(99, 102, 241, 0.2);
}
body.light-theme .wallet-topup-method-name {
    color: #374151;
}
body.light-theme .wallet-topup-form .form-group label {
    color: #111827;
}
body.light-theme .wallet-topup-input {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.18);
    color: #111827;
}
body.light-theme .wallet-topup-input::placeholder {
    color: #9ca3af;
}
body.light-theme .wallet-topup-hint {
    color: #475569;
}
body.light-theme .wallet-topup-agree {
    color: #334155;
}
body.light-theme .wallet-topup-total {
    color: #111827;
}
body.light-theme .wallet-topup-code-note {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(22, 163, 74, 0.35);
    color: #15803d;
}

.payment-return-overlay {
    position: fixed;
    inset: 0;
    z-index: 12100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(4, 6, 14, 0.72);
}
.payment-return-overlay.is-open {
    display: flex;
    animation: modalBackdropIn 0.2s ease;
}
.payment-return-overlay.is-open .payment-return-panel {
    animation: modalPanelIn 0.22s ease;
}
.payment-return-panel {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    padding: 22px;
    border-radius: 14px;
    border: 1px solid rgba(120, 130, 200, 0.35);
    background: rgba(18, 22, 38, 0.98);
    text-align: center;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}
.payment-return-title {
    margin: 0 0 10px;
    color: #f3f4ff;
    font-size: 1.15rem;
    font-weight: 700;
}
.payment-return-text {
    margin: 0 0 16px;
    color: #b8c4e8;
    font-size: 0.92rem;
    line-height: 1.45;
}
.payment-return-close {
    min-width: 140px;
    min-height: 42px;
    border-radius: 10px;
    border: 1px solid rgba(99, 102, 241, 0.55);
    background: rgba(99, 102, 241, 0.35);
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}
.payment-return-close:hover {
    background: rgba(99, 102, 241, 0.5);
}
body.light-theme .payment-return-panel {
    background: #fff;
    border-color: rgba(99, 102, 241, 0.25);
}
body.light-theme .payment-return-title {
    color: #1e1b4b;
}
body.light-theme .payment-return-text {
    color: #475569;
}

/* Начисление баланса: оверлей, конфетти, toast */
.wallet-grant-celebration {
    position: fixed;
    inset: 0;
    z-index: 12200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.32s ease, visibility 0.32s ease;
}
.wallet-grant-celebration.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.wallet-grant-confetti {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}
.wallet-grant-celebration-backdrop {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: rgba(4, 7, 16, 0.78);
    backdrop-filter: blur(8px);
}
.wallet-grant-celebration-panel {
    position: relative;
    z-index: 2;
    width: min(440px, 100%);
    padding: 28px 26px 24px;
    border-radius: 18px;
    border: 1px solid rgba(109, 124, 242, 0.35);
    background: linear-gradient(165deg, rgba(22, 26, 44, 0.98) 0%, rgba(12, 14, 26, 0.99) 100%);
    text-align: center;
    box-shadow: 0 28px 72px rgba(0, 0, 0, 0.55);
    transform: translateY(8px) scale(0.985);
    transition: transform 0.28s ease;
}
.wallet-grant-celebration.is-visible .wallet-grant-celebration-panel {
    transform: translateY(0) scale(1);
}
.wallet-grant-celebration-glow {
    position: absolute;
    inset: -40% -20%;
    background: radial-gradient(circle at 50% 30%, rgba(167, 139, 250, 0.22), transparent 62%);
    pointer-events: none;
    z-index: -1;
}
.wallet-grant-celebration-badge {
    margin: 0 0 10px;
    line-height: 1;
}
.wallet-grant-celebration-title {
    margin: 0 0 10px;
    color: #f3f4ff;
    font-size: 1.45rem;
    font-weight: 800;
}
.wallet-grant-celebration-text {
    margin: 0 0 8px;
    color: #c7d2fe;
    font-size: 1rem;
    line-height: 1.45;
}
.wallet-grant-celebration-sub {
    margin: 0 0 18px;
    color: #8f9ab8;
    font-size: 0.88rem;
}
.wallet-grant-celebration-btn {
    min-width: 160px;
    min-height: 44px;
    border-radius: 10px;
    font-weight: 700;
    cursor: pointer;
}
.wallet-grant-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 12300;
    max-width: min(520px, calc(100vw - 32px));
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid rgba(109, 124, 242, 0.35);
    background: rgba(18, 22, 38, 0.96);
    color: #e8ecf8;
    font-size: 0.92rem;
    line-height: 1.4;
    text-align: center;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    opacity: 0;
    transform: translate(-50%, 12px);
    transition: opacity 0.28s ease, transform 0.28s ease;
    pointer-events: none;
}
.wallet-grant-toast.is-visible {
    opacity: 1;
    transform: translate(-50%, 0);
}
body.light-theme .wallet-grant-celebration-panel {
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
    border-color: rgba(99, 102, 241, 0.28);
}
body.light-theme .wallet-grant-celebration-title {
    color: #1e1b4b;
}
body.light-theme .wallet-grant-celebration-text {
    color: #4338ca;
}
body.light-theme .wallet-grant-celebration-sub {
    color: #64748b;
}
body.light-theme .wallet-grant-toast {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.25);
    color: #334155;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
}

.site-footer-legal {
    margin: 18px auto 0;
    padding: 22px 18px 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.22);
    text-align: initial;
}

.site-footer-legal-name {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.35;
}

.site-footer-legal-tax {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.35;
}

.site-footer-legal-actions {
    margin: 14px 0 0;
    text-align: center;
}

.site-footer-cookie-btn {
    border: none;
    background: none;
    padding: 0;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 500;
    color: rgba(134, 239, 172, 0.88);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.site-footer-cookie-btn:hover,
.site-footer-cookie-btn:focus-visible {
    color: #bbf7d0;
}

body.light-theme .site-footer-legal {
    border-top-color: rgba(15, 23, 42, 0.14);
    background: rgba(148, 163, 184, 0.14);
}

body.light-theme .site-footer-legal-name {
    color: #0f172a;
}

body.light-theme .site-footer-legal-tax {
    color: rgba(15, 23, 42, 0.64);
}

body.light-theme .site-footer-cookie-btn {
    color: #15803d;
}

body.light-theme .site-footer-cookie-btn:hover,
body.light-theme .site-footer-cookie-btn:focus-visible {
    color: #166534;
}

/* ——— Модалка промокодов ——— */
.promo-modal .promo-modal-content {
    max-width: 440px;
    width: calc(100% - 24px);
}

.promo-modal.promo-modal--create .promo-modal-content {
    max-width: min(720px, calc(100vw - 32px));
    padding: 20px 24px 22px;
}

.promo-modal.promo-modal--create .promo-modal-tabs {
    margin-bottom: 14px;
}

.promo-modal.promo-modal--create #promo-panel-create.is-active {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 16px;
    row-gap: 8px;
    align-items: start;
}

.promo-modal.promo-modal--create #promo-panel-create .promo-modal-dev-note,
.promo-modal.promo-modal--create #promo-panel-create > .form-group:first-of-type,
.promo-modal.promo-modal--create #promo-panel-create > .modal-actions,
.promo-modal.promo-modal--create #promo-panel-create > .promo-create-list {
    grid-column: 1 / -1;
}

.promo-modal.promo-modal--create #promo-panel-create .form-group {
    margin-bottom: 0;
}

.promo-modal.promo-modal--create #promo-panel-create .form-group label {
    margin-bottom: 6px;
    font-size: 0.9rem;
}

.promo-modal.promo-modal--create #promo-panel-create .promo-modal-input,
.promo-modal.promo-modal--create #promo-panel-create .form-group input {
    padding: 9px 12px;
    font-size: 0.95rem;
}

.promo-modal.promo-modal--create #promo-panel-create .promo-reward-toggle-btn {
    padding: 8px 10px;
}

.promo-modal.promo-modal--create #promo-panel-create .modal-actions {
    margin-top: 4px;
}

.promo-modal.promo-modal--create #promo-panel-create .promo-create-list {
    margin-top: 12px;
    padding-top: 10px;
    max-height: 120px;
    overflow-y: auto;
}

.promo-modal.promo-modal--create .promo-modal-dev-note {
    margin-bottom: 2px;
    font-size: 0.82rem;
    line-height: 1.35;
}

.promo-modal-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 18px;
    padding: 4px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.25);
}

.promo-modal-tab {
    flex: 1;
    border: none;
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    color: rgba(200, 200, 215, 0.85);
    background: transparent;
    transition: background 0.15s ease, color 0.15s ease;
}

.promo-modal-tab:hover {
    color: #e8e8f0;
}

.promo-modal-tab.is-active {
    color: #fff;
    background: linear-gradient(135deg, #6366f1, #4f46e5);
    box-shadow: 0 4px 14px rgba(79, 70, 229, 0.35);
}

.promo-modal-panel {
    display: none;
}

.promo-modal-panel.is-active {
    display: block;
}

.promo-modal-input {
    width: 100%;
    box-sizing: border-box;
    text-transform: none;
}

.promo-reward-toggle {
    display: flex;
    gap: 8px;
}

.promo-reward-toggle-btn {
    flex: 1;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    color: rgba(200, 200, 215, 0.9);
    background: rgba(0, 0, 0, 0.2);
    transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.promo-reward-toggle-btn:hover {
    border-color: rgba(99, 102, 241, 0.45);
}

.promo-reward-toggle-btn.is-active {
    color: #fff;
    border-color: rgba(99, 102, 241, 0.65);
    background: rgba(99, 102, 241, 0.22);
}

.promo-modal-submit {
    width: 100%;
}

.promo-modal-dev-note {
    margin-top: 0;
}

.form-label-optional {
    font-weight: 400;
    opacity: 0.65;
}

.promo-create-list {
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.promo-create-list-title {
    margin: 0 0 10px;
    font-size: 0.85rem;
    font-weight: 600;
    color: rgba(200, 200, 215, 0.9);
}

.promo-create-list-ul {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.82rem;
    line-height: 1.45;
    color: rgba(180, 180, 195, 0.95);
}

.promo-create-list-ul li {
    margin-bottom: 6px;
}

.promo-create-list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 12px;
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.promo-create-list-item:last-child {
    border-bottom: none;
}

.promo-create-list-main {
    flex: 1 1 200px;
    min-width: 0;
}

.promo-create-list-status.is-ended {
    color: #f87171;
}

.promo-create-list-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.promo-list-action-btn {
    font: inherit;
    font-size: 0.75rem;
    padding: 4px 10px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.06);
    color: inherit;
    cursor: pointer;
}

.promo-list-action-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.promo-list-action-btn--danger {
    border-color: rgba(248, 113, 113, 0.35);
    color: #fca5a5;
}

.promo-create-list-ul code {
    font-size: 0.85em;
    color: #c4b5fd;
}

body.light-theme .promo-modal-tabs {
    background: #f3f4f6;
}

body.light-theme .promo-modal-tab {
    color: #6b7280;
}

body.light-theme .promo-modal-tab:hover {
    color: #111827;
}

body.light-theme .promo-modal-tab.is-active {
    color: #fff;
}

body.light-theme #promo-modal .modal-content {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    color: #111827;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.14);
}

body.light-theme #promo-modal .modal-content h2 {
    color: #111827 !important;
    border-bottom-color: #e5e7eb;
    text-shadow: none;
}

body.light-theme #promo-modal .modal-close {
    color: #6b7280;
}

body.light-theme #promo-modal .modal-close:hover {
    color: #dc2626;
}

body.light-theme #promo-modal .form-group label {
    color: #111827;
}

body.light-theme #promo-modal .promo-modal-input,
body.light-theme #promo-modal .form-group input {
    background: #ffffff;
    border-color: #d1d5db;
    color: #111827;
}

body.light-theme #promo-modal .promo-modal-input:focus,
body.light-theme #promo-modal .form-group input:focus {
    border-color: #6366f1;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

body.light-theme #promo-modal .promo-modal-input::placeholder {
    color: #9ca3af;
}

body.light-theme #promo-modal .form-note {
    color: #111827 !important;
}

body.light-theme .promo-reward-toggle-btn {
    color: #374151;
    background: #f9fafb;
    border-color: #d1d5db;
}

body.light-theme .promo-reward-toggle-btn.is-active {
    color: #312e81;
    background: #eef2ff;
    border-color: #818cf8;
}

body.light-theme .promo-create-list {
    border-top-color: #e5e7eb;
}

body.light-theme .promo-create-list-title,
body.light-theme .promo-create-list-ul {
    color: #374151;
}

body.light-theme .promo-create-list-ul code {
    color: #4338ca;
    background: #eef2ff;
    padding: 1px 5px;
    border-radius: 4px;
}

/* Модалки (общие + магазин) — светлая тема */
body.light-theme .modal .form-group label {
    color: #374151;
}
body.light-theme .modal .form-group input,
body.light-theme .modal .form-group textarea,
body.light-theme .modal .form-group select {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.18);
    color: #111827;
}
body.light-theme .modal .form-note {
    color: #111827 !important;
}
body.light-theme #dev-wallet-modal .modal-content,
body.light-theme #edit-news-modal .modal-content,
body.light-theme #admin-action-modal .modal-content,
body.light-theme #ticket-ban-modal .modal-content,
body.light-theme #ticket-detail-modal .modal-content,
body.light-theme #reassign-ticket-modal .modal-content,
body.light-theme #mod-add-block-modal .modal-content,
body.light-theme #my-sanction-modal .modal-content {
    background: #ffffff;
    color: #1e293b;
}

body.light-theme .submit-btn.secondary:not(.profile-dev-wallet-grant-btn),
body.light-theme .modal .submit-btn.secondary,
body.light-theme .modal .cancel-btn {
    background: var(--btn-gradient-secondary) !important;
    color: #4338ca !important;
    border: var(--btn-border-secondary) !important;
    box-shadow: none !important;
}

body.light-theme .submit-btn.secondary:not(.profile-dev-wallet-grant-btn):hover:not(:disabled),
body.light-theme .modal .submit-btn.secondary:hover:not(:disabled),
body.light-theme .modal .cancel-btn:hover {
    background: var(--btn-gradient-secondary-hover) !important;
    color: #3730a3 !important;
    border-color: rgba(99, 102, 241, 0.45) !important;
    box-shadow: none !important;
    transform: none;
}

body.light-theme .profile-dev-wallet-grant-btn,
body.light-theme .profile-dev-wallet-grant-btn:hover:not(:disabled) {
    background: var(--btn-gradient-primary) !important;
    border: var(--btn-border-primary) !important;
    box-shadow: var(--btn-shadow-primary) !important;
    color: #ffffff !important;
}
body.light-theme .profile-dev-wallet-grant-btn:hover:not(:disabled) {
    background: var(--btn-gradient-primary-hover) !important;
}

body.light-theme .shop-modal-backdrop {
    background: rgba(15, 23, 42, 0.35);
}
body.light-theme .shop-modal-panel {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.14);
    color: #1e293b;
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.18);
}
body.light-theme .shop-modal-close {
    background: #f1f5f9;
    color: #475569;
}
body.light-theme .shop-modal-close:hover {
    background: #e2e8f0;
    color: #0f172a;
}
body.light-theme .shop-modal-title {
    color: #0f172a;
}
body.light-theme .shop-modal-subtitle,
body.light-theme .shop-modal-details summary,
body.light-theme .shop-modal-feature-group > strong,
body.light-theme .shop-modal-sublist li {
    color: #475569;
}
body.light-theme .shop-modal-details-chevron {
    color: #64748b;
}
body.light-theme .shop-modal-check {
    color: #4f46e5;
}
body.light-theme .shop-modal-source-note,
body.light-theme .shop-modal-countdown-label {
    color: #64748b;
}
body.light-theme .shop-modal-countdown {
    background: #f8fafc;
    border-color: rgba(99, 102, 241, 0.2);
}
body.light-theme .shop-modal-countdown-digits,
body.light-theme .shop-modal-countdown-block span {
    color: #1e293b;
}
body.light-theme .shop-modal-countdown-block small {
    color: #64748b;
}
body.light-theme .shop-modal-duration-pill {
    background: #eef2ff;
    border-color: rgba(99, 102, 241, 0.3);
    color: #3730a3;
}
body.light-theme .shop-modal-price {
    color: #0f172a;
}
body.light-theme .shop-modal-price-suffix {
    color: #64748b;
}
body.light-theme .shop-modal-pay {
    background: linear-gradient(135deg, #6366f1, #7c3aed);
    color: #fff;
}
body.light-theme .shop-modal-gift {
    background: #f1f5f9;
    border-color: rgba(15, 23, 42, 0.15);
    color: #374151;
}
body.light-theme .shop-modal-variant-btn {
    background: #f1f5f9;
    border-color: rgba(15, 23, 42, 0.14);
    color: #475569;
}
body.light-theme .shop-modal-variant-btn:hover {
    background: #e8edf3;
    color: #334155;
}
body.light-theme .shop-modal-variant-btn.is-active {
    background: #1e293b;
    border-color: #1e293b;
    color: #ffffff;
}
body.light-theme .shop-modal-variant-btn.is-active:hover {
    background: #0f172a;
    color: #ffffff;
}

/* Toast уведомления */
.site-toast {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%) translateY(12px);
    z-index: 13000;
    max-width: min(92vw, 420px);
    padding: 12px 18px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.4;
    color: #f3f4f6;
    background: rgba(24, 28, 38, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

.site-toast--show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.site-toast--success { border-color: rgba(52, 211, 153, 0.45); }
.site-toast--error { border-color: rgba(248, 113, 113, 0.45); }
.site-toast--warn { border-color: rgba(251, 191, 36, 0.45); }

body.light-theme .site-toast {
    color: #111827;
    background: rgba(255, 255, 255, 0.98);
    border-color: #e5e7eb;
}

/* Баннер согласия на cookie */
.cookie-consent-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 12200;
    display: block;
    padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
    background: rgba(12, 14, 20, 0.97);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.35);
    transform: translateY(100%);
    opacity: 0;
    transition: transform 0.35s ease, opacity 0.35s ease;
    pointer-events: auto;
}

.cookie-consent-banner[hidden] {
    display: none !important;
}

.cookie-consent-banner--visible {
    transform: translateY(0);
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .cookie-consent-banner {
        transition: none;
    }
    .cookie-consent-banner--visible,
    .cookie-consent-banner:not([hidden]) {
        transform: translateY(0);
        opacity: 1;
    }
}

.cookie-consent-banner__inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px 24px;
}

.cookie-consent-banner__title {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 600;
    color: #f9fafb;
}

.cookie-consent-banner__desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #9ca3af;
    max-width: 640px;
}

.cookie-consent-banner__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    flex-shrink: 0;
}

.cookie-consent-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 500;
    padding: 10px 16px;
    border-radius: 10px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.cookie-consent-btn--primary {
    color: #fff;
    background: #4f46e5;
    border-color: #6366f1;
}

.cookie-consent-btn--primary:hover {
    background: #4338ca;
}

.cookie-consent-btn--secondary {
    color: #e5e7eb;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
}

.cookie-consent-btn--secondary:hover {
    background: rgba(255, 255, 255, 0.12);
}

.cookie-consent-btn--ghost {
    color: #9ca3af;
    background: transparent;
    border-color: rgba(255, 255, 255, 0.12);
}

.cookie-consent-btn--ghost:hover {
    color: #e5e7eb;
    border-color: rgba(255, 255, 255, 0.22);
}

body.light-theme .cookie-consent-banner {
    background: rgba(255, 255, 255, 0.98);
    border-top-color: #e5e7eb;
}

body.light-theme .cookie-consent-banner__title {
    color: #111827;
}

body.light-theme .cookie-consent-banner__desc {
    color: #4b5563;
}

body.light-theme .cookie-consent-btn--secondary {
    color: #374151;
    background: #f3f4f6;
    border-color: #e5e7eb;
}

body.light-theme .cookie-consent-btn--ghost {
    color: #6b7280;
    border-color: #e5e7eb;
}

@media (max-width: 640px) {
    .cookie-consent-banner__actions {
        width: 100%;
    }
    .cookie-consent-btn {
        flex: 1 1 auto;
        min-width: calc(50% - 4px);
    }
    .cookie-consent-btn--ghost {
        flex: 1 1 100%;
    }
}

/* Модальное окно «Настройки» (cookie + пароль диалогов) */
.site-settings-modal-content {
    max-width: 440px;
    padding: 24px 24px 28px;
}
.site-settings-section + .site-settings-section {
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.site-settings-section-title {
    margin: 0 0 8px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #f3f6ff;
}
.site-settings-section-desc,
.site-settings-section-note {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.45;
    color: #9aa6c4;
}
.site-settings-section-note {
    margin-top: 10px;
    margin-bottom: 0;
}
.site-settings-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.site-settings-cookie-readonly {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.site-settings-cookie-status {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #e8eeff;
}
.site-settings-cookie-locked-note {
    margin: 0;
}
.site-settings-account-grid {
    margin-top: 4px;
}
body.light-theme .site-settings-page .profile-settings-save-row {
    border-top-color: rgba(0, 0, 0, 0.08);
}
.site-settings-fields {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.site-settings-field-label {
    font-size: 12px;
    color: #9aa6c4;
    margin-top: 4px;
}
.site-settings-field-label:first-child {
    margin-top: 0;
}
.site-settings-field-input {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    color: #f3f6ff;
    font-size: 14px;
    transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
.site-settings-field-input:hover {
    border-color: rgba(167, 139, 250, 0.35);
    background: rgba(255, 255, 255, 0.07);
}
.site-settings-field-input:focus {
    outline: none;
    border-color: rgba(167, 139, 250, 0.55);
    box-shadow: 0 0 0 3px rgba(109, 124, 242, 0.18);
}
.site-settings-password-actions {
    margin-top: 16px;
}
.site-settings-password-btn {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}
body.light-theme .site-settings-section-title {
    color: #1a1f33;
}
body.light-theme .site-settings-section-desc,
body.light-theme .site-settings-section-note {
    color: #5a6478;
}
body.light-theme .site-settings-field-input {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.12);
    color: #1a1f33;
}

.site-settings-page .site-settings-page-inner {
    max-width: none;
    width: 100%;
    margin: 0 auto;
    padding: 8px 0 48px;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 20px;
    align-items: start;
}
.site-settings-page h1 {
    grid-column: 1 / -1;
    margin: 0 0 4px;
    font-size: 1.5rem;
    font-weight: 700;
    color: #f3f6ff;
}
.site-settings-page .site-settings-section {
    grid-column: span 6;
    margin: 0;
    padding: 18px 20px;
    border: 1px solid rgba(167, 139, 250, 0.14);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.025);
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.site-settings-page .site-settings-section:hover {
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(167, 139, 250, 0.3);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
}
.site-settings-page .site-settings-section[aria-labelledby="site-settings-cookie-title"] {
    grid-column: 1 / -1;
}
.site-settings-page .site-settings-section + .site-settings-section {
    margin-top: 0;
    padding-top: 18px;
    border-top: none;
}
.site-settings-page #site-settings-account-section {
    grid-column: 1 / -1;
}
.site-settings-page #site-settings-account-section.site-settings-account {
    padding: 0;
    overflow: hidden;
}
.site-settings-page #site-settings-account-section.site-settings-account:hover {
    box-shadow: none;
}
.site-settings-page #site-settings-staff-support-block,
.site-settings-page #site-settings-ticket-password-block {
    grid-column: span 6;
}
.site-settings-page .acc-settings-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.site-settings-page .acc-settings-header-text .site-settings-section-title {
    margin-bottom: 4px;
}
.site-settings-page .acc-settings-lead {
    margin: 0;
}
.site-settings-page .acc-settings-header-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex-shrink: 0;
}
.site-settings-page .acc-settings-save-btn {
    min-width: 128px;
    margin: 0;
}
.site-settings-page .acc-settings-shell {
    display: grid;
    grid-template-columns: 200px minmax(0, 1fr);
    min-height: 360px;
}
.site-settings-page .acc-settings-nav {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 10px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.14);
}
.site-settings-page .acc-settings-nav-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: #9aa6c4;
    font: inherit;
    font-size: 0.92rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.site-settings-page .acc-settings-nav-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: #e8eeff;
}
.site-settings-page .acc-settings-nav-btn.is-active {
    background: rgba(109, 124, 242, 0.16);
    border-color: rgba(167, 139, 250, 0.28);
    color: #f3f6ff;
}
.site-settings-page .acc-settings-nav-ico {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    opacity: 0.85;
}
.site-settings-page .acc-settings-panels {
    min-width: 0;
    padding: 18px 20px 22px;
}
.site-settings-page .acc-settings-panel[hidden] {
    display: none !important;
}
.site-settings-page .acc-settings-panel-title {
    margin: 0 0 6px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f3f6ff;
}
.site-settings-page .acc-settings-panel-desc {
    margin: 0 0 16px;
    font-size: 0.9rem;
    line-height: 1.45;
    color: #9aa6c4;
}
.site-settings-page .acc-link-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.site-settings-page .acc-link-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    align-items: center;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}
.site-settings-page .acc-link-row.settings-link-card--linked {
    border-color: rgba(74, 222, 128, 0.28);
    background: rgba(34, 197, 94, 0.07);
}
.site-settings-page .acc-link-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.site-settings-page .acc-link-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}
.site-settings-page .acc-link-ico--tg {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: #7dd3fc;
}
.site-settings-page .acc-link-meta {
    min-width: 0;
}
.site-settings-page .acc-link-name {
    display: block;
    font-weight: 700;
    color: #f3f6ff;
}
.site-settings-page .acc-link-row .settings-link-status {
    margin: 2px 0 0;
    max-width: none;
    text-align: left;
    font-size: 0.84rem;
}
.site-settings-page .settings-link-status--on { color: #86efac; }
.site-settings-page .settings-link-status--off { color: #9aa6c4; }
.site-settings-page .settings-link-status--warn { color: #fbbf24; }
.site-settings-page .settings-link-username {
    font-weight: 700;
    color: #f8fafc;
}
.site-settings-page .acc-link-actions {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
}
.site-settings-page .acc-link-actions .profile-action-btn {
    width: auto;
    min-width: 112px;
    border-radius: 10px;
}
.site-settings-page .acc-link-msg {
    grid-column: 1 / -1;
    margin: 0;
}
.site-settings-page .profile-action-btn--ghost {
    border-color: rgba(255, 255, 255, 0.14);
    background: transparent;
    font-weight: 560;
}
.site-settings-page .profile-action-btn--ghost:hover {
    background: rgba(255, 255, 255, 0.06);
}
.site-settings-page .acc-form {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 520px;
}
.site-settings-page .acc-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.site-settings-page .acc-field-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #9aa6c4;
}
.site-settings-page .acc-field-input {
    width: 100%;
}
.site-settings-page .acc-range {
    padding-left: 0;
    padding-right: 0;
    border: none;
    background: transparent;
}
.site-settings-page .acc-toggle-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.site-settings-page .acc-toggle-row {
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}
.site-settings-page .acc-inline-btn {
    width: auto;
    align-self: flex-start;
    border-radius: 10px;
}
.site-settings-page .acc-pref-block {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    height: 100%;
    padding: 16px 18px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
    box-sizing: border-box;
}
.site-settings-page .acc-pref-block .acc-field-label {
    margin: 0;
}
.site-settings-page .acc-pref-block .acc-settings-panel-desc {
    margin: 0;
    flex: 1 1 auto;
}
.site-settings-page .acc-form--profile {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    max-width: none;
    width: 100%;
    align-items: stretch;
}
.site-settings-page .acc-form--profile .acc-pref-block {
    flex: 1 1 260px;
    min-width: min(100%, 260px);
}
.site-settings-page .acc-form--profile .profile-badge-seg {
    width: 100%;
    margin-top: auto;
}
.site-settings-page .acc-form--profile .acc-toggle-row {
    margin-top: auto;
}
.site-settings-page .acc-wallet {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 420px;
}
.site-settings-page #site-settings-wallet-block .profile-dev-wallet-grant-btn {
    margin-left: 0;
    width: 100%;
    max-width: 100%;
}
@media (max-width: 820px) {
    .site-settings-page .acc-settings-header {
        flex-direction: column;
    }
    .site-settings-page .acc-settings-header-actions {
        align-items: stretch;
        width: 100%;
    }
    .site-settings-page .acc-settings-save-btn {
        width: 100%;
    }
    .site-settings-page .acc-settings-shell {
        grid-template-columns: 1fr;
    }
    .site-settings-page .acc-settings-nav {
        flex-direction: row;
        flex-wrap: nowrap;
        overflow-x: auto;
        border-right: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding: 10px;
        gap: 6px;
        -webkit-overflow-scrolling: touch;
    }
    .site-settings-page .acc-settings-nav-btn {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .site-settings-page .acc-link-row {
        grid-template-columns: 1fr;
    }
    .site-settings-page .acc-link-actions {
        justify-content: stretch;
    }
    .site-settings-page .acc-link-actions .profile-action-btn {
        flex: 1 1 auto;
    }
}
body.light-theme .site-settings-page .acc-settings-header {
    border-bottom-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .site-settings-page .acc-settings-nav {
    background: rgba(15, 23, 42, 0.04);
    border-right-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .site-settings-page .acc-settings-nav-btn {
    color: #64748b;
}
body.light-theme .site-settings-page .acc-settings-nav-btn.is-active {
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.22);
    color: #0f172a;
}
body.light-theme .site-settings-page .acc-settings-panel-title,
body.light-theme .site-settings-page .acc-link-name {
    color: #0f172a;
}
body.light-theme .site-settings-page .acc-link-row,
body.light-theme .site-settings-page .acc-pref-block,
body.light-theme .site-settings-page .acc-toggle-row {
    background: rgba(15, 23, 42, 0.03);
    border-color: rgba(15, 23, 42, 0.1);
}
body.light-theme .site-settings-page .acc-link-row.settings-link-card--linked {
    background: rgba(22, 163, 74, 0.06);
    border-color: rgba(22, 163, 74, 0.22);
}
body.light-theme .site-settings-page .settings-link-status--on { color: #15803d; }
body.light-theme .site-settings-page .settings-link-username { color: #0f172a; }
body.light-theme .site-settings-page .settings-link-status--warn { color: #b45309; }
body.light-theme .site-settings-page .profile-action-btn--ghost,
body.light-theme .site-settings-page .profile-action-btn--ghost:hover {
    background: transparent !important;
    color: #334155 !important;
    border: 1px solid rgba(15, 23, 42, 0.18) !important;
    box-shadow: none !important;
}
body.light-theme .site-settings-page .profile-action-btn--ghost:hover {
    background: rgba(15, 23, 42, 0.05) !important;
}
.site-settings-page .profile-setting-block {
    margin-bottom: 0;
    height: auto;
    min-width: 0;
    align-self: start;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.site-settings-page .profile-setting-block:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(167, 139, 250, 0.35);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}
.site-settings-page #site-settings-wallet-block {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: hidden;
}
.site-settings-page #site-settings-wallet-block .profile-dev-wallet-grant-btn {
    margin-left: 0;
    margin-top: 10px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.site-settings-page .profile-settings-save-row {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 1024px) {
    .site-settings-page .site-settings-account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .site-settings-page .site-settings-section,
    .site-settings-page #site-settings-staff-support-block,
    .site-settings-page #site-settings-ticket-password-block {
        grid-column: 1 / -1;
    }
    .site-settings-page .site-settings-account-grid {
        grid-template-columns: 1fr;
    }
}
body.light-theme .site-settings-page .site-settings-section:hover {
    background: rgba(99, 102, 241, 0.05);
    border-color: rgba(99, 102, 241, 0.22);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}
body.light-theme .site-settings-page .profile-setting-block:hover {
    background: rgba(99, 102, 241, 0.06);
    border-color: rgba(99, 102, 241, 0.24);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}
body.light-theme .site-settings-page h1 {
    color: #1a1f33;
}
body.light-theme .site-settings-page .site-settings-section {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.2);
}

/* ========== Модалки: общий редизайн ========== */
.modal {
    background: rgba(4, 7, 16, 0.78);
    backdrop-filter: blur(8px);
    animation: modalBackdropIn 0.2s ease;
}

.modal-content {
    background: linear-gradient(165deg, rgba(22, 26, 44, 0.98) 0%, rgba(12, 14, 26, 0.99) 100%);
    border: 1px solid rgba(109, 124, 242, 0.35);
    border-radius: 16px;
    padding: 26px 28px 28px;
    box-shadow:
        0 24px 64px rgba(0, 0, 0, 0.55),
        0 0 0 1px rgba(255, 255, 255, 0.04) inset;
    animation: modalPanelIn 0.22s ease;
}

@media (prefers-reduced-motion: reduce) {
    .modal,
    .modal-content,
    .shop-modal.shop-modal--open .shop-modal-backdrop,
    .shop-modal.shop-modal--open .shop-modal-panel,
    .shop-gift-modal.shop-gift-modal--open .shop-gift-modal-backdrop,
    .shop-gift-modal.shop-gift-modal--open .shop-gift-modal-panel,
    .shop-confirm-modal.shop-confirm-modal--open .shop-confirm-modal-backdrop,
    .shop-confirm-modal.shop-confirm-modal--open .shop-confirm-modal-panel,
    .wallet-topup-modal.wallet-topup-modal--open .wallet-topup-backdrop,
    .wallet-topup-modal.wallet-topup-modal--open .wallet-topup-panel,
    .payment-return-overlay.is-open,
    .payment-return-overlay.is-open .payment-return-panel,
    #apply-content.apply-as-modal .apply-mod-wrap {
        animation: none !important;
    }
    .wallet-grant-celebration,
    .wallet-grant-celebration-panel {
        transition: none !important;
    }
    .wallet-grant-celebration-panel,
    .wallet-grant-celebration.is-visible .wallet-grant-celebration-panel {
        transform: none !important;
    }
}

.modal-content h2 {
    color: #a5b4fc;
    border-bottom: 1px solid rgba(109, 124, 242, 0.28);
    padding-bottom: 12px;
    margin-bottom: 20px;
}

.modal .form-group {
    margin-bottom: 16px;
}

.modal .form-group label {
    color: #c7d2fe;
    font-size: 0.92rem;
    margin-bottom: 7px;
}

.modal .form-group input,
.modal .form-group textarea,
.modal .form-group select {
    border: 1px solid rgba(127, 145, 255, 0.32);
    border-radius: 10px;
    background: rgba(8, 11, 22, 0.88);
    padding: 11px 14px;
    color: #eef2ff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset;
}

.modal .form-group input:focus,
.modal .form-group textarea:focus,
.modal .form-group select:focus {
    outline: none;
    border-color: rgba(168, 182, 255, 0.75);
    box-shadow: 0 0 0 3px rgba(109, 124, 242, 0.18);
}

.modal .submit-btn {
    margin-top: 4px;
    background: linear-gradient(135deg, #6366f1 0%, #7c3aed 52%, #9333ea 100%);
    border: 1px solid rgba(196, 181, 253, 0.35);
    box-shadow: 0 6px 22px rgba(99, 102, 241, 0.35);
}

.modal .submit-btn:hover {
    background: linear-gradient(135deg, #818cf8 0%, #8b5cf6 52%, #a855f7 100%);
    box-shadow: 0 10px 28px rgba(99, 102, 241, 0.45);
}

.modal .submit-btn.secondary {
    background: linear-gradient(135deg, rgba(52, 58, 92, 0.96), rgba(28, 32, 52, 0.98));
    border: 1px solid rgba(127, 145, 255, 0.28);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
}

.modal .submit-btn.submit-btn--danger {
    background: linear-gradient(135deg, #fb923c 0%, #ef4444 55%, #dc2626 100%);
    border-color: rgba(252, 165, 165, 0.35);
    box-shadow: 0 6px 22px rgba(239, 68, 68, 0.32);
}

.modal .submit-btn.submit-btn--danger:hover {
    background: linear-gradient(135deg, #fdba74 0%, #f87171 55%, #ef4444 100%);
    box-shadow: 0 10px 28px rgba(239, 68, 68, 0.4);
}

.modal .cancel-btn {
    background: linear-gradient(135deg, rgba(52, 58, 92, 0.92), rgba(28, 32, 52, 0.96));
    border: 1px solid rgba(127, 145, 255, 0.28);
    color: #e9eeff;
}

.modal-actions,
.mod-sanction-modal-actions {
    margin-top: 22px;
    padding-top: 2px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.mod-sanction-modal-content {
    width: min(680px, calc(100vw - 24px));
    max-width: 680px;
}

/* Модалки наказаний — поля ввода (включая «Срок», вне .form-group) */
.mod-sanction-duration-block {
    margin: 12px 0 4px;
}

.mod-sanction-duration-label {
    display: block;
    font-weight: 600;
    font-size: 0.92rem;
    color: #c7d2fe;
    margin-bottom: 7px;
}

.mod-sanction-duration-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
}

.mod-sanction-modal-content .form-group label,
.mod-sanction-modal-content .mod-sanction-duration-label {
    color: #c7d2fe;
    font-size: 0.92rem;
    font-weight: 600;
    margin-bottom: 7px;
}

.mod-sanction-modal-content .form-group input,
.mod-sanction-modal-content .form-group textarea,
.mod-sanction-modal-content .mod-sanction-duration-field {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 14px;
    font-size: 0.95rem;
    font-family: inherit;
    line-height: 1.35;
    border-radius: 10px;
    border: 1px solid rgba(127, 145, 255, 0.32);
    background: rgba(8, 11, 22, 0.88);
    color: #eef2ff;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03) inset;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.mod-sanction-modal-content .mod-sanction-duration-field {
    width: auto;
    min-width: 120px;
    max-width: 160px;
}

.mod-sanction-modal-content .form-group input:focus,
.mod-sanction-modal-content .form-group textarea:focus,
.mod-sanction-modal-content .mod-sanction-duration-field:focus {
    outline: none;
    border-color: rgba(168, 182, 255, 0.75);
    box-shadow: 0 0 0 3px rgba(109, 124, 242, 0.18);
}

.mod-sanction-modal-content .form-group input::placeholder,
.mod-sanction-modal-content .form-group textarea::placeholder {
    color: rgba(198, 209, 238, 0.45);
}

.mod-sanction-modal-content .form-group input[readonly] {
    background: rgba(14, 18, 32, 0.72);
    color: #cbd5e1;
    cursor: default;
}

body.light-theme .mod-sanction-modal-content .form-group label,
body.light-theme .mod-sanction-modal-content .mod-sanction-duration-label {
    color: #374151;
}

body.light-theme .mod-sanction-modal-content .form-group input,
body.light-theme .mod-sanction-modal-content .form-group textarea,
body.light-theme .mod-sanction-modal-content .mod-sanction-duration-field {
    background: #ffffff;
    border-color: rgba(99, 102, 241, 0.22);
    color: #111827;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.light-theme .mod-sanction-modal-content .form-group input:focus,
body.light-theme .mod-sanction-modal-content .form-group textarea:focus,
body.light-theme .mod-sanction-modal-content .mod-sanction-duration-field:focus {
    border-color: rgba(99, 102, 241, 0.55);
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.14);
}

body.light-theme .mod-sanction-modal-content .form-group input::placeholder,
body.light-theme .mod-sanction-modal-content .form-group textarea::placeholder {
    color: #9ca3af;
}

body.light-theme .mod-sanction-modal-content .form-group input[readonly] {
    background: #f3f4f6;
    border-color: rgba(148, 163, 184, 0.45);
    color: #4b5563;
}

body.light-theme .mod-sanction-modal-content .form-note,
body.light-theme .mod-sanction-modal-content .mod-sanction-duration-note {
    color: #64748b !important;
}

/* Вкладки типа наказания */
body.light-theme .mod-add-tab {
    background: #f8fafc;
    color: #374151;
    border: 1px solid rgba(99, 102, 241, 0.2);
}

body.light-theme .mod-add-tab:hover {
    background: #eef2ff;
    color: #1e293b;
    border-color: rgba(99, 102, 241, 0.32);
}

body.light-theme .mod-add-tab.is-active,
body.light-theme .mod-add-tab.is-active:hover {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #ffffff;
}

body.light-theme .mod-add-tab.is-active:hover {
    background: var(--tab-gradient-active-hover);
}

body.light-theme .mod-sanction-modal-content .ticket-ban-preset-btn,
body.light-theme #mod-add-block-modal .ticket-ban-preset-btn,
body.light-theme #my-sanction-modal .ticket-ban-preset-btn {
    background: #f8fafc;
    border-color: rgba(99, 102, 241, 0.28);
    color: #4338ca;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

body.light-theme .mod-sanction-modal-content .ticket-ban-preset-btn:hover,
body.light-theme .mod-sanction-modal-content .ticket-ban-preset-btn.is-active,
body.light-theme #mod-add-block-modal .ticket-ban-preset-btn:hover,
body.light-theme #mod-add-block-modal .ticket-ban-preset-btn.is-active,
body.light-theme #my-sanction-modal .ticket-ban-preset-btn:hover,
body.light-theme #my-sanction-modal .ticket-ban-preset-btn.is-active {
    background: #eef2ff;
    border-color: rgba(99, 102, 241, 0.45);
    color: #312e81;
}

.mod-sanction-preset-grid,
#mod-add-block-modal .ticket-ban-preset-grid {
    margin-top: 10px;
    margin-bottom: 8px;
}

/* Карточка найденного игрока в модалке наказания */
.mod-add-lookup-status {
    margin: 6px 0 4px;
}

.mod-add-lookup-status .mod-add-lookup-text {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.88rem;
    color: #aeb9d5;
    background: rgba(14, 17, 30, 0.72);
    border: 1px dashed rgba(109, 124, 242, 0.22);
}

.mod-lookup-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    border: 1px solid rgba(109, 124, 242, 0.38);
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.14s ease;
}

.mod-lookup-card:hover {
    border-color: rgba(168, 182, 255, 0.68);
    box-shadow: 0 8px 24px rgba(88, 101, 242, 0.24);
    transform: translateY(-1px);
}

.mod-lookup-card-body {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(14, 17, 30, 0.94);
}

.mod-lookup-card-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.mod-lookup-card-avatar--placeholder {
    display: block;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.35), rgba(124, 58, 237, 0.25));
}

.mod-lookup-card-name {
    font-weight: 700;
    font-size: 0.98rem;
    color: #f8fafc;
    line-height: 1.25;
}

.mod-lookup-card-foot {
    display: block;
    padding: 9px 14px;
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #ddd6fe;
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.24), rgba(79, 70, 229, 0.32));
    border-top: 1px solid rgba(109, 124, 242, 0.28);
}

body.light-theme .modal-content {
    background: linear-gradient(165deg, #ffffff 0%, #f8fafc 100%);
    border-color: rgba(99, 102, 241, 0.28);
}

body.light-theme .mod-lookup-card-body {
    background: #f8fafc;
}

body.light-theme .mod-lookup-card-name {
    color: #0f172a;
}

body.light-theme .mod-lookup-card-foot {
    color: #5b21b6;
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.12), rgba(124, 58, 237, 0.14));
}

/* ============================================ */
/* Градиентные кнопки (глобально)               */
/* ============================================ */

.submit-btn:not(.secondary):not(.submit-btn--danger):not(.participated):not(.leave-btn),
.apply-mod-submit,
.ticket-create-btn,
.shop-modal-pay,
.wallet-grant-celebration-btn,
.shop-admin-card-btn,
.shop-vip-card-btn,
.header-admin-action-btn:not(.warn):not(.danger):not(.unfreeze),
.mod-admin-toolbar-btn,
.cookie-consent-btn--primary,
.giveaway-action .submit-btn:not(.participated):not(.leave-btn),
#admin-action-modal .submit-btn {
    background: var(--btn-gradient-primary);
    border: var(--btn-border-primary);
    box-shadow: var(--btn-shadow-primary);
    color: #fff;
}

.logout-btn {
    background: var(--tab-gradient-admin-active) !important;
    border: 1px solid rgba(185, 28, 28, 0.45) !important;
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.22) !important;
    color: #ffffff !important;
}

.logout-btn:hover {
    background: var(--tab-gradient-admin-active-hover) !important;
    box-shadow: 0 6px 18px rgba(220, 38, 38, 0.28) !important;
    color: #ffffff !important;
    filter: none;
    transform: translateY(-1px);
}

.submit-btn.secondary,
.cancel-btn,
.cookie-consent-btn--secondary,
.giveaway-action .leave-btn,
.home-server-btn-copy {
    background: var(--btn-gradient-secondary);
    border: var(--btn-border-secondary);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
    color: #e9eeff;
}

.submit-btn.submit-btn--danger,
.header-admin-action-btn.danger {
    background: var(--btn-gradient-danger);
    border: 1px solid rgba(252, 165, 165, 0.35);
    box-shadow: 0 6px 22px rgba(239, 68, 68, 0.32);
    color: #fff;
}

.header-admin-action-btn.warn {
    background: var(--btn-gradient-warn);
    border: 1px solid rgba(251, 191, 36, 0.4);
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.28);
    color: #fff;
}

.header-admin-action-btn.unfreeze,
.giveaway-action .submit-btn.participated {
    background: var(--btn-gradient-success);
    border: 1px solid rgba(134, 239, 172, 0.35);
    box-shadow: 0 4px 16px rgba(34, 197, 94, 0.28);
    color: #fff;
}

.home-server-btn-join {
    background: var(--btn-gradient-success);
    border: 1px solid rgba(134, 239, 172, 0.35);
    box-shadow: 0 8px 22px rgba(34, 197, 94, 0.35);
    color: #fff;
}

.tickets-sub-btn,
.news-sub-btn,
.admin-sub-btn,
.home-mode-tab,
.shop-tab,
.promo-reward-toggle-btn,
.mod-ref-link,
.profile-side-btn,
.promo-modal-tab,
.mod-add-tab,
.ticket-ban-preset-btn,
.cookie-consent-btn--ghost {
    background: var(--btn-gradient-muted);
    border: var(--btn-border-secondary);
    color: #dbeafe;
}

.tickets-sub-btn.active,
.news-sub-btn.active,
.admin-sub-btn.active,
.home-mode-tab.is-active,
.shop-tab.is-active,
.promo-reward-toggle-btn.is-active,
.profile-side-btn.active,
.profile-side-btn.active-emphasis,
.promo-modal-tab.is-active,
.mod-add-tab.is-active,
.mod-subtab.active {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #fff;
}

.mod-side-ref .mod-ref-link.active[data-mod-section-link] {
    background: var(--mod-section-tab-gradient-active);
    border: var(--mod-section-tab-border-active);
    box-shadow: var(--mod-section-tab-shadow-active);
    color: #fff;
}

.admin-sub-btn.active {
    background: var(--tab-gradient-admin-active);
    border: 1px solid rgba(248, 113, 113, 0.45);
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.22);
    color: #fff;
}

.mod-player-manage-toolbar .mod-player-tab.mod-subtab.active {
    background: linear-gradient(145deg, rgba(55, 48, 163, 0.55), rgba(91, 33, 182, 0.45));
    border-color: rgba(167, 139, 250, 0.45);
    color: #faf5ff;
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.15), 0 8px 22px rgba(0, 0, 0, 0.35);
}

.submit-btn:not(.secondary):not(.submit-btn--danger):not(.participated):not(.leave-btn):hover:not(:disabled),
.apply-mod-submit:hover,
.ticket-create-btn:hover:not(:disabled),
.shop-modal-pay:hover,
.wallet-grant-celebration-btn:hover,
.shop-admin-card-btn:hover,
.shop-vip-card-btn:hover,
.header-admin-action-btn:not(.warn):not(.danger):not(.unfreeze):hover:not(:disabled),
.mod-admin-toolbar-btn:hover,
.cookie-consent-btn--primary:hover,
.giveaway-action .submit-btn:not(.participated):not(.leave-btn):hover:not(:disabled),
#admin-action-modal .submit-btn:hover,
.submit-btn.secondary:hover:not(:disabled),
.cancel-btn:hover,
.cookie-consent-btn--secondary:hover,
.giveaway-action .leave-btn:hover,
.home-server-btn-copy:hover:not(:disabled),
.submit-btn.submit-btn--danger:hover:not(:disabled),
.header-admin-action-btn.danger:hover:not(:disabled),
.header-admin-action-btn.warn:hover:not(:disabled) {
    background: var(--btn-gradient-primary-hover);
    box-shadow: var(--btn-shadow-primary-hover);
    filter: none;
    transform: translateY(-1px);
}

.submit-btn.secondary:hover:not(:disabled),
.cancel-btn:hover,
.cookie-consent-btn--secondary:hover,
.giveaway-action .leave-btn:hover,
.home-server-btn-copy:hover:not(:disabled) {
    background: var(--btn-gradient-secondary-hover);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.32);
}

.submit-btn.submit-btn--danger:hover:not(:disabled),
.header-admin-action-btn.danger:hover:not(:disabled) {
    background: var(--btn-gradient-danger-hover);
    box-shadow: 0 10px 28px rgba(239, 68, 68, 0.4);
}

.header-admin-action-btn.warn:hover:not(:disabled) {
    background: var(--btn-gradient-warn-hover);
}

.header-admin-action-btn.unfreeze:hover:not(:disabled),
.home-server-btn-join:hover {
    background: var(--btn-gradient-success-hover);
}

.tickets-sub-btn:hover,
.news-sub-btn:hover,
.admin-sub-btn:hover,
.shop-tab:hover:not(:disabled),
.promo-reward-toggle-btn:hover,
.mod-ref-link:hover,
.profile-side-btn:hover,
.promo-modal-tab:hover,
.mod-add-tab:hover,
.ticket-ban-preset-btn:hover {
    background: var(--btn-gradient-muted-hover);
    border-color: rgba(168, 182, 255, 0.55);
}

.tickets-sub-btn.active:hover,
.news-sub-btn.active:hover,
.admin-sub-btn.active:hover,
.home-mode-tab.is-active:hover,
.shop-tab.is-active:hover,
.promo-reward-toggle-btn.is-active:hover,
.profile-side-btn.active:hover,
.profile-side-btn.active-emphasis:hover,
.promo-modal-tab.is-active:hover,
.mod-add-tab.is-active:hover,
.mod-subtab.active:hover {
    background: var(--tab-gradient-active-hover);
}

.mod-side-ref .mod-ref-link.active[data-mod-section-link]:hover {
    background: var(--mod-section-tab-gradient-active-hover);
}

.admin-sub-btn.active:hover {
    background: var(--tab-gradient-admin-active-hover);
}

body.light-theme .tickets-sub-btn,
body.light-theme .news-sub-btn,
body.light-theme .admin-sub-btn {
    background: var(--btn-gradient-muted);
    color: #111827;
    border-color: rgba(99, 102, 241, 0.28);
}

body.light-theme .tickets-sub-btn:hover:not(.active),
body.light-theme .news-sub-btn:hover:not(.active),
body.light-theme .admin-sub-btn:hover:not(.active) {
    background: var(--btn-gradient-muted-hover);
    color: #312e81;
    border-color: rgba(99, 102, 241, 0.45);
}

body.light-theme .tickets-sub-btn.active,
body.light-theme .news-sub-btn.active,
body.light-theme .home-mode-tab.is-active,
body.light-theme .shop-tab.is-active,
body.light-theme .mod-add-tab.is-active,
body.light-theme .promo-modal-tab.is-active {
    background: var(--tab-gradient-active);
    color: #fff;
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
}

body.light-theme .mod-side-ref .mod-ref-link.active[data-mod-section-link],
body.light-theme .mod-side-ref .mod-ref-link.active[data-mod-section-link]:hover {
    background: var(--mod-section-tab-gradient-active);
    color: #fff;
    border: var(--mod-section-tab-border-active);
    box-shadow: var(--mod-section-tab-shadow-active);
}

body.light-theme .admin-sub-btn.active {
    background: var(--tab-gradient-admin-active);
    color: #fff;
    border: 1px solid rgba(185, 28, 28, 0.65);
    box-shadow: 0 4px 14px rgba(220, 38, 38, 0.28);
}

body.light-theme .cookie-consent-btn--secondary,
body.light-theme .cookie-consent-btn--ghost {
    background: var(--btn-gradient-muted);
    color: #374151;
    border-color: rgba(99, 102, 241, 0.22);
}

body.light-theme .mod-ref-link {
    color: #374151;
}

body.light-theme .profile-side-btn.active,
body.light-theme .profile-side-btn.active-emphasis {
    color: #fff;
}

/* Светлая тема: боковые кнопки профиля — не тёмный muted-gradient из общего блока */
body.light-theme .profile-side-nav .profile-side-btn {
    background: #f8fafc;
    color: #374151;
    border: 1px solid rgba(99, 102, 241, 0.14);
}
body.light-theme .profile-side-nav .profile-side-btn:hover {
    background: #eef2ff;
    color: #1e293b;
    border-color: rgba(99, 102, 241, 0.28);
}
body.light-theme .profile-side-nav .profile-side-btn.active,
body.light-theme .profile-side-nav .profile-side-btn.active-emphasis {
    background: var(--btn-gradient-primary);
    color: #ffffff;
    border: var(--btn-border-primary);
    box-shadow: var(--btn-shadow-primary);
}
body.light-theme .profile-side-nav .profile-side-btn .ui-icon {
    color: currentColor;
    opacity: 1;
}
body.light-theme .profile-side-nav .profile-side-btn .ui-icon-img {
    opacity: 0.72;
}
.profile-side-ico .ui-icon-img {
    width: 18px;
    height: 18px;
}

/* Компактные action-кнопки (не на всю ширину) */
.submit-btn,
.cancel-btn,
.apply-mod-submit,
.shop-modal-pay,
.wallet-grant-celebration-btn,
.promo-modal-submit,
.modal .submit-btn,
.modal .cancel-btn,
.giveaway-action .submit-btn,
.giveaway-action .leave-btn,
#admin-action-modal .submit-btn,
#admin-action-modal .cancel-btn {
    width: auto;
    max-width: min(100%, 240px);
    min-height: 48px;
    padding: 15px 22px;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 11px;
    box-sizing: border-box;
}

.ticket-create-btn {
    width: auto;
    max-width: min(100%, 280px);
    min-height: 48px;
    padding: 14px 20px;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

#admin-action-modal .modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

/* Исключения: без изменений */
#profile-discord-connect-btn,
#profile-discord-unlink-btn,
#profile-sync-roles-btn {
    background: rgba(0, 0, 0, 0.38) !important;
    border: 1px solid rgba(255, 255, 255, 0.07) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 2px 8px rgba(0, 0, 0, 0.22) !important;
    color: rgba(226, 232, 240, 0.68) !important;
    transform: none !important;
    filter: none !important;
}

#profile-discord-connect-btn:hover,
#profile-discord-unlink-btn:hover,
#profile-sync-roles-btn:hover {
    background: rgba(0, 0, 0, 0.48) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: rgba(241, 245, 249, 0.82) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 3px 10px rgba(0, 0, 0, 0.28) !important;
    transform: none !important;
}

body.light-theme #profile-discord-connect-btn,
body.light-theme #profile-discord-unlink-btn,
body.light-theme #profile-sync-roles-btn {
    background: rgba(15, 23, 42, 0.07) !important;
    color: rgba(55, 65, 81, 0.78) !important;
    border-color: rgba(15, 23, 42, 0.1) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 1px 4px rgba(15, 23, 42, 0.06) !important;
}

body.light-theme #profile-discord-connect-btn:hover,
body.light-theme #profile-discord-unlink-btn:hover,
body.light-theme #profile-sync-roles-btn:hover {
    background: rgba(15, 23, 42, 0.11) !important;
    color: rgba(31, 41, 55, 0.9) !important;
}

.profile-dev-wallet-grant-btn {
    width: auto;
    max-width: min(100%, 360px);
    min-width: min(100%, 290px);
    min-height: auto;
    padding: 10px 14px !important;
    font-size: inherit;
}

.profile-settings-save-btn {
    min-height: 46px;
    padding: 14px 20px;
}

#mod-add-block-btn {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.58), rgba(185, 28, 28, 0.72)) !important;
    border: 1px solid rgba(248, 113, 113, 0.45) !important;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.22) !important;
    color: #fef2f2 !important;
    transform: none !important;
    filter: none !important;
}

#mod-add-block-btn:hover {
    filter: brightness(1.06) !important;
    border-color: rgba(252, 165, 165, 0.55) !important;
    background: linear-gradient(135deg, rgba(248, 113, 113, 0.72), rgba(220, 38, 38, 0.82)) !important;
    box-shadow: 0 6px 20px rgba(239, 68, 68, 0.28) !important;
    transform: none !important;
}

#mod-add-block-btn:active {
    transform: translateY(1px) !important;
}

#mod-freeze-add-btn {
    background: var(--btn-gradient-ice) !important;
    border: 1px solid rgba(186, 230, 253, 0.42) !important;
    box-shadow: 0 4px 18px rgba(56, 189, 248, 0.28) !important;
    color: #f0f9ff !important;
    transform: none !important;
    filter: none !important;
}

#mod-freeze-add-btn:hover {
    filter: brightness(1.06) !important;
    border-color: rgba(224, 242, 254, 0.62) !important;
    background: var(--btn-gradient-ice-hover) !important;
    box-shadow: 0 6px 22px rgba(56, 189, 248, 0.38) !important;
    transform: none !important;
}

#mod-freeze-add-btn:active {
    transform: translateY(1px) !important;
}

body.light-theme #mod-add-block-btn {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 50%, #b91c1c 100%) !important;
    border: 1px solid #991b1b !important;
    box-shadow: 0 4px 18px rgba(220, 38, 38, 0.38) !important;
    color: #ffffff !important;
}

body.light-theme #mod-add-block-btn:hover {
    background: linear-gradient(135deg, #f87171 0%, #ef4444 50%, #dc2626 100%) !important;
    border-color: #b91c1c !important;
    box-shadow: 0 6px 22px rgba(220, 38, 38, 0.42) !important;
    filter: none !important;
}

body.light-theme #mod-freeze-add-btn {
    background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 50%, #0369a1 100%) !important;
    border: 1px solid #0369a1 !important;
    box-shadow: 0 4px 18px rgba(2, 132, 199, 0.38) !important;
    color: #ffffff !important;
}

body.light-theme #mod-freeze-add-btn:hover {
    background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 50%, #0284c7 100%) !important;
    border-color: #0284c7 !important;
    box-shadow: 0 6px 22px rgba(2, 132, 199, 0.42) !important;
    filter: none !important;
}

/* Управление заявками — layout и отступы */
#mystatus-sub-manage {
    display: flex;
    flex-direction: column;
    gap: 0;
}

#mystatus-sub-manage > .applications-admin-card {
    margin-top: 36px;
}

#mystatus-content .my-application-admin-tools__card {
    background: linear-gradient(180deg, rgba(19, 20, 30, 0.98), rgba(17, 18, 26, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    padding: 18px 20px 20px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

#mystatus-content .my-application-admin-tools__title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
}

#mystatus-content .my-application-admin-tools__hint {
    margin: 0 0 16px;
    color: #9ca3af;
    font-size: 0.92rem;
    line-height: 1.45;
}

#mystatus-content .applications-admin-card {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 20px 22px 22px;
    background: linear-gradient(180deg, rgba(19, 20, 30, 0.98), rgba(17, 18, 26, 0.96));
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-left: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.22);
}

#mystatus-content .applications-admin-card h2 {
    margin: 0 0 16px;
    padding: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}

#mystatus-content .applications-grid {
    display: grid;
    gap: 12px;
    margin: 0;
}

#mystatus-content .applications-grid > p {
    margin: 0;
    padding: 4px 2px 2px;
    line-height: 1.5;
}

#mystatus-content .applications-grid > p.error {
    padding: 6px 2px 4px;
}

#mystatus-content .applications-grid > p.error small {
    display: block;
    margin-top: 8px;
    color: #c8a0a0;
    font-size: 0.88rem;
}

#mystatus-content .applications-grid > .no-applications {
    padding: 12px 2px 4px;
    text-align: left;
}

#mystatus-content .applications-grid .admin-application-card {
    margin-bottom: 0;
}

#mystatus-content .app-admin-lookup-modes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

#mystatus-content .app-admin-lookup-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    max-width: 420px;
    margin-bottom: 16px;
}

#mystatus-content .app-admin-lookup-row .apply-mod-input {
    width: 100%;
    box-sizing: border-box;
}

#mystatus-content .app-admin-lookup-preview {
    margin: 0 0 18px;
    padding: 12px 14px;
    border-radius: 12px;
    border: 1px solid rgba(127, 145, 255, 0.22);
    background: rgba(255, 255, 255, 0.03);
}

#mystatus-content .app-admin-lookup-preview-inner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

#mystatus-content .app-admin-lookup-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.08);
}

#mystatus-content .app-admin-lookup-meta p {
    margin: 0 0 6px;
    line-height: 1.4;
}

#mystatus-content .app-admin-lookup-meta p:last-child {
    margin-bottom: 0;
}

#mystatus-content .my-application-admin-tools__field {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    max-width: 160px;
    margin: 0 0 18px;
}

#mystatus-content .my-application-admin-tools__field > span {
    font-size: 0.84rem;
    font-weight: 600;
    color: #d1d5db;
}

#mystatus-content .my-application-admin-tools__field .apply-mod-input {
    width: 100%;
    box-sizing: border-box;
}

#mystatus-content .my-application-admin-tools__actions,
#mystatus-content .app-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

body.light-theme #mystatus-content .my-application-admin-tools__card,
body.light-theme #mystatus-content .applications-admin-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
}

body.light-theme #mystatus-content .applications-admin-card h2 {
    color: #111827;
}

body.light-theme #mystatus-content .applications-grid > p.error small {
    color: #b45309;
}

body.light-theme #mystatus-content .my-application-admin-tools__hint {
    color: #64748b;
}

body.light-theme #mystatus-content .my-application-admin-tools__field > span {
    color: #374151;
}

body.light-theme #mystatus-content .app-admin-lookup-preview {
    background: #f8fafc;
    border-color: rgba(99, 102, 241, 0.18);
}

/* Управление заявками — градиентные кнопки */
#mystatus-content .app-admin-lookup-mode-btn {
    padding: 8px 14px;
    border-radius: 9px;
    border: 1px solid rgba(127, 145, 255, 0.28);
    background: var(--btn-gradient-muted);
    color: #dbeafe;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

#mystatus-content .app-admin-lookup-mode-btn:hover {
    background: var(--btn-gradient-muted-hover);
    border-color: rgba(168, 182, 255, 0.55);
}

#mystatus-content .app-admin-lookup-mode-btn.active {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #fff;
}

#mystatus-content .my-application-admin-tools__actions .action-btn,
#mystatus-content .app-admin-lookup-row .action-btn,
#mystatus-content .app-actions .action-btn,
#mystatus-content .submit-btn {
    width: auto;
    max-width: none;
    min-height: auto;
    padding: 8px 14px;
    border-radius: 9px;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.18);
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

#mystatus-content .action-btn.review-btn,
#mystatus-content .action-btn.view-btn,
#mystatus-content .submit-btn:not(.secondary):not(.submit-btn--danger) {
    background: var(--btn-gradient-primary) !important;
    border: var(--btn-border-primary) !important;
}

#mystatus-content .action-btn.review-btn:hover,
#mystatus-content .action-btn.view-btn:hover,
#mystatus-content .submit-btn:not(.secondary):not(.submit-btn--danger):hover {
    background: var(--btn-gradient-primary-hover) !important;
    box-shadow: var(--btn-shadow-primary-hover);
    transform: translateY(-1px);
    color: #fff !important;
}

#mystatus-content .action-btn.accept-btn {
    background: var(--btn-gradient-success) !important;
    border: 1px solid rgba(134, 239, 172, 0.35) !important;
}

#mystatus-content .action-btn.accept-btn:hover {
    background: var(--btn-gradient-success-hover) !important;
    transform: translateY(-1px);
    color: #fff !important;
}

#mystatus-content .action-btn.reject-btn {
    background: var(--btn-gradient-danger) !important;
    border: 1px solid rgba(252, 165, 165, 0.35) !important;
}

#mystatus-content .action-btn.reject-btn:hover {
    background: var(--btn-gradient-danger-hover) !important;
    transform: translateY(-1px);
    color: #fff !important;
}

#mystatus-content .action-btn.discord-btn {
    background: linear-gradient(135deg, #5865f2, #4752c4) !important;
    border: 1px solid rgba(147, 158, 255, 0.4) !important;
}

#mystatus-content .action-btn.discord-btn:hover {
    background: linear-gradient(135deg, #6772f5, #5865f2) !important;
    transform: translateY(-1px);
    color: #fff !important;
}

#mystatus-content .action-btn.action-btn--sm {
    padding: 7px 11px;
    min-width: 34px;
}

#mystatus-content .app-card-delete {
    border: 1px solid rgba(127, 145, 255, 0.28);
    background: var(--btn-gradient-secondary);
    color: #e9eeff;
    border-radius: 8px;
    padding: 6px 8px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}

#mystatus-content .app-card-delete:hover {
    background: var(--btn-gradient-secondary-hover);
    transform: translateY(-1px);
}

.app-admin-lookup-mode-btn {
    padding: 8px 14px;
    border-radius: 9px;
    border: 1px solid rgba(127, 145, 255, 0.28);
    background: var(--btn-gradient-muted);
    color: #dbeafe;
    font: inherit;
    font-size: 0.84rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.app-admin-lookup-mode-btn:hover {
    background: var(--btn-gradient-muted-hover);
    border-color: rgba(168, 182, 255, 0.55);
}
.app-admin-lookup-mode-btn.active {
    background: var(--tab-gradient-active);
    border: var(--tab-border-active);
    box-shadow: var(--tab-shadow-active);
    color: #fff;
}
.my-application-admin-tools__actions .action-btn,
.app-admin-lookup-row .action-btn,
#mystatus-content .app-actions .action-btn {
    padding: 8px 14px;
    border-radius: 9px;
    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.18);
    transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}
#mystatus-content .action-btn.review-btn,
#mystatus-content .action-btn.view-btn {
    background: var(--btn-gradient-primary);
    border: var(--btn-border-primary);
}
#mystatus-content .action-btn.review-btn:hover,
#mystatus-content .action-btn.view-btn:hover {
    background: var(--btn-gradient-primary-hover);
    box-shadow: var(--btn-shadow-primary-hover);
    transform: translateY(-1px);
    color: #fff;
}
#mystatus-content .action-btn.accept-btn {
    background: var(--btn-gradient-success);
    border: 1px solid rgba(134, 239, 172, 0.35);
}
#mystatus-content .action-btn.accept-btn:hover {
    background: var(--btn-gradient-success-hover);
    transform: translateY(-1px);
    color: #fff;
}
#mystatus-content .action-btn.reject-btn {
    background: var(--btn-gradient-danger);
    border: 1px solid rgba(252, 165, 165, 0.35);
}
#mystatus-content .action-btn.reject-btn:hover {
    background: var(--btn-gradient-danger-hover);
    transform: translateY(-1px);
    color: #fff;
}
#mystatus-content .action-btn.discord-btn {
    background: linear-gradient(135deg, #5865f2, #4752c4);
    border: 1px solid rgba(147, 158, 255, 0.4);
}
#mystatus-content .action-btn.discord-btn:hover {
    background: linear-gradient(135deg, #6772f5, #5865f2);
    transform: translateY(-1px);
    color: #fff;
}
.action-btn.action-btn--sm {
    padding: 7px 11px;
    min-width: 34px;
}
.app-card-delete {
    border: 1px solid rgba(127, 145, 255, 0.28);
    background: var(--btn-gradient-secondary);
    color: #e9eeff;
    border-radius: 8px;
    padding: 6px 8px;
    cursor: pointer;
    transition: background 0.15s ease, transform 0.15s ease;
}
.app-card-delete:hover {
    background: var(--btn-gradient-secondary-hover);
    transform: translateY(-1px);
}
body.light-theme #mystatus-content .app-admin-lookup-mode-btn:not(.active) {
    color: #374151;
    border-color: rgba(99, 102, 241, 0.4);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

body.light-theme #mystatus-content .app-admin-lookup-mode-btn:hover:not(.active) {
    color: #1e293b;
    background: linear-gradient(180deg, #eef2ff 0%, #e0e7ff 100%);
    border-color: rgba(99, 102, 241, 0.55);
}

body.light-theme #mystatus-content .app-admin-lookup-mode-btn.active {
    background: var(--tab-gradient-active) !important;
    border: var(--tab-border-active) !important;
    box-shadow: var(--tab-shadow-active) !important;
    color: #ffffff !important;
}

body.light-theme #mystatus-content .app-admin-lookup-mode-btn.active:hover {
    background: var(--tab-gradient-active-hover) !important;
    color: #ffffff !important;
}
body.light-theme #mystatus-content .my-application-admin-tools__actions .action-btn,
body.light-theme #mystatus-content .app-admin-lookup-row .action-btn,
body.light-theme #mystatus-content .app-actions .action-btn {
    color: #fff;
}

/* Staff tickets — насыщенные кнопки на светлой теме */
body.light-theme .ticket-card .app-actions .action-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn {
    border: 1px solid transparent;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
    color: #ffffff !important;
}
body.light-theme .ticket-card .app-actions .action-btn.view-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.view-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.view-btn {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    border-color: #1d4ed8 !important;
}
body.light-theme .ticket-card .app-actions .action-btn.accept-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.accept-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.accept-btn {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    border-color: #15803d !important;
}
body.light-theme .ticket-card .app-actions .action-btn.reject-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.reject-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.reject-btn {
    background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
    border-color: #c2410c !important;
}
body.light-theme .ticket-card .app-actions .action-btn.reassign-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.reassign-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.reassign-btn {
    background: linear-gradient(135deg, #64748b 0%, #475569 100%) !important;
    border-color: #334155 !important;
}
body.light-theme .ticket-card .app-actions .action-btn.delete-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.delete-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.delete-btn {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
    border-color: #b91c1c !important;
    margin-top: 0;
}
body.light-theme .ticket-card .app-actions .action-btn.ban-btn,
body.light-theme #staff-tickets-list .app-actions .action-btn.ban-btn,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn.ban-btn {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
    border-color: #b45309 !important;
}
body.light-theme .ticket-card .app-actions .action-btn:hover,
body.light-theme #staff-tickets-list .app-actions .action-btn:hover,
body.light-theme #staff-closed-tickets-list .app-actions .action-btn:hover {
    filter: brightness(1.06);
    transform: translateY(-1px);
    color: #ffffff !important;
}

/* Светлая тема: единый стиль пунктов dropdown профиля (ссылки + кнопки) */
body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout),
body.light-theme #header-user-dropdown a.header-dropdown-item:not(.header-dropdown-logout),
body.light-theme #header-user-dropdown button.header-dropdown-item:not(.header-dropdown-logout),
body.light-theme #header-user-dropdown #header-dev-wallet-grant-btn.header-dropdown-item,
body.light-theme #header-user-dropdown #header-dropdown-promo.header-dropdown-item,
body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout) .header-dropdown-label,
body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout) .header-dropdown-icon,
body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout) .ui-icon,
body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout) svg {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
    opacity: 1 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

body.light-theme #header-user-dropdown a.header-dropdown-item:not(.header-dropdown-logout):link,
body.light-theme #header-user-dropdown a.header-dropdown-item:not(.header-dropdown-logout):visited,
body.light-theme #header-user-dropdown a.header-dropdown-item:not(.header-dropdown-logout):active,
body.light-theme #header-user-dropdown a.header-dropdown-item:not(.header-dropdown-logout):hover,
body.light-theme #header-user-dropdown button.header-dropdown-item:not(.header-dropdown-logout):hover,
body.light-theme #header-user-dropdown #header-dev-wallet-grant-btn.header-dropdown-item:hover,
body.light-theme #header-user-dropdown #header-dropdown-promo.header-dropdown-item:hover {
    color: #374151 !important;
    -webkit-text-fill-color: #374151 !important;
}

body.light-theme #header-user-dropdown .header-dropdown-item:not(.header-dropdown-logout):hover {
    background: rgba(99, 102, 241, 0.08) !important;
}

body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout .header-dropdown-label,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout .header-dropdown-icon,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout .ui-icon,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout svg {
    color: #dc2626 !important;
    -webkit-text-fill-color: #dc2626 !important;
    font-weight: 600 !important;
    background: transparent !important;
}

body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover {
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
    background: rgba(248, 113, 113, 0.12) !important;
}

body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .header-dropdown-label,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .header-dropdown-icon,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover .ui-icon,
body.light-theme #header-user-dropdown .header-dropdown-item.header-dropdown-logout:hover svg {
    color: #b91c1c !important;
    -webkit-text-fill-color: #b91c1c !important;
    background: transparent !important;
}

/* Светлая тема: динамические имена/статусы в модалках и карточках staff */
body.light-theme #apply-content.apply-as-modal .apply-mod-wrap {
    background: #f9fafb;
}

body.light-theme #apply-content.apply-as-modal .apply-mod-accordion {
    background: #fff;
}

body.light-theme #apply-modal-backdrop {
    background: rgba(15, 23, 42, 0.45);
    backdrop-filter: blur(6px);
}

body.light-theme .modal-content p,
body.light-theme .ticket-detail-info p,
body.light-theme .app-info p,
body.light-theme .status-details p,
body.light-theme .admin-application-card p:not(.ticket-banned-label) {
    color: #334155 !important;
    text-shadow: none !important;
}

body.light-theme .ticket-detail-info strong,
body.light-theme .app-info strong,
body.light-theme .status-details strong {
    color: #0f172a !important;
}

body.light-theme .status-text {
    color: #111827 !important;
    text-shadow: none !important;
}

body.light-theme .app-date {
    color: #64748b !important;
}

/* Тёмная тема — единый фон карточек/блоков (как у тикетов) */
body:not(.light-theme) .ticket-channel-card,
body:not(.light-theme) .admin-card,
body:not(.light-theme) .criteria-card,
body:not(.light-theme) .status-card,
body:not(.light-theme) .admin-application-card,
body:not(.light-theme) .home-intro,
body:not(.light-theme) .home-shortcut-card,
body:not(.light-theme) .home-link-card,
body:not(.light-theme) .home-server-card,
body:not(.light-theme) .news-card,
body:not(.light-theme) .rules-page-inner,
body:not(.light-theme) .profile-side-nav,
body:not(.light-theme) .profile-hero-card,
body:not(.light-theme) .profile-history-card,
body:not(.light-theme) .profile-gallery-card,
body:not(.light-theme) .profile-settings-card,
body:not(.light-theme) .profile-setting-block,
body:not(.light-theme) .shop-page-inner,
body:not(.light-theme) .shop-admin-card,
body:not(.light-theme) .shop-vip-card,
body:not(.light-theme) .mod-dashboard,
body:not(.light-theme) .mod-admin-roster-card,
body:not(.light-theme) .mod-admin-roster-lookup-card,
body:not(.light-theme) .players-history-block,
body:not(.light-theme) .players-history-card,
body:not(.light-theme) .active-editor-card,
body:not(.light-theme) .giveaway-card,
body:not(.light-theme) .admin-giveaway-card,
body:not(.light-theme) .mod-admin-manage-card,
body:not(.light-theme) .mod-lookup-card-body,
body:not(.light-theme) #mystatus-content .my-application-admin-tools__card,
body:not(.light-theme) #mystatus-content .applications-admin-card,
body:not(.light-theme) .clan-link-block {
    background: var(--surface-block-bg);
}

/* ——— Страница /status ——— */
.status-page {
    max-width: 920px;
    margin: 0 auto;
    padding: 1.25rem 1rem 2.5rem;
}
.status-page-head h1 {
    margin: 0 0 0.35rem;
    font-size: 1.75rem;
}
.status-page-lead {
    margin: 0 0 0.5rem;
    color: var(--text-muted, #a8b0bd);
}
.status-page-updated {
    margin: 0 0 1.25rem;
    font-size: 0.875rem;
    color: var(--text-muted, #8b93a1);
}
.status-grid {
    display: grid;
    gap: 1rem;
}
@media (min-width: 720px) {
    .status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.status-card {
    background: var(--surface-block-bg, rgba(255, 255, 255, 0.04));
    border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.08));
    border-radius: 12px;
    padding: 1rem 1.1rem 1.1rem;
}
.status-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}
.status-card-title {
    margin: 0;
    font-size: 1.05rem;
}
.status-card-title-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}
.status-card-title-inner [data-icon] {
    display: inline-flex;
    flex-shrink: 0;
    color: rgba(233, 213, 255, 0.92);
}
.status-card-title-inner .ui-icon,
.status-card-title-inner svg {
    width: 18px;
    height: 18px;
}
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    white-space: nowrap;
}
.status-badge.is-checking {
    background: rgba(241, 196, 15, 0.15);
    color: #f1c40f;
}
.status-badge.is-online {
    background: rgba(46, 204, 113, 0.15);
    color: #2ecc71;
}
.status-badge.is-offline {
    background: rgba(231, 76, 60, 0.15);
    color: #e74c3c;
}
.status-card-meta {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 0.45rem;
    font-size: 0.92rem;
}
.status-meta-label {
    color: var(--text-muted, #8b93a1);
    margin-right: 0.35rem;
}
.status-meta-code {
    font-size: 0.85rem;
}
.status-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}
.status-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.85rem;
    border-radius: 8px;
    border: none;
    background: #5865f2;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.status-card-btn-secondary {
    background: rgba(255, 255, 255, 0.08);
    color: inherit;
}
body.light-theme .status-card-btn-secondary {
    background: rgba(0, 0, 0, 0.06);
}
.status-page-loading {
    color: var(--text-muted, #8b93a1);
}
.status-page-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}
body.light-theme .status-badge.is-checking { color: #b7950b; }
body.light-theme .status-badge.is-online { color: #1e8449; }
body.light-theme .status-badge.is-offline { color: #c0392b; }

/* Discord tickets inbox (диалоги) — единый тёмный фон */
.tickets-sub-inbox-shell {
    background: #050508;
    margin: 0 -16px;
    padding: 0;
    border-radius: 0;
}
#tickets-content.active .tickets-sub-inbox-shell {
    margin-left: calc(-1 * var(--page-pad-x, 16px));
    margin-right: calc(-1 * var(--page-pad-x, 16px));
}
.tickets-inbox {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr) minmax(240px, 300px);
    gap: 0;
    min-height: calc(100vh - 180px);
    max-height: calc(100vh - 140px);
    background: #050508;
}
.tickets-inbox-login {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #050508;
    padding: 24px;
}
.tickets-inbox-login-card {
    width: min(100%, 380px);
    padding: 24px;
    background: rgba(255, 255, 255, 0.03);
    border-radius: 12px;
}
.tickets-inbox-login-title { margin: 0 0 8px; color: #f3f6ff; }
.tickets-inbox-login-lead { margin: 0 0 16px; color: #8f9ab8; font-size: 14px; }
.tickets-inbox-login-label { display: block; font-size: 12px; color: #8f9ab8; margin: 10px 0 6px; }
.tickets-inbox-login-input {
    width: 100%; box-sizing: border-box; padding: 10px 12px; border: none; border-radius: 8px;
    background: rgba(255,255,255,0.06); color: #f3f6ff; font-size: 14px;
}
.tickets-inbox-login-btn {
    width: 100%; margin-top: 16px; padding: 11px; border: none; border-radius: 8px;
    background: rgba(109, 124, 242, 0.85); color: #fff; font-weight: 600; cursor: pointer;
}
.tickets-inbox-login-error { color: #f5a8a0; font-size: 13px; margin-top: 10px; }
.tickets-inbox-probe { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.06); }
.tickets-inbox-probe-name { margin: 0 0 12px; font-size: 1.1rem; font-weight: 600; color: #f3f6ff; }
.tickets-inbox-probe-link { color: #a78bfa; text-decoration: none; }
.tickets-inbox-probe-tx-list { display: flex; flex-direction: column; gap: 6px; max-height: 160px; overflow-y: auto; }
.tickets-inbox-probe-tx { padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.tickets-inbox-probe-tx-label { font-size: 13px; color: #e8ecf8; }
.tickets-inbox-probe-tx-meta { font-size: 11px; color: #8f9ab8; }
.tickets-inbox-binds-block { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.06); }
.tickets-inbox-binds-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.tickets-inbox-binds-label { font-size: 11px; color: #8f9ab8; text-transform: uppercase; letter-spacing: 0.05em; }
.tickets-inbox-binds-select, .tickets-inbox-binds-input {
    padding: 8px 10px; border: none; border-radius: 8px; background: rgba(255,255,255,0.06); color: #f3f6ff; font-size: 13px;
}
.tickets-inbox-sidebar,
.tickets-inbox-chat,
.tickets-inbox-profile {
    background: #050508;
    border: none;
    border-radius: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.tickets-inbox-sidebar {
    border-right: 1px solid rgba(255, 255, 255, 0.06);
}
.tickets-inbox-profile {
    border-left: 1px solid rgba(255, 255, 255, 0.06);
    overflow-y: auto;
}
.tickets-inbox-sidebar-head {
    padding: 14px 14px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.tickets-inbox-sidebar-title {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #8f9ab8;
}
.tickets-inbox-toolbar {
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.tickets-inbox-search-wrap {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
}
.tickets-inbox-autofill-trap {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}
.tickets-inbox-search-icon {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.55;
    pointer-events: none;
}
.tickets-inbox-search {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 10px 9px 34px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.05);
    color: #f3f6ff;
    font-size: 14px;
}
.tickets-inbox-search:focus {
    outline: none;
    border-color: rgba(109, 124, 242, 0.55);
}
.tickets-inbox-filters { display: flex; gap: 8px; }
.tickets-inbox-filter-dropdown { position: relative; flex: 1; }
.tickets-inbox-filter-btn {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.05);
    color: #e8ecf8;
    font-size: 13px;
    cursor: pointer;
}
.tickets-inbox-filter-btn:hover { background: rgba(255, 255, 255, 0.08); }
.tickets-inbox-filter-chevron { margin-left: auto; opacity: 0.6; transform: rotate(180deg); }
.tickets-inbox-filter-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 30;
    background: #0c0c10;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 6px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.6);
}
.tickets-inbox-filter-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #c5cee8;
    font-size: 13px;
    text-align: left;
    cursor: pointer;
}
.tickets-inbox-filter-option:hover { background: rgba(255, 255, 255, 0.05); }
.tickets-inbox-filter-option.active {
    color: #a78bfa;
    background: rgba(109, 124, 242, 0.12);
}
.tickets-inbox-list {
    flex: 1 1 0;
    min-height: 0;
    overflow-y: auto;
    padding: 6px;
}
.tickets-inbox-list-empty {
    padding: 16px 10px;
    color: #8f9ab8;
    font-size: 14px;
    text-align: center;
}
.tickets-inbox-dialogue {
    display: flex;
    gap: 10px;
    width: 100%;
    padding: 10px;
    border: none;
    border-radius: 10px;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background 0.12s ease;
}
.tickets-inbox-dialogue:hover { background: rgba(255, 255, 255, 0.04); }
.tickets-inbox-dialogue.is-active {
    background: rgba(109, 124, 242, 0.1);
}
.tickets-inbox-dialogue-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.08);
}
.tickets-inbox-dialogue-body { min-width: 0; flex: 1; }
.tickets-inbox-dialogue-top {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 4px;
}
.tickets-inbox-dialogue-name {
    font-weight: 600;
    font-size: 14px;
    color: #f3f6ff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tickets-inbox-dialogue-time {
    font-size: 11px;
    color: #8f9ab8;
    flex-shrink: 0;
}
.tickets-inbox-dialogue-preview {
    font-size: 13px;
    color: #8f9ab8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.tickets-inbox-dialogue-badge {
    display: inline-block;
    margin-top: 4px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: none;
    padding: 2px 6px;
    border-radius: 999px;
}
.tickets-inbox-dialogue-badge--open { background: rgba(52, 152, 219, 0.2); color: #7ec8ff; }
.tickets-inbox-dialogue-badge--accepted { background: rgba(109, 124, 242, 0.2); color: #c4b5fd; }
.tickets-inbox-dialogue-badge--closed { background: rgba(231, 76, 60, 0.15); color: #f5a8a0; }
.tickets-inbox-chat-head {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 0;
}
.tickets-inbox-chat-head-main {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.tickets-inbox-profile-toggle {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #8f9ab8;
    cursor: pointer;
}
.tickets-inbox-profile-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #e8ecf8;
}
.tickets-inbox-profile-toggle[hidden] {
    display: none !important;
}
.tickets-inbox.tickets-inbox-profile-hidden {
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
}
.tickets-inbox.tickets-inbox-profile-hidden .tickets-inbox-profile {
    display: none;
}
.tickets-inbox-chat {
    flex: 1;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}
.tickets-inbox-assignee {
    position: relative;
    min-width: 0;
}
.tickets-inbox-assignee-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 8px 4px 4px;
    border: none;
    border-radius: 8px;
    background: transparent;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.tickets-inbox-assignee-btn:hover { background: rgba(255, 255, 255, 0.05); }
.tickets-inbox-assignee-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.08);
    flex-shrink: 0;
}
.tickets-inbox-assignee-label { white-space: nowrap; }
.tickets-inbox-assignee-chev { opacity: 0.55; transform: rotate(180deg); }
.tickets-inbox-assignee-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 40;
    min-width: 240px;
    max-height: min(320px, 50vh);
    overflow-y: auto;
    background: #0c0c10;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 6px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55);
}
.tickets-inbox-assignee-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #e8ecf8;
    text-align: left;
    cursor: pointer;
}
.tickets-inbox-assignee-option:hover { background: rgba(255, 255, 255, 0.05); }
.tickets-inbox-assignee-option.is-current { background: rgba(109, 124, 242, 0.12); }
.tickets-inbox-assignee-option-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.tickets-inbox-assignee-option-body { min-width: 0; }
.tickets-inbox-assignee-option-name {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #f3f6ff;
}
.tickets-inbox-assignee-option-role {
    display: block;
    font-size: 11px;
    color: #8f9ab8;
    margin-top: 2px;
}
.tickets-inbox-assignee-loading,
.tickets-inbox-assignee-empty {
    margin: 0;
    padding: 10px 12px;
    font-size: 13px;
    color: #8f9ab8;
}
body.light-theme .tickets-inbox-assignee-menu,
body.support-portal.light-theme .tickets-inbox-assignee-menu {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, 0.12);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
    color: #0f172a;
    scrollbar-color: rgba(100, 116, 139, 0.45) #ffffff;
}
body.light-theme .tickets-inbox-assignee-menu::-webkit-scrollbar-track,
body.support-portal.light-theme .tickets-inbox-assignee-menu::-webkit-scrollbar-track {
    background: #ffffff;
}
body.light-theme .tickets-inbox-assignee-menu::-webkit-scrollbar-thumb,
body.support-portal.light-theme .tickets-inbox-assignee-menu::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.45);
    border-color: #ffffff;
}
body.light-theme .tickets-inbox-assignee-option,
body.support-portal.light-theme .tickets-inbox-assignee-option {
    color: #0f172a;
}
body.light-theme .tickets-inbox-assignee-option:hover,
body.support-portal.light-theme .tickets-inbox-assignee-option:hover {
    background: rgba(15, 23, 42, 0.05);
}
body.light-theme .tickets-inbox-assignee-option.is-current,
body.support-portal.light-theme .tickets-inbox-assignee-option.is-current {
    background: rgba(109, 124, 242, 0.12);
}
body.light-theme .tickets-inbox-assignee-option-name,
body.support-portal.light-theme .tickets-inbox-assignee-option-name {
    color: #0f172a !important;
}
body.light-theme .tickets-inbox-assignee-option-role,
body.support-portal.light-theme .tickets-inbox-assignee-option-role,
body.light-theme .tickets-inbox-assignee-loading,
body.support-portal.light-theme .tickets-inbox-assignee-loading,
body.light-theme .tickets-inbox-assignee-empty,
body.support-portal.light-theme .tickets-inbox-assignee-empty {
    color: #475569 !important;
}
body.light-theme .tickets-inbox-assignee-btn:hover,
body.support-portal.light-theme .tickets-inbox-assignee-btn:hover {
    background: rgba(15, 23, 42, 0.05);
}
.tickets-inbox-chat-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: #f3f6ff;
}
.tickets-inbox-messages-wrap {
    flex: 1;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.tickets-inbox-messages {
    min-height: min-content;
    height: auto;
    overflow: visible;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.tickets-inbox-placeholder,
.tickets-inbox-list-empty {
    color: #8f9ab8;
    font-size: 14px;
}
.tickets-inbox-system-msg {
    align-self: center;
    max-width: 90%;
    text-align: center;
    font-size: 12px;
    padding: 8px 10px;
    text-transform: none;
}
.tickets-inbox-system-msg-text {
    color: #f3f6ff;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
}
.tickets-inbox-system-msg-sub {
    margin-top: 4px;
    color: #8f9ab8;
    font-size: 11px;
    letter-spacing: 0.02em;
    text-transform: none;
}
.tickets-inbox-msg {
    max-width: 85%;
    padding: 0;
    background: transparent;
    border: none;
    word-break: break-word;
}
.tickets-inbox-msg.user {
    align-self: flex-start;
    color: #e8ecf8;
}
.tickets-inbox-msg.staff {
    align-self: flex-end;
    color: #f5f0ff;
}
.tickets-inbox-msg-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
}
.tickets-inbox-msg-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    margin-top: 2px;
    background: rgba(255, 255, 255, 0.08);
}
.tickets-inbox-msg-avatar--placeholder {
    display: block;
}
.tickets-inbox-msg-bubble {
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
    text-align: left;
}
.tickets-inbox-msg-time {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.2;
    text-align: right;
    color: rgba(255, 255, 255, 0.42);
    user-select: none;
}
.tickets-inbox-msg-bubble--staff .tickets-inbox-msg-time {
    color: rgba(237, 233, 254, 0.55);
}
.tickets-inbox-msg-bubble--user {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.tickets-inbox-msg-bubble--staff {
    background: rgba(109, 72, 255, 0.35);
    border: 1px solid rgba(167, 139, 250, 0.35);
}
.tickets-inbox-msg-status {
    margin-top: 6px;
    font-size: 11px;
    line-height: 1.3;
    text-align: left;
    padding: 3px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.tickets-inbox-msg-status--delivered {
    color: rgba(74, 222, 128, 0.8);
}
.tickets-inbox-msg-status--failed {
    color: rgba(252, 129, 129, 0.85);
}
.tickets-inbox-msg-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: flex-start;
    gap: 6px;
    margin-bottom: 4px;
    text-align: left;
}
.tickets-inbox-msg-meta-name {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.88);
    line-height: 1.3;
}
.tickets-inbox-msg-meta-role {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    line-height: 1.3;
}
.tickets-inbox-msg-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 4px;
}
.tickets-inbox-msg-meta--staff {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
}
.tickets-inbox-msg-meta-avatar {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.tickets-inbox-compose-wrap {
    position: relative;
    flex-shrink: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    background: #050508;
}
.tickets-inbox-reply-image-preview {
    padding: 8px 12px 0;
}
.tickets-inbox-reply-image-preview[hidden] { display: none !important; }
.tickets-inbox-reply-image-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 6px 8px 6px 6px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.tickets-inbox-reply-image-thumb {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
}
.tickets-inbox-reply-image-name {
    font-size: 12px;
    color: #b8c0d8;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.tickets-inbox-reply-image-remove {
    border: none;
    background: transparent;
    color: #8f9ab8;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}
.tickets-inbox-reply-image-remove:hover { color: #fff; }
.tickets-inbox-quick-panel {
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    max-height: min(340px, 45vh);
    display: flex;
    flex-direction: column;
    background: #08080c;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    z-index: 20;
}
.tickets-inbox-quick-search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    opacity: 0.7;
    margin: 0;
    border-top: none;
    border-left: none;
    border-right: none;
}
.tickets-inbox-quick-search {
    flex: 1;
    border: none;
    background: transparent;
    color: #f3f6ff;
    font-size: 14px;
    outline: none;
}
.tickets-inbox-quick-tabs {
    display: flex;
    gap: 16px;
    padding: 0 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.tickets-inbox-quick-tab {
    padding: 10px 0;
    border: none;
    background: transparent;
    color: #8f9ab8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
}
.tickets-inbox-quick-tab.active {
    color: #a78bfa;
    border-bottom-color: #7c3aed;
}
.tickets-inbox-quick-list {
    flex: 1;
    overflow-y: auto;
    padding: 4px 0;
}
.tickets-inbox-quick-item {
    width: 100%;
    display: block;
    text-align: left;
    padding: 12px 14px;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: transparent;
    color: inherit;
    cursor: pointer;
}
.tickets-inbox-quick-item:hover { background: rgba(255, 255, 255, 0.04); }
.tickets-inbox-quick-item-title {
    font-weight: 700;
    font-size: 14px;
    color: #f3f6ff;
    margin-bottom: 4px;
}
.tickets-inbox-quick-item-body {
    font-size: 13px;
    color: #8f9ab8;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.tickets-inbox-compose {
    padding: 12px 14px;
    flex-shrink: 0;
    background: #050508;
}
.tickets-inbox-compose--closed { padding: 14px; }
.tickets-inbox-closed-hint {
    margin: 0;
    text-align: center;
    color: #8f9ab8;
    font-size: 14px;
}
.tickets-inbox-reply-text {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 12px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.05);
    color: #f3f6ff;
    font-size: 14px;
    resize: vertical;
    min-height: 44px;
    margin-bottom: 8px;
}
.tickets-inbox-compose-bar {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}
.tickets-inbox-compose-icon,
.tickets-inbox-send-btn {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: none;
    background: rgba(255, 255, 255, 0.06);
    color: #e8ecf8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.tickets-inbox-compose-icon--active {
    background: rgba(124, 58, 237, 0.55);
    color: #fff;
}
.tickets-inbox-send-btn {
    background: rgba(109, 124, 242, 0.85);
    border-color: transparent;
    color: #fff;
}
.tickets-inbox-profile {
    padding: 16px;
    overflow-y: auto;
}
.tickets-inbox-profile-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    margin: 0 auto 12px;
    display: block;
    background: rgba(255, 255, 255, 0.08);
}
.tickets-inbox-profile-name {
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #f3f6ff;
    margin: 0 0 4px;
}
.tickets-inbox-profile-id {
    text-align: center;
    font-size: 12px;
    color: #8f9ab8;
    margin: 0 0 12px;
    word-break: break-all;
}
.tickets-inbox-profile-status {
    text-align: center;
    font-size: 12px;
    color: #a7afc4;
    margin-bottom: 14px;
}
.tickets-inbox-profile-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}
.tickets-inbox-profile-actions .action-btn { width: 100%; justify-content: center; }
.tickets-inbox-profile-actions .accept-btn {
    background: rgba(46, 204, 113, 0.12);
    border: 1px solid rgba(46, 204, 113, 0.45);
    color: #5dca82;
}
.tickets-inbox-profile-actions .accept-btn:hover {
    background: rgba(46, 204, 113, 0.22);
    color: #7ee8a3;
}
.tickets-inbox-profile-actions .reject-btn {
    background: rgba(12, 8, 8, 0.95);
    border: 1px solid rgba(180, 55, 55, 0.55);
    color: #c44;
}
.tickets-inbox-profile-actions .reject-btn:hover {
    background: rgba(180, 55, 55, 0.15);
    color: #e66;
}
.tickets-inbox-profile-actions .reassign-btn {
    background: #2b3142;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #e8ecf8;
}
.tickets-inbox-profile-actions .reassign-btn:hover {
    background: #343b4f;
    color: #fff;
}
.tickets-inbox-profile-actions .delete-btn {
    background: #1a1e28;
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: #b8c0d8;
}
.tickets-inbox-profile-actions .delete-btn:hover {
    background: #242936;
    color: #e8ecf8;
}
.tickets-inbox-profile-actions .tickets-inbox-ban-btn {
    background: #e74c3c;
    border: none;
    color: #fff;
    font-weight: 600;
}
.tickets-inbox-profile-actions .tickets-inbox-ban-btn:hover {
    background: #ef5a4a;
    color: #fff;
}
.tickets-inbox-meta-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 8px;
}
.tickets-inbox-meta-row {
    padding: 8px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: transparent;
    border-radius: 0;
}
.tickets-inbox-notes-block {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.tickets-inbox-notes-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #8f9ab8;
    margin: 0 0 8px;
}
.tickets-inbox-notes-textarea {
    width: 100%;
    box-sizing: border-box;
    min-height: 72px;
    padding: 10px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.05);
    color: #e8ecf8;
    font-size: 13px;
    resize: vertical;
}
.tickets-inbox-notes-meta {
    font-size: 11px;
    color: #6b7280;
    margin: 6px 0 8px;
}
.tickets-inbox-notes-actions {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.tickets-inbox-notes-save {
    width: 100%;
    padding: 8px;
    border: none;
    border-radius: 8px;
    background: rgba(109, 124, 242, 0.75);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.tickets-inbox-notes-save:disabled {
    opacity: 0.45;
    cursor: default;
}
.tickets-inbox-notes-cancel,
.tickets-inbox-notes-delete {
    width: 100%;
    padding: 8px;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}
.tickets-inbox-notes-cancel {
    background: rgba(255, 255, 255, 0.08);
    color: #c5cee0;
}
.tickets-inbox-notes-cancel:hover {
    background: rgba(255, 255, 255, 0.12);
}
.tickets-inbox-notes-delete {
    background: rgba(231, 76, 60, 0.2);
    color: #f87171;
}
.tickets-inbox-notes-delete:hover {
    background: rgba(231, 76, 60, 0.32);
}
.tickets-inbox-meta-label {
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #8f9ab8;
    margin-bottom: 2px;
}
.tickets-inbox-meta-value {
    font-size: 13px;
    color: #e8ecf8;
    word-break: break-word;
}
body.light-theme .tickets-sub-inbox-shell,
body.light-theme .tickets-inbox,
body.light-theme .tickets-inbox-sidebar,
body.light-theme .tickets-inbox-chat,
body.light-theme .tickets-inbox-profile,
body.light-theme .tickets-inbox-compose-wrap,
body.light-theme .tickets-inbox-compose,
body.light-theme .tickets-inbox-messages-wrap {
    background: #ffffff;
}
body.light-theme .tickets-inbox-sidebar { border-right-color: rgba(15, 23, 42, 0.1); }
body.light-theme .tickets-inbox-profile { border-left-color: rgba(15, 23, 42, 0.1); }
body.light-theme .tickets-inbox-search,
body.light-theme .tickets-inbox-filter-btn,
body.light-theme .tickets-inbox-reply-text,
body.light-theme .tickets-inbox-notes-textarea {
    background: #ffffff;
    color: #0f172a;
    border: 1px solid rgba(15, 23, 42, 0.16);
}
body.light-theme .tickets-inbox-dialogue-name,
body.light-theme .tickets-inbox-chat-title,
body.light-theme .tickets-inbox-profile-name { color: #1e293b; }
body.light-theme .tickets-inbox-msg.user {
    color: #1e293b;
}
body.light-theme .tickets-inbox-msg-bubble--user {
    background: #f1f5f9;
    border-color: rgba(15, 23, 42, 0.08);
}
body.light-theme .tickets-inbox-msg.staff {
    color: #312e81;
}
body.light-theme .tickets-inbox-msg-bubble--staff {
    background: rgba(109, 72, 255, 0.15);
    border-color: rgba(109, 72, 255, 0.2);
}
body.light-theme .tickets-inbox-msg-time {
    color: rgba(100, 116, 139, 0.85);
}
body.light-theme .tickets-inbox-msg-bubble--staff .tickets-inbox-msg-time {
    color: rgba(91, 33, 182, 0.65);
}
body.light-theme .tickets-inbox-msg-meta-name {
    color: rgba(30, 41, 59, 0.92);
}
body.light-theme .tickets-inbox-msg-meta-role {
    color: rgba(71, 85, 105, 0.9);
}
@media (max-width: 1100px) {
    .tickets-inbox {
        grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    }
    .tickets-inbox-profile { display: none; }
    .tickets-inbox-profile-toggle { display: none !important; }
}
@media (max-width: 760px) {
    .tickets-inbox {
        grid-template-columns: 1fr;
        max-height: none;
        min-height: calc(100dvh - 220px);
    }
    .tickets-inbox-chat { min-height: min(520px, 70dvh); }
    .tickets-inbox-reply-text,
    .tickets-inbox-search {
        font-size: 16px;
    }
}

/* ——— Skinchanger (WeaponPaints) ——— */
.profile-skinchanger-card {
    border: 1px solid rgba(139, 92, 246, 0.22);
    border-radius: 14px;
    padding: 16px 18px;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}
.profile-skinchanger-head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: 14px;
}
.profile-skinchanger-team {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}
.profile-skinchanger-team-label {
    font-size: 0.82rem;
    color: #94a3b8;
}
.profile-skinchanger-team-switch {
    display: inline-flex;
    padding: 3px;
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.65);
    border: 1px solid rgba(148, 163, 184, 0.18);
}
.profile-skinchanger-team-btn {
    min-width: 40px;
    padding: 5px 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #94a3b8;
    font-weight: 700;
    font-size: 0.8rem;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}
.profile-skinchanger-team-btn:hover { color: #f8fafc; }
.profile-skinchanger-team-btn.is-active {
    background: #6366f1;
    color: #fff;
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.35);
}
.profile-skinchanger-title {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #f8fafc;
}
.profile-skinchanger-gate {
    padding: 14px 16px;
    border-radius: 10px;
    background: rgba(15, 23, 42, 0.55);
    border: 1px solid rgba(148, 163, 184, 0.15);
    color: #cbd5e1;
    line-height: 1.5;
}
.profile-skinchanger-info {
    margin-bottom: 12px;
    padding: 12px 14px;
    border-radius: 10px;
    background: rgba(139, 92, 246, 0.08);
    border: 1px solid rgba(139, 92, 246, 0.22);
    font-size: 0.92rem;
    line-height: 1.45;
    color: #e2e8f0;
}
.profile-skinchanger-info-list {
    margin: 8px 0 0;
    padding-left: 1.2rem;
}
.profile-skinchanger-php-wrap {
    width: 100%;
    min-height: 720px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(139, 92, 246, 0.18);
    background: #1a1a24;
}
.profile-skinchanger-php-frame {
    display: block;
    width: 100%;
    min-height: 920px;
    height: min(86vh, 1100px);
    border: 0;
    background: #1a1a24;
}
.profile-skinchanger-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    margin-bottom: 12px;
}
.profile-skinchanger-search {
    min-width: min(100%, 240px);
    flex: 1 1 200px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(15, 23, 42, 0.6);
    color: #f8fafc;
}
.profile-skinchanger-hint {
    margin: 0;
    font-size: 0.85rem;
    color: rgba(148, 163, 184, 0.95);
}
.profile-skinchanger-layout {
    display: grid;
    grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
    gap: 14px;
    min-height: 320px;
}
.profile-skinchanger-weapons {
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-height: 420px;
    overflow: auto;
    padding-right: 4px;
}
.profile-skinchanger-weapon-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid transparent;
    background: rgba(15, 23, 42, 0.45);
    color: #e2e8f0;
    text-align: left;
    cursor: pointer;
}
.profile-skinchanger-weapon-btn:hover {
    border-color: rgba(139, 92, 246, 0.35);
}
.profile-skinchanger-weapon-btn.is-active {
    border-color: rgba(139, 92, 246, 0.65);
    background: rgba(109, 72, 255, 0.18);
}
.profile-skinchanger-weapon-btn img {
    width: 48px;
    height: 36px;
    object-fit: contain;
    flex-shrink: 0;
}
.profile-skinchanger-editor {
    border: 1px solid rgba(148, 163, 184, 0.15);
    border-radius: 10px;
    padding: 12px;
    background: rgba(15, 23, 42, 0.35);
    overflow: auto;
    max-height: 420px;
}
.profile-skinchanger-editor-placeholder {
    margin: 0;
    color: rgba(148, 163, 184, 0.9);
}
.profile-skinchanger-skins {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 8px;
}
.profile-skinchanger-skin-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(2, 6, 23, 0.35);
    color: #e2e8f0;
    cursor: pointer;
    font-size: 0.75rem;
    line-height: 1.25;
}
.profile-skinchanger-skin-btn.is-active {
    border-color: rgba(139, 92, 246, 0.7);
    box-shadow: 0 0 0 1px rgba(139, 92, 246, 0.35);
}
.profile-skinchanger-skin-btn img {
    width: 100%;
    max-width: 96px;
    height: 72px;
    object-fit: contain;
}
.profile-skinchanger-fields {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin: 12px 0;
}
.profile-skinchanger-fields label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.8rem;
    color: #94a3b8;
}
.profile-skinchanger-fields input,
.profile-skinchanger-fields select {
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid rgba(148, 163, 184, 0.25);
    background: rgba(15, 23, 42, 0.65);
    color: #f8fafc;
}
.profile-skinchanger-knife {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, 0.15);
}
.profile-skinchanger-knife-title {
    margin: 0 0 10px;
    font-size: 1rem;
    color: #f1f5f9;
}
.profile-skinchanger-knives {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 8px;
}
.profile-skinchanger-knife-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 8px;
    border-radius: 8px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    background: rgba(2, 6, 23, 0.35);
    color: #e2e8f0;
    cursor: pointer;
    font-size: 0.75rem;
}
.profile-skinchanger-knife-btn.is-active {
    border-color: rgba(139, 92, 246, 0.7);
}
.profile-skinchanger-knife-btn img {
    width: 72px;
    height: 54px;
    object-fit: contain;
}
@media (max-width: 760px) {
    .profile-skinchanger-layout {
        grid-template-columns: 1fr;
    }
    .profile-skinchanger-weapons {
        max-height: 200px;
    }
}

/* ===== Site chat ===== */
.site-chat-tab {
    position: fixed;
    right: 0;
    bottom: 96px;
    z-index: 9400;
    width: 44px;
    height: 56px;
    padding: 0;
    border: none;
    border-radius: 14px 0 0 14px;
    background: #7c73e6;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: -2px 4px 16px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease, opacity 0.15s ease;
}
.site-chat-tab:hover { filter: brightness(1.06); }
body.site-chat-open .site-chat-tab { opacity: 0; pointer-events: none; transform: translateX(8px); }
.site-chat-tab-ico { display: flex; }

.site-chat-drawer {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(400px, 100vw);
    z-index: 9500;
    display: flex;
    flex-direction: column;
    background: #12141c;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: -12px 0 40px rgba(0, 0, 0, 0.45);
    transform: translateX(100%);
    transition: transform 0.22s ease;
    pointer-events: none;
}
.site-chat-drawer.is-open {
    transform: translateX(0);
    pointer-events: auto;
    visibility: visible;
    transition: transform 0.22s ease, visibility 0s;
}
.site-chat-drawer:not(.is-open) {
    visibility: hidden;
    transition: transform 0.22s ease, visibility 0s linear 0.22s;
}
body.light-theme .site-chat-drawer {
    background: #f8fafc;
    border-left-color: rgba(15, 23, 42, 0.1);
}

.site-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 14px 14px 10px;
    flex-shrink: 0;
}
.site-chat-header-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}
.site-chat-header-ico { color: #8b83f0; display: flex; }
.site-chat-title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f1f5f9;
}
body.light-theme .site-chat-title { color: #0f172a; }
.site-chat-online {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 0.85rem;
    font-weight: 600;
    color: #c4b5fd;
}
.site-chat-online-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8b5cf6;
    box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.25);
}
.site-chat-header-actions { display: flex; gap: 4px; }
.site-chat-icon-btn {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: #cbd5e1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.site-chat-icon-btn:hover { background: rgba(255, 255, 255, 0.08); color: #fff; }

.site-chat-tabs {
    display: flex;
    gap: 4px;
    padding: 0 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    flex-shrink: 0;
}
.site-chat-tab-btn {
    appearance: none;
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 12px 12px;
    cursor: pointer;
    position: relative;
}
.site-chat-tab-btn.is-active { color: #e2e8f0; }
.site-chat-tab-btn.is-active::after {
    content: '';
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 0;
    height: 2px;
    border-radius: 2px;
    background: #8b5cf6;
}
.site-chat-tab-btn:disabled { opacity: 0.45; cursor: not-allowed; }

.site-chat-feed {
    flex: 1;
    overflow-y: auto;
    padding: 12px 14px 8px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.site-chat-drawer[data-density="compact"] .site-chat-feed { gap: 8px; }
.site-chat-drawer[data-density="spacious"] .site-chat-feed { gap: 16px; }
.site-chat-drawer[data-text="sm"] .site-chat-msg-body { font-size: 0.85rem; }
.site-chat-drawer[data-text="md"] .site-chat-msg-body { font-size: 0.95rem; }
.site-chat-drawer[data-text="lg"] .site-chat-msg-body { font-size: 1.05rem; }
.site-chat-drawer[data-avatars="0"] .site-chat-msg {
    grid-template-columns: 1fr;
}
.site-chat-drawer[data-avatars="0"] .site-chat-msg > .site-chat-msg-avatar,
.site-chat-drawer[data-avatars="0"] .site-chat-msg > a.site-chat-author-link {
    display: none;
}
.site-chat-drawer[data-timestamps="0"] .site-chat-msg-time { display: none; }
.site-chat-drawer[data-timestamps="0"] .site-chat-msg-continued-time { display: none !important; }

.site-chat-msg {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 10px;
    align-items: start;
    position: relative;
}
.site-chat-msg + .site-chat-msg:not(.is-continued) {
    margin-top: 10px;
}
.site-chat-msg.is-continued {
    margin-top: 2px;
}
.site-chat-msg-continued-time {
    display: none;
}
.site-chat-msg.is-continued > .site-chat-msg-avatar,
.site-chat-msg.is-continued > a.site-chat-author-link {
    visibility: hidden;
    pointer-events: none;
}
.site-chat-msg.is-continued .site-chat-msg-author,
.site-chat-msg.is-continued .site-chat-msg-name,
.site-chat-msg.is-continued .site-chat-msg-mute-ico {
    display: none !important;
}
.site-chat-msg.is-continued .site-chat-msg-top {
    position: absolute;
    right: 0;
    top: 0;
    margin-bottom: 0;
    min-height: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.12s ease;
}
.site-chat-msg.is-continued:hover .site-chat-msg-top,
.site-chat-msg.is-continued:focus-within .site-chat-msg-top {
    opacity: 1;
}
.site-chat-msg.is-continued .site-chat-msg-time {
    display: none;
}
.site-chat-msg.is-continued:hover .site-chat-msg-continued-time {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    left: 0;
    top: 4px;
    width: 40px;
    padding-right: 4px;
    font-size: 0.65rem;
    line-height: 1.1;
    color: #64748b;
    pointer-events: none;
    visibility: visible;
}
.site-chat-drawer[data-anim="1"] .site-chat-msg.is-new {
    animation: site-chat-msg-in 0.25s ease;
}
@keyframes site-chat-msg-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
}
.site-chat-msg-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.08);
}
.site-chat-msg-main { min-width: 0; }
.site-chat-msg-top {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 8px;
    margin-bottom: 2px;
}
.site-chat-msg-name {
    font-weight: 600;
    font-size: 0.88rem;
    color: #e2e8f0;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-chat-msg-name.is-accent { color: #a78bfa; font-style: italic; }
.site-chat-msg-meta {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.site-chat-msg-time {
    font-size: 0.75rem;
    color: #94a3b8;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.site-chat-msg-more {
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.site-chat-msg-more:hover { color: #e2e8f0; background: rgba(255, 255, 255, 0.06); }
.site-chat-msg-more .ui-icon {
    transform: rotate(90deg);
}
.site-chat-msg-body {
    margin: 0;
    color: #f8fafc;
    font-weight: 600;
    line-height: 1.35;
    word-break: break-word;
    white-space: pre-wrap;
}
.site-chat-mention {
    color: #64748b;
    font-weight: 700;
}
body.light-theme .site-chat-msg-name { color: #0f172a; }
body.light-theme .site-chat-msg-body { color: #111827; }
body.light-theme .site-chat-mention { color: #475569; }

.site-chat-compose {
    flex-shrink: 0;
    padding: 10px 14px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.site-chat-guest-hint,
.site-chat-mute-hint {
    margin: 0 0 8px;
    font-size: 0.82rem;
    color: #94a3b8;
}
.site-chat-msg-mute-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 4px;
    color: #f87171;
    flex-shrink: 0;
    vertical-align: middle;
}
.site-chat-msg-mute-ico .ui-icon {
    width: 14px;
    height: 14px;
}
.site-chat-msg-author {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    gap: 0;
}
.site-chat-msg-name-btn {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
    max-width: 100%;
    display: inline-flex;
    align-items: center;
}
.site-chat-msg-name-btn:hover .site-chat-msg-name {
    color: #c4b5fd;
    text-decoration: none;
}
.site-chat-compose.is-muted .site-chat-form {
    display: none !important;
}
.site-chat-compose.is-muted .site-chat-reply-bar {
    display: none !important;
}
.site-chat-compose.is-muted .site-chat-guest-hint {
    display: none !important;
}
.site-chat-mute-hint {
    display: none;
}
.site-chat-compose.is-muted .site-chat-mute-hint {
    display: block;
    margin: 0;
    padding: 14px 12px;
    border-radius: 12px;
    border: 1px solid rgba(248, 113, 113, 0.35);
    background: rgba(248, 113, 113, 0.08);
    color: #fecaca;
    font-size: 0.92rem;
    font-weight: 600;
    text-align: center;
}
#site-chat-mute-modal .mod-sanction-modal-actions .ticket-ban-preset-btn,
#site-chat-report-modal .mod-sanction-modal-actions .ticket-ban-preset-btn,
#site-chat-report-close-modal .mod-sanction-modal-actions .ticket-ban-preset-btn {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
    border: 1px solid rgba(127, 145, 255, 0.42);
    background: linear-gradient(180deg, rgba(52, 58, 92, 0.92), rgba(28, 32, 52, 0.96));
    color: #eef2ff;
    border-radius: 10px;
    font-size: 0.88rem;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.2;
    padding: 10px 18px;
    cursor: pointer;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.06) inset,
        0 2px 8px rgba(0, 0, 0, 0.25);
}
#site-chat-mute-modal .mod-sanction-modal-actions .ticket-ban-preset-btn:hover,
#site-chat-report-modal .mod-sanction-modal-actions .ticket-ban-preset-btn:hover,
#site-chat-report-close-modal .mod-sanction-modal-actions .ticket-ban-preset-btn:hover {
    border-color: rgba(168, 182, 255, 0.85);
    filter: brightness(1.06);
}
#site-chat-mute-modal .mod-sanction-modal-actions .ticket-ban-preset-btn.is-danger,
#site-chat-report-modal .mod-sanction-modal-actions .ticket-ban-preset-btn.is-danger,
#site-chat-report-close-modal .mod-sanction-modal-actions .ticket-ban-preset-btn.is-danger {
    border-color: rgba(248, 113, 113, 0.55);
    background: linear-gradient(180deg, rgba(90, 40, 48, 0.95), rgba(48, 24, 28, 0.98));
    color: #fecaca;
}
.site-chat-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.site-chat-compose-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    padding: 6px 8px;
}
.site-chat-compose-left {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-shrink: 0;
}
.site-chat-compose-bar input {
    flex: 1;
    min-width: 0;
    border: none;
    background: transparent;
    color: #f1f5f9;
    padding: 8px 6px;
    font-size: 0.92rem;
    outline: none;
}
.site-chat-tool-btn {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    flex-shrink: 0;
}
.site-chat-tool-btn:hover:not(:disabled) {
    color: #e2e8f0;
    background: rgba(255, 255, 255, 0.06);
}
.site-chat-tool-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}
.site-chat-tool-btn.is-recording {
    color: #f87171;
    background: rgba(248, 113, 113, 0.15);
}
.site-chat-send-btn {
    color: #a78bfa;
}
.site-chat-emoji-panel {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 4px;
    max-height: 160px;
    overflow-y: auto;
    padding: 8px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.35);
}
.site-chat-emoji-panel[hidden] {
    display: none !important;
}
.site-chat-emoji-panel button {
    border: none;
    background: transparent;
    font-size: 1.25rem;
    line-height: 1;
    padding: 4px;
    cursor: pointer;
    border-radius: 6px;
}
.site-chat-emoji-panel button:hover {
    background: rgba(255, 255, 255, 0.08);
}
.site-chat-voice-status {
    margin: 0;
    font-size: 0.8rem;
    color: #f87171;
}
.site-chat-voice-status[hidden] {
    display: none !important;
}
.site-chat-msg-voice {
    margin-top: 6px;
    max-width: 260px;
}
.site-chat-voice-player {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.18), rgba(15, 23, 42, 0.55));
    border: 1px solid rgba(165, 180, 252, 0.22);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
.site-chat-voice-player audio {
    display: none !important;
}
.sc-voice-play {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    flex-shrink: 0;
    cursor: pointer;
    color: #eef2ff;
    background: linear-gradient(145deg, #818cf8, #6366f1);
    box-shadow: 0 4px 12px rgba(99, 102, 241, 0.35);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.sc-voice-play:hover {
    filter: brightness(1.08);
}
.sc-voice-play.is-playing {
    background: linear-gradient(145deg, #a78bfa, #7c3aed);
}
.sc-voice-play .sc-voice-ico-pause {
    display: none;
}
.sc-voice-play.is-playing .sc-voice-ico-play {
    display: none;
}
.sc-voice-play.is-playing .sc-voice-ico-pause {
    display: inline-flex;
}
.sc-voice-wave {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 3px;
    height: 28px;
    pointer-events: none;
    user-select: none;
}
.sc-voice-wave span {
    flex: 1;
    max-width: 4px;
    border-radius: 99px;
    background: rgba(199, 210, 254, 0.35);
    height: 30%;
    transition: height 0.15s ease, background 0.15s ease;
}
.sc-voice-wave span:nth-child(2n) { height: 55%; }
.sc-voice-wave span:nth-child(3n) { height: 75%; }
.sc-voice-wave span:nth-child(5n) { height: 42%; }
.site-chat-voice-player.is-playing .sc-voice-wave span {
    background: rgba(196, 181, 253, 0.85);
    animation: sc-voice-bar 0.9s ease-in-out infinite;
}
.site-chat-voice-player.is-playing .sc-voice-wave span:nth-child(2n) { animation-delay: 0.1s; }
.site-chat-voice-player.is-playing .sc-voice-wave span:nth-child(3n) { animation-delay: 0.2s; }
.site-chat-voice-player.is-playing .sc-voice-wave span:nth-child(4n) { animation-delay: 0.05s; }
@keyframes sc-voice-bar {
    0%, 100% { transform: scaleY(0.45); }
    50% { transform: scaleY(1); }
}
.sc-voice-vol {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}
.sc-voice-vol-btn {
    width: 26px;
    height: 26px;
    border: none;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: #c7d2fe;
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
    font-weight: 700;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.sc-voice-vol-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.sc-voice-vol-meter {
    width: 36px;
    height: 6px;
    border-radius: 99px;
    background: rgba(15, 23, 42, 0.55);
    overflow: hidden;
}
.sc-voice-vol-meter > i {
    display: block;
    height: 100%;
    width: 70%;
    border-radius: inherit;
    background: linear-gradient(90deg, #818cf8, #c4b5fd);
}

.site-chat-menu {
    position: fixed;
    z-index: 9600;
    min-width: 200px;
    padding: 6px;
    border-radius: 10px;
    background: #1a1d27;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}
.site-chat-menu[hidden] {
    display: none !important;
}
.site-chat-menu-item {
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    color: #cbd5e1;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
}
.site-chat-menu-item[hidden] {
    display: none !important;
}
.site-chat-menu-ico {
    display: inline-flex;
    flex-shrink: 0;
    color: #94a3b8;
}
.site-chat-menu-item:hover {
    background: rgba(124, 115, 230, 0.2);
    color: #f1f5f9;
}
.site-chat-menu-item:hover .site-chat-menu-ico {
    color: #e2e8f0;
}
.site-chat-menu-item#site-chat-menu-delete:hover {
    background: rgba(248, 113, 113, 0.14);
    color: #fecaca;
}
.site-chat-menu-item#site-chat-menu-delete:hover .site-chat-menu-ico {
    color: #fca5a5;
}

.site-chat-settings-panel {
    max-width: 420px;
    width: calc(100% - 24px);
}
.site-chat-settings-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px;
    font-size: 1.15rem;
}
.site-chat-settings-desc {
    margin: 0 0 16px;
    color: #94a3b8;
    font-size: 0.9rem;
}
.site-chat-settings-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 14px; }
.site-chat-toggle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.92rem;
    color: #e2e8f0;
}
.site-chat-switch {
    width: 42px;
    height: 24px;
    flex-shrink: 0;
    border: none;
    border-radius: 999px;
    background: #374151;
    position: relative;
    cursor: pointer;
    padding: 0;
    transition: background 0.15s ease;
}
.site-chat-switch::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    transition: transform 0.15s ease;
    pointer-events: none;
}
.site-chat-switch[aria-checked="true"] { background: #7c73e6; }
.site-chat-switch[aria-checked="true"]::after { transform: translateX(18px); }
.site-chat-msg.is-bot .site-chat-msg-name {
    color: #a78bfa;
}
.site-chat-msg.is-bot .site-chat-msg-name::after {
    content: 'бот';
    margin-left: 6px;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #94a3b8;
    vertical-align: middle;
}
.site-chat-drawer[data-hide-bots="1"] .site-chat-msg.is-bot { display: none; }
.site-chat-settings-block { margin-bottom: 12px; }
.site-chat-settings-block label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9rem;
    color: #cbd5e1;
}
.site-chat-settings-block select,
.site-chat-settings-block input[type="range"] {
    width: 100%;
}
.site-chat-settings-block select {
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: #1a1d27;
    color: #f1f5f9;
    color-scheme: dark;
}
.site-chat-settings-block select option {
    background: #1a1d27;
    color: #e2e8f0;
}
.site-chat-settings-block select option:checked,
.site-chat-settings-block select option:hover {
    background: #312e81;
    color: #f8fafc;
}
body.light-theme .site-chat-settings-block select {
    background: #fff;
    color: #0f172a;
    border-color: rgba(15, 23, 42, 0.15);
    color-scheme: light;
}
body.light-theme .site-chat-settings-block select option {
    background: #fff;
    color: #0f172a;
}
.site-chat-settings-reset {
    width: 100%;
    margin-top: 8px;
    padding: 10px 12px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
    cursor: pointer;
    font-weight: 600;
}
.site-chat-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    border: none;
    background: transparent;
    color: #94a3b8;
    font-size: 1.4rem;
    cursor: pointer;
}
.site-chat-modal .modal-content { position: relative; }

.mod-chat-mute-more {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #94a3b8;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.mod-chat-mute-more .ui-icon { transform: rotate(90deg); }
.mod-chat-mute-menu {
    position: fixed;
    z-index: 9800;
    min-width: 140px;
    padding: 4px;
    border-radius: 8px;
    background: #1a1d27;
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
}
.mod-chat-mute-menu button {
    width: 100%;
    text-align: left;
    border: none;
    background: transparent;
    color: #f1f5f9;
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
}
.mod-chat-mute-menu button:hover { background: rgba(248, 113, 113, 0.15); color: #fecaca; }

/* Site chat: reply / author links / mod sections */
.site-chat-reply-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 12px 0;
    padding: 8px 10px;
    border-radius: 8px;
    border-left: 3px solid #8b83f0;
    background: rgba(139, 131, 240, 0.1);
    flex-shrink: 0;
}
.site-chat-reply-bar[hidden] { display: none !important; }
.site-chat-reply-bar-text {
    flex: 1;
    min-width: 0;
    font-size: 0.8rem;
    color: #cbd5e1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-chat-reply-bar-label {
    font-weight: 700;
    color: #a5b4fc;
    margin-right: 6px;
}
.site-chat-msg-reply {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    margin: 0 0 6px;
    padding: 6px 8px;
    border: none;
    border-left: 3px solid #6366f1;
    border-radius: 0 6px 6px 0;
    background: rgba(99, 102, 241, 0.12);
    color: #cbd5e1;
    cursor: pointer;
    text-align: left;
}
.site-chat-msg-reply:hover { background: rgba(99, 102, 241, 0.2); }
.site-chat-msg-reply.is-deleted-reply,
.site-chat-msg-reply.is-deleted-reply:hover {
    cursor: default;
    opacity: 0.72;
    background: rgba(148, 163, 184, 0.1);
    border-left-color: #64748b;
}
.site-chat-msg-reply-name {
    font-size: 0.75rem;
    font-weight: 700;
    color: #a5b4fc;
}
.site-chat-msg-reply-preview {
    font-size: 0.78rem;
    color: #94a3b8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}
.site-chat-msg.is-reply-flash {
    outline: 1px solid rgba(139, 131, 240, 0.7);
    border-radius: 8px;
}
.site-chat-author-link {
    color: inherit;
    text-decoration: none;
}
.site-chat-author-link:hover .site-chat-msg-name,
a.site-chat-author-link.steam-profile-nav-link:hover {
    color: #c4b5fd;
    text-decoration: underline;
}
.site-chat-msg > a.site-chat-author-link {
    display: block;
    width: 40px;
    height: 40px;
}
.site-chat-mute-reason-presets {
    margin-top: 8px;
}
.mod-chat-mgmt-section-title {
    margin: 16px 0 8px;
    font-size: 0.95rem;
    font-weight: 700;
    color: #e2e8f0;
}
.mod-chat-log-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}
.mod-chat-log-filters input[type="date"],
.mod-chat-log-filters input[type="search"] {
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.04);
    color: #e2e8f0;
}
.mod-nav-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 9px;
    background: #ef4444;
    color: #fff;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
}
.mod-chat-mutes-search { margin-bottom: 10px; }

/* Site support widget — на всю ширину подвкладки */
#tickets-sub-site-support {
    width: 100%;
}
#tickets-content.tickets-page--site-support > h1 {
    margin-bottom: 12px;
}
.site-support-widget {
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 18px;
    background: linear-gradient(180deg, #2a2433 0%, #1c1a22 40%, #18161d 100%);
    border: 1px solid rgba(255,255,255,0.06);
    box-shadow: 0 12px 40px rgba(0,0,0,0.35);
    overflow: hidden;
    color: #f3f4f6;
    display: flex;
    flex-direction: column;
}
.site-support-widget:has(#site-support-panel-chat:not([hidden])) {
    min-height: min(720px, calc(100vh - 200px));
    min-height: min(720px, calc(var(--site-support-vvh, 100dvh) - 200px));
}
.site-support-head { padding: 22px 28px 12px; }
.site-support-title { margin: 0; font-size: 1.65rem; font-weight: 700; letter-spacing: -0.02em; }
.site-support-subtitle { margin: 6px 0 14px; color: #9ca3af; font-size: 0.9rem; }
.site-support-ops {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    color: #d1d5db;
    font-size: 0.92rem;
}
.site-support-ops-avatars {
    display: inline-flex;
    align-items: center;
    flex-direction: row;
}
.site-support-ops-avatar {
    width: 28px; height: 28px; border-radius: 50%;
    background: #b91c1c; color: #fff; display: inline-flex;
    align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem;
    border: 2px solid #1c1a22;
    box-sizing: border-box;
    cursor: default;
}
.site-support-ops-avatars .site-support-ops-avatar + .site-support-ops-avatar {
    margin-left: -10px;
}
.site-support-ops-avatar--empty {
    background: #4b5563;
    color: #d1d5db;
}
.site-support-ops-dot {
    width: 8px; height: 8px; border-radius: 50%; background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34,197,94,0.2);
}
.site-support-ops-dot.is-offline {
    background: #6b7280;
    box-shadow: none;
}
.site-support-tabs {
    display: grid; grid-template-columns: 1fr 1fr; gap: 8px;
    background: rgba(255,255,255,0.04); padding: 4px; border-radius: 12px;
    max-width: 420px;
}
.site-support-tab {
    border: 0; background: transparent; color: #9ca3af;
    padding: 10px 12px; border-radius: 10px; cursor: pointer; font-weight: 600;
}
.site-support-tab.active { background: rgba(0,0,0,0.35); color: #fff; }
#site-support-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.site-support-panel {
    padding: 8px 28px 28px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* display:flex выше перебивает нативный [hidden] — без этого чат остаётся на Главной */
.site-support-panel[hidden],
#site-support-chat-body[hidden],
#site-support-auth-gate[hidden],
.site-support-attach-preview[hidden] {
    display: none !important;
}
#site-support-panel-home {
    flex: 0 0 auto;
}
#site-support-panel-chat:not([hidden]) {
    flex: 1;
}
#site-support-chat-body:not([hidden]) {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.site-support-section-title { margin: 8px 0 12px; font-size: 1.05rem; }
.site-support-faq {
    display: grid;
    gap: 8px;
    max-width: 920px;
    margin-bottom: 16px;
    flex: 0 0 auto;
}
.site-support-faq-item {
    background: rgba(255,255,255,0.04); border-radius: 12px;
    border: 1px solid rgba(255,255,255,0.04);
}
.site-support-faq-item summary {
    list-style: none; cursor: pointer; padding: 14px 16px;
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
}
.site-support-faq-item summary::-webkit-details-marker { display: none; }
.site-support-faq-plus { color: #e5e7eb; font-size: 1.2rem; line-height: 1; }
.site-support-faq-item[open] .site-support-faq-plus { transform: rotate(45deg); display: inline-block; }
.site-support-faq-item p { margin: 0; padding: 0 16px 14px; color: #c4c7ce; font-size: 0.92rem; line-height: 1.45; }
.site-support-quick-links { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 14px; }
.site-support-chip {
    display: inline-flex; align-items: center; padding: 8px 12px; border-radius: 999px;
    background: rgba(255,255,255,0.06); color: #e5e7eb; text-decoration: none; font-size: 0.85rem;
}
.site-support-cta {
    width: 100%;
    max-width: 520px;
    border: 0; border-radius: 14px; padding: 14px 16px;
    background: linear-gradient(90deg, #5b6cff, #7c5cff); color: #fff;
    font-weight: 700; cursor: pointer; font-size: 0.98rem;
}
.site-support-auth-gate { padding: 40px 28px; text-align: center; color: #d1d5db; }
.site-support-topics-label { color: #9ca3af; margin: 4px 0 10px; font-size: 0.88rem; }
.site-support-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.site-support-topic-btn {
    border: 0; border-radius: 999px; padding: 8px 12px; cursor: pointer;
    background: rgba(255,255,255,0.06); color: #d1d5db; font-size: 0.84rem;
}
.site-support-topic-btn.active { background: #3b82f6; color: #fff; }
.site-support-topic-btn:disabled {
    opacity: 0.7;
    cursor: default;
}
.site-support-messages {
    flex: 1;
    min-height: 280px;
    max-height: none;
    overflow-y: auto;
    background: rgba(0,0,0,0.18); border-radius: 14px; padding: 14px; margin-bottom: 12px;
}
.site-support-day { text-align: center; color: #9ca3af; font-size: 0.8rem; margin: 4px 0 12px; }
.site-support-sys {
    text-align: center;
    color: #9ca3af;
    font-size: 0.82rem;
    margin: 10px auto 14px;
    max-width: 92%;
    line-height: 1.35;
}
.site-support-sys-text { font-weight: 500; }
.site-support-sys-time {
    margin-top: 3px;
    font-size: 0.72rem;
    color: #6b7280;
}
.site-support-bubble {
    max-width: min(640px, 90%); margin-bottom: 10px; padding: 10px 12px; border-radius: 14px;
    background: #2f3340; color: #f3f4f6; font-size: 0.92rem; line-height: 1.4;
}
.site-support-bubble.user { margin-left: auto; background: #3b4ccc; }
.site-support-bubble-author {
    display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
    font-size: 0.78rem; font-weight: 600; color: #e5e7eb; margin-bottom: 4px;
}
.site-support-bubble.user .site-support-bubble-author { color: #e0e7ff; }
.site-support-bubble-role {
    font-weight: 500; font-size: 0.72rem; color: #a5b4fc;
    background: rgba(99, 102, 241, 0.25); padding: 1px 6px; border-radius: 999px;
}
.site-support-bubble-time { margin-top: 6px; font-size: 0.72rem; color: #9ca3af; text-align: right; }
.site-support-compose {
    display: flex; align-items: center; gap: 8px;
    background: rgba(255,255,255,0.05); border-radius: 999px; padding: 6px 8px 6px 10px;
    max-width: 920px;
}
.site-support-input {
    flex: 1; border: 0; background: transparent; color: #fff; outline: none; font-size: 0.95rem; min-width: 0;
}
.site-support-icon-btn, .site-support-send {
    width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: pointer;
    background: transparent; color: #c4c7ce; font-size: 1rem;
    display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.site-support-send { background: #6d5cff; color: #fff; }
.site-support-send .ui-icon {
    width: 20px;
    height: 20px;
    fill: currentColor;
    color: #fff;
}
.site-support-icon-btn .ui-icon {
    width: 20px;
    height: 20px;
    fill: currentColor;
    color: inherit;
}
.site-support-compose-hint { margin: 10px 0 0; text-align: left; color: #9ca3af; font-size: 0.82rem; }
.site-support-attach-preview { margin-bottom: 8px; position: relative; display: inline-block; }
.site-support-attach-preview img { max-height: 72px; border-radius: 8px; }
.site-support-attach-preview button {
    position: absolute; top: -6px; right: -6px; border: 0; border-radius: 50%;
    width: 22px; height: 22px; cursor: pointer;
}
.site-support-attach { display: inline-block; margin: 0 0 10px; }
.site-support-attach img { max-height: 160px; border-radius: 10px; }
.tickets-inbox-source-badge {
    display: inline-block; margin-left: 6px; padding: 2px 6px; border-radius: 6px;
    font-size: 0.68rem; font-weight: 700; vertical-align: middle;
    background: rgba(124, 92, 255, 0.25); color: #c4b5fd;
}
body.light-theme .site-support-widget {
    background: linear-gradient(180deg, #f8fafc 0%, #eef2ff 100%);
    color: #111827; border-color: rgba(15,23,42,0.08);
}
body.light-theme .site-support-subtitle,
body.light-theme .site-support-compose-hint,
body.light-theme .site-support-topics-label,
body.light-theme .site-support-sys { color: #6b7280; }
body.light-theme .site-support-tab { color: #6b7280; }
body.light-theme .site-support-tab.active { background: #fff; color: #111827; }
body.light-theme .site-support-faq-item,
body.light-theme .site-support-chip,
body.light-theme .site-support-topic-btn { background: rgba(15,23,42,0.05); color: #111827; }
body.light-theme .site-support-messages { background: rgba(15,23,42,0.04); }
body.light-theme .site-support-bubble { background: #e5e7eb; color: #111827; }
body.light-theme .site-support-bubble.user { background: #c7d2fe; }
body.light-theme .site-support-input { color: #111827; }
body.light-theme .site-support-compose { background: rgba(15,23,42,0.06); }

/* ——— Typing indicator ——— */
.tickets-inbox-typing,
.site-support-typing {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 14px 8px;
    min-height: 28px;
    color: #c8d0e0;
    font-size: 0.88rem;
    line-height: 1.3;
}
.tickets-inbox-typing[hidden],
.site-support-typing[hidden] {
    display: none !important;
}
.tickets-inbox-typing-text strong,
.site-support-typing-text strong {
    color: #f3f6ff;
    font-weight: 700;
}
.tickets-inbox-typing-dots {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    flex-shrink: 0;
}
.tickets-inbox-typing-dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #fff;
    opacity: 0.28;
    animation: tickets-typing-dot 1.2s ease-in-out infinite;
}
.tickets-inbox-typing-dots i:nth-child(2) { animation-delay: 0.2s; }
.tickets-inbox-typing-dots i:nth-child(3) { animation-delay: 0.4s; }
@keyframes tickets-typing-dot {
    0%, 80%, 100% { opacity: 0.28; transform: translateY(0); }
    40% { opacity: 1; transform: translateY(-1px); }
}

/* Discord presence on ticket author (не Steam/site) */
.tickets-inbox-avatar-wrap,
.tickets-inbox-profile-avatar-wrap {
    position: relative;
    display: inline-flex;
    flex-shrink: 0;
    line-height: 0;
}
.tickets-inbox-avatar-wrap {
    width: 40px;
    height: 40px;
}
.tickets-inbox-profile-avatar-wrap {
    display: block;
    width: 72px;
    margin: 0 auto 12px;
}
.tickets-inbox-profile-avatar-wrap .tickets-inbox-profile-avatar {
    margin: 0;
}
.tickets-inbox-presence-dot {
    position: absolute;
    right: -1px;
    bottom: -1px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #050508;
    box-sizing: border-box;
    z-index: 2;
    pointer-events: none;
}
.tickets-inbox-profile-avatar-wrap .tickets-inbox-presence-dot {
    width: 16px;
    height: 16px;
    right: 2px;
    bottom: 2px;
    border-width: 3px;
}
.tickets-inbox-presence-dot--online { background: #23a559; }
.tickets-inbox-presence-dot--idle { background: #f0b232; }
.tickets-inbox-presence-dot--dnd { background: #f23f43; }
.tickets-inbox-presence-dot--offline { background: #80848e; }
.tickets-inbox-presence-label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 0 10px;
    font-size: 0.82rem;
    color: #a7afc4;
    width: 100%;
    text-align: center;
}
.tickets-inbox-presence-label-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.tickets-inbox-presence-label-dot--online { background: #23a559; }
.tickets-inbox-presence-label-dot--idle { background: #f0b232; }
.tickets-inbox-presence-label-dot--dnd { background: #f23f43; }
.tickets-inbox-presence-label-dot--offline { background: #80848e; }
body.light-theme .tickets-inbox-typing-text strong,
body.light-theme .site-support-typing-text strong { color: #0f172a; }
body.light-theme .tickets-inbox-typing,
body.light-theme .site-support-typing { color: #475569; }
body.light-theme .tickets-inbox-presence-dot { border-color: #eceef2; }
body.light-theme .tickets-inbox-typing-dots i { background: #334155; }
body.light-theme .tickets-inbox-presence-label { color: #475569; }

/* ——— Топ игроков ——— */
#top-players-content .mod-layout {
    margin-top: 0;
}

#top-players-content .mod-tab-content-wrap {
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(16, 17, 26, 0.98) 0%, rgba(12, 13, 20, 0.96) 100%);
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

#top-players-content .lb-header {
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.08) 0%, transparent 100%);
}

#top-players-content .lb-shell {
    max-width: none;
    width: 100%;
}

#top-players-content .lb-table-card {
    margin: 0 0 8px;
    padding: 0 20px;
    border: none;
    border-radius: 0;
    background: transparent;
    overflow: auto;
}

#top-players-content .lb-table {
    width: 100%;
    min-width: 920px;
    table-layout: auto;
    border-collapse: separate;
    border-spacing: 0;
}

#top-players-content .lb-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 14px 18px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #9ca3af;
    background: rgba(12, 13, 20, 0.98);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
}

#top-players-content .lb-table tbody td {
    padding: 14px 20px;
    font-size: 0.94rem;
    color: #e5e7eb;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-variant-numeric: tabular-nums;
    vertical-align: middle;
}

#top-players-content .lb-table tbody tr.lb-row {
    transition: background 0.15s ease;
}

#top-players-content .lb-table tbody tr.lb-row:nth-child(even):not(.lb-row--top1):not(.lb-row--top2):not(.lb-row--top3) td {
    background: rgba(255, 255, 255, 0.015);
}

#top-players-content .lb-table tbody tr.lb-row:hover td {
    background: rgba(99, 102, 241, 0.08);
}

#top-players-content .lb-table tbody tr.lb-row--top1 td {
    background: linear-gradient(90deg, rgba(251, 191, 36, 0.1) 0%, rgba(251, 191, 36, 0.02) 55%, transparent 100%);
}

#top-players-content .lb-table tbody tr.lb-row--top2 td {
    background: linear-gradient(90deg, rgba(203, 213, 225, 0.09) 0%, rgba(203, 213, 225, 0.02) 55%, transparent 100%);
}

#top-players-content .lb-table tbody tr.lb-row--top3 td {
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.09) 0%, rgba(245, 158, 11, 0.02) 55%, transparent 100%);
}

#top-players-content .lb-table tbody tr.lb-row--top1:hover td,
#top-players-content .lb-table tbody tr.lb-row--top2:hover td,
#top-players-content .lb-table tbody tr.lb-row--top3:hover td {
    filter: brightness(1.06);
}

#top-players-content .lb-table th,
#top-players-content .lb-table td {
    white-space: nowrap;
}

#top-players-content .lb-table th:nth-child(2),
#top-players-content .lb-table td:nth-child(2) {
    min-width: 240px;
}

#top-players-content .lb-table .mod-table-placeholder,
#top-players-content .lb-table .lb-table-empty {
    padding: 56px 24px;
    font-size: 0.95rem;
    color: #9ca3af;
    text-align: center;
}

#top-players-content .wallet-history-pagination {
    padding: 4px 16px 18px;
}

#top-players-content .lb-col-rank {
    width: 64px;
}

#top-players-content .lb-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    padding: 4px 8px;
    border-radius: 8px;
    font-weight: 800;
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.04);
}

#top-players-content .lb-rank--gold {
    color: #fcd34d;
    background: rgba(251, 191, 36, 0.14);
    box-shadow: 0 0 20px rgba(251, 191, 36, 0.15);
}

#top-players-content .lb-rank--silver {
    color: #e2e8f0;
    background: rgba(203, 213, 225, 0.12);
}

#top-players-content .lb-rank--bronze {
    color: #fdba74;
    background: rgba(245, 158, 11, 0.12);
}

#top-players-content .lb-player-link {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}

#top-players-content .lb-player-link:hover .lb-player-name {
    color: #fff;
}

#top-players-content .lb-player-avatar {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    object-fit: cover;
    background: rgba(255, 255, 255, 0.06);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
    flex-shrink: 0;
}

#top-players-content .lb-player-name {
    font-weight: 650;
    font-size: 0.98rem;
    color: rgba(255, 255, 255, 0.94);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 220px;
}

#top-players-content .lb-stat {
    font-weight: 500;
    color: #d1d5db;
}

#top-players-content .lb-stat--xp {
    font-weight: 700;
    color: #e9d5ff;
}

#top-players-content .lb-stat--kd.lb-kd--good {
    color: #86efac;
    font-weight: 650;
}

#top-players-content .lb-stat--kd.lb-kd--low {
    color: #fca5a5;
}

#top-players-content .lb-stat--time {
    color: #9ca3af;
}

#top-players-content .lb-col-level {
    text-align: center;
    min-width: 72px;
}

#top-players-content .lb-level-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 6px;
    border-radius: 10px;
    background: rgba(99, 102, 241, 0.1);
    border: 1px solid rgba(129, 140, 248, 0.18);
}

#top-players-content .lb-level-badge img {
    display: block;
    width: 56px;
    height: 48px;
    object-fit: contain;
}

body.light-theme #top-players-content .mod-tab-content-wrap {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 12px 36px rgba(15, 23, 42, 0.08);
}

body.light-theme #top-players-content .lb-header {
    background: linear-gradient(180deg, rgba(99, 102, 241, 0.06) 0%, transparent 100%);
}

body.light-theme #top-players-content .lb-table-card {
    background: transparent;
    border: none;
}

body.light-theme #top-players-content .lb-table thead th {
    background: rgba(248, 250, 252, 0.98);
    color: #64748b;
    border-bottom-color: rgba(15, 23, 42, 0.1);
}

body.light-theme #top-players-content .lb-table tbody td {
    color: #1e293b;
    border-bottom-color: rgba(15, 23, 42, 0.06);
}

body.light-theme #top-players-content .lb-table tbody tr.lb-row:nth-child(even):not(.lb-row--top1):not(.lb-row--top2):not(.lb-row--top3) td {
    background: rgba(15, 23, 42, 0.02);
}

body.light-theme #top-players-content .lb-table tbody tr.lb-row:hover td {
    background: rgba(99, 102, 241, 0.06);
}

body.light-theme #top-players-content .lb-rank {
    color: rgba(15, 23, 42, 0.65);
    background: rgba(15, 23, 42, 0.05);
}

body.light-theme #top-players-content .lb-rank--gold { color: #b45309; background: rgba(251, 191, 36, 0.18); }
body.light-theme #top-players-content .lb-rank--silver { color: #475569; background: rgba(148, 163, 184, 0.2); }
body.light-theme #top-players-content .lb-rank--bronze { color: #c2410c; background: rgba(251, 146, 60, 0.18); }

body.light-theme #top-players-content .lb-player-name { color: #0f172a; }
body.light-theme #top-players-content .lb-stat { color: #334155; }
body.light-theme #top-players-content .lb-stat--xp { color: #6d28d9; }
body.light-theme #top-players-content .lb-stat--time { color: #64748b; }
body.light-theme #top-players-content .lb-stat--kd.lb-kd--good { color: #15803d; }
body.light-theme #top-players-content .lb-stat--kd.lb-kd--low { color: #dc2626; }

body.light-theme #top-players-content .lb-level-badge {
    background: rgba(99, 102, 241, 0.08);
    border-color: rgba(99, 102, 241, 0.16);
}

#top-players-content .lb-viewer-card {
    margin: 0 0 14px;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(99, 102, 241, 0.35);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.16) 0%, rgba(59, 130, 246, 0.08) 55%, rgba(15, 23, 42, 0.2) 100%);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.18);
}

#top-players-content .lb-viewer-card--hint {
    border-color: rgba(148, 163, 184, 0.28);
    background: rgba(148, 163, 184, 0.08);
    box-shadow: none;
}

#top-players-content .lb-viewer-hint {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.45;
    color: rgba(226, 232, 240, 0.82);
}

#top-players-content .lb-viewer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

#top-players-content .lb-viewer-label {
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(199, 210, 254, 0.95);
}

#top-players-content .lb-viewer-note {
    font-size: 0.78rem;
    color: rgba(148, 163, 184, 0.85);
}

#top-players-content .lb-viewer-note--inpage {
    color: rgba(134, 239, 172, 0.95);
}

#top-players-content .lb-viewer-goto {
    appearance: none;
    border: 1px solid rgba(129, 140, 248, 0.45);
    background: rgba(99, 102, 241, 0.18);
    color: #e0e7ff;
    border-radius: 999px;
    padding: 4px 12px;
    font-size: 0.78rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}

#top-players-content .lb-viewer-goto:hover {
    background: rgba(99, 102, 241, 0.3);
    border-color: rgba(165, 180, 252, 0.65);
}

#top-players-content .lb-viewer-body {
    display: grid;
    grid-template-columns: auto minmax(140px, 1.4fr) minmax(180px, 2fr) auto;
    align-items: center;
    gap: 14px 18px;
}

#top-players-content .lb-viewer-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 52px;
    padding: 6px 10px;
    border-radius: 999px;
    font-weight: 800;
    font-size: 1rem;
    color: #e0e7ff;
    background: rgba(99, 102, 241, 0.28);
    border: 1px solid rgba(129, 140, 248, 0.45);
}

#top-players-content .lb-viewer-player {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}

#top-players-content .lb-viewer-player:hover .lb-viewer-name {
    color: #fff;
}

#top-players-content .lb-viewer-avatar {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid rgba(129, 140, 248, 0.45);
}

#top-players-content .lb-viewer-name {
    font-weight: 700;
    font-size: 1rem;
    color: #f8fafc;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#top-players-content .lb-viewer-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px 12px;
    margin: 0;
}

#top-players-content .lb-viewer-stat {
    min-width: 0;
}

#top-players-content .lb-viewer-stat dt {
    margin: 0 0 2px;
    font-size: 0.72rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(148, 163, 184, 0.9);
}

#top-players-content .lb-viewer-stat dd {
    margin: 0;
    font-weight: 700;
    font-size: 0.95rem;
    color: #e2e8f0;
}

#top-players-content .lb-viewer-level {
    justify-self: end;
}

#top-players-content .lb-table tbody tr.lb-row--self td {
    background: rgba(99, 102, 241, 0.12) !important;
    box-shadow: inset 3px 0 0 rgba(129, 140, 248, 0.85);
}

#top-players-content .lb-table tbody tr.lb-row--self:hover td {
    background: rgba(99, 102, 241, 0.18) !important;
}

#top-players-content .lb-you-tag {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #c7d2fe;
    background: rgba(99, 102, 241, 0.28);
    border: 1px solid rgba(129, 140, 248, 0.35);
    vertical-align: middle;
}

body.light-theme #top-players-content .lb-viewer-card {
    border-color: rgba(99, 102, 241, 0.28);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(255, 255, 255, 0.92) 100%);
    box-shadow: 0 6px 22px rgba(99, 102, 241, 0.1);
}

body.light-theme #top-players-content .lb-viewer-card--hint {
    background: rgba(241, 245, 249, 0.95);
}

body.light-theme #top-players-content .lb-viewer-hint {
    color: #475569;
}

body.light-theme #top-players-content .lb-viewer-label {
    color: #4338ca;
}

body.light-theme #top-players-content .lb-viewer-note {
    color: #64748b;
}

body.light-theme #top-players-content .lb-viewer-note--inpage {
    color: #15803d;
}

body.light-theme #top-players-content .lb-viewer-goto {
    color: #3730a3;
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.28);
}

body.light-theme #top-players-content .lb-viewer-goto:hover {
    background: rgba(99, 102, 241, 0.16);
}

body.light-theme #top-players-content .lb-viewer-rank {
    color: #312e81;
    background: rgba(99, 102, 241, 0.14);
    border-color: rgba(99, 102, 241, 0.28);
}

body.light-theme #top-players-content .lb-viewer-name {
    color: #0f172a;
}

body.light-theme #top-players-content .lb-viewer-stat dt {
    color: #64748b;
}

body.light-theme #top-players-content .lb-viewer-stat dd {
    color: #334155;
}

body.light-theme #top-players-content .lb-table tbody tr.lb-row--self td {
    background: rgba(99, 102, 241, 0.08) !important;
    box-shadow: inset 3px 0 0 rgba(99, 102, 241, 0.55);
}

body.light-theme #top-players-content .lb-you-tag {
    color: #4338ca;
    background: rgba(99, 102, 241, 0.12);
    border-color: rgba(99, 102, 241, 0.22);
}

@media (max-width: 900px) {
    #top-players-content .lb-viewer-body {
        grid-template-columns: auto 1fr;
        grid-template-areas:
            "rank player"
            "stats stats"
            "level level";
    }

    #top-players-content .lb-viewer-rank { grid-area: rank; }
    #top-players-content .lb-viewer-player { grid-area: player; }
    #top-players-content .lb-viewer-stats { grid-area: stats; }
    #top-players-content .lb-viewer-level { grid-area: level; justify-self: start; }
}

@media (max-width: 720px) {
    #top-players-content .lb-viewer-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #top-players-content .lb-table th:nth-child(7),
    #top-players-content .lb-table td:nth-child(7) {
        display: none;
    }
}

/* ——— Правовые страницы (центр) ——— */
.main-content .page-content.legal-page {
    max-width: none;
    width: 100%;
    margin: 0 auto;
    padding: 28px 20px 48px;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
}

.legal-page .legal-page-inner {
    width: min(100%, 760px);
    margin: 0 auto;
}

.legal-page .legal-card {
    border: 1px solid rgba(255, 255, 255, 0.11);
    border-radius: 16px;
    padding: 32px 36px 40px;
    background: rgba(14, 15, 22, 0.92);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.38);
}

.legal-page .legal-card-head {
    margin-bottom: 28px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    text-align: center;
}

.legal-page .legal-card-head .rules-h1 {
    margin: 0 0 10px;
    text-align: center;
}

.legal-page .legal-card-meta {
    margin: 0;
    display: inline-block;
    padding: 6px 14px;
    border-radius: 999px;
    font-size: 0.82rem;
    color: #a5b4fc;
    background: rgba(99, 102, 241, 0.14);
    border: 1px solid rgba(129, 140, 248, 0.22);
}

.legal-page .rules-block {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.legal-page .rules-lead {
    text-align: center;
    margin-bottom: 24px;
}

.legal-page .rules-h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
}

.legal-page .rules-list li,
.legal-page .rules-item-text {
    line-height: 1.65;
}

body.light-theme .legal-page .legal-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

body.light-theme .legal-page .legal-card-head {
    border-bottom-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .legal-page .legal-card-meta {
    color: #4338ca;
    background: rgba(99, 102, 241, 0.1);
    border-color: rgba(99, 102, 241, 0.2);
}

@media (max-width: 640px) {
    .legal-page .legal-card {
        padding: 24px 18px 28px;
    }
    .main-content .page-content.legal-page {
        padding: 16px 12px 32px;
    }
}

/* ——— Глобальная статистика (только главная) ——— */
.home-project-stats.site-global-stats {
    margin: 36px 0 0;
    padding: 0;
    position: relative;
}

.home-project-stats.site-global-stats::before {
    content: '';
    display: block;
    width: min(520px, 70%);
    height: 1px;
    margin: 0 auto 22px;
    background: linear-gradient(90deg, transparent, rgba(167, 139, 250, 0.45), transparent);
}

.home-project-stats .site-global-stats-inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    max-width: 980px;
    margin: 0 auto;
}

.home-project-stats .site-global-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 22px 14px;
    border-radius: 16px;
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.home-project-stats .site-global-stat:hover {
    border-color: rgba(167, 139, 250, 0.28);
    transform: translateY(-1px);
}

.home-project-stats .site-global-stat-ico {
    color: #a78bfa;
    opacity: 0.95;
}

.home-project-stats .site-global-stat-val {
    font-size: clamp(1.35rem, 2.5vw, 1.75rem);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: rgba(255, 255, 255, 0.96);
    line-height: 1.1;
}

.home-project-stats .site-global-stat-label {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.52);
}

body.light-theme .home-project-stats .site-global-stat {
    background: linear-gradient(165deg, #ffffff, #f8fafc);
    border-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .home-project-stats .site-global-stat-val { color: #0f172a; }
body.light-theme .home-project-stats .site-global-stat-label { color: rgba(15, 23, 42, 0.58); }

/* ——— Расширенная главная ——— */
.home-section-head {
    margin-bottom: 20px;
}

.home-section-head--row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px 20px;
}

.home-section-title {
    margin: 0 0 6px;
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 700;
    color: #f9fafb;
    border: none !important;
    padding: 0 !important;
}

.home-section-desc {
    margin: 0;
    font-size: 0.92rem;
    color: #9ca3af;
    line-height: 1.5;
}

.home-section-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: #a5b4fc;
    text-decoration: none;
    white-space: nowrap;
}

.home-section-link:hover {
    color: #c7d2fe;
}

.home-features,
.home-top-preview,
.home-howto {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.home-features-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.home-feature-card {
    padding: 22px 22px 20px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: linear-gradient(145deg, rgba(14, 15, 22, 0.92), rgba(22, 20, 34, 0.88));
    min-height: 140px;
}

.home-feature-num {
    display: inline-block;
    margin-bottom: 10px;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #818cf8;
}

.home-feature-title {
    margin: 0 0 8px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #f9fafb;
}

.home-feature-text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #9ca3af;
}

.home-top-preview-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.22);
    overflow: hidden;
}

.home-top-preview-placeholder {
    margin: 0;
    padding: 28px 20px;
    text-align: center;
    color: #9ca3af;
    font-size: 0.92rem;
}

.home-top-preview-row {
    display: grid;
    grid-template-columns: 52px 40px minmax(120px, 1fr) auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 18px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    transition: background 0.15s ease;
}

.home-top-preview-row:last-child {
    border-bottom: none;
}

.home-top-preview-row:hover {
    background: rgba(99, 102, 241, 0.08);
}

.home-top-rank {
    font-weight: 800;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.72);
    font-variant-numeric: tabular-nums;
}

.home-top-rank--gold { color: #fbbf24; }
.home-top-rank--silver { color: #e2e8f0; }
.home-top-rank--bronze { color: #f59e0b; }

.home-top-avatar {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    object-fit: cover;
}

.home-top-name {
    font-weight: 650;
    color: #f3f4f6;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.home-top-xp,
.home-top-kd {
    font-size: 0.88rem;
    color: #9ca3af;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.home-howto-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 14px;
}

.home-howto-step {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    padding: 18px 20px;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background: rgba(255, 255, 255, 0.02);
}

.home-howto-step-num {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(99, 102, 241, 0.2);
    color: #c7d2fe;
    font-weight: 800;
    font-size: 0.95rem;
}

.home-howto-step-title {
    margin: 0 0 6px;
    font-size: 1rem;
    font-weight: 700;
    color: #f3f4f6;
}

.home-howto-step-text {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: #9ca3af;
}

body.light-theme .home-section-title,
body.light-theme .home-feature-title,
body.light-theme .home-top-name,
body.light-theme .home-howto-step-title {
    color: #0f172a;
}

body.light-theme .home-section-desc,
body.light-theme .home-feature-text,
body.light-theme .home-top-xp,
body.light-theme .home-top-kd,
body.light-theme .home-howto-step-text,
body.light-theme .home-top-preview-placeholder {
    color: #64748b;
}

body.light-theme .home-feature-card,
body.light-theme .home-howto-step {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .home-top-preview-list {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.08);
}

body.light-theme .home-top-preview-row:hover {
    background: rgba(99, 102, 241, 0.06);
}

@media (max-width: 900px) {
    .home-features-grid {
        grid-template-columns: 1fr;
    }
    .home-top-preview-row {
        grid-template-columns: 44px 36px 1fr;
        grid-template-rows: auto auto;
    }
    .home-top-xp,
    .home-top-kd {
        grid-column: 3;
        font-size: 0.82rem;
    }
    .home-top-xp { grid-row: 2; justify-self: start; }
    .home-top-kd { grid-row: 2; justify-self: end; }
    .home-project-stats .site-global-stats-inner {
        grid-template-columns: 1fr;
    }
}

/* ——— Расширенный футер ——— */
.site-footer-legal {
    margin: 24px auto 0;
    padding: 32px 24px 20px;
    border-top: 1px solid rgba(129, 140, 248, 0.14);
    background: linear-gradient(180deg, rgba(8, 9, 16, 0.55) 0%, rgba(4, 5, 10, 0.98) 100%);
    text-align: initial;
    position: relative;
}

.site-footer-legal::after {
    content: '';
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 5%, rgba(167, 139, 250, 0.35) 50%, transparent 95%);
    pointer-events: none;
}

.site-footer-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 24px 36px;
    align-items: start;
    max-width: 1040px;
    margin: 0 auto;
}

.site-footer-col-title {
    margin: 0 0 12px;
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.88);
}

.site-footer-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer-link {
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.9rem;
    text-decoration: none;
    transition: color 0.15s ease, transform 0.15s ease;
    width: fit-content;
}

.site-footer-link:hover,
.site-footer-link:focus-visible {
    color: #e9d5ff;
    transform: translateX(2px);
}

.site-footer-col--brand {
    text-align: center;
    padding-top: 2px;
}

.site-footer-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, #6366f1, #a855f7);
    color: #fff;
    font-weight: 800;
    font-size: 1.35rem;
    box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.12), 0 8px 24px rgba(99, 102, 241, 0.28);
}

.site-footer-brand-name {
    margin: 10px 0 0;
    font-weight: 700;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.94);
}

.site-footer-brand-tag {
    margin: 3px 0 0;
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.45);
}

.site-footer-col--contact {
    text-align: right;
}

.site-footer-col--contact .site-footer-link {
    margin-left: auto;
}

.site-footer-copy {
    margin: 12px 0 0;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.38);
}

.site-footer-legal-actions {
    margin: 18px 0 0;
    text-align: center;
}

.site-footer-cookie-btn {
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid rgba(134, 239, 172, 0.25);
    background: rgba(34, 197, 94, 0.08);
    font-size: 0.84rem;
    font-weight: 600;
    color: rgba(134, 239, 172, 0.92);
    text-decoration: none;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.site-footer-cookie-btn:hover,
.site-footer-cookie-btn:focus-visible {
    background: rgba(34, 197, 94, 0.16);
    border-color: rgba(134, 239, 172, 0.45);
    color: #bbf7d0;
}

body.light-theme .site-footer-legal {
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.95) 0%, #f1f5f9 100%);
    border-top-color: rgba(99, 102, 241, 0.18);
}

body.light-theme .site-footer-col-title,
body.light-theme .site-footer-brand-name { color: #0f172a; }

body.light-theme .site-footer-link { color: rgba(15, 23, 42, 0.62); }
body.light-theme .site-footer-link:hover,
body.light-theme .site-footer-link:focus-visible { color: #6d28d9; }

body.light-theme .site-footer-brand-tag,
body.light-theme .site-footer-copy { color: rgba(15, 23, 42, 0.52); }

body.light-theme .site-footer-cookie-btn {
    color: #15803d;
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.25);
}

@media (max-width: 820px) {
    .site-footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 28px;
    }
    .site-footer-col--contact {
        text-align: center;
    }
    .site-footer-col--contact .site-footer-link,
    .site-footer-link {
        margin-left: auto;
        margin-right: auto;
    }
    .site-footer-links {
        align-items: center;
    }
}

