* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

*::-webkit-scrollbar {
    display: none;
}

/* Рандомные переливания — размытые пятна без центра */
@keyframes blobFloat1 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.75; }
    33% { transform: translate(35%, -25%) scale(1.15); opacity: 0.9; }
    66% { transform: translate(-25%, 30%) scale(0.9); opacity: 0.6; }
}
@keyframes blobFloat2 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.7; }
    50% { transform: translate(-40%, -20%) scale(1.2); opacity: 0.85; }
}
@keyframes blobFloat3 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.8; }
    25% { transform: translate(25%, 35%) scale(0.85); opacity: 0.65; }
    75% { transform: translate(-30%, -25%) scale(1.15); opacity: 0.9; }
}
@keyframes blobFloat4 {
    0%, 100% { transform: translate(0, 0); opacity: 0.6; }
    40% { transform: translate(-25%, -35%); opacity: 0.85; }
    80% { transform: translate(30%, 20%); opacity: 0.5; }
}
@keyframes blobFloat5 {
    0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.7; }
    60% { transform: translate(35%, 28%) scale(1.18); opacity: 0.9; }
}
@keyframes blobFloat6 {
    0%, 100% { transform: translate(0, 0); opacity: 0.65; }
    30% { transform: translate(-28%, 25%); opacity: 0.85; }
    70% { transform: translate(25%, -20%); opacity: 0.55; }
}

html {
    background-color: #050a05;
    overscroll-behavior: contain;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background: transparent;
    color: #ffffff;
    padding: 0;
    margin: 0;
    min-height: 100vh;
    position: relative;
    overscroll-behavior: contain;
}

.bg-blobs {
    position: fixed;
    inset: 0;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
}

.bg-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    will-change: transform, opacity;
}

.bg-blob-1 {
    width: 90vmax;
    height: 90vmax;
    top: -20%;
    left: -25%;
    background: radial-gradient(circle, rgba(26, 58, 26, 0.8) 0%, rgba(10, 26, 10, 0.35) 40%, transparent 70%);
    animation: blobFloat1 3.5s ease-in-out infinite;
}

.bg-blob-2 {
    width: 70vmax;
    height: 70vmax;
    top: 10%;
    right: -15%;
    background: radial-gradient(circle, rgba(74, 222, 128, 0.35) 0%, rgba(26, 58, 26, 0.5) 35%, transparent 65%);
    animation: blobFloat2 4s ease-in-out infinite;
}

.bg-blob-3 {
    width: 80vmax;
    height: 80vmax;
    bottom: -25%;
    left: -10%;
    background: radial-gradient(circle, rgba(10, 26, 10, 0.85) 0%, rgba(26, 58, 26, 0.4) 50%, transparent 70%);
    animation: blobFloat3 3.75s ease-in-out infinite;
}

.bg-blob-4 {
    width: 60vmax;
    height: 60vmax;
    top: 40%;
    left: 30%;
    background: radial-gradient(circle, rgba(74, 222, 128, 0.3) 0%, transparent 55%);
    animation: blobFloat4 4.5s ease-in-out infinite;
}

.bg-blob-5 {
    width: 85vmax;
    height: 85vmax;
    bottom: -15%;
    right: -20%;
    background: radial-gradient(circle, rgba(26, 58, 26, 0.6) 0%, rgba(5, 10, 5, 0.45) 45%, transparent 70%);
    animation: blobFloat5 4.25s ease-in-out infinite;
}

.bg-blob-6 {
    width: 55vmax;
    height: 55vmax;
    top: 60%;
    right: 20%;
    background: radial-gradient(circle, rgba(34, 80, 34, 0.55) 0%, transparent 60%);
    animation: blobFloat6 3.25s ease-in-out infinite;
}

/* bg-blob animation always runs (Telegram Desktop reports prefers-reduced-motion) */

/* Экран загрузки при старте */
.loading-screen {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loading-screen--out {
    pointer-events: none;
}

.loading-screen__bg {
    position: absolute;
    inset: 0;
    background: #050a05;
    transition: opacity 0.5s ease;
}

.loading-screen--out .loading-screen__bg {
    opacity: 0;
}

.loading-screen__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.loading-screen__logo {
    display: block;
    width: 75px;
    height: 75px;
    min-width: 75px;
    min-height: 75px;
    object-fit: contain;
    object-position: center;
    opacity: 0.95;
    transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
}

.loading-screen__spinner {
    width: 28px;
    height: 28px;
    border: 3px solid rgba(74, 222, 128, 0.2);
    border-top-color: #4ade80;
    border-radius: 50%;
    animation: loading-spin 0.8s linear infinite;
    transition: opacity 0.25s ease;
}

.loading-screen__text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.05em;
    transition: opacity 0.25s ease;
}

.loading-screen--lift .loading-screen__spinner,
.loading-screen--lift .loading-screen__text {
    opacity: 0;
    pointer-events: none;
}

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

@media (prefers-reduced-motion: reduce) {
    .loading-screen__spinner { animation: none; opacity: 0.5; }
    .loading-screen__logo { transition-duration: 0.2s; }
}

.container {
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    padding-bottom: calc(100px + env(safe-area-inset-bottom, 0px));
    background: transparent;
    opacity: 0;
    transition: opacity 0.45s ease;
}

body.app-loaded .container {
    opacity: 1;
}

.action-buttons {
    opacity: 0;
    transition: opacity 0.45s ease;
}

body.app-loaded .action-buttons {
    opacity: 1;
}

body.support-chat-open .action-buttons {
    display: none !important;
}

/* В чате поддержки: убираем логотип и уменьшаем шапку для экономии места (iOS и др.) */
body.support-chat-open .header-logo-wrap {
    display: none !important;
}
body.support-chat-open .header {
    padding-top: calc(8px + env(safe-area-inset-top, 0px) + 28px);
    padding-bottom: 8px;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: calc(16px + env(safe-area-inset-top, 0px) + 28px) 20px 16px 20px;
    background: transparent;
    position: relative;
    transition: padding 0.3s ease;
}
.header.header--compact {
    padding: calc(8px + env(safe-area-inset-top, 0px)) 20px 8px 20px;
}

.header-spacer {
    width: 80px;
    flex-shrink: 0;
}

.header-logo-wrap {
    flex: 1;
    display: flex;
    justify-content: center;
    min-width: 0;
}

.header h1 {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.header-logo {
    display: block;
    width: 75px;
    height: 75px;
    min-width: 75px;
    min-height: 75px;
    object-fit: contain;
    object-position: center;
}

.header-actions {
    width: 80px;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
}

.header-btn {
    background: none;
    border: none;
    padding: 8px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.75);
    font-size: 22px;
    line-height: 1;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, transform 0.2s;
}

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

.header-btn:hover {
    color: #4ade80;
}

.start-farm-section {
    padding: 24px 20px;
    background: transparent;
    text-align: center;
}

.start-farm-btn {
    width: 100%;
    padding: 18px 24px;
    border-radius: 16px;
    border: none;
    font-size: 18px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.3s;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #ffffff;
    filter: drop-shadow(0 0 10px rgba(74, 222, 128, 0.5));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.start-farm-btn:active {
    transform: scale(0.98);
    filter: drop-shadow(0 0 6px rgba(74, 222, 128, 0.3));
}

.silver-shop-section {
    padding: 20px;
    padding-top: 0;
}

body.tab-history .start-farm-section,
body.tab-history .silver-shop-section,
body.tab-profile .start-farm-section,
body.tab-profile .silver-shop-section {
    display: none !important;
}
.silver-shop-section h2 {
    font-size: 18px;
    color: rgba(255,255,255,0.95);
    margin-bottom: 16px;
    font-weight: 600;
}
.silver-packages-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
.silver-package-card {
    background: rgba(26, 58, 26, 0.5);
    border: 1px solid rgba(74, 222, 128, 0.25);
    border-radius: 12px;
    padding: 12px;
    position: relative;
    transition: transform 0.15s ease;
    will-change: transform;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.silver-package-card--span-2 {
    grid-column: span 2;
}
.silver-package-card:hover {
    background: rgba(26, 58, 26, 0.7);
    border-color: rgba(74, 222, 128, 0.4);
}
.silver-package-card:active {
    transform: scale(0.98);
}
.silver-package-card .silver-amount {
    font-size: 18px;
    font-weight: 700;
    color: #4ade80;
}
.silver-package-card .price {
    font-size: 13px;
    color: rgba(255,255,255,0.9);
    margin-top: 6px;
}
.silver-package-card .old-price {
    font-size: 12px;
    color: rgba(255,255,255,0.5);
    text-decoration: line-through;
    margin-left: 6px;
}
.silver-package-card .discount {
    position: absolute;
    top: 8px;
    right: 8px;
    background: #dc2626;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 6px;
    border-radius: 6px;
}
.silver-package-card .fast-badge {
    display: inline-block;
    margin-top: 4px;
    font-size: 11px;
    color: #fbbf24;
}

.action-buttons {
    --bar-radius: 35px;
    position: fixed;
    bottom: 15px;
    left: 10px;
    right: 10px;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 8px 6px;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.07) 0%,
            rgba(255, 255, 255, 0.02) 40%,
            rgba(0, 0, 0, 0.03) 100%
        ) padding-box,
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.22) 0%,
            rgba(255, 255, 255, 0.08) 50%,
            rgba(255, 255, 255, 0.04) 100%
        ) border-box;
    -webkit-backdrop-filter: blur(8px) saturate(4) brightness(1.12);
    backdrop-filter: blur(8px) saturate(4) brightness(1.12);
    border: 1px solid transparent;
    z-index: 1000;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.35),
        0 2px 8px rgba(0, 0, 0, 0.15),
        inset 0 1px 1px rgba(255, 255, 255, 0.14),
        inset 0 -1px 1px rgba(0, 0, 0, 0.06),
        inset 1px 0 1px rgba(255, 255, 255, 0.04),
        inset -1px 0 1px rgba(255, 255, 255, 0.04);
    border-radius: var(--bar-radius);
    width: calc(100% - 20px);
    box-sizing: border-box;
    height: auto;
    overflow: visible;
}

.glass-refract-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}

.action-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px 14px;
    flex: 1;
    max-width: 100px;
    position: relative;
    z-index: 1;
    border-radius: calc(var(--bar-radius) - 6px);
    min-width: 0;
    opacity: 1;
    visibility: visible;
}

.action-button.active {
    color: #4ade80;
}

.action-button-icon {
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
                filter 0.3s ease,
                opacity 0.3s ease;
}

.action-button.active .action-button-icon {
    transform: scale(1.22);
    filter: grayscale(0) drop-shadow(0 0 6px rgba(74, 222, 128, 0.5));
    opacity: 1;
}

.action-button.drag-hover .action-button-icon {
    transform: scale(1.18);
    filter: grayscale(0) drop-shadow(0 0 5px rgba(74, 222, 128, 0.4));
    opacity: 0.9;
}

.action-buttons.bar-dragging .action-button-icon {
    transition: transform 0.15s ease, filter 0.15s ease, opacity 0.15s ease;
}

.action-button-icon {
    font-size: 24px;
    filter: grayscale(1);
    opacity: 0.55;
}

.action-button-label {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.50);
    font-weight: 500;
    transition: color 0.3s ease, font-weight 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    text-align: center;
}
.action-buttons.bar-dragging .action-button-label {
    transition: color 0.15s ease, font-weight 0.15s ease;
}
.action-button.drag-hover .action-button-label {
    color: rgba(74, 222, 128, 0.8);
    font-weight: 600;
}

.action-button.active .action-button-label {
    color: #4ade80;
    font-weight: 600;
}

.action-button-indicator {
    display: none;
}

.action-button.active .action-button-indicator {
    display: none;
}

.tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--tg-theme-hint-color, #e0e0e0);
}

