/* /Components/Chat/AudioMessagePlayer.razor.rz.scp.css */
.audio-player[b-u9f6fu663q] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 16px;
    min-width: 180px;
    max-width: 320px;
}

/* Кнопка Play/Pause */
.audio-player__btn[b-u9f6fu663q] {
    width: 32px;
    height: 32px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    flex-shrink: 0;
    color: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
}

.audio-player__btn:hover[b-u9f6fu663q] {
    background: rgba(255, 255, 255, 0.35);
}

/* Спиннер загрузки */
.audio-player__spinner[b-u9f6fu663q] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: spin-b-u9f6fu663q 0.7s linear infinite;
    display: inline-block;
}

@keyframes spin-b-u9f6fu663q {
    to { transform: rotate(360deg); }
}

/* Волновая форма */
.audio-player__waveform[b-u9f6fu663q] {
    flex: 1;
    cursor: pointer;
    min-width: 0;
}

.audio-player__canvas[b-u9f6fu663q] {
    width: 100%;
    height: 32px;
    display: block;
}

/* Время — показывается только при воспроизведении */
.audio-player__time[b-u9f6fu663q] {
    font-size: 0.625rem;
    color: inherit;
    opacity: 0.8;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}

@media (max-width: 480px) {
    .audio-player[b-u9f6fu663q] {
        min-width: 140px;
    }
}
/* /Components/Chat/ChatContextMenu.razor.rz.scp.css */
.chat-ctx[b-toszrkpbx8] {
    min-width: 200px;
    max-width: 260px;
    max-height: 300px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.chat-ctx__header[b-toszrkpbx8] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--border);
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-primary);
}

.chat-ctx__back[b-toszrkpbx8] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-sm);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
}

.chat-ctx__back:hover[b-toszrkpbx8] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.chat-ctx__empty[b-toszrkpbx8] {
    padding: 16px 12px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.ctx-menu__arrow[b-toszrkpbx8] {
    margin-left: auto;
    color: var(--text-muted);
}

/* Основные стили контекстного меню */
.ctx-overlay[b-toszrkpbx8] {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: transparent;
}

.ctx-menu[b-toszrkpbx8] {
    position: fixed;
    z-index: 1000;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 4px;
    box-shadow: var(--shadow-lg);
    animation: fadeIn-b-toszrkpbx8 0.1s ease;
}

.ctx-menu__item[b-toszrkpbx8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-size: 0.875rem;
    color: var(--text-primary);
    cursor: pointer;
    transition: background 0.1s ease;
}

.ctx-menu__item:hover[b-toszrkpbx8] {
    background: var(--bg-hover);
}

.ctx-menu__item--danger[b-toszrkpbx8] {
    color: var(--danger);
}

.ctx-menu__item--danger:hover[b-toszrkpbx8] {
    background: var(--danger-bg, rgba(239, 68, 68, 0.1));
}

@keyframes fadeIn-b-toszrkpbx8 {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}
/* /Components/Chat/ChatInput.razor.rz.scp.css */
.chat-input[b-1kytefig6o] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-surface);
    flex-shrink: 0;
}

/* Превью ответа на сообщение */
.chat-input__reply[b-1kytefig6o] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-surface);
    border-left: 3px solid var(--accent);
    margin-left: 0;
}

.chat-input__reply-content[b-1kytefig6o] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.chat-input__reply-name[b-1kytefig6o] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--accent);
}

.chat-input__reply-text[b-1kytefig6o] {
    font-size: 0.8125rem;
    color: var(--text-muted);
    max-height: 2.4em;
}

.chat-input__field[b-1kytefig6o] {
    flex: 1;
    min-width: 0;
}

.chat-input__textarea[b-1kytefig6o] {
    resize: none;
    max-height: 120px;
    overflow-y: auto;
    line-height: 1.5;
    padding: 10px 14px;
    font-size: 0.9375rem;
    border-radius: var(--radius-lg);
}

.chat-input__actions[b-1kytefig6o] {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.chat-input__send[b-1kytefig6o] {
    width: 40px;
    height: 40px;
    padding: 0;
    border-radius: var(--radius-full);
}

.chat-input__send:disabled[b-1kytefig6o] {
    opacity: 0.4;
}

/* --- Превью прикреплённого файла --- */

.chat-input__preview[b-1kytefig6o] {
    position: relative;
    padding: 8px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-surface);
    display: flex;
    align-items: center;
    gap: 8px;
}

.chat-input__preview-img[b-1kytefig6o] {
    max-height: 80px;
    max-width: 120px;
    border-radius: var(--radius-md);
    object-fit: cover;
    flex-shrink: 0;
}

.chat-input__preview-file[b-1kytefig6o] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.chat-input__preview-name[b-1kytefig6o] {
    font-size: 0.875rem;
    flex: 1;
    min-width: 0;
}

.chat-input__preview-remove[b-1kytefig6o] {
    flex-shrink: 0;
    opacity: 0.6;
    width: 28px;
    height: 28px;
    padding: 0;
}

.chat-input__preview-remove:hover[b-1kytefig6o] {
    opacity: 1;
}

/* --- Мобильное меню выбора файла --- */
.mobile-file-menu-overlay[b-1kytefig6o] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 16px;
    animation: fadeIn-b-1kytefig6o 0.15s ease;
}

.mobile-file-menu[b-1kytefig6o] {
    background: var(--bg-elevated);
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    width: 100%;
    max-width: 400px;
    padding: 8px;
    animation: slideUp-b-1kytefig6o 0.2s ease;
}

@keyframes fadeIn-b-1kytefig6o {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-1kytefig6o {
    from { transform: translateY(100%); }
    to { transform: translateY(0); }
}

.mobile-file-menu__item[b-1kytefig6o] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 14px 16px;
    border: none;
    background: transparent;
    color: var(--text-primary);
    font-size: 1rem;
    text-align: left;
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
    cursor: pointer;
}

.mobile-file-menu__item:hover[b-1kytefig6o],
.mobile-file-menu__item:active[b-1kytefig6o] {
    background: var(--bg-hover);
}

.mobile-file-menu__item:last-child[b-1kytefig6o] {
    color: var(--text-muted);
    margin-top: 4px;
}

/* Мобильная версия */
@media (max-width: 640px) {
    .chat-input[b-1kytefig6o] {
        padding: 8px 12px;
    }

    .chat-input__textarea[b-1kytefig6o] {
        max-height: 100px;
    }
}
/* /Components/Chat/ChatList.razor.rz.scp.css */
.chat-list[b-wb7g6viq7x] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.chat-list__header[b-wb7g6viq7x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 16px 8px;
    flex-shrink: 0;
}

.chat-list__title[b-wb7g6viq7x] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-primary);
}

.chat-list__search[b-wb7g6viq7x] {
    padding: 0 12px 8px;
    flex-shrink: 0;
}

.chat-list__search-input[b-wb7g6viq7x] {
    font-size: 0.875rem;
}

.chat-list__items[b-wb7g6viq7x] {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
}

.chat-list__empty[b-wb7g6viq7x] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 40px 20px;
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* Мобильная версия */
@media (max-width: 640px) {
    .chat-list[b-wb7g6viq7x] {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: visible;
    }

    .chat-list__items[b-wb7g6viq7x] {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
    }
}
/* /Components/Chat/ChatListItem.razor.rz.scp.css */
.chat-item[b-mqo58t0dln] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    cursor: pointer;
    transition: background var(--transition-fast);
    border-radius: 0;
}

.chat-item:hover[b-mqo58t0dln] {
    background: var(--bg-elevated);
}

.chat-item--active[b-mqo58t0dln] {
    background: var(--accent-muted);
}

.chat-item--active .chat-item__name[b-mqo58t0dln] {
    color: var(--accent);
}

.avatar-wrapper[b-mqo58t0dln] {
    position: relative;
    flex-shrink: 0;
}

.chat-item__type-icon[b-mqo58t0dln] {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 18px;
    height: 18px;
    background: var(--bg-elevated);
    border: 2px solid var(--bg-primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
}

.chat-item--active .chat-item__type-icon[b-mqo58t0dln] {
    border-color: var(--accent-muted);
}

.chat-item__type-badge[b-mqo58t0dln] {
    font-size: 0.75rem;
    margin-right: 4px;
    opacity: 0.8;
}

.chat-item[data-type="Group"][b-mqo58t0dln] {
    background: linear-gradient(90deg, rgba(99, 102, 241, 0.03) 0%, transparent 100%);
}

.chat-item[data-type="Channel"][b-mqo58t0dln] {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.03) 0%, transparent 100%);
}

.chat-item[data-type="Group"].chat-item--active[b-mqo58t0dln] {
    background: linear-gradient(90deg, rgba(99, 102, 241, 0.1) 0%, var(--accent-muted) 100%);
}

.chat-item[data-type="Channel"].chat-item--active[b-mqo58t0dln] {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.1) 0%, var(--accent-muted) 100%);
}

.chat-item__content[b-mqo58t0dln] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.chat-item__top[b-mqo58t0dln] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.chat-item__name[b-mqo58t0dln] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
    flex: 1;
    min-width: 0;
}

.chat-item__time[b-mqo58t0dln] {
    font-size: 0.75rem;
    color: var(--text-muted);
    flex-shrink: 0;
}

.chat-item__bottom[b-mqo58t0dln] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.chat-item__preview[b-mqo58t0dln] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    flex: 1;
    min-width: 0;
}
/* /Components/Chat/ChatWindow.razor.rz.scp.css */
.chat-window[b-m9qdik227z] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

.chat-window__header[b-m9qdik227z] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-surface);
    flex-shrink: 0;
}

.chat-window__back[b-m9qdik227z] {
    flex-shrink: 0;
}

/* Скрываем кнопку "Назад" на десктопе */
@media (min-width: 641px) {
    .chat-window__back[b-m9qdik227z] {
        display: none;
    }
}

.chat-window__info[b-m9qdik227z] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    border-radius: var(--radius-md);
    transition: background var(--transition-fast);
}

.chat-window__info:hover[b-m9qdik227z] {
    background: var(--bg-hover);
}

.chat-window__meta[b-m9qdik227z] {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.chat-window__name[b-m9qdik227z] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.chat-window__status[b-m9qdik227z] {
    font-size: 0.75rem;
}

.chat-window__actions[b-m9qdik227z] {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.chat-window__messages[b-m9qdik227z] {
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 12px 0;
    gap: 2px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.chat-window__loading[b-m9qdik227z],
.chat-window__no-messages[b-m9qdik227z] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 12px;
    color: var(--text-muted);
}

.chat-window__load-more[b-m9qdik227z] {
    display: flex;
    justify-content: center;
    padding: 8px;
}

.chat-window__typing[b-m9qdik227z] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
}

.chat-window__readonly[b-m9qdik227z] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px;
    border-top: 1px solid var(--border);
    font-size: 0.875rem;
    color: var(--text-muted);
    background: var(--bg-surface);
}

.chat-window__input[b-m9qdik227z] {
    flex-shrink: 0;
}