.tab {
    flex: 1;
    padding: 12px;
    text-align: center;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    color: var(--tg-theme-hint-color, #999999);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: color 0.35s cubic-bezier(0.25, 0.1, 0.25, 1),
                border-color 0.35s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.tab[style*="display: none"] {
    display: none !important;
}

.tab.active {
    color: var(--tg-theme-button-color, #3390ec);
    border-bottom-color: var(--tg-theme-button-color, #3390ec);
}

/* ——— Настройки: стиль как в референсе (группы, строки, иконки) ——— */
.settings-tab-inner {
    padding: 0 0 24px;
}

.settings-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 4px 0 20px;
    margin-bottom: 4px;
}

.settings-header-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(74, 222, 128, 0.2);
    color: #4ade80;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.settings-header-title {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin: 0;
}

.settings-nav { margin-bottom: 16px; }

/* Подстраница настроек (провал вглубь). Нижний отступ под нижнюю панель (iOS и др.) */
.settings-detail-view {
    padding-bottom: calc(24px + 90px + env(safe-area-inset-bottom, 0px));
}
.settings-detail-header {
    display: flex;
    align-items: center;
    position: relative;
    padding: 4px 0 16px;
    margin-bottom: 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.settings-back-btn {
    display: inline-flex;
    align-items: center;
    padding: 8px 14px;
    border: none;
    border-radius: 10px;
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    transition: background 0.15s ease;
}
.settings-back-btn:hover { background: rgba(74, 222, 128, 0.25); }
.settings-back-btn:active { background: rgba(74, 222, 128, 0.3); }
.settings-detail-title {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
    margin: 0;
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    pointer-events: none;
}
.settings-header-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    background: rgba(74, 222, 128, 0.1);
    color: #4ade80;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease;
}
.settings-header-action-btn:hover {
    background: rgba(74, 222, 128, 0.2);
    border-color: rgba(74, 222, 128, 0.5);
}
.settings-detail-header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    margin-left: auto;
}
.my-accounts-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 10px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    box-shadow: 0 2px 12px rgba(74, 222, 128, 0.5);
}
.my-accounts-add-btn:hover {
    box-shadow: 0 4px 16px rgba(74, 222, 128, 0.6);
}
.my-accounts-add-btn:active {
    transform: scale(0.95);
}

.my-accounts-add-btn.my-accounts-change-btn {
    width: auto;
    padding: 0 14px;
    gap: 6px;
}

.my-accounts-add-btn.my-accounts-change-btn .lucide-icon {
    width: 18px;
    height: 18px;
}

.my-accounts-change-label {
    font-size: 14px;
    font-weight: 600;
}

.settings-group {
    background: rgba(28, 42, 28, 0.6);
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    margin-bottom: 12px;
}

/* Мои аккаунты: без подложки, кнопка удаления статична внизу */
.my-accounts-list {
    background: transparent;
    border: none;
    margin-bottom: 0;
}
.my-account-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: rgba(26, 58, 26, 0.4);
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
}
.my-account-row:last-child {
    margin-bottom: 0;
}
.my-accounts-actions {
    position: fixed;
    bottom: calc(115px + env(safe-area-inset-bottom, 0px));
    left: 16px;
    right: 16px;
    padding: 0;
    background: transparent;
    border: none;
    z-index: 1001;
}
.my-accounts-actions .btn {
    display: block;
    width: 100%;
}
.settings-panel--my-accounts.my-accounts-has-select-mode,
.settings-panel--prices.my-accounts-has-select-mode {
    padding-bottom: 80px;
}

.settings-group:last-child { margin-bottom: 0; }

.settings-group--preview-exit {
    margin-top: 8px;
    border-color: rgba(74, 222, 128, 0.2);
}
.settings-preview-exit-btn {
    width: 100%;
    text-align: left;
    padding: 14px 16px;
    background: transparent;
    border: none;
    color: inherit;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 12px;
}
.settings-group .loading { padding: 24px 16px; }
.settings-group .empty-state { padding: 32px 16px; }

.settings-row {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: none;
    border-radius: 0;
    background: transparent;
    color: #ffffff;
    font-size: 15px;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: background 0.15s ease;
}

.settings-row:hover { background: rgba(255, 255, 255, 0.06); }
.settings-row:active { background: rgba(255, 255, 255, 0.08); }

.settings-row + .settings-row { border-top: 1px solid rgba(255, 255, 255, 0.06); }

.settings-row--link {
    text-decoration: none;
    color: inherit;
}

.lucide-icon {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.lucide-icon--empty {
    width: 48px;
    height: 48px;
    opacity: 0.5;
}

.lucide-icon--heading {
    width: 24px;
    height: 24px;
    vertical-align: -0.35em;
}

.lucide-icon--chevron {
    width: 14px;
    height: 14px;
}

.lucide-icon--sm {
    width: 16px;
    height: 16px;
}

.action-button-icon .lucide-icon {
    width: 24px;
    height: 24px;
}

.empty-state-icon .lucide-icon {
    width: 48px;
    height: 48px;
}

.settings-row-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    flex-shrink: 0;
}

.settings-row-icon .lucide-icon {
    width: 20px;
    height: 20px;
}

.settings-row-chevron .lucide-icon {
    width: 14px;
    height: 14px;
}

.settings-row-icon--general {
    background: rgba(59, 130, 246, 0.35);
    color: #93c5fd;
}

.settings-row-icon--my-accounts {
    background: rgba(6, 182, 212, 0.4);
    color: #22d3ee;
}

.settings-row-icon--preview-exit {
    background: rgba(251, 191, 36, 0.4);
    color: #fde047;
}

.settings-row-icon--prices {
    background: rgba(245, 158, 11, 0.4);
    color: #fbbf24;
}

.settings-row-icon--users {
    background: rgba(34, 197, 94, 0.4);
    color: #86efac;
}
.settings-row-icon--statistics {
    background: rgba(59, 130, 246, 0.4);
    color: #93c5fd;
}

.settings-row-icon--logs {
    background: rgba(249, 115, 22, 0.4);
    color: #fdba74;
}

.settings-row-icon--changelog {
    background: rgba(168, 85, 247, 0.4);
    color: #c4b5fd;
}

.settings-row-icon--filter {
    background: rgba(74, 222, 128, 0.3);
    color: #4ade80;
}

.settings-row-icon--debug {
    background: rgba(99, 102, 241, 0.4);
    color: #a5b4fc;
}

.settings-row-icon--reviews {
    background: rgba(234, 179, 8, 0.4);
    color: #fde047;
}

.settings-row-icon--support {
    background: rgba(34, 197, 94, 0.4);
    color: #86efac;
}

.settings-tab-btn.active .settings-row-icon--support { background: rgba(34, 197, 94, 0.55); color: #86efac; }

.settings-row-label { flex: 1; font-weight: 500; }

.settings-row-chevron {
    color: rgba(255, 255, 255, 0.45);
    font-size: 14px;
    font-weight: 400;
}

.settings-tab-btn.active { background: rgba(74, 222, 128, 0.12); }
.settings-tab-btn.active .settings-row-chevron { color: rgba(74, 222, 128, 0.8); }
.settings-tab-btn.active .settings-row-icon--general { background: rgba(59, 130, 246, 0.55); color: #93c5fd; }
.settings-tab-btn.active .settings-row-icon--my-accounts { background: rgba(6, 182, 212, 0.55); color: #22d3ee; }
.settings-tab-btn.active .settings-row-icon--prices { background: rgba(245, 158, 11, 0.55); color: #fbbf24; }
.settings-tab-btn.active .settings-row-icon--users { background: rgba(34, 197, 94, 0.55); color: #86efac; }
.settings-tab-btn.active .settings-row-icon--statistics { background: rgba(59, 130, 246, 0.55); color: #93c5fd; }
.settings-tab-btn.active .settings-row-icon--logs { background: rgba(249, 115, 22, 0.55); color: #fdba74; }
.settings-tab-btn.active .settings-row-icon--changelog { background: rgba(168, 85, 247, 0.55); color: #c4b5fd; }
.settings-tab-btn.active .settings-row-icon--debug { background: rgba(99, 102, 241, 0.55); color: #a5b4fc; }
.settings-row--link:hover .settings-row-icon--reviews,
.settings-row--link:active .settings-row-icon--reviews { background: rgba(234, 179, 8, 0.55); color: #fde047; }

/* Связь с администрацией — чат */
body.support-chat-open .settings-detail-view {
    display: flex;
    flex-direction: column;
    min-height: 50vh;
}
body.support-chat-open .settings-detail-body {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}
body.support-chat-open .settings-panel--support {
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex: 1;
}
.settings-panel--support {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}
.support-chat-view {
    display: flex;
    flex-direction: column;
    min-height: 280px;
    flex: 1;
}
.support-chat-view .support-chat-wrap {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* На iOS фиксированная высота области чата, чтобы поле ввода не обрезалось */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    body.support-chat-open .settings-panel--support {
        min-height: 50vh;
    }
}

.support-admin-bar {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.2);
}

.support-admin-label {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 8px;
}

.support-admin-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.support-target-input {
    width: 120px;
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(18, 28, 18, 0.6);
    color: #fff;
    font-size: 14px;
}

.support-load-thread-btn {
    padding: 8px 14px;
}

.support-chat-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 280px;
}

.support-messages-list {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    padding-bottom: 72px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    -webkit-overflow-scrolling: touch;
}

.support-loading,
.support-empty {
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
    padding: 16px 0;
    text-align: center;
}

.support-error { color: rgba(239, 68, 68, 0.9); }

.support-msg {
    max-width: 85%;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
    line-height: 1.4;
    word-break: break-word;
}

.support-msg--user {
    align-self: flex-end;
    background: rgba(74, 222, 128, 0.25);
    border: 1px solid rgba(74, 222, 128, 0.4);
    color: #e8f5e9;
}

.support-msg--admin {
    align-self: flex-start;
    background: rgba(59, 130, 246, 0.25);
    border: 1px solid rgba(59, 130, 246, 0.4);
    color: #e3f2fd;
}

.support-msg-time {
    font-size: 11px;
    opacity: 0.7;
    margin-top: 4px;
}

.support-chat-input-wrap {
    flex-shrink: 0;
    padding: 10px 12px 14px;
    padding-bottom: max(14px, env(safe-area-inset-bottom));
    background: var(--bg-page, #0d1f0d);
    display: flex;
    gap: 8px;
    align-items: flex-end;
    min-height: 52px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.support-message-input {
    flex: 1;
    min-height: 40px;
    max-height: 120px;
    padding: 10px 14px 10px 16px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(40, 50, 40, 0.7);
    color: #fff;
    font-size: 15px;
    font-family: inherit;
    resize: none;
    box-sizing: border-box;
    width: 0;
}

.support-message-input:focus {
    outline: none;
    border-color: rgba(74, 222, 128, 0.4);
}

.support-message-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.support-send-btn {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
    border-radius: 50%;
    border: none;
    background: rgba(180, 160, 120, 0.5);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background 0.2s;
}

.support-send-btn:hover {
    background: rgba(180, 160, 120, 0.7);
}

.support-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.support-send-icon {
    width: 18px;
    height: 18px;
    margin: 0;
}

.support-unread-badge {
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: rgba(239, 68, 68, 0.9);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: 4px;
    flex-shrink: 0;
}

.support-thread-list-wrap {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.support-thread-list-wrap.support-list-has-select-mode {
    padding-bottom: 80px;
}

.support-thread-list {
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}

.support-thread-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    cursor: pointer;
    transition: background 0.15s;
}

.support-thread-item:hover {
    background: rgba(255, 255, 255, 0.06);
}

.support-thread-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(74, 222, 128, 0.25);
    border: 1px solid rgba(74, 222, 128, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 600;
    color: #4ade80;
    flex-shrink: 0;
}

.support-thread-body {
    flex: 1;
    min-width: 0;
}

.support-thread-name {
    font-weight: 600;
    font-size: 15px;
    color: #fff;
    margin-bottom: 2px;
}

.support-thread-preview {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.6);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.support-thread-meta {
    flex-shrink: 0;
    text-align: right;
}

.support-thread-time {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    display: block;
    margin-bottom: 4px;
}

.support-thread-unread {
    display: inline-block;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: rgba(74, 222, 128, 0.6);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    line-height: 20px;
}

.fps-counter {
    position: fixed;
    top: 12px;
    right: 12px;
    z-index: 9999;
    font-size: 12px;
    font-weight: 600;
    color: rgba(74, 222, 128, 0.95);
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.8);
    pointer-events: none;
    font-variant-numeric: tabular-nums;
}

.settings-panel-field--toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.settings-panel-field--toggle .settings-panel-label { margin-bottom: 0; }

.settings-toggle {
    position: relative;
    display: inline-block;
    width: 48px;
    height: 26px;
    flex-shrink: 0;
}
.settings-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}
.settings-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 26px;
    transition: background 0.2s;
}
.settings-toggle-slider::before {
    content: '';
    position: absolute;
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background: #fff;
    border-radius: 50%;
    transition: transform 0.2s;
}
.settings-toggle input:checked + .settings-toggle-slider {
    background: rgba(74, 222, 128, 0.6);
}
.settings-toggle input:checked + .settings-toggle-slider::before {
    transform: translateX(22px);
}

.settings-debug-hint {
    margin: 0 16px 16px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}

.settings-group-title {
    margin: 0 16px 8px;
    font-size: 14px;
    font-weight: 600;
    color: #4ade80;
}

.settings-group--debug {
    padding: 16px 0 0;
    overflow: visible;
}
.settings-group--debug .settings-group-title {
    margin-bottom: 4px;
}
.settings-group--debug .settings-debug-hint {
    margin-bottom: 8px;
}

.glass-ctrl-row {
    padding: 8px 16px;
}
.glass-ctrl-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.8);
    margin-bottom: 4px;
}
.glass-ctrl-val {
    font-variant-numeric: tabular-nums;
    color: #4ade80;
    font-weight: 600;
    font-size: 12px;
    min-width: 40px;
    text-align: right;
}
.glass-ctrl-range {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.12);
    outline: none;
}
.glass-ctrl-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #4ade80;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.glass-ctrl-range::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #4ade80;
    cursor: pointer;
    border: none;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.debug-action-btn {
    width: 100%;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    filter: drop-shadow(0 0 10px rgba(74, 222, 128, 0.5));
}
.debug-action-btn:active {
    transform: scale(0.98);
}
.debug-action-btn--danger {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.4));
}

.settings-input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(18, 28, 18, 0.6);
    color: #ffffff;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
}

.settings-input:focus {
    outline: none;
    border-color: rgba(74, 222, 128, 0.5);
}

.settings-panel-field {
    padding: 16px;
}
.settings-panel-field + .settings-panel-actions { border-top: 1px solid rgba(255, 255, 255, 0.06); }

.settings-panel-label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: #ffffff;
    font-size: 14px;
}

.settings-select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(18, 28, 18, 0.6);
    color: #ffffff;
    font-size: 14px;
    font-family: inherit;
}

.settings-panel-actions {
    padding: 12px 16px;
}

.settings-panel-actions .btn-primary { width: 100%; }

.settings-logs-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    gap: 12px;
}

.settings-logs-title {
    font-size: 14px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
}

.settings-logs-refresh {
    padding: 6px 12px;
    font-size: 13px;
}

.settings-logs-pre {
    margin: 0;
    padding: 12px 16px;
    font-size: 11px;
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-all;
    color: rgba(255, 255, 255, 0.8);
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    transition: opacity 0.25s ease;
}
#settings-logs-empty { transition: opacity 0.25s ease; }

.settings-group--list { padding: 8px 0; }
.settings-group--list .admin-item {
    margin-bottom: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.settings-group--list .admin-item:last-child { border-bottom: none; }
.settings-group--list .empty-state { padding: 24px 16px; }
.settings-group--list .admin-item { padding: 12px 16px; }

/* Контейнер списка пользователей и пополнений — без фона и рамки (как у «Мои аккаунты») */
#settings-panel-users .settings-group.settings-group--list,
.statistics-topups-list {
    background: transparent;
    border: none;
}

/* Пополнения и Пользователи — карточки как в «Мои аккаунты» */
/* Отзывы */
.reviews-list {
    background: transparent;
    border: none;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.reviews-list--visible {
    opacity: 1;
    transform: translateY(0);
}

.reviews-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid rgba(74, 222, 128, 0.2);
    border-top-color: #4ade80;
    border-radius: 50%;
    animation: reviewsSpin 0.7s linear infinite;
    margin: 40px auto;
}
@keyframes reviewsSpin {
    to { transform: rotate(360deg); }
}
.reviews-header {
    margin-bottom: 16px;
}
.reviews-summary-row {
    display: flex;
    align-items: center;
    gap: 12px;
}
.reviews-summary-rating {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    line-height: 1;
}
.reviews-summary-middle {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.reviews-summary-stars {
    color: #4ade80;
    font-size: 20px;
    letter-spacing: 2px;
}
.reviews-summary-count {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.5);
}
.reviews-summary-links {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.reviews-link {
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    padding: 3px 8px;
    border-radius: 6px;
}
.reviews-link:active { opacity: 0.6; }
.reviews-link--pk {
    background: rgba(234, 88, 12, 0.2);
    color: #fb923c;
}
.reviews-link--tg {
    background: rgba(56, 189, 248, 0.2);
    color: #38bdf8;
}
.review-card {
    padding: 14px 16px;
    margin-bottom: 8px;
    background: rgba(26, 58, 26, 0.4);
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    will-change: transform;
    transition: transform 0.15s ease;
}
.review-card:last-child { margin-bottom: 0; }
.review-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}
.review-username {
    font-weight: 600;
    font-size: 14px;
    color: #ffffff;
}
.review-stars {
    color: #fbbf24;
    font-size: 14px;
    letter-spacing: 1px;
    flex-shrink: 0;
}
.review-text {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.4;
    margin-bottom: 6px;
    word-break: break-word;
}
.review-item {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
}
.review-meta {
    display: flex;
    align-items: center;
    gap: 8px;
}
.review-date {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.4);
}
.review-source {
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 4px;
    font-weight: 600;
    flex-shrink: 0;
}
.review-source--pk {
    background: rgba(234, 88, 12, 0.2);
    color: #fb923c;
}
.review-source--tg {
    background: rgba(56, 189, 248, 0.2);
    color: #38bdf8;
}
.reviews-load-more {
    width: 100%;
    margin-top: 12px;
    padding: 10px 16px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    background: rgba(26, 58, 26, 0.4);
    color: #4ade80;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}
.reviews-load-more:active {
    background: rgba(26, 58, 26, 0.7);
}

.statistics-topups-list .admin-item,
#admins-modal-list .admin-item {
    margin-bottom: 8px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    background: rgba(26, 58, 26, 0.4);
    padding: 12px 16px;
}
.statistics-topups-list .admin-item:last-child,
#admins-modal-list .admin-item:last-child {
    margin-bottom: 0;
}

.statistics-topups-list {
    padding: 8px 0;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
}
.statistics-topup-meta {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 2px;
}

.settings-changelog-list {
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.settings-changelog-item {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.settings-changelog-item:last-child { border-bottom: none; }
.settings-changelog-date {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.5);
}
.settings-changelog-msg {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    line-height: 1.4;
}

.settings-group--filter { overflow: visible; }

.filter-wrap { position: relative; margin-bottom: 0; }
.filter-wrap .settings-row { margin: 0; }
.filter-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    margin-top: 6px;
    z-index: 100;
    min-width: 220px;
    padding: 12px;
    border-radius: 12px;
    background: rgba(28, 42, 28, 0.98);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}
.filter-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    cursor: pointer;
    border-radius: 8px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
}
.filter-opt:hover { background: rgba(74, 222, 128, 0.12); }
.filter-opt input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: #4ade80;
    cursor: pointer;
}
.filter-opt .filter-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4ade80;
    flex-shrink: 0;
    opacity: 0;
    transition: opacity 0.15s;
}
.filter-opt input:checked ~ .filter-dot { opacity: 1; }
.filter-opt input:checked ~ span:last-of-type { font-weight: 600; color: #4ade80; }
.filter-apply-btn { width: 100%; margin-top: 10px; }

/* Viewport для плавного перехода между вкладками.
   height без transition: при подстановке контента высота меняется мгновенно,
   иначе overflow: hidden обрезает карточки на время анимации (0.55s). */
.tab-viewport {
    position: relative;
    overflow: hidden;
    min-height: 80px;
}

.tab-content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    padding: 16px 20px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    filter: blur(10px);
    transition: opacity 0.5s cubic-bezier(0.25, 0.1, 0.25, 1),
                filter 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.tab-content.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 1;
    filter: blur(0);
}

/* На мобильных и при «уменьшить движение» — без blur, чтобы не залипало */
@media (max-width: 768px), (prefers-reduced-motion: reduce) {
    .tab-content {
        filter: none;
        transition: opacity 0.35s ease;
    }
    .tab-content.active { filter: none; }
}

.admins-panel-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 -20px 16px -20px;
    padding: calc(12px + env(safe-area-inset-top, 0) + 16px) 20px 12px 20px;
    border-bottom: 1px solid rgba(74, 222, 128, 0.25);
    background: rgba(10, 26, 10, 0.6);
}
.admins-panel-back {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    cursor: pointer;
    padding: 6px 0;
}
.admins-panel-back:hover { color: #4ade80; }
.admins-panel-title {
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

/* Скелетоны при подгрузке */
@keyframes skeletonShimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.skeleton-line {
    height: 14px;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.14) 50%, rgba(255,255,255,0.08) 100%);
    background-size: 200% 100%;
    animation: skeletonShimmer 1.2s ease-in-out infinite;
}
.skeleton-line.skeleton-title { height: 18px; margin-bottom: 12px; max-width: 70%; }
.skeleton-line.skeleton-value { height: 28px; max-width: 50%; }

.skeleton-cards-wrap { 
    padding: 0;
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.skeleton-cards-wrap.skeleton-fade-out {
    opacity: 0;
    pointer-events: none;
}
.skeleton-card {
    background: rgba(26, 58, 26, 0.4);
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(74, 222, 128, 0.2);
}
.skeleton-card .skeleton-line { margin-bottom: 10px; }
.skeleton-card .skeleton-line:last-child { margin-bottom: 0; }

.skeleton-history-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.skeleton-history-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}
.skeleton-history-info-row:last-child { margin-bottom: 0; }

.skeleton-my-account-row {
    padding: 12px 16px;
    margin-bottom: 8px;
    background: rgba(26, 58, 26, 0.4);
    border-radius: 8px;
    border: 1px solid rgba(74, 222, 128, 0.2);
}
.skeleton-my-account-row:last-child { margin-bottom: 0; }
.skeleton-my-account-content .skeleton-line { margin-bottom: 6px; }
.skeleton-my-account-content .skeleton-line:last-child { margin-bottom: 0; }
.skeleton-my-account-title { height: 12px; max-width: 55%; }
.skeleton-my-account-sub { height: 10px; max-width: 35%; }

@media (prefers-reduced-motion: reduce) {
    .skeleton-line { animation: none; background: rgba(255, 255, 255, 0.1); }
}

.profile-balance-skeleton {
    padding: 24px 20px;
    margin-bottom: 20px;
    background: rgba(26, 58, 26, 0.4);
    border-radius: 12px;
    border: 1px solid rgba(74, 222, 128, 0.25);
}
.profile-balance-skeleton .skeleton-title { margin: 0 auto 12px; }
.profile-balance-skeleton .skeleton-value { margin: 0 auto; }

.skeleton-admins-wrap {
    padding: 0;
    transition: opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.skeleton-admins-wrap.skeleton-fade-out {
    opacity: 0;
    pointer-events: none;
}
.skeleton-admin-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    margin-bottom: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
}
.skeleton-admin-row .skeleton-admin-info { flex: 1; }
.skeleton-admin-row .skeleton-line { margin-bottom: 8px; }
.skeleton-admin-row .skeleton-line:last-child { margin-bottom: 0; max-width: 40%; }
.skeleton-admin-row .skeleton-line.skeleton-admin-name { max-width: 60%; }

.skeleton-logs-wrap {
    padding: 16px 20px;
    min-height: 50vh;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    transition: opacity 0.25s ease;
}
.skeleton-logs-wrap.skeleton-fade-out { opacity: 0; pointer-events: none; }
.skeleton-logs-wrap .skeleton-line { margin-bottom: 12px; height: 16px; }
.skeleton-logs-wrap .skeleton-line:last-child { margin-bottom: 0; }

.card {
    position: relative;
    overflow: hidden;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 12px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    background: rgba(26, 58, 26, 0.6);
    transition: transform 0.15s ease;
    will-change: transform;
}
.card::before {
    content: "";
    position: absolute;
    inset: 0;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(0, 0, 0, 0.08);
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
}
.card > * {
    position: relative;
    z-index: 1;
}

.farm-active-card {
    border-color: rgba(74, 222, 128, 0.6);
    background: linear-gradient(135deg, rgba(26, 58, 26, 0.8), rgba(16, 48, 16, 0.9));
}

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

.farm-active-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: rgba(74, 222, 128, 0.2);
    border: 1px solid rgba(74, 222, 128, 0.5);
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    color: #4ade80;
    animation: pulse-badge 1.5s ease-in-out infinite;
}