/* Мобильная версия */
@media (max-width: 640px) {
    .chat-window[b-m9qdik227z] {
        display: flex;
        flex-direction: column;
        /* Используем dvh/svh чтобы корректно реагировать на появление клавиатуры */
        height: 100dvh;
        height: 100svh;
        min-height: 0;
        /* Отступ снизу для фиксированной мобильной навигации */
        padding-bottom: calc(var(--mobile-nav-height, 60px) + env(safe-area-inset-bottom, 0px));
        box-sizing: border-box;
    }

    .chat-window__messages[b-m9qdik227z] {
        flex: 1;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
        min-height: 0;
    }

    .chat-window__input[b-m9qdik227z] {
        flex-shrink: 0;
        background: var(--bg-surface);
        border-top: 1px solid var(--border);
        /* Прижимаем к низу экрана над клавиатурой */
        position: sticky;
        bottom: 0;
    }
}
/* /Components/Chat/CreateGroupModal.razor.rz.scp.css */
.create-group-modal[b-zkna7whzf5] {
    max-width: 420px;
}

/* Прогресс-бар */
.create-group-modal__progress[b-zkna7whzf5] {
    padding: 16px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--bg-secondary);
}

.create-group-modal__progress-steps[b-zkna7whzf5] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
}

.create-group-modal__step[b-zkna7whzf5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 70px;
}

.create-group-modal__step-circle[b-zkna7whzf5] {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
    background: var(--bg-elevated);
    color: var(--text-muted);
    border: 2px solid var(--border);
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.create-group-modal__step--active .create-group-modal__step-circle[b-zkna7whzf5] {
    background: linear-gradient(135deg, var(--accent), var(--accent-hover));
    color: white;
    border-color: var(--accent);
    box-shadow: 0 4px 12px rgba(var(--accent-rgb, 99, 102, 241), 0.4);
    transform: scale(1.1);
}

.create-group-modal__step--completed .create-group-modal__step-circle[b-zkna7whzf5] {
    background: var(--accent);
    color: white;
    border-color: var(--accent);
}

.create-group-modal__step-label[b-zkna7whzf5] {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.2s ease;
}

.create-group-modal__step--active .create-group-modal__step-label[b-zkna7whzf5] {
    color: var(--text-primary);
    font-weight: 600;
}

.create-group-modal__step--completed .create-group-modal__step-label[b-zkna7whzf5] {
    color: var(--accent);
    font-weight: 500;
}

.create-group-modal__step-line[b-zkna7whzf5] {
    flex: 1;
    height: 3px;
    background: var(--border);
    margin: 0 12px;
    margin-bottom: 24px;
    transition: background 0.4s ease;
    border-radius: 2px;
}

.create-group-modal__step-line--active[b-zkna7whzf5] {
    background: var(--accent);
}

/* Textarea - запрет изменения размера */
.create-group-modal__textarea[b-zkna7whzf5] {
    resize: none;
    min-height: 60px;
}

/* Секция аватара */
.create-group-modal__avatar-section[b-zkna7whzf5] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 32px 0;
}

.create-group-modal__avatar-preview[b-zkna7whzf5] {
    position: relative;
    display: inline-block;
}

.create-group-modal__avatar-preview[b-zkna7whzf5]::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent), var(--accent-hover));
    z-index: -1;
    opacity: 0.3;
    animation: pulse-b-zkna7whzf5 2s ease-in-out infinite;
}

@keyframes pulse-b-zkna7whzf5 {
    0%, 100% { transform: scale(1); opacity: 0.3; }
    50% { transform: scale(1.05); opacity: 0.5; }
}

.create-group-modal__avatar-remove[b-zkna7whzf5] {
    position: absolute;
    top: -4px;
    right: -4px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--danger), #dc3545);
    color: white;
    border: 3px solid var(--bg-elevated);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.4);
}

.create-group-modal__avatar-remove:hover[b-zkna7whzf5] {
    transform: scale(1.15);
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.5);
}

.create-group-modal__avatar-btn[b-zkna7whzf5] {
    gap: 8px;
    padding: 10px 20px;
    border: 2px dashed var(--border);
    background: transparent;
    transition: all 0.2s ease;
}

.create-group-modal__avatar-btn:hover[b-zkna7whzf5] {
    border-color: var(--accent);
    color: var(--accent);
    background: var(--accent-muted);
}

/* Выбранные участники */
.create-group-modal__selected[b-zkna7whzf5] {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 0;
}

.create-group-modal__selected-chip[b-zkna7whzf5] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 16px;
    background: var(--accent-muted);
    color: var(--accent);
    font-size: 0.8125rem;
    max-width: 150px;
}

.create-group-modal__selected-chip button[b-zkna7whzf5] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: var(--accent);
    cursor: pointer;
    padding: 0;
}

.create-group-modal__selected-chip button:hover[b-zkna7whzf5] {
    background: var(--accent);
    color: white;
}

/* Список друзей */
.create-group-modal__friends[b-zkna7whzf5] {
    max-height: 280px;
    overflow-y: auto;
    margin: 0 -20px;
    padding: 0 20px;
}

.create-group-modal__loading[b-zkna7whzf5] {
    display: flex;
    justify-content: center;
    padding: 24px;
}

.create-group-modal__friend[b-zkna7whzf5] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background 0.1s ease;
}

.create-group-modal__friend:hover[b-zkna7whzf5] {
    background: var(--bg-hover);
}

.create-group-modal__friend--selected[b-zkna7whzf5] {
    background: var(--accent-muted);
}

.create-group-modal__friend-info[b-zkna7whzf5] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.create-group-modal__friend-name[b-zkna7whzf5] {
    font-size: 0.875rem;
    font-weight: 500;
}

.create-group-modal__friend-check[b-zkna7whzf5] {
    flex-shrink: 0;
}
/* /Components/Chat/FolderBar.razor.rz.scp.css */
.folder-bar[b-slcd5x1fr3] {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    border-top: 1px solid var(--border);
    background: var(--bg-secondary);
    flex-shrink: 0;
    position: relative;
}

.folder-bar__loading[b-slcd5x1fr3] {
    display: flex;
    justify-content: center;
    padding: 8px;
    width: 100%;
}

/* Кнопка текущей папки */
.folder-bar__current[b-slcd5x1fr3] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    background: var(--bg-elevated);
    color: var(--text-primary);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.15s ease;
    width: 100%;
    text-align: left;
}

.folder-bar__current:hover[b-slcd5x1fr3] {
    background: var(--bg-hover);
    border-color: var(--accent-muted);
}

.folder-bar__current-name[b-slcd5x1fr3] {
    flex: 1;
    min-width: 0;
}

.folder-bar__current :global(svg)[b-slcd5x1fr3] {
    flex-shrink: 0;
    color: var(--text-muted);
}

/* Оверлей для выпадающего списка */
.folder-bar__dropdown-overlay[b-slcd5x1fr3] {
    position: absolute;
    inset: 0;
    z-index: 99;
}

/* Выпадающий список */
.folder-bar__dropdown[b-slcd5x1fr3] {
    position: absolute;
    bottom: 100%;
    left: 8px;
    right: 8px;
    margin-bottom: 8px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: 6px;
    z-index: 100;
    max-height: 280px;
    overflow-y: auto;
    animation: slideInUp-b-slcd5x1fr3 0.15s ease;
}

.folder-bar__dropdown-item[b-slcd5x1fr3] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    width: 100%;
    text-align: left;
    transition: background 0.1s ease;
}

.folder-bar__dropdown-item:hover[b-slcd5x1fr3] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.folder-bar__dropdown-item--active[b-slcd5x1fr3] {
    background: var(--accent-muted);
    color: var(--accent);
}

.folder-bar__dropdown-item--active:hover[b-slcd5x1fr3] {
    background: var(--accent-muted);
}

.folder-bar__dropdown-item--add[b-slcd5x1fr3] {
    color: var(--accent);
}

.folder-bar__dropdown-divider[b-slcd5x1fr3] {
    height: 1px;
    background: var(--border);
    margin: 4px 0;
}

.folder-bar__dropdown-empty[b-slcd5x1fr3] {
    padding: 12px;
    text-align: center;
    color: var(--text-muted);
    font-size: 0.8125rem;
}

.folder-bar__badge[b-slcd5x1fr3] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    border-radius: 10px;
    background: var(--accent);
    color: white;
    font-size: 0.6875rem;
    font-weight: 600;
    margin-left: auto;
}

/* Модалка создания папки */
.create-folder-modal[b-slcd5x1fr3] {
    max-width: 380px;
}

@keyframes slideInUp-b-slcd5x1fr3 {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Мобильная версия */
@media (max-width: 640px) {
    .folder-bar[b-slcd5x1fr3] {
        padding: 8px;
        position: relative;
        background: var(--bg-secondary);
        border-top: 1px solid var(--border);
        z-index: 200;
    }

    .folder-bar__dropdown[b-slcd5x1fr3] {
        position: absolute;
        bottom: 100%;
        left: 8px;
        right: 8px;
        margin-bottom: 8px;
        max-height: 50vh;
        z-index: 300;
    }

    .folder-bar__dropdown-overlay[b-slcd5x1fr3] {
        position: fixed;
        inset: 0;
        z-index: 250;
    }
}

/* Десктоп: выровнять высоту с ChatInput */
@media (min-width: 641px) {
    .folder-bar[b-slcd5x1fr3] {
        min-height: 67px;
    }
}
/* /Components/Chat/ImageLightbox.razor.rz.scp.css */
.lightbox[b-di2i0pmarr] {
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.88);
    display: flex;
    align-items: center;
    justify-content: center;
    outline: none;
    animation: lightbox-fade-in-b-di2i0pmarr 0.15s ease;
}

@keyframes lightbox-fade-in-b-di2i0pmarr {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.lightbox__close[b-di2i0pmarr] {
    position: absolute;
    top: 16px;
    right: 16px;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-full);
    width: 44px;
    height: 44px;
    padding: 0;
    z-index: 1;
}

.lightbox__close:hover[b-di2i0pmarr] {
    background: rgba(255, 255, 255, 0.2);
}

.lightbox__content[b-di2i0pmarr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: calc(100vw - 80px);
    max-height: calc(100vh - 80px);
    gap: 12px;
}

.lightbox__image[b-di2i0pmarr] {
    max-width: 100%;
    max-height: calc(100vh - 140px);
    object-fit: contain;
    border-radius: var(--radius-md);
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.4);
}

.lightbox__toolbar[b-di2i0pmarr] {
    display: flex;
    align-items: center;
    gap: 12px;
    color: rgba(255, 255, 255, 0.8);
}