@keyframes pulse-badge {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.farm-active-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.farm-active-account {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

.farm-active-stats {
    display: flex;
    gap: 16px;
    font-size: 14px;
    font-weight: 600;
    color: #4ade80;
}

.farm-active-progress-bar {
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 3px;
    overflow: hidden;
}

.farm-active-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #4ade80, #22c55e);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.btn--danger {
    background: rgba(239, 68, 68, 0.2);
    border: 1px solid rgba(239, 68, 68, 0.5);
    color: #ef4444;
}

.btn--danger:hover {
    background: rgba(239, 68, 68, 0.3);
}

.btn--sm {
    padding: 6px 12px;
    font-size: 12px;
    border-radius: 6px;
}

.demo-mode-banner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    margin-bottom: 16px;
    background: linear-gradient(90deg, rgba(234, 179, 8, 0.2), rgba(234, 179, 8, 0.1));
    border: 1px solid rgba(234, 179, 8, 0.5);
    border-radius: 10px;
    animation: demo-pulse 2s ease-in-out infinite;
}

.demo-mode-banner span {
    font-size: 13px;
    font-weight: 700;
    color: #eab308;
    letter-spacing: 1px;
}

.demo-mode-banner button {
    padding: 5px 12px;
    background: rgba(234, 179, 8, 0.2);
    border: 1px solid rgba(234, 179, 8, 0.5);
    border-radius: 6px;
    color: #eab308;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.demo-mode-banner button:hover {
    background: rgba(234, 179, 8, 0.3);
}

@keyframes demo-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.85; }
}

.demo-users-count {
    margin: 0 0 20px;
    padding: 12px 16px;
    text-align: center;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.75);
    background: rgba(74, 222, 128, 0.08);
    border: 1px solid rgba(74, 222, 128, 0.2);
    border-radius: 10px;
}

.demo-users-count strong {
    color: #4ade80;
}

.accounts-expand-wrap {
    margin-top: 8px;
    margin-bottom: 12px;
}
.accounts-expand-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: rgba(74, 222, 128, 0.15);
    border: 1px solid rgba(74, 222, 128, 0.4);
    border-radius: 10px;
    color: #4ade80;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.accounts-expand-btn:hover {
    background: rgba(74, 222, 128, 0.25);
    border-color: rgba(74, 222, 128, 0.6);
}
.accounts-expand-btn .lucide-icon {
    transition: transform 0.2s;
}
.accounts-expand-btn--expanded .lucide-icon {
    transform: rotate(180deg);
}
.accounts-other-list {
    margin-top: 12px;
}

.card-silver-skeleton {
    display: inline-block;
    width: 72px;
    height: 14px;
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.14) 50%, rgba(255,255,255,0.08) 100%);
    background-size: 200% 100%;
    animation: skeletonShimmer 1.2s ease-in-out infinite;
    vertical-align: middle;
}

.card-title {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    margin-bottom: 8px;
    color: #ffffff;
}

.card-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}

.card-title-row .card-title-text {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    color: #ffffff;
    flex: 1;
    min-width: 0;
}

.card-info {
    font-size: 14px;
    line-height: 1.2;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 4px;
}

.card-info-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
}

.card-info-row .card-info-label {
    flex-shrink: 0;
}

.card-info-date {
    margin-top: 2px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
}

.status-badge {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 500;
    flex-shrink: 0;
}

.status-active {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(74, 222, 128, 0.3);
}

.status-in-progress {
    background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
    color: #000000;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(234, 179, 8, 0.4);
}

.status-completed {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(74, 222, 128, 0.3);
}

.status-stopped {
    background: linear-gradient(135deg, #f87171 0%, #ef4444 100%);
    color: #ffffff;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
}

.status-inactive {
    background: rgba(102, 102, 102, 0.5);
    color: #ffffff;
}

.status-password-changed {
    background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
    color: #000000;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(234, 179, 8, 0.4);
}

.btn {
    width: 100%;
    padding: 14px;
    border-radius: 12px;
    border: none;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s;
    margin-top: 12px;
}

.btn-primary {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(74, 222, 128, 0.3);
}

.btn-primary:active {
    transform: scale(0.98);
}

.btn-primary:active {
    opacity: 0.8;
}

.btn-primary--disabled,
.btn-primary:disabled {
    background: rgba(74, 222, 128, 0.25);
    color: rgba(0, 0, 0, 0.5);
    cursor: not-allowed;
    opacity: 0.7;
}

.btn-primary--disabled:active,
.btn-primary:disabled:active {
    transform: none;
}

.btn-secondary {
    background: var(--tg-theme-secondary-bg-color, #f1f1f1);
    color: var(--tg-theme-text-color, #000000);
}

/* Небольшая анимация загрузки над контентом вкладок */
.content-loading-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    z-index: 10;
    overflow: hidden;
    pointer-events: none;
}
.content-loading-bar::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 40%;
    background: linear-gradient(90deg, transparent, rgba(74, 222, 128, 0.9), transparent);
    animation: content-loading-run 0.9s ease-in-out infinite;
}
@keyframes content-loading-run {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(350%); }
}
@media (prefers-reduced-motion: reduce) {
    .content-loading-bar::after { animation: none; background: rgba(74, 222, 128, 0.5); width: 100%; }
}

.loading {
    text-align: center;
    padding: 40px;
    color: rgba(255, 255, 255, 0.7);
}

.empty-state {
    text-align: center;
    padding: 60px 20px;
    color: rgba(255, 255, 255, 0.7);
}

.empty-state-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.method-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 600;
    margin-left: 8px;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    box-shadow: 0 2px 4px rgba(74, 222, 128, 0.3);
}

.farm-stats {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--tg-theme-hint-color, #e0e0e0);
}

.stat-item {
    text-align: center;
    flex: 1;
}

.stat-value {
    font-size: 18px;
    font-weight: 600;
    color: #4ade80;
}

.stat-label {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
    margin-top: 4px;
}

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    padding: calc(env(safe-area-inset-top, 0px) + 20px) 16px calc(env(safe-area-inset-bottom, 0px) + 20px);
    box-sizing: border-box;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: none;
    align-items: flex-start;
    justify-content: center;
}

.modal--farm {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: calc(env(safe-area-inset-top) + 20px) 16px calc(env(safe-area-inset-bottom) + 20px);
    background: transparent;
}

.modal--farm[style*="block"] {
    display: flex !important;
}

.modal-overlay {
    position: absolute;
    inset: 0;
    z-index: 1000;
    background: rgba(5, 10, 5, 0.6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    cursor: pointer;
}

.modal-content {
    background: linear-gradient(180deg, #0a1a0a 0%, #1a3a1a 50%, #0a1a0a 100%);
    margin: 12% auto 5%;
    padding: 0;
    border-radius: 16px;
    width: 90%;
    max-width: 500px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(74, 222, 128, 0.3);
}

.modal-content--farm {
    position: relative;
    z-index: 1001;
    width: 100%;
    max-width: 420px;
    max-height: 85vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border-radius: 20px;
    border: 1px solid rgba(74, 222, 128, 0.25);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(74, 222, 128, 0.06);
    cursor: default;
}

.modal-header {
    padding: 20px;
    border-bottom: 1px solid rgba(74, 222, 128, 0.3);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header--farm {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.15);
}

.modal-header-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.modal-header-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.modal-header-icon .lucide-icon {
    width: 22px;
    height: 22px;
}

.modal-header-icon--users {
    background: rgba(6, 182, 212, 0.35);
}

.modal-header-icon--users .lucide-icon {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.modal-header-icon--settings {
    background: rgba(74, 222, 128, 0.25);
}

.modal-header-icon--settings .lucide-icon {
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

.modal-header h2 {
    margin: 0;
    font-size: 20px;
    color: #ffffff;
    font-weight: 600;
}

.modal-close {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #ffffff;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal-close--farm {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    transition: background 0.2s ease;
}

.modal-close--farm:hover {
    background: rgba(255, 255, 255, 0.14);
}

.modal-close--farm .lucide-icon {
    width: 18px;
    height: 18px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.modal-body {
    padding: 20px;
}

.modal-body--farm {
    padding: 20px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.user-item {
    padding: 12px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all 0.2s;
    background: rgba(26, 58, 26, 0.4);
}

.user-item:hover {
    background: rgba(26, 58, 26, 0.6);
    border-color: rgba(74, 222, 128, 0.5);
}

.user-item-name {
    font-weight: 500;
    margin-bottom: 4px;
    color: #ffffff;
}

.user-item-id {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

/* Модалка выбора аккаунта — стили под MiniApp */
.account-select-list {
    max-height: 50vh;
    overflow-y: auto;
    overflow-x: clip;
    -ms-overflow-style: none;
    scrollbar-width: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px 14px 0;
    margin: 0 -14px;
}
.account-select-list::-webkit-scrollbar {
    display: none;
}

.account-select-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: rgba(26, 58, 26, 0.4);
    border: 1px solid rgba(74, 222, 128, 0.25);
    border-radius: 12px;
    cursor: pointer;
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
    will-change: transform;
}

.account-select-item:hover {
    background: rgba(26, 58, 26, 0.6);
    border-color: rgba(74, 222, 128, 0.4);
}

.account-select-item:active {
    transform: scale(0.98);
}

.account-select-item-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: rgba(74, 222, 128, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.account-select-item-icon .lucide-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.account-select-item-text {
    flex: 1;
    min-width: 0;
}

.account-select-item-name {
    font-weight: 600;
    font-size: 15px;
    color: #ffffff;
    margin-bottom: 2px;
}

.account-select-item-id {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.65);
}

.account-select-add-btn {
    width: 100%;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease;
    filter: drop-shadow(0 0 10px rgba(74, 222, 128, 0.5));
}

.account-select-add-btn:hover {
    filter: drop-shadow(0 0 14px rgba(74, 222, 128, 0.6));
}

.account-select-add-btn:active {
    transform: scale(0.98);
}

.preview-modal-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.preview-modal-btn {
    width: 100%;
    padding: 14px 20px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(74, 222, 128, 0.35);
}

.preview-modal-btn:hover {
    box-shadow: 0 6px 16px rgba(74, 222, 128, 0.45);
}

.preview-modal-btn:active {
    transform: scale(0.98);
}

.preview-modal-btn--secondary {
    background: rgba(74, 222, 128, 0.2);
    color: #4ade80;
    box-shadow: none;
}

.preview-modal-btn--secondary:hover {
    background: rgba(74, 222, 128, 0.3);
}

.preview-modal-empty {
    margin: 0;
    padding: 16px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    text-align: center;
}

.account-select-add-btn .lucide-icon {
    width: 18px;
    height: 18px;
    filter: brightness(0) invert(1);
    opacity: 1;
}

/* Модалка параметров фарма */
.farm-account-card {
    margin-bottom: 18px;
    padding: 14px 16px;
    background: rgba(26, 58, 26, 0.5);
    border: 1px solid rgba(74, 222, 128, 0.25);
    border-radius: 12px;
    color: #ffffff;
    font-size: 14px;
}

.farm-account-card strong {
    color: rgba(255, 255, 255, 0.9);
}

.farm-form-block {
    margin-bottom: 18px;
}

.farm-field {
    margin-bottom: 14px;
}

.farm-field:last-child {
    margin-bottom: 0;
}

.farm-field-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 6px;
}

.farm-input,
.farm-select {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(18, 28, 18, 0.6);
    color: #ffffff;
    font-size: 15px;
    font-family: inherit;
    transition: border-color 0.2s ease;
}

.farm-input:focus,
.farm-select:focus {
    outline: none;
    border-color: rgba(74, 222, 128, 0.5);
}

.farm-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.farm-select {
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.6)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
}

.farm-params-container .farm-field {
    margin-bottom: 14px;
}

.farm-params-container .farm-field:last-child {
    margin-bottom: 0;
}

.farm-estimated-time {
    margin-top: 10px;
    font-size: 13px;
    color: rgba(255, 255, 255, 0.75);
}

.farm-price-display {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 600;
    color: #4ade80;
}

.farm-start-btn {
    width: 100%;
    margin-top: 20px;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 14px;
    color: #ffffff;
}

/* Модалка «Выберите аккаунт» — закреплена снизу */
#select-account-modal.modal--farm,
#preview-modal.modal--farm {
    align-items: flex-end !important;
    padding: 0 !important;
}
#select-account-modal .modal-content--farm,
#preview-modal .modal-content--farm {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    top: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 20px 20px 0 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    max-height: 85vh !important;
    overflow: visible !important;
    background: rgba(16, 42, 16, 0.35) !important;
    -webkit-backdrop-filter: blur(60px) saturate(220%) brightness(1.1) !important;
    backdrop-filter: blur(60px) saturate(220%) brightness(1.1) !important;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(255, 255, 255, 0.04) !important;
}

.select-account-card {
    position: relative;
    min-height: 280px;
    padding: 32px 24px 0 24px;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

.select-account-back {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s ease;
}

.select-account-back:hover {
    background: rgba(255, 255, 255, 0.14);
}

.select-account-back .lucide-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.select-account-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 20px;
}

.select-account-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(6, 182, 212, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.select-account-icon .lucide-icon {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.select-account-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

.select-account-subtitle {
    margin: 0;
    font-size: 13px;
    max-width: 90%;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.4;
}

/* Модалки «Добавить аккаунт» и «Редактировать аккаунт» — поля и кнопка закреплены, сдвиг вверх при клавиатуре */
.modal--add-account.modal--farm {
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.modal--add-account .modal-content {
    flex-shrink: 0;
    flex-grow: 0;
}

.modal--add-account.keyboard-open.modal--farm {
    align-items: flex-start;
    justify-content: flex-start;
    padding-top: max(env(safe-area-inset-top, 0px), 12px);
}

.modal--add-account.keyboard-open .modal-content {
    transform: translateY(-28vh);
    transition: transform 0.25s ease;
    max-height: none;
    overflow: visible;
}

.modal--add-account:not(.keyboard-open) .modal-content {
    transform: none;
    transition: transform 0.25s ease;
}

.add-account-card,
#edit-account-modal .select-account-card {
    flex-shrink: 0;
    min-width: 0;
}

#edit-account-modal .select-account-card {
    padding-bottom: max(28px, env(safe-area-inset-bottom, 0px));
}

.modal-content--add-account {
    position: relative;
    padding: 24px 20px;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.add-account-back {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
    transition: background 0.2s ease;
}

.add-account-back:hover {
    background: rgba(255, 255, 255, 0.14);
}

.add-account-back .lucide-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.add-account-card {
    position: relative;
    min-height: 320px;
    padding: 32px 24px 28px;
    padding-bottom: max(28px, env(safe-area-inset-bottom, 0px));
    background: rgba(26, 58, 26, 0.4);
    border: 1px solid rgba(74, 222, 128, 0.2);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}


.add-account-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 28px;
}

.add-account-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(74, 222, 128, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.add-account-icon .lucide-icon {
    width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
    opacity: 0.95;
}

.add-account-title {
    margin: 0 0 6px;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

.add-account-subtitle {
    margin: 0;
    font-size: 13px;
    max-width: 90%;
    text-align: center;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.4;
}

.add-account-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.add-account-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.add-account-label {
    font-size: 12px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
}

.add-account-input {
    width: 100%;
    padding: 12px 14px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(18, 28, 18, 0.6);
    color: #ffffff;
    font-size: 15px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s ease;
}

.add-account-input:focus {
    border-color: rgba(74, 222, 128, 0.5);
}

.add-account-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.add-account-btn {
    width: 100%;
    padding: 14px 24px;
    margin-top: 8px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(74, 222, 128, 0.35);
}

.add-account-btn:hover {
    box-shadow: 0 6px 16px rgba(74, 222, 128, 0.45);
}

.add-account-btn:active {
    transform: scale(0.98);
}

/* Плавное появление списка пользователей: fade-in + лёгкий slide */
#admins-list {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#admins-list.admins-list-enter {
    opacity: 0;
    transform: translateY(18px);
}
#admins-list.admins-list-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    #admins-list {
        transition: opacity 0.25s ease-out;
        transform: none;
    }
    #admins-list.admins-list-enter { transform: none; }
}

/* Плавное появление списка истории: fade-in + лёгкий slide */
#history-list {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#history-list.history-list-enter {
    opacity: 0;
    transform: translateY(18px);
}
#history-list.history-list-visible {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    #history-list {
        transition: opacity 0.2s ease-out;
        transform: none;
    }
    #history-list.history-list-enter { transform: none; }
}

/* Скелетон поверх списка — один слой исчезает, без «кусков» */
.settings-group--list {
    position: relative;
}
#admins-modal-skeleton {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: rgba(18, 38, 18, 0.96);
}
#admins-modal-list {
    opacity: 1;
    transform: none;
}

.admin-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(74, 222, 128, 0.3);
    border-radius: 8px;
    margin-bottom: 8px;
    background: rgba(26, 58, 26, 0.4);
}

.admin-item-info {
    flex: 1;
}

.admin-item-name {
    font-weight: 500;
    margin-bottom: 4px;
    color: #ffffff;
}

.admin-item-id {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.7);
}

.admin-item-actions {
    display: flex;
    gap: 8px;
}

.btn-small {
    padding: 6px 12px;
    font-size: 14px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
}

.btn-danger {
    background: #f44336;
    color: white;
}

.btn-info {
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(74, 222, 128, 0.3);
}

.btn-settings {
    background: rgba(74, 222, 128, 0.2);
    color: #4ade80;
    border: 1px solid rgba(74, 222, 128, 0.5);
    padding: 6px 12px;
    font-size: 16px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-settings:hover {
    background: rgba(74, 222, 128, 0.3);
    border-color: rgba(74, 222, 128, 0.7);
}

input[type="text"],
input[type="number"] {
    color: #ffffff !important;
}

input[type="text"]::placeholder,
input[type="number"]::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
}

.farm-stats {
    border-top: 1px solid rgba(74, 222, 128, 0.3);
}

.profile-tab-inner {
    padding: 20px 0 calc(20px + env(safe-area-inset-bottom, 0px));
    min-height: 320px;
}

.profile-balance-block {
    text-align: center;
    padding: 24px 20px;
    margin-bottom: 20px;
    background: rgba(26, 58, 26, 0.4);
    border-radius: 12px;
    border: 1px solid rgba(74, 222, 128, 0.25);
}

.profile-balance-label {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 8px;
}

.profile-balance-value {
    font-size: 28px;
    font-weight: 700;
    color: #4ade80;
}

.profile-topup-btn {
    width: 100%;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 12px;
    border: 1px solid rgba(74, 222, 128, 0.5);
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    cursor: pointer;
    transition: all 0.2s;
}

.profile-topup-btn:active {
    transform: scale(0.98);
}

.profile-topup-btn:hover {
    background: rgba(74, 222, 128, 0.25);
}

.profile-premium-text {
    margin: 0;
    padding: 24px 20px;
    background: rgba(26, 58, 26, 0.4);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
}

.profile-premium-limits {
    margin-top: 16px;
}

.profile-limits-block {
    padding: 16px 20px;
    background: rgba(26, 58, 26, 0.4);
    border-radius: 12px;
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
}

.profile-limits-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-bottom: 8px;
}

.profile-limits-row:last-child {
    margin-bottom: 0;
}

.profile-limits-label {
    font-weight: 600;
    color: #4ade80;
    min-width: 70px;
}

.farm-limits-hint {
    margin-bottom: 16px;
    padding: 12px 16px;
    background: rgba(26, 58, 26, 0.5);
    border-radius: 8px;
    border: 1px solid rgba(74, 222, 128, 0.25);
}

.farm-limits-text {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
}

/* Модалка пополнения баланса — bottom sheet */
.topup-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    animation: fadeIn 0.2s ease;
}

.topup-sheet {
    width: 100%;
    max-width: 420px;
    max-height: 88vh;
    overflow-y: auto;
    border-top-left-radius: 24px;
    border-top-right-radius: 24px;
    border-top: 1px solid rgba(74, 222, 128, 0.2);
    background: rgba(26, 58, 26, 0.98);
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.5);
    animation: slideUp 0.25s ease;
}

@keyframes slideUp {
    from { transform: translateY(100%); opacity: 0.8; }
    to { transform: translateY(0); opacity: 1; }
}

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