.lightbox__filename[b-di2i0pmarr] {
    font-size: 0.875rem;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
/* /Components/Chat/MessageBubble.razor.rz.scp.css */
.msg-bubble[b-p7prlz8h2u] {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding: 2px 16px;
    animation: slideInUp 150ms ease;
    position: relative;
    transition: background-color 300ms ease;
}

.msg-bubble--highlight[b-p7prlz8h2u] {
    background-color: var(--accent-dim, rgba(124, 58, 237, 0.15));
    border-radius: 8px;
}

/* Мобильные: предотвращаем выделение текста */
@media (max-width: 640px) {
    .msg-bubble[b-p7prlz8h2u] {
        -webkit-user-select: none;
        user-select: none;
    }
}

.msg-bubble:hover .msg-bubble__delete[b-p7prlz8h2u] {
    opacity: 1;
}

.msg-bubble--own[b-p7prlz8h2u] {
    flex-direction: row-reverse;
}

.msg-bubble__avatar[b-p7prlz8h2u] {
    flex-shrink: 0;
    margin-bottom: 4px;
}

.msg-bubble__body[b-p7prlz8h2u] {
    max-width: 70%;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.msg-bubble--own .msg-bubble__body[b-p7prlz8h2u] {
    align-items: flex-end;
}

.msg-bubble__sender[b-p7prlz8h2u] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
    padding: 0 12px;
}

/* Системные сообщения (о звонках и т.д.) */
/* =====================================================
   Системные сообщения (звонки, служебные события)
   Отображаются по центру, отличаются от обычных сообщений
   ===================================================== */
.msg-bubble--system[b-p7prlz8h2u] {
    justify-content: center;
    padding: 6px 16px;
    pointer-events: none;           /* нельзя выделить/нажать */
}

.msg-bubble--system .msg-bubble__body[b-p7prlz8h2u] {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 7px;
    max-width: 80%;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
}

/* Pill-обёртка вокруг иконки + текста */
.msg-bubble--system .msg-bubble__body[b-p7prlz8h2u]::before {
    display: none;
}

.msg-bubble--system .msg-bubble__body[b-p7prlz8h2u] {
    background: color-mix(in srgb, var(--bg-elevated) 90%, transparent);
    border: 1px solid var(--border-light, var(--border));
    border-radius: 999px;
    padding: 5px 14px 5px 10px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

.msg-bubble--system .msg-bubble__system-icon[b-p7prlz8h2u] {
    color: var(--text-muted);
    flex-shrink: 0;
    opacity: 0.75;
}

.msg-bubble--system .msg-bubble__text[b-p7prlz8h2u] {
    font-size: 0.8rem;
    font-weight: 400;
    font-style: italic;
    color: var(--text-muted);
    background: transparent !important;
    border: none !important;
    text-align: center;
    padding: 0;
    line-height: 1.4;
}

.msg-bubble__reply[b-p7prlz8h2u] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px 10px;
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: rgba(0,0,0,0.1);
    max-width: 100%;
    overflow: hidden;
}

.msg-bubble__reply-name[b-p7prlz8h2u] {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
}

.msg-bubble__reply-text[b-p7prlz8h2u] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    max-width: 200px;
}

/* Своё сообщение */
.msg-bubble--own .msg-bubble__body > .msg-bubble__text[b-p7prlz8h2u],
.msg-bubble--own .msg-bubble__body > .msg-bubble__deleted[b-p7prlz8h2u] {
    background: var(--msg-own-bg);
    color: var(--msg-own-text);
    border-radius: 16px 4px 16px 16px;
}

/* Чужое сообщение */
.msg-bubble--other .msg-bubble__body > .msg-bubble__text[b-p7prlz8h2u],
.msg-bubble--other .msg-bubble__body > .msg-bubble__deleted[b-p7prlz8h2u] {
    background: var(--msg-other-bg);
    color: var(--msg-other-text);
    border: 1px solid var(--border);
    border-radius: 4px 16px 16px 16px;
}

.msg-bubble__text[b-p7prlz8h2u] {
    padding: 8px 12px;
    font-size: 0.9375rem;
    line-height: 1.5;
    word-break: break-word;
    white-space: pre-wrap;
}

.msg-bubble__deleted[b-p7prlz8h2u] {
    padding: 8px 12px;
    font-size: 0.875rem;
    font-style: italic;
    opacity: 0.6;
}

.msg-bubble__footer[b-p7prlz8h2u] {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 4px;
}

.msg-bubble__time[b-p7prlz8h2u] {
    font-size: 0.6875rem;
    color: var(--text-muted);
}

.msg-bubble__delete[b-p7prlz8h2u] {
    opacity: 0;
    width: 28px;
    height: 28px;
    color: var(--text-muted);
    transition: opacity var(--transition-fast), color var(--transition-fast);
    flex-shrink: 0;
    align-self: center;
}

.msg-bubble__delete:hover[b-p7prlz8h2u] {
    color: var(--danger);
}

/* --- Изображение в сообщении --- */

.msg-bubble__image-wrap[b-p7prlz8h2u] {
    overflow: hidden;
    border-radius: var(--radius-md);
    cursor: pointer;
    line-height: 0;
}

.msg-bubble__image[b-p7prlz8h2u] {
    max-width: 280px;
    max-height: 320px;
    width: 100%;
    object-fit: cover;
    border-radius: var(--radius-md);
    display: block;
    transition: opacity 0.15s ease;
}

.msg-bubble__image:hover[b-p7prlz8h2u] {
    opacity: 0.92;
}

/* --- Видео в сообщении (Telegram-style) --- */

.msg-bubble__video-wrap[b-p7prlz8h2u] {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md);
    cursor: pointer;
    line-height: 0;
    max-width: 300px;
    max-height: 400px;
    background: #000;
    min-width: 180px;
}

.msg-bubble__video[b-p7prlz8h2u] {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    max-height: 400px;
}

/* Оверлей с кнопкой play */
.msg-bubble__video-play-overlay[b-p7prlz8h2u] {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.25);
    pointer-events: none;
}

.msg-bubble__video-play-btn[b-p7prlz8h2u] {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.92);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Контролы внизу видео */
.msg-bubble__video-controls[b-p7prlz8h2u] {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 8px 10px 6px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Полоска прогресса */
.msg-bubble__video-progress-bar[b-p7prlz8h2u] {
    width: 100%;
    height: 4px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    cursor: pointer;
    position: relative;
}

.msg-bubble__video-progress-bar:hover[b-p7prlz8h2u] {
    height: 6px;
}

.msg-bubble__video-progress-filled[b-p7prlz8h2u] {
    height: 100%;
    background: var(--accent, #7c3aed);
    border-radius: 2px;
    transition: width 0.1s linear;
}

/* Ряд с временем и кнопкой звука */
.msg-bubble__video-controls-row[b-p7prlz8h2u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.msg-bubble__video-time[b-p7prlz8h2u] {
    font-size: 0.6875rem;
    color: rgba(255, 255, 255, 0.85);
    font-variant-numeric: tabular-nums;
    user-select: none;
}

.msg-bubble__video-mute-btn[b-p7prlz8h2u] {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.4);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.msg-bubble__video-wrap:hover .msg-bubble__video-mute-btn[b-p7prlz8h2u] {
    opacity: 1;
}

/* --- Файловое вложение --- */

.msg-bubble__file[b-p7prlz8h2u] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--text-primary);
    min-width: 200px;
    max-width: 280px;
    transition: background var(--transition-fast);
}

.msg-bubble__file:hover[b-p7prlz8h2u] {
    background: var(--bg-hover);
}

.msg-bubble__file-icon[b-p7prlz8h2u] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-hover);
    border-radius: var(--radius-md);
    color: var(--accent);
}

.msg-bubble__file-info[b-p7prlz8h2u] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.msg-bubble__file-name[b-p7prlz8h2u] {
    font-size: 0.875rem;
    font-weight: 500;
}

.msg-bubble__file-size[b-p7prlz8h2u] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* --- Метка "редактировано" --- */

.msg-bubble__edited[b-p7prlz8h2u] {
    font-size: 0.6875rem;
    color: var(--text-muted);
    font-style: italic;
    padding-left: 4px;
}

/* --- Inline редактирование --- */

.msg-bubble__edit[b-p7prlz8h2u] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.msg-bubble__edit-input[b-p7prlz8h2u] {
    font-size: 0.9375rem;
    resize: none;
    min-height: 40px;
}

.msg-bubble__edit-actions[b-p7prlz8h2u] {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

/* --- Модалка предпросмотра файла --- */

.file-preview-overlay[b-p7prlz8h2u] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: fadeIn-b-p7prlz8h2u 0.15s ease;
}

.file-preview-modal[b-p7prlz8h2u] {
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 32px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    min-width: 280px;
    max-width: 90vw;
    position: relative;
}

.file-preview-close[b-p7prlz8h2u] {
    position: absolute;
    top: 12px;
    right: 12px;
}

.file-preview-icon[b-p7prlz8h2u] {
    color: var(--text-muted);
}

.file-preview-info[b-p7prlz8h2u] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.file-preview-name[b-p7prlz8h2u] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    word-break: break-all;
    text-align: center;
}

.file-preview-size[b-p7prlz8h2u] {
    font-size: 0.8125rem;
    color: var(--text-muted);
}

@keyframes fadeIn-b-p7prlz8h2u {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 640px) {
    .msg-bubble__body[b-p7prlz8h2u] {
        max-width: 85%;
    }

    .msg-bubble__image[b-p7prlz8h2u] {
        max-width: 220px;
    }

    .msg-bubble__file[b-p7prlz8h2u] {
        min-width: 160px;
    }
}
/* /Components/Chat/MessageContextMenu.razor.rz.scp.css */
.ctx-overlay[b-x7hojq4fo0] {
    position: fixed;
    inset: 0;
    z-index: 500;
    display: block;
    -webkit-tap-highlight-color: transparent;
}

.ctx-menu[b-x7hojq4fo0] {
    position: fixed;
    z-index: 501;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 4px;
    min-width: 180px;
    box-shadow: var(--shadow-lg);
    animation: ctxFadeIn-b-x7hojq4fo0 0.12s ease;
    pointer-events: auto;
}

@keyframes ctxFadeIn-b-x7hojq4fo0 {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.ctx-menu__item[b-x7hojq4fo0] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 10px 12px;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--text-primary);
    transition: background var(--transition-fast);
    text-align: left;
    min-height: 44px;
    -webkit-tap-highlight-color: transparent;
    cursor: pointer;
    background: none;
    border: none;
}

.ctx-menu__item:hover[b-x7hojq4fo0] {
    background: var(--bg-hover);
}

.ctx-menu__item:active[b-x7hojq4fo0] {
    background: var(--bg-hover);
}

.ctx-menu__item--danger[b-x7hojq4fo0] {
    color: var(--danger);
}

.ctx-menu__item--danger:hover[b-x7hojq4fo0],
.ctx-menu__item--danger:active[b-x7hojq4fo0] {
    background: rgba(239, 68, 68, 0.1);
}
/* /Components/UI/ActiveCallWindow.razor.rz.scp.css */
.call-window[b-hbnwvnp6az] {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.call-window__bg[b-hbnwvnp6az] {
    position: absolute;
    inset: 0;
    background: var(--bg-surface);
}

.call-window__content[b-hbnwvnp6az] {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
    max-width: min(560px, 95vw);
    padding: 24px;
    overflow-y: auto;
    max-height: 100vh;
}

.call-window__header[b-hbnwvnp6az] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    position: relative;
    width: 100%;
}

.call-window__header-left[b-hbnwvnp6az] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.call-window__header-right[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.call-window__title[b-hbnwvnp6az] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.call-window__status[b-hbnwvnp6az] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.call-window__status[b-hbnwvnp6az]::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--online);
    animation: statusPulse-b-hbnwvnp6az 2s ease-in-out infinite;
}

.call-window__timer[b-hbnwvnp6az] {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.call-window__status-bar[b-hbnwvnp6az] {
    font-size: 0.875rem;
    color: var(--text-secondary);
    padding: 8px 16px;
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    width: 100%;
    text-align: center;
}

.call-window__minimize[b-hbnwvnp6az] {
    width: 40px;
    height: 32px;
    border-radius: var(--radius-md);
    border: none;
    background: var(--bg-elevated);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    margin-left: 8px;
}

.call-window__minimize:hover[b-hbnwvnp6az] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

@keyframes statusPulse-b-hbnwvnp6az {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.5; }
}

.call-window__participants[b-hbnwvnp6az] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}

.call-participant[b-hbnwvnp6az] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: transform 0.2s;
}

.call-participant--speaking[b-hbnwvnp6az] {
    transform: scale(1.05);
}

.call-participant__avatar[b-hbnwvnp6az] {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    /* Предотвращаем вытянутую тень — контейнер должен быть квадратным */
    flex-shrink: 0;
}

/* Рамка говорящего — применяется к контейнеру аватара */
.call-participant--speaking .call-participant__avatar[b-hbnwvnp6az] {
    box-shadow: 0 0 0 3px var(--online), 0 0 16px rgba(34, 197, 94, 0.4);
}

.call-participant__muted[b-hbnwvnp6az] {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24px;
    height: 24px;
    background: var(--danger);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.call-participant__name[b-hbnwvnp6az] {
    font-size: 0.8125rem;
    color: var(--text-primary);
    max-width: 80px;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.call-participant__badge[b-hbnwvnp6az] {
    font-size: 0.6875rem;
    color: var(--accent);
    background: rgba(99, 102, 241, 0.2);
    padding: 1px 6px;
    border-radius: var(--radius-full);
}

.call-window__controls[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 16px;
}

.call-ctrl-group[b-hbnwvnp6az] {
    display: flex;
    gap: 8px;
}

.call-ctrl-dropdown[b-hbnwvnp6az] {
    position: relative;
}

.call-ctrl-dropdown__menu[b-hbnwvnp6az] {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 8px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: 12px;
    min-width: 200px;
    box-shadow: var(--shadow-lg);
    z-index: 10;
}

.call-ctrl-dropdown__item[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px;
    font-size: 0.875rem;
    color: var(--text-primary);
    cursor: pointer;
    border-radius: var(--radius-sm);
}

.call-ctrl-dropdown__item:hover[b-hbnwvnp6az] {
    background: var(--bg-hover);
}

.call-ctrl-dropdown__item input[b-hbnwvnp6az] {
    width: 16px;
    height: 16px;
}

.call-ctrl-dropdown__btn[b-hbnwvnp6az] {
    width: 100%;
    padding: 10px;
    margin-top: 8px;
    background: var(--accent);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s;
}

.call-ctrl-dropdown__btn:hover[b-hbnwvnp6az] {
    background: var(--accent-hover);
}

.call-ctrl-dropdown__btn--cancel[b-hbnwvnp6az] {
    background: var(--bg-hover);
    color: var(--text-secondary);
    margin-top: 4px;
}

.call-ctrl-dropdown__btn--cancel:hover[b-hbnwvnp6az] {
    background: var(--bg-elevated);
    color: var(--text-primary);
}

.call-window__screenshare[b-hbnwvnp6az] {
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    padding: 12px;
    width: 100%;
    max-width: min(520px, 90vw);
    transition: all 0.3s ease;
    overflow: hidden;
}

.call-window__screenshare--fullscreen[b-hbnwvnp6az] {
    position: fixed;
    inset: 0;
    /* выше .call-window (z-index: 10000) */
    z-index: 10001;
    max-width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    background: #000;
    overflow: hidden;
}

/* Header в fullscreen — полоска поверх видео, показывается при наведении */
.call-window__screenshare--fullscreen .call-window__screenshare-header[b-hbnwvnp6az] {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 10px 16px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.75) 0%, transparent 100%);
    margin-bottom: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.call-window__screenshare--fullscreen:hover .call-window__screenshare-header[b-hbnwvnp6az] {
    opacity: 1;
}

/* Видео занимает всё доступное пространство без переполнения */
.call-window__screenshare--fullscreen .call-window__screenshare-video[b-hbnwvnp6az] {
    flex: 1;
    width: 100%;
    height: 100%;
    min-height: 0;          /* критично для flex: без этого flex item не сжимается */
    aspect-ratio: auto;
    object-fit: contain;    /* вписать без обрезки, с чёрными полосами по бокам */
    cursor: pointer;
    display: block;
}

.call-window__screenshare-header[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    row-gap: 6px;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
    min-width: 0;
}

.call-window__screenshare-header > span[b-hbnwvnp6az] {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.call-window__screenshare-actions[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
    flex-shrink: 0;
}

.call-window__screenshare-volume[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--text-secondary);
}

.call-window__screenshare-video[b-hbnwvnp6az] {
    width: 100%;
    aspect-ratio: 16/9;
    background: var(--bg-base);
    border-radius: var(--radius-sm);
}

.call-window__audio-option[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.call-window__audio-option label[b-hbnwvnp6az] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.875rem;
    color: var(--text-secondary);
    cursor: pointer;
}

.call-window__audio-option input[type="checkbox"][b-hbnwvnp6az] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.call-participant__screening[b-hbnwvnp6az] {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 20px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.call-ctrl[b-hbnwvnp6az] {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: var(--bg-elevated);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.call-ctrl:hover[b-hbnwvnp6az] {
    background: var(--bg-hover);
    transform: scale(1.05);
}

.call-ctrl--active[b-hbnwvnp6az] {
    background: var(--accent);
    color: white;
}

.call-ctrl--end[b-hbnwvnp6az] {
    background: var(--danger);
    color: white;
}

.call-ctrl--end:hover[b-hbnwvnp6az] {
    background: var(--danger-hover);
}

/* Иконка phone-off: поворачиваем на 135° чтобы трубка смотрела вниз-влево */
.call-ctrl--end svg[b-hbnwvnp6az] {
    transform: rotate(135deg);
}

/* Спиннер внутри кнопки (например при инициализации RNNoise) */
.call-ctrl__spinner[b-hbnwvnp6az] {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: callCtrlSpin-b-hbnwvnp6az 0.7s linear infinite;
}

@keyframes callCtrlSpin-b-hbnwvnp6az {
    to { transform: rotate(360deg); }
}
/* /Components/UI/CallDeviceSelector.razor.rz.scp.css */
.call-device-selector-overlay[b-3t7di40m2u] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10001;
    animation: fadeIn-b-3t7di40m2u 0.2s ease;
}

.call-device-selector[b-3t7di40m2u] {
    background: var(--bg-surface);
    border-radius: var(--radius-lg);
    padding: 24px;
    width: 100%;
    max-width: 380px;
    box-shadow: var(--shadow-lg);
    animation: slideUp-b-3t7di40m2u 0.25s ease;
}

.call-device-selector__header[b-3t7di40m2u] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.call-device-selector__header h3[b-3t7di40m2u] {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.call-device-selector__preview[b-3t7di40m2u] {
    position: relative;
    width: 100%;
    height: 180px;
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.call-device-selector__video[b-3t7di40m2u] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scaleX(-1);
}

.call-device-selector__avatar-preview[b-3t7di40m2u] {
    display: flex;
    align-items: center;
    justify-content: center;
}

.call-device-selector__toggle-preview[b-3t7di40m2u] {
    position: absolute;
    bottom: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: var(--bg-surface);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
}

.call-device-selector__toggle-preview:hover[b-3t7di40m2u] {
    background: var(--bg-hover);
}

.call-device-selector__devices[b-3t7di40m2u] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}

.call-device-selector__device label[b-3t7di40m2u] {
    display: block;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    margin-bottom: 6px;
}

.call-device-selector__device select[b-3t7di40m2u] {
    width: 100%;
    padding: 10px 12px;
    background: var(--bg-input);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    color: var(--text-primary);
    font-size: 0.9375rem;
    cursor: pointer;
    transition: border-color 0.2s;
}

.call-device-selector__device select:focus[b-3t7di40m2u] {
    outline: none;
    border-color: var(--accent);
}

.call-device-selector__test[b-3t7di40m2u] {
    margin-bottom: 20px;
}

.call-device-selector__test-btn[b-3t7di40m2u] {
    width: 100%;
    padding: 10px 16px;
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    background: var(--bg-elevated);
    color: var(--text-primary);
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: background 0.2s, border-color 0.2s;
}

.call-device-selector__test-btn:hover[b-3t7di40m2u] {
    background: var(--bg-hover);
    border-color: var(--accent);
}

.call-device-selector__test-btn--active[b-3t7di40m2u] {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
}

.call-device-selector__test-btn--active:hover[b-3t7di40m2u] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

.call-device-selector__actions[b-3t7di40m2u] {
    display: flex;
    gap: 12px;
}

.call-device-selector__actions .btn[b-3t7di40m2u] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: var(--radius-md);
    font-size: 0.9375rem;
    font-weight: 500;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
}

.call-device-selector__actions .btn-outline[b-3t7di40m2u] {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-primary);
}

.call-device-selector__actions .btn-outline:hover[b-3t7di40m2u] {
    background: var(--bg-hover);
    border-color: var(--text-secondary);
}

.call-device-selector__actions .btn-primary[b-3t7di40m2u] {
    background: var(--accent);
    border: 1px solid var(--accent);
    color: white;
}

.call-device-selector__actions .btn-primary:hover[b-3t7di40m2u] {
    background: var(--accent-hover);
    border-color: var(--accent-hover);
}

@keyframes fadeIn-b-3t7di40m2u {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideUp-b-3t7di40m2u {
    from { 
        opacity: 0;
        transform: translateY(20px);
    }
    to { 
        opacity: 1;
        transform: translateY(0);
    }
}
/* /Components/UI/CallMiniPlayer.razor.rz.scp.css */
.call-mini-player[b-9nuhxvtdt0] {
    position: fixed;
    bottom: 80px;
    right: 20px;
    z-index: 9998;
    background: var(--bg-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    animation: slideInRight-b-9nuhxvtdt0 0.3s ease;
    max-width: 280px;
}

.call-mini-player__content[b-9nuhxvtdt0] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    flex: 1;
    min-width: 0;
}

.call-mini-player__avatar[b-9nuhxvtdt0] {
    flex-shrink: 0;
}

.call-mini-player__info[b-9nuhxvtdt0] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.call-mini-player__title[b-9nuhxvtdt0] {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.call-mini-player__timer[b-9nuhxvtdt0] {
    font-size: 0.75rem;
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}

.call-mini-player__controls[b-9nuhxvtdt0] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

.call-mini-player__btn[b-9nuhxvtdt0] {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: var(--bg-elevated);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s;
}

.call-mini-player__btn:hover[b-9nuhxvtdt0] {
    background: var(--bg-hover);
}

.call-mini-player__btn--active[b-9nuhxvtdt0] {
    background: var(--accent);
    color: white;
}

.call-mini-player__btn--end[b-9nuhxvtdt0] {
    background: var(--danger);
    color: white;
}

.call-mini-player__btn--end:hover[b-9nuhxvtdt0] {
    background: var(--danger-hover);
}

@keyframes slideInRight-b-9nuhxvtdt0 {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (max-width: 480px) {
    .call-mini-player[b-9nuhxvtdt0] {
        right: 10px;
        left: 10px;
        max-width: none;
    }
}
/* /Components/UI/CallStatusIndicator.razor.rz.scp.css */
.call-status-indicator[b-ey3dygg50m] {
    position: fixed;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
    animation: slideUpFade-b-ey3dygg50m 0.3s ease;
}

.call-status-indicator__content[b-ey3dygg50m] {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-surface);
    padding: 12px 16px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border);
}

.call-status-indicator__info[b-ey3dygg50m] {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.call-status-indicator__name[b-ey3dygg50m] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.call-status-indicator__status[b-ey3dygg50m] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    gap: 6px;
}

.call-status-indicator__ringing[b-ey3dygg50m] {
    display: flex;
    gap: 3px;
}

.call-status-indicator__ringing-dot[b-ey3dygg50m] {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--online);
    animation: ringingPulse-b-ey3dygg50m 1s ease-in-out infinite;
}