.topup-sheet-header {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(74, 222, 128, 0.15);
    background: rgba(26, 58, 26, 0.95);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.topup-sheet-title {
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
}

.topup-sheet-close {
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 12px;
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s ease, color 0.15s ease;
}

.topup-sheet-close:active {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
}

.topup-sheet-body {
    padding: 20px 16px 24px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.topup-section {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.topup-section-title {
    margin: 0;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255, 255, 255, 0.5);
}

.topup-methods-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.topup-method-btn {
    flex: 1;
    min-width: 100px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    border-radius: 16px;
    border: 1px solid rgba(74, 222, 128, 0.25);
    background: rgba(18, 28, 18, 0.7);
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.15s ease;
}

.topup-method-btn:active {
    background: rgba(74, 222, 128, 0.15);
}

.topup-method-btn.active {
    border-width: 2px;
    border-color: #4ade80;
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

.topup-amounts-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.topup-amount-preset {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 16px;
    border: 1px solid rgba(74, 222, 128, 0.25);
    background: rgba(18, 28, 18, 0.7);
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: all 0.15s ease;
}

.topup-amount-preset:active {
    background: rgba(74, 222, 128, 0.15);
}

.topup-amount-preset.active {
    border-width: 2px;
    border-color: #4ade80;
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
}

.topup-custom-input {
    width: 100%;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(74, 222, 128, 0.25);
    background: rgba(18, 28, 18, 0.7);
    color: #ffffff;
    font-size: 15px;
    font-family: inherit;
    box-sizing: border-box;
}

.topup-custom-input::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.topup-custom-input:focus {
    outline: none;
    border-color: rgba(74, 222, 128, 0.5);
    background: rgba(18, 28, 18, 0.9);
}

.topup-submit-btn {
    width: 100%;
    padding: 14px 20px;
    border: none;
    border-radius: 16px;
    background: linear-gradient(135deg, #4ade80 0%, #22c55e 100%);
    color: #000000;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    box-shadow: 0 4px 16px rgba(74, 222, 128, 0.4);
}

.topup-submit-btn:active {
    transform: scale(0.98);
    opacity: 0.9;
}

.topup-back-btn {
    width: 100%;
    padding: 12px 20px;
    border: none;
    border-radius: 16px;
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
    cursor: pointer;
    transition: color 0.15s ease;
}

.topup-back-btn:active {
    color: rgba(255, 255, 255, 0.9);
}

.topup-pay-text {
    margin: 0;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.5;
    text-align: center;
}

.topup-pay-link-btn {
    width: 100%;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 600;
    border-radius: 16px;
    border: 1px solid rgba(74, 222, 128, 0.5);
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    cursor: pointer;
    text-decoration: none;
    display: block;
    text-align: center;
    transition: all 0.15s ease;
}

.topup-pay-link-btn:active {
    background: rgba(74, 222, 128, 0.25);
}

/* ── Themes icon color ── */
.settings-row-icon--themes {
    background: rgba(168, 85, 247, 0.35);
    color: #c4b5fd;
}
.settings-row--link:active .settings-row-icon--themes {
    background: rgba(168, 85, 247, 0.55);
    color: #e9d5ff;
}

/* ── Theme picker ── */
.themes-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding: 4px 0;
}

.theme-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0;
    background: none;
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    cursor: pointer;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
    overflow: hidden;
}
.theme-card.active {
    border-color: #4ade80;
    box-shadow: 0 0 16px rgba(74, 222, 128, 0.3);
}

.theme-preview {
    width: 100%;
    aspect-ratio: 9 / 16;
    border-radius: 12px 12px 0 0;
    padding: 10px 8px 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
    overflow: hidden;
    position: relative;
}

.theme-preview--dark {
    background: #0a1a0a;
}
.theme-preview--light {
    background: #e8ebe8;
}
.theme-preview--red {
    background: #1a0a0a;
}
.theme-preview--purple {
    background: #0f0512;
}

.theme-preview-header {
    height: 6px;
    border-radius: 3px;
    width: 45%;
    margin: 0 auto 2px;
}
.theme-preview--dark .theme-preview-header { background: rgba(74, 222, 128, 0.5); }
.theme-preview--light .theme-preview-header { background: rgba(34, 130, 60, 0.4); }
.theme-preview--red .theme-preview-header { background: rgba(239, 68, 68, 0.5); }
.theme-preview--purple .theme-preview-header { background: rgba(168, 85, 247, 0.5); }

.theme-preview-cards {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}
.theme-preview-card {
    flex: 1;
    border-radius: 6px;
}
.theme-preview--dark .theme-preview-card { background: rgba(26, 58, 26, 0.7); border: 1px solid rgba(74, 222, 128, 0.25); }
.theme-preview--light .theme-preview-card { background: rgba(255, 255, 255, 0.85); border: 1px solid rgba(0, 0, 0, 0.1); }
.theme-preview--red .theme-preview-card { background: rgba(58, 26, 26, 0.7); border: 1px solid rgba(239, 68, 68, 0.25); }
.theme-preview--purple .theme-preview-card { background: rgba(58, 26, 58, 0.7); border: 1px solid rgba(168, 85, 247, 0.35); }

.theme-preview-bar {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 5px 4px;
    border-radius: 8px;
    margin: auto 0 6px;
}
.theme-preview-bar span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.theme-preview--dark .theme-preview-bar { background: rgba(255, 255, 255, 0.08); }
.theme-preview--dark .theme-preview-bar span { background: rgba(255, 255, 255, 0.3); }
.theme-preview--dark .theme-preview-bar span:first-child { background: #4ade80; }

.theme-preview--light .theme-preview-bar { background: rgba(0, 0, 0, 0.06); }
.theme-preview--light .theme-preview-bar span { background: rgba(0, 0, 0, 0.2); }
.theme-preview--light .theme-preview-bar span:first-child { background: #22c55e; }

.theme-preview--red .theme-preview-bar { background: rgba(255, 255, 255, 0.08); }
.theme-preview--red .theme-preview-bar span { background: rgba(255, 255, 255, 0.3); }
.theme-preview--red .theme-preview-bar span:first-child { background: #ef4444; }
.theme-preview--purple .theme-preview-bar { background: rgba(255, 255, 255, 0.08); }
.theme-preview--purple .theme-preview-bar span { background: rgba(255, 255, 255, 0.3); }
.theme-preview--purple .theme-preview-bar span:first-child { background: #a855f7; }
.theme-preview--purple .theme-preview-bar span:nth-child(2) { background: #22d3ee; }

.theme-card-label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    padding-bottom: 10px;
}

.theme-card-check {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #4ade80;
    color: #000;
    font-size: 12px;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.theme-card.active .theme-card-check {
    display: flex;
}

/* ══════════════════════════════════════════════
   THEME: Light
   ══════════════════════════════════════════════ */

body.theme-light {
    color: #1a2e1a;
}

/* Background blobs */
body.theme-light .bg-blob-1 { background: radial-gradient(circle, rgba(120, 120, 120, 0.2) 0%, rgba(100, 100, 100, 0.08) 40%, transparent 70%); }
body.theme-light .bg-blob-2 { background: radial-gradient(circle, rgba(140, 140, 140, 0.18) 0%, rgba(110, 110, 110, 0.07) 35%, transparent 65%); }
body.theme-light .bg-blob-3 { background: radial-gradient(circle, rgba(100, 100, 100, 0.2) 0%, rgba(130, 130, 130, 0.08) 50%, transparent 70%); }
body.theme-light .bg-blob-4 { background: radial-gradient(circle, rgba(150, 150, 150, 0.15) 0%, transparent 55%); }
body.theme-light .bg-blob-5 { background: radial-gradient(circle, rgba(110, 110, 110, 0.16) 0%, rgba(130, 130, 130, 0.06) 45%, transparent 70%); }
body.theme-light .bg-blob-6 { background: radial-gradient(circle, rgba(125, 125, 125, 0.15) 0%, transparent 60%); }

/* Icons — make dark on light bg */
body.theme-light .lucide-icon {
    filter: brightness(0) invert(0);
}
body.theme-light .modal-header-icon--users .lucide-icon,
body.theme-light .modal-header-icon--settings .lucide-icon {
    filter: brightness(0) invert(0);
}
body.theme-light .status-badge .lucide-icon {
    filter: brightness(0) invert(0);
}
body.theme-light .start-farm-btn .lucide-icon {
    filter: brightness(0) invert(0);
}
body.theme-light .btn-primary .lucide-icon {
    filter: brightness(0) invert(1);
}
body.theme-light .settings-row-icon .lucide-icon {
    filter: brightness(0) invert(1);
}
/* Более контрастные фоны иконок в настройках (белая тема) */
body.theme-light .settings-row-icon--general { background: rgba(37, 99, 235, 0.6); color: #1e40af; }
body.theme-light .settings-row-icon--my-accounts { background: rgba(8, 145, 178, 0.6); color: #0e7490; }
body.theme-light .settings-row-icon--preview-exit { background: rgba(202, 138, 4, 0.6); color: #a16207; }
body.theme-light .settings-row-icon--prices { background: rgba(234, 88, 12, 0.6); color: #c2410c; }
body.theme-light .settings-row-icon--users { background: rgba(22, 163, 74, 0.6); color: #15803d; }
body.theme-light .settings-row-icon--statistics { background: rgba(37, 99, 235, 0.6); color: #1e40af; }
body.theme-light .settings-row-icon--logs { background: rgba(234, 88, 12, 0.6); color: #c2410c; }
body.theme-light .settings-row-icon--changelog { background: rgba(124, 58, 237, 0.6); color: #5b21b6; }
body.theme-light .settings-row-icon--filter { background: rgba(22, 163, 74, 0.6); color: #15803d; }
body.theme-light .settings-row-icon--debug { background: rgba(79, 70, 229, 0.6); color: #4338ca; }
body.theme-light .settings-row-icon--reviews { background: rgba(202, 138, 4, 0.6); color: #a16207; }
body.theme-light .settings-row-icon--support { background: rgba(22, 163, 74, 0.6); color: #15803d; }
body.theme-light .settings-row-icon--themes { background: rgba(124, 58, 237, 0.6); color: #5b21b6; }
body.theme-light .settings-tab-btn.active .settings-row-icon--general { background: rgba(37, 99, 235, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--my-accounts { background: rgba(8, 145, 178, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--prices { background: rgba(234, 88, 12, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--users { background: rgba(22, 163, 74, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--statistics { background: rgba(37, 99, 235, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--logs { background: rgba(234, 88, 12, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--changelog { background: rgba(124, 58, 237, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--debug { background: rgba(79, 70, 229, 0.75); }
body.theme-light .settings-tab-btn.active .settings-row-icon--support { background: rgba(22, 163, 74, 0.75); }
body.theme-light .settings-row--link:hover .settings-row-icon--reviews,
body.theme-light .settings-row--link:active .settings-row-icon--reviews { background: rgba(202, 138, 4, 0.75); }
body.theme-light .settings-row--link:active .settings-row-icon--themes { background: rgba(124, 58, 237, 0.75); }

/* Header */
body.theme-light .header { color: #1a2e1a; }

/* Cards */
body.theme-light .card {
    background: rgba(255, 255, 255, 0.35);
    border-color: rgba(0, 80, 0, 0.1);
    color: #1a2e1a;
}
body.theme-light .card::before {
    background: rgba(255, 255, 255, 0.15);
}
body.theme-light .card-title,
body.theme-light .card-title-row .card-title-text {
    color: #1a2e1a;
}
body.theme-light .card-info {
    color: rgba(26, 46, 26, 0.7);
}
body.theme-light .card-info-date {
    color: rgba(26, 46, 26, 0.6);
}

/* Farm active card */
body.theme-light .farm-active-card {
    background: rgba(74, 222, 128, 0.12);
    border-color: rgba(34, 197, 94, 0.3);
}

/* Review cards */
body.theme-light .review-card {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(0, 80, 0, 0.08);
    color: #1a2e1a;
}
body.theme-light .review-card-name { color: #1a2e1a; }
body.theme-light .review-card-date { color: rgba(26, 46, 26, 0.55); }
body.theme-light .review-card-text { color: rgba(26, 46, 26, 0.8); }

/* Settings */
body.theme-light .settings-header-title,
body.theme-light .settings-detail-title {
    color: #1a2e1a;
}
body.theme-light .settings-group {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(0, 0, 0, 0.06);
}
body.theme-light .settings-row {
    color: #1a2e1a;
}
body.theme-light .settings-row + .settings-row {
    border-color: rgba(0, 0, 0, 0.06);
}
body.theme-light .settings-row-label {
    color: #1a2e1a;
}
body.theme-light .settings-back-btn {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
}
body.theme-light .settings-detail-header {
    border-color: rgba(0, 0, 0, 0.06);
}

/* Inputs */
body.theme-light .settings-input,
body.theme-light .settings-select {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.12);
    color: #1a2e1a;
}
body.theme-light .settings-panel-label {
    color: rgba(26, 46, 26, 0.7);
}

/* Buttons */
body.theme-light .btn-primary {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(34, 197, 94, 0.25);
}
body.theme-light .btn-settings {
    background: rgba(34, 197, 94, 0.12);
    color: #16a34a;
    border-color: rgba(34, 197, 94, 0.35);
}
body.theme-light .btn-info {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #ffffff;
}

/* Bottom bar */
body.theme-light .action-buttons {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.45) 40%, rgba(240, 240, 240, 0.5) 100%);
    border-color: transparent;
    box-shadow: 0 -1px 12px rgba(0, 0, 0, 0.04);
}
body.theme-light .action-button-label {
    color: rgba(26, 46, 26, 0.5);
}
body.theme-light .action-button.active .action-button-label {
    color: #16a34a;
}
body.theme-light .action-button.active .action-button-icon {
    filter: grayscale(0) drop-shadow(0 0 5px rgba(34, 197, 94, 0.4));
}
body.theme-light .action-button-icon img {
    filter: brightness(0) saturate(100%) invert(15%) sepia(10%) saturate(500%) hue-rotate(90deg);
}
body.theme-light .action-button.active .action-button-icon img {
    filter: brightness(0) saturate(100%) invert(55%) sepia(70%) saturate(500%) hue-rotate(90deg) brightness(0.95);
}

/* Loading screen */
body.theme-light .loading-screen,
body.theme-light .loading-screen__bg {
    background: #e8ebe8;
}

/* Skeletons */
body.theme-light .skeleton-line,
body.theme-light .skeleton-circle {
    background: linear-gradient(90deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.1) 50%, rgba(0,0,0,0.06) 100%);
    background-size: 200% 100%;
}
body.theme-light .skeleton-card {
    background: rgba(255, 255, 255, 0.5);
    border-color: rgba(0, 0, 0, 0.08);
}

/* Misc */
body.theme-light .empty-state { color: rgba(26, 46, 26, 0.5); }
body.theme-light .loading { color: rgba(26, 46, 26, 0.5); }
body.theme-light .settings-debug-hint { color: rgba(26, 46, 26, 0.5); }
body.theme-light .settings-group-title { color: #1a2e1a; }
body.theme-light .debug-action-btn { color: #1a2e1a; background: rgba(0, 0, 0, 0.06); border-color: rgba(0, 0, 0, 0.1); }
body.theme-light .theme-card { border-color: rgba(0, 0, 0, 0.1); }
body.theme-light .theme-card.active { border-color: #22c55e; box-shadow: 0 0 16px rgba(34, 197, 94, 0.25); }
body.theme-light .theme-card-label { color: rgba(26, 46, 26, 0.8); }
body.theme-light .theme-card-check { background: #22c55e; }

/* Start farm button */
body.theme-light .start-farm-btn {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #1a2e1a;
    filter: drop-shadow(0 0 10px rgba(34, 197, 94, 0.35));
}
body.theme-light .start-farm-btn:active {
    filter: drop-shadow(0 0 6px rgba(34, 197, 94, 0.25));
}

/* Silver shop */
body.theme-light .silver-shop-section h2 {
    color: rgba(26, 46, 26, 0.9);
}
body.theme-light .silver-package-card {
    background: rgba(255, 255, 255, 0.3);
    border-color: rgba(0, 80, 0, 0.08);
}
body.theme-light .silver-package-card:hover {
    background: rgba(255, 255, 255, 0.45);
    border-color: rgba(0, 80, 0, 0.15);
}
body.theme-light .silver-package-card .silver-amount {
    color: #16a34a;
}
body.theme-light .silver-package-card .price {
    color: rgba(26, 46, 26, 0.85);
}
body.theme-light .silver-package-card .old-price {
    color: rgba(26, 46, 26, 0.45);
}

/* Status badges */
body.theme-light .status-active {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    color: #1a2e1a;
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.25);
}
body.theme-light .status-completed {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 2px 8px rgba(34, 197, 94, 0.25);
}
body.theme-light .method-badge {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
    box-shadow: 0 2px 4px rgba(34, 197, 94, 0.25);
}

/* Expand button */
body.theme-light .accounts-expand-btn {
    background: rgba(34, 197, 94, 0.1);
    border-color: rgba(34, 197, 94, 0.25);
    color: #16a34a;
}
body.theme-light .accounts-expand-btn:hover {
    background: rgba(34, 197, 94, 0.18);
    border-color: rgba(34, 197, 94, 0.4);
}

/* Stats */
body.theme-light .stat-value { color: #16a34a; }

/* Admin rows in users */
body.theme-light .admin-item { color: #1a2e1a; }
body.theme-light .admin-item + .admin-item { border-color: rgba(0, 0, 0, 0.06); }

/* Support */
body.theme-light .support-msg { color: #1a2e1a; }
body.theme-light .support-message-input {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.1);
    color: #1a2e1a;
}

/* Filter */
body.theme-light .filter-dropdown {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 0, 0, 0.1);
    color: #1a2e1a;
}

/* Logs */
body.theme-light .settings-logs-pre {
    background: rgba(0, 0, 0, 0.04);
    color: #1a2e1a;
}

/* Header */
body.theme-light .header h1 { color: #1a2e1a; text-shadow: none; }
body.theme-light .header-btn { color: rgba(26, 46, 26, 0.6); }
body.theme-light .header-btn:hover { color: #16a34a; }

/* Loading screen */
body.theme-light .loading-screen__text { color: rgba(26, 46, 26, 0.5); }

/* Settings chevron */
body.theme-light .settings-row-chevron { color: rgba(26, 46, 26, 0.35); }
body.theme-light .settings-header-icon { color: #16a34a; }

/* Glass controls */
body.theme-light .glass-ctrl-label { color: rgba(26, 46, 26, 0.7); }

/* Logs title */
body.theme-light .settings-logs-title { color: rgba(26, 46, 26, 0.75); }

/* Changelog */
body.theme-light .settings-changelog-date { color: rgba(26, 46, 26, 0.5); }
body.theme-light .settings-changelog-msg { color: rgba(26, 46, 26, 0.85); }

/* Support chat */
body.theme-light .support-admin-label { color: rgba(26, 46, 26, 0.55); }
body.theme-light .support-target-input { color: #1a2e1a; background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.12); }
body.theme-light .support-loading,
body.theme-light .support-empty { color: rgba(26, 46, 26, 0.5); }
body.theme-light .support-msg--user { color: #1a3a1a; }
body.theme-light .support-msg--admin { color: #1a2a3a; }
body.theme-light .support-message-input { color: #1a2e1a; }
body.theme-light .support-message-input::placeholder { color: rgba(26, 46, 26, 0.4); }
body.theme-light .support-thread-name { color: #1a2e1a; }
body.theme-light .support-thread-preview { color: rgba(26, 46, 26, 0.55); }
body.theme-light .support-thread-time { color: rgba(26, 46, 26, 0.45); }
body.theme-light .support-thread-item { border-color: rgba(0, 0, 0, 0.06); }
body.theme-light .support-admin-bar { background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.08); }
body.theme-light .support-chat-input-wrap { border-color: rgba(0, 0, 0, 0.08); }

/* Reviews */
body.theme-light .reviews-summary-rating { color: #1a2e1a; }
body.theme-light .reviews-summary-count { color: rgba(26, 46, 26, 0.5); }
body.theme-light .review-username { color: #1a2e1a; }
body.theme-light .review-text { color: rgba(26, 46, 26, 0.8); }
body.theme-light .review-item { color: rgba(26, 46, 26, 0.5); }
body.theme-light .review-date { color: rgba(26, 46, 26, 0.4); }

/* Filter */
body.theme-light .filter-opt { color: rgba(26, 46, 26, 0.85); }

/* Admin panels */
body.theme-light .admins-panel-back { color: rgba(26, 46, 26, 0.7); }
body.theme-light .admins-panel-title { color: #1a2e1a; }
body.theme-light .admins-panel-header { background: rgba(255, 255, 255, 0.4); border-color: rgba(0, 80, 0, 0.15); }
body.theme-light .admin-item-name { color: #1a2e1a; }
body.theme-light .admin-item-id { color: rgba(26, 46, 26, 0.6); }

/* Statistics */
body.theme-light .statistics-topup-meta { color: rgba(26, 46, 26, 0.6); }

/* Farm active card */
body.theme-light .farm-active-account { color: rgba(26, 46, 26, 0.75); }

/* Stat labels */
body.theme-light .stat-label { color: rgba(26, 46, 26, 0.6); }

/* Loading & empty state text */
body.theme-light .loading { color: rgba(26, 46, 26, 0.5); }

/* Demo users */
body.theme-light .demo-users-count { color: rgba(26, 46, 26, 0.7); }

/* Modal text */
body.theme-light .modal-title { color: #1a2e1a; }
body.theme-light .modal-header h2 { color: #1a2e1a; }
body.theme-light .modal-close { color: #1a2e1a; }
body.theme-light .modal-content { background: linear-gradient(180deg, #f0f5f0 0%, #e8ede8 50%, #f0f5f0 100%); border-color: rgba(0, 80, 0, 0.15); }

/* User item */
body.theme-light .user-item-name { color: #1a2e1a; }
body.theme-light .user-item-id { color: rgba(26, 46, 26, 0.6); }
body.theme-light .user-item { background: rgba(255, 255, 255, 0.35); border-color: rgba(0, 80, 0, 0.1); }

/* Account select items */
body.theme-light .account-select-item-name { color: #1a2e1a; }
body.theme-light .account-select-item-id { color: rgba(26, 46, 26, 0.55); }
body.theme-light .account-select-item { background: rgba(255, 255, 255, 0.35); border-color: rgba(0, 80, 0, 0.1); }
body.theme-light .select-account-title { color: #1a2e1a; }
body.theme-light .select-account-subtitle { color: rgba(26, 46, 26, 0.55); }
body.theme-light .select-account-back { color: #1a2e1a; background: rgba(0, 0, 0, 0.06); }

/* Farm modal fields */
body.theme-light .farm-account-card { color: #1a2e1a; background: rgba(255, 255, 255, 0.35); border-color: rgba(0, 80, 0, 0.1); }
body.theme-light .farm-account-card strong { color: rgba(26, 46, 26, 0.85); }
body.theme-light .farm-field-label { color: rgba(26, 46, 26, 0.85); }
body.theme-light .farm-input,
body.theme-light .farm-select { color: #1a2e1a; background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.12); }
body.theme-light .farm-input::placeholder { color: rgba(26, 46, 26, 0.4); }
body.theme-light .farm-estimated-time { color: rgba(26, 46, 26, 0.65); }
body.theme-light .farm-limits-text { color: rgba(26, 46, 26, 0.75); }
body.theme-light .preview-modal-empty { color: rgba(26, 46, 26, 0.6); }

/* Add account modal */
body.theme-light .add-account-title { color: #1a2e1a; }
body.theme-light .add-account-subtitle { color: rgba(26, 46, 26, 0.55); }
body.theme-light .add-account-label { color: rgba(26, 46, 26, 0.6); }
body.theme-light .add-account-input { color: #1a2e1a; background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 0, 0, 0.12); }
body.theme-light .add-account-input::placeholder { color: rgba(26, 46, 26, 0.4); }
body.theme-light .add-account-back { color: #1a2e1a; background: rgba(0, 0, 0, 0.06); }
body.theme-light .add-account-card { background: rgba(255, 255, 255, 0.5); border-color: rgba(0, 80, 0, 0.1); }

/* Profile tab */
body.theme-light .profile-balance-label { color: rgba(26, 46, 26, 0.6); }
body.theme-light .profile-balance-block { background: rgba(255, 255, 255, 0.35); border-color: rgba(0, 80, 0, 0.1); }
body.theme-light .profile-premium-text { color: rgba(26, 46, 26, 0.85); background: rgba(255, 255, 255, 0.35); }
body.theme-light .profile-limits-block { color: rgba(26, 46, 26, 0.85); background: rgba(255, 255, 255, 0.35); }

/* Topup modal */
body.theme-light .topup-sheet { background: rgba(240, 245, 240, 0.98); }
body.theme-light .topup-sheet-header { background: rgba(240, 245, 240, 0.95); border-color: rgba(0, 0, 0, 0.08); }
body.theme-light .topup-sheet-title { color: rgba(26, 46, 26, 0.6); }
body.theme-light .topup-sheet-close { color: rgba(26, 46, 26, 0.5); }
body.theme-light .topup-sheet-close:active { color: #1a2e1a; background: rgba(0, 0, 0, 0.06); }
body.theme-light .topup-section-title { color: rgba(26, 46, 26, 0.45); }
body.theme-light .topup-method-btn { color: rgba(26, 46, 26, 0.8); background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 80, 0, 0.12); }
body.theme-light .topup-amount-preset { color: rgba(26, 46, 26, 0.8); background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 80, 0, 0.12); }
body.theme-light .topup-custom-input { color: #1a2e1a; background: rgba(0, 0, 0, 0.04); border-color: rgba(0, 80, 0, 0.12); }
body.theme-light .topup-custom-input::placeholder { color: rgba(26, 46, 26, 0.4); }
body.theme-light .topup-back-btn { color: rgba(26, 46, 26, 0.5); }
body.theme-light .topup-back-btn:active { color: rgba(26, 46, 26, 0.8); }
body.theme-light .topup-pay-text { color: rgba(26, 46, 26, 0.8); }

/* Global inputs override */
body.theme-light input[type="text"],
body.theme-light input[type="number"] { color: #1a2e1a !important; }
body.theme-light input[type="text"]::placeholder,
body.theme-light input[type="number"]::placeholder { color: rgba(26, 46, 26, 0.45) !important; }

/* My account rows */
body.theme-light .my-account-row { background: rgba(255, 255, 255, 0.3); border-color: rgba(0, 80, 0, 0.1); }

/* Theme card label */
body.theme-light .theme-card-label { color: rgba(26, 46, 26, 0.75); }

/* Skeleton overrides for light bg */
body.theme-light .skeleton-card { background: rgba(255, 255, 255, 0.3); border-color: rgba(0, 0, 0, 0.06); }
body.theme-light .skeleton-my-account-row { background: rgba(255, 255, 255, 0.3); border-color: rgba(0, 0, 0, 0.06); }
body.theme-light #admins-modal-skeleton { background: rgba(240, 245, 240, 0.96); }

/* Farm limits hint */
body.theme-light .farm-limits-hint { background: rgba(255, 255, 255, 0.35); border-color: rgba(0, 80, 0, 0.1); }

/* Settings toggle */
body.theme-light .settings-toggle-slider { background: rgba(0, 0, 0, 0.12); }

/* Reviews load more */
body.theme-light .reviews-load-more { background: rgba(255, 255, 255, 0.3); border-color: rgba(0, 80, 0, 0.12); color: #16a34a; }

/* ══════════════════════════════════════════════
   THEME: Red
   ══════════════════════════════════════════════ */

/* Background blobs */
body.theme-red .bg-blob-1 { background: radial-gradient(circle, rgba(58, 26, 26, 0.8) 0%, rgba(26, 10, 10, 0.35) 40%, transparent 70%); }
body.theme-red .bg-blob-2 { background: radial-gradient(circle, rgba(239, 68, 68, 0.3) 0%, rgba(58, 26, 26, 0.5) 35%, transparent 65%); }
body.theme-red .bg-blob-3 { background: radial-gradient(circle, rgba(26, 10, 10, 0.85) 0%, rgba(58, 26, 26, 0.4) 50%, transparent 70%); }
body.theme-red .bg-blob-4 { background: radial-gradient(circle, rgba(239, 68, 68, 0.25) 0%, transparent 55%); }
body.theme-red .bg-blob-5 { background: radial-gradient(circle, rgba(58, 26, 26, 0.6) 0%, rgba(10, 5, 5, 0.45) 45%, transparent 70%); }
body.theme-red .bg-blob-6 { background: radial-gradient(circle, rgba(80, 34, 34, 0.55) 0%, transparent 60%); }

/* Cards */
body.theme-red .card {
    background: rgba(58, 26, 26, 0.6);
    border-color: rgba(239, 68, 68, 0.3);
}
body.theme-red .card::before {
    background: rgba(0, 0, 0, 0.08);
}

/* Farm active card */
body.theme-red .farm-active-card {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.35);
}

/* Review cards */
body.theme-red .review-card {
    background: rgba(58, 26, 26, 0.4);
    border-color: rgba(239, 68, 68, 0.3);
}

/* Settings */
body.theme-red .settings-group {
    background: rgba(42, 28, 28, 0.6);
    border-color: rgba(255, 255, 255, 0.08);
}
body.theme-red .settings-back-btn {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

/* Accent overrides */
body.theme-red .btn-primary {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}
body.theme-red .btn-primary--disabled,
body.theme-red .btn-primary:disabled {
    background: rgba(239, 68, 68, 0.25);
    color: rgba(255, 255, 255, 0.5);
}
body.theme-red .btn-settings {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border-color: rgba(239, 68, 68, 0.5);
}
body.theme-red .btn-settings:hover {
    background: rgba(239, 68, 68, 0.3);
    border-color: rgba(239, 68, 68, 0.7);
}
body.theme-red .btn-info {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

/* Bottom bar */
body.theme-red .action-button.active .action-button-icon {
    filter: grayscale(0) drop-shadow(0 0 5px rgba(239, 68, 68, 0.4));
}
body.theme-red .action-button.active .action-button-label {
    color: rgba(239, 68, 68, 0.8);
}
body.theme-red .action-button.drag-hover .action-button-icon {
    filter: grayscale(0) drop-shadow(0 0 5px rgba(239, 68, 68, 0.35));
}
body.theme-red .action-button.drag-hover .action-button-label {
    color: rgba(239, 68, 68, 0.8);
}
body.theme-red .action-button.active .action-button-icon img {
    filter: brightness(0) saturate(100%) invert(40%) sepia(90%) saturate(1500%) hue-rotate(340deg) brightness(1.1);
}

/* Theme cards */
body.theme-red .theme-card.active { border-color: #ef4444; box-shadow: 0 0 16px rgba(239, 68, 68, 0.3); }
body.theme-red .theme-card-check { background: #ef4444; }

/* Skeletons */
body.theme-red .skeleton-card {
    background: rgba(58, 26, 26, 0.5);
    border-color: rgba(239, 68, 68, 0.15);
}

/* Settings group preview-exit */
body.theme-red .settings-group--preview-exit {
    border-color: rgba(239, 68, 68, 0.2);
}

/* Topup link */
body.theme-red .topup-pay-link-btn {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}
body.theme-red .topup-pay-link-btn:active {
    background: rgba(239, 68, 68, 0.25);
}

/* Start farm button */
body.theme-red .start-farm-btn {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.5));
}
body.theme-red .start-farm-btn:active {
    filter: drop-shadow(0 0 6px rgba(239, 68, 68, 0.3));
}

/* Silver shop */
body.theme-red .silver-package-card {
    background: rgba(58, 26, 26, 0.5);
    border-color: rgba(239, 68, 68, 0.25);
}
body.theme-red .silver-package-card:hover {
    background: rgba(58, 26, 26, 0.7);
    border-color: rgba(239, 68, 68, 0.4);
}
body.theme-red .silver-package-card .silver-amount {
    color: #ef4444;
}

/* Status badges */
body.theme-red .status-active {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}
body.theme-red .status-completed {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}
body.theme-red .method-badge {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    box-shadow: 0 2px 4px rgba(239, 68, 68, 0.3);
}

/* Expand button */
body.theme-red .accounts-expand-btn {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.4);
    color: #ef4444;
}
body.theme-red .accounts-expand-btn:hover {
    background: rgba(239, 68, 68, 0.25);
    border-color: rgba(239, 68, 68, 0.6);
}

/* Cards */
body.theme-red .card-title,
body.theme-red .card-title-row .card-title-text {
    color: #ffffff;
}

/* Stats */
body.theme-red .stat-value { color: #ef4444; }

/* Settings header icon */
body.theme-red .settings-header-icon {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

/* Settings back btn */
body.theme-red .settings-detail-header {
    border-color: rgba(255, 255, 255, 0.08);
}

/* Farm active card */
body.theme-red .farm-active-card .card-progress-fill {
    background: linear-gradient(90deg, #ef4444, #dc2626);
}

/* Loading spinner */
body.theme-red .loading-spinner,
body.theme-red .reviews-spinner {
    border-top-color: #ef4444;
}

/* Filter */
body.theme-red .settings-row-icon--filter {
    background: rgba(239, 68, 68, 0.3);
    color: #ef4444;
}
body.theme-red .filter-opt input:checked ~ span:last-of-type { color: #ef4444; }
body.theme-red .filter-dot { background: #ef4444; }
body.theme-red input[type="checkbox"] { accent-color: #ef4444; }

/* Settings toggle */
body.theme-red .settings-toggle-slider::before { background: #ef4444; }

/* My accounts add btn */
body.theme-red .my-accounts-add-btn {
    background: rgba(239, 68, 68, 0.25);
    border-color: rgba(239, 68, 68, 0.4);
    color: #ef4444;
}

/* Reviews */
body.theme-red .reviews-summary-stars { color: #ef4444; }
body.theme-red .reviews-link { color: #ef4444; }

/* Misc accent texts */
body.theme-red .action-button.active { color: #ef4444; }
body.theme-red .action-button.active .action-button-label { color: rgba(239, 68, 68, 0.8); }
body.theme-red .header-btn:hover { color: #ef4444; }
body.theme-red .demo-users-count strong { color: #ef4444; }
body.theme-red .admins-panel-back:hover { color: #ef4444; }

/* Topup confirmed badge */
body.theme-red .topup-badge-confirmed {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.4);
}

/* Loading screen */
body.theme-red .loading-screen,
body.theme-red .loading-screen__bg {
    background: #0a0505;
}

/* Demo mode status, misc accents */
body.theme-red #demo-mode-status { color: #ef4444 !important; }
body.theme-red #debug-fake-status { color: #ef4444 !important; }

/* ══════════════════════════════════════════════
   THEME: Purple (Фиолетовый — маджента + cyan)
   ══════════════════════════════════════════════ */

/* Background blobs — маджента и cyan */
body.theme-purple .bg-blob-1 { background: radial-gradient(circle, rgba(139, 44, 121, 0.4) 0%, rgba(58, 26, 58, 0.25) 40%, transparent 70%); }
body.theme-purple .bg-blob-2 { background: radial-gradient(circle, rgba(0, 188, 212, 0.25) 0%, rgba(58, 26, 58, 0.4) 35%, transparent 65%); }
body.theme-purple .bg-blob-3 { background: radial-gradient(circle, rgba(58, 26, 58, 0.7) 0%, rgba(139, 44, 121, 0.2) 50%, transparent 70%); }
body.theme-purple .bg-blob-4 { background: radial-gradient(circle, rgba(168, 85, 247, 0.3) 0%, transparent 55%); }
body.theme-purple .bg-blob-5 { background: radial-gradient(circle, rgba(0, 188, 212, 0.2) 0%, rgba(58, 26, 58, 0.5) 45%, transparent 70%); }
body.theme-purple .bg-blob-6 { background: radial-gradient(circle, rgba(139, 44, 121, 0.3) 0%, transparent 60%); }

/* Cards */
body.theme-purple .card {
    background: rgba(58, 26, 58, 0.6);
    border-color: rgba(168, 85, 247, 0.35);
}
body.theme-purple .card::before {
    background: rgba(0, 0, 0, 0.08);
}

/* Farm active card */
body.theme-purple .farm-active-card {
    background: rgba(168, 85, 247, 0.12);
    border-color: rgba(168, 85, 247, 0.4);
}

/* Review cards */
body.theme-purple .review-card {
    background: rgba(58, 26, 58, 0.4);
    border-color: rgba(168, 85, 247, 0.3);
}

/* Settings */
body.theme-purple .settings-group {
    background: rgba(42, 28, 42, 0.6);
    border-color: rgba(255, 255, 255, 0.08);
}
body.theme-purple .settings-back-btn {
    background: rgba(168, 85, 247, 0.2);
    color: #c084fc;
}

/* Accent overrides — маджента основной, cyan вторичный */
body.theme-purple .btn-primary {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(168, 85, 247, 0.35);
}
body.theme-purple .btn-primary--disabled,
body.theme-purple .btn-primary:disabled {
    background: rgba(168, 85, 247, 0.25);
    color: rgba(255, 255, 255, 0.5);
}
body.theme-purple .btn-settings {
    background: rgba(168, 85, 247, 0.2);
    color: #c084fc;
    border-color: rgba(168, 85, 247, 0.5);
}
body.theme-purple .btn-settings:hover {
    background: rgba(168, 85, 247, 0.3);
    border-color: rgba(168, 85, 247, 0.7);
}
body.theme-purple .btn-info {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(168, 85, 247, 0.35);
}

/* Bottom bar */
body.theme-purple .action-button.active .action-button-icon {
    filter: grayscale(0) drop-shadow(0 0 5px rgba(168, 85, 247, 0.45));
}
body.theme-purple .action-button.active .action-button-label {
    color: rgba(196, 181, 253, 0.95);
}
body.theme-purple .action-button.drag-hover .action-button-icon {
    filter: grayscale(0) drop-shadow(0 0 5px rgba(34, 211, 238, 0.4));
}
body.theme-purple .action-button.drag-hover .action-button-label {
    color: rgba(34, 211, 238, 0.9);
}
body.theme-purple .action-button.active .action-button-icon img {
    filter: brightness(0) saturate(100%) invert(55%) sepia(70%) saturate(800%) hue-rotate(260deg) brightness(1.05);
}

/* Theme cards */
body.theme-purple .theme-card.active { border-color: #a855f7; box-shadow: 0 0 16px rgba(168, 85, 247, 0.35); }
body.theme-purple .theme-card-check { background: #a855f7; }

/* Skeletons */
body.theme-purple .skeleton-card {
    background: rgba(58, 26, 58, 0.5);
    border-color: rgba(168, 85, 247, 0.2);
}

body.theme-purple .settings-group--preview-exit {
    border-color: rgba(168, 85, 247, 0.25);
}

body.theme-purple .topup-pay-link-btn {
    background: rgba(168, 85, 247, 0.2);
    color: #c084fc;
}
body.theme-purple .topup-pay-link-btn:active {
    background: rgba(168, 85, 247, 0.35);
}

/* Start farm button */
body.theme-purple .start-farm-btn {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    color: #ffffff;
    filter: drop-shadow(0 0 10px rgba(168, 85, 247, 0.5));
}
body.theme-purple .start-farm-btn:active {
    filter: drop-shadow(0 0 6px rgba(168, 85, 247, 0.35));
}

/* Silver shop */
body.theme-purple .silver-package-card {
    background: rgba(58, 26, 58, 0.5);
    border-color: rgba(168, 85, 247, 0.3);
}
body.theme-purple .silver-package-card:hover {
    background: rgba(58, 26, 58, 0.7);
    border-color: rgba(168, 85, 247, 0.45);
}
body.theme-purple .silver-package-card .silver-amount {
    color: #c084fc;
}

/* Status badges */
body.theme-purple .status-active,
body.theme-purple .status-completed {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    box-shadow: 0 2px 8px rgba(168, 85, 247, 0.35);
}
body.theme-purple .method-badge {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    color: #ffffff;
    box-shadow: 0 2px 4px rgba(168, 85, 247, 0.35);
}

/* Expand button */
body.theme-purple .accounts-expand-btn {
    background: rgba(168, 85, 247, 0.15);
    border-color: rgba(168, 85, 247, 0.4);
    color: #c084fc;
}
body.theme-purple .accounts-expand-btn:hover {
    background: rgba(168, 85, 247, 0.25);
    border-color: rgba(168, 85, 247, 0.6);
}

body.theme-purple .card-title,
body.theme-purple .card-title-row .card-title-text {
    color: #ffffff;
}

body.theme-purple .stat-value { color: #c084fc; }

body.theme-purple .settings-header-icon {
    background: rgba(168, 85, 247, 0.25);
    color: #c084fc;
}

body.theme-purple .settings-detail-header {
    border-color: rgba(255, 255, 255, 0.08);
}

body.theme-purple .farm-active-card .card-progress-fill {
    background: linear-gradient(90deg, #a855f7, #7c3aed);
}

body.theme-purple .loading-spinner,
body.theme-purple .reviews-spinner {
    border-top-color: #a855f7;
}

body.theme-purple .settings-row-icon--filter {
    background: rgba(168, 85, 247, 0.35);
    color: #c084fc;
}
body.theme-purple .filter-opt input:checked ~ span:last-of-type { color: #c084fc; }
body.theme-purple .filter-dot { background: #a855f7; }
body.theme-purple input[type="checkbox"] { accent-color: #a855f7; }

body.theme-purple .settings-toggle-slider::before { background: #a855f7; }

body.theme-purple .my-accounts-add-btn {
    background: rgba(168, 85, 247, 0.3);
    border-color: rgba(168, 85, 247, 0.45);
    color: #c084fc;
}

body.theme-purple .reviews-summary-stars { color: #c084fc; }
body.theme-purple .reviews-link { color: #c084fc; }

body.theme-purple .action-button.active .action-button-label { color: rgba(196, 181, 253, 0.95); }
body.theme-purple .header-btn:hover { color: #c084fc; }
body.theme-purple .demo-users-count strong { color: #c084fc; }
body.theme-purple .admins-panel-back:hover { color: #c084fc; }

body.theme-purple .topup-badge-confirmed {
    background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
    box-shadow: 0 2px 8px rgba(168, 85, 247, 0.4);
}

body.theme-purple .loading-screen,
body.theme-purple .loading-screen__bg {
    background: #0f0512;
}

body.theme-purple #demo-mode-status { color: #c084fc !important; }
body.theme-purple #debug-fake-status { color: #c084fc !important; }