.call-status-indicator__ringing-dot:nth-child(2)[b-ey3dygg50m] {
    animation-delay: 0.2s;
}

.call-status-indicator__ringing-dot:nth-child(3)[b-ey3dygg50m] {
    animation-delay: 0.4s;
}

.call-status-indicator__calling[b-ey3dygg50m] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.call-status-indicator__calling-icon[b-ey3dygg50m] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    animation: callingPulse-b-ey3dygg50m 1s ease-in-out infinite;
}

.call-status-indicator__calling-text[b-ey3dygg50m] {
    font-size: 0.9375rem;
    color: var(--text-primary);
    font-weight: 500;
}

.call-status-indicator__cancel[b-ey3dygg50m] {
    margin-left: 8px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background: var(--danger);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.call-status-indicator__cancel:hover[b-ey3dygg50m] {
    background: var(--danger-hover);
    transform: scale(1.05);
}

@keyframes ringingPulse-b-ey3dygg50m {
    0%, 100% { opacity: 0.4; transform: scale(0.8); }
    50% { opacity: 1; transform: scale(1); }
}

@keyframes callingPulse-b-ey3dygg50m {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes slideUpFade-b-ey3dygg50m {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}
/* /Components/UI/IncomingCallOverlay.razor.rz.scp.css */
.incoming-call-overlay[b-o1jl3ga3fm] {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001;
    animation: slideInTopRight-b-o1jl3ga3fm 0.3s ease;
}

.incoming-call[b-o1jl3ga3fm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    background: var(--bg-surface);
    padding: 16px 20px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    border: 1px solid var(--border);
    min-width: 240px;
}

.incoming-call__avatar[b-o1jl3ga3fm] {
    animation: callBounce-b-o1jl3ga3fm 1s ease-in-out infinite alternate;
}

.incoming-call__info[b-o1jl3ga3fm] {
    text-align: center;
}

.incoming-call__name[b-o1jl3ga3fm] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 4px 0;
}

.incoming-call__type[b-o1jl3ga3fm] {
    font-size: 0.8125rem;
    color: var(--text-secondary);
    margin: 0;
}

.incoming-call__actions[b-o1jl3ga3fm] {
    display: flex;
    gap: 24px;
    margin-top: 8px;
}

.incoming-call__btn[b-o1jl3ga3fm] {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.incoming-call__btn:hover[b-o1jl3ga3fm] {
    transform: scale(1.1);
}

.incoming-call__btn--accept[b-o1jl3ga3fm] {
    background: var(--online);
    box-shadow: 0 0 16px rgba(34, 197, 94, 0.3);
    animation: callRing-b-o1jl3ga3fm 1.5s ease-in-out infinite;
}

.incoming-call__btn--decline[b-o1jl3ga3fm] {
    background: var(--danger);
    box-shadow: 0 0 16px rgba(239, 68, 68, 0.3);
}

@keyframes callBounce-b-o1jl3ga3fm {
    0% { transform: translateY(0); }
    100% { transform: translateY(-4px); }
}

@keyframes callRing-b-o1jl3ga3fm {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

@keyframes slideInTopRight-b-o1jl3ga3fm {
    from {
        opacity: 0;
        transform: translateX(20px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
/* /Components/UI/NavItem.razor.rz.scp.css */
.nav-item[b-5fildpgjs6] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    transition: background var(--transition-fast), color var(--transition-fast);
    position: relative;
    text-decoration: none;
}

.nav-item:hover[b-5fildpgjs6] {
    background: var(--bg-elevated);
    color: var(--text-primary);
}

.nav-item--active[b-5fildpgjs6] {
    background: var(--accent-muted);
    color: var(--accent);
}

.nav-item__icon[b-5fildpgjs6] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-item__badge[b-5fildpgjs6] {
    position: absolute;
    top: -6px;
    right: -8px;
    background: var(--accent);
    color: white;
    font-size: 0.625rem;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 3px;
    line-height: 1;
}
/* /Components/UI/PostCard.razor.rz.scp.css */
.post-card[b-8asniiobn8] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
}

.post-card__header[b-8asniiobn8] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.post-card__author[b-8asniiobn8] {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: inherit;
}

.post-card__author-name[b-8asniiobn8] {
    display: block;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.post-card__time[b-8asniiobn8] {
    display: block;
    font-size: 0.75rem;
}

.post-card__content[b-8asniiobn8] {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-primary);
    white-space: pre-wrap;
    word-break: break-word;
}

.post-card__edited[b-8asniiobn8] {
    font-size: 0.75rem;
    font-style: italic;
}

/* Аудио плеер */
.post-card__audio-list[b-8asniiobn8] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.post-card__audio[b-8asniiobn8] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.post-card__audio-player[b-8asniiobn8] {
    width: 100%;
    height: 36px;
    border-radius: var(--radius-md);
}

.post-card__audio-name[b-8asniiobn8] {
    font-size: 0.75rem;
}

/* Сетка прикреплённых изображений */
.post-card__images[b-8asniiobn8] {
    display: grid;
    gap: 4px;
    border-radius: var(--radius-md);
    overflow: hidden;
}

/* 1 фото — полная ширина */
.post-card__images--1[b-8asniiobn8] {
    grid-template-columns: 1fr;
}

/* 2 фото — два столбца */
.post-card__images--2[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr;
}

/* 3 фото — первое широкое, два узких */
.post-card__images--3[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr;
}

.post-card__images--3 .post-card__image-link:first-child[b-8asniiobn8] {
    grid-column: span 2;
}

/* 4 фото — сетка 2×2 */
.post-card__images--4[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr;
}

/* 5-6 фото — первое широкое, остальные в сетке */
.post-card__images--5[b-8asniiobn8],
.post-card__images--6[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr 1fr;
}

.post-card__images--5 .post-card__image-link:first-child[b-8asniiobn8],
.post-card__images--6 .post-card__image-link:first-child[b-8asniiobn8] {
    grid-column: span 2;
}

/* 7-9 фото — сетка 3×3 */
.post-card__images--7[b-8asniiobn8],
.post-card__images--8[b-8asniiobn8],
.post-card__images--9[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr 1fr;
}

/* 10 фото — сетка 3×3 + 1 */
.post-card__images--10[b-8asniiobn8] {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.post-card__image-link[b-8asniiobn8] {
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    background: var(--bg-elevated);
}

.post-card__image[b-8asniiobn8] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform var(--transition-base);
}

.post-card__image-link:hover .post-card__image[b-8asniiobn8] {
    transform: scale(1.02);
}

/* Файлы (не изображения, не аудио) */
.post-card__files[b-8asniiobn8] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.post-card__file[b-8asniiobn8] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--text-primary);
    transition: background var(--transition-fast);
}

.post-card__file:hover[b-8asniiobn8] {
    background: var(--bg-hover);
}

.post-card__file-icon[b-8asniiobn8] {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg-surface);
    border-radius: var(--radius-sm);
    color: var(--text-secondary);
}

.post-card__file-name[b-8asniiobn8] {
    flex: 1;
    min-width: 0;
    font-size: 0.875rem;
}
/* /Components/UI/ToggleSwitch.razor.rz.scp.css */
.toggle-switch[b-lw4ufslbqp] {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    flex-shrink: 0;
}

.toggle-switch__input[b-lw4ufslbqp] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.toggle-switch__track[b-lw4ufslbqp] {
    width: 44px;
    height: 24px;
    background: var(--bg-hover);
    border-radius: var(--radius-full);
    border: 1px solid var(--border);
    transition: background var(--transition-base), border-color var(--transition-base);
    display: flex;
    align-items: center;
    padding: 2px;
}

.toggle-switch__thumb[b-lw4ufslbqp] {
    width: 18px;
    height: 18px;
    background: var(--text-muted);
    border-radius: 50%;
    transition: transform var(--transition-base), background var(--transition-base);
    flex-shrink: 0;
}

.toggle-switch__input:checked + .toggle-switch__track[b-lw4ufslbqp] {
    background: var(--accent);
    border-color: var(--accent);
}

.toggle-switch__input:checked + .toggle-switch__track .toggle-switch__thumb[b-lw4ufslbqp] {
    transform: translateX(20px);
    background: white;
}
/* /Components/UI/UserSearchPopup.razor.rz.scp.css */
.user-search-popup[b-b6zg1iburr] {
    background: var(--bg-surface);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    width: 100%;
    max-width: 480px;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    animation: modalSlideIn-b-b6zg1iburr 0.18s ease;
}

@keyframes modalSlideIn-b-b6zg1iburr {
    from { opacity: 0; transform: translateY(-12px) scale(0.97); }
    to   { opacity: 1; transform: translateY(0)    scale(1);    }
}

.user-search-popup__header[b-b6zg1iburr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 12px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.user-search-popup__title[b-b6zg1iburr] {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
}

/* Строка поиска */
.user-search-popup__input-wrap[b-b6zg1iburr] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
    flex-shrink: 0;
}

.user-search-popup__input-icon[b-b6zg1iburr] {
    color: var(--text-muted);
    flex-shrink: 0;
}

.user-search-popup__input[b-b6zg1iburr] {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 0.9375rem;
    color: var(--text-primary);
    padding: 0;
    outline: none;
}

.user-search-popup__input[b-b6zg1iburr]::placeholder {
    color: var(--text-muted);
}

.user-search-popup__clear[b-b6zg1iburr] {
    color: var(--text-muted);
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

/* Область результатов */
.user-search-popup__results[b-b6zg1iburr] {
    flex: 1;
    overflow-y: auto;
    min-height: 200px;
    max-height: 60vh;
}

.user-search-popup__loading[b-b6zg1iburr],
.user-search-popup__hint[b-b6zg1iburr],
.user-search-popup__empty[b-b6zg1iburr] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 40px 20px;
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* Карточка пользователя */
.user-search-popup__item[b-b6zg1iburr] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    transition: background 0.15s;
}

.user-search-popup__item:hover[b-b6zg1iburr] {
    background: var(--bg-hover);
}

.user-search-popup__item-avatar[b-b6zg1iburr] {
    flex-shrink: 0;
}

.user-search-popup__item-info[b-b6zg1iburr] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.user-search-popup__item-name[b-b6zg1iburr] {
    font-size: 0.9375rem;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-search-popup__item-username[b-b6zg1iburr] {
    font-size: 0.8125rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-search-popup__item-actions[b-b6zg1iburr] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

/* Статусные бейджи */
.user-search-popup__badge[b-b6zg1iburr] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
}

.user-search-popup__badge--friends[b-b6zg1iburr] {
    color: var(--success, #22c55e);
    background: rgba(34, 197, 94, 0.12);
}

.user-search-popup__badge--pending[b-b6zg1iburr] {
    color: var(--text-muted);
    background: var(--bg-elevated);
}

/* Спиннер для кнопок */
.spinner-xs[b-b6zg1iburr] {
    display: inline-block;
    width: 12px;
    height: 12px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-b6zg1iburr 0.6s linear infinite;
}

@keyframes spin-b-b6zg1iburr {
    to { transform: rotate(360deg); }
}

/* Мобильная версия */
@media (max-width: 640px) {
    .user-search-popup[b-b6zg1iburr] {
        max-width: 100%;
        max-height: 90vh;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
    }
}
/* /Layout/AuthLayout.razor.rz.scp.css */
.auth-layout[b-m7q8enf1wq] {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: var(--bg-base);
    /* Лёгкий градиентный акцент в фоне */
    background-image: radial-gradient(
        ellipse at 50% 0%,
        rgba(233, 69, 96, 0.08) 0%,
        transparent 60%
    );
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-m1oo9dwbu9] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-m1oo9dwbu9] {
    flex: 1;
}

.sidebar[b-m1oo9dwbu9] {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row[b-m1oo9dwbu9] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-m1oo9dwbu9]  a, .top-row[b-m1oo9dwbu9]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-m1oo9dwbu9]  a:hover, .top-row[b-m1oo9dwbu9]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-m1oo9dwbu9]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-m1oo9dwbu9] {
        justify-content: space-between;
    }

    .top-row[b-m1oo9dwbu9]  a, .top-row[b-m1oo9dwbu9]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-m1oo9dwbu9] {
        flex-direction: row;
    }

    .sidebar[b-m1oo9dwbu9] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-m1oo9dwbu9] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-m1oo9dwbu9]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-m1oo9dwbu9], article[b-m1oo9dwbu9] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/MobileNavItem.razor.rz.scp.css */
.mobile-nav-item[b-v7t0ylpp5s] {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--text-secondary);
    text-decoration: none;
    font-size: 0.6875rem;
    padding: 6px 4px;
    transition: color var(--transition-fast);
}

.mobile-nav-item:hover[b-v7t0ylpp5s],
.mobile-nav-item--active[b-v7t0ylpp5s] {
    color: var(--accent);
}

.mobile-nav-item__icon-wrapper[b-v7t0ylpp5s] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 22px;
}

.mobile-nav-item__badge[b-v7t0ylpp5s] {
    position: absolute;
    top: -4px;
    right: -8px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--accent);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.mobile-nav-item__label[b-v7t0ylpp5s] {
    font-weight: 500;
}
/* /Layout/NavSidebar.razor.rz.scp.css */
.nav-sidebar[b-wr9497bb45] {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    padding: 12px 0;
    gap: 4px;
}

.nav-sidebar__logo[b-wr9497bb45] {
    padding: 8px;
    margin-bottom: 8px;
}

.nav-sidebar__fox[b-wr9497bb45] {
    font-size: 1.75rem;
    display: block;
}

.nav-sidebar__items[b-wr9497bb45] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex: 1;
    width: 100%;
    padding: 0 8px;
}

.nav-sidebar__bottom[b-wr9497bb45] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
    width: 100%;
}

.nav-sidebar__avatar-link[b-wr9497bb45] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: opacity var(--transition-fast);
    margin-top: 4px;
}

.nav-sidebar__avatar-link:hover[b-wr9497bb45] {
    opacity: 0.8;
}

.nav-sidebar__avatar-link.active[b-wr9497bb45] {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}
/* /Layout/RadioPlayer.razor.rz.scp.css */
.radio-player[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 16px;
    height: 100%;
    width: 100%;
    position: relative;
    overflow: visible;
    z-index: 1;
    transition: background 0.3s ease;
}

.radio-player--playing[b-ly6p491okz] {
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.15) 100%);
}

.radio-player__bg[b-ly6p491okz] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.radio-player--playing .radio-player__bg[b-ly6p491okz] {
    opacity: 1;
}

.radio-player__bg-orb[b-ly6p491okz] {
    position: absolute;
    border-radius: 50%;
    filter: blur(30px);
    animation: float-b-ly6p491okz 8s ease-in-out infinite;
}

.radio-player__bg-orb--1[b-ly6p491okz] {
    width: 180px;
    height: 180px;
    background: linear-gradient(135deg, var(--accent) 0%, #8b5cf6 100%);
    top: -60px;
    left: -20px;
    animation-delay: 0s;
    animation: pulse-float-1-b-ly6p491okz 6s ease-in-out infinite;
}

.radio-player__bg-orb--2[b-ly6p491okz] {
    width: 120px;
    height: 120px;
    background: linear-gradient(135deg, #8b5cf6 0%, #ec4899 100%);
    bottom: -40px;
    right: 20%;
    animation-delay: -2s;
    animation: pulse-float-2-b-ly6p491okz 5s ease-in-out infinite;
}

.radio-player__bg-orb--3[b-ly6p491okz] {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, #06b6d4 0%, var(--accent) 100%);
    top: 10%;
    right: -10px;
    animation-delay: -4s;
    animation: pulse-float-3-b-ly6p491okz 7s ease-in-out infinite;
}

@keyframes float-b-ly6p491okz {
    0%, 100% {
        transform: translate(0, 0) scale(1);
    }
    25% {
        transform: translate(15px, -20px) scale(1.05);
    }
    50% {
        transform: translate(-10px, 15px) scale(0.95);
    }
    75% {
        transform: translate(20px, 10px) scale(1.02);
    }
}

@keyframes pulse-float-1-b-ly6p491okz {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.6;
    }
    50% {
        transform: translate(20px, -10px) scale(1.15);
        opacity: 0.8;
    }
}

@keyframes pulse-float-2-b-ly6p491okz {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.5;
    }
    50% {
        transform: translate(-15px, 10px) scale(1.1);
        opacity: 0.7;
    }
}

@keyframes pulse-float-3-b-ly6p491okz {
    0%, 100% {
        transform: translate(0, 0) scale(1);
        opacity: 0.4;
    }
    50% {
        transform: translate(-10px, -15px) scale(1.2);
        opacity: 0.6;
    }
}

/* Анимация кнопки play */
.radio-player__play[b-ly6p491okz] {
    position: relative;
    overflow: hidden;
}

.radio-player__play[b-ly6p491okz]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
    opacity: 0;
    animation: play-pulse-b-ly6p491okz 2s ease-out infinite;
}

.radio-player--playing .radio-player__play[b-ly6p491okz]::before {
    opacity: 0.3;
}

@keyframes play-pulse-b-ly6p491okz {
    0% {
        transform: scale(0.8);
        opacity: 0.5;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.radio-player__info[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
}

.radio-player__texts[b-ly6p491okz] {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.radio-player__name[b-ly6p491okz] {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    max-width: 180px;
    line-height: 1.3;
}

.radio-player__track[b-ly6p491okz] {
    font-size: 0.75rem;
    color: var(--text-muted);
    max-width: 180px;
    line-height: 1.3;
}

.radio-player--playing .radio-player__track[b-ly6p491okz] {
    color: var(--accent-light);
    animation: trackFade-b-ly6p491okz 0.3s ease;
}

@keyframes trackFade-b-ly6p491okz {
    from { opacity: 0; transform: translateY(4px); }
    to { opacity: 1; transform: translateY(0); }
}

.radio-player__desc[b-ly6p491okz] {
    display: none;
}

.radio-player__controls[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.radio-player__play[b-ly6p491okz] {
    width: 40px;
    height: 40px;
    background: var(--accent);
    color: white;
    border-radius: var(--radius-full);
}

.radio-player__play:hover[b-ly6p491okz] {
    background: var(--accent-hover);
}

.radio-player__wave[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 2px;
    height: 16px;
    margin-right: 4px;
}

.radio-player__wave-bar[b-ly6p491okz] {
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--accent) 0%, #8b5cf6 100%);
    border-radius: 2px;
    animation: wave-b-ly6p491okz 1s ease-in-out infinite;
}

.radio-player__wave-bar:nth-child(1)[b-ly6p491okz] { animation-delay: 0s; }
.radio-player__wave-bar:nth-child(2)[b-ly6p491okz] { animation-delay: 0.15s; }
.radio-player__wave-bar:nth-child(3)[b-ly6p491okz] { animation-delay: 0.3s; }
.radio-player__wave-bar:nth-child(4)[b-ly6p491okz] { animation-delay: 0.45s; }

@keyframes wave-b-ly6p491okz {
    0%, 100% { height: 4px; }
    50% { height: 16px; }
}

.radio-player__volume[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.radio-player__volume-slider[b-ly6p491okz] {
    width: 120px;
    -webkit-appearance: none;
    height: 4px;
    border-radius: 2px;
    background: var(--border);
    outline: none;
    cursor: pointer;
}

.radio-player__volume-slider[b-ly6p491okz]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--accent);
    cursor: pointer;
}

.radio-player__stations-overlay[b-ly6p491okz] {
    position: fixed;
    inset: 0;
    z-index: 999;
}

.radio-player__stations[b-ly6p491okz] {
    position: fixed;
    bottom: calc(var(--player-height) + 8px);
    right: 16px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 8px;
    min-width: 220px;
    max-height: 300px;
    overflow-y: auto;
    box-shadow: var(--shadow-lg);
    display: flex;
    flex-direction: column;
    gap: 2px;
    z-index: 2000;
    animation: slideInUp 0.15s ease;
}

.radio-station-item[b-ly6p491okz] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    color: var(--text-secondary);
    width: 100%;
    text-align: left;
    transition: background var(--transition-fast), color var(--transition-fast);
}

.radio-station-item:hover[b-ly6p491okz] {
    background: var(--bg-hover);
    color: var(--text-primary);
}

.radio-station-item--active[b-ly6p491okz] {
    background: var(--accent-muted);
    color: var(--accent);
}

@media (max-width: 640px) {
    .radio-player[b-ly6p491okz] {
        padding: 0 12px;
        gap: 8px;
    }

    .radio-player__volume[b-ly6p491okz] {
        display: none;
    }

    .radio-player__name[b-ly6p491okz] {
        max-width: 100px;
    }

    .radio-player__track[b-ly6p491okz] {
        max-width: 100px;
    }

    .radio-player__controls[b-ly6p491okz] {
        gap: 2px;
    }

    .radio-player__play[b-ly6p491okz] {
        width: 36px;
        height: 36px;
    }

    .radio-player__play svg[b-ly6p491okz] {
        width: 16px;
        height: 16px;
    }

    .radio-player__stations[b-ly6p491okz] {
        position: fixed;
        top: calc(env(safe-area-inset-top, 0px) + var(--mobile-player-height) + 8px);
        left: 8px;
        right: 8px;
        min-width: auto;
        max-height: 50dvh;
        overflow-y: auto;
    }
}
/* /Pages/Chat/ChatsPage.razor.rz.scp.css */
.chats-layout[b-wi5d3uzb4p] {
    display: flex;
    height: 100%;
    overflow: hidden;
}

.chats-layout__sidebar[b-wi5d3uzb4p] {
    width: var(--sidebar-width);
    flex-shrink: 0;
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--bg-surface);
}

.chats-layout__main[b-wi5d3uzb4p] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
}

.chats-layout__empty[b-wi5d3uzb4p] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: var(--text-muted);
    font-size: 0.9375rem;
}

/* Мобильная версия */
@media (max-width: 640px) {
    .chats-layout[b-wi5d3uzb4p] {
        flex-direction: column;
    }

    .chats-layout__sidebar[b-wi5d3uzb4p],
    .chats-layout__main[b-wi5d3uzb4p] {
        width: 100%;
    }

    .chats-layout__sidebar[b-wi5d3uzb4p] {
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        border-right: none;
    }

    .chats-layout__main[b-wi5d3uzb4p] {
        flex: 1;
        min-height: 0;
    }

    .chats-layout__sidebar--hidden-mobile[b-wi5d3uzb4p] {
        display: none;
    }

    .chats-layout__main--hidden-mobile[b-wi5d3uzb4p] {
        display: none;
    }
}
/* /Pages/FriendsPage.razor.rz.scp.css */
.friends-page[b-zmpuyn2s4d] {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 16px 40px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.friends-page__header[b-zmpuyn2s4d] {
    margin-bottom: 20px;
}

.friends-page__title[b-zmpuyn2s4d] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text-primary);
}

/* Вкладки */
.friends-tabs[b-zmpuyn2s4d] {
    display: flex;
    gap: 4px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: 4px;
    margin-bottom: 20px;
}

.friends-tab[b-zmpuyn2s4d] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-secondary);
    transition: background var(--transition-fast), color var(--transition-fast);
    cursor: pointer;
}

.friends-tab:hover[b-zmpuyn2s4d] {
    color: var(--text-primary);
    background: var(--bg-elevated);
}

.friends-tab--active[b-zmpuyn2s4d] {
    background: var(--accent);
    color: white;
}

.friends-tab--active .badge[b-zmpuyn2s4d] {
    background: rgba(255,255,255,0.3);
}

/* Поиск людей */
.friends-search[b-zmpuyn2s4d] {
    position: relative;
    margin-bottom: 16px;
}

.friends-search__input[b-zmpuyn2s4d] {
    width: 100%;
    font-size: 0.875rem;
    padding-right: 36px;
}

.friends-search__clear[b-zmpuyn2s4d] {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-full);
    color: var(--text-muted);
    transition: color var(--transition-fast), background var(--transition-fast);
}

.friends-search__clear:hover[b-zmpuyn2s4d] {
    color: var(--text-primary);
    background: var(--bg-hover);
}

/* Список */
.friends-list[b-zmpuyn2s4d] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.friend-card[b-zmpuyn2s4d] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    transition: background var(--transition-fast);
}

.friend-card:hover[b-zmpuyn2s4d] {
    background: var(--bg-elevated);
}

.friend-card__info[b-zmpuyn2s4d] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.friend-card__meta[b-zmpuyn2s4d] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.friend-card__name[b-zmpuyn2s4d] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.friend-card__username[b-zmpuyn2s4d] {
    font-size: 0.8125rem;
}

.friend-card__actions[b-zmpuyn2s4d] {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

/* Пустое состояние */
.friends-empty[b-zmpuyn2s4d] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 48px 20px;
    text-align: center;
}

.friends-loading[b-zmpuyn2s4d] {
    display: flex;
    justify-content: center;
    padding: 40px;
}

@media (max-width: 640px) {
    .friends-page[b-zmpuyn2s4d] {
        padding: 16px 12px 80px;
    }
}
/* /Pages/Profile/ProfilePage.razor.rz.scp.css */
.profile-page[b-tcybme7nqf] {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 16px 40px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.profile-page--loading[b-tcybme7nqf],
.profile-page--notfound[b-tcybme7nqf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 16px;
    color: var(--text-muted);
}

/* Кнопка Назад */
.profile-back[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 0;
    margin-bottom: 8px;
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: color var(--transition-fast);
}

.profile-back:hover[b-tcybme7nqf] {
    color: var(--text-primary);
}

/* Шапка профиля */
.profile-header[b-tcybme7nqf] {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    overflow: hidden;
    margin-bottom: 16px;
}

.profile-header__cover[b-tcybme7nqf] {
    height: 100px;
    background: linear-gradient(135deg, var(--accent-muted) 0%, var(--bg-elevated) 100%);
}

.profile-header__body[b-tcybme7nqf] {
    padding: 0 24px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    text-align: center;
}

.profile-header__avatar-wrap[b-tcybme7nqf] {
    position: relative;
    margin-top: -56px;
    flex-shrink: 0;
    cursor: pointer;
}

.profile-header__avatar-wrap[b-tcybme7nqf]  .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    max-width: none;
    max-height: none;
}

.profile-header__avatar-edit[b-tcybme7nqf] {
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 28px;
    height: 28px;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--transition-fast);
}

.profile-header__avatar-edit:hover[b-tcybme7nqf] {
    background: var(--accent-hover);
}

.profile-header__info[b-tcybme7nqf] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.profile-header__name[b-tcybme7nqf] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text-primary);
}

.profile-header__name-input[b-tcybme7nqf] {
    font-size: 1.125rem;
    font-weight: 600;
    max-width: 300px;
}

.profile-header__username[b-tcybme7nqf] {
    font-size: 0.9375rem;
}

.profile-header__username-field[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    max-width: 220px;
}

.profile-header__username-prefix[b-tcybme7nqf] {
    font-size: 0.9375rem;
    color: var(--text-muted);
    margin-right: 2px;
}

.profile-header__username-input[b-tcybme7nqf] {
    max-width: 180px;
    font-size: 0.9375rem;
}

.profile-header__status-input[b-tcybme7nqf] {
    max-width: 300px;
    font-size: 0.875rem;
}

.profile-header__status-label[b-tcybme7nqf] {
    font-size: 0.8125rem;
    color: var(--accent);
    background: var(--accent-muted);
    padding: 4px 14px;
    border-radius: var(--radius-full);
    display: inline-block;
    max-width: fit-content;
    line-height: 1.5;
    font-weight: 500;
}

.profile-header__online[b-tcybme7nqf] {
    font-size: 0.8125rem;
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-secondary);
}

.online-badge[b-tcybme7nqf] {
    width: 8px;
    height: 8px;
    background: var(--online);
    border-radius: 50%;
    display: inline-block;
}

/* Bio в шапке */
.profile-header__bio[b-tcybme7nqf] {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-secondary);
    white-space: pre-wrap;
    word-break: break-word;
    padding-top: 4px;
    border-top: 1px solid var(--border);
}

/* Статистика */
.profile-header__stats[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 32px;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.profile-stat[b-tcybme7nqf] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.profile-stat__value[b-tcybme7nqf] {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text-primary);
}

.profile-stat__label[b-tcybme7nqf] {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.profile-header__actions[b-tcybme7nqf] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 4px;
    justify-content: center;
}

/* Секция стены */
.profile-section[b-tcybme7nqf] {
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-xl);
    padding: 20px;
    margin-bottom: 16px;
}

.profile-section__header[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
}

.profile-section__title[b-tcybme7nqf] {
    font-size: 1.0625rem;
    font-weight: 700;
    color: var(--text-primary);
}

/* Форма поста */
.post-form[b-tcybme7nqf] {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.post-form__trigger[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px;
    background: var(--bg-input);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    color: var(--text-muted);
    font-size: 0.9375rem;
    cursor: pointer;
    transition: border-color var(--transition-fast), background var(--transition-fast);
    text-align: left;
}

.post-form__trigger:hover[b-tcybme7nqf] {
    border-color: var(--border-focus);
    background: var(--bg-elevated);
}

.post-form__trigger-text[b-tcybme7nqf] {
    flex: 1;
}

.post-form__text[b-tcybme7nqf] {
    resize: vertical;
    min-height: 80px;
}

.post-form__footer[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.post-form__attach-actions[b-tcybme7nqf] {
    display: flex;
    gap: 4px;
}

.post-form__attach-btn[b-tcybme7nqf] {
    cursor: pointer;
}

/* Превью изображений */
.post-form__previews[b-tcybme7nqf] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.post-form__preview-item[b-tcybme7nqf] {
    position: relative;
    width: 72px;
    height: 72px;
    border-radius: var(--radius-md);
    overflow: hidden;
    flex-shrink: 0;
}

.post-form__preview-img[b-tcybme7nqf] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.post-form__preview-remove[b-tcybme7nqf] {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    border-radius: var(--radius-full);
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.post-form__preview-add[b-tcybme7nqf] {
    width: 72px;
    height: 72px;
    border-radius: var(--radius-md);
    border: 2px dashed var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    cursor: pointer;
    flex-shrink: 0;
    transition: border-color var(--transition-fast), color var(--transition-fast);
}

.post-form__preview-add:hover[b-tcybme7nqf] {
    border-color: var(--accent);
    color: var(--accent);
}

/* Аудио вложения */
.post-form__audio-list[b-tcybme7nqf] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.post-form__audio-item[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    font-size: 0.8125rem;
}

.post-form__audio-icon[b-tcybme7nqf] {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent-muted);
    color: var(--accent);
    border-radius: var(--radius-sm);
    flex-shrink: 0;
}

.post-form__audio-name[b-tcybme7nqf] {
    flex: 1;
    min-width: 0;
}

/* Файлы */
.post-form__files[b-tcybme7nqf] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.post-form__file-item[b-tcybme7nqf] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    font-size: 0.8125rem;
}

.post-form__file-name[b-tcybme7nqf] {
    flex: 1;
    min-width: 0;
}

.post-form__file-size[b-tcybme7nqf] {
    flex-shrink: 0;
    font-size: 0.75rem;
}

.post-form__file-remove[b-tcybme7nqf] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    padding: 0;
}

.profile-posts-loading[b-tcybme7nqf],
.profile-posts-empty[b-tcybme7nqf] {
    text-align: center;
    padding: 24px;
    color: var(--text-muted);
    font-size: 0.875rem;
}

.btn-settings-link[b-tcybme7nqf] {
    display: none;
}

/* Модалка просмотра аватара */
.avatar-modal__close[b-tcybme7nqf] {
    position: fixed;
    top: 16px;
    right: 16px;
    width: 40px;
    height: 40px;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1001;
    transition: background var(--transition-fast);
}

.avatar-modal__close:hover[b-tcybme7nqf] {
    background: rgba(0, 0, 0, 0.7);
}

.avatar-modal__img[b-tcybme7nqf] {
    max-width: 90vw;
    max-height: 90vh;
    border-radius: var(--radius-lg);
    object-fit: contain;
    z-index: 1000;
    position: relative;
}

@media (max-width: 640px) {
    .profile-page[b-tcybme7nqf] {
        padding: 16px 12px 80px;
    }

    .profile-header__body[b-tcybme7nqf] {
        padding: 0 16px 16px;
    }

    .btn-settings-link[b-tcybme7nqf] {
        display: inline-flex;
    }

    .profile-header__stats[b-tcybme7nqf] {
        gap: 16px;
    }

    .post-form__previews[b-tcybme7nqf] {
        gap: 6px;
    }

    .post-form__preview-item[b-tcybme7nqf],
    .post-form__preview-add[b-tcybme7nqf] {
        width: 60px;
        height: 60px;
    }
}
/* /Pages/RadioPage.razor.rz.scp.css */
.radio-page[b-39bg2aoxbq] {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 16px 40px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
}

/* ===== Анимированный фон ===== */
.radio-page__bg[b-39bg2aoxbq] {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1s ease;
}

.radio-page--playing .radio-page__bg[b-39bg2aoxbq] {
    opacity: 1;
}

.radio-page__bg[b-39bg2aoxbq]::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at center, transparent 40%, var(--bg-base) 100%);
    z-index: 1;
}

.radio-page__orb[b-39bg2aoxbq] {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    will-change: transform;
}

.radio-page__orb--1[b-39bg2aoxbq] {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
    opacity: 0.4;
    top: -10%;
    left: -5%;
    animation: orb-drift-1-b-39bg2aoxbq 12s ease-in-out infinite;
}

.radio-page__orb--2[b-39bg2aoxbq] {
    width: 350px;
    height: 350px;
    background: radial-gradient(circle, #8b5cf6 0%, transparent 70%);
    opacity: 0.35;
    top: 20%;
    right: -10%;
    animation: orb-drift-2-b-39bg2aoxbq 15s ease-in-out infinite;
}

.radio-page__orb--3[b-39bg2aoxbq] {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, #ec4899 0%, transparent 70%);
    opacity: 0.3;
    bottom: -5%;
    left: 20%;
    animation: orb-drift-3-b-39bg2aoxbq 10s ease-in-out infinite;
}

.radio-page__orb--4[b-39bg2aoxbq] {
    width: 250px;
    height: 250px;
    background: radial-gradient(circle, #06b6d4 0%, transparent 70%);
    opacity: 0.35;
    top: 50%;
    left: 50%;
    animation: orb-drift-4-b-39bg2aoxbq 18s ease-in-out infinite;
}

.radio-page__orb--5[b-39bg2aoxbq] {
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, #f59e0b 0%, transparent 70%);
    opacity: 0.25;
    bottom: 20%;
    right: 10%;
    animation: orb-drift-5-b-39bg2aoxbq 14s ease-in-out infinite;
}

@keyframes orb-drift-1-b-39bg2aoxbq {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(80px, 60px) scale(1.1); }
    50% { transform: translate(40px, 120px) scale(0.9); }
    75% { transform: translate(-30px, 80px) scale(1.05); }
}

@keyframes orb-drift-2-b-39bg2aoxbq {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(-60px, 80px) scale(0.95); }
    50% { transform: translate(-100px, 40px) scale(1.1); }
    75% { transform: translate(-40px, -30px) scale(1); }
}

@keyframes orb-drift-3-b-39bg2aoxbq {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(60px, -40px) scale(1.15); }
    50% { transform: translate(120px, -80px) scale(0.85); }
    75% { transform: translate(50px, -20px) scale(1.05); }
}

@keyframes orb-drift-4-b-39bg2aoxbq {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(-80px, -60px) scale(1.2); }
    66% { transform: translate(60px, 40px) scale(0.9); }
}

@keyframes orb-drift-5-b-39bg2aoxbq {
    0%, 100% { transform: translate(0, 0) scale(1); }
    30% { transform: translate(-50px, -70px) scale(1.1); }
    60% { transform: translate(30px, -40px) scale(0.95); }
}

/* ===== Контент (поверх фона) ===== */
.radio-page__header[b-39bg2aoxbq] {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 1;
}

.radio-page__title[b-39bg2aoxbq] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text-primary);
}

.radio-page__subtitle[b-39bg2aoxbq] {
    font-size: 0.875rem;
}

.radio-page__loading[b-39bg2aoxbq],
.radio-page__empty[b-39bg2aoxbq] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 60px 0;
    color: var(--text-muted);
    position: relative;
    z-index: 1;
}

/* Сетка станций */
.radio-stations-grid[b-39bg2aoxbq] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
    z-index: 1;
}

/* Карточка станции */
.radio-card[b-39bg2aoxbq] {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    cursor: pointer;
    transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow 0.3s ease;
    user-select: none;
}

.radio-card:hover[b-39bg2aoxbq] {
    background: var(--bg-elevated);
    border-color: var(--border-focus);
}

.radio-card--active[b-39bg2aoxbq] {
    border-color: var(--accent);
    background: var(--accent-muted);
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.15);
}

.radio-card--active:hover[b-39bg2aoxbq] {
    background: var(--accent-muted);
}

/* Логотип станции */
.radio-card__logo[b-39bg2aoxbq] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    object-fit: cover;
    flex-shrink: 0;
}

.radio-card__logo-placeholder[b-39bg2aoxbq] {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-md);
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    flex-shrink: 0;
    transition: border-color 0.3s, color 0.3s;
}

.radio-card--active .radio-card__logo-placeholder[b-39bg2aoxbq] {
    border-color: var(--accent);
    color: var(--accent);
}

/* Текстовая информация */
.radio-card__info[b-39bg2aoxbq] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 0;
}

.radio-card__name[b-39bg2aoxbq] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.radio-card--active .radio-card__name[b-39bg2aoxbq] {
    color: var(--accent);
}

.radio-card__desc[b-39bg2aoxbq] {
    font-size: 0.8125rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Кнопка воспроизведения */
.radio-card__play[b-39bg2aoxbq] {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: var(--bg-elevated);
    border: 1px solid var(--border);
    border-radius: var(--radius-full);
    color: var(--text-secondary);
    transition: background 0.2s, border-color 0.2s, color 0.2s, transform 0.2s;
}

.radio-card:hover .radio-card__play[b-39bg2aoxbq],
.radio-card--active .radio-card__play[b-39bg2aoxbq] {
    background: var(--accent);
    border-color: var(--accent);
    color: white;
}

.radio-card__play:hover:not(:disabled)[b-39bg2aoxbq] {
    background: var(--accent-hover) !important;
    border-color: var(--accent-hover) !important;
    transform: scale(1.1);
}

@media (max-width: 640px) {
    .radio-page[b-39bg2aoxbq] {
        padding: 16px 12px 80px;
    }

    .radio-card__logo[b-39bg2aoxbq],
    .radio-card__logo-placeholder[b-39bg2aoxbq] {
        width: 40px;
        height: 40px;
    }

    .radio-page__orb[b-39bg2aoxbq] {
        filter: blur(60px);
    }

    .radio-page__orb--1[b-39bg2aoxbq] { width: 250px; height: 250px; }
    .radio-page__orb--2[b-39bg2aoxbq] { width: 200px; height: 200px; }
    .radio-page__orb--3[b-39bg2aoxbq] { width: 180px; height: 180px; }
    .radio-page__orb--4[b-39bg2aoxbq] { width: 150px; height: 150px; }
    .radio-page__orb--5[b-39bg2aoxbq] { width: 120px; height: 120px; }
}
/* /Pages/SearchPage.razor.rz.scp.css */
.search-page[b-ucwzffqj05] {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 16px 40px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
}

.search-page__header[b-ucwzffqj05] {
    margin-bottom: 20px;
}

.search-page__title[b-ucwzffqj05] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text-primary);
}

.search-page__input-wrap[b-ucwzffqj05] {
    margin-bottom: 24px;
}

.search-page__input[b-ucwzffqj05] {
    padding-left: 44px;
    font-size: 1rem;
    border-radius: var(--radius-lg);
}

.search-page__icon[b-ucwzffqj05] {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    pointer-events: none;
}

.search-results__count[b-ucwzffqj05] {
    font-size: 0.8125rem;
    margin-bottom: 12px;
}

.search-list[b-ucwzffqj05] {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.search-card[b-ucwzffqj05] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: var(--bg-surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    transition: background var(--transition-fast);
}

.search-card:hover[b-ucwzffqj05] {
    background: var(--bg-elevated);
}

.search-card__info[b-ucwzffqj05] {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}

.search-card__meta[b-ucwzffqj05] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.search-card__name[b-ucwzffqj05] {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.search-card__username[b-ucwzffqj05] {
    font-size: 0.8125rem;
}

.search-card__actions[b-ucwzffqj05] {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}

.search-hint[b-ucwzffqj05],
.search-empty[b-ucwzffqj05] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 48px 20px;
    text-align: center;
}

.search-results-loading[b-ucwzffqj05] {
    display: flex;
    justify-content: center;
    padding: 40px;
}

@media (max-width: 640px) {
    .search-page[b-ucwzffqj05] {
        padding: 16px 12px 80px;
    }
}
/* /Pages/SettingsPage.razor.rz.scp.css */
.settings-page[b-106pvtth8o] {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
    padding: 24px 16px 40px;
    overflow-y: auto;
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.settings-page__header[b-106pvtth8o] {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.settings-page__back[b-106pvtth8o] {
    display: none;
    background: none;
    border: none;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 4px;
    border-radius: var(--radius-sm);
    transition: color var(--transition-fast);
}

.settings-page__back:hover[b-106pvtth8o] {
    color: var(--text-primary);
}

.settings-page__title[b-106pvtth8o] {
    font-size: 1.375rem;
    font-weight: 700;
    color: var(--text-primary);
}

.settings-loading[b-106pvtth8o] {
    display: flex;
    justify-content: center;
    padding: 40px;
    flex-shrink: 0;
}

/* Секция */
.settings-section[b-106pvtth8o] {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    overflow: hidden;
    flex-shrink: 0;
}

.settings-section__head[b-106pvtth8o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px 8px;
}

.settings-section__title[b-106pvtth8o] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    padding: 16px 20px 8px;
}

.settings-section__head .settings-section__title[b-106pvtth8o] {
    padding: 0;
}

.settings-section__desc[b-106pvtth8o] {
    font-size: 0.875rem;
    line-height: 1.5;
    padding: 0 20px 12px;
}

.settings-section__footer[b-106pvtth8o] {
    padding: 12px 20px 16px;
    border-top: 1px solid var(--border);
    margin-top: 8px;
}

/* Строка настройки */
.settings-row[b-106pvtth8o] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--border);
}

.settings-row:last-of-type[b-106pvtth8o] {
    border-bottom: none;
}

.settings-row__info[b-106pvtth8o] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.settings-row__label[b-106pvtth8o] {
    font-size: 0.9375rem;
    color: var(--text-primary);
    font-weight: 500;
}

.settings-row__hint[b-106pvtth8o] {
    font-size: 0.8125rem;
}

.settings-select[b-106pvtth8o] {
    width: auto;
    min-width: 140px;
    padding: 6px 10px;
    font-size: 0.875rem;
    flex-shrink: 0;
    cursor: pointer;
}

/* Форма внутри секции */
.settings-form[b-106pvtth8o] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 4px 20px 20px;
}

/* Сессии */
.sessions-list[b-106pvtth8o] {
    display: flex;
    flex-direction: column;
    padding: 0 20px 16px;
    gap: 8px;
}

.session-item[b-106pvtth8o] {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: var(--bg-elevated);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
}

.session-item--current[b-106pvtth8o] {
    border-color: var(--accent);
    background: var(--accent-muted);
}

.session-item__info[b-106pvtth8o] {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

.session-item__device[b-106pvtth8o] {
    font-size: 0.875rem;
    color: var(--text-primary);
    font-weight: 500;
}

.session-item__date[b-106pvtth8o] {
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.session-current-badge[b-106pvtth8o] {
    background: var(--accent);
    color: white;
    font-size: 0.6875rem;
    padding: 1px 6px;
    border-radius: var(--radius-full);
    font-weight: 600;
}

/* Опасная зона */
.settings-section--danger[b-106pvtth8o] {
    border-color: rgba(248, 113, 113, 0.3);
}

.settings-section--danger .settings-section__title[b-106pvtth8o] {
    padding-bottom: 4px;
}

@media (max-width: 640px) {
    .settings-page[b-106pvtth8o] {
        padding: 16px 12px 80px;
    }

    .settings-row[b-106pvtth8o] {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .settings-select[b-106pvtth8o] {
        width: 100%;
    }

    .settings-page__back[b-106pvtth8o] {
        display: flex;
    }
}
