/**
 * Repacklab Community Forum Styles
 * F95zone-inspired dark theme with red accents
 */

/* ========================================
   CSS Variables
   ======================================== */
:root {
    /* Primary Colors - Red/Maroon accent like F95zone */
    --rcf-primary: #c62828;
    --rcf-primary-dark: #8e0000;
    --rcf-primary-light: #ff5f52;
    --rcf-primary-bg: rgba(198, 40, 40, 0.15);

    /* Background Colors */
    --rcf-bg-darkest: #0d0d0d;
    --rcf-bg-darker: #121212;
    --rcf-bg-dark: #1a1a1a;
    --rcf-bg-medium: #242424;
    --rcf-bg-light: #2d2d2d;

    /* Text Colors */
    --rcf-text: #e0e0e0;
    --rcf-text-muted: #888888;
    --rcf-text-light: #b0b0b0;
    --rcf-text-white: #ffffff;

    /* Accent Colors */
    --rcf-success: #4caf50;
    --rcf-warning: #ff9800;
    --rcf-danger: #f44336;
    --rcf-info: #2196f3;
    --rcf-purple: #9c27b0;
    --rcf-cyan: #00bcd4;
    --rcf-pink: #e91e63;

    /* Border */
    --rcf-border: #333333;
    --rcf-border-light: #444444;

    /* Gold/VIP Accent */
    --rcf-gold: #ffd700;
    --rcf-gold-dark: #c5a200;
    --rcf-gold-light: #ffe44d;
    --rcf-gold-bg: rgba(255, 215, 0, 0.08);
    --rcf-gold-border: rgba(255, 215, 0, 0.15);
    --rcf-gold-glow: rgba(255, 215, 0, 0.08);
    --rcf-gold-glow-strong: rgba(255, 215, 0, 0.35);

    /* Surfaces (card/elevated layers) */
    --rcf-surface: #141414;
    --rcf-surface-border: #252525;
    --rcf-surface-hover: #1a1a1a;
    --rcf-text-secondary: #a0a0a0;

    /* Category Header Colors */
    --rcf-cat-red: #5c1515;
    --rcf-cat-blue: #1a3a5c;
    --rcf-cat-green: #1a4a1a;
    --rcf-cat-purple: #3d1a5c;
    --rcf-cat-orange: #5c3a1a;

    /* Misc */
    --rcf-radius: 4px;
    --rcf-radius-lg: 8px;
    --rcf-radius-xl: 16px;
    --rcf-shadow: 0 2px 10px rgba(0,0,0,0.5);
    --rcf-transition: 0.2s ease;
}

/* ========================================
   Base & Reset
   ======================================== */

/* Main forum wrapper - ALWAYS constrained to match theme menu width */
.rcf-forum-wrapper {
    color: var(--rcf-text);
    background: var(--rcf-bg-darkest, #0d0d0d);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
    box-sizing: border-box !important;
    /* Match theme's .header-bottom width exactly: max-width:1200px;padding:0 10px */
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 20px 10px !important;
}

.rcf-forum-wrapper * {
    box-sizing: border-box;
}

.rcf-forum-wrapper textarea {
    max-width: 100%;
}

.rcf-forum-wrapper input[type="text"],
.rcf-forum-wrapper input[type="password"],
.rcf-forum-wrapper input[type="email"],
.rcf-forum-wrapper input[type="search"],
.rcf-forum-wrapper input[type="url"],
.rcf-forum-wrapper input[type="tel"],
.rcf-forum-wrapper input[type="number"] {
    background: inherit;
    color: inherit;
    height: auto;
    max-width: 100%;
}

.rcf-forum-wrapper a {
    color: var(--rcf-text);
    text-decoration: none;
    transition: color var(--rcf-transition);
}

.rcf-forum-wrapper a:hover {
    color: var(--rcf-primary-light);
}

/* Page Container - transparent to allow theme background through */
.rcf-page-container {
    background: transparent;
    min-height: calc(100vh - 200px);
}

/* ========================================
   Theme Integration - Seamless Layout
   Forum fills entire content area with no gaps
   ======================================== */

/* Ensure main site navigation is always visible for ALL users */
body.rcf-forum-page #header,
body.rcf-forum-page .header,
body.rcf-forum-page .site-header,
body.rcf-forum-page .header-top,
body.rcf-forum-page .header-bottom,
body.rcf-forum-page #masthead,
body.rcf-forum-page .main-navigation,
body.rcf-forum-page .primary-navigation,
body.rcf-forum-page #site-navigation,
body.rcf-forum-page .site-nav,
body.rcf-forum-page .navbar,
body.rcf-forum-page .nav-menu,
body.rcf-forum-page #main-nav,
body.rcf-forum-page .main-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide theme sidebars on forum pages */
body.rcf-forum-page #left-sidebar,
body.rcf-forum-page #right-sidebar,
body.rcf-forum-page .left-sidebar,
body.rcf-forum-page .right-sidebar,
body.rcf-forum-page .sidebar,
body.rcf-forum-page #secondary {
    display: none !important;
}

/* Let theme containers use their natural width - don't force 100% */
body.rcf-forum-page #main-module-container,
body.rcf-forum-page #container.container,
body.rcf-forum-page #content,
body.rcf-forum-page #main,
body.rcf-forum-page #container-main,
body.rcf-forum-page .main-content,
body.rcf-forum-page .rcf-page-container {
    padding: 0 !important;
    margin: 0 auto !important;
    background: transparent !important;
}

/* Hide theme's page title (forum has its own nav) */
body.rcf-forum-page .heading-title.page-title,
body.rcf-forum-page .entry-meta {
    display: none !important;
}

/* Ensure forum content displays properly */
body.rcf-forum-page .entry-content-post,
body.rcf-forum-page article.page {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}

/* Page container fills space */
body.rcf-forum-page .rcf-page-container {
    background: var(--rcf-bg-darkest) !important;
    min-height: calc(100vh - 200px);
    padding: 0 !important;
}

/* Forum wrapper - match theme menu width exactly */
body.rcf-forum-page .rcf-forum-wrapper {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    background: var(--rcf-bg-darkest, #0d0d0d);
    padding: 20px 10px;
    box-sizing: border-box;
}

/* Admin panel - expand to full width for sidebar layout */
body.rcf-forum-page .rcf-forum-wrapper.rcf-admin-wrapper {
    max-width: 100% !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Content inside forum wrapper is centered */
body.rcf-forum-page .rcf-main-layout {
    max-width: 100%;
}

/* Auth cards centered */
body.rcf-forum-page .rcf-auth-card {
    max-width: 900px;
    margin: 40px auto;
}

/* Ensure dark background extends to footer - no bottom gap */
body.rcf-forum-page #main-module-container {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

body.rcf-forum-page .rcf-page-container {
    padding-bottom: 20px !important;
}

/* ========================================
   Main Layout with Sidebar
   ======================================== */
.rcf-main-layout {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: 20px;
    align-items: stretch;
}

.rcf-main-content {
    min-width: 0;
}

.rcf-sidebar {
    display: flex;
    flex-direction: column;
    align-self: start;
    gap: 15px;
}

/* ========================================
   Forum Navigation Bar
   ======================================== */

/* Match the theme's .header-bottom container width */
.rcf-nav-fullwidth {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
    clear: both;
    position: relative;
}

.rcf-forum-nav {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    background: var(--rcf-bg-dark);
    border-radius: 5px 5px 0 0;
    box-sizing: border-box;
    /* contain: layout traps absolutely-positioned children (notification dropdown),
       so only use style containment to avoid breaking overflow */
    contain: style;
    position: relative;
    z-index: 1001;
}

.rcf-nav-brand {
    flex-shrink: 0;
}

.rcf-nav-brand a {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 700;
    color: var(--rcf-primary);
    margin-right: 10px;
    text-decoration: none;
    white-space: nowrap;
}

.rcf-nav-brand a:hover {
    color: var(--rcf-primary-light);
}

.rcf-nav-brand-text {
    display: inline;
}

.rcf-nav-menu {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 1;
    flex-wrap: nowrap;
    min-width: 0; /* Prevent flex overflow */
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
}

.rcf-nav-menu::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.rcf-nav-link {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 8px 10px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    font-size: 13px;
    font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease;
    position: relative;
    text-decoration: none;
    white-space: nowrap;
    min-height: 36px;
    flex-shrink: 0;
    /* GPU acceleration for smoother transitions */
    transform: translateZ(0);
    backface-visibility: hidden;
}

.rcf-nav-link:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-nav-link:focus {
    outline: 2px solid var(--rcf-primary);
    outline-offset: 2px;
}

.rcf-nav-link:focus:not(:focus-visible) {
    outline: none;
}

.rcf-nav-link:focus-visible {
    outline: 2px solid var(--rcf-primary);
    outline-offset: 2px;
}

.rcf-nav-link.rcf-nav-active {
    background: var(--rcf-primary-bg);
    color: var(--rcf-primary);
}

.rcf-nav-link .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-nav-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    background: var(--rcf-danger);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 10px;
    min-width: 14px;
    text-align: center;
}

.rcf-nav-badge-warning {
    background: var(--rcf-warning);
    color: #000;
}

/* ========================================
   Notification Dropdown
   ======================================== */

.rcf-notification-dropdown {
    position: relative;
    margin-left: 6px;
    margin-right: 6px;
}

.rcf-notification-toggle {
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.rcf-notification-toggle .dashicons-bell {
    transition: transform 0.2s ease;
}

.rcf-notification-toggle[aria-expanded="true"] .dashicons-bell {
    transform: rotate(15deg);
}

.rcf-notification-panel {
    position: fixed;
    width: 360px;
    max-width: calc(100vw - 20px);
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
}

.rcf-notification-panel.rcf-panel-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.rcf-notification-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-notification-header h4 {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text);
}

.rcf-mark-all-read {
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    padding: 5px;
    border-radius: var(--rcf-radius);
    transition: all var(--rcf-transition);
}

.rcf-mark-all-read:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-success);
}

.rcf-notification-list {
    max-height: 400px;
    overflow-y: auto;
}

.rcf-notification-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 20px;
    text-decoration: none;
    color: var(--rcf-text);
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
    position: relative;
}

.rcf-notification-item:hover {
    background: var(--rcf-bg-medium);
}

.rcf-notification-item.rcf-notification-unread {
    background: var(--rcf-primary-bg);
}

.rcf-notification-item.rcf-notification-unread:hover {
    background: rgba(198, 40, 40, 0.2);
}

.rcf-notification-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcf-bg-light);
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-notification-icon .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--rcf-text-muted);
}

.rcf-notification-unread .rcf-notification-icon {
    background: var(--rcf-primary);
}

.rcf-notification-unread .rcf-notification-icon .dashicons {
    color: #fff;
}

.rcf-notification-content {
    flex: 1;
    min-width: 0;
}

.rcf-notification-title {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    margin-bottom: 2px;
    color: var(--rcf-text);
}

.rcf-notification-message {
    font-size: 12px;
    color: var(--rcf-text-muted);
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-notification-time {
    font-size: 11px;
    color: var(--rcf-text-muted);
    margin-top: 4px;
}

.rcf-notification-dot {
    width: 8px;
    height: 8px;
    background: var(--rcf-primary);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 4px;
}

.rcf-notification-footer {
    padding: 12px 20px;
    border-top: 1px solid var(--rcf-border);
    text-align: center;
}

.rcf-notification-footer a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--rcf-text-muted);
    font-size: 12px;
    text-decoration: none;
    transition: color var(--rcf-transition);
}

.rcf-notification-footer a:hover {
    color: var(--rcf-primary);
}

.rcf-notification-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 20px;
    color: var(--rcf-text-muted);
}

.rcf-notification-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--rcf-text-muted);
}

.rcf-notification-empty .dashicons {
    font-size: 36px;
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.rcf-notification-empty p {
    margin: 0;
    font-size: 13px;
}

/* Notification spinner */
.rcf-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid var(--rcf-border);
    border-top-color: var(--rcf-primary);
    border-radius: 50%;
    animation: rcf-spin 0.8s linear infinite;
}

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

/* ========================================
   Notification Bell Icon Only
   ======================================== */

.rcf-notification-bell-only {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    background: var(--rcf-bg-light);
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-notification-bell-only:hover {
    background: var(--rcf-bg-medium);
    transform: scale(1.05);
}

.rcf-notification-bell-only .dashicons-bell {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--rcf-text-muted);
    transition: all var(--rcf-transition);
}

.rcf-notification-bell-only:hover .dashicons-bell {
    color: var(--rcf-text);
}

.rcf-notification-bell-only[aria-expanded="true"] {
    background: var(--rcf-primary);
}

.rcf-notification-bell-only[aria-expanded="true"] .dashicons-bell {
    color: #fff;
    animation: rcf-bell-ring 0.5s ease;
}

@keyframes rcf-bell-ring {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(15deg); }
    40% { transform: rotate(-15deg); }
    60% { transform: rotate(10deg); }
    80% { transform: rotate(-10deg); }
}

.rcf-nav-messages {
    position: relative;
}

.rcf-notif-count-badge {
    position: absolute;
    top: 2px;
    right: -2px;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    background: var(--rcf-primary);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    animation: rcf-badge-pulse 2s infinite;
}

@keyframes rcf-badge-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* ========================================
   VIP Lounge Navigation
   ======================================== */

.rcf-nav-vip {
    position: relative;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 165, 0, 0.1) 100%);
    border: 1px solid rgba(255, 215, 0, 0.3);
    border-radius: var(--rcf-radius);
}

.rcf-nav-vip:hover {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.2) 0%, rgba(255, 165, 0, 0.2) 100%);
    border-color: rgba(255, 215, 0, 0.5);
}

.rcf-nav-vip.rcf-nav-active {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.25) 0%, rgba(255, 165, 0, 0.25) 100%);
    border-color: #ffd700;
}

.rcf-nav-vip .dashicons-star-filled {
    filter: drop-shadow(0 0 3px rgba(255, 215, 0, 0.5));
    animation: rcf-star-glow 2s ease-in-out infinite;
}

@keyframes rcf-star-glow {
    0%, 100% { filter: drop-shadow(0 0 3px rgba(255, 215, 0, 0.5)); }
    50% { filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.8)); }
}

/* Mobile notification panel */
@media (max-width: 480px) {
    .rcf-notification-panel {
        position: fixed;
        top: 60px !important;
        left: 10px !important;
        right: 10px !important;
        width: auto;
        max-height: calc(100vh - 80px);
    }

    .rcf-notification-list {
        max-height: calc(100vh - 200px);
    }
}

/* Admin Nav Link */
.rcf-nav-link.rcf-nav-admin {
    position: relative;
    color: var(--rcf-warning);
}

.rcf-nav-link.rcf-nav-admin:hover {
    background: rgba(255, 152, 0, 0.15);
    color: var(--rcf-warning);
}

.rcf-nav-link.rcf-nav-admin.rcf-nav-active {
    background: rgba(255, 152, 0, 0.2);
    color: var(--rcf-warning);
}

.rcf-nav-link.rcf-nav-admin .rcf-nav-badge {
    position: static;
    margin-left: 4px;
}

/* Custom Navigation Links */
.rcf-nav-link.rcf-nav-custom-link {
    position: relative;
}

.rcf-nav-external-icon {
    font-size: 10px !important;
    width: 10px !important;
    height: 10px !important;
    opacity: 0.6;
    margin-left: 2px;
}

.rcf-nav-link.rcf-nav-custom-link:hover .rcf-nav-external-icon {
    opacity: 1;
}

.rcf-nav-user {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    flex-shrink: 0;
}

.rcf-nav-user-profile {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    border-radius: var(--rcf-radius);
    text-decoration: none;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.rcf-nav-user-profile:hover {
    background: var(--rcf-bg-medium);
}

.rcf-nav-user-profile img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid var(--rcf-border);
    transition: border-color 0.2s ease;
}

.rcf-nav-user-profile:hover img {
    border-color: var(--rcf-primary);
}

.rcf-nav-username {
    color: var(--rcf-text);
    font-weight: 500;
    font-size: 13px;
    transition: color 0.2s ease;
}

.rcf-nav-user-profile:hover .rcf-nav-username {
    color: var(--rcf-primary);
}

/* Compact logout button */
.rcf-logout-btn {
    padding: 6px 12px !important;
    font-size: 12px !important;
    min-height: auto !important;
}

/* Legacy support */
.rcf-nav-user-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-nav-user-info img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--rcf-border);
}

/* ========================================
   Announcement Banners
   ======================================== */
.rcf-announcements {
    margin-bottom: 15px;
}

.rcf-announcement-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 15px;
    margin-bottom: 8px;
    border-radius: var(--rcf-radius);
    font-size: 13px;
    line-height: 1.5;
}

.rcf-announcement-banner:last-child {
    margin-bottom: 0;
}

.rcf-announcement-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-announcement-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

.rcf-announcement-content {
    flex: 1;
}

.rcf-announcement-content a {
    color: inherit;
    text-decoration: underline;
}

.rcf-announcement-dismiss {
    flex-shrink: 0;
    background: none;
    border: none;
    color: inherit;
    opacity: 0.6;
    cursor: pointer;
    padding: 0;
}

.rcf-announcement-dismiss:hover {
    opacity: 1;
}

/* Banner Types */
.rcf-banner-warning {
    background: linear-gradient(135deg, rgba(198, 40, 40, 0.2) 0%, rgba(198, 40, 40, 0.1) 100%);
    border: 1px solid rgba(198, 40, 40, 0.4);
    color: #ff8a80;
}

.rcf-banner-info {
    background: linear-gradient(135deg, rgba(33, 150, 243, 0.2) 0%, rgba(33, 150, 243, 0.1) 100%);
    border: 1px solid rgba(33, 150, 243, 0.4);
    color: #90caf9;
}

.rcf-banner-success {
    background: linear-gradient(135deg, rgba(76, 175, 80, 0.2) 0%, rgba(76, 175, 80, 0.1) 100%);
    border: 1px solid rgba(76, 175, 80, 0.4);
    color: #a5d6a7;
}

.rcf-banner-danger {
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.2) 0%, rgba(231, 76, 60, 0.1) 100%);
    border: 1px solid rgba(231, 76, 60, 0.4);
    color: #ef9a9a;
}

.rcf-banner-notice {
    background: linear-gradient(135deg, rgba(255, 152, 0, 0.2) 0%, rgba(255, 152, 0, 0.1) 100%);
    border: 1px solid rgba(255, 152, 0, 0.4);
    color: #ffcc80;
}

/* ========================================
   Tabs/Filter Bar
   ======================================== */
.rcf-tabs-bar {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius) var(--rcf-radius) 0 0;
    margin-bottom: -1px;
    overflow-x: auto;
}

.rcf-tab {
    padding: 8px 15px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    transition: all var(--rcf-transition);
}

.rcf-tab:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-tab.rcf-tab-active {
    background: var(--rcf-primary);
    color: #fff;
}

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

/* ========================================
   Category Headers
   ======================================== */
.rcf-category {
    margin-bottom: 20px;
}

.rcf-category-header {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background: var(--rcf-cat-red);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: var(--rcf-radius) var(--rcf-radius) 0 0;
    cursor: pointer;
    user-select: none;
}

.rcf-category-header:hover {
    background: linear-gradient(135deg, var(--rcf-cat-red), #7a1a1a);
}

.rcf-category-icon {
    margin-right: 10px;
    color: rgba(255,255,255,0.8);
}

.rcf-category-icon .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-category-title {
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin: 0;
    flex: 1;
}

.rcf-category-toggle {
    color: rgba(255,255,255,0.6);
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
}

.rcf-category-toggle:hover {
    color: rgba(255,255,255,0.9);
}

.rcf-category-header {
    transition: opacity 0.2s ease;
}

.rcf-category-header:hover {
    opacity: 0.9;
}

/* Collapsed state */
.rcf-category.rcf-collapsed .rcf-category-toggle {
    transform: rotate(-90deg);
}

.rcf-category-description {
    padding: 6px 15px 6px 72px; /* 15px row padding + 42px icon + 15px gap = aligns with forum text */
    font-size: 12px;
    color: #8899a6;
    background: rgba(0, 0, 0, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.rcf-category.rcf-collapsed .rcf-category-description {
    display: none;
}

.rcf-category .rcf-forum-list {
    transition: opacity 0.2s ease;
}

.rcf-category.rcf-collapsed .rcf-forum-list {
    display: none;
}

/* Locked Category Styles */
.rcf-category-locked .rcf-category-header {
    opacity: 0.6;
    cursor: default;
}

.rcf-category-locked .rcf-category-header:hover {
    opacity: 0.65;
}

.rcf-category-access-badge {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.7);
    margin-left: 10px;
    letter-spacing: 0.3px;
    vertical-align: middle;
}

.rcf-forum-list-locked {
    background: rgba(30, 30, 46, 0.5);
    border: 1px solid #2a2a3e;
    border-top: none;
    border-radius: 0 0 8px 8px;
}

.rcf-locked-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px 20px;
    text-align: center;
    opacity: 0.8;
}

.rcf-locked-placeholder .dashicons {
    color: #555;
}

.rcf-locked-placeholder p {
    font-size: 13px;
}

/* Category Color Variations */
.rcf-category-blue .rcf-category-header {
    background: var(--rcf-cat-blue);
}
.rcf-category-blue .rcf-category-header:hover {
    background: linear-gradient(135deg, var(--rcf-cat-blue), #234b73);
}

.rcf-category-green .rcf-category-header {
    background: var(--rcf-cat-green);
}
.rcf-category-green .rcf-category-header:hover {
    background: linear-gradient(135deg, var(--rcf-cat-green), #235c23);
}

.rcf-category-purple .rcf-category-header {
    background: var(--rcf-cat-purple);
}
.rcf-category-purple .rcf-category-header:hover {
    background: linear-gradient(135deg, var(--rcf-cat-purple), #4e2373);
}

.rcf-category-orange .rcf-category-header {
    background: var(--rcf-cat-orange);
}
.rcf-category-orange .rcf-category-header:hover {
    background: linear-gradient(135deg, var(--rcf-cat-orange), #734b23);
}

/* ========================================
   Forum List
   ======================================== */
.rcf-forum-list {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-top: none;
    border-radius: 0 0 var(--rcf-radius) var(--rcf-radius);
}

.rcf-forum-row {
    display: grid;
    grid-template-columns: 42px 1fr 90px 90px 200px;
    gap: 15px;
    padding: 12px 15px;
    border-bottom: 1px solid var(--rcf-border);
    align-items: center;
    transition: background var(--rcf-transition);
}

.rcf-forum-row:last-child {
    border-bottom: none;
}

.rcf-forum-row:hover {
    background: var(--rcf-bg-dark);
}

.rcf-forum-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    align-self: start;
    margin-top: 2px;
}

.rcf-forum-icon .dashicons {
    font-size: 22px;
    width: 22px;
    height: 22px;
}

.rcf-forum-icon.rcf-has-new {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-forum-info {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1px;
    align-self: start;
}

.rcf-forum-title {
    margin: 0;
    padding: 0;
    min-height: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.15;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-forum-title a {
    color: var(--rcf-text-white);
    min-height: 0;
    min-width: 0;
}

.rcf-forum-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-badge-new {
    display: inline-block;
    padding: 2px 6px;
    background: var(--rcf-success);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    text-transform: uppercase;
}
.rcf-badge-new.rcf-badge-sm {
    font-size: 9px;
    padding: 1px 4px;
    vertical-align: middle;
}
.rcf-badge-new.rcf-badge-admin-inline {
    font-size: 10px;
    vertical-align: middle;
}
.rcf-badge-new.rcf-badge-expired {
    opacity: 0.4;
}
.rcf-badge-section {
    border-top: 1px solid #333;
    margin-top: 15px;
    padding-top: 15px;
}
.rcf-badge-section-label {
    display: block;
    margin-bottom: 10px;
    font-weight: 600;
    color: #ccc;
}
.rcf-badge-color-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rcf-badge-color-input {
    width: 50px;
    height: 36px;
    padding: 2px;
    background: #1a1a2e;
    border: 1px solid #333;
    border-radius: 4px;
    cursor: pointer;
}
.rcf-badge-color-hex {
    color: #888;
    font-size: 12px;
}
.rcf-badge-preview {
    margin-top: 8px;
}
.rcf-badge-preview-label {
    font-size: 12px;
    color: #888;
}
.rcf-badge-expired-label {
    font-size: 11px;
    color: #f44336;
    margin-left: 5px;
}
.rcf-text-danger {
    color: #f44336;
}

.rcf-forum-desc {
    margin: 0;
    padding: 0;
    min-height: 0;
    font-size: 12px;
    color: var(--rcf-text-muted);
    line-height: 1.2;
}

.rcf-forum-desc a {
    color: var(--rcf-primary-light);
    min-height: 0;
    min-width: 0;
}

.rcf-forum-desc a:hover {
    color: var(--rcf-primary);
    text-decoration: underline;
}

.rcf-sub-forums {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 5px;
}

.rcf-sub-forum-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: var(--rcf-bg-medium);
    border-radius: 3px;
    font-size: 11px;
    color: var(--rcf-text-light);
    min-height: 0;
    min-width: 0;
}

.rcf-sub-forum-link:hover {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-sub-forum-link::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.354 5.5H4a3 3 0 000 6h3a3 3 0 002.83-4H9a2 2 0 01-2 2H4a2 2 0 110-4h1.354a4 4 0 01-.354-1.5zM9 5.5a3 3 0 00-2.83 4H7a2 2 0 012-2h3a2 2 0 110 4h-1.354a4 4 0 00.354 1.5H12a3 3 0 000-6H9z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6.354 5.5H4a3 3 0 000 6h3a3 3 0 002.83-4H9a2 2 0 01-2 2H4a2 2 0 110-4h1.354a4 4 0 01-.354-1.5zM9 5.5a3 3 0 00-2.83 4H7a2 2 0 012-2h3a2 2 0 110 4h-1.354a4 4 0 00.354 1.5H12a3 3 0 000-6H9z'/%3E%3C/svg%3E") center / contain no-repeat;
    opacity: 0.6;
}
.rcf-ql-has-icon::before {
    display: none;
}
.rcf-quick-link > .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
    line-height: 12px;
    opacity: 0.7;
}

.rcf-forum-stats {
    text-align: center;
    font-size: 12px;
    color: var(--rcf-text-muted);
    border-left: 1px solid var(--rcf-border);
    padding-left: 15px;
}

.rcf-forum-stats .rcf-count {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text);
}

.rcf-forum-last-activity {
    font-size: 12px;
    line-height: 1.2;
    min-width: 0;
    border-left: 1px solid var(--rcf-border);
    padding-left: 15px;
}

.rcf-last-topic {
    margin-bottom: 2px;
}

.rcf-last-topic a {
    color: var(--rcf-text);
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 0;
    min-width: 0;
}

.rcf-last-topic a:hover {
    color: var(--rcf-primary-light);
}

.rcf-last-meta {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--rcf-text-muted);
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-last-meta a {
    color: var(--rcf-text-muted);
    min-height: 0;
    min-width: 0;
}

.rcf-last-meta a:hover {
    color: var(--rcf-primary-light);
}

.rcf-last-avatar {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    margin: 0;
}

.rcf-no-posts {
    color: var(--rcf-text-muted);
    font-style: italic;
}

/* ========================================
   Topic List
   ======================================== */
.rcf-topic-list {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-topic-list-header {
    display: grid;
    grid-template-columns: 50px 1fr 70px 70px 80px 180px;
    gap: 15px;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    letter-spacing: 0.5px;
}

.rcf-topic-list-header .rcf-th-topic {
    grid-column: 1 / 3;
}

.rcf-topic-row {
    display: grid;
    grid-template-columns: 50px 1fr 70px 70px 80px 180px;
    gap: 15px;
    padding: 15px;
    border-bottom: 1px solid var(--rcf-border);
    align-items: center;
    transition: background var(--rcf-transition);
}

.rcf-topic-row:last-child {
    border-bottom: none;
}

.rcf-topic-row:hover {
    background: var(--rcf-bg-dark);
}

.rcf-topic-row.rcf-topic-sticky {
    background: rgba(198, 40, 40, 0.08);
}

.rcf-topic-row.rcf-topic-announcement {
    background: rgba(198, 40, 40, 0.12);
}

.rcf-topic-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: var(--rcf-bg-dark);
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-topic-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--rcf-text-muted);
}

.rcf-topic-sticky .rcf-topic-icon {
    background: rgba(198, 40, 40, 0.2);
}

.rcf-topic-sticky .rcf-topic-icon .dashicons {
    color: var(--rcf-primary);
}

.rcf-topic-announcement .rcf-topic-icon {
    background: rgba(255, 152, 0, 0.2);
}

.rcf-topic-announcement .rcf-topic-icon .dashicons {
    color: var(--rcf-warning);
}

.rcf-topic-request .rcf-topic-icon {
    background: rgba(33, 150, 243, 0.2);
}

.rcf-topic-request .rcf-topic-icon .dashicons {
    color: var(--rcf-info);
}

.rcf-topic-info {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-width: 0;
}

.rcf-topic-avatar {
    flex-shrink: 0;
}

.rcf-topic-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
}

.rcf-topic-main {
    flex: 1;
    min-width: 0;
}

.rcf-topic-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.rcf-topic-title {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
}

.rcf-topic-title a {
    color: var(--rcf-text-white);
}

.rcf-topic-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-topic-meta {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-topic-meta a {
    color: var(--rcf-text-muted);
}

.rcf-topic-meta a:hover {
    color: var(--rcf-primary-light);
}

.rcf-topic-stats {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.rcf-topic-stats .rcf-stat-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text);
    line-height: 1.2;
}

.rcf-topic-stats .rcf-stat-label {
    font-size: 10px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.rcf-topic-date {
    margin-left: 8px;
    color: var(--rcf-text-muted);
}

.rcf-topic-date::before {
    content: "·";
    margin-right: 8px;
}

.rcf-topic-activity {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
}

.rcf-activity-avatar img {
    width: 28px;
    height: 28px;
    border-radius: 50%;
}

.rcf-activity-info {
    min-width: 0;
}

.rcf-activity-user {
    color: var(--rcf-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-activity-time {
    color: var(--rcf-text-muted);
    font-size: 11px;
}

/* ========================================
   Topic Prefixes/Tags
   ======================================== */
.rcf-prefix {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Prefix Colors */
.rcf-prefix-completed { background: #1b5e20; color: #a5d6a7; }
.rcf-prefix-ongoing { background: #0d47a1; color: #90caf9; }
.rcf-prefix-abandoned { background: #4a148c; color: #ce93d8; }
.rcf-prefix-onhold { background: #e65100; color: #ffcc80; }
.rcf-prefix-ren-py { background: #311b92; color: #b39ddb; }
.rcf-prefix-rpgm { background: #880e4f; color: #f48fb1; }
.rcf-prefix-unity { background: #1a237e; color: #9fa8da; }
.rcf-prefix-unreal { background: #263238; color: #b0bec5; }
.rcf-prefix-html { background: #bf360c; color: #ffab91; }
.rcf-prefix-other { background: #37474f; color: #b0bec5; }
.rcf-prefix-request { background: var(--rcf-primary-dark); color: #ffcdd2; }
.rcf-prefix-discussion { background: #004d40; color: #80cbc4; }
.rcf-prefix-solved { background: #2e7d32; color: #c8e6c9; }
.rcf-prefix-closed { background: #424242; color: #bdbdbd; }
.rcf-prefix-pinned { background: #5c1515; color: #ffcdd2; }
.rcf-prefix-announcement { background: #e65100; color: #fff3e0; }

/* Status Tags */
.rcf-tag {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.rcf-tag-solved { background: var(--rcf-success); color: #fff; }
.rcf-tag-closed { background: var(--rcf-text-muted); color: #fff; }
.rcf-tag-hot { background: var(--rcf-danger); color: #fff; }
.rcf-tag-pinned { background: var(--rcf-warning); color: #000; }

/* ========================================
   Sidebar Components
   ======================================== */
.rcf-sidebar-box {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    overflow: hidden;
}

.rcf-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-sidebar-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-sidebar-title .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--rcf-primary);
}

.rcf-sidebar-content {
    padding: 12px 15px;
}

/* Online Users */
.rcf-online-users {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rcf-online-user {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    background: var(--rcf-bg-medium);
    border-radius: 3px;
    font-size: 12px;
    color: var(--rcf-text-light);
}

.rcf-online-user:hover {
    background: var(--rcf-primary-bg);
    color: var(--rcf-primary-light);
}

.rcf-online-dot {
    width: 6px;
    height: 6px;
    background: var(--rcf-success);
    border-radius: 50%;
}

.rcf-staff-badge {
    color: var(--rcf-danger);
    font-weight: 600;
}

/* Members Online Count */
.rcf-members-online {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rcf-border);
    margin-bottom: 10px;
}

.rcf-members-online:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

.rcf-online-count {
    font-size: 20px;
    font-weight: 700;
    color: var(--rcf-primary);
}

.rcf-online-label {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Latest Posts */
.rcf-latest-posts {
    display: flex;
    flex-direction: column;
}

.rcf-latest-post {
    display: flex;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-latest-post:last-child {
    border-bottom: none;
}

.rcf-latest-post-avatar img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.rcf-latest-post-content {
    flex: 1;
    min-width: 0;
}

.rcf-latest-post-title {
    font-size: 12px;
    color: var(--rcf-text);
    margin-bottom: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-latest-post-title:hover {
    color: var(--rcf-primary-light);
}

.rcf-latest-post-meta {
    font-size: 11px;
    color: var(--rcf-text-muted);
}

/* --- New Members Widget --- */
.rcf-new-members-list {
    display: flex;
    flex-direction: column;
}

.rcf-new-member-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--rcf-border);
    text-decoration: none;
    color: inherit;
}

.rcf-new-member-item:last-child {
    border-bottom: none;
}

.rcf-new-member-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    display: inline-flex;
    overflow: visible;
}

.rcf-new-member-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.rcf-new-member-info {
    flex: 1;
    min-width: 0;
}

.rcf-new-member-name {
    display: block;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcf-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

a.rcf-new-member-item:hover .rcf-new-member-name {
    color: var(--rcf-primary-light);
}

.rcf-new-member-joined {
    display: block;
    font-size: 11px;
    color: var(--rcf-text-muted);
}

/* --- Leaderboard Widget (Top Reputation, Top Posters) --- */
.rcf-leaderboard-list {
    display: flex;
    flex-direction: column;
}

.rcf-leaderboard-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-leaderboard-item:last-child {
    border-bottom: none;
}

.rcf-leaderboard-rank {
    flex-shrink: 0;
    width: 24px;
    font-size: 11px;
    font-weight: 700;
    color: var(--rcf-text-muted);
    text-align: center;
}

.rcf-leaderboard-rank.rcf-medal-gold { color: #ffd700; }
.rcf-leaderboard-rank.rcf-medal-silver { color: #c0c0c0; }
.rcf-leaderboard-rank.rcf-medal-bronze { color: #cd7f32; }

.rcf-leaderboard-user {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    min-width: 0;
    text-decoration: none;
    color: var(--rcf-text);
}

.rcf-leaderboard-user:hover {
    color: var(--rcf-primary-light);
}

.rcf-leaderboard-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    display: inline-flex;
    overflow: visible;
}

.rcf-leaderboard-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
}

.rcf-leaderboard-name {
    font-size: 12px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-leaderboard-value {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    color: var(--rcf-text-muted);
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 3px;
}

.rcf-leaderboard-value .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* --- Top Supporters Widget (moved from inline styles) --- */
.rcf-widget-top-supporters .rcf-sidebar-content { padding: 0; }

.rcf-widget-top-supporters .rcf-supporter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-widget-top-supporters .rcf-supporter-item:last-child { border-bottom: 0; }
.rcf-widget-top-supporters .rcf-supporter-item:hover { background: var(--rcf-bg-medium); }

.rcf-widget-top-supporters .rcf-supporter-rank {
    flex-shrink: 0;
    width: 24px;
    font-size: 11px;
    font-weight: 700;
    color: var(--rcf-text-muted);
    text-align: center;
}

.rcf-widget-top-supporters .rcf-supporter-rank.rcf-medal-gold { color: #ffd700; }
.rcf-widget-top-supporters .rcf-supporter-rank.rcf-medal-silver { color: #c0c0c0; }
.rcf-widget-top-supporters .rcf-supporter-rank.rcf-medal-bronze { color: #cd7f32; }

.rcf-widget-top-supporters .rcf-supporter-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    display: inline-flex;
    overflow: visible;
}

.rcf-widget-top-supporters .rcf-supporter-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.rcf-widget-top-supporters .rcf-supporter-info {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.rcf-widget-top-supporters .rcf-supporter-name {
    font-size: 12px;
    color: var(--rcf-text-light);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-widget-top-supporters .rcf-supporter-name:hover { color: var(--rcf-primary-light); }

.rcf-widget-top-supporters .rcf-supporter-badge {
    font-size: 9px;
    padding: 1px 5px;
    border-radius: 8px;
    color: #fff;
    white-space: nowrap;
    flex-shrink: 0;
}

.rcf-widget-top-supporters .rcf-supporter-amount {
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    color: #ffd700;
    margin-left: auto;
}

/* --- Staff Online Widget --- */
.rcf-online-user img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

/* Suppress pseudo-element animations (orbit dots, rings, borders) on small
   avatars (< 32px). Box-shadow glow effects still render fine at any size. */
.rcf-online-user .rcf-avatar-anim::before,
.rcf-online-user .rcf-avatar-anim::after,
.rcf-widget-top-supporters .rcf-avatar-anim::before,
.rcf-widget-top-supporters .rcf-avatar-anim::after {
    display: none !important;
}

/* Forum Statistics */
.rcf-forum-statistics {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.rcf-stat-item {
    text-align: center;
    padding: 10px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

.rcf-stat-value {
    display: block;
    font-size: 18px;
    font-weight: 700;
    color: var(--rcf-primary);
}

.rcf-stat-label {
    font-size: 11px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
}

/* ========================================
   Tabbed Threads Section (F95zone-style)
   ======================================== */
.rcf-threads-tabs-section {
    margin-top: 25px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    overflow: hidden;
    border: 1px solid var(--rcf-border);
}

.rcf-threads-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
}

.rcf-thread-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 14px 16px;
    white-space: nowrap;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--rcf-transition);
    border-bottom: 3px solid transparent;
}

.rcf-thread-tab:hover {
    color: var(--rcf-text);
    background: rgba(255, 255, 255, 0.03);
}

.rcf-thread-tab.rcf-tab-active {
    color: var(--rcf-primary);
    border-bottom-color: var(--rcf-primary);
    background: var(--rcf-bg-dark);
}

.rcf-thread-tab .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Thread List */
.rcf-threads-list {
    /* No max-height constraint - let threads flow naturally */
}

.rcf-threads-tab-content {
    display: none;
}

.rcf-threads-tab-content.rcf-tab-active,
.rcf-threads-tab-content:not([hidden]) {
    display: block;
}

.rcf-thread-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
}

.rcf-thread-row:last-child {
    border-bottom: none;
}

.rcf-thread-row:hover {
    background: rgba(255, 255, 255, 0.02);
}

.rcf-thread-avatar {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.rcf-thread-avatar img {
    width: 40px;
    height: 40px;
    border-radius: var(--rcf-radius);
    object-fit: cover;
}

.rcf-thread-info {
    flex: 1;
    min-width: 0;
}

.rcf-thread-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 4px;
}

.rcf-thread-title {
    color: var(--rcf-text);
    font-weight: 500;
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

.rcf-thread-title:hover {
    color: var(--rcf-primary-light);
}

/* Thread Type Tags */
.rcf-thread-type-tag {
    display: inline-block;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 3px;
    flex-shrink: 0;
}

.rcf-thread-type-tag.rcf-type-sticky {
    background: var(--rcf-primary);
    color: white;
}

.rcf-thread-type-tag.rcf-type-announcement {
    background: var(--rcf-danger);
    color: white;
}

.rcf-thread-type-tag.rcf-type-game_request {
    background: var(--rcf-warning);
    color: #fff;
}

.rcf-thread-type-tag.rcf-type-closed {
    background: var(--rcf-text-muted);
    color: var(--rcf-bg-dark);
}

.rcf-thread-type-tag.rcf-type-trending {
    background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
    color: white;
}

/* Thread Meta */
.rcf-thread-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-thread-meta > span:not(:last-child)::after {
    content: '·';
    margin-left: 4px;
    opacity: 0.5;
}

.rcf-thread-forum {
    color: var(--rcf-primary-light);
}

.rcf-thread-author {
    color: var(--rcf-text-muted);
}

/* Thread Stats */
.rcf-thread-stats {
    display: flex;
    gap: 16px;
    flex-shrink: 0;
}

.rcf-thread-stats span {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-thread-stats .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-stat-views.rcf-views-hot {
    color: var(--rcf-warning);
}

.rcf-stats-highlight .rcf-stat-views {
    font-weight: 600;
}

.rcf-threads-empty {
    padding: 40px 20px;
    text-align: center;
    color: var(--rcf-text-muted);
}

.rcf-threads-empty .rcf-retry-tab {
    color: var(--rcf-accent);
    text-decoration: underline;
    cursor: pointer;
}

/* ========================================
   Compact Thread List (F95zone-style)
   ======================================== */
.rcf-compact-list .rcf-thread-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2px 10px;
    gap: 6px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
    min-height: 22px;
}

.rcf-compact-list .rcf-thread-row:hover {
    background: rgba(255, 255, 255, 0.02);
}

.rcf-thread-main {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
    min-width: 0;
    overflow: hidden;
    line-height: 22px;
}

/* Tags container — inline flow after title.
   flex-wrap + max-height: tags that don't fit wrap to a hidden second row,
   so individual badges are either fully visible or fully hidden (no mid-char clipping).
   max-width prevents tags from pushing the title to zero width on narrow rows. */
.rcf-thread-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3px;
    flex-shrink: 1;
    max-width: 50%;
    max-height: 20px;
    overflow: hidden;
    line-height: 22px;
}

.rcf-thread-right {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Tags — F95zone-style solid compact badges */
.rcf-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1px 5px;
    font-size: 10px;
    font-weight: 700;
    border-radius: 3px;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1.3;
    vertical-align: middle;
}

/* Forum channel tag */
.rcf-tag-forum {
    background: #4559a5;
    color: #dce1f5;
}

/* Generic game tag */
.rcf-tag-game {
    background: #6b46b5;
    color: #e2d6f5;
}

/* Game category tags — solid F95zone-style colors */
.rcf-tag-game-cat {
    background: #b91c1c;
    color: white;
}

/* Specific game category colors - based on slug */
.rcf-tag-game-cat[data-category*="completed"],
.rcf-tag-game-cat[data-category*="complete"] {
    background: #16a34a;
    color: white;
}

.rcf-tag-game-cat[data-category*="abandoned"],
.rcf-tag-game-cat[data-category*="abandon"] {
    background: #b91c1c;
    color: white;
}

.rcf-tag-game-cat[data-category*="onhold"],
.rcf-tag-game-cat[data-category*="on-hold"],
.rcf-tag-game-cat[data-category*="hiatus"] {
    background: #d97706;
    color: white;
}

.rcf-tag-game-cat[data-category*="development"],
.rcf-tag-game-cat[data-category*="ongoing"],
.rcf-tag-game-cat[data-category*="active"] {
    background: #2563eb;
    color: white;
}

.rcf-tag-game-cat[data-category*="rpg"] {
    background: #7c3aed;
    color: white;
}

.rcf-tag-game-cat[data-category*="action"] {
    background: #dc2626;
    color: white;
}

.rcf-tag-game-cat[data-category*="adventure"] {
    background: #0891b2;
    color: white;
}

.rcf-tag-game-cat[data-category*="simulation"],
.rcf-tag-game-cat[data-category*="sim"] {
    background: #059669;
    color: white;
}

.rcf-tag-game-cat[data-category*="strategy"] {
    background: #4f46e5;
    color: white;
}

.rcf-tag-game-cat[data-category*="puzzle"] {
    background: #7c3aed;
    color: white;
}

.rcf-tag-game-cat[data-category*="horror"] {
    background: #27272a;
    color: #fafafa;
    border: 1px solid #3f3f46;
}

.rcf-tag-game-cat[data-category*="visual-novel"],
.rcf-tag-game-cat[data-category*="vn"] {
    background: #db2777;
    color: white;
}

.rcf-tag-game-cat[data-category*="sandbox"] {
    background: #a16207;
    color: white;
}

/* Game update tags */
.rcf-tag-updated {
    background: #2e7d32;
    color: white;
    font-weight: 700;
}

.rcf-tag-update-type {
    background: #37474f;
    color: #a5d6a7;
}

/* Status tags */
.rcf-tag-pinned {
    background: #d97706;
    color: white;
}

.rcf-tag-announcement {
    background: #dc2626;
    color: white;
}

.rcf-tag-request {
    background: #7c3aed;
    color: white;
}

.rcf-tag-closed {
    background: #64748b;
    color: white;
}

.rcf-tag-trending {
    background: #ea580c;
    color: white;
}

.rcf-tag-hot {
    background: #dc2626;
    color: white;
}

.rcf-tag-views {
    background: #1a6b3c;
    color: #a7f3d0;
    font-weight: 700;
}

/* Compact list title — flex: 1 1 0 lets it shrink with ellipsis, min-width: 0 is required
   for flex items to allow shrinking below intrinsic content width. */
.rcf-compact-list .rcf-thread-title {
    flex: 1 1 0;
    min-width: 0;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcf-text);
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: inherit;
    display: inline-flex;
    align-items: center;
}

.rcf-compact-list .rcf-thread-title:hover {
    color: var(--rcf-primary-light);
}

/* Right side elements */
.rcf-thread-time {
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    min-width: 70px;
    text-align: right;
    line-height: 22px;
}

.rcf-thread-right .rcf-thread-author {
    font-size: 11px;
    color: var(--rcf-primary-light);
    text-decoration: none;
    white-space: nowrap;
    min-width: 80px;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: right;
    line-height: 22px;
}

.rcf-thread-right .rcf-thread-author:hover {
    color: var(--rcf-primary);
    text-decoration: underline;
}

.rcf-thread-stats-inline {
    font-size: 11px;
    color: var(--rcf-text-muted);
}

/* Compact stats (replies & views) */
.rcf-thread-stats-compact {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    min-width: 80px;
}

.rcf-thread-stats-compact .rcf-stat-item {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}

.rcf-thread-stats-compact .rcf-stat-item .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
    line-height: 1;
}

.rcf-thread-stats-compact .rcf-stat-item .dashicons-admin-comments {
    color: #60a5fa;
}

.rcf-thread-stats-compact .rcf-stat-item .dashicons-visibility {
    color: #34d399;
}

/* Responsive for compact list — restore adequate padding when rows wrap */
@media (max-width: 768px) {
    .rcf-compact-list .rcf-thread-row {
        flex-wrap: wrap;
        padding: 4px 10px;
        min-height: auto;
    }

    .rcf-thread-main {
        width: 100%;
        flex-wrap: wrap;
        gap: 4px;
    }

    .rcf-thread-tags {
        max-height: none;
        max-width: none;
        flex-wrap: wrap;
        width: 100%;
    }

    .rcf-thread-tags:empty {
        display: none;
    }

    .rcf-thread-right {
        width: 100%;
        justify-content: flex-start;
        padding-top: 6px;
        gap: 10px;
    }

    .rcf-compact-list .rcf-thread-title {
        width: 100%;
    }

    .rcf-thread-stats-compact {
        gap: 8px;
    }

    .rcf-thread-stats-compact .rcf-stat-item {
        font-size: 11px;
    }

    .rcf-thread-stats-compact .rcf-stat-item .dashicons {
        font-size: 12px;
        width: 12px;
        height: 12px;
    }

    .rcf-tag {
        font-size: 9px;
        padding: 2px 5px;
    }
}

/* ========================================
   Thread Filters (F95zone-style)
   ======================================== */
.rcf-threads-tabs-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background: var(--rcf-bg-medium);
    border-bottom: 1px solid var(--rcf-border);
    padding: 0;
}

.rcf-threads-filters {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 12px;
    flex-wrap: nowrap;
}

.rcf-filter-search {
    position: relative;
    display: flex;
    align-items: center;
}

.rcf-filter-search .dashicons {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rcf-text-muted);
    font-size: 14px;
    width: 14px;
    height: 14px;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
}

.rcf-filter-search .dashicons::before {
    line-height: 1;
}

.rcf-filter-input,
input#rcf-thread-search.rcf-filter-input {
    padding: 6px 10px 6px 32px !important;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text);
    font-size: 12px;
    width: 140px;
    transition: all var(--rcf-transition);
}

.rcf-filter-input:focus {
    outline: none;
    border-color: var(--rcf-primary);
    background: var(--rcf-bg-light);
}

.rcf-filter-input::placeholder {
    color: var(--rcf-text-muted);
}

.rcf-filter-select {
    padding: 6px 28px 6px 10px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text);
    font-size: 12px;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 8px center;
    transition: all var(--rcf-transition);
    min-width: 0;
}

.rcf-filter-select:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

.rcf-filter-select option {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text);
}

.rcf-filter-view-toggle {
    display: flex;
    flex-shrink: 0;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    overflow: hidden;
}

.rcf-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-view-btn:not(:last-child) {
    border-right: 1px solid var(--rcf-border);
}

.rcf-view-btn:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--rcf-text);
}

.rcf-view-btn.active {
    background: var(--rcf-primary);
    color: white;
}

.rcf-view-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Reply Indicator */
.rcf-reply-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: var(--rcf-primary);
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-reply-indicator .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
    color: white;
}

.rcf-reply-by strong {
    color: var(--rcf-text);
}

/* Game Post Reply Indicator */
.rcf-reply-indicator.rcf-game-indicator {
    background: linear-gradient(135deg, #8b5cf6 0%, #6366f1 100%);
}

.rcf-game-source {
    color: #a78bfa !important;
}

.rcf-thread-row.rcf-game-post-reply {
    border-left: 3px solid #8b5cf6;
}

/* ========================================
   More Options Menu (Hamburger Dropdown)
   ======================================== */
.rcf-filter-more-options {
    position: relative;
}

.rcf-more-options-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-more-options-btn:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text);
    border-color: var(--rcf-primary);
}

.rcf-more-options-btn.active {
    background: var(--rcf-primary);
    color: white;
    border-color: var(--rcf-primary);
}

.rcf-more-options-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-more-options-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 5px;
    min-width: 220px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    z-index: 1000;
    display: none;
    overflow: hidden;
}

.rcf-more-options-dropdown.rcf-dropdown-open {
    display: block;
}

.rcf-more-option {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
    background: transparent;
    border: none;
    color: var(--rcf-text);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-more-option:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-primary-light);
}

.rcf-more-option.rcf-option-active {
    background: var(--rcf-primary);
    color: white;
}

.rcf-more-option .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--rcf-text-muted);
}

.rcf-more-option:hover .dashicons,
.rcf-more-option.rcf-option-active .dashicons {
    color: inherit;
}

/* Trending Tab Dropdown */
.rcf-tab-dropdown-wrap {
    position: relative;
}

.rcf-tab-period {
    font-size: 11px;
    font-weight: 700;
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 6px;
    border-radius: 3px;
    color: inherit;
}

.rcf-tab-active .rcf-tab-period {
    background: var(--rcf-primary);
    color: white;
}

.rcf-tab-arrow {
    font-size: 12px !important;
    width: 12px !important;
    height: 12px !important;
    opacity: 0.6;
    transition: transform var(--rcf-transition);
}

.rcf-tab-dropdown-wrap.rcf-dropdown-active .rcf-tab-arrow {
    transform: rotate(180deg);
}

.rcf-tab-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: 0 0 var(--rcf-radius) var(--rcf-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    min-width: 160px;
    display: none;
    overflow: hidden;
}

.rcf-tab-dropdown.rcf-dropdown-open {
    display: block;
}

.rcf-tab-dropdown-option,
.rcf-popular-dropdown-option,
.rcf-more-dropdown-option {
    display: block;
    width: 100%;
    padding: 10px 16px;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    font-size: 13px;
    text-align: left;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-tab-dropdown-option:hover,
.rcf-popular-dropdown-option:hover,
.rcf-more-dropdown-option:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-primary-light);
}

.rcf-tab-dropdown-option.rcf-option-active,
.rcf-popular-dropdown-option.rcf-option-active,
.rcf-more-dropdown-option.rcf-option-active {
    background: var(--rcf-primary);
    color: white;
}

/* More tab — breathing room from right edge */
#rcf-more-tab-wrap {
    margin-right: 8px;
}

/* More dropdown — anchor to right edge so it doesn't overflow viewport */
#rcf-more-dropdown {
    left: auto;
    right: 0;
}

/* Entries Per Page Select */
.rcf-filter-entries {
    position: relative;
}

.rcf-entries-select {
    min-width: 0;
    padding-right: 26px;
}

/* Refresh Button */
.rcf-refresh-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-refresh-btn:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text);
    border-color: var(--rcf-primary);
}

.rcf-refresh-btn.rcf-refreshing {
    pointer-events: none;
}

.rcf-refresh-btn.rcf-refreshing .dashicons {
    animation: rcf-spin 1s linear infinite;
}

@keyframes rcf-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rcf-refresh-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Refresh Button States */
.rcf-refresh-btn.rcf-refresh-success {
    border-color: #22c55e;
    color: #22c55e;
    background: rgba(34, 197, 94, 0.1);
}

.rcf-refresh-btn.rcf-refresh-error {
    border-color: #ef4444;
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.rcf-refresh-btn.rcf-refresh-cooldown {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Content Loading Overlay */
.rcf-threads-list.rcf-content-loading {
    opacity: 0.4;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

/* Toast Notifications */
.rcf-toast-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    max-width: 360px;
}

.rcf-toast {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border-radius: var(--rcf-radius);
    background: var(--rcf-bg-medium);
    border: 1px solid var(--rcf-border);
    color: var(--rcf-text);
    font-size: 13px;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    animation: rcf-toast-in 0.3s ease forwards;
    opacity: 0;
    transform: translateY(10px);
}

.rcf-toast.rcf-toast-out {
    animation: rcf-toast-out 0.2s ease forwards;
}

.rcf-toast-success {
    border-left: 3px solid #22c55e;
}

.rcf-toast-error {
    border-left: 3px solid #ef4444;
}

.rcf-toast-info {
    border-left: 3px solid #3b82f6;
}

.rcf-toast-icon {
    flex-shrink: 0;
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-toast-success .rcf-toast-icon {
    color: #22c55e;
}

.rcf-toast-error .rcf-toast-icon {
    color: #ef4444;
}

.rcf-toast-info .rcf-toast-icon {
    color: #3b82f6;
}

.rcf-toast-message {
    flex: 1;
    min-width: 0;
}

.rcf-toast-dismiss {
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    padding: 2px;
    font-size: 14px;
    line-height: 1;
}

.rcf-toast-dismiss:hover {
    color: var(--rcf-text);
}

.rcf-toast-retry {
    flex-shrink: 0;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    color: #ef4444;
    cursor: pointer;
    padding: 4px 10px;
    border-radius: var(--rcf-radius);
    font-size: 12px;
    font-weight: 500;
    transition: all var(--rcf-transition);
}

.rcf-toast-retry:hover {
    background: rgba(239, 68, 68, 0.25);
}

@keyframes rcf-toast-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes rcf-toast-out {
    to {
        opacity: 0;
        transform: translateY(10px);
    }
}

/* New Items Banner */
.rcf-new-items-banner {
    display: none;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: rgba(59, 130, 246, 0.1);
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: var(--rcf-radius);
    color: #3b82f6;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    margin-bottom: 8px;
    transition: all var(--rcf-transition);
}

.rcf-new-items-banner:hover {
    background: rgba(59, 130, 246, 0.15);
}

.rcf-new-items-banner.rcf-banner-visible {
    display: flex;
}

.rcf-new-items-banner .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* New Row Highlight */
.rcf-thread-row.rcf-row-new {
    animation: rcf-row-highlight 3s ease forwards;
}

@keyframes rcf-row-highlight {
    0% {
        background: rgba(59, 130, 246, 0.15);
    }
    100% {
        background: transparent;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
    .rcf-refresh-btn.rcf-refreshing .dashicons {
        animation: none;
    }

    .rcf-toast {
        animation: none;
        opacity: 1;
        transform: none;
    }

    .rcf-toast.rcf-toast-out {
        animation: none;
        opacity: 0;
    }

    .rcf-thread-row.rcf-row-new {
        animation: none;
        background: rgba(59, 130, 246, 0.1);
    }
}

/* Hot Tag for Most Replied */
.rcf-thread-type-tag.rcf-type-hot {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}

/* Hot Replies Indicator */
.rcf-stat-replies.rcf-replies-hot {
    color: var(--rcf-danger);
    font-weight: 600;
}

/* Filter Results Indicator */
.rcf-filter-results {
    display: none;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
}

.rcf-filter-results.rcf-results-visible {
    display: flex;
}

.rcf-results-text {
    font-size: 11px;
    color: var(--rcf-primary-light);
    background: rgba(139, 92, 246, 0.15);
    padding: 4px 10px;
    border-radius: var(--rcf-radius);
    border: 1px solid rgba(139, 92, 246, 0.3);
    white-space: nowrap;
}

/* Compact View Mode — denser than base (22px → 20px rows) */
.rcf-threads-list.rcf-view-compact .rcf-thread-row {
    padding: 1px 10px;
    min-height: 20px;
}

.rcf-threads-list.rcf-view-compact .rcf-thread-title {
    font-size: 11px;
}

.rcf-threads-list.rcf-view-compact .rcf-thread-tags .rcf-tag {
    font-size: 9px;
    padding: 1px 4px;
}

.rcf-threads-list.rcf-view-compact .rcf-thread-right {
    gap: 6px;
}

.rcf-threads-list.rcf-view-compact .rcf-thread-time,
.rcf-threads-list.rcf-view-compact .rcf-thread-author {
    display: none;
}

.rcf-threads-list.rcf-view-compact .rcf-thread-stats-compact {
    gap: 8px;
}

.rcf-threads-list.rcf-view-compact .rcf-stat-item {
    font-size: 11px;
}

/* No results message */
.rcf-no-results {
    padding: 30px 20px;
    text-align: center;
    color: var(--rcf-text-muted);
    display: none;
}

.rcf-no-results.rcf-visible {
    display: block;
}

/* ========================================
   Client-Side Pagination
   ======================================== */
.rcf-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border-top: 1px solid var(--rcf-border);
    padding: 10px 12px;
}

.rcf-pagination[data-total-pages="1"] {
    display: none;
}

.rcf-pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 28px;
    padding: 0 8px;
    font-size: 12px;
    font-weight: 500;
    color: var(--rcf-text-secondary, #b0b0b0);
    background: transparent;
    border: 1px solid var(--rcf-border);
    border-radius: 4px;
    cursor: pointer;
    transition: background var(--rcf-transition), color var(--rcf-transition), border-color var(--rcf-transition);
    user-select: none;
}

.rcf-pagination-btn:hover {
    background: rgba(255, 255, 255, 0.06);
    color: var(--rcf-text-primary, #e0e0e0);
    border-color: rgba(255, 255, 255, 0.15);
}

.rcf-pagination-btn:active {
    background: rgba(255, 255, 255, 0.1);
}

.rcf-pagination-btn:disabled {
    opacity: 0.35;
    cursor: default;
    pointer-events: none;
}

.rcf-pagination-btn.rcf-page-active {
    background: var(--rcf-accent);
    color: #fff;
    border-color: var(--rcf-accent);
    font-weight: 700;
}

.rcf-pagination-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 28px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    user-select: none;
}

.rcf-pagination-info {
    margin-left: 12px;
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}

@media (max-width: 768px) {
    .rcf-pagination {
        gap: 3px;
        padding: 8px;
    }

    .rcf-pagination-btn {
        min-width: 28px;
        height: 26px;
        font-size: 11px;
        padding: 0 5px;
    }

    .rcf-pagination-info {
        display: none;
    }
}

/* Responsive for Filters */
@media (max-width: 992px) {
    .rcf-threads-tabs-header {
        flex-direction: column;
        align-items: stretch;
    }

    .rcf-threads-filters {
        border-top: 1px solid var(--rcf-border);
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

@media (max-width: 576px) {
    .rcf-threads-filters {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .rcf-filter-input,
    input#rcf-thread-search.rcf-filter-input {
        width: 100%;
    }

    .rcf-filter-select {
        width: 100%;
    }

    .rcf-filter-view-toggle {
        align-self: flex-start;
    }

    .rcf-filter-results {
        margin-left: 0;
    }
}

/* ========================================
   Online Members List
   ======================================== */
.rcf-sidebar-count {
    background: var(--rcf-primary);
    color: white;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 10px;
    margin-left: auto;
}

.rcf-online-stats-row {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.rcf-online-stat {
    flex: 1;
    text-align: center;
    padding: 10px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

/* Compact flowing text layout for online members (F95zone style) */
.rcf-online-members-flow {
    line-height: 1.7;
    padding: 2px 0;
}

.rcf-online-member-link {
    font-size: 12px;
    color: var(--rcf-text-light);
    text-decoration: none;
    transition: color var(--rcf-transition);
}

.rcf-online-member-link:hover {
    color: var(--rcf-primary-light);
    text-decoration: underline;
}

.rcf-online-member-link::after {
    content: ',\00a0';
    color: var(--rcf-text-muted);
}

.rcf-online-member-link:last-of-type::after {
    content: '';
}

/* Role-based coloring for online members */
.rcf-online-member-link.rcf-role-admin,
.rcf-online-member-link.rcf-role-administrator {
    color: var(--rcf-danger);
    font-weight: 600;
}

.rcf-online-member-link.rcf-role-moderator {
    color: var(--rcf-success);
    font-weight: 600;
}

.rcf-online-member-link.rcf-role-vip {
    color: var(--rcf-warning);
}

.rcf-online-more {
    font-size: 12px;
    color: var(--rcf-primary);
}

.rcf-online-totals {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--rcf-border);
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-no-online {
    text-align: center;
    padding: 10px;
}

/* Legacy button-style (kept for backwards compat if used elsewhere) */
.rcf-online-members-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.rcf-online-member {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    font-size: 12px;
    color: var(--rcf-text);
    transition: all var(--rcf-transition);
}

.rcf-online-member:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-primary-light);
}

.rcf-online-member-avatar {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
}

.rcf-online-member-name {
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ========================================
   VIP Members Showcase Widget
   ======================================== */

/* VIP Header — subtle gold gradient accent */
.rcf-vip-header {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.08) 0%, rgba(255, 165, 0, 0.04) 100%);
    border-bottom: 1px solid rgba(255, 215, 0, 0.15);
}

.rcf-vip-crown {
    color: #FFD700;
    vertical-align: middle;
    margin-right: 2px;
    filter: drop-shadow(0 0 3px rgba(255, 215, 0, 0.4));
}

.rcf-vip-count {
    background: linear-gradient(135deg, #FFD700, #FFA500) !important;
    color: #1a1a2e !important;
    font-weight: 700;
}

.rcf-vip-content {
    padding-top: 12px;
}

/* VIP Avatar Grid */
.rcf-vip-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

/* Individual VIP member card */
.rcf-vip-member {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 64px;
    text-decoration: none;
    transition: transform 0.2s ease;
    contain: layout style;
}

.rcf-vip-member:hover {
    transform: translateY(-2px);
}

/* Avatar with glowing tier border ring */
.rcf-vip-avatar-wrap {
    position: relative;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    padding: 2px;
    background: linear-gradient(135deg, var(--vip-color, #FFD700), #ffe680);
    background: linear-gradient(135deg, var(--vip-color, #FFD700), color-mix(in srgb, var(--vip-color, #FFD700) 60%, #fff));
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
    transition: box-shadow 0.3s ease;
    will-change: box-shadow;
}

.rcf-vip-member:hover .rcf-vip-avatar-wrap {
    box-shadow: 0 0 14px rgba(255, 215, 0, 0.5), 0 0 28px rgba(255, 215, 0, 0.2);
}

/* Tier-specific glow colors */
.rcf-vip-tier-gold .rcf-vip-avatar-wrap {
    box-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
}

.rcf-vip-tier-gold:hover .rcf-vip-avatar-wrap {
    box-shadow: 0 0 14px rgba(255, 215, 0, 0.5), 0 0 28px rgba(255, 215, 0, 0.2);
}

.rcf-vip-tier-purple .rcf-vip-avatar-wrap {
    box-shadow: 0 0 8px rgba(168, 85, 247, 0.3);
}

.rcf-vip-tier-purple:hover .rcf-vip-avatar-wrap {
    box-shadow: 0 0 14px rgba(168, 85, 247, 0.5), 0 0 28px rgba(168, 85, 247, 0.2);
}

.rcf-vip-tier-diamond .rcf-vip-avatar-wrap {
    box-shadow: 0 0 8px rgba(185, 242, 255, 0.3);
}

.rcf-vip-tier-diamond:hover .rcf-vip-avatar-wrap {
    box-shadow: 0 0 14px rgba(185, 242, 255, 0.6), 0 0 28px rgba(185, 242, 255, 0.3);
}

.rcf-vip-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid var(--rcf-bg-dark);
}

/* VIP username under avatar */
.rcf-vip-name {
    display: block;
    margin-top: 4px;
    font-size: 10px;
    color: var(--rcf-text-light);
    text-align: center;
    max-width: 64px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.3;
}

.rcf-vip-member:hover .rcf-vip-name {
    color: #FFD700;
}

/* NEW supporter badge (overlaid on avatar) */
.rcf-vip-new-badge {
    position: absolute;
    bottom: -2px;
    right: -4px;
    padding: 0 4px;
    font-size: 7px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 14px;
    background: linear-gradient(135deg, #22c55e, #16a34a);
    color: #fff;
    border-radius: 4px;
    border: 1.5px solid var(--rcf-bg-dark);
    z-index: 2;
}

.rcf-vip-hover-new {
    display: block;
    font-size: 10px;
    margin-top: 3px;
    color: #22c55e;
    font-weight: 600;
}

/* Tier badge pill under name */
.rcf-vip-badge-pill {
    display: inline-block;
    margin-top: 2px;
    padding: 0 5px;
    font-size: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 8px;
    background: rgba(255, 215, 0, 0.12);
    color: var(--vip-color, #FFD700);
    border: 1px solid rgba(255, 215, 0, 0.25);
    line-height: 15px;
}

/* Hover card tooltip */
.rcf-vip-hover-card {
    display: none;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: 6px;
    padding: 8px 12px;
    white-space: nowrap;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
    text-align: center;
}

.rcf-vip-hover-card::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: var(--rcf-border);
}

.rcf-vip-member:hover .rcf-vip-hover-card {
    display: block;
}

.rcf-vip-hover-card strong {
    display: block;
    font-size: 12px;
    color: var(--rcf-text);
}

.rcf-vip-hover-tier {
    display: block;
    font-size: 11px;
    margin-top: 2px;
    font-weight: 600;
}

/* "... and X more" text */
.rcf-vip-more {
    width: 100%;
    text-align: center;
    font-size: 11px;
    color: var(--rcf-text-muted);
    margin-top: 6px;
    padding-top: 6px;
}

/* Empty state */
.rcf-vip-empty {
    text-align: center;
    padding: 16px 0;
    color: var(--rcf-text-muted);
}

.rcf-vip-empty p {
    margin: 6px 0 0;
    font-size: 13px;
}

/* CTA Button */
.rcf-vip-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    margin-top: 10px;
    padding: 8px 16px;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.12), rgba(255, 165, 0, 0.08));
    border: 1px solid rgba(255, 215, 0, 0.25);
    border-radius: 6px;
    color: #FFD700;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.rcf-vip-cta:hover {
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.2), rgba(255, 165, 0, 0.14));
    border-color: rgba(255, 215, 0, 0.4);
    color: #FFD700;
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.15);
}

.rcf-vip-cta svg {
    color: #FFD700;
}

/* Subtle pulse animation on VIP avatars */
@keyframes rcf-vip-pulse {
    0%, 100% { box-shadow: 0 0 8px rgba(255, 215, 0, 0.3); }
    50% { box-shadow: 0 0 14px rgba(255, 215, 0, 0.45); }
}

.rcf-vip-tier-gold .rcf-vip-avatar-wrap {
    animation: rcf-vip-pulse 3s ease-in-out infinite;
    will-change: box-shadow;
}

@keyframes rcf-vip-pulse-purple {
    0%, 100% { box-shadow: 0 0 8px rgba(168, 85, 247, 0.3); }
    50% { box-shadow: 0 0 14px rgba(168, 85, 247, 0.45); }
}

.rcf-vip-tier-purple .rcf-vip-avatar-wrap {
    animation: rcf-vip-pulse-purple 3s ease-in-out infinite;
    will-change: box-shadow;
}

@keyframes rcf-vip-pulse-diamond {
    0%, 100% { box-shadow: 0 0 8px rgba(185, 242, 255, 0.3); }
    50% { box-shadow: 0 0 14px rgba(185, 242, 255, 0.5); }
}

.rcf-vip-tier-diamond .rcf-vip-avatar-wrap {
    animation: rcf-vip-pulse-diamond 3s ease-in-out infinite;
    will-change: box-shadow;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    .rcf-vip-tier-gold .rcf-vip-avatar-wrap,
    .rcf-vip-tier-purple .rcf-vip-avatar-wrap,
    .rcf-vip-tier-diamond .rcf-vip-avatar-wrap {
        animation: none;
    }
}

/* ==========================================================================
   VIP Avatar Animations (20 CSS-only effects)
   CONTRACT: Each .rcf-anim-{slug} class must match a slug in
   RCF_Database::get_avatar_animations() (includes/class-database.php).
   ========================================================================== */

/* Base container */
.rcf-avatar-anim {
    position: relative;
    overflow: visible !important;
    z-index: 1;
}

.rcf-avatar-anim img {
    position: relative;
    z-index: 2;
}

/* Allow animation pseudo-elements to render outside avatar containers.
   Each ancestor that clips via overflow:hidden needs an explicit override
   only when it contains an animated avatar. The .rcf-avatar-anim class
   itself already has overflow:visible !important (above), but parents
   also need to allow rendering of pseudo-elements that extend beyond
   the avatar boundary (glow rings, orbit dots, sonar rings, etc.). */
.rcf-post-sidebar,
.rcf-post-sidebar .rcf-user-card,
.rcf-conversation-list .rcf-avatar-wrapper,
.rcf-comment-avatar,
.rcf-message-avatar-wrap,
.rcf-conversation-avatar-wrap,
.rcf-vip-avatar-wrap,
.rcf-staff-avatar-wrap,
.rcf-leaderboard-avatar-wrap,
.rcf-latest-post-avatar,
.rcf-new-member-avatar-wrap,
.rcf-supporter-avatar-wrap,
.rcf-activity-avatar {
    overflow: visible;
}

/* Wrappers that also need structural properties for layout */
.rcf-message-avatar-wrap,
.rcf-conversation-avatar-wrap,
.rcf-staff-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}
.rcf-staff-avatar-wrap {
    display: inline-flex;
}
.rcf-message-avatar-wrap .rcf-message-avatar,
.rcf-conversation-avatar-wrap .rcf-conversation-avatar {
    display: block;
}


/* --- GLOW EFFECTS --- */

/* 1. Gold Glow */
@keyframes rcf-anim-gold-glow {
    0%, 100% { box-shadow: 0 0 6px rgba(255, 215, 0, 0.4), 0 0 12px rgba(255, 215, 0, 0.2); border-color: rgba(255, 215, 0, 0.5); }
    50% { box-shadow: 0 0 12px rgba(255, 215, 0, 0.7), 0 0 24px rgba(255, 215, 0, 0.4); border-color: rgba(255, 215, 0, 0.9); }
}
.rcf-anim-gold-glow img {
    animation: rcf-anim-gold-glow 2.5s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(255, 215, 0, 0.5);
    will-change: box-shadow, border-color;
}

/* 2. Neon Blue */
@keyframes rcf-anim-neon-blue {
    0%, 100% { box-shadow: 0 0 6px rgba(0, 200, 255, 0.4), 0 0 12px rgba(0, 200, 255, 0.2); border-color: rgba(0, 200, 255, 0.5); }
    50% { box-shadow: 0 0 12px rgba(0, 200, 255, 0.7), 0 0 24px rgba(0, 200, 255, 0.4); border-color: rgba(0, 200, 255, 0.9); }
}
.rcf-anim-neon-blue img {
    animation: rcf-anim-neon-blue 2.5s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(0, 200, 255, 0.5);
    will-change: box-shadow, border-color;
}

/* 3. Neon Pink */
@keyframes rcf-anim-neon-pink {
    0%, 100% { box-shadow: 0 0 6px rgba(255, 0, 200, 0.4), 0 0 12px rgba(255, 0, 200, 0.2); border-color: rgba(255, 0, 200, 0.5); }
    50% { box-shadow: 0 0 12px rgba(255, 0, 200, 0.7), 0 0 24px rgba(255, 0, 200, 0.4); border-color: rgba(255, 0, 200, 0.9); }
}
.rcf-anim-neon-pink img {
    animation: rcf-anim-neon-pink 2.5s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(255, 0, 200, 0.5);
    will-change: box-shadow, border-color;
}

/* 4. Toxic Green */
@keyframes rcf-anim-toxic-green {
    0%, 100% { box-shadow: 0 0 6px rgba(0, 255, 65, 0.4), 0 0 12px rgba(0, 255, 65, 0.2); border-color: rgba(0, 255, 65, 0.5); }
    50% { box-shadow: 0 0 12px rgba(0, 255, 65, 0.7), 0 0 24px rgba(0, 255, 65, 0.4); border-color: rgba(0, 255, 65, 0.9); }
}
.rcf-anim-toxic-green img {
    animation: rcf-anim-toxic-green 2.5s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(0, 255, 65, 0.5);
    will-change: box-shadow, border-color;
}

/* 5. Shadow Aura */
@keyframes rcf-anim-shadow-aura {
    0%, 100% { box-shadow: 0 0 8px rgba(100, 0, 180, 0.5), 0 0 20px rgba(40, 0, 80, 0.3); border-color: rgba(100, 0, 180, 0.5); }
    50% { box-shadow: 0 0 16px rgba(100, 0, 180, 0.8), 0 0 35px rgba(40, 0, 80, 0.5); border-color: rgba(100, 0, 180, 0.9); }
}
.rcf-anim-shadow-aura img {
    animation: rcf-anim-shadow-aura 3s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(100, 0, 180, 0.5);
    will-change: box-shadow, border-color;
}

/* --- PULSE EFFECTS --- */

/* 6. Soft Pulse */
@keyframes rcf-anim-soft-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.06); }
}
.rcf-anim-soft-pulse img {
    animation: rcf-anim-soft-pulse 2.5s ease-in-out infinite;
    border-radius: 50%;
    will-change: transform;
}

/* 7. Heartbeat */
@keyframes rcf-anim-heartbeat {
    0%, 100% { transform: scale(1); }
    14% { transform: scale(1.08); }
    28% { transform: scale(1); }
    42% { transform: scale(1.08); }
    56% { transform: scale(1); }
}
.rcf-anim-heartbeat img {
    animation: rcf-anim-heartbeat 1.8s ease-in-out infinite;
    border-radius: 50%;
    will-change: transform;
}

/* 8. Sonar Ring */
@keyframes rcf-anim-sonar-ring {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.5); opacity: 0; }
}
.rcf-anim-sonar-ring::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(0, 200, 255, 0.6);
    animation: rcf-anim-sonar-ring 2s ease-out infinite;
    z-index: 1;
    pointer-events: none;
}

/* 9. Ripple */
@keyframes rcf-anim-ripple {
    0% { transform: scale(1); opacity: 0.5; }
    100% { transform: scale(1.6); opacity: 0; }
}
.rcf-anim-ripple::before,
.rcf-anim-ripple::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid rgba(100, 180, 255, 0.5);
    animation: rcf-anim-ripple 2.5s ease-out infinite;
    z-index: 1;
    pointer-events: none;
}
.rcf-anim-ripple::after {
    animation-delay: 1.25s;
}

/* --- COLOR EFFECTS --- */

/* 10. Rainbow Cycle */
@keyframes rcf-anim-rainbow-cycle {
    0%   { box-shadow: 0 0 10px rgba(255, 0, 0, 0.5), 0 0 20px rgba(255, 0, 0, 0.2); border-color: rgba(255, 0, 0, 0.6); }
    17%  { box-shadow: 0 0 10px rgba(255, 165, 0, 0.5), 0 0 20px rgba(255, 165, 0, 0.2); border-color: rgba(255, 165, 0, 0.6); }
    33%  { box-shadow: 0 0 10px rgba(255, 255, 0, 0.5), 0 0 20px rgba(255, 255, 0, 0.2); border-color: rgba(255, 255, 0, 0.6); }
    50%  { box-shadow: 0 0 10px rgba(0, 200, 0, 0.5), 0 0 20px rgba(0, 200, 0, 0.2); border-color: rgba(0, 200, 0, 0.6); }
    67%  { box-shadow: 0 0 10px rgba(0, 150, 255, 0.5), 0 0 20px rgba(0, 150, 255, 0.2); border-color: rgba(0, 150, 255, 0.6); }
    83%  { box-shadow: 0 0 10px rgba(180, 0, 255, 0.5), 0 0 20px rgba(180, 0, 255, 0.2); border-color: rgba(180, 0, 255, 0.6); }
    100% { box-shadow: 0 0 10px rgba(255, 0, 0, 0.5), 0 0 20px rgba(255, 0, 0, 0.2); border-color: rgba(255, 0, 0, 0.6); }
}
.rcf-anim-rainbow-cycle img {
    animation: rcf-anim-rainbow-cycle 4s linear infinite;
    border-radius: 50%;
    border: 2px solid rgba(255, 0, 0, 0.6);
    will-change: box-shadow, border-color;
}

/* 11. Fire Ring */
@keyframes rcf-anim-fire-ring {
    0%, 100% { box-shadow: 0 0 6px rgba(255, 80, 0, 0.5), 0 0 14px rgba(255, 40, 0, 0.3), 0 0 22px rgba(200, 0, 0, 0.15); border-color: rgba(255, 80, 0, 0.6); }
    33% { box-shadow: 0 0 10px rgba(255, 120, 0, 0.6), 0 0 20px rgba(255, 60, 0, 0.4), 0 0 30px rgba(200, 0, 0, 0.2); border-color: rgba(255, 120, 0, 0.8); }
    66% { box-shadow: 0 0 8px rgba(255, 100, 0, 0.55), 0 0 16px rgba(255, 50, 0, 0.35), 0 0 26px rgba(200, 0, 0, 0.18); border-color: rgba(255, 100, 0, 0.7); }
}
.rcf-anim-fire-ring img {
    animation: rcf-anim-fire-ring 2s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(255, 80, 0, 0.6);
    will-change: box-shadow, border-color;
}

/* 12. Ice Frost */
@keyframes rcf-anim-ice-frost {
    0%, 100% { box-shadow: 0 0 6px rgba(180, 230, 255, 0.4), 0 0 14px rgba(200, 240, 255, 0.2); border-color: rgba(180, 230, 255, 0.5); }
    50% { box-shadow: 0 0 12px rgba(180, 230, 255, 0.7), 0 0 24px rgba(255, 255, 255, 0.3); border-color: rgba(200, 240, 255, 0.9); }
}
.rcf-anim-ice-frost img {
    animation: rcf-anim-ice-frost 3s ease-in-out infinite;
    border-radius: 50%;
    border: 2px solid rgba(180, 230, 255, 0.5);
    will-change: box-shadow, border-color;
}

/* 13. Holographic */
@keyframes rcf-anim-holographic {
    0%   { box-shadow: 0 0 10px rgba(255, 100, 200, 0.5), 0 0 20px rgba(100, 200, 255, 0.2); border-color: rgba(255, 100, 200, 0.6); }
    25%  { box-shadow: 0 0 10px rgba(100, 255, 200, 0.5), 0 0 20px rgba(255, 200, 100, 0.2); border-color: rgba(100, 255, 200, 0.6); }
    50%  { box-shadow: 0 0 10px rgba(100, 200, 255, 0.5), 0 0 20px rgba(255, 100, 200, 0.2); border-color: rgba(100, 200, 255, 0.6); }
    75%  { box-shadow: 0 0 10px rgba(255, 200, 100, 0.5), 0 0 20px rgba(100, 255, 200, 0.2); border-color: rgba(255, 200, 100, 0.6); }
    100% { box-shadow: 0 0 10px rgba(255, 100, 200, 0.5), 0 0 20px rgba(100, 200, 255, 0.2); border-color: rgba(255, 100, 200, 0.6); }
}
.rcf-anim-holographic img {
    animation: rcf-anim-holographic 5s linear infinite;
    border-radius: 50%;
    border: 2px solid rgba(255, 100, 200, 0.6);
    will-change: box-shadow, border-color;
}

/* --- BORDER EFFECTS --- */

/* 14. Rainbow Spin */
@keyframes rcf-anim-rainbow-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.rcf-anim-rainbow-spin::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: conic-gradient(#ff0000, #ff8800, #ffff00, #00cc00, #0088ff, #aa00ff, #ff0000);
    animation: rcf-anim-rainbow-spin 3s linear infinite;
    z-index: 1;
    pointer-events: none;
}
.rcf-anim-rainbow-spin img {
    border-radius: 50%;
}

/* 15. Gradient Drift */
@keyframes rcf-anim-gradient-drift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.rcf-anim-gradient-drift::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    background: linear-gradient(90deg, #ff6b6b, #feca57, #48dbfb, #ff9ff3, #ff6b6b);
    background-size: 300% 100%;
    animation: rcf-anim-gradient-drift 4s ease infinite;
    z-index: 1;
    pointer-events: none;
}
.rcf-anim-gradient-drift img {
    border-radius: 50%;
}

/* 16. Dash March */
@keyframes rcf-anim-dash-march {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.rcf-anim-dash-march::before {
    content: '';
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 3px dashed rgba(0, 200, 255, 0.7);
    background: transparent;
    animation: rcf-anim-dash-march 6s linear infinite;
    z-index: 1;
    pointer-events: none;
}
.rcf-anim-dash-march img {
    border-radius: 50%;
}

/* 17. Double Ring */
@keyframes rcf-anim-double-ring-fwd {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes rcf-anim-double-ring-rev {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}
.rcf-anim-double-ring::before,
.rcf-anim-double-ring::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    border: 2px solid transparent;
    z-index: 1;
    pointer-events: none;
}
.rcf-anim-double-ring::before {
    inset: -4px;
    border-top-color: rgba(255, 100, 200, 0.8);
    border-bottom-color: rgba(255, 100, 200, 0.8);
    animation: rcf-anim-double-ring-fwd 2.5s linear infinite;
}
.rcf-anim-double-ring::after {
    inset: -8px;
    border-left-color: rgba(100, 200, 255, 0.8);
    border-right-color: rgba(100, 200, 255, 0.8);
    animation: rcf-anim-double-ring-rev 3.5s linear infinite;
}
.rcf-anim-double-ring img {
    border-radius: 50%;
}

/* --- SPECIAL EFFECTS --- */

/* 18. Glitch */
@keyframes rcf-anim-glitch {
    0%, 90%, 100% { clip-path: inset(0); filter: hue-rotate(0deg); }
    92% { clip-path: inset(20% 0 30% 0); filter: hue-rotate(90deg); transform: translateX(-2px); }
    94% { clip-path: inset(50% 0 10% 0); filter: hue-rotate(180deg); transform: translateX(2px); }
    96% { clip-path: inset(10% 0 60% 0); filter: hue-rotate(270deg); transform: translateX(-1px); }
    98% { clip-path: inset(40% 0 20% 0); filter: hue-rotate(45deg); transform: translateX(1px); }
}
.rcf-anim-glitch img {
    animation: rcf-anim-glitch 4s steps(1) infinite;
    border-radius: 50%;
}

/* 19. Electric Arc */
@keyframes rcf-anim-electric-arc {
    0%, 85%, 100% { box-shadow: 0 0 4px rgba(120, 200, 255, 0.3); border-color: rgba(120, 200, 255, 0.3); }
    87% { box-shadow: 0 0 15px rgba(120, 200, 255, 0.9), 0 0 30px rgba(80, 160, 255, 0.5); border-color: rgba(120, 200, 255, 0.9); }
    89% { box-shadow: 0 0 5px rgba(120, 200, 255, 0.3); border-color: rgba(120, 200, 255, 0.4); }
    91% { box-shadow: 0 0 20px rgba(180, 220, 255, 1), 0 0 40px rgba(120, 180, 255, 0.6); border-color: rgba(180, 220, 255, 1); }
    93% { box-shadow: 0 0 4px rgba(120, 200, 255, 0.3); border-color: rgba(120, 200, 255, 0.3); }
    95% { box-shadow: 0 0 12px rgba(120, 200, 255, 0.7), 0 0 25px rgba(80, 160, 255, 0.4); border-color: rgba(120, 200, 255, 0.8); }
}
.rcf-anim-electric-arc img {
    animation: rcf-anim-electric-arc 3s steps(1) infinite;
    border-radius: 50%;
    border: 2px solid rgba(120, 200, 255, 0.3);
    will-change: box-shadow, border-color;
}

/* 20. Orbit Dot */
@keyframes rcf-anim-orbit-dot {
    0% { transform: rotate(0deg) translateX(calc(50% + 6px)) rotate(0deg); }
    100% { transform: rotate(360deg) translateX(calc(50% + 6px)) rotate(-360deg); }
}
.rcf-anim-orbit-dot::before {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    background: #ffd700;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    margin: -3px 0 0 -3px;
    animation: rcf-anim-orbit-dot 2.5s linear infinite;
    z-index: 3;
    pointer-events: none;
    box-shadow: 0 0 6px rgba(255, 215, 0, 0.8);
}
.rcf-anim-orbit-dot img {
    border-radius: 50%;
}


/* PM online indicator z-index fix */
.rcf-avatar-anim .rcf-online-indicator {
    z-index: 4;
}

/* Post-sidebar animated avatars: remove static border so it doesn't
   flash before animation starts (glow anims set their own border) */
.rcf-post-sidebar .rcf-user-avatar.rcf-avatar-anim img {
    border-color: transparent;
}

/* Reduced motion for post comments (outside .rcf-forum-wrapper) */
@media (prefers-reduced-motion: reduce) {
    .rcf-post-comments .rcf-avatar-anim img,
    .rcf-post-comments .rcf-avatar-anim::before,
    .rcf-post-comments .rcf-avatar-anim::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* ==========================================================================
   Animation Picker UI (Settings Page)
   ========================================================================== */

/* --- Animation Dropdown Picker (Settings Page) --- */
.rcf-anim-dropdown-picker {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 10px;
}

.rcf-anim-live-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

/* Preview avatar — uses rcf-picker-avatar (not rcf-anim-*) to avoid
   collision with the JS animation-class regex that strips rcf-anim-* */
.rcf-picker-avatar {
    width: 80px;
    height: 80px;
    overflow: visible;
    position: relative;
}

.rcf-picker-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.15);
}

.rcf-anim-live-label {
    font-size: 12px;
    color: #8899a6;
    text-align: center;
}

.rcf-anim-select-wrap {
    flex: 1;
    max-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rcf-anim-select {
    width: 100%;
    padding: 8px 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 6px;
    color: #e1e8ed;
    font-size: 14px;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.rcf-anim-select:hover {
    border-color: rgba(255, 255, 255, 0.25);
}

.rcf-anim-select:focus {
    border-color: #ea5210;
    box-shadow: 0 0 0 2px rgba(234, 82, 16, 0.3);
    outline: none;
}

/* Option text must be dark — the native dropdown popup uses a white background
   on most browsers, while the closed <select> uses our dark theme styling. */
.rcf-anim-select option {
    color: #222;
    background: #fff;
}

.rcf-anim-select optgroup {
    color: #555;
    font-weight: 600;
}

.rcf-anim-select option:disabled {
    color: #aaa;
}

.rcf-anim-tier-hint {
    font-size: 12px;
    color: #8899a6;
    margin: 0;
}

.rcf-anim-tier-hint a {
    color: #ea5210;
}

/* 80px preview + 20px gap + 280px select = 380px; wrap before items cramp */
.rcf-anim-dropdown-picker {
    flex-wrap: wrap;
}

@media (max-width: 480px) {
    .rcf-anim-dropdown-picker {
        flex-direction: column;
        align-items: center;
    }
    .rcf-anim-select-wrap {
        max-width: 100%;
        width: 100%;
    }
}

/* ==========================================================================
   Email Change Request (Settings Page)
   ========================================================================== */

.rcf-email-request-pending {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 8px 12px;
    background: rgba(250, 204, 21, 0.08);
    border: 1px solid rgba(250, 204, 21, 0.2);
    border-radius: 6px;
    font-size: 13px;
    color: #fbbf24;
}
.rcf-email-request-pending .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: #fbbf24;
}
.rcf-email-change-toggle {
    margin-top: 6px;
}
.rcf-email-change-form {
    margin-top: 8px;
    padding: 12px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 6px;
}
.rcf-email-change-actions {
    display: flex;
    gap: 8px;
}
.rcf-email-change-status {
    margin-top: 8px;
    font-size: 13px;
    padding: 6px 10px;
    border-radius: 4px;
}
.rcf-email-change-status.rcf-status-success {
    color: #4caf50;
    background: rgba(76, 175, 80, 0.1);
}
.rcf-email-change-status.rcf-status-error {
    color: #f44336;
    background: rgba(244, 67, 54, 0.1);
}
.rcf-btn-xs {
    padding: 4px 10px;
    font-size: 12px;
    line-height: 1.4;
}

/* ==========================================================================
   Avatar Upload UI (Settings Page)
   ========================================================================== */

.rcf-avatar-upload {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 8px;
}

.rcf-avatar-upload-preview {
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid rgba(255, 255, 255, 0.1);
    background: #1a1a2e;
}

.rcf-avatar-upload-preview img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    display: block;
}

.rcf-avatar-upload-controls {
    flex: 1;
    min-width: 0;
    padding-top: 8px;
}

.rcf-avatar-upload-btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.rcf-avatar-upload-btns .rcf-btn-sm {
    font-size: 13px;
    padding: 6px 14px;
    line-height: 1.4;
}

.rcf-avatar-upload-btns .rcf-btn-sm .dashicons {
    font-size: 15px;
    width: 15px;
    height: 15px;
    vertical-align: -2px;
    margin-right: 3px;
}

.rcf-avatar-upload-btns .rcf-btn-danger {
    background: transparent;
    color: #e74c3c;
    border: 1px solid rgba(231, 76, 60, 0.3);
}

.rcf-avatar-upload-btns .rcf-btn-danger:hover {
    background: rgba(231, 76, 60, 0.1);
    border-color: rgba(231, 76, 60, 0.6);
    color: #e74c3c;
}

.rcf-avatar-upload-status {
    margin-top: 10px;
    font-size: 13px;
    padding: 8px 12px;
    border-radius: 6px;
    line-height: 1.4;
}

.rcf-avatar-status-info {
    color: #5dade2;
    background: rgba(93, 173, 226, 0.08);
    border: 1px solid rgba(93, 173, 226, 0.2);
}

.rcf-avatar-status-success {
    color: #2ecc71;
    background: rgba(46, 204, 113, 0.08);
    border: 1px solid rgba(46, 204, 113, 0.2);
}

.rcf-avatar-status-error {
    color: #e74c3c;
    background: rgba(231, 76, 60, 0.08);
    border: 1px solid rgba(231, 76, 60, 0.2);
}

@media (max-width: 480px) {
    .rcf-avatar-upload {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .rcf-avatar-upload-btns {
        justify-content: center;
    }
}

/* Responsive for Tabs */
@media (max-width: 768px) {
    .rcf-threads-tabs {
        flex-wrap: nowrap;
    }

    .rcf-thread-tab {
        padding: 12px 10px;
        font-size: 12px;
        white-space: nowrap;
    }

    .rcf-thread-tab .dashicons {
        display: none;
    }

    .rcf-thread-row {
        flex-wrap: wrap;
    }

    .rcf-thread-stats {
        width: 100%;
        justify-content: flex-start;
        margin-top: 8px;
        padding-left: 52px;
    }

    .rcf-online-member-name {
        display: none;
    }

    .rcf-online-member {
        padding: 4px;
    }
}

/* ========================================
   Breadcrumb
   ======================================== */
.rcf-breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
    font-size: 13px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-breadcrumb a {
    color: var(--rcf-text-muted);
}

.rcf-breadcrumb a:hover {
    color: var(--rcf-primary-light);
}

.rcf-breadcrumb-sep {
    color: var(--rcf-text-muted);
    font-size: 10px;
}

.rcf-breadcrumb-current {
    color: var(--rcf-text);
}

/* ========================================
   Buttons
   ======================================== */
.rcf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: var(--rcf-radius);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all var(--rcf-transition);
}

.rcf-btn-primary {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-btn-primary:hover,
a.rcf-btn-primary:hover {
    background: var(--rcf-primary-light);
    color: #fff;
}

.rcf-btn-secondary {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
    border: 1px solid var(--rcf-border);
}

.rcf-btn-secondary:hover,
a.rcf-btn-secondary:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text-white);
}

.rcf-btn-success {
    background: var(--rcf-success);
    color: #fff;
}

.rcf-btn-success:hover,
a.rcf-btn-success:hover {
    background: #66bb6a;
    color: #fff;
}

.rcf-btn-danger {
    background: var(--rcf-danger);
    color: #fff;
}

.rcf-btn-danger:hover,
a.rcf-btn-danger:hover {
    background: #ef5350;
    color: #fff;
}

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

.rcf-btn-lg {
    padding: 14px 28px;
    font-size: 15px;
}

.rcf-btn-outline {
    background: transparent;
    border: 1px solid var(--rcf-border);
    color: var(--rcf-text-muted);
}

.rcf-btn-outline:hover,
a.rcf-btn-outline:hover {
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
}

/* ========================================
   Forms
   ======================================== */
.rcf-form-group {
    margin-bottom: 20px;
}

.rcf-form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text);
}

.rcf-input,
.rcf-textarea,
.rcf-select,
.rcf-forum-wrapper input[type="text"].rcf-input,
.rcf-forum-wrapper input[type="password"].rcf-input,
.rcf-forum-wrapper input[type="email"].rcf-input,
.rcf-forum-wrapper input[type="url"].rcf-input,
.rcf-forum-wrapper input[type="search"].rcf-input,
.rcf-forum-wrapper input[type="tel"].rcf-input {
    width: 100%;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text);
    font-size: 14px;
    transition: border-color var(--rcf-transition);
}

.rcf-input:focus,
.rcf-textarea:focus,
.rcf-select:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

.rcf-input::placeholder,
.rcf-textarea::placeholder {
    color: var(--rcf-text-muted);
}

.rcf-textarea {
    min-height: 120px;
    resize: vertical;
}

.rcf-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.rcf-field-hint {
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-top: 5px;
}

/* Checkbox & Radio */
.rcf-checkbox,
.rcf-radio {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: var(--rcf-text);
}

.rcf-checkbox input,
.rcf-radio input {
    width: 16px;
    height: 16px;
    accent-color: var(--rcf-primary);
}

/* Password Toggle */
.rcf-password-wrapper {
    position: relative;
}

.rcf-password-wrapper .rcf-input {
    padding-right: 45px;
}

.rcf-password-toggle {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    padding: 5px;
}

.rcf-password-toggle:hover {
    color: var(--rcf-primary);
}

/* ========================================
   Notices/Alerts
   ======================================== */
.rcf-notice {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    border-radius: var(--rcf-radius);
    margin-bottom: 15px;
    font-size: 13px;
    line-height: 1.5;
}

.rcf-notice-icon {
    flex-shrink: 0;
}

.rcf-notice-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

.rcf-notice-error {
    background: rgba(244, 67, 54, 0.15);
    border: 1px solid rgba(244, 67, 54, 0.4);
    color: #ef9a9a;
}

.rcf-notice-error .rcf-notice-icon { color: var(--rcf-danger); }

.rcf-notice-success {
    background: rgba(76, 175, 80, 0.15);
    border: 1px solid rgba(76, 175, 80, 0.4);
    color: #a5d6a7;
}

.rcf-notice-success .rcf-notice-icon { color: var(--rcf-success); }

.rcf-notice-warning {
    background: rgba(255, 152, 0, 0.15);
    border: 1px solid rgba(255, 152, 0, 0.4);
    color: #ffcc80;
}

.rcf-notice-warning .rcf-notice-icon { color: var(--rcf-warning); }

.rcf-notice-info {
    background: rgba(33, 150, 243, 0.15);
    border: 1px solid rgba(33, 150, 243, 0.4);
    color: #90caf9;
}

.rcf-notice-info .rcf-notice-icon { color: var(--rcf-info); }

/* ========================================
   Single Topic/Post View
   ======================================== */
.rcf-topic-header {
    padding: 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

/* Game Info Header - Poster with Metadata */
.rcf-game-info-header {
    display: flex;
    gap: 25px;
    padding: 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-game-poster {
    flex-shrink: 0;
    width: 180px;
}

.rcf-game-poster img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    border: 2px solid var(--rcf-border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.rcf-game-poster-placeholder {
    width: 100%;
    aspect-ratio: 3/4;
    background: var(--rcf-bg-medium);
    border-radius: 8px;
    border: 2px dashed var(--rcf-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-game-poster-placeholder .dashicons {
    font-size: 48px;
    color: var(--rcf-text-muted);
}

.rcf-game-meta {
    flex: 1;
    min-width: 0;
}

.rcf-game-title {
    margin: 0 0 18px 0;
    font-size: 26px;
    font-weight: 700;
    color: var(--rcf-text-white);
    line-height: 1.2;
}

.rcf-game-title a {
    color: var(--rcf-text-white);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rcf-game-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-game-meta-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.rcf-game-meta-item {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.rcf-game-description {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-game-description p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: var(--rcf-text-muted);
}

.rcf-meta-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
}

.rcf-meta-value {
    font-size: 14px;
    color: var(--rcf-text-light);
}

.rcf-meta-value a {
    color: var(--rcf-primary-light);
    text-decoration: none;
}

.rcf-meta-value a:hover {
    color: var(--rcf-primary);
    text-decoration: underline;
}

/* Responsive adjustments for game info header */
@media (max-width: 600px) {
    .rcf-game-info-header {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .rcf-game-poster {
        width: 140px;
    }

    .rcf-game-meta-grid {
        grid-template-columns: 1fr;
    }

    .rcf-game-meta-item {
        align-items: center;
    }
}

.rcf-topic-header-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.rcf-topic-header-title h1 {
    margin: 0;
    font-size: 22px;
    color: var(--rcf-text-white);
}

.rcf-topic-header-meta {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-topic-header-meta a {
    color: var(--rcf-text-muted);
}

.rcf-topic-header-meta a:hover {
    color: var(--rcf-primary-light);
}

/* Posts */
.rcf-posts {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.rcf-post {
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "header header"
        "sidebar content";
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
    position: relative;
}

.rcf-post-sidebar {
    grid-area: sidebar;
    padding: 20px 15px;
    background: var(--rcf-bg-dark);
    text-align: center;
    border-right: 1px solid var(--rcf-border);
}

/* User Card in Post Sidebar */
.rcf-post-sidebar .rcf-user-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: transparent;
    border: none;
    padding: 0;
}

.rcf-post-sidebar .rcf-user-avatar {
    margin-bottom: 12px;
}

.rcf-post-sidebar .rcf-user-avatar img {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    border: 2px solid var(--rcf-border);
    transition: border-color 0.2s ease;
}

.rcf-post-sidebar .rcf-user-avatar img:hover {
    border-color: var(--rcf-primary);
}

.rcf-post-sidebar .rcf-user-name {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 8px;
}

.rcf-post-sidebar .rcf-user-name a {
    color: var(--rcf-text-white);
    text-decoration: none;
}

.rcf-post-sidebar .rcf-user-name a:hover {
    color: var(--rcf-primary-light);
}

.rcf-post-sidebar .rcf-user-rank {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 4px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.rcf-rank-newbie { background: #616161; color: #fff; }
.rcf-rank-member { background: #1976d2; color: #fff; }
.rcf-rank-gamer { background: #7b1fa2; color: #fff; }
.rcf-rank-uploader { background: #388e3c; color: #fff; }
.rcf-rank-elite { background: #f57c00; color: #fff; }
.rcf-rank-staff { background: var(--rcf-primary); color: #fff; }
.rcf-rank-admin { background: #d32f2f; color: #fff; }

/* User Stats in Post Sidebar */
.rcf-post-sidebar .rcf-user-stats {
    display: flex;
    justify-content: center;
    gap: 2px;
    padding-top: 12px;
    border-top: 1px solid var(--rcf-border);
    width: 100%;
}

.rcf-post-sidebar .rcf-user-stat {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 11px;
    color: var(--rcf-text-light);
    text-decoration: none;
    padding: 4px 5px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.rcf-post-sidebar a.rcf-user-stat:hover {
    background: var(--rcf-bg-medium);
    transform: translateY(-1px);
}

.rcf-post-sidebar .rcf-user-stat .dashicons {
    font-size: 13px;
    width: 13px;
    height: 13px;
    color: var(--rcf-text-muted);
    transition: transform 0.2s ease;
}

.rcf-post-sidebar a.rcf-user-stat:hover .dashicons {
    transform: scale(1.15);
}

.rcf-post-sidebar .rcf-user-stat .dashicons-heart {
    color: #e57373;
}

.rcf-post-sidebar a.rcf-user-stat:hover .dashicons-heart {
    color: #ef5350;
}

.rcf-post-sidebar .rcf-user-stat .dashicons-star-filled {
    color: #ffd54f;
}

.rcf-post-sidebar a.rcf-user-stat:hover .dashicons-star-filled {
    color: #ffca28;
}

.rcf-post-sidebar .rcf-user-stat .dashicons-format-chat {
    color: #64b5f6;
}

.rcf-post-sidebar a.rcf-user-stat:hover .dashicons-format-chat {
    color: #42a5f5;
}

.rcf-post-sidebar .rcf-stat-count {
    font-weight: 600;
}

/* Like button in user stats */
.rcf-post-sidebar button.rcf-user-stat {
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
}

.rcf-post-sidebar .rcf-stat-like {
    position: relative;
}

.rcf-post-sidebar .rcf-stat-like:not(.rcf-stat-own):hover {
    background: rgba(229, 115, 115, 0.15);
}

.rcf-post-sidebar .rcf-stat-like.rcf-liked {
    background: rgba(229, 115, 115, 0.2);
}

.rcf-post-sidebar .rcf-stat-like.rcf-liked .dashicons-heart {
    color: #ef5350;
    animation: rcf-heart-pulse 0.3s ease;
}

/* Reputation button in user stats */
.rcf-post-sidebar .rcf-stat-rep:not(.rcf-stat-own):not(.rcf-rep-given):hover {
    background: rgba(255, 213, 79, 0.15);
}

.rcf-post-sidebar .rcf-stat-rep.rcf-rep-given {
    background: rgba(255, 213, 79, 0.2);
    cursor: default;
}

.rcf-post-sidebar .rcf-stat-rep.rcf-rep-given .dashicons-star-filled {
    color: #ffc107;
    animation: rcf-star-pulse 0.3s ease;
}

@keyframes rcf-star-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

.rcf-post-sidebar .rcf-stat-own {
    cursor: default;
    opacity: 0.7;
}

/* Sidebar Action Buttons */
.rcf-sidebar-actions {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-sidebar-like-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 10px 15px;
    background: var(--rcf-bg-medium);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}

.rcf-sidebar-like-btn:hover {
    background: rgba(229, 115, 115, 0.15);
    border-color: #e57373;
    color: #e57373;
}

.rcf-sidebar-like-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #e57373;
    transition: transform 0.2s ease;
}

.rcf-sidebar-like-btn:hover .dashicons {
    transform: scale(1.2);
}

.rcf-sidebar-like-btn.rcf-liked {
    background: rgba(229, 115, 115, 0.2);
    border-color: #e57373;
    color: #e57373;
}

.rcf-sidebar-like-btn.rcf-liked .dashicons {
    color: #ef5350;
    animation: rcf-heart-pulse 0.3s ease;
}

.rcf-sidebar-like-btn.rcf-like-own {
    cursor: default;
    opacity: 0.7;
}

.rcf-sidebar-like-btn.rcf-like-own:hover {
    background: var(--rcf-bg-medium);
    border-color: var(--rcf-border);
    color: var(--rcf-text-light);
}

.rcf-sidebar-like-btn .rcf-like-count {
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}

@keyframes rcf-heart-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
}

/* Legacy post user styles (fallback) */
.rcf-post-user-avatar {
    margin-bottom: 10px;
}

.rcf-post-user-avatar img {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    border: 3px solid var(--rcf-border);
}

.rcf-post-user-name {
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 8px;
}

.rcf-post-user-name a {
    color: var(--rcf-text-white);
}

.rcf-post-user-rank {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 12px;
}

.rcf-post-user-stats {
    font-size: 13px;
    color: var(--rcf-text-light);
}

.rcf-post-user-stats span {
    display: block;
    margin-bottom: 5px;
}

.rcf-post-main {
    display: flex;
    flex-direction: column;
}

.rcf-post-header {
    grid-area: header;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 8px 20px;
    background: var(--rcf-bg-medium);
    border-bottom: 1px solid var(--rcf-border);
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-post-anchor {
    color: var(--rcf-text-muted);
    text-decoration: none;
    font-weight: 500;
}

.rcf-post-anchor:hover {
    color: var(--rcf-primary-light);
}

.rcf-post-date {
    color: var(--rcf-text-muted);
}

.rcf-edited {
    color: var(--rcf-text-muted);
    font-style: italic;
    font-size: 12px;
}

.rcf-post-number {
    color: var(--rcf-text-muted);
}

.rcf-post-number:hover {
    color: var(--rcf-primary-light);
}

.rcf-post-content {
    grid-area: content;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.rcf-post-body {
    flex: 1;
    padding: 20px 25px;
    font-size: 14.5px;
    line-height: 1.7;
    color: var(--rcf-text);
}

.rcf-post-body p {
    margin-bottom: 15px;
}

.rcf-post-body p:last-child {
    margin-bottom: 0;
}

.rcf-post-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--rcf-radius);
}

/* Legacy support */
.rcf-post-content p {
    margin-bottom: 15px;
}

.rcf-post-content p:last-child {
    margin-bottom: 0;
}

.rcf-post-content blockquote {
    margin: 15px 0;
    padding: 15px;
    background: rgba(255, 255, 255, 0.03);
    border-left: 3px solid rgba(255, 255, 255, 0.15);
    border-radius: 0 var(--rcf-radius) var(--rcf-radius) 0;
}

.rcf-post-content code {
    background: var(--rcf-bg-medium);
    padding: 2px 6px;
    border-radius: 3px;
    font-family: monospace;
}

.rcf-post-content pre {
    background: var(--rcf-bg-medium);
    padding: 15px;
    border-radius: var(--rcf-radius);
    overflow-x: auto;
}

.rcf-post-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 20px;
    background: transparent;
    border-top: 1px solid var(--rcf-border);
}

.rcf-post-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 8px;
}

.rcf-actions-secondary {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rcf-actions-primary {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

/* Text-only action links (secondary actions) */
.rcf-action-text {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 10px;
    background: none;
    border: none;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    font-size: 12px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.15s ease;
    font-family: inherit;
}

.rcf-action-text:hover {
    color: var(--rcf-text-light);
    background: rgba(255, 255, 255, 0.05);
}

.rcf-action-text .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Delete action — red on hover */
.rcf-action-delete:hover {
    color: var(--rcf-danger);
    background: rgba(244, 67, 54, 0.1);
}

/* Report action — orange on hover */
.rcf-action-report:hover {
    color: var(--rcf-warning);
    background: rgba(255, 152, 0, 0.1);
}

/* Reply CTA — standalone bordered button */
.rcf-reply-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    background: transparent;
    border: 1px solid var(--rcf-info);
    border-radius: var(--rcf-radius);
    color: var(--rcf-info);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: all var(--rcf-transition);
    font-family: inherit;
}

.rcf-reply-cta:hover {
    background: rgba(33, 150, 243, 0.12);
    border-color: #42a5f5;
    color: #42a5f5;
}

.rcf-reply-cta .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Primary text links (Message, Quote) — brighter than secondary */
.rcf-actions-primary .rcf-action-text {
    color: var(--rcf-text-light);
}

.rcf-actions-primary .rcf-action-text:hover {
    color: var(--rcf-text-white);
    background: rgba(255, 255, 255, 0.07);
}

/* Action Links */
.rcf-action-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    text-decoration: none;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-action-link:hover {
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
    background: var(--rcf-primary-bg);
}

.rcf-action-link .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Generic action button */
.rcf-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-action-btn:hover {
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
}

.rcf-action-btn.rcf-liked {
    border-color: var(--rcf-danger);
    color: var(--rcf-danger);
}

/* Message button in post actions */
.rcf-message-btn {
    color: var(--rcf-text-muted);
    transition: color var(--rcf-transition);
}

.rcf-message-btn:hover {
    color: var(--rcf-info);
}

.rcf-message-btn .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Reply Form */
.rcf-reply-form {
    display: grid;
    grid-template-columns: 60px 1fr;
    gap: 15px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    padding: 20px;
    margin-top: 20px;
}

.rcf-reply-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--rcf-border);
}

.rcf-reply-editor {
    min-width: 0;
}

.rcf-reply-form h3,
.rcf-reply-form-title {
    display: none;
}

/* Replying to indicator */
.rcf-replying-to {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: rgba(100, 181, 246, 0.1);
    border: 1px solid rgba(100, 181, 246, 0.3);
    border-radius: var(--rcf-radius);
    margin-bottom: 15px;
}

.rcf-replying-label {
    font-size: 14px;
    color: #64b5f6;
}

.rcf-replying-label strong {
    color: var(--rcf-text-white);
}

.rcf-cancel-reply {
    background: none;
    border: none;
    color: #64b5f6;
    font-size: 20px;
    cursor: pointer;
    padding: 0 5px;
    line-height: 1;
    transition: color 0.2s ease;
}

.rcf-cancel-reply:hover {
    color: var(--rcf-danger);
}

/* Reply to button style — now handled by .rcf-reply-cta */
.rcf-reply-to-btn .dashicons {
    color: inherit;
}

/* Nested/Threaded Replies */
.rcf-post-wrapper {
    margin-bottom: 20px;
}

.rcf-nested-replies {
    margin-left: 40px;
    border-left: 3px solid var(--rcf-border);
    padding-left: 20px;
    margin-top: 15px;
}

.rcf-nested-reply {
    position: relative;
}

.rcf-nested-reply::before {
    content: '';
    position: absolute;
    left: -23px;
    top: 40px;
    width: 20px;
    height: 2px;
    background: var(--rcf-border);
}

.rcf-depth-1 .rcf-post {
    background: var(--rcf-bg-dark);
}

.rcf-depth-2 .rcf-post {
    background: var(--rcf-bg-medium);
}

.rcf-depth-3 .rcf-post {
    background: rgba(255, 255, 255, 0.03);
}

/* Nested replies have smaller sidebar */
.rcf-nested-reply .rcf-post {
    grid-template-columns: 120px 1fr;
    grid-template-areas:
        "header header"
        "sidebar content";
}

.rcf-nested-reply .rcf-post-sidebar .rcf-user-avatar img {
    width: 48px;
    height: 48px;
}

.rcf-nested-reply .rcf-post-sidebar .rcf-user-name {
    font-size: 13px;
}

.rcf-nested-reply .rcf-post-sidebar .rcf-user-rank {
    font-size: 10px;
    padding: 3px 8px;
}

/* Reply indicator on nested posts */
.rcf-nested-reply .rcf-post::before {
    content: 'Reply';
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 10px;
    text-transform: uppercase;
    color: #64b5f6;
    background: rgba(100, 181, 246, 0.1);
    padding: 2px 8px;
    border-radius: 3px;
}

/* Responsive nested replies */
@media (max-width: 768px) {
    .rcf-nested-replies {
        margin-left: 15px;
        padding-left: 10px;
    }

    .rcf-nested-reply .rcf-post {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "sidebar"
            "content";
    }

    .rcf-nested-reply .rcf-post-solution {
        grid-template-areas:
            "banner"
            "header"
            "sidebar"
            "content";
    }

    .rcf-nested-reply::before {
        display: none;
    }
}

/* Solution Banner & Post */
.rcf-post-solution {
    grid-template-rows: auto auto 1fr;
    grid-template-areas:
        "banner  banner"
        "header  header"
        "sidebar content";
    border-color: rgba(76, 175, 80, 0.35);
}

.rcf-solution-banner {
    grid-area: banner;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 20px;
    background: rgba(76, 175, 80, 0.12);
    border-bottom: 1px solid rgba(76, 175, 80, 0.25);
    color: #a5d6a7;
    font-size: 13px;
    font-weight: 600;
}

.rcf-solution-banner .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--rcf-success);
}

.rcf-post-solution .rcf-post-header {
    background: rgba(76, 175, 80, 0.06);
}

/* Solved badge in topic title */
.rcf-solved-badge {
    display: inline-block;
    padding: 2px 10px;
    background: var(--rcf-success);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    border-radius: var(--rcf-radius);
    text-transform: uppercase;
    vertical-align: middle;
    margin-left: 8px;
}

/* ========================================
   Search Page
   ======================================== */
.rcf-search-form {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 25px;
}

.rcf-search-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--rcf-border);
    padding-bottom: 15px;
}

.rcf-search-row {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 15px;
    align-items: center;
    margin-bottom: 15px;
}

.rcf-search-label {
    font-size: 13px;
    color: var(--rcf-text-muted);
    text-align: right;
}

.rcf-search-input {
    flex: 1;
}

.rcf-search-checkboxes {
    display: flex;
    gap: 20px;
    margin-top: 8px;
}

.rcf-search-actions {
    display: flex;
    justify-content: center;
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--rcf-border);
}

/* ========================================
   User Profile
   ======================================== */
.rcf-profile-layout {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 20px;
}

.rcf-profile-sidebar {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rcf-profile-nav {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-profile-nav-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    color: var(--rcf-text-muted);
    font-size: 13px;
    border-bottom: 1px solid var(--rcf-border);
    transition: all var(--rcf-transition);
}

.rcf-profile-nav-item:last-child {
    border-bottom: none;
}

.rcf-profile-nav-item:hover {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text);
}

.rcf-profile-nav-item.rcf-nav-active {
    background: var(--rcf-primary-bg);
    color: var(--rcf-primary);
}

.rcf-profile-nav-item .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-profile-nav-section {
    padding: 10px 15px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    background: var(--rcf-bg-dark);
    letter-spacing: 0.5px;
}

.rcf-profile-content {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 20px;
}

.rcf-profile-header {
    display: flex;
    align-items: center;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rcf-border);
    margin-bottom: 20px;
}

.rcf-profile-avatar img {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid var(--rcf-border);
}

.rcf-profile-info h1 {
    margin: 0 0 5px;
    font-size: 24px;
    color: var(--rcf-text-white);
}

.rcf-profile-title {
    font-size: 14px;
    color: var(--rcf-text-muted);
    margin-bottom: 10px;
}

.rcf-profile-stats {
    display: flex;
    gap: 20px;
    font-size: 13px;
}

.rcf-profile-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.rcf-profile-stat-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--rcf-primary);
}

.rcf-profile-stat-label {
    font-size: 11px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
}

/* ========================================
   Auth Pages (Login/Register)
   ======================================== */
.rcf-auth-card {
    max-width: 900px;
    margin: 40px auto;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    padding: 40px;
}

.rcf-auth-card-narrow {
    max-width: 500px;
}

.rcf-auth-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-auth-header h1 {
    margin: 0 0 10px;
    font-size: 28px;
    color: var(--rcf-text-white);
}

.rcf-auth-header p {
    margin: 0;
    color: var(--rcf-text-muted);
    font-size: 15px;
}

.rcf-auth-content {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 40px;
}

.rcf-auth-benefits {
    background: var(--rcf-primary-bg);
    border: 1px solid rgba(198, 40, 40, 0.3);
    border-radius: var(--rcf-radius);
    padding: 20px;
}

.rcf-auth-benefits h3 {
    margin: 0 0 15px;
    font-size: 16px;
    color: var(--rcf-primary-light);
}

.rcf-benefits-grid {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rcf-benefit-item {
    display: flex;
    gap: 10px;
}

.rcf-benefit-item .dashicons {
    color: var(--rcf-primary);
    flex-shrink: 0;
}

.rcf-benefit-item strong {
    display: block;
    color: var(--rcf-text-white);
    font-size: 13px;
    margin-bottom: 2px;
}

.rcf-benefit-item span {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Social Login */
.rcf-social-login {
    margin-bottom: 25px;
}

.rcf-social-label {
    font-size: 12px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
    margin-bottom: 12px;
}

.rcf-social-buttons {
    display: flex;
    gap: 10px;
}

.rcf-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex: 1;
    padding: 12px 20px;
    border-radius: var(--rcf-radius);
    font-weight: 600;
    font-size: 14px;
    transition: all var(--rcf-transition);
}

.rcf-google-btn {
    background: #fff;
    color: #333;
}

.rcf-google-btn:hover {
    background: #f5f5f5;
    color: #333;
}

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

.rcf-discord-btn:hover {
    background: #4752c4;
    color: #fff;
}

.rcf-facebook-btn {
    background: #1877F2;
    color: #fff;
}

.rcf-facebook-btn:hover {
    background: #1466D8;
    color: #fff;
}

.rcf-twitch-btn {
    background: #9146FF;
    color: #fff;
}

.rcf-twitch-btn:hover {
    background: #7B2FF0;
    color: #fff;
}

.rcf-microsoft-btn {
    background: #2F2F2F;
    color: #fff;
}

.rcf-microsoft-btn:hover {
    background: #1a1a1a;
    color: #fff;
}

.rcf-login-divider {
    text-align: center;
    position: relative;
    margin: 25px 0;
}

.rcf-login-divider::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: var(--rcf-border);
}

.rcf-login-divider span {
    position: relative;
    padding: 0 15px;
    background: var(--rcf-bg-darker);
    color: var(--rcf-text-muted);
    font-size: 12px;
    text-transform: uppercase;
}

.rcf-auth-links {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-auth-links a {
    color: var(--rcf-primary);
}

.rcf-auth-links a:hover {
    color: var(--rcf-primary-light);
}

.rcf-separator {
    margin: 0 10px;
    color: var(--rcf-border);
}

.rcf-register-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rcf-register-link {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-register-link a {
    color: var(--rcf-primary);
}

.rcf-register-link a:hover {
    color: var(--rcf-primary-light);
}

.rcf-form-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 20px;
}

.rcf-form-actions-center {
    justify-content: center;
}

.rcf-remember-me {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-remember-me input {
    width: 16px;
    height: 16px;
    accent-color: var(--rcf-primary);
}

.rcf-remember-me label {
    font-size: 13px;
    color: var(--rcf-text-muted);
    cursor: pointer;
    margin: 0;
}

/* Password Requirements Checklist */
.rcf-password-requirements {
    margin-top: 10px;
    padding: 12px;
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
}

.rcf-password-requirements small {
    color: var(--rcf-text-muted);
    font-size: 12px;
    display: block;
    margin-bottom: 8px;
}

.rcf-password-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

.rcf-password-checklist li {
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
    transition: color 0.2s ease;
}

.rcf-password-checklist li .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-password-checklist li.rcf-req-invalid {
    color: var(--rcf-text-muted);
}

.rcf-password-checklist li.rcf-req-invalid .dashicons {
    color: var(--rcf-danger);
}

.rcf-password-checklist li.rcf-req-valid {
    color: var(--rcf-success);
}

.rcf-password-checklist li.rcf-req-valid .dashicons {
    color: var(--rcf-success);
}

/* Resend Verification Form */
.rcf-resend-verification-form {
    display: inline-block;
}

@media (max-width: 575.98px) {
    .rcf-password-checklist {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   Pagination
   ======================================== */
.rcf-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 20px;
}

.rcf-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 12px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text);
    font-size: 13px;
    transition: all var(--rcf-transition);
}

.rcf-page-link:hover {
    background: var(--rcf-bg-medium);
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
}

.rcf-page-link.rcf-page-active {
    background: var(--rcf-primary);
    border-color: var(--rcf-primary);
    color: #fff;
}

.rcf-page-dots {
    color: var(--rcf-text-muted);
    padding: 0 5px;
}

/* ========================================
   Empty States
   ======================================== */
.rcf-empty-state {
    text-align: center;
    padding: 60px 20px;
    color: var(--rcf-text-muted);
}

.rcf-empty-state .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    margin-bottom: 15px;
    opacity: 0.5;
}

.rcf-empty-state h3 {
    margin: 0 0 10px;
    color: var(--rcf-text);
}

.rcf-empty-state p {
    margin: 0;
}

/* ========================================
   Footer
   ======================================== */
.rcf-footer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    padding: 30px 20px;
    background: var(--rcf-bg-dark);
    border-top: 1px solid var(--rcf-border);
    margin-top: 30px;
}

.rcf-footer-section h4 {
    margin: 0 0 15px;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text-white);
    text-transform: uppercase;
}

.rcf-footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rcf-footer-links li {
    margin-bottom: 8px;
}

.rcf-footer-links a {
    color: var(--rcf-text-muted);
    font-size: 13px;
}

.rcf-footer-links a:hover {
    color: var(--rcf-primary-light);
}

.rcf-footer-stats {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-footer-stats p {
    margin: 0 0 5px;
}

.rcf-footer-copyright {
    grid-column: 1 / -1;
    text-align: center;
    padding-top: 20px;
    border-top: 1px solid var(--rcf-border);
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* ========================================
   Responsive
   ======================================== */
@media (max-width: 1200px) {
    .rcf-main-layout {
        grid-template-columns: 1fr;
    }

    .rcf-sidebar {
        display: none;
    }
}

@media (max-width: 992px) {
    .rcf-forum-row {
        grid-template-columns: 42px 1fr;
    }

    .rcf-forum-stats,
    .rcf-forum-last-activity {
        display: none;
    }

    .rcf-topic-list-header {
        display: none;
    }

    .rcf-topic-row {
        grid-template-columns: 42px 1fr;
    }

    .rcf-topic-stats,
    .rcf-topic-activity {
        display: none;
    }

    .rcf-topic-actions-cell {
        position: absolute;
        top: 8px;
        right: 8px;
    }

    .rcf-topic-actions-cell .rcf-bookmark-btn,
    .rcf-topic-actions-cell .rcf-watch-btn {
        display: none;
    }

    .rcf-topic-row {
        position: relative;
    }

    .rcf-topic-avatar img {
        width: 42px;
        height: 42px;
    }

    .rcf-post {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "sidebar"
            "content";
    }

    .rcf-post-solution {
        grid-template-areas:
            "banner"
            "header"
            "sidebar"
            "content";
    }

    .rcf-post-sidebar {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 15px;
        text-align: left;
        border-right: none;
        border-bottom: 1px solid var(--rcf-border);
    }

    .rcf-post-user-avatar img {
        width: 50px;
        height: 50px;
    }

    .rcf-auth-content {
        grid-template-columns: 1fr;
    }

    .rcf-profile-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .rcf-main-layout {
        padding: 10px;
    }

    .rcf-forum-nav {
        flex-wrap: wrap;
        gap: 10px;
    }

    .rcf-nav-menu {
        order: 3;
        width: 100%;
        justify-content: center;
    }

    .rcf-nav-link .rcf-nav-text {
        display: none;
    }

    .rcf-auth-card {
        margin: 20px 10px;
        padding: 25px;
    }

    .rcf-social-buttons {
        flex-direction: column;
    }

    .rcf-footer {
        grid-template-columns: 1fr 1fr;
    }

    /* Post/Reply responsive */
    .rcf-post {
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "sidebar"
            "content";
    }

    .rcf-post-solution {
        grid-template-areas:
            "banner"
            "header"
            "sidebar"
            "content";
    }

    .rcf-post-sidebar {
        padding: 12px 15px;
        border-right: none;
        border-bottom: 1px solid var(--rcf-border);
    }

    .rcf-post-sidebar .rcf-user-card {
        flex-direction: row;
        gap: 15px;
        text-align: left;
    }

    .rcf-post-sidebar .rcf-user-avatar img {
        width: 48px;
        height: 48px;
    }

    .rcf-post-sidebar .rcf-user-stats {
        justify-content: flex-start;
        border-top: none;
        padding-top: 8px;
    }

    .rcf-post-body {
        padding: 15px;
    }

    .rcf-post-footer {
        padding: 8px 15px;
    }

    .rcf-post-actions {
        gap: 6px;
    }

    /* Secondary actions: icon-only on mobile */
    .rcf-actions-secondary .rcf-action-text {
        font-size: 0;
        padding: 5px;
    }

    .rcf-actions-secondary .rcf-action-text .dashicons {
        font-size: 16px;
        width: 16px;
        height: 16px;
    }

    .rcf-action-text {
        padding: 5px 8px;
        font-size: 12px;
    }

    .rcf-reply-cta {
        padding: 5px 10px;
        font-size: 12px;
    }

    /* Reply form: hide avatar, single column */
    .rcf-reply-form {
        grid-template-columns: 1fr;
    }

    .rcf-reply-avatar {
        display: none;
    }
}

@media (max-width: 576px) {
    .rcf-category-header {
        padding: 10px 12px;
    }

    .rcf-forum-row {
        padding: 10px 12px;
    }

    .rcf-topic-row {
        padding: 10px 12px;
    }

    .rcf-topic-avatar {
        display: none;
    }

    .rcf-form-row {
        grid-template-columns: 1fr;
    }

    .rcf-footer {
        grid-template-columns: 1fr;
    }

    .rcf-search-row {
        grid-template-columns: 1fr;
    }

    .rcf-search-label {
        text-align: left;
    }
}

/* ========================================
   Enhanced Profile Page
   ======================================== */
.rcf-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 25px;
    padding: 25px;
    background: linear-gradient(135deg, var(--rcf-bg-darker) 0%, var(--rcf-bg-dark) 100%);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    margin-bottom: 20px;
}

.rcf-profile-avatar {
    flex-shrink: 0;
}

.rcf-profile-avatar img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    border: 4px solid var(--rcf-primary);
    box-shadow: 0 0 20px rgba(198, 40, 40, 0.3);
}

.rcf-profile-info {
    flex: 1;
}

.rcf-profile-name {
    margin: 0 0 8px;
    font-size: 28px;
    font-weight: 700;
    color: var(--rcf-text-white);
}

.rcf-profile-badges {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.rcf-profile-rank {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-supporter-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
}

.rcf-supporter-badge .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-profile-meta {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-profile-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

.rcf-profile-stats {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
    padding: 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-profile-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
}

.rcf-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--rcf-primary);
    margin-bottom: 5px;
}

.rcf-stat-label {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    letter-spacing: 0.5px;
}

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

.rcf-profile-content-full {
    grid-template-columns: 1fr;
}

.rcf-profile-content > .rcf-game-requests-section {
    grid-column: 1 / -1;
}

.rcf-profile-section {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 20px;
}

.rcf-profile-section h2 {
    margin: 0 0 15px;
    font-size: 16px;
    color: var(--rcf-text-white);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-section-desc {
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-bottom: 15px;
}

.rcf-activity-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rcf-activity-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-activity-list li:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.rcf-activity-list li a {
    display: block;
    font-size: 14px;
    margin-bottom: 4px;
}

.rcf-activity-list li a:hover {
    color: var(--rcf-primary);
}

.rcf-activity-meta {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-empty {
    color: var(--rcf-text-muted);
    font-style: italic;
    padding: 15px 0;
}

/* Profile Tabs Navigation */
.rcf-profile-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    background: var(--rcf-bg-darker);
    padding: 8px;
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow-x: auto;
}

.rcf-profile-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    color: var(--rcf-text-muted);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--rcf-radius);
    transition: all 0.2s ease;
    white-space: nowrap;
}

.rcf-profile-tab:hover {
    color: var(--rcf-text-white);
    background: var(--rcf-bg-medium);
}

.rcf-profile-tab.active {
    color: var(--rcf-text-white);
    background: var(--rcf-primary);
}

.rcf-profile-tab .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-tab-count {
    background: rgba(255, 255, 255, 0.15);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 600;
}

.rcf-profile-tab.active .rcf-tab-count {
    background: rgba(255, 255, 255, 0.25);
}

/* Likes Summary Section */
.rcf-likes-summary {
    text-align: center;
    padding: 30px 20px;
}

.rcf-likes-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 15px;
}

.rcf-likes-stat .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #e57373;
}

.rcf-likes-count {
    font-size: 36px;
    font-weight: 700;
    color: var(--rcf-text-white);
}

.rcf-likes-label {
    font-size: 14px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rcf-likes-desc {
    color: var(--rcf-text-muted);
    font-size: 14px;
    margin: 0;
}

/* Reputation Log Section */
.rcf-reputation-log {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.rcf-rep-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    border-left: 4px solid;
}

.rcf-rep-positive {
    border-left-color: var(--rcf-success);
}

.rcf-rep-negative {
    border-left-color: var(--rcf-danger);
}

.rcf-rep-points {
    font-size: 16px;
    font-weight: 700;
    min-width: 50px;
}

.rcf-rep-positive .rcf-rep-points {
    color: var(--rcf-success);
}

.rcf-rep-negative .rcf-rep-points {
    color: var(--rcf-danger);
}

.rcf-rep-reason {
    flex: 1;
    font-size: 14px;
    color: var(--rcf-text-light);
}

.rcf-rep-date {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Sessions Section */
.rcf-sessions-section .rcf-session-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
}

.rcf-session-current {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--rcf-success);
}

.rcf-session-current .dashicons {
    font-size: 20px;
}

/* ========================================
   Profile: Game Requests Section
   ======================================== */
.rcf-game-requests-section {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, rgba(139, 92, 246, 0.05) 100%);
    border: 1px solid rgba(59, 130, 246, 0.15);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
}

.rcf-game-requests-section h2 {
    margin-top: 0;
    margin-bottom: 15px;
    font-size: 18px;
}

.rcf-gr-profile-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 8px;
    margin-bottom: 16px;
    font-size: 13px;
}

.rcf-gr-profile-vip {
    background: linear-gradient(135deg, rgba(251, 191, 36, 0.15) 0%, rgba(245, 158, 11, 0.1) 100%);
    border: 1px solid rgba(251, 191, 36, 0.25);
    color: #fcd34d;
}

.rcf-gr-profile-community {
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.1) 0%, rgba(96, 165, 250, 0.1) 100%);
    border: 1px solid rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

.rcf-gr-profile-badge {
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-gr-profile-vip .rcf-gr-profile-badge {
    background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
    color: #1c1917;
}

.rcf-gr-profile-community .rcf-gr-profile-badge {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #fff;
}

.rcf-gr-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 16px;
}

.rcf-gr-stat-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 8px;
}

.rcf-gr-stat-icon {
    font-size: 24px;
    line-height: 1;
}

.rcf-gr-stat-info {
    display: flex;
    flex-direction: column;
}

.rcf-gr-stat-value {
    font-size: 20px;
    font-weight: 700;
    color: #f1f5f9;
    line-height: 1.2;
}

.rcf-gr-stat-label {
    font-size: 11px;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.rcf-gr-cooldown-active {
    color: #fbbf24 !important;
}

.rcf-gr-cooldown-ready {
    color: #4ade80 !important;
}

.rcf-gr-profile-info-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.rcf-gr-info-tag {
    display: inline-block;
    padding: 6px 12px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 6px;
    font-size: 12px;
    color: #cbd5e1;
}

.rcf-gr-upgrade-link {
    margin-left: auto;
    color: #fbbf24;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
}

.rcf-gr-upgrade-link:hover {
    color: #fcd34d;
    text-decoration: underline;
}

.rcf-gr-profile-actions {
    display: flex;
    gap: 10px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.rcf-btn-disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* ========================================
   Profile: Subscription Tab
   ======================================== */
.rcf-subscription-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 25px;
}

.rcf-stat-card {
    display: flex;
    align-items: center;
    background: var(--rcf-surface);
    border: 1px solid var(--rcf-surface-border);
    border-radius: var(--rcf-radius-lg);
    padding: 20px;
    gap: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rcf-stat-card:hover {
    border-color: var(--rcf-gold);
    box-shadow: 0 0 20px var(--rcf-gold-glow);
}

.rcf-stat-card .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
    color: var(--rcf-gold);
}

.rcf-stat-content {
    display: flex;
    flex-direction: column;
}

.rcf-stat-content .rcf-stat-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--rcf-gold);
}

.rcf-stat-content .rcf-stat-label {
    font-size: 11px;
    color: var(--rcf-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-subscription-card {
    background: var(--rcf-surface);
    border: 1px solid var(--rcf-surface-border);
    border-radius: var(--rcf-radius-xl);
    padding: 25px;
    position: relative;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.rcf-subscription-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rcf-gold), var(--rcf-gold-light), var(--rcf-gold));
    border-radius: var(--rcf-radius-xl) var(--rcf-radius-xl) 0 0;
}

.rcf-subscription-card:hover {
    border-color: var(--rcf-gold);
    box-shadow: 0 0 30px var(--rcf-gold-glow);
}

.rcf-subscription-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.rcf-subscription-tier h3 {
    margin: 0 0 8px 0;
    font-size: 18px;
}

.rcf-tier-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 15px;
    border-radius: 20px;
    color: white;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-details-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.rcf-detail-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px;
    background: var(--rcf-bg-darkest);
    border-radius: 10px;
    transition: background 0.2s ease;
}

.rcf-detail-item:hover {
    background: var(--rcf-surface-hover);
}

.rcf-detail-icon {
    color: var(--rcf-gold);
    margin-top: 2px;
}

.rcf-detail-label {
    display: block;
    font-size: 11px;
    color: var(--rcf-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-detail-value {
    display: block;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-subscription-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--rcf-surface-border);
}

.rcf-btn-danger-outline {
    background: transparent;
    border: 1px solid #dc3545;
    color: #dc3545;
    border-radius: var(--rcf-radius-lg);
    transition: background 0.2s ease, color 0.2s ease;
}

.rcf-btn-danger-outline:hover {
    background: #dc3545;
    color: white;
}

.rcf-benefits-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 10px;
}

.rcf-benefit-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    background: var(--rcf-gold-bg);
    border: 1px solid var(--rcf-gold-border);
    border-radius: 10px;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.rcf-benefit-card:hover {
    border-color: var(--rcf-gold);
    background: rgba(255, 215, 0, 0.12);
}

.rcf-benefit-card .dashicons {
    color: var(--rcf-gold);
}

.rcf-empty-state {
    text-align: center;
    padding: 60px 20px;
}

.rcf-empty-state .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: var(--rcf-gold);
    margin-bottom: 15px;
}

.rcf-empty-state h3 {
    margin: 0 0 10px 0;
}

.rcf-empty-state p {
    color: var(--rcf-text-secondary);
    margin-bottom: 20px;
}

/* Subscription-scoped: gold CTA in empty state */
.rcf-subscription-stats ~ .rcf-profile-section .rcf-empty-state .rcf-btn-primary,
.rcf-subscription-actions .rcf-btn-primary {
    background: linear-gradient(135deg, var(--rcf-gold) 0%, var(--rcf-gold-dark) 100%);
    color: #000;
    font-weight: 600;
    border: none;
    border-radius: var(--rcf-radius-lg);
    box-shadow: 0 4px 15px rgba(255, 215, 0, 0.2);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-empty-state .rcf-btn-primary:hover,
.rcf-subscription-actions .rcf-btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 25px var(--rcf-gold-glow-strong);
}

.rcf-transactions-table {
    overflow-x: auto;
}

.rcf-data-table {
    width: 100%;
    border-collapse: collapse;
}

.rcf-data-table th,
.rcf-data-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-data-table th {
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
}

/* Subscription-scoped table styles */
.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table {
    width: 100%;
    border-collapse: collapse;
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table th,
.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table td {
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--rcf-surface-border);
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table th {
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    color: var(--rcf-gold);
    letter-spacing: 0.5px;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.06) 0%, transparent 100%);
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table tbody tr {
    transition: background 0.15s ease;
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table tbody tr:hover {
    background: var(--rcf-surface-hover);
}

.rcf-tx-type {
    display: block;
    font-size: 12px;
    color: var(--rcf-text-secondary);
}

.rcf-tab-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    margin-left: 5px;
}

.rcf-badge-success {
    background: #28a745;
    color: white;
}

/* Auto-renewal toggle */
.rcf-auto-renewal-setting {
    margin-top: 15px;
    padding: 15px;
    background: var(--rcf-bg-darkest);
    border: 1px solid var(--rcf-surface-border);
    border-radius: 10px;
}

.rcf-renewal-toggle {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rcf-toggle-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 26px;
}

.rcf-toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rcf-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--rcf-border);
    transition: background-color 0.3s ease;
    border-radius: 26px;
}

.rcf-toggle-slider:before {
    position: absolute;
    content: "";
    height: 20px;
    width: 20px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: transform 0.3s ease;
    border-radius: 50%;
}

.rcf-toggle-switch input:checked + .rcf-toggle-slider {
    background-color: var(--rcf-gold);
}

.rcf-toggle-switch input:checked + .rcf-toggle-slider:before {
    transform: translateX(24px);
}

.rcf-renewal-text {
    flex: 1;
}

.rcf-renewal-text strong {
    display: block;
    color: var(--rcf-text-white);
}

#rcf-renewal-status {
    font-size: 12px;
    color: var(--rcf-text-secondary);
}

/* Subscription tab section overrides */
.rcf-subscription-stats ~ .rcf-profile-section {
    background: var(--rcf-surface);
    border: 1px solid var(--rcf-surface-border);
    border-radius: var(--rcf-radius-xl);
    padding: 25px;
}

.rcf-subscription-stats ~ .rcf-profile-section h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--rcf-gold);
    font-size: 16px;
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-btn-sm.rcf-btn-outline {
    background: transparent;
    border: 1px solid var(--rcf-gold);
    color: var(--rcf-gold);
    border-radius: 6px;
    transition: background 0.2s ease, color 0.2s ease;
}

.rcf-subscription-stats ~ .rcf-profile-section .rcf-btn-sm.rcf-btn-outline:hover {
    background: var(--rcf-gold);
    color: #000;
}

/* ========================================
   Profile: Cancel Subscription Modal
   ======================================== */
.rcf-cancel-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-cancel-dialog {
    background: var(--rcf-surface);
    border: 1px solid var(--rcf-surface-border);
    border-radius: var(--rcf-radius-xl);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow-y: auto;
}

.rcf-cancel-dialog .rcf-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    border-bottom: 1px solid var(--rcf-surface-border);
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
}

.rcf-cancel-dialog .rcf-modal-header h3 {
    margin: 0;
    color: var(--rcf-gold);
}

.rcf-cancel-dialog .rcf-modal-close {
    background: none;
    border: none;
    font-size: 24px;
    cursor: pointer;
    color: var(--rcf-text-secondary);
    transition: color 0.2s ease;
}

.rcf-cancel-dialog .rcf-modal-close:hover {
    color: var(--rcf-text-white);
}

.rcf-cancel-dialog .rcf-modal-body {
    padding: 30px;
    text-align: center;
}

.rcf-cancel-icon .dashicons {
    font-size: 60px;
    width: 60px;
    height: 60px;
    color: var(--rcf-gold);
}

.rcf-cancel-icon-sad .dashicons {
    color: var(--rcf-text-secondary);
}

.rcf-cancel-benefits-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    text-align: left;
}

.rcf-cancel-benefits-list li {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--rcf-bg-darkest);
    border-radius: var(--rcf-radius-lg);
    margin-bottom: 6px;
}

.rcf-cancel-benefits-list .dashicons {
    color: #dc3545;
}

.rcf-cancel-retention {
    background: var(--rcf-bg-darkest);
    border: 1px solid var(--rcf-surface-border);
    padding: 20px;
    border-radius: 10px;
    margin: 20px 0;
    text-align: left;
}

.rcf-cancel-retention h5 {
    margin: 0 0 10px 0;
    color: var(--rcf-text-white);
}

.rcf-cancel-retention p {
    margin: 0 0 15px 0;
    color: var(--rcf-text-secondary);
}

.rcf-cancel-dialog .rcf-modal-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-top: 20px;
}

/* Reduced motion: disable subscription tab transitions */
@media (prefers-reduced-motion: reduce) {
    .rcf-stat-card,
    .rcf-subscription-card,
    .rcf-detail-item,
    .rcf-benefit-card,
    .rcf-btn-danger-outline,
    .rcf-toggle-slider,
    .rcf-toggle-slider:before,
    .rcf-cancel-dialog .rcf-modal-close,
    .rcf-subscription-stats ~ .rcf-profile-section .rcf-btn-sm.rcf-btn-outline,
    .rcf-subscription-stats ~ .rcf-profile-section .rcf-data-table tbody tr,
    .rcf-subscription-actions .rcf-btn-primary,
    .rcf-subscription-stats ~ .rcf-profile-section .rcf-empty-state .rcf-btn-primary {
        transition: none;
    }
}

/* ========================================
   Profile: Responsive overrides
   ======================================== */
@media (max-width: 768px) {
    .rcf-gr-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .rcf-gr-profile-info-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .rcf-gr-upgrade-link {
        margin-left: 0;
        margin-top: 8px;
    }

    .rcf-subscription-stats {
        grid-template-columns: 1fr;
    }

    .rcf-details-grid {
        grid-template-columns: 1fr;
    }

    .rcf-subscription-actions {
        flex-direction: column;
    }

    .rcf-cancel-dialog .rcf-modal-actions {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .rcf-gr-stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ========================================
   Game Requests Page
   ======================================== */
.rcf-page-header {
    padding: 25px;
    background: linear-gradient(135deg, var(--rcf-cat-orange) 0%, var(--rcf-bg-darker) 100%);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    margin-bottom: 20px;
}

.rcf-page-header h1 {
    margin: 0 0 8px;
    font-size: 28px;
    color: var(--rcf-text-white);
}

.rcf-page-desc {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-muted);
}

.rcf-requests-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-sort-options {
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-sort-options a {
    padding: 6px 14px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    transition: all var(--rcf-transition);
}

.rcf-sort-options a:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text-white);
}

.rcf-sort-options a.rcf-active {
    background: var(--rcf-primary);
    color: var(--rcf-text-white);
}

.rcf-requests-list {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-request-row {
    display: grid;
    grid-template-columns: 80px 1fr auto;
    gap: 20px;
    align-items: center;
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
}

.rcf-request-row:last-child {
    border-bottom: none;
}

.rcf-request-row:hover {
    background: var(--rcf-bg-dark);
}

.rcf-request-row.rcf-fulfilled {
    background: rgba(76, 175, 80, 0.05);
    border-left: 3px solid var(--rcf-success);
}

.rcf-request-votes {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.rcf-vote-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 28px;
    border: 1px solid var(--rcf-border);
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-vote-btn:hover {
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
}

.rcf-vote-btn.rcf-voted {
    background: var(--rcf-primary);
    border-color: var(--rcf-primary);
    color: var(--rcf-text-white);
}

.rcf-vote-btn.rcf-vote-up.rcf-voted {
    background: var(--rcf-success);
    border-color: var(--rcf-success);
}

.rcf-vote-btn.rcf-vote-down.rcf-voted {
    background: var(--rcf-danger);
    border-color: var(--rcf-danger);
}

.rcf-vote-count {
    font-size: 18px;
    font-weight: 700;
    color: var(--rcf-text-white);
}

/* Vote Score Container */
.rcf-vote-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

/* Vote Breakdown (up/down counts) */
.rcf-vote-breakdown {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--rcf-text-muted);
}

.rcf-vote-breakdown .rcf-up-count {
    color: var(--rcf-success);
}

.rcf-vote-breakdown .rcf-down-count {
    color: var(--rcf-danger);
}

.rcf-vote-sep {
    opacity: 0.5;
}

/* Vote Box on Single Topic */
.rcf-vote-box {
    display: flex;
    align-items: center;
    gap: 20px;
    background: var(--rcf-bg-medium);
    padding: 16px 24px;
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
    border-left: 4px solid var(--rcf-primary);
}

.rcf-vote-display {
    text-align: center;
}

.rcf-vote-number {
    display: block;
    font-size: 28px;
    font-weight: 700;
    color: var(--rcf-text-white);
    line-height: 1;
}

.rcf-vote-label {
    font-size: 12px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Detailed Vote Breakdown */
.rcf-vote-breakdown-detailed {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.rcf-vote-up-stat,
.rcf-vote-down-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
}

.rcf-vote-up-stat {
    color: var(--rcf-success);
}

.rcf-vote-down-stat {
    color: var(--rcf-danger);
}

.rcf-vote-up-stat .dashicons,
.rcf-vote-down-stat .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Vote Actions */
.rcf-vote-actions {
    display: flex;
    gap: 8px;
    margin-left: auto;
}

.rcf-vote-note {
    margin: 0;
    margin-left: auto;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-vote-note a {
    color: var(--rcf-primary);
}

/* Vote Button Loading State */
.rcf-vote-btn.rcf-loading {
    opacity: 0.6;
    pointer-events: none;
}

.rcf-vote-btn.rcf-loading .dashicons {
    animation: rcf-pulse 0.8s infinite;
}

@keyframes rcf-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.rcf-request-info {
    min-width: 0;
}

.rcf-request-title {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 600;
}

.rcf-request-title a {
    color: var(--rcf-text-white);
}

.rcf-request-title a:hover {
    color: var(--rcf-primary);
}

.rcf-tag {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--rcf-radius);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    margin-left: 10px;
}

.rcf-tag-fulfilled {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-request-meta {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-request-meta a {
    color: var(--rcf-text-light);
}

.rcf-request-meta a:hover {
    color: var(--rcf-primary);
}

.rcf-request-link .rcf-btn-success {
    background: var(--rcf-success);
    border-color: var(--rcf-success);
}

.rcf-request-link .rcf-btn-success:hover {
    background: #43a047;
}

/* ========================================
   Login Required Box
   ======================================== */
.rcf-login-required {
    max-width: 450px;
    margin: 60px auto;
    text-align: center;
    padding: 50px 40px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
}

.rcf-login-required .dashicons {
    font-size: 60px;
    width: 60px;
    height: 60px;
    color: var(--rcf-primary);
    margin-bottom: 20px;
}

.rcf-login-required h2 {
    margin: 0 0 15px;
    font-size: 24px;
    color: var(--rcf-text-white);
}

.rcf-login-required p {
    margin: 0 0 25px;
    color: var(--rcf-text-muted);
    font-size: 15px;
}

.rcf-login-required .rcf-btn {
    margin: 0 5px;
}

/* ========================================
   Utility Classes
   ======================================== */
.rcf-hidden { display: none !important; }
.rcf-text-center { text-align: center; }
.rcf-text-right { text-align: right; }
.rcf-text-muted { color: var(--rcf-text-muted); }
.rcf-text-success { color: var(--rcf-success); }
.rcf-text-danger { color: var(--rcf-danger); }
.rcf-text-warning { color: var(--rcf-warning); }
.rcf-text-info { color: var(--rcf-info); }
.rcf-mt-0 { margin-top: 0; }
.rcf-mb-0 { margin-bottom: 0; }
.rcf-mt-10 { margin-top: 10px; }
.rcf-mb-10 { margin-bottom: 10px; }
.rcf-mt-20 { margin-top: 20px; }
.rcf-mb-20 { margin-bottom: 20px; }
.rcf-p-0 { padding: 0; }
.rcf-p-10 { padding: 10px; }
.rcf-p-20 { padding: 20px; }

/* Profile page responsive */
@media (max-width: 992px) {
    .rcf-profile-header {
        flex-direction: column;
        text-align: center;
    }

    .rcf-profile-actions {
        justify-content: center;
    }

    .rcf-profile-stats {
        grid-template-columns: repeat(3, 1fr);
    }

    .rcf-profile-content {
        grid-template-columns: 1fr;
    }

    .rcf-profile-tabs {
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    .rcf-profile-tab {
        padding: 10px 14px;
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .rcf-profile-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .rcf-rep-item {
        flex-wrap: wrap;
    }

    .rcf-rep-date {
        width: 100%;
        margin-top: 5px;
    }

    .rcf-request-row {
        grid-template-columns: 60px 1fr;
    }

    .rcf-request-link {
        display: none;
    }

    .rcf-requests-toolbar {
        flex-direction: column;
        gap: 15px;
    }
}

@media (max-width: 576px) {
    .rcf-profile-avatar img {
        width: 80px;
        height: 80px;
    }

    .rcf-profile-name {
        font-size: 22px;
    }

    .rcf-profile-stats {
        grid-template-columns: 1fr 1fr;
    }

    .rcf-profile-tabs {
        padding: 5px;
    }

    .rcf-profile-tab {
        padding: 8px 12px;
        font-size: 12px;
    }

    .rcf-profile-tab .dashicons {
        font-size: 16px;
        width: 16px;
        height: 16px;
    }

    .rcf-tab-count {
        padding: 1px 6px;
        font-size: 11px;
    }

    .rcf-likes-stat .dashicons {
        font-size: 36px;
        width: 36px;
        height: 36px;
    }

    .rcf-likes-count {
        font-size: 28px;
    }
}

/* ========================================
   Account Layout with Sidebar
   ======================================== */
.rcf-account-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 25px;
    padding: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.rcf-account-sidebar {
    position: sticky;
    top: 20px;
    height: fit-content;
}

.rcf-account-user-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    margin-bottom: 15px;
}

.rcf-account-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 3px solid var(--rcf-primary);
}

.rcf-account-user-info h3 {
    margin: 0 0 5px;
    font-size: 16px;
    color: var(--rcf-text-white);
}

.rcf-account-rank {
    display: inline-block;
    padding: 3px 10px;
    border-radius: var(--rcf-radius);
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
}

.rcf-account-nav {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
}

.rcf-nav-section-title {
    padding: 12px 18px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-account-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    color: var(--rcf-text-light);
    font-size: 14px;
    border-bottom: 1px solid var(--rcf-border);
    transition: all var(--rcf-transition);
}

.rcf-account-nav-item:last-child {
    border-bottom: none;
}

.rcf-account-nav-item:hover {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text-white);
}

.rcf-account-nav-item.rcf-nav-active {
    background: var(--rcf-primary-bg);
    color: var(--rcf-primary);
    border-left: 3px solid var(--rcf-primary);
}

.rcf-account-nav-item .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    opacity: 0.8;
}

.rcf-account-nav-item .rcf-nav-badge {
    margin-left: auto;
    background: var(--rcf-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    position: static;
}

.rcf-nav-logout {
    color: var(--rcf-danger) !important;
}

.rcf-nav-logout:hover {
    background: rgba(244, 67, 54, 0.1) !important;
}

.rcf-account-content {
    min-width: 0;
}

/* ========================================
   Advanced Search Page
   ======================================== */
.rcf-search-page {
    padding: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.rcf-search-header {
    background: linear-gradient(135deg, var(--rcf-cat-blue) 0%, var(--rcf-bg-darker) 100%);
}

.rcf-search-header h1 .dashicons {
    vertical-align: middle;
    margin-right: 10px;
}

.rcf-search-box {
    margin-bottom: 20px;
}

.rcf-search-main {
    display: flex;
    gap: 10px;
}

.rcf-search-main .rcf-search-input {
    flex: 1;
    padding: 15px 20px;
    font-size: 16px;
}

.rcf-search-main .rcf-btn {
    padding: 15px 30px;
    font-size: 15px;
}

.rcf-search-filters {
    margin-bottom: 20px;
}

.rcf-filter-toggle {
    margin-bottom: 15px;
}

.rcf-filters-panel {
    display: none;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 25px;
}

.rcf-filters-panel.rcf-filters-open {
    display: block;
}

.rcf-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.rcf-filter-group label {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    font-weight: 600;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.rcf-filter-group .rcf-input,
.rcf-filter-group .rcf-select {
    padding: 10px 14px;
    font-size: 13px;
}

.rcf-filter-actions {
    display: flex;
    justify-content: flex-end;
}

.rcf-search-sort {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-search-sort span {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-select-sm {
    padding: 8px 14px;
    font-size: 13px;
    width: auto;
}

.rcf-search-results {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-results-header {
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-results-header h2 {
    margin: 0;
    font-size: 18px;
    color: var(--rcf-text-white);
}

.rcf-results-list {
    padding: 0;
}

.rcf-result-item {
    display: flex;
    gap: 15px;
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
}

.rcf-result-item:last-child {
    border-bottom: none;
}

.rcf-result-item:hover {
    background: var(--rcf-bg-dark);
}

.rcf-result-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.rcf-result-content {
    flex: 1;
    min-width: 0;
}

.rcf-result-title {
    margin-bottom: 8px;
    font-size: 15px;
}

.rcf-result-title a {
    color: var(--rcf-text-white);
    font-weight: 600;
}

.rcf-result-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-result-excerpt {
    font-size: 13px;
    color: var(--rcf-text-muted);
    line-height: 1.5;
    margin-bottom: 10px;
}

.rcf-result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-result-meta a {
    color: var(--rcf-text-light);
}

.rcf-result-meta a:hover {
    color: var(--rcf-primary);
}

.rcf-no-results {
    text-align: center;
    padding: 60px 20px;
}

.rcf-no-results .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: var(--rcf-text-muted);
    opacity: 0.5;
    margin-bottom: 15px;
}

.rcf-no-results h3 {
    margin: 0 0 10px;
    color: var(--rcf-text);
}

.rcf-no-results p {
    margin: 0;
    color: var(--rcf-text-muted);
}

.rcf-search-tips {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 25px;
}

.rcf-search-tips h3 {
    margin: 0 0 15px;
    font-size: 16px;
    color: var(--rcf-text-white);
}

.rcf-search-tips ul {
    margin: 0;
    padding-left: 20px;
    color: var(--rcf-text-muted);
}

.rcf-search-tips li {
    margin-bottom: 8px;
    font-size: 14px;
}

/* ========================================
   Bookmarks Page
   ======================================== */
.rcf-bookmarks-list {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-bookmark-item {
    display: flex;
    gap: 15px;
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
}

.rcf-bookmark-item:last-child {
    border-bottom: none;
}

.rcf-bookmark-item:hover {
    background: var(--rcf-bg-dark);
}

.rcf-bookmark-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.rcf-bookmark-info {
    flex: 1;
    min-width: 0;
}

.rcf-bookmark-title {
    margin-bottom: 6px;
    font-size: 15px;
}

.rcf-bookmark-title a {
    color: var(--rcf-text-white);
    font-weight: 600;
}

.rcf-bookmark-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-bookmark-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-bottom: 8px;
}

.rcf-bookmark-meta a {
    color: var(--rcf-text-light);
}

.rcf-bookmark-meta a:hover {
    color: var(--rcf-primary);
}

.rcf-bookmark-note {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    font-size: 13px;
    color: var(--rcf-text-light);
    margin-bottom: 8px;
}

.rcf-bookmark-note .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    color: var(--rcf-text-muted);
}

.rcf-bookmark-dates {
    display: flex;
    gap: 15px;
    font-size: 11px;
    color: var(--rcf-text-muted);
}

.rcf-bookmark-actions {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

/* ========================================
   Watched Threads Page
   ======================================== */
.rcf-watched-list {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
}

.rcf-watched-item {
    display: flex;
    gap: 15px;
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
    transition: background var(--rcf-transition);
}

.rcf-watched-item:last-child {
    border-bottom: none;
}

.rcf-watched-item:hover {
    background: var(--rcf-bg-dark);
}

.rcf-watched-item.rcf-has-new {
    background: rgba(198, 40, 40, 0.05);
    border-left: 3px solid var(--rcf-primary);
}

.rcf-watched-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    flex-shrink: 0;
}

.rcf-watched-indicator .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--rcf-text-muted);
}

.rcf-new-badge {
    display: inline-block;
    padding: 4px 10px;
    background: var(--rcf-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: var(--rcf-radius);
    text-transform: uppercase;
}

.rcf-watched-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

.rcf-watched-info {
    flex: 1;
    min-width: 0;
}

.rcf-watched-title {
    margin-bottom: 6px;
    font-size: 15px;
}

.rcf-watched-title a {
    color: var(--rcf-text-white);
    font-weight: 600;
}

.rcf-watched-title a:hover {
    color: var(--rcf-primary-light);
}

.rcf-watched-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-bottom: 8px;
}

.rcf-watched-meta a {
    color: var(--rcf-text-light);
}

.rcf-watched-meta a:hover {
    color: var(--rcf-primary);
}

.rcf-watched-activity {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-watched-activity .rcf-last-reply {
    color: var(--rcf-text-light);
}

.rcf-no-replies {
    font-style: italic;
}

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

.rcf-toggle-label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: var(--rcf-text-muted);
}

.rcf-toggle-label input[type="checkbox"] {
    display: none;
}

.rcf-toggle-label .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    transition: color var(--rcf-transition);
}

.rcf-toggle-label input:checked + .dashicons {
    color: var(--rcf-primary);
}

/* ========================================
   Form Sections & Checkbox Groups (shared)
   ======================================== */
.rcf-form-section {
    margin-bottom: 35px;
}

.rcf-form-section:last-child {
    margin-bottom: 0;
}

.rcf-form-section h3 {
    margin: 0 0 20px;
    font-size: 16px;
    color: var(--rcf-text-white);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-form-section h3 .dashicons {
    vertical-align: middle;
    margin-right: 8px;
    color: var(--rcf-primary);
}

.rcf-checkbox-group {
    margin-bottom: 15px;
}

.rcf-checkbox-group label {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    margin-bottom: 0;
    font-weight: normal;
}

.rcf-checkbox-group input[type="checkbox"] {
    position: relative;
    width: 20px;
    height: 20px;
    -webkit-appearance: none;
    appearance: none;
    background: var(--rcf-bg-dark);
    border: 2px solid var(--rcf-border-light);
    border-radius: 4px;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.15s ease;
}

.rcf-checkbox-group input[type="checkbox"]:checked {
    background: var(--rcf-primary);
    border-color: var(--rcf-primary);
}

.rcf-checkbox-group input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 6px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.rcf-checkbox-group input[type="checkbox"]:hover {
    border-color: var(--rcf-primary-light);
}

.rcf-checkbox-group input[type="checkbox"]:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--rcf-primary-bg);
}

.rcf-checkbox-group input[type="checkbox"]:focus:not(:focus-visible) {
    outline: none;
}

.rcf-checkbox-group span {
    color: var(--rcf-text);
    font-size: 14px;
}

.rcf-checkbox-group .rcf-form-hint {
    margin-left: 30px;
}

.rcf-checkbox-group + .rcf-checkbox-group {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-form-section-muted {
    background: var(--rcf-bg-medium);
    padding: 16px;
    border-radius: var(--rcf-radius);
    border-left: 3px solid var(--rcf-info);
}

.rcf-form-section-muted p {
    margin: 0;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

.rcf-form-section-muted .dashicons {
    vertical-align: middle;
    margin-right: 6px;
    color: var(--rcf-info);
}

/* ========================================
   Settings Page — VIP Lounge Card Layout
   ======================================== */

/* --- Settings Header Card --- */
.rcf-settings-header {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-xl);
    margin-bottom: 24px;
    position: relative;
}

.rcf-settings-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--rcf-primary), var(--rcf-primary-light), var(--rcf-primary));
    border-radius: var(--rcf-radius-xl) var(--rcf-radius-xl) 0 0;
}

.rcf-settings-header-top {
    padding: 28px 30px 0;
}

.rcf-settings-header-top h1 {
    margin: 0 0 8px;
    font-size: 24px;
    color: var(--rcf-text-white);
    font-weight: 700;
}

.rcf-settings-header-top h1 .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 8px;
    color: var(--rcf-primary);
}

.rcf-settings-subtitle {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-muted);
}

/* --- Settings Notice Spacing (#4) --- */
.rcf-settings-header + .rcf-notice {
    margin-bottom: 16px;
}

.rcf-notice + .rcf-notice {
    margin-top: -8px;
}

.rcf-notice + .rcf-settings-content {
    margin-top: 0;
}

/* --- Tab Navigation (inside header) --- */
.rcf-settings-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 16px 0 0;
    padding: 8px 30px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-settings-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    color: var(--rcf-text-muted);
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    flex-shrink: 0;
    border-radius: 6px;
    transition: color 0.2s ease, background 0.2s ease;
    text-decoration: none;
}

.rcf-settings-tab:hover {
    color: var(--rcf-text-white);
    background: rgba(255, 255, 255, 0.05);
}

.rcf-settings-tab.rcf-tab-active {
    color: var(--rcf-primary);
    background: var(--rcf-primary-bg);
    box-shadow: inset 0 0 0 1px rgba(234, 82, 16, 0.2);
}

.rcf-settings-tab .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* --- Content Card --- */
.rcf-settings-content {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-xl);
    padding: 0;
}

.rcf-settings-content .rcf-settings-form {
    max-width: none;
}

/* --- Form Sections (stacked rows with borders) --- */
.rcf-settings-content .rcf-form-section {
    padding: 28px 30px;
    border-bottom: 1px solid var(--rcf-border);
    margin-bottom: 0;
}

.rcf-settings-content .rcf-form-section h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text-white);
    padding-bottom: 0;
    border-bottom: none;
}

.rcf-settings-content .rcf-form-section h3 .dashicons {
    color: var(--rcf-primary);
    font-size: 20px;
    width: 20px;
    height: 20px;
    margin-right: 0;
}

/* --- Form Hints --- */
.rcf-settings-content .rcf-form-hint {
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-top: 6px;
}

/* --- Input Styling --- */
.rcf-settings-content .rcf-input,
.rcf-settings-content .rcf-textarea,
.rcf-settings-content .rcf-select {
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    padding: 10px 14px;
    color: var(--rcf-text-white);
    font-size: 14px;
    transition: border-color 0.2s ease;
    width: 100%;
    max-width: min(500px, 100%);
}

.rcf-settings-content .rcf-input:focus-visible,
.rcf-settings-content .rcf-textarea:focus-visible,
.rcf-settings-content .rcf-select:focus-visible {
    border-color: var(--rcf-primary);
    outline: none;
    box-shadow: 0 0 0 3px var(--rcf-primary-bg);
}

.rcf-settings-content .rcf-input:focus:not(:focus-visible),
.rcf-settings-content .rcf-textarea:focus:not(:focus-visible),
.rcf-settings-content .rcf-select:focus:not(:focus-visible) {
    border-color: var(--rcf-primary);
    outline: none;
}

.rcf-settings-content .rcf-input:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background: rgba(255, 255, 255, 0.03);
    color: var(--rcf-text-muted);
}

.rcf-settings-content .rcf-textarea {
    max-width: 100%;
    resize: vertical;
}

.rcf-settings-content .rcf-select {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
}

/* --- Form Actions (bottom bar) --- */
.rcf-settings-content .rcf-form-actions {
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.02);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 0;
}

/* Remove double-border: section border-bottom + actions border-top */
.rcf-settings-content .rcf-form-section + .rcf-form-actions {
    border-top: none;
}

/* --- Avatar Upload Enhancement --- */
.rcf-settings-content .rcf-avatar-upload {
    align-items: center;
    gap: 24px;
    border-radius: 12px;
}

/* --- Checkbox Groups (card-style toggle rows) --- */
.rcf-settings-content .rcf-checkbox-group {
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--rcf-border);
    border-radius: 10px;
    margin-bottom: 10px;
    transition: border-color 0.2s ease;
}

.rcf-settings-content .rcf-checkbox-group:hover {
    border-color: var(--rcf-border-light);
}

.rcf-settings-content .rcf-checkbox-group + .rcf-checkbox-group {
    margin-top: 0;
    padding-top: 14px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-settings-content .rcf-checkbox-group .rcf-form-hint {
    margin-left: 32px;
}

/* --- Muted Info Section --- */
.rcf-settings-content .rcf-form-section.rcf-form-section-muted {
    background: transparent;
    border-left: none;
    padding-top: 0;
}

.rcf-settings-content .rcf-form-section-muted > p {
    background: rgba(33, 150, 243, 0.06);
    padding: 14px 18px;
    border-radius: 10px;
    border-left: 3px solid var(--rcf-info);
    margin: 0;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

.rcf-settings-content .rcf-form-section-muted .dashicons {
    vertical-align: middle;
    margin-right: 6px;
    color: var(--rcf-info);
}


/* ========================================
   Settings Redesign — New Components
   ======================================== */

/* --- Enhanced Sidebar User Card --- */
.rcf-account-user-card {
    flex-direction: column;
    text-align: center;
    padding: 24px 20px;
    background: linear-gradient(180deg, rgba(255,255,255,0.03) 0%, var(--rcf-bg-darker) 100%);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
    margin-bottom: 15px;
}

.rcf-account-avatar {
    position: relative;
    display: inline-block;
}

.rcf-account-avatar img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 3px solid var(--rcf-border-light);
    transition: border-color 0.3s ease;
}

.rcf-account-avatar-ring img {
    border: 3px solid rgba(255, 215, 0, 0.6);
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.25);
}

.rcf-account-avatar-ring.rcf-ring-purple img {
    border-color: rgba(168, 85, 247, 0.6);
    box-shadow: 0 0 12px rgba(168, 85, 247, 0.25);
}

.rcf-account-avatar-ring.rcf-ring-diamond img {
    border-color: rgba(185, 242, 255, 0.6);
    box-shadow: 0 0 12px rgba(185, 242, 255, 0.25);
}

.rcf-account-user-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

.rcf-account-user-info h3 {
    margin: 0;
    font-size: 16px;
    color: var(--rcf-text-white);
    font-weight: 600;
}

.rcf-account-username {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-account-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: center;
    margin-top: 2px;
}

.rcf-account-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: linear-gradient(135deg, #FFD700, #FFA000);
    color: #fff;
}

.rcf-account-vip-badge.rcf-vip-purple {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    color: #fff;
}

.rcf-account-vip-badge.rcf-vip-diamond {
    background: linear-gradient(135deg, #b9f2ff, #67e8f9);
    color: #fff;
}

.rcf-account-free-label {
    font-size: 11px;
    color: var(--rcf-text-muted);
    opacity: 0.7;
}

.rcf-account-member-since {
    font-size: 11px;
    color: var(--rcf-text-muted);
    opacity: 0.6;
    margin-top: 4px;
}

/* --- Badge Success (subscription active) --- */
.rcf-badge-success {
    background: var(--rcf-success) !important;
    color: #fff !important;
}

/* --- Notices with icons --- */
.rcf-notice-success .dashicons-yes-alt,
.rcf-notice-error .dashicons-warning {
    vertical-align: middle;
    margin-right: 6px;
}

/* --- Toggle Switch --- */
.rcf-toggle-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--rcf-border);
    border-radius: 10px;
    margin-bottom: 10px;
    transition: border-color 0.2s ease;
}

.rcf-toggle-row:hover {
    border-color: var(--rcf-border-light);
}

.rcf-toggle-info {
    flex: 1;
    min-width: 0;
}

.rcf-toggle-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--rcf-text-white);
    margin-bottom: 4px;
}

.rcf-toggle-desc {
    font-size: 12px;
    color: var(--rcf-text-muted);
    line-height: 1.4;
}

.rcf-toggle-switch {
    position: relative;
    flex-shrink: 0;
    width: 44px;
    height: 24px;
    margin-top: 2px;
}

.rcf-toggle-switch input[type="checkbox"] {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.rcf-toggle-switch .rcf-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: var(--rcf-bg-light);
    border: 1px solid var(--rcf-border-light);
    border-radius: 12px;
    transition: all 0.25s ease;
}

.rcf-toggle-switch .rcf-toggle-slider::before {
    content: '';
    position: absolute;
    width: 18px;
    height: 18px;
    left: 2px;
    bottom: 2px;
    background: var(--rcf-text-muted);
    border-radius: 50%;
    transition: all 0.25s ease;
}

.rcf-toggle-switch input:checked + .rcf-toggle-slider {
    background: var(--rcf-primary);
    border-color: var(--rcf-primary);
}

.rcf-toggle-switch input:checked + .rcf-toggle-slider::before {
    transform: translateX(20px);
    background: #fff;
}

.rcf-toggle-switch input:focus-visible + .rcf-toggle-slider {
    box-shadow: 0 0 0 3px var(--rcf-primary-bg);
}

/* --- Read-only Fields --- */
.rcf-field-readonly {
    position: relative;
}

.rcf-field-readonly .rcf-input {
    background: rgba(255, 255, 255, 0.03);
    color: var(--rcf-text-muted);
    cursor: not-allowed;
    padding-right: 36px;
}

.rcf-field-readonly .rcf-field-lock-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rcf-text-muted);
    opacity: 0.5;
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Constrain lock icon positioning within the input group */
.rcf-field-readonly {
    max-width: min(500px, 100%);
}

/* --- Character Counter --- */
.rcf-char-counter-wrap {
    position: relative;
}

.rcf-char-counter-wrap .rcf-textarea {
    padding-bottom: 28px;
}

.rcf-char-counter {
    position: absolute;
    bottom: 8px;
    right: 12px;
    font-size: 11px;
    color: var(--rcf-text-muted);
    pointer-events: none;
    transition: color 0.2s ease;
}

.rcf-char-counter.rcf-char-warn {
    color: var(--rcf-warning);
}

.rcf-char-counter.rcf-char-over {
    color: var(--rcf-danger);
}

/* --- VIP Upgrade CTA --- */
.rcf-upgrade-cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 32px 24px;
    background: linear-gradient(135deg, rgba(255, 215, 0, 0.04) 0%, rgba(198, 40, 40, 0.04) 100%);
    border: 1px dashed var(--rcf-border-light);
    border-radius: 12px;
}

.rcf-upgrade-cta-icon {
    font-size: 32px;
    width: 32px;
    height: 32px;
    color: var(--rcf-warning);
    margin-bottom: 12px;
    opacity: 0.8;
}

.rcf-upgrade-cta-label {
    display: inline-block;
    padding: 3px 10px;
    background: rgba(255, 215, 0, 0.15);
    color: #FFD700;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 10px;
    margin-bottom: 10px;
}

.rcf-upgrade-cta-text {
    font-size: 14px;
    color: var(--rcf-text-muted);
    margin-bottom: 16px;
    line-height: 1.5;
    max-width: 340px;
}

.rcf-upgrade-cta .rcf-btn {
    text-decoration: none;
}

.rcf-upgrade-cta-previews {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    opacity: 0.35;
    filter: blur(1px);
}

.rcf-upgrade-cta-previews .rcf-anim-preview {
    width: 48px;
    height: 48px;
}

/* --- Password Strength Meter --- */
.rcf-password-strength {
    margin-top: 8px;
}

.rcf-password-strength-bar {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.rcf-password-strength-bar .rcf-strength-seg {
    flex: 1;
    height: 4px;
    border-radius: 2px;
    background: var(--rcf-bg-light);
    transition: background 0.3s ease;
}

.rcf-password-strength[data-strength="1"] .rcf-strength-seg:nth-child(-n+1) {
    background: var(--rcf-danger);
}

.rcf-password-strength[data-strength="2"] .rcf-strength-seg:nth-child(-n+2) {
    background: var(--rcf-warning);
}

.rcf-password-strength[data-strength="3"] .rcf-strength-seg:nth-child(-n+3) {
    background: #cddc39;
}

.rcf-password-strength[data-strength="4"] .rcf-strength-seg {
    background: var(--rcf-success);
}

.rcf-strength-text {
    font-size: 12px;
    color: var(--rcf-text-muted);
    transition: color 0.3s ease;
}

.rcf-password-strength[data-strength="1"] .rcf-strength-text { color: var(--rcf-danger); }
.rcf-password-strength[data-strength="2"] .rcf-strength-text { color: var(--rcf-warning); }
.rcf-password-strength[data-strength="3"] .rcf-strength-text { color: #cddc39; }
.rcf-password-strength[data-strength="4"] .rcf-strength-text { color: var(--rcf-success); }

/* --- Password Show/Hide Toggle --- */
.rcf-password-input-wrap {
    position: relative;
    max-width: min(500px, 100%);
}

.rcf-password-input-wrap .rcf-input {
    padding-right: 42px;
}

.rcf-password-toggle-btn {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.rcf-password-toggle-btn:hover {
    color: var(--rcf-text-white);
}

.rcf-password-toggle-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* --- Privacy: Danger Zone --- */
.rcf-danger-zone {
    border: 1px solid rgba(244, 67, 54, 0.3) !important;
    border-left: 3px solid var(--rcf-danger) !important;
    background: rgba(244, 67, 54, 0.04);
}

.rcf-danger-zone h3 {
    color: var(--rcf-danger) !important;
}

.rcf-danger-zone h3 .dashicons {
    color: var(--rcf-danger) !important;
}

.rcf-danger-zone-text {
    font-size: 13px;
    color: var(--rcf-text-muted);
    line-height: 1.5;
    margin-bottom: 16px;
}

.rcf-danger-zone-text strong {
    color: var(--rcf-text-light);
}

/* --- Privacy: Data Section --- */
.rcf-data-section {
    background: rgba(33, 150, 243, 0.04);
    border-left: 3px solid var(--rcf-info) !important;
}

.rcf-data-section h3 .dashicons {
    color: var(--rcf-info) !important;
}

.rcf-data-section-text {
    font-size: 13px;
    color: var(--rcf-text-muted);
    line-height: 1.5;
}

.rcf-data-section-text a {
    color: var(--rcf-info);
}

/* --- Delete Confirmation Modal --- */
.rcf-delete-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    align-items: center;
    justify-content: center;
}

.rcf-delete-modal-overlay.rcf-modal-open {
    display: flex;
}

.rcf-delete-modal {
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-xl);
    padding: 32px;
    max-width: 440px;
    width: 90%;
    text-align: center;
}

.rcf-delete-modal h3 {
    margin: 0 0 12px;
    color: var(--rcf-danger);
    font-size: 18px;
}

.rcf-delete-modal p {
    color: var(--rcf-text-muted);
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 20px;
}

.rcf-delete-modal-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}

/* ========================================
   Account Pages Responsive
   ======================================== */
@media (max-width: 992px) {
    .rcf-account-layout {
        grid-template-columns: 1fr;
    }

    .rcf-account-sidebar {
        position: static;
    }

    .rcf-account-user-card {
        flex-direction: row;
        text-align: left;
    }

    .rcf-account-user-info {
        align-items: flex-start;
    }

    .rcf-account-badges {
        justify-content: flex-start;
    }

    .rcf-account-nav {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        background: transparent;
        border: none;
    }

    .rcf-nav-section-title {
        display: none;
    }

    .rcf-account-nav-item {
        padding: 10px 14px;
        border: 1px solid var(--rcf-border);
        border-radius: var(--rcf-radius);
        flex: 0 0 auto;
    }

    .rcf-account-nav-item.rcf-nav-active {
        border-left-width: 1px;
    }

    .rcf-filter-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .rcf-account-layout {
        padding: 15px;
    }

    .rcf-settings-header-top {
        padding: 20px 20px 0;
    }

    .rcf-settings-tabs {
        padding: 6px 20px;
    }

    .rcf-settings-tab {
        padding: 7px 12px;
        font-size: 12px;
    }

    .rcf-settings-content .rcf-form-section {
        padding: 20px;
    }

    .rcf-settings-content .rcf-form-actions {
        padding: 16px 20px;
    }

    .rcf-toggle-row {
        padding: 14px 16px;
    }

    .rcf-upgrade-cta {
        padding: 24px 16px;
    }

    .rcf-bookmark-item,
    .rcf-watched-item,
    .rcf-result-item {
        flex-direction: column;
    }

    .rcf-bookmark-avatar,
    .rcf-watched-indicator,
    .rcf-watched-avatar,
    .rcf-result-avatar {
        display: none;
    }

    .rcf-bookmark-actions,
    .rcf-watched-actions {
        margin-top: 10px;
    }

    .rcf-filter-grid {
        grid-template-columns: 1fr;
    }

    .rcf-search-main {
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    .rcf-account-user-card {
        flex-direction: column;
        text-align: center;
    }

    .rcf-page-header h1 {
        font-size: 22px;
    }

    .rcf-settings-header,
    .rcf-settings-content {
        border-radius: var(--rcf-radius-lg);
    }

    .rcf-settings-header-top {
        padding: 16px 16px 0;
    }

    .rcf-settings-header-top h1 {
        font-size: 20px;
    }

    .rcf-settings-tabs {
        padding: 4px 16px;
    }

    .rcf-settings-tab {
        padding: 6px 10px;
        font-size: 11px;
    }

    .rcf-settings-content .rcf-form-section {
        padding: 16px;
    }

    .rcf-settings-content .rcf-form-actions {
        padding: 16px;
    }

    .rcf-settings-content .rcf-form-actions .rcf-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   Topic Actions (Bookmark/Watch)
   ======================================== */
.rcf-topic-actions {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.rcf-topic-actions .rcf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rcf-topic-actions .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-bookmark-btn.rcf-bookmarked {
    background: var(--rcf-primary-bg);
    border-color: var(--rcf-primary);
    color: var(--rcf-primary);
}

.rcf-bookmark-btn.rcf-bookmarked .dashicons {
    color: var(--rcf-primary);
}

.rcf-watch-btn.rcf-watching {
    background: rgba(76, 175, 80, 0.1);
    border-color: #4caf50;
    color: #4caf50;
}

.rcf-watch-btn.rcf-watching .dashicons {
    color: #4caf50;
}

@media (max-width: 576px) {
    .rcf-topic-actions .rcf-btn-text {
        display: none;
    }

    .rcf-topic-actions .rcf-btn {
        padding: 8px 12px;
    }
}

/* ========================================
   Topic Row Actions (Bookmark/Watch in list)
   ======================================== */
.rcf-topic-actions-cell {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 10px;
}

.rcf-row-action {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-row-action:hover {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text-light);
}

.rcf-row-action .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-row-action.rcf-bookmark-btn.rcf-bookmarked {
    color: var(--rcf-primary);
}

.rcf-row-action.rcf-bookmark-btn.rcf-bookmarked:hover {
    background: var(--rcf-primary-bg);
}

.rcf-row-action.rcf-watch-btn.rcf-watching {
    color: #4caf50;
}

.rcf-row-action.rcf-watch-btn.rcf-watching:hover {
    background: rgba(76, 175, 80, 0.1);
}

/* ========================================
   Topic Moderation Dropdown
   ======================================== */
.rcf-topic-mod-cell {
    position: relative;
    flex-shrink: 0;
}

.rcf-mod-toggle {
    opacity: 0.5;
    transition: opacity var(--rcf-transition);
}

.rcf-mod-toggle:hover,
.rcf-mod-toggle.active {
    opacity: 1;
}

.rcf-mod-menu {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 4px;
    background: #1a1a1a;
    border: 1px solid var(--rcf-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    min-width: 160px;
    z-index: 100;
    padding: 4px 0;
    overflow: hidden;
}

.rcf-mod-menu.active {
    display: block;
}

.rcf-mod-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 14px;
    border: none;
    background: transparent;
    color: var(--rcf-text-light);
    font-size: 13px;
    cursor: pointer;
    text-align: left;
    transition: background var(--rcf-transition);
    white-space: nowrap;
}

.rcf-mod-item:hover {
    background: var(--rcf-bg-dark);
}

.rcf-mod-item .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    line-height: 16px;
    color: var(--rcf-text-muted);
}

.rcf-mod-item:hover .dashicons {
    color: var(--rcf-text-light);
}

.rcf-mod-item.rcf-mod-danger {
    color: #ef4444;
}

.rcf-mod-item.rcf-mod-danger .dashicons {
    color: #ef4444;
}

.rcf-mod-item.rcf-mod-danger:hover {
    background: rgba(239, 68, 68, 0.1);
}

/* ========================================
   Admin Topic Moderation Row
   ======================================== */
.rcf-admin-topic-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-admin-topic-row.rcf-admin-topic-closed {
    opacity: 0.6;
}

.rcf-admin-topic-row:last-child {
    border-bottom: none;
}

.rcf-admin-topic-row:hover {
    background: var(--rcf-bg-dark);
}

.rcf-admin-topic-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-admin-topic-info {
    flex: 1;
    min-width: 0;
    overflow: visible;
}

.rcf-admin-topic-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.5;
}

.rcf-admin-topic-title a {
    color: var(--rcf-text);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
}

.rcf-admin-topic-title .rcf-admin-topic-badge {
    margin-right: 6px;
    vertical-align: middle;
}

.rcf-admin-topic-meta {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.4;
    color: var(--rcf-text-light);
}

.rcf-admin-topic-badge {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
}

.rcf-admin-badge-pinned {
    background: rgba(255, 152, 0, 0.15);
    color: #ff9800;
}

.rcf-admin-badge-announce {
    background: rgba(33, 150, 243, 0.15);
    color: #2196f3;
}

.rcf-admin-badge-closed {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.rcf-admin-topic-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.rcf-admin-mod-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    cursor: pointer;
    transition: all 0.15s;
}

.rcf-admin-mod-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-admin-mod-btn.rcf-admin-mod-btn-active {
    color: #ff9800;
}

.rcf-admin-mod-btn:hover {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text-light);
}

.rcf-admin-mod-btn[data-mod-action="delete"]:hover {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* ========================================
   Admin Panel Styles
   ======================================== */

/* Admin Layout - Force grid display */
.rcf-admin-wrapper {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.rcf-admin-layout {
    display: grid !important;
    grid-template-columns: 260px 1fr !important;
    grid-template-rows: auto;
    gap: 0 !important;
    min-height: calc(100vh - 100px);
    width: 100% !important;
    overflow: visible !important;
}

/* Ensure sidebar displays properly as first grid child */
.rcf-admin-layout > .rcf-admin-sidebar {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 260px !important;
    min-width: 260px !important;
    display: flex !important;
    flex-direction: column !important;
    background: var(--rcf-bg-dark) !important;
    position: relative !important;
    z-index: 100 !important;
}

/* Ensure content displays as second grid child */
.rcf-admin-layout > .rcf-admin-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0;
}

@media (max-width: 991px) {
    .rcf-admin-layout {
        grid-template-columns: 1fr !important;
    }

    .rcf-admin-layout > .rcf-admin-sidebar {
        width: 100% !important;
        min-width: 100% !important;
        grid-column: 1 !important;
    }

    .rcf-admin-layout > .rcf-admin-content {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
}

/* Admin Navigation Sidebar */
.rcf-admin-nav {
    flex: 1;
    padding: 10px 0;
}

.rcf-admin-nav-section {
    margin-bottom: 10px;
}

.rcf-nav-section-title {
    padding: 10px 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-nav-section-title .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Admin nav items - these ARE the <a> tags directly */
a.rcf-admin-nav-item,
.rcf-admin-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    color: var(--rcf-text-light);
    border-left: 3px solid transparent;
    transition: all var(--rcf-transition);
    cursor: pointer;
    text-decoration: none;
}

a.rcf-admin-nav-item:hover,
.rcf-admin-nav-item:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-white);
}

a.rcf-admin-nav-item.rcf-nav-active,
.rcf-admin-nav-item.rcf-nav-active {
    background: var(--rcf-bg-medium);
    color: var(--rcf-primary-light);
    border-left-color: var(--rcf-primary);
}

.rcf-admin-nav-item .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-nav-count {
    margin-left: auto;
    background: var(--rcf-bg-light);
    color: var(--rcf-text-muted);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 600;
}

.rcf-nav-badge {
    margin-left: auto;
    background: var(--rcf-danger);
    color: white;
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
    font-weight: 700;
}

.rcf-nav-badge-warning {
    background: var(--rcf-warning);
    color: #000;
}

.rcf-nav-section-bottom {
    margin-top: auto;
    border-top: 1px solid var(--rcf-border);
    padding-top: 10px;
}

.rcf-nav-back {
    color: var(--rcf-text-muted) !important;
}

.rcf-nav-back:hover {
    color: var(--rcf-text-white) !important;
}

/* Admin Content Area */
.rcf-admin-content {
    padding: 25px;
    background: var(--rcf-bg-darker);
}

.rcf-admin-header {
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
}

.rcf-admin-header h1 {
    margin: 0 0 5px 0;
    font-size: 24px;
    color: var(--rcf-text-white);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rcf-admin-header h1 .dashicons {
    color: var(--rcf-primary);
}

.rcf-admin-header p {
    margin: 0;
    color: var(--rcf-text-muted);
}

.rcf-header-actions {
    display: flex;
    gap: 10px;
}

/* Admin Sections */
.rcf-admin-section {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    padding: 20px;
    margin-bottom: 20px;
}

.rcf-admin-section h3 {
    margin: 0 0 15px 0;
    font-size: 16px;
    color: var(--rcf-text-white);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-admin-section h4 {
    margin: 20px 0 10px 0;
    font-size: 14px;
    color: var(--rcf-text-light);
}

.rcf-section-desc {
    color: var(--rcf-text-muted);
    margin: -10px 0 15px 0;
    font-size: 13px;
}

.rcf-section-full {
    grid-column: 1 / -1;
}

/* Stats Grid */
.rcf-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin-bottom: 25px;
}

.rcf-stat-card {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rcf-stat-icon {
    width: 50px;
    height: 50px;
    border-radius: var(--rcf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
}

.rcf-stat-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: white;
}

.rcf-stat-icon.rcf-stat-users { background: var(--rcf-info); }
.rcf-stat-icon.rcf-stat-topics { background: var(--rcf-success); }
.rcf-stat-icon.rcf-stat-posts { background: var(--rcf-purple); }
.rcf-stat-icon.rcf-stat-pending { background: var(--rcf-warning); }
.rcf-stat-icon.rcf-stat-reports { background: var(--rcf-danger); }

.rcf-stat-info h4 {
    margin: 0;
    font-size: 24px;
    color: var(--rcf-text-white);
}

.rcf-stat-info span {
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* Quick Actions */
.rcf-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 15px;
}

/* Admin Tables - Base styles moved to section below rcf-admin-grid */

/* Admin Forms */
.rcf-admin-form .rcf-form-group {
    margin-bottom: 15px;
}

.rcf-admin-form label {
    display: block;
    margin-bottom: 5px;
    color: var(--rcf-text-light);
    font-size: 13px;
    font-weight: 500;
}

.rcf-admin-form .rcf-form-hint {
    color: var(--rcf-text-muted);
    font-size: 12px;
    margin-top: 4px;
}

.rcf-admin-form .rcf-form-row {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

.rcf-admin-form .rcf-form-row .rcf-form-group {
    flex: 1;
    min-width: 200px;
}

.rcf-admin-form .rcf-form-actions {
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--rcf-border);
    display: flex;
    gap: 10px;
}

.rcf-inline-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.rcf-inline-form .rcf-form-group {
    margin-bottom: 0;
}

/* Checkbox Labels */
.rcf-checkbox-label {
    display: flex !important;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--rcf-text) !important;
}

.rcf-checkbox-label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Admin Grids */
.rcf-forums-grid,
.rcf-edit-user-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 991px) {
    .rcf-forums-grid,
    .rcf-edit-user-grid {
        grid-template-columns: 1fr;
    }
}

/* Forums Tree */
.rcf-forums-tree {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rcf-forum-tree-item {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    overflow: hidden;
}

.rcf-forum-tree-item.rcf-forum-parent {
    border-left: 3px solid var(--rcf-primary);
}

.rcf-forum-tree-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 15px;
}

.rcf-forum-icon {
    width: 36px;
    height: 36px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rcf-primary);
}

.rcf-forum-tree-info {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.rcf-forum-tree-info strong {
    color: var(--rcf-text-white);
}

.rcf-forum-slug {
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-forum-stats {
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-forum-tree-actions {
    display: flex;
    gap: 5px;
}

.rcf-forum-children {
    padding-left: 30px;
    background: var(--rcf-bg-dark);
}

.rcf-forum-children .rcf-forum-tree-item {
    border-left: 2px solid var(--rcf-border);
    background: transparent;
}

/* Moderation Queue */
.rcf-mod-queue {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rcf-mod-item {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    overflow: hidden;
}

.rcf-mod-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-mod-type {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: var(--rcf-radius);
}

.rcf-mod-type.rcf-type-topic {
    background: var(--rcf-info);
    color: white;
}

.rcf-mod-type.rcf-type-post {
    background: var(--rcf-purple);
    color: white;
}

.rcf-mod-date {
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-mod-item-content {
    padding: 15px;
}

.rcf-mod-author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.rcf-mod-author img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.rcf-mod-author > div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.rcf-author-stats {
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-mod-title {
    margin: 0 0 10px 0;
    font-size: 16px;
    color: var(--rcf-text-white);
}

.rcf-mod-parent {
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-bottom: 10px;
}

.rcf-mod-body {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.rcf-mod-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.rcf-mod-form {
    display: flex;
    gap: 8px;
}

.rcf-mod-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

/* ========================================
   Enhanced Moderation Queue Styles
   ======================================== */

/* Queue Stats in Header */
.rcf-queue-stats {
    display: flex;
    gap: 20px;
}

.rcf-queue-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 8px 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    min-width: 70px;
}

.rcf-stat-num {
    font-size: 20px;
    font-weight: 700;
    color: var(--rcf-primary);
}

.rcf-stat-txt {
    font-size: 11px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
}

/* Moderation Toolbar */
.rcf-mod-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    padding: 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-mod-toolbar-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rcf-mod-toolbar-right {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Filter Tabs */
.rcf-filter-tabs {
    display: flex;
    gap: 5px;
    background: var(--rcf-bg-darker);
    padding: 4px;
    border-radius: var(--rcf-radius);
}

.rcf-filter-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    transition: all var(--rcf-transition);
}

.rcf-filter-tab:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-filter-tab.active {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 700;
    background: rgba(0,0,0,0.2);
    border-radius: 10px;
}

.rcf-filter-tab.active .rcf-tab-count {
    background: rgba(255,255,255,0.2);
}

/* Moderation Search */
.rcf-mod-search {
    display: flex;
    gap: 5px;
}

.rcf-mod-search .rcf-input-sm {
    width: 180px;
}

/* Inline Form */
.rcf-inline-form {
    display: inline-flex;
}

/* Select Inputs */
.rcf-select-sm {
    padding: 6px 10px;
    font-size: 13px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text);
    cursor: pointer;
}

.rcf-select-sm:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

/* Bulk Actions Bar */
.rcf-bulk-actions-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 15px;
    background: var(--rcf-primary-bg);
    border: 1px solid var(--rcf-primary);
    border-radius: var(--rcf-radius);
    margin-bottom: 15px;
}

.rcf-bulk-select-info {
    font-size: 14px;
    font-weight: 600;
    color: var(--rcf-primary-light);
}

.rcf-selected-count {
    font-weight: 700;
}

.rcf-bulk-buttons {
    display: flex;
    gap: 8px;
}

/* Select All Row */
.rcf-mod-select-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    margin-bottom: 15px;
}

.rcf-checkbox-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    color: var(--rcf-text);
    font-size: 13px;
}

.rcf-checkbox-inline input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

.rcf-results-info {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Enhanced Moderation Item */
.rcf-mod-item {
    display: flex;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    overflow: hidden;
    border: 1px solid var(--rcf-border);
    transition: border-color var(--rcf-transition);
}

.rcf-mod-item:hover {
    border-color: var(--rcf-border-light);
}

.rcf-mod-item-checkbox {
    display: flex;
    align-items: flex-start;
    padding: 15px;
    background: var(--rcf-bg-dark);
}

.rcf-mod-item-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 5px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

.rcf-mod-item-main {
    flex: 1;
    min-width: 0;
}

.rcf-mod-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-mod-item-meta {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rcf-mod-date {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-mod-date .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Quick Action Icons */
.rcf-mod-quick-actions {
    display: flex;
    gap: 5px;
}

.rcf-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: var(--rcf-radius);
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-icon-btn:hover {
    transform: scale(1.1);
}

.rcf-icon-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-icon-btn.rcf-icon-success {
    color: var(--rcf-success);
}

.rcf-icon-btn.rcf-icon-success:hover {
    background: var(--rcf-success);
    color: #fff;
}

.rcf-icon-btn.rcf-icon-danger {
    color: var(--rcf-danger);
}

.rcf-icon-btn.rcf-icon-danger:hover {
    background: var(--rcf-danger);
    color: #fff;
}

.rcf-icon-btn.rcf-icon-warning {
    color: var(--rcf-warning);
}

.rcf-icon-btn.rcf-icon-warning:hover {
    background: var(--rcf-warning);
    color: #000;
}

/* Moderation Item Content */
.rcf-mod-item-content {
    padding: 15px;
}

/* Author Info Enhanced */
.rcf-mod-author {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 15px;
}

.rcf-mod-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-mod-author-info {
    flex: 1;
    min-width: 0;
}

.rcf-mod-author-name {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}

.rcf-mod-author-name a {
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-mod-author-name a:hover {
    color: var(--rcf-primary);
}

.rcf-mod-author-stats {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-mod-author-stats span {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Warning Badge */
.rcf-warning-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    background: var(--rcf-warning);
    color: #000;
    border-radius: 10px;
}

.rcf-warning-badge .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-unknown-user {
    color: var(--rcf-text-muted);
    font-style: italic;
}

/* Topic Title Wrapper */
.rcf-mod-title-wrap {
    margin-bottom: 10px;
}

.rcf-mod-title {
    margin: 0 0 5px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-mod-forum {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Parent Topic for Replies */
.rcf-mod-parent {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-bottom: 10px;
}

.rcf-mod-parent .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-mod-parent a {
    color: var(--rcf-text-light);
}

.rcf-mod-parent a:hover {
    color: var(--rcf-primary);
}

/* Content Preview */
.rcf-mod-body {
    margin-bottom: 15px;
}

.rcf-mod-preview {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    line-height: 1.6;
}

.rcf-mod-full-content {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    line-height: 1.6;
}

.rcf-expand-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: 8px;
    padding: 4px 8px;
    font-size: 12px;
    color: var(--rcf-primary);
    background: transparent;
    border: none;
    cursor: pointer;
    transition: color var(--rcf-transition);
}

.rcf-expand-btn:hover {
    color: var(--rcf-primary-light);
}

.rcf-expand-btn .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Action Buttons Row */
.rcf-mod-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}

.rcf-mod-primary-actions {
    display: flex;
    gap: 8px;
}

.rcf-mod-secondary-actions {
    display: flex;
    gap: 5px;
}

/* Keyboard Help */
.rcf-keyboard-help {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    margin-top: 20px;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-keyboard-help .dashicons {
    color: var(--rcf-info);
}

.rcf-keyboard-help strong {
    color: var(--rcf-text);
}

/* ========================================
   User Management Cards
   ======================================== */

/* Users Grid */
.rcf-users-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 15px;
}

/* User Card */
.rcf-user-card {
    display: flex;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow: hidden;
    transition: border-color var(--rcf-transition);
}

.rcf-user-card:hover {
    border-color: var(--rcf-border-light);
}

.rcf-user-card.rcf-card-banned {
    border-color: var(--rcf-danger);
    background: rgba(244, 67, 54, 0.05);
}

.rcf-user-card.rcf-card-self {
    border-color: var(--rcf-primary);
    background: var(--rcf-primary-bg);
}

.rcf-user-card-checkbox {
    display: flex;
    align-items: flex-start;
    padding: 15px 10px;
    background: var(--rcf-bg-dark);
}

.rcf-user-card-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 20px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

.rcf-user-card-main {
    flex: 1;
    padding: 15px;
    min-width: 0;
}

.rcf-user-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.rcf-user-card-avatar {
    position: relative;
    flex-shrink: 0;
}

.rcf-user-card-avatar img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
}

.rcf-avatar-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 2px solid var(--rcf-bg-medium);
}

.rcf-avatar-badge .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
    color: #fff;
}

.rcf-badge-banned {
    background: var(--rcf-danger);
}

.rcf-badge-staff {
    background: var(--rcf-warning);
}

.rcf-user-card-info {
    flex: 1;
    min-width: 0;
}

.rcf-user-card-name {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.rcf-user-card-name a {
    font-weight: 600;
    font-size: 15px;
    color: var(--rcf-text-white);
}

.rcf-user-card-name a:hover {
    color: var(--rcf-primary);
}

.rcf-you-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    background: var(--rcf-primary);
    color: #fff;
    border-radius: 10px;
}

.rcf-user-card-username {
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-bottom: 2px;
}

.rcf-user-card-email {
    font-size: 12px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-user-card-rank {
    flex-shrink: 0;
}

/* User Card Stats */
.rcf-user-card-stats {
    display: flex;
    gap: 15px;
    padding: 10px 0;
    border-top: 1px solid var(--rcf-border);
    border-bottom: 1px solid var(--rcf-border);
    margin-bottom: 10px;
}

.rcf-user-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 50px;
}

.rcf-user-stat-value {
    font-size: 16px;
    font-weight: 700;
    color: var(--rcf-text-white);
}

.rcf-user-stat-label {
    font-size: 10px;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
}

.rcf-user-stat.rcf-stat-warning .rcf-user-stat-value {
    color: var(--rcf-warning);
}

/* User Card Meta */
.rcf-user-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

.rcf-user-meta-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-user-meta-item .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-ip-info {
    background: var(--rcf-bg-dark);
    padding: 2px 8px;
    border-radius: var(--rcf-radius);
}

.rcf-ip-text {
    font-family: monospace;
    font-size: 11px;
}

.rcf-ban-info {
    color: var(--rcf-danger);
}

/* User Card Actions */
.rcf-user-card-actions {
    display: flex;
    gap: 5px;
    padding-top: 10px;
    border-top: 1px solid var(--rcf-border);
}

/* Queue Stat Variants */
.rcf-queue-stat.rcf-stat-success .rcf-stat-num {
    color: var(--rcf-success);
}

.rcf-queue-stat.rcf-stat-info .rcf-stat-num {
    color: var(--rcf-info);
}

.rcf-queue-stat.rcf-stat-warning .rcf-stat-num {
    color: var(--rcf-warning);
}

/* Role Descriptions in Modal */
.rcf-role-descriptions {
    margin-top: 12px;
    padding: 10px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
}

.rcf-role-desc {
    font-size: 13px;
    color: var(--rcf-text-light);
    line-height: 1.5;
}

.rcf-role-desc strong {
    color: var(--rcf-text-white);
}

/* Reports List - Enhanced */
.rcf-reports-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rcf-report-item {
    display: flex;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow: hidden;
    transition: border-color var(--rcf-transition);
}

.rcf-report-item:hover {
    border-color: var(--rcf-border-light);
}

/* Priority Border Colors */
.rcf-report-item.rcf-priority-urgent {
    border-left: 3px solid var(--rcf-danger);
}

.rcf-report-item.rcf-priority-high {
    border-left: 3px solid var(--rcf-warning);
}

.rcf-report-item.rcf-priority-low {
    border-left: 3px solid var(--rcf-success);
}

.rcf-report-checkbox {
    display: flex;
    align-items: flex-start;
    padding: 15px 10px;
    background: var(--rcf-bg-dark);
}

.rcf-report-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 5px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

.rcf-report-main {
    flex: 1;
    min-width: 0;
}

.rcf-report-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 15px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-report-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.rcf-report-type {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: var(--rcf-radius);
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-report-type .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-type-topic {
    background: var(--rcf-info);
    color: #fff;
}

.rcf-type-post {
    background: var(--rcf-text-muted);
    color: #fff;
}

/* Priority Badges */
.rcf-priority-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 10px;
}

.rcf-priority-badge.rcf-priority-low {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-priority-badge.rcf-priority-normal {
    background: rgba(33, 150, 243, 0.2);
    color: var(--rcf-info);
}

.rcf-priority-badge.rcf-priority-high {
    background: rgba(255, 152, 0, 0.2);
    color: var(--rcf-warning);
}

.rcf-priority-badge.rcf-priority-urgent {
    background: rgba(244, 67, 54, 0.2);
    color: var(--rcf-danger);
}

.rcf-report-date {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-report-date .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-report-id {
    font-size: 11px;
    color: var(--rcf-text-muted);
    font-family: monospace;
}

.rcf-report-quick-actions {
    display: flex;
    gap: 5px;
}

.rcf-report-content-wrap {
    padding: 15px;
}

/* Report People Info */
.rcf-report-people {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 12px;
}

.rcf-report-person {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcf-text);
}

.rcf-person-label {
    color: var(--rcf-text-muted);
}

.rcf-mini-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.rcf-report-person a {
    color: var(--rcf-text-white);
}

.rcf-report-person a:hover {
    color: var(--rcf-primary);
}

.rcf-report-person.rcf-assigned {
    background: var(--rcf-primary-bg);
    padding: 4px 10px;
    border-radius: var(--rcf-radius);
}

/* Report Reason Box */
.rcf-report-reason-box {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    margin-bottom: 12px;
    font-size: 13px;
    color: var(--rcf-text-light);
}

.rcf-report-reason-box .dashicons {
    color: var(--rcf-warning);
    margin-right: 4px;
}

/* Report Content Preview */
.rcf-report-preview {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    border-left: 3px solid var(--rcf-border-light);
}

.rcf-preview-title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    color: var(--rcf-text-white);
    margin-bottom: 8px;
}

.rcf-preview-title .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-preview-text {
    font-size: 13px;
    color: var(--rcf-text-light);
    line-height: 1.5;
    margin-bottom: 8px;
}

.rcf-preview-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-primary);
}

.rcf-preview-link:hover {
    color: var(--rcf-primary-light);
}

.rcf-report-preview.rcf-content-deleted {
    border-left-color: var(--rcf-danger);
    color: var(--rcf-text-muted);
    font-style: italic;
}

.rcf-content-deleted .dashicons {
    margin-right: 6px;
}

/* Report Actions */
.rcf-report-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border-top: 1px solid var(--rcf-border);
}

.rcf-report-actions-left {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.rcf-report-form {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.rcf-report-actions-right {
    display: flex;
    gap: 8px;
}

/* Resolved Info */
.rcf-report-resolved-info {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border-top: 1px solid var(--rcf-border);
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-report-resolved-info .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-report-item.rcf-report-resolved .rcf-report-resolved-info .dashicons {
    color: var(--rcf-success);
}

.rcf-report-item.rcf-report-dismissed .rcf-report-resolved-info .dashicons {
    color: var(--rcf-text-muted);
}

.rcf-resolution-note {
    font-style: italic;
    color: var(--rcf-text-light);
    margin-left: 8px;
}

/* Icon button muted variant */
.rcf-icon-btn.rcf-icon-muted {
    color: var(--rcf-text-muted);
}

.rcf-icon-btn.rcf-icon-muted:hover {
    background: var(--rcf-text-muted);
    color: #fff;
}

.rcf-report-body {
    padding: 15px;
}

.rcf-report-reason {
    margin-bottom: 12px;
    color: var(--rcf-text);
}

.rcf-report-details {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 12px;
    font-size: 13px;
}

.rcf-report-details .rcf-label {
    color: var(--rcf-text-muted);
}

.rcf-report-content {
    background: var(--rcf-bg-dark);
    padding: 12px;
    border-radius: var(--rcf-radius);
    margin-bottom: 15px;
}

.rcf-content-preview {
    margin-top: 8px;
}

.rcf-preview-title {
    font-weight: 600;
    color: var(--rcf-text-white);
    margin-bottom: 5px;
}

.rcf-preview-body {
    color: var(--rcf-text-light);
    font-size: 13px;
    line-height: 1.5;
}

.rcf-report-actions {
    padding: 15px;
    border-top: 1px solid var(--rcf-border);
    background: var(--rcf-bg-dark);
}

.rcf-report-form {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rcf-report-resolved-info {
    padding: 15px;
    border-top: 1px solid var(--rcf-border);
    background: var(--rcf-bg-dark);
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* User Profile Card */
.rcf-user-profile-card {
    text-align: center;
}

.rcf-user-profile-header {
    padding: 20px;
    background: linear-gradient(135deg, var(--rcf-primary-dark), var(--rcf-primary));
    border-radius: var(--rcf-radius) var(--rcf-radius) 0 0;
    margin: -20px -20px 20px -20px;
}

.rcf-large-avatar {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid rgba(255,255,255,0.2);
    margin-bottom: 10px;
}

.rcf-user-profile-header h2 {
    margin: 0;
    color: white;
    font-size: 20px;
}

.rcf-user-profile-header .rcf-username {
    color: rgba(255,255,255,0.7);
    font-size: 14px;
}

.rcf-user-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 15px;
}

.rcf-user-stat {
    background: var(--rcf-bg-medium);
    padding: 12px;
    border-radius: var(--rcf-radius);
}

.rcf-stat-number {
    display: block;
    font-size: 20px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-stat-label {
    font-size: 11px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
}

.rcf-user-meta {
    text-align: left;
    padding: 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

.rcf-user-meta p {
    margin: 8px 0;
    font-size: 13px;
    color: var(--rcf-text-light);
}

.rcf-user-meta strong {
    color: var(--rcf-text-muted);
}

/* Edit Forms */
.rcf-edit-forms {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Rank Thresholds */
.rcf-rank-thresholds {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px;
}

.rcf-threshold-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

.rcf-threshold-item .rcf-rank-badge {
    min-width: 80px;
}

.rcf-threshold-value {
    color: var(--rcf-text-muted);
}

.rcf-input-sm {
    width: 100px !important;
    padding: 6px 10px !important;
}

/* Points Grid */
.rcf-points-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 15px;
}

/* Maintenance Tools */
.rcf-maintenance-tools {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 15px;
}

.rcf-tool-card {
    background: var(--rcf-bg-medium);
    padding: 15px;
    border-radius: var(--rcf-radius);
}

.rcf-tool-card h4 {
    margin: 0 0 8px 0;
    font-size: 14px;
    color: var(--rcf-text-white);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-tool-card h4 .dashicons {
    color: var(--rcf-primary);
}

.rcf-tool-card p {
    margin: 0 0 12px 0;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

/* Status Tabs */
.rcf-status-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.rcf-status-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    transition: all var(--rcf-transition);
}

.rcf-status-tab:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-white);
}

.rcf-status-tab.active {
    background: var(--rcf-primary);
    color: white;
}

.rcf-tab-count {
    background: rgba(255,255,255,0.2);
    padding: 2px 8px;
    border-radius: 10px;
    font-size: 11px;
}

.rcf-status-tab.active .rcf-tab-count {
    background: rgba(0,0,0,0.2);
}

/* Admin Modals */
.rcf-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.rcf-modal-overlay.active {
    opacity: 1;
    visibility: visible;
}

.rcf-modal {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    width: 90%;
    max-width: 500px;
    max-height: 90vh;
    overflow: auto;
    transform: translateY(-20px);
    transition: transform 0.3s ease;
}

.rcf-modal-overlay.active .rcf-modal {
    transform: translateY(0);
}

.rcf-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-modal-header h3 {
    margin: 0;
    font-size: 18px;
    color: var(--rcf-text-white);
}

.rcf-modal-close {
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
}

.rcf-modal-close:hover {
    color: var(--rcf-text-white);
}

.rcf-modal-body {
    padding: 20px;
}

.rcf-modal-footer {
    padding: 15px 20px;
    border-top: 1px solid var(--rcf-border);
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* Modal Form Controls (modals sit outside .rcf-forum-wrapper) */
.rcf-modal-overlay .rcf-input,
.rcf-modal-overlay .rcf-textarea,
.rcf-modal-overlay .rcf-select {
    background: var(--rcf-bg-dark);
    color: var(--rcf-text);
    border: 1px solid var(--rcf-border);
    padding: 10px 12px;
    border-radius: var(--rcf-radius);
    font-size: 14px;
    width: 100%;
}
.rcf-modal-overlay .rcf-input:focus,
.rcf-modal-overlay .rcf-textarea:focus,
.rcf-modal-overlay .rcf-select:focus {
    outline: none;
    border-color: var(--rcf-primary);
}
.rcf-modal-overlay .rcf-input::placeholder,
.rcf-modal-overlay .rcf-textarea::placeholder {
    color: var(--rcf-text-muted);
}

/* Modal User Info */
.rcf-modal-user-info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-modal-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--rcf-border);
}

.rcf-modal-user-info span {
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

/* Modal Notes */
.rcf-modal-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 12px;
    background: rgba(33, 150, 243, 0.1);
    border: 1px solid var(--rcf-info);
    border-radius: var(--rcf-radius);
    margin-top: 15px;
    font-size: 13px;
    color: var(--rcf-info);
}

.rcf-modal-note .dashicons {
    flex-shrink: 0;
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-modal-note-danger {
    background: rgba(244, 67, 54, 0.1);
    border-color: var(--rcf-danger);
    color: var(--rcf-danger);
}

/* Spin Animation */
@keyframes rcf-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.rcf-spin {
    animation: rcf-spin 1s linear infinite;
}

/* Banned Row Styling */
.rcf-row-banned {
    opacity: 0.7;
}

.rcf-row-banned td {
    background: rgba(244, 67, 54, 0.05);
}

/* User Cell in Admin Table */
.rcf-user-cell .rcf-user-username {
    display: block;
    color: var(--rcf-text-muted);
    font-size: 12px;
}

/* Empty Table Cell */
.rcf-admin-table td.rcf-empty {
    text-align: center;
    padding: 40px;
    color: var(--rcf-text-muted);
}

/* Admin Filters */
.rcf-admin-filters {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    padding: 15px 20px;
    margin-bottom: 20px;
}

.rcf-filter-form {
    margin: 0;
}

.rcf-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.rcf-filter-group {
    flex-shrink: 0;
}

.rcf-filter-group .rcf-input,
.rcf-filter-group .rcf-select {
    min-width: 150px;
}

.rcf-filter-group .rcf-input[type="text"] {
    min-width: 200px;
}

/* Section Header */
.rcf-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.rcf-section-header h2 {
    margin: 0;
    font-size: 16px;
    color: var(--rcf-text-white);
}

/* Admin Stats Grid (Dashboard) */
.rcf-admin-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px;
    margin-bottom: 25px;
}

@media (max-width: 1200px) {
    .rcf-admin-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .rcf-admin-stats-grid {
        grid-template-columns: 1fr !important;
    }
}

.rcf-stat-card.rcf-stat-primary .rcf-stat-icon { background: var(--rcf-info); }
.rcf-stat-card.rcf-stat-success .rcf-stat-icon { background: var(--rcf-success); }
.rcf-stat-card.rcf-stat-warning .rcf-stat-icon { background: var(--rcf-warning); }
.rcf-stat-card.rcf-stat-danger .rcf-stat-icon { background: var(--rcf-danger); }

/* Admin Grid - Two column layout for tables */
.rcf-admin-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px;
    margin-bottom: 20px;
}

@media (max-width: 1200px) {
    .rcf-admin-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ─── Transaction List (forum-style rows) ─── */
.rcf-tx-list {
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    overflow: hidden;
}
.rcf-tx-list-header {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    gap: 12px;
    padding: 10px 16px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}
.rcf-tx-header-full {
    grid-template-columns: 50px 1fr auto auto auto auto auto;
}
.rcf-tx-th {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}
.rcf-tx-th-user { min-width: 160px; }
.rcf-tx-th-id { text-align: center; }

.rcf-tx-row {
    display: grid;
    grid-template-columns: 1fr auto auto auto auto;
    gap: 12px;
    padding: 12px 16px;
    align-items: center;
    border-bottom: 1px solid var(--rcf-border);
    transition: background 0.15s ease;
}
.rcf-tx-row:last-child { border-bottom: none; }
.rcf-tx-row:hover { background: rgba(255, 255, 255, 0.03); }

.rcf-tx-row-full {
    grid-template-columns: 50px 1fr auto auto auto auto auto;
}

/* User cell with avatar */
.rcf-tx-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.rcf-tx-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}
.rcf-tx-avatar-placeholder {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--rcf-bg-dark);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.rcf-tx-avatar-placeholder .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--rcf-text-muted);
}
.rcf-tx-user-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.rcf-tx-username {
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
a.rcf-tx-username:hover { color: var(--rcf-primary-light); }
.rcf-tx-unknown { color: var(--rcf-text-muted); font-style: italic; }
.rcf-tx-handle {
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Tier badge */
.rcf-tx-tier-badge {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    background: rgba(198, 40, 40, 0.15);
    color: var(--rcf-primary-light);
    white-space: nowrap;
}

/* Amount */
.rcf-tx-amount {
    font-size: 14px;
    font-weight: 600;
    color: var(--rcf-success, #4caf50);
    white-space: nowrap;
}
.rcf-tx-currency {
    font-size: 11px;
    font-weight: 400;
    color: var(--rcf-text-muted);
    margin-left: 2px;
}

/* ID column */
.rcf-tx-id {
    font-size: 12px;
    color: var(--rcf-text-muted);
    text-align: center;
    font-weight: 500;
}

/* Gateway */
.rcf-tx-gateway {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--rcf-text-secondary);
    white-space: nowrap;
}
.rcf-tx-gateway .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--rcf-text-muted);
}

/* Status badges for transactions */
.rcf-status-completed {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success, #4caf50);
}
.rcf-status-pending {
    background: rgba(33, 150, 243, 0.2);
    color: #2196f3;
}
.rcf-status-failed {
    background: rgba(244, 67, 54, 0.2);
    color: var(--rcf-danger, #f44336);
}
.rcf-status-refunded,
.rcf-status-past_due,
.rcf-status-past-due {
    background: rgba(255, 152, 0, 0.2);
    color: var(--rcf-warning, #ff9800);
}

/* Date cell */
.rcf-tx-date {
    font-size: 12px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}
.rcf-tx-time {
    display: block;
    font-size: 11px;
    color: var(--rcf-text-muted);
    opacity: 0.7;
}

/* Responsive */
@media (max-width: 768px) {
    .rcf-tx-list-header { display: none; }
    .rcf-tx-row,
    .rcf-tx-row-full {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px 16px;
    }
    .rcf-tx-id { text-align: left; }
    .rcf-tx-tier, .rcf-tx-gateway, .rcf-tx-status, .rcf-tx-date {
        font-size: 12px;
    }
}

/* Improved Admin Table Styles */
.rcf-admin-section .rcf-admin-table-wrapper {
    margin-top: 15px;
    border-radius: var(--rcf-radius);
    overflow-x: auto;
    border: 1px solid var(--rcf-border);
}

.rcf-admin-section .rcf-admin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 300px;
}

.rcf-admin-section .rcf-admin-table th,
.rcf-admin-section .rcf-admin-table td {
    padding: 12px 15px;
    text-align: left;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-admin-section .rcf-admin-table th {
    background: var(--rcf-bg-medium);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}

.rcf-admin-section .rcf-admin-table td {
    font-size: 13px;
    color: var(--rcf-text);
    vertical-align: middle;
}

.rcf-admin-section .rcf-admin-table tbody tr:last-child td {
    border-bottom: none;
}

.rcf-admin-section .rcf-admin-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.03);
}

/* User cell in admin tables */
.rcf-user-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rcf-user-cell img {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-user-cell > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.rcf-user-cell a {
    font-weight: 500;
    color: var(--rcf-text-white);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rcf-user-cell a:hover {
    color: var(--rcf-primary-light);
}

.rcf-user-cell .rcf-user-email {
    font-size: 11px;
    color: var(--rcf-text-muted);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Rank badges */
.rcf-rank-badge {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

.rcf-stat-content {
    flex: 1;
}

.rcf-stat-footer {
    font-size: 12px;
    margin-top: 5px;
}

.rcf-stat-change {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.rcf-stat-change.rcf-positive {
    color: var(--rcf-success);
}

.rcf-stat-change.rcf-negative {
    color: var(--rcf-danger);
}

/* Dashboard Grid */
.rcf-dashboard-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

@media (max-width: 991px) {
    .rcf-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

/* Recent Activity Lists */
.rcf-recent-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rcf-recent-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-recent-item:last-child {
    border-bottom: none;
}

.rcf-recent-item img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
}

.rcf-recent-item-info {
    flex: 1;
    min-width: 0;
}

.rcf-recent-item-title {
    display: block;
    color: var(--rcf-text-white);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-recent-item-meta {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Status Badges */
.rcf-status-badge {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--rcf-radius);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.rcf-status-active {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-status-banned {
    background: rgba(244, 67, 54, 0.2);
    color: var(--rcf-danger);
}

.rcf-status-pending {
    background: rgba(255, 152, 0, 0.2);
    color: var(--rcf-warning);
}

.rcf-status-resolved {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-status-dismissed {
    background: rgba(158, 158, 158, 0.2);
    color: var(--rcf-text-muted);
}

.rcf-status-open {
    background: rgba(33, 150, 243, 0.2);
    color: var(--rcf-info);
}

.rcf-status-closed {
    background: rgba(158, 158, 158, 0.2);
    color: var(--rcf-text-muted);
}

.rcf-status-hidden {
    background: rgba(156, 39, 176, 0.2);
    color: var(--rcf-purple);
}

.rcf-status-published {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-status-spam {
    background: rgba(244, 67, 54, 0.2);
    color: var(--rcf-danger);
}

.rcf-status-trash {
    background: rgba(158, 158, 158, 0.2);
    color: var(--rcf-text-muted);
}

/* Access Denied */
.rcf-access-denied,
.rcf-not-found {
    text-align: center;
    padding: 60px 20px;
    max-width: 400px;
    margin: 50px auto;
}

.rcf-access-denied .dashicons,
.rcf-not-found .dashicons {
    font-size: 64px;
    width: 64px;
    height: 64px;
    color: var(--rcf-danger);
    margin-bottom: 20px;
}

.rcf-access-denied h2,
.rcf-not-found h2 {
    margin: 0 0 10px 0;
    color: var(--rcf-text-white);
}

.rcf-access-denied p,
.rcf-not-found p {
    color: var(--rcf-text-muted);
    margin-bottom: 20px;
}

/* Responsive Admin */
@media (max-width: 991px) {
    .rcf-admin-sidebar {
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid var(--rcf-border);
    }

    .rcf-admin-nav-section {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        padding: 5px 10px;
    }

    .rcf-nav-section-title {
        width: 100%;
        padding: 5px 10px;
    }

    a.rcf-admin-nav-item,
    .rcf-admin-nav-item {
        padding: 8px 15px;
        border-left: none;
        border-radius: var(--rcf-radius);
    }

    a.rcf-admin-nav-item.rcf-nav-active,
    .rcf-admin-nav-item.rcf-nav-active {
        border-left: none;
    }

    .rcf-admin-user-card {
        display: none;
    }

    .rcf-user-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .rcf-admin-content {
        padding: 15px;
    }

    .rcf-admin-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .rcf-mod-actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .rcf-report-form {
        flex-direction: column;
    }

    .rcf-report-form .rcf-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ========================================
   Report Button & Modal
   ======================================== */

.rcf-report-btn {
    color: var(--rcf-text-muted) !important;
    transition: color var(--rcf-transition);
}

.rcf-report-btn:hover {
    color: var(--rcf-warning) !important;
}

.rcf-report-btn .dashicons {
    font-size: 16px;
}

/* Report Modal Specific Styles */
#rcf-report-modal .rcf-modal {
    max-width: 500px;
}

.rcf-report-info {
    color: var(--rcf-text-light);
    margin-bottom: 20px;
    font-size: 14px;
}

.rcf-report-reasons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}

.rcf-radio-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 15px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-radio-option:hover {
    border-color: var(--rcf-primary);
    background: rgba(var(--rcf-primary-rgb), 0.05);
}

.rcf-radio-option input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--rcf-primary);
    cursor: pointer;
}

.rcf-radio-option input[type="radio"]:checked + .rcf-radio-label strong {
    color: var(--rcf-primary);
}

.rcf-radio-label {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rcf-radio-label strong {
    font-size: 14px;
    color: var(--rcf-text-white);
}

.rcf-radio-label span {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

#rcf-report-modal .rcf-form-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-light);
}

#rcf-report-modal .rcf-form-field textarea {
    width: 100%;
    padding: 10px 12px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-family: inherit;
    font-size: 14px;
    resize: vertical;
}

#rcf-report-modal .rcf-form-field textarea:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

#rcf-report-modal .rcf-form-field textarea::placeholder {
    color: var(--rcf-text-muted);
}

/* Floating Notice */
.rcf-notice-float {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 10001;
    max-width: 400px;
    padding: 15px 20px;
    border-radius: var(--rcf-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    animation: rcf-slide-in 0.3s ease, rcf-fade-out 0.3s ease 3.5s forwards;
}

.rcf-notice-float .dashicons {
    margin-right: 8px;
    vertical-align: middle;
}

@keyframes rcf-slide-in {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes rcf-fade-out {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

/* ========================================
   Discord-Style Admin Sidebar
   ======================================== */
.rcf-admin-sidebar {
    background: var(--rcf-bg-dark) !important;
    border-right: 1px solid var(--rcf-border);
    display: flex !important;
    flex-direction: column;
    min-height: calc(100vh - 100px);
    width: 260px !important;
    min-width: 260px !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.rcf-admin-user-card {
    padding: 20px;
    text-align: center;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-admin-avatar img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 3px solid var(--rcf-primary);
    margin-bottom: 10px;
}

.rcf-admin-user-info h3 {
    margin: 0 0 5px 0;
    font-size: 16px;
    color: var(--rcf-text-white);
}

.rcf-admin-role {
    font-size: 12px;
    font-weight: 600;
}

/* ========================================
   Discord-Style Roles Management
   ======================================== */
.rcf-roles-layout {
    display: grid;
    grid-template-columns: 280px 1fr;
    gap: 20px;
}

@media (max-width: 991px) {
    .rcf-roles-layout {
        grid-template-columns: 1fr;
    }
}

/* Roles List */
.rcf-roles-list {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
}

.rcf-roles-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-roles-header h3 {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-light);
    font-weight: 600;
}

.rcf-roles-items {
    max-height: 500px;
    overflow-y: auto;
}

.rcf-role-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 20px;
    border-left: 3px solid transparent;
    transition: all var(--rcf-transition);
    cursor: pointer;
    color: var(--rcf-text-light);
    text-decoration: none;
}

.rcf-role-item:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-white);
}

.rcf-role-item.active {
    background: var(--rcf-bg-medium);
    border-left-color: var(--role-color, var(--rcf-primary));
}

.rcf-role-color {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-role-name {
    flex: 1;
    font-size: 14px;
    font-weight: 500;
}

.rcf-role-count {
    font-size: 12px;
    color: var(--rcf-text-muted);
    background: var(--rcf-bg-light);
    padding: 2px 8px;
    border-radius: 10px;
}

.rcf-role-default {
    font-size: 10px;
    color: var(--rcf-primary);
    background: var(--rcf-primary-bg);
    padding: 2px 6px;
    border-radius: 3px;
    text-transform: uppercase;
    font-weight: 700;
}

.rcf-roles-hint {
    padding: 12px 20px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    border-top: 1px solid var(--rcf-border);
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.rcf-roles-hint .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Role Editor */
.rcf-role-editor {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    padding: 25px;
}

.rcf-role-section {
    margin-bottom: 30px;
}

.rcf-role-section:last-child {
    margin-bottom: 0;
}

.rcf-role-section h3 {
    margin: 0 0 20px 0;
    font-size: 16px;
    color: var(--rcf-text-white);
    padding-bottom: 10px;
    border-bottom: 1px solid var(--rcf-border);
}

/* Form Rows */
.rcf-form-row {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.rcf-form-field {
    margin-bottom: 15px;
}

.rcf-form-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-light);
}

.rcf-form-field input[type="text"],
.rcf-form-field input[type="email"],
.rcf-form-field input[type="number"],
.rcf-form-field input[type="date"],
.rcf-form-field textarea,
.rcf-form-field select {
    width: 100%;
    padding: 10px 12px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-family: inherit;
    font-size: 14px;
}

.rcf-form-field input:focus,
.rcf-form-field textarea:focus,
.rcf-form-field select:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

.rcf-form-field input:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.rcf-form-field-color {
    flex: 0 0 150px;
}

/* Color Picker */
.rcf-color-picker {
    display: flex;
    gap: 10px;
    align-items: center;
}

.rcf-color-picker input[type="color"] {
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: var(--rcf-radius);
    cursor: pointer;
}

.rcf-color-picker input[type="text"] {
    width: 100px;
}

/* Checkboxes for Display Options */
.rcf-form-checkboxes {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 15px;
}

.rcf-checkbox {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}

.rcf-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: var(--rcf-primary);
    cursor: pointer;
}

.rcf-checkbox-label strong {
    display: block;
    font-size: 14px;
    color: var(--rcf-text-white);
    margin-bottom: 2px;
}

.rcf-checkbox-label small {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Permission Categories */
.rcf-permission-category {
    margin-bottom: 25px;
}

.rcf-permission-category h4 {
    margin: 0 0 15px 0;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    letter-spacing: 0.5px;
}

.rcf-permission-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rcf-permission-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

.rcf-permission-item.rcf-permission-danger {
    background: rgba(244, 67, 54, 0.1);
    border: 1px solid rgba(244, 67, 54, 0.3);
}

.rcf-permission-info {
    flex: 1;
}

.rcf-permission-info strong {
    display: block;
    font-size: 14px;
    color: var(--rcf-text-white);
    margin-bottom: 2px;
}

.rcf-permission-info small {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Toggle Switch */
.rcf-toggle {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 24px;
}

.rcf-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rcf-toggle-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--rcf-bg-light);
    transition: 0.3s;
    border-radius: 24px;
}

.rcf-toggle-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: var(--rcf-text-muted);
    transition: 0.3s;
    border-radius: 50%;
}

.rcf-toggle input:checked + .rcf-toggle-slider {
    background-color: var(--rcf-success);
}

.rcf-toggle input:checked + .rcf-toggle-slider:before {
    transform: translateX(20px);
    background-color: white;
}

.rcf-toggle input:disabled + .rcf-toggle-slider {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Role Actions */
.rcf-role-actions {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid var(--rcf-border);
    margin-top: 20px;
}

/* Role Members */
.rcf-role-members-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.rcf-member-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    background: var(--rcf-bg-medium);
    border-radius: 20px;
    font-size: 13px;
    color: var(--rcf-text);
    transition: all var(--rcf-transition);
}

.rcf-member-chip:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text-white);
}

.rcf-member-chip img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.rcf-member-more {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    background: var(--rcf-bg-light);
    border-radius: 20px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* ========================================
   Discord-Style Bans Management
   ======================================== */
.rcf-bans-table .rcf-user-cell {
    display: flex;
    align-items: center;
    gap: 12px;
}

.rcf-bans-table .rcf-user-cell img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.rcf-bans-table .rcf-user-cell > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rcf-bans-table .rcf-user-name {
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-bans-table .rcf-user-email {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-ban-ip {
    font-size: 11px;
    color: var(--rcf-warning);
    font-family: monospace;
}

.rcf-ban-reason {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.rcf-ban-deleted-msgs {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: var(--rcf-danger);
    margin-top: 4px;
}

.rcf-ban-deleted-msgs .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-ban-expires {
    font-size: 13px;
    color: var(--rcf-text-light);
}

.rcf-row-inactive {
    opacity: 0.5;
}

/* Admin Filters */
.rcf-admin-filters {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius-lg);
    padding: 15px 20px;
    margin-bottom: 20px;
}

.rcf-filter-form {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}

.rcf-filter-search {
    display: flex;
    gap: 8px;
}

.rcf-filter-search input {
    padding: 8px 12px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-size: 13px;
    width: 200px;
}

.rcf-filter-search input:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

.rcf-filter-search button {
    padding: 8px 12px;
}

/* Action Buttons */
.rcf-action-buttons {
    display: flex;
    gap: 8px;
}

/* ========================================
   Discord-Style Audit Log
   ======================================== */
.rcf-audit-filters {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.rcf-audit-filters select,
.rcf-audit-filters input[type="date"] {
    padding: 8px 12px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-size: 13px;
    min-width: 150px;
}

.rcf-audit-filters select:focus,
.rcf-audit-filters input:focus {
    outline: none;
    border-color: var(--rcf-primary);
}

.rcf-export-actions {
    margin-left: auto;
    display: flex;
    gap: 10px;
}

/* Audit Log Entries */
.rcf-audit-log {
    display: flex;
    flex-direction: column;
}

.rcf-audit-date-group {
    margin-bottom: 20px;
}

.rcf-audit-date-header {
    padding: 10px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius) var(--rcf-radius) 0 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--rcf-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.rcf-audit-entries {
    background: var(--rcf-bg-dark);
    border-radius: 0 0 var(--rcf-radius) var(--rcf-radius);
    overflow: hidden;
}

.rcf-audit-entry {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-audit-entry:last-child {
    border-bottom: none;
}

.rcf-audit-icon {
    width: 36px;
    height: 36px;
    border-radius: var(--rcf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rcf-audit-icon .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: white;
}

/* Audit Action Colors */
.rcf-audit-icon.rcf-action-user_banned,
.rcf-audit-icon.rcf-action-user_kicked,
.rcf-audit-icon.rcf-action-user_timed_out,
.rcf-audit-icon.rcf-action-role_deleted {
    background: var(--rcf-danger);
}

.rcf-audit-icon.rcf-action-user_unbanned,
.rcf-audit-icon.rcf-action-timeout_removed,
.rcf-audit-icon.rcf-action-role_created {
    background: var(--rcf-success);
}

.rcf-audit-icon.rcf-action-user_warned,
.rcf-audit-icon.rcf-action-role_updated {
    background: var(--rcf-warning);
}

.rcf-audit-icon.rcf-action-role_assigned,
.rcf-audit-icon.rcf-action-role_removed,
.rcf-audit-icon.rcf-action-user_roles_updated {
    background: var(--rcf-info);
}

.rcf-audit-icon.rcf-action-roles_reordered,
.rcf-audit-icon.rcf-action-default {
    background: var(--rcf-purple);
}

.rcf-audit-details {
    flex: 1;
    min-width: 0;
}

.rcf-audit-summary {
    margin: 0 0 5px 0;
    font-size: 14px;
    color: var(--rcf-text-white);
}

.rcf-audit-summary strong {
    color: var(--rcf-primary-light);
}

.rcf-audit-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-audit-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.rcf-audit-meta .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-audit-reason {
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    font-size: 13px;
    color: var(--rcf-text-light);
    border-left: 3px solid var(--rcf-warning);
}

.rcf-audit-changes {
    margin-top: 8px;
    padding: 8px 12px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    font-size: 12px;
    color: var(--rcf-text-muted);
    font-family: monospace;
    white-space: pre-wrap;
    word-break: break-all;
}

/* Admin Pagination */
.rcf-admin-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 20px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-pagination-info {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

/* ========================================
   Duration Options (Ban/Timeout Modals)
   ======================================== */
.rcf-duration-options {
    display: flex;
    gap: 15px;
    margin-bottom: 10px;
}

.rcf-radio input[type="radio"] {
    width: 16px;
    height: 16px;
    accent-color: var(--rcf-primary);
    cursor: pointer;
}

.rcf-temp-duration {
    display: flex;
    gap: 10px;
    padding-left: 24px;
}

.rcf-temp-duration input[type="number"] {
    width: 80px;
    padding: 8px 10px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-size: 14px;
}

.rcf-temp-duration select {
    padding: 8px 10px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-size: 14px;
}

/* Modal User Info */
.rcf-modal-user-info {
    padding: 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
}

.rcf-modal-user-info img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.rcf-modal-user-info .rcf-modal-user-details {
    flex: 1;
}

.rcf-modal-user-info .rcf-modal-user-details strong {
    display: block;
    font-size: 16px;
    color: var(--rcf-text-white);
    margin-bottom: 4px;
}

.rcf-modal-user-info .rcf-modal-user-details span {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* ========================================
   Warnings & Timeouts Admin Styles
   ======================================== */

/* Stats Small Grid */
.rcf-stats-small {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.rcf-stat-icon.rcf-stat-warnings {
    background: var(--rcf-warning);
}

.rcf-stat-icon.rcf-stat-timeouts {
    background: var(--rcf-cyan);
}

.rcf-stat-icon.rcf-stat-expired {
    background: var(--rcf-text-muted);
}

/* Warning Table Styles */
.rcf-warnings-table .rcf-warning-reason,
.rcf-timeouts-table .rcf-timeout-reason {
    max-width: 250px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.rcf-warning-points {
    display: inline-block;
    padding: 4px 10px;
    background: var(--rcf-warning);
    color: #000;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
}

.rcf-warning-points.rcf-points-high {
    background: var(--rcf-danger);
    color: white;
}

.rcf-warning-points-total {
    display: block;
    font-size: 11px;
    color: var(--rcf-warning);
    margin-top: 2px;
}

/* Status Badges */
.rcf-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.rcf-status-badge .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-status-danger {
    background: rgba(244, 67, 54, 0.2);
    color: var(--rcf-danger);
}

.rcf-status-warning {
    background: rgba(255, 152, 0, 0.2);
    color: var(--rcf-warning);
}

.rcf-status-success {
    background: rgba(76, 175, 80, 0.2);
    color: var(--rcf-success);
}

.rcf-status-info {
    background: rgba(33, 150, 243, 0.2);
    color: var(--rcf-info);
}

.rcf-status-resolved {
    background: rgba(136, 136, 136, 0.2);
    color: var(--rcf-text-muted);
}

/* Time Left Display */
.rcf-time-left {
    display: inline-block;
    padding: 4px 10px;
    background: var(--rcf-warning);
    color: #000;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 700;
    font-family: monospace;
}

/* Warning Detail Modal */
.rcf-warning-detail {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.rcf-warning-detail-header {
    padding: 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    font-size: 16px;
}

.rcf-warning-detail-header strong {
    color: var(--rcf-text-muted);
    font-weight: 500;
    margin-right: 10px;
}

.rcf-warning-detail-row {
    display: flex;
    gap: 20px;
}

.rcf-warning-detail-item {
    flex: 1;
}

.rcf-warning-detail-item.rcf-warning-detail-full {
    flex: 100%;
}

.rcf-warning-detail-item label {
    display: block;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    margin-bottom: 5px;
}

.rcf-warning-detail-item span {
    font-size: 14px;
    color: var(--rcf-text-white);
}

.rcf-warning-reason-box {
    padding: 12px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border-left: 3px solid var(--rcf-warning);
    font-size: 14px;
    color: var(--rcf-text);
    line-height: 1.5;
}

/* Warning Thresholds Info */
.rcf-warning-thresholds {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    padding: 15px;
    margin-top: 10px;
}

.rcf-thresholds-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 10px 0;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text-light);
}

.rcf-thresholds-title .dashicons {
    color: var(--rcf-info);
}

.rcf-warning-thresholds ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.rcf-warning-thresholds li {
    padding: 5px 0;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-warning-thresholds li strong {
    color: var(--rcf-warning);
}

/* Timeout Presets */
.rcf-timeout-presets {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 15px;
}

.rcf-preset-btn {
    padding: 8px 16px;
    background: var(--rcf-bg-medium);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-light);
    font-size: 13px;
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-preset-btn:hover {
    background: var(--rcf-bg-light);
    border-color: var(--rcf-border-light);
    color: var(--rcf-text-white);
}

.rcf-preset-btn.active {
    background: var(--rcf-warning);
    border-color: var(--rcf-warning);
    color: #000;
}

.rcf-custom-duration {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rcf-custom-duration input {
    width: 100px;
    padding: 8px 12px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    color: var(--rcf-text-white);
    font-size: 14px;
}

.rcf-custom-duration span {
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* Timeout Info Box */
.rcf-timeout-info {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 15px;
    background: rgba(33, 150, 243, 0.1);
    border-radius: var(--rcf-radius);
    margin-top: 15px;
}

.rcf-timeout-info .dashicons {
    color: var(--rcf-info);
    font-size: 18px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
}

.rcf-timeout-info p {
    margin: 0;
    font-size: 13px;
    color: var(--rcf-text-light);
    line-height: 1.5;
}

/* Button Warning Style */
.rcf-btn-warning {
    background: var(--rcf-warning);
    color: #000;
}

.rcf-btn-warning:hover,
a.rcf-btn-warning:hover {
    background: #f57c00;
    color: #000;
}

.rcf-btn-warning .dashicons {
    margin-right: 5px;
}

/* ========================================
   Enhanced Admin Dashboard Styles
   ======================================== */

/* Admin Header Enhanced */
.rcf-admin-header-left h1 {
    margin: 0 0 5px 0;
    font-size: 24px;
    color: var(--rcf-text-white);
    display: flex;
    align-items: center;
    gap: 10px;
}

.rcf-admin-header-left p {
    margin: 0;
    color: var(--rcf-text-muted);
}

.rcf-admin-header-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.rcf-server-time {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* Admin Alert Banner */
.rcf-admin-alert {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    border-radius: var(--rcf-radius);
    margin-bottom: 20px;
}

.rcf-admin-alert .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
}

.rcf-alert-warning {
    background: rgba(255, 152, 0, 0.15);
    border: 1px solid rgba(255, 152, 0, 0.3);
    color: var(--rcf-warning);
}

.rcf-admin-alert a {
    color: var(--rcf-text-white);
    text-decoration: underline;
}

.rcf-admin-alert a:hover {
    color: var(--rcf-primary-light);
}

/* Secondary Stats Row */
.rcf-admin-stats-secondary {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px;
    margin-bottom: 25px;
}

@media (max-width: 1200px) {
    .rcf-admin-stats-secondary {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

@media (max-width: 600px) {
    .rcf-admin-stats-secondary {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.rcf-mini-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--rcf-bg-dark);
    padding: 12px 18px;
    border-radius: var(--rcf-radius);
    flex: 1;
    min-width: 150px;
}

.rcf-mini-stat-icon {
    width: 36px;
    height: 36px;
    border-radius: var(--rcf-radius);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-mini-stat-icon .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: white;
}

.rcf-mini-stat-content {
    display: flex;
    flex-direction: column;
}

.rcf-mini-stat-value {
    font-size: 18px;
    font-weight: 700;
    color: var(--rcf-text-white);
}

.rcf-mini-stat-label {
    font-size: 11px;
    color: var(--rcf-text-muted);
    text-transform: uppercase;
}

/* Background colors */
.rcf-bg-primary { background: var(--rcf-info); }
.rcf-bg-success { background: var(--rcf-success); }
.rcf-bg-warning { background: var(--rcf-warning); }
.rcf-bg-danger { background: var(--rcf-danger); }
.rcf-bg-info { background: #2196f3; }
.rcf-bg-purple { background: #9c27b0; }
.rcf-bg-dark { background: var(--rcf-bg-medium); }
.rcf-bg-secondary { background: #607d8b; }

/* Stat Card Enhancements */
.rcf-stat-footer {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 10px;
    border-top: 1px solid var(--rcf-border);
    margin-top: auto;
}

.rcf-stat-change {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
}

.rcf-stat-change .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-stat-change.rcf-positive {
    color: var(--rcf-success);
}

.rcf-stat-secondary {
    font-size: 11px;
    color: var(--rcf-text-muted);
}

.rcf-stat-link {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: var(--rcf-primary-light);
}

.rcf-stat-link:hover {
    text-decoration: underline;
}

.rcf-stat-link .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Quick Actions Grid - Enhanced */
.rcf-quick-actions-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 15px;
}

@media (max-width: 1200px) {
    .rcf-quick-actions-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}

@media (max-width: 900px) {
    .rcf-quick-actions-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.rcf-quick-action-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    transition: all 0.2s;
    position: relative;
}

.rcf-quick-action-card:hover {
    background: var(--rcf-bg-lighter);
    border-color: var(--rcf-primary);
    transform: translateY(-2px);
}

.rcf-qa-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
}

.rcf-qa-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: white;
}

.rcf-qa-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--rcf-text-white);
    margin-bottom: 4px;
}

.rcf-qa-desc {
    font-size: 11px;
    color: var(--rcf-text-muted);
}

.rcf-qa-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--rcf-danger);
    color: white;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
}

/* Activity Feed */
.rcf-activity-feed {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.rcf-activity-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-activity-item:last-child {
    border-bottom: none;
}

.rcf-activity-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcf-bg-medium);
    flex-shrink: 0;
}

.rcf-activity-icon .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--rcf-text-muted);
}

.rcf-activity-content {
    flex: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.rcf-activity-text {
    font-size: 13px;
    color: var(--rcf-text);
}

.rcf-activity-text strong {
    color: var(--rcf-text-white);
}

.rcf-activity-time {
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
}

/* Activity action colors */
.rcf-action-success .rcf-activity-icon {
    background: rgba(76, 175, 80, 0.2);
}
.rcf-action-success .rcf-activity-icon .dashicons {
    color: var(--rcf-success);
}

.rcf-action-danger .rcf-activity-icon {
    background: rgba(244, 67, 54, 0.2);
}
.rcf-action-danger .rcf-activity-icon .dashicons {
    color: var(--rcf-danger);
}

.rcf-action-warning .rcf-activity-icon {
    background: rgba(255, 152, 0, 0.2);
}
.rcf-action-warning .rcf-activity-icon .dashicons {
    color: var(--rcf-warning);
}

.rcf-action-info .rcf-activity-icon {
    background: rgba(33, 150, 243, 0.2);
}
.rcf-action-info .rcf-activity-icon .dashicons {
    color: #2196f3;
}

/* Online Staff Grid */
.rcf-online-staff-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.rcf-staff-card {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
}

.rcf-staff-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
}

.rcf-staff-info {
    display: flex;
    flex-direction: column;
}

.rcf-staff-name {
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-white);
}

.rcf-staff-status {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    color: var(--rcf-success);
}

.rcf-online-dot {
    width: 8px;
    height: 8px;
    background: var(--rcf-success);
    border-radius: 50%;
    animation: pulse 2s infinite;
}

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

/* Empty State Small */
.rcf-empty-state-small {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    text-align: center;
    color: var(--rcf-text-muted);
}

.rcf-empty-state-small .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
    margin-bottom: 10px;
    opacity: 0.5;
}

.rcf-empty-state-small p {
    margin: 0;
    font-size: 13px;
}

/* Status Dot */
.rcf-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-left: 6px;
}

.rcf-status-dot.rcf-status-pending {
    background: var(--rcf-warning);
}

/* Section Header Icons */
.rcf-section-header h2 .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--rcf-text-muted);
}

/* Compact Section */
.rcf-section-compact {
    padding: 15px 20px;
}

/* Button Extra Small */
.rcf-btn-xs {
    padding: 4px 10px;
    font-size: 11px;
}

/* ========================================
   Analytics Dashboard Styles
   ======================================== */

/* Date Range Selector */
.rcf-date-range-selector {
    display: flex;
    gap: 5px;
    background: var(--rcf-bg-dark);
    padding: 4px;
    border-radius: var(--rcf-radius);
}

.rcf-range-btn {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    transition: all var(--rcf-transition);
}

.rcf-range-btn:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-range-btn.active {
    background: var(--rcf-primary);
    color: #fff;
}

/* Analytics Overview Cards */
.rcf-analytics-overview {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

@media (max-width: 1200px) {
    .rcf-analytics-overview {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .rcf-analytics-overview {
        grid-template-columns: 1fr;
    }
}

.rcf-analytics-card {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 20px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
}

.rcf-analytics-card-icon {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--rcf-radius);
    flex-shrink: 0;
}

.rcf-analytics-card-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: #fff;
}

.rcf-analytics-card-icon.rcf-icon-primary {
    background: var(--rcf-primary);
}

.rcf-analytics-card-icon.rcf-icon-success {
    background: var(--rcf-success);
}

.rcf-analytics-card-icon.rcf-icon-info {
    background: var(--rcf-info);
}

.rcf-analytics-card-icon.rcf-icon-warning {
    background: var(--rcf-warning);
}

.rcf-analytics-card-content {
    flex: 1;
    min-width: 0;
}

.rcf-analytics-card-value {
    font-size: 28px;
    font-weight: 700;
    color: var(--rcf-text-white);
    line-height: 1.2;
}

.rcf-analytics-card-label {
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-bottom: 8px;
}

.rcf-analytics-card-change {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    padding: 2px 8px;
    border-radius: 10px;
}

.rcf-analytics-card-change .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-analytics-card-change.positive {
    background: rgba(76, 175, 80, 0.15);
    color: var(--rcf-success);
}

.rcf-analytics-card-change.negative {
    background: rgba(244, 67, 54, 0.15);
    color: var(--rcf-danger);
}

/* Analytics Charts */
.rcf-analytics-charts {
    margin-bottom: 25px;
}

.rcf-chart-container {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow: hidden;
}

.rcf-chart-wide {
    grid-column: span 2;
}

.rcf-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-chart-header h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-chart-header h3 .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: var(--rcf-text-muted);
}

.rcf-chart-body {
    padding: 20px;
    height: 280px;
}

/* Analytics Grid (Top Content) */
.rcf-analytics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 25px;
}

@media (max-width: 1000px) {
    .rcf-analytics-grid {
        grid-template-columns: 1fr;
    }
}

.rcf-analytics-section {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow: hidden;
}

.rcf-analytics-section .rcf-section-header {
    padding: 12px 15px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-analytics-section .rcf-section-header h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-analytics-section .rcf-section-header h3 .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    color: var(--rcf-text-muted);
}

/* Top Lists */
.rcf-top-list {
    padding: 10px 0;
}

.rcf-top-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 15px;
    transition: background var(--rcf-transition);
}

.rcf-top-item:hover {
    background: var(--rcf-bg-dark);
}

.rcf-top-rank {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: var(--rcf-text-muted);
    background: var(--rcf-bg-dark);
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-top-item:first-child .rcf-top-rank {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-top-item:nth-child(2) .rcf-top-rank {
    background: #aaa;
    color: #000;
}

.rcf-top-item:nth-child(3) .rcf-top-rank {
    background: #cd7f32;
    color: #fff;
}

.rcf-top-avatar img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
}

.rcf-top-content {
    flex: 1;
    min-width: 0;
}

.rcf-top-title {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 3px;
}

.rcf-top-title:hover {
    color: var(--rcf-primary);
}

.rcf-top-meta {
    display: flex;
    gap: 10px;
    font-size: 11px;
    color: var(--rcf-text-muted);
}

.rcf-top-meta span {
    display: flex;
    align-items: center;
    gap: 3px;
}

.rcf-top-meta .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-top-bar {
    width: 60px;
    flex-shrink: 0;
}

.rcf-progress-bar {
    height: 6px;
    background: var(--rcf-bg-dark);
    border-radius: 3px;
    overflow: hidden;
}

.rcf-progress-fill {
    height: 100%;
    background: var(--rcf-primary);
    border-radius: 3px;
    transition: width 0.3s ease;
}

.rcf-empty-mini {
    padding: 30px 20px;
    text-align: center;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* Engagement Section */
.rcf-analytics-engagement {
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    border: 1px solid var(--rcf-border);
    overflow: hidden;
}

.rcf-analytics-engagement .rcf-section-header {
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-analytics-engagement .rcf-section-header h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-engagement-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1px;
    background: var(--rcf-border);
}

@media (max-width: 1000px) {
    .rcf-engagement-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 600px) {
    .rcf-engagement-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.rcf-engagement-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 25px 15px;
    background: var(--rcf-bg-medium);
    text-align: center;
}

.rcf-engagement-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--rcf-bg-dark);
    border-radius: 50%;
    margin-bottom: 12px;
}

.rcf-engagement-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--rcf-primary);
}

.rcf-engagement-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--rcf-text-white);
    margin-bottom: 5px;
}

.rcf-engagement-label {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* ========================================
   Cross-Browser Compatibility & Animations
   Safari, Chrome, Firefox, Edge compatible
   ======================================== */

/* Spin animation for loading states */
@-webkit-keyframes rcf-spin {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes rcf-spin {
    0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

.rcf-spin,
.rcf-spinner,
.dashicons.rcf-spin {
    -webkit-animation: rcf-spin 1s linear infinite;
    animation: rcf-spin 1s linear infinite;
    display: inline-block;
}

/* Flexbox vendor prefixes for older browsers */
.rcf-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
}

.rcf-flex-wrap {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.rcf-flex-center {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
}

/* Button touch improvements for mobile */
.rcf-btn,
.rcf-forum-wrapper button,
.rcf-forum-wrapper input[type="submit"] {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    touch-action: manipulation;
}

/* Smooth scrolling for all browsers */
.rcf-forum-wrapper {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
}

/* Input styling for iOS */
.rcf-forum-wrapper input[type="text"],
.rcf-forum-wrapper input[type="email"],
.rcf-forum-wrapper input[type="password"],
.rcf-forum-wrapper input[type="url"],
.rcf-forum-wrapper input[type="search"],
.rcf-forum-wrapper textarea,
.rcf-forum-wrapper select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: var(--rcf-radius);
    font-size: 16px; /* Prevents iOS zoom on focus */
}

/* Text rendering optimization */
.rcf-forum-wrapper {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Fix for Chrome's autofill background */
.rcf-forum-wrapper input:-webkit-autofill,
.rcf-forum-wrapper input:-webkit-autofill:hover,
.rcf-forum-wrapper input:-webkit-autofill:focus,
.rcf-forum-wrapper input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px var(--rcf-bg-dark) inset !important;
    -webkit-text-fill-color: var(--rcf-text) !important;
    caret-color: var(--rcf-text);
    transition: background-color 5000s ease-in-out 0s;
}

/* Safe area insets for notched devices (iPhone X+) */
@supports (padding: max(0px)) {
    .rcf-forum-wrapper {
        padding-left: max(10px, env(safe-area-inset-left));
        padding-right: max(10px, env(safe-area-inset-right));
    }

    .rcf-forum-nav {
        padding-left: max(15px, env(safe-area-inset-left));
        padding-right: max(15px, env(safe-area-inset-right));
    }
}

/* ========================================
   Enhanced Mobile Responsiveness
   ======================================== */

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
    .rcf-forum-wrapper {
        padding: 10px 5px !important;
        font-size: 13px;
    }

    .rcf-forum-nav {
        flex-wrap: wrap;
        padding: 10px;
        gap: 8px;
    }

    .rcf-nav-brand {
        width: 100%;
        text-align: center;
        margin-bottom: 5px;
    }

    .rcf-nav-menu {
        width: 100%;
        justify-content: center;
        gap: 5px;
    }

    .rcf-nav-link {
        padding: 8px 10px;
        font-size: 12px;
    }

    .rcf-nav-text {
        display: none;
    }

    .rcf-nav-user {
        width: 100%;
        justify-content: center;
        margin-top: 5px;
    }

    .rcf-btn {
        padding: 8px 12px;
        font-size: 12px;
    }

    .rcf-btn-sm {
        padding: 6px 10px;
        font-size: 11px;
    }

    .rcf-topic-title {
        font-size: 14px;
    }

    .rcf-post-content {
        font-size: 13px;
    }

    /* Hide less important columns on mobile */
    .rcf-forum-stats,
    .rcf-forum-last-post {
        display: none !important;
    }

    /* Stack form elements */
    .rcf-form-row {
        flex-direction: column;
    }

    .rcf-form-row > * {
        width: 100% !important;
        margin-bottom: 10px;
    }

    /* Full width modals */
    .rcf-modal-content {
        width: 95% !important;
        max-width: none !important;
        margin: 10px auto !important;
        max-height: 90vh;
        overflow-y: auto;
    }
}

/* Small devices (landscape phones, 576px to 768px) */
@media (min-width: 576px) and (max-width: 767.98px) {
    .rcf-forum-wrapper {
        padding: 15px 10px !important;
    }

    .rcf-nav-text {
        display: none;
    }

    .rcf-forum-stats {
        display: none !important;
    }
}

/* Tablet portrait */
@media (min-width: 768px) and (max-width: 991.98px) {
    .rcf-forum-wrapper {
        padding: 15px !important;
    }
}

/* Touch device hover states */
@media (hover: none) and (pointer: coarse) {
    .rcf-btn:hover,
    .rcf-forum-wrapper a:hover {
        /* Disable hover effects on touch devices to prevent sticky hover */
        opacity: 1;
    }

    .rcf-btn:active {
        opacity: 0.8;
        transform: scale(0.98);
    }
}

/* High DPI screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .rcf-forum-wrapper {
        /* Ensure crisp rendering on retina displays */
        -webkit-font-smoothing: subpixel-antialiased;
    }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .rcf-forum-wrapper *,
    .rcf-forum-wrapper *::before,
    .rcf-forum-wrapper *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .rcf-spin {
        animation: none !important;
    }

    /* Global catch-all for avatar animations (may be outside .rcf-forum-wrapper in widgets/comments) */
    .rcf-avatar-anim,
    .rcf-avatar-anim *,
    .rcf-avatar-anim::before,
    .rcf-avatar-anim::after {
        animation: none !important;
        transition: none !important;
    }
}

/* Dark mode support (for system preference) */
@media (prefers-color-scheme: dark) {
    /* Forum is already dark themed, but ensure consistency */
    .rcf-forum-wrapper {
        color-scheme: dark;
    }
}

/* Print styles */
@media print {
    .rcf-forum-nav,
    .rcf-sidebar,
    .rcf-btn,
    .rcf-pagination,
    .rcf-admin-nav {
        display: none !important;
    }

    .rcf-forum-wrapper {
        background: white !important;
        color: black !important;
        max-width: 100% !important;
    }

    .rcf-forum-wrapper a {
        color: black !important;
        text-decoration: underline;
    }
}

/* ==========================================================================
   Image Uploader Styles
   ========================================================================== */

.rcf-image-uploader {
    margin-bottom: 20px;
}

.rcf-image-upload-zone {
    position: relative;
    background: #121212;
    transition: all 0.2s ease;
}

.rcf-image-upload-zone:hover {
    border-color: #2196f3 !important;
    background: rgba(33, 150, 243, 0.05);
}

.rcf-image-upload-zone.rcf-drag-over {
    border-color: #4caf50 !important;
    background: rgba(76, 175, 80, 0.1);
    transform: scale(1.01);
}

.rcf-image-upload-zone .rcf-image-preview {
    position: relative;
}

.rcf-image-upload-zone .rcf-image-preview img {
    width: 100%;
    height: auto;
    border-radius: 6px;
    display: block;
}

.rcf-image-upload-zone .rcf-image-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    font-size: 12px;
    color: #b0b0b0;
}

.rcf-image-upload-zone .rcf-image-size {
    color: #4caf50;
}

.rcf-image-upload-zone .rcf-image-dims {
    color: #2196f3;
}

.rcf-image-upload-zone .rcf-remove-image {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: rgba(244, 67, 54, 0.9);
    border: none;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    z-index: 10;
}

.rcf-image-upload-zone .rcf-remove-image:hover {
    background: #f44336;
    transform: scale(1.1);
}

.rcf-image-upload-zone .rcf-remove-image .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-upload-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
}

.rcf-upload-status.rcf-status-success {
    color: #4caf50;
}

.rcf-upload-status.rcf-status-error {
    color: #f44336;
}

.rcf-upload-status .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Featured image specific styles */
.rcf-image-upload-zone[data-image-type="featured"] .rcf-image-preview img {
    max-height: 300px;
    width: auto;
    margin: 0 auto;
}

/* Body images grid */
.rcf-body-images-grid .rcf-image-upload-zone .rcf-image-preview img {
    max-height: 150px;
    object-fit: cover;
}

/* Progress bar animation */
@keyframes rcf-progress-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.rcf-upload-progress .rcf-progress-bar {
    animation: rcf-progress-pulse 1s ease-in-out infinite;
}

/* ── Featured image: side-by-side layout ── */
.rcf-featured-wrapper {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}

.rcf-featured-wrapper > .rcf-image-upload-zone {
    flex: 1 1 auto;
    min-width: 0;
}

/* Shrink upload zone when image is present so side panel gets room */
.rcf-featured-wrapper > .rcf-image-upload-zone.rcf-has-image {
    flex: 0 1 auto;
}

/* Side panel for featured image metadata — property-sheet style */
.rcf-img-metadata-panel--side {
    flex: 1 1 220px;
    flex-direction: column;
    gap: 0;
    min-width: 150px;
    background: #121212;
    border: 1px solid #252535;
    border-radius: 5px;
    padding: 3px;
}

.rcf-side-meta-row {
    display: flex;
    align-items: center;
    gap: 0;
}

.rcf-side-meta-key {
    flex: 0 0 38px;
    color: #555555;
    font-size: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    padding: 0 4px 0 2px;
    text-align: right;
}

.rcf-img-metadata-panel--side .rcf-input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 1px solid transparent;
    border-bottom: 1px solid #232334;
    border-radius: 0;
    color: #e0e0e0;
    padding: 3px 4px;
    font-size: 9px;
    transition: border-color 0.2s, background 0.15s;
    box-sizing: border-box;
}

.rcf-img-metadata-panel--side .rcf-input:focus {
    border-color: transparent;
    border-bottom-color: #2196f3;
    background: rgba(33, 150, 243, 0.04);
    outline: none;
}

.rcf-img-metadata-panel--side .rcf-input::placeholder {
    color: #3a3a4e;
    font-size: 8px;
}

/* Title + Description on one row */
.rcf-side-meta-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.rcf-side-meta-pair .rcf-side-meta-key {
    font-size: 7px;
    flex: 0 0 30px;
}

.rcf-side-meta-pair .rcf-input {
    font-size: 8px;
    padding: 2px 3px;
}

/* ── Body images: compact inline bar below each image ── */
.rcf-body-image-cell {
    display: flex;
    flex-direction: column;
}

.rcf-img-metadata-panel--inline {
    margin-top: 4px;
}

.rcf-img-meta-primary {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rcf-img-meta-label {
    color: #4a4a5e;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    white-space: nowrap;
    flex-shrink: 0;
}

.rcf-img-meta-primary .rcf-input {
    flex: 1;
    min-width: 0;
    background: #1a1a2a;
    border: 1px solid #252535;
    border-radius: 3px;
    color: #e0e0e0;
    padding: 2px 5px;
    font-size: 9px;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.rcf-img-meta-primary .rcf-input:focus {
    border-color: #2196f3;
    outline: none;
}

.rcf-img-meta-primary .rcf-input::placeholder {
    color: #3a3a4e;
    font-size: 8px;
}

.rcf-img-meta-toggle {
    color: #4a4a5e;
    font-size: 8px;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
    padding: 1px 3px;
    border-radius: 2px;
    transition: color 0.15s, background 0.15s;
    font-weight: 500;
}

.rcf-img-meta-toggle:hover {
    color: #2196f3;
    background: rgba(33, 150, 243, 0.08);
}

.rcf-img-meta-toggle.rcf-meta-expanded {
    color: #2196f3;
}

/* Expandable extra fields for body images */
.rcf-img-meta-extra {
    padding-top: 3px;
}

.rcf-img-meta-extra-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3px;
}

.rcf-inline-field {
    display: flex;
    align-items: center;
    gap: 0;
    background: #1a1a2a;
    border-radius: 3px;
    overflow: hidden;
}

.rcf-inline-key {
    flex: 0 0 auto;
    color: #4a4a5e;
    font-size: 7px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    padding: 0 3px;
    white-space: nowrap;
}

.rcf-img-meta-extra .rcf-input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: none;
    border-left: 1px solid #252535;
    border-radius: 0;
    color: #e0e0e0;
    padding: 2px 4px;
    font-size: 8px;
    transition: background 0.15s;
    box-sizing: border-box;
}

.rcf-img-meta-extra .rcf-input:focus {
    background: rgba(33, 150, 243, 0.05);
    outline: none;
}

.rcf-img-meta-extra .rcf-input::placeholder {
    color: #333348;
    font-size: 7px;
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .rcf-featured-wrapper {
        flex-direction: column;
    }
    .rcf-img-metadata-panel--side {
        flex: 1 1 auto;
    }
    .rcf-side-meta-pair {
        grid-template-columns: 1fr;
    }
    .rcf-img-meta-extra-grid {
        grid-template-columns: 1fr;
    }
}

/* Total size tracker */
.rcf-total-size-tracker {
    background: #121212;
}

.rcf-total-progress-bar {
    border-radius: 3px;
}

/* Image uploader responsive */
@media (max-width: 768px) {
    .rcf-body-images-grid {
        grid-template-columns: 1fr !important;
    }

    .rcf-image-upload-zone[data-image-type="featured"] .rcf-image-preview img {
        max-height: 200px;
    }
}

/* ========================================
   Featured Image Crop/Rotate Modal
   ======================================== */

.rcf-crop-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
}

.rcf-crop-modal-overlay.rcf-crop-modal-open {
    display: flex;
}

.rcf-crop-modal {
    max-width: 720px;
    width: 92%;
    max-height: 90vh;
    overflow-y: auto;
    background: #1a1a1a;
    border-radius: 12px;
    border: 1px solid #333333;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.rcf-crop-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #333333;
}

.rcf-crop-modal-header h3 {
    margin: 0;
    color: #e0e0e0;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-crop-modal-close {
    background: none;
    border: none;
    color: #888888;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    transition: color 0.2s;
}

.rcf-crop-modal-close:hover {
    color: #f44336;
}

.rcf-crop-modal-body {
    padding: 20px;
}

.rcf-crop-warning {
    color: #b0b0b0;
    font-size: 13px;
    line-height: 1.5;
    margin: 0 0 16px 0;
}

.rcf-crop-warning strong {
    color: #e0e0e0;
}

.rcf-crop-options {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.rcf-crop-option {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 8px;
    border: 2px solid #333333;
    background: transparent;
    color: #b0b0b0;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
}

.rcf-crop-option:hover {
    border-color: #444444;
    color: #e0e0e0;
}

.rcf-crop-option--active {
    border-color: #2196f3;
    background: rgba(33, 150, 243, 0.1);
    color: #2196f3;
}

.rcf-crop-option .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-rotate-warning {
    padding: 10px 14px;
    margin-bottom: 16px;
    background: rgba(249, 226, 175, 0.15);
    border: 1px solid rgba(249, 226, 175, 0.3);
    border-left: 3px solid #ff9800;
    border-radius: 6px;
    color: #ff9800;
    font-size: 12px;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 8px;
}

.rcf-rotate-warning .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.rcf-crop-workspace {
    position: relative;
    background: #0d0d0d;
    border: 1px solid #333333;
    border-radius: 8px;
    overflow: hidden;
    min-height: 300px;
    max-height: 50vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-crop-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 20px;
    border-top: 1px solid #333333;
}

.rcf-crop-cancel {
    padding: 8px 20px;
    border-radius: 6px;
    border: 1px solid #333333;
    background: transparent;
    color: #b0b0b0;
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}

.rcf-crop-cancel:hover {
    border-color: #444444;
    color: #e0e0e0;
}

.rcf-crop-apply {
    padding: 8px 24px;
    border-radius: 6px;
    border: none;
    background: #4caf50;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
}

.rcf-crop-apply:hover {
    background: #94d89a;
}

/* Cropper.js dark theme overrides */
.rcf-crop-workspace .cropper-modal {
    background: rgba(0, 0, 0, 0.7);
}

.rcf-crop-workspace .cropper-view-box {
    outline: 2px solid #2196f3;
    outline-color: #2196f3;
}

.rcf-crop-workspace .cropper-line {
    background-color: #2196f3;
}

.rcf-crop-workspace .cropper-point {
    background-color: #2196f3;
}

.rcf-crop-workspace .cropper-dashed {
    border-color: rgba(33, 150, 243, 0.5);
}

/* Rotate preview styling */
.rcf-crop-workspace .rcf-rotate-preview {
    max-width: 90%;
    max-height: 45vh;
    transition: transform 0.3s ease;
}

/* Loading spinner while smartcrop analyzes */
.rcf-crop-loading {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: rgba(17, 17, 27, 0.85);
    color: #b0b0b0;
    font-size: 13px;
    z-index: 5;
    border-radius: 8px;
}

.rcf-crop-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid #333333;
    border-top-color: #2196f3;
    border-radius: 50%;
    animation: rcf-crop-spin 0.7s linear infinite;
}

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

/* Disabled apply button */
.rcf-crop-apply:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

@media (max-width: 480px) {
    .rcf-crop-modal {
        width: 100%;
        max-height: 100vh;
        border-radius: 0;
    }

    .rcf-crop-options {
        flex-direction: column;
    }

    .rcf-crop-modal-footer {
        flex-direction: column;
    }

    .rcf-crop-cancel,
    .rcf-crop-apply {
        width: 100%;
        text-align: center;
    }
}

/* Disable button state */
.rcf-btn-disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: none;
}

/* ========================================
   Modal System Styles
   ======================================== */

/* Modal Overlay */
.rcf-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(4px);
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.rcf-modal-overlay.rcf-modal-visible {
    opacity: 1;
    visibility: visible;
}

/* Modal Container */
.rcf-modal {
    background: var(--rcf-bg-dark, #1a1a1a);
    border: 1px solid var(--rcf-border, #333);
    border-radius: 12px;
    width: 90%;
    max-width: 440px;
    max-height: 90vh;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
    transform: scale(0.9) translateY(-20px);
    transition: transform 0.2s ease;
}

.rcf-modal-overlay.rcf-modal-visible .rcf-modal {
    transform: scale(1) translateY(0);
}

/* Modal Header */
.rcf-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid var(--rcf-border, #333);
    background: var(--rcf-bg-medium, #242424);
}

.rcf-modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: var(--rcf-text-white, #fff);
}

.rcf-modal-close {
    background: none;
    border: none;
    color: var(--rcf-text-muted, #888);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.15s ease;
}

.rcf-modal-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--rcf-text-white, #fff);
}

/* Modal Body */
.rcf-modal-body {
    padding: 24px 20px;
    text-align: center;
}

.rcf-modal-icon {
    margin-bottom: 16px;
}

.rcf-modal-icon .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    line-height: 48px;
}

/* Icon colors by type */
.rcf-modal-info .rcf-modal-icon .dashicons {
    color: var(--rcf-info, #2196f3);
}

.rcf-modal-success .rcf-modal-icon .dashicons {
    color: var(--rcf-success, #4caf50);
}

.rcf-modal-warning .rcf-modal-icon .dashicons {
    color: var(--rcf-warning, #ff9800);
}

.rcf-modal-error .rcf-modal-icon .dashicons {
    color: var(--rcf-danger, #f44336);
}

.rcf-modal-message {
    font-size: 15px;
    color: var(--rcf-text, #e0e0e0);
    line-height: 1.6;
}

/* Modal Footer */
.rcf-modal-footer {
    display: flex;
    gap: 12px;
    justify-content: center;
    padding: 16px 20px;
    border-top: 1px solid var(--rcf-border, #333);
    background: var(--rcf-bg-darker, #121212);
}

.rcf-modal-footer .rcf-btn {
    min-width: 100px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
}

/* Confirm modal - buttons side by side */
.rcf-modal-confirm .rcf-modal-footer {
    justify-content: flex-end;
}

/* Button styles for modal */
.rcf-btn-secondary {
    background: var(--rcf-bg-light, #2d2d2d);
    color: var(--rcf-text, #e0e0e0);
    border: 1px solid var(--rcf-border, #333);
}

.rcf-btn-secondary:hover {
    background: var(--rcf-bg-medium, #242424);
    border-color: var(--rcf-border-light, #444);
}

.rcf-btn-danger {
    background: var(--rcf-danger, #f44336);
    color: #fff;
    border: none;
}

.rcf-btn-danger:hover {
    background: #d32f2f;
}

/* ========================================
   Toast Notification Styles
   ======================================== */

.rcf-toast-container {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 100001;
    display: flex;
    flex-direction: column;
    gap: 10px;
    pointer-events: none;
}

.rcf-toast {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--rcf-bg-dark, #1a1a1a);
    border: 1px solid var(--rcf-border, #333);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    min-width: 280px;
    max-width: 400px;
    pointer-events: auto;
    transform: translateX(120%);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.rcf-toast.rcf-toast-visible {
    transform: translateX(0);
    opacity: 1;
}

.rcf-toast-icon {
    flex-shrink: 0;
}

.rcf-toast-icon .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    line-height: 20px;
}

/* Toast type colors */
.rcf-toast-info {
    border-left: 4px solid var(--rcf-info, #2196f3);
}

.rcf-toast-info .rcf-toast-icon .dashicons {
    color: var(--rcf-info, #2196f3);
}

.rcf-toast-success {
    border-left: 4px solid var(--rcf-success, #4caf50);
}

.rcf-toast-success .rcf-toast-icon .dashicons {
    color: var(--rcf-success, #4caf50);
}

.rcf-toast-warning {
    border-left: 4px solid var(--rcf-warning, #ff9800);
}

.rcf-toast-warning .rcf-toast-icon .dashicons {
    color: var(--rcf-warning, #ff9800);
}

.rcf-toast-error {
    border-left: 4px solid var(--rcf-danger, #f44336);
}

.rcf-toast-error .rcf-toast-icon .dashicons {
    color: var(--rcf-danger, #f44336);
}

.rcf-toast-message {
    flex: 1;
    font-size: 14px;
    color: var(--rcf-text, #e0e0e0);
    line-height: 1.4;
}

.rcf-toast-close {
    flex-shrink: 0;
    background: none;
    border: none;
    color: var(--rcf-text-muted, #888);
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: all 0.15s ease;
}

.rcf-toast-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: var(--rcf-text-white, #fff);
}

/* Toast container mobile responsive */
@media (max-width: 480px) {
    .rcf-toast-container {
        top: auto;
        bottom: 20px;
        left: 20px;
        right: 20px;
    }

    .rcf-toast {
        min-width: auto;
        max-width: none;
        transform: translateY(120%);
    }

    .rcf-toast.rcf-toast-visible {
        transform: translateY(0);
    }
}

/* Modal responsive */
@media (max-width: 480px) {
    .rcf-modal {
        width: 95%;
        margin: 10px;
    }

    .rcf-modal-body {
        padding: 20px 16px;
    }

    .rcf-modal-footer {
        flex-direction: column-reverse;
        padding: 12px 16px;
    }

    .rcf-modal-footer .rcf-btn {
        width: 100%;
    }
}

/* ==========================================================================
   RESPONSIVE ENHANCEMENTS 2025
   Modern mobile-first responsive design with touch-friendly interactions
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. TOUCH-FRIENDLY SIZING (Minimum 44px touch targets)
   -------------------------------------------------------------------------- */

/* Base touch target improvements - ensure all interactive elements are tappable */
.rcf-forum-wrapper a,
.rcf-forum-wrapper button,
.rcf-forum-wrapper [role="button"],
.rcf-forum-wrapper input[type="submit"],
.rcf-forum-wrapper input[type="button"],
.rcf-forum-wrapper select {
    min-height: 44px;
    min-width: 44px;
}

/* Override global anchor styles (theme reset.css sets a { font-size:13px; line-height:16px }
   and the rule above sets min-height:44px) for dense forum-row content */
.rcf-forum-row a {
    font-size: inherit;
    line-height: inherit;
    min-height: 0;
    min-width: 0;
}

/* Navigation links - touch-friendly on mobile */
@media (max-width: 768px) {
    .rcf-nav-link {
        padding: 12px 14px;
        min-height: 44px;
    }

    .rcf-nav-link .dashicons {
        font-size: 20px;
        width: 20px;
        height: 20px;
    }
}

/* Buttons - ensure minimum touch size */
.rcf-btn {
    min-height: 44px;
    padding: 12px 20px;
}

.rcf-btn-sm {
    min-height: 40px;
    padding: 10px 16px;
}

.rcf-btn-lg {
    min-height: 52px;
    padding: 14px 28px;
}

/* Form inputs - proper touch size */
.rcf-form-control,
.rcf-input,
.rcf-textarea,
.rcf-select {
    min-height: 44px;
    padding: 12px 14px;
    font-size: 16px; /* Prevents iOS zoom on focus */
}

/* Pagination links - touch friendly */
.rcf-page-link {
    min-width: 44px;
    min-height: 44px;
    padding: 10px 14px;
}

/* Action buttons in lists */
.rcf-row-action,
.rcf-post-action-btn {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
}

/* --------------------------------------------------------------------------
   2. MOBILE NAVIGATION SYSTEM (Hamburger Menu)
   -------------------------------------------------------------------------- */

/* Mobile menu toggle button */
.rcf-mobile-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    background: transparent;
    border: none;
    color: var(--rcf-text);
    cursor: pointer;
    padding: 0;
    border-radius: var(--rcf-radius);
    transition: background var(--rcf-transition);
}

.rcf-mobile-menu-toggle:hover,
.rcf-mobile-menu-toggle:focus {
    background: var(--rcf-bg-medium);
}

.rcf-mobile-menu-toggle .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

/* Hamburger icon animation */
.rcf-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
}

.rcf-hamburger-line {
    width: 20px;
    height: 2px;
    background: var(--rcf-text);
    border-radius: 1px;
    transition: all 0.3s ease;
}

.rcf-hamburger-line:nth-child(1) {
    margin-bottom: 5px;
}

.rcf-hamburger-line:nth-child(3) {
    margin-top: 5px;
}

/* ── Button Loading Spinner ── */
@keyframes rcf-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
.spin-icon {
    animation: rcf-spin 1s linear infinite;
    display: inline-block;
}

/* ── Generation Progress Bar ── */
.rcf-gen-progress {
    display: none;
    margin-top: 15px;
    padding: 18px 20px;
    background: #121212;
    border: 1px solid #333333;
    border-radius: 10px;
}
.rcf-gen-progress-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}
.rcf-gen-progress-status {
    color: #e0e0e0;
    font-size: 14px;
    font-weight: 500;
}
.rcf-gen-progress-time {
    color: #888888;
    font-size: 12px;
}
.rcf-gen-progress-track {
    width: 100%;
    height: 6px;
    background: #333333;
    border-radius: 3px;
    overflow: hidden;
}
.rcf-gen-progress-bar {
    height: 100%;
    width: 0%;
    background: linear-gradient(90deg, #2196f3, #64b5f6);
    border-radius: 3px;
    transition: width 0.8s ease;
}
.rcf-gen-progress-detail {
    margin-top: 8px;
    color: #888888;
    font-size: 12px;
}

/* ── Content Editor Lock (Permission-Gated Preview) ── */
.rcf-content-lock-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    margin-bottom: 20px;
    background: rgba(249, 226, 175, 0.1);
    border: 1px solid rgba(249, 226, 175, 0.3);
    border-radius: 8px;
    color: #ff9800;
    font-size: 13px;
    line-height: 1.5;
}
.rcf-content-lock-notice .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.rcf-locked-field-preview {
    padding: 12px 15px;
    background: #121212;
    border: 1px solid #333333;
    border-radius: 8px;
    color: #e0e0e0;
    font-size: 14px;
    min-height: 20px;
}
.rcf-content-preview {
    max-height: 500px;
    overflow-y: auto;
    padding: 20px;
    background: #121212;
    border: 1px solid #333333;
    border-radius: 8px;
    color: #e0e0e0;
    font-size: 14px;
    line-height: 1.7;
}
.rcf-content-preview h2,
.rcf-content-preview h3,
.rcf-content-preview h4 {
    color: #e0e0e0;
    margin: 1em 0 0.5em;
}
.rcf-content-preview p {
    margin: 0 0 1em;
}
.rcf-content-preview ul,
.rcf-content-preview ol {
    margin: 0 0 1em 1.5em;
}
.rcf-content-preview img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
}
.rcf-content-preview a {
    color: #2196f3;
    pointer-events: none;
    text-decoration: none;
    cursor: default;
}
/* Links have href stripped by sanitizer; this ensures keyboard nav can't activate them */
.rcf-content-preview a:focus {
    outline: none;
}

/* Hamburger to X animation */
.rcf-mobile-menu-toggle.rcf-menu-open .rcf-hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.rcf-mobile-menu-toggle.rcf-menu-open .rcf-hamburger-line:nth-child(2) {
    opacity: 0;
}

.rcf-mobile-menu-toggle.rcf-menu-open .rcf-hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

/* Mobile menu overlay */
.rcf-mobile-menu-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}

.rcf-mobile-menu-overlay.rcf-overlay-visible {
    display: block;
    opacity: 1;
}

/* Mobile menu drawer */
.rcf-mobile-menu-drawer {
    position: fixed;
    top: 0;
    right: -280px;
    width: 280px;
    max-width: 85vw;
    height: 100vh;
    background: var(--rcf-bg-dark);
    z-index: 9999;
    overflow-y: auto;
    transition: right 0.3s ease;
    box-shadow: -5px 0 20px rgba(0, 0, 0, 0.5);
    display: none;
}

.rcf-mobile-menu-drawer.rcf-drawer-open {
    display: block;
    right: 0;
}

/* Mobile menu header */
.rcf-mobile-menu-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
    background: var(--rcf-bg-darker);
}

.rcf-mobile-menu-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

.rcf-mobile-menu-close {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    border-radius: var(--rcf-radius);
}

.rcf-mobile-menu-close:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

/* Mobile menu user section */
.rcf-mobile-menu-user {
    padding: 20px;
    border-bottom: 1px solid var(--rcf-border);
    display: flex;
    align-items: center;
    gap: 12px;
}

.rcf-mobile-menu-user img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: 2px solid var(--rcf-primary);
}

.rcf-mobile-menu-user-info {
    flex: 1;
}

.rcf-mobile-menu-username {
    font-weight: 600;
    color: var(--rcf-text-white);
    font-size: 15px;
}

.rcf-mobile-menu-role {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* Mobile menu navigation */
.rcf-mobile-menu-nav {
    padding: 10px 0;
}

.rcf-mobile-menu-link {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    color: var(--rcf-text);
    text-decoration: none;
    font-size: 15px;
    transition: background var(--rcf-transition);
    min-height: 52px;
}

.rcf-mobile-menu-link:hover,
.rcf-mobile-menu-link:focus {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-white);
}

.rcf-mobile-menu-link.rcf-mobile-active {
    background: var(--rcf-primary-bg);
    color: var(--rcf-primary);
    border-left: 3px solid var(--rcf-primary);
}

.rcf-mobile-menu-link .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--rcf-text-muted);
}

.rcf-mobile-menu-link.rcf-mobile-active .dashicons {
    color: var(--rcf-primary);
}

.rcf-mobile-menu-link:focus {
    outline: none;
    background: var(--rcf-bg-medium);
}

.rcf-mobile-menu-link:focus-visible {
    outline: 2px solid var(--rcf-primary);
    outline-offset: -2px;
}

.rcf-mobile-menu-badge {
    margin-left: auto;
    background: var(--rcf-danger);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
}

/* Mobile menu divider */
.rcf-mobile-menu-divider {
    height: 1px;
    background: var(--rcf-border);
    margin: 10px 0;
}

/* Mobile menu section title */
.rcf-mobile-menu-section {
    padding: 10px 20px 5px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    letter-spacing: 0.5px;
}

/* Mobile menu footer */
.rcf-mobile-menu-footer {
    padding: 20px;
    border-top: 1px solid var(--rcf-border);
    margin-top: auto;
}

/* Tablet styles - hide nav text, show icons only */
@media (max-width: 992px) and (min-width: 769px) {
    .rcf-nav-text {
        display: none;
    }

    .rcf-nav-link {
        padding: 10px 12px;
    }

    .rcf-nav-brand-text {
        display: none;
    }

    .rcf-nav-brand a {
        margin-right: 10px;
    }

    .rcf-nav-user-profile .rcf-nav-username {
        display: none;
    }

    .rcf-forum-nav {
        gap: 6px;
    }
}

/* Show mobile menu toggle on small screens */
@media (max-width: 768px) {
    .rcf-mobile-menu-toggle {
        display: flex;
    }

    /* Hide desktop navigation items */
    .rcf-nav-menu {
        display: none !important;
    }

    /* Hide username on mobile, keep avatar */
    .rcf-nav-user-profile .rcf-nav-username,
    .rcf-nav-user-info .rcf-nav-username {
        display: none;
    }

    /* Adjust nav layout for mobile */
    .rcf-forum-nav {
        justify-content: space-between;
        padding: 10px 12px;
        gap: 10px;
    }

    .rcf-nav-brand a {
        font-size: 15px;
        margin-right: 0;
        gap: 6px;
    }

    /* Hide logout button on mobile - it's in the drawer */
    .rcf-logout-btn {
        display: none;
    }

    /* Compact user section */
    .rcf-nav-user {
        gap: 8px;
    }

}

/* Extra small screens - hide brand text */
@media (max-width: 480px) {
    .rcf-nav-brand-text {
        display: none;
    }

    .rcf-nav-brand a {
        margin-right: 0;
    }

    .rcf-forum-nav {
        padding: 8px 10px;
    }

    /* Smaller avatar on extra small screens */
    .rcf-nav-user-profile img {
        width: 28px;
        height: 28px;
    }

    /* Hide login/register text, show icons only */
    .rcf-nav-user .rcf-btn-primary,
    .rcf-nav-user .rcf-btn-secondary {
        padding: 8px 12px;
        font-size: 12px;
    }
}

/* Very small screens */
@media (max-width: 360px) {
    .rcf-forum-nav {
        padding: 6px 8px;
    }

    .rcf-nav-brand .dashicons {
        font-size: 20px;
    }

    .rcf-mobile-menu-toggle {
        width: 40px;
        height: 40px;
    }
}

/* Body scroll lock when menu is open */
body.rcf-menu-open {
    overflow: hidden;
    position: fixed;
    width: 100%;
}

/* --------------------------------------------------------------------------
   3. FLUID TYPOGRAPHY (Using clamp for smooth scaling)
   -------------------------------------------------------------------------- */

/* Headings with fluid sizing */
.rcf-forum-wrapper h1,
.rcf-topic-detail-title {
    font-size: clamp(1.5rem, 4vw, 2rem);
}

.rcf-forum-wrapper h2,
.rcf-category-name {
    font-size: clamp(1.125rem, 3vw, 1.5rem);
}

.rcf-forum-wrapper h3,
.rcf-topic-title {
    font-size: clamp(1rem, 2.5vw, 1.25rem);
}

.rcf-forum-wrapper h4 {
    font-size: clamp(0.9375rem, 2vw, 1.125rem);
}

/* Body text fluid sizing */
.rcf-post-content,
.rcf-topic-excerpt {
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.6;
}

/* Smaller text elements */
.rcf-meta,
.rcf-text-muted,
.rcf-timestamp {
    font-size: clamp(0.75rem, 1.5vw, 0.8125rem);
}

/* --------------------------------------------------------------------------
   4. STANDARDIZED BREAKPOINTS
   -------------------------------------------------------------------------- */

/*
   Breakpoint Standards:
   - Mobile: < 576px
   - Mobile Landscape / Small Tablet: 576px - 767px
   - Tablet: 768px - 991px
   - Desktop: 992px - 1199px
   - Large Desktop: >= 1200px
*/

/* Mobile (< 576px) - Core mobile optimizations */
@media (max-width: 575px) {
    .rcf-forum-wrapper {
        padding: 8px !important;
    }

    .rcf-main-layout {
        padding: 8px;
    }

    /* Stack forum rows vertically */
    .rcf-forum-row,
    .rcf-topic-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 12px;
    }

    .rcf-forum-icon,
    .rcf-topic-avatar {
        display: none;
    }

    .rcf-category-description {
        padding-left: 12px;
    }

    /* Full-width buttons */
    .rcf-topic-actions {
        flex-wrap: wrap;
    }

    .rcf-topic-actions .rcf-btn {
        flex: 1 1 auto;
        justify-content: center;
    }

    /* Compact post layout */
    .rcf-post {
        padding: 12px;
    }

    .rcf-post-sidebar {
        padding: 10px;
    }

    /* Auth forms - mobile */
    .rcf-auth-card {
        margin: 10px;
        padding: 20px 16px;
        border-radius: var(--rcf-radius);
    }

    .rcf-auth-title {
        font-size: 1.5rem;
    }

    /* Profile header stack */
    .rcf-profile-header {
        flex-direction: column;
        text-align: center;
        gap: 15px;
        padding: 20px 15px;
    }

    /* Admin panel mobile */
    .rcf-admin-layout {
        flex-direction: column;
    }

    .rcf-admin-sidebar {
        width: 100% !important;
        min-width: auto !important;
        position: static;
        height: auto !important;
    }

    .rcf-admin-content {
        padding: 15px;
    }
}

/* Small tablet / Mobile landscape (576px - 767px) */
@media (min-width: 576px) and (max-width: 767px) {
    .rcf-forum-row {
        grid-template-columns: 42px 1fr;
    }

    .rcf-topic-row {
        grid-template-columns: 42px 1fr;
    }

    .rcf-auth-card {
        max-width: 450px;
        margin: 20px auto;
    }
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .rcf-forum-wrapper {
        padding: 15px !important;
    }

    .rcf-main-layout {
        grid-template-columns: 1fr;
    }

    .rcf-sidebar {
        display: none;
    }

    .rcf-post {
        grid-template-columns: 1fr;
    }

    .rcf-post-sidebar {
        flex-direction: row;
        align-items: center;
        gap: 15px;
        border-right: none;
        border-bottom: 1px solid var(--rcf-border);
        padding: 12px 15px;
    }
}

/* Desktop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    .rcf-main-layout {
        grid-template-columns: 1fr 280px;
    }
}

/* Large Desktop (>= 1200px) */
@media (min-width: 1200px) {
    .rcf-main-layout {
        grid-template-columns: 1fr 320px;
    }
}

/* --------------------------------------------------------------------------
   Admin Tier List — Card Layout
   -------------------------------------------------------------------------- */

.rcf-tier-list { margin-top: 0; }

.rcf-tier-list-header {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    color: var(--rcf-text-muted);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-tier-col-order { width: 36px; text-align: center; }
.rcf-tier-col-name  { flex: 1; min-width: 0; }
.rcf-tier-col-price { min-width: 90px; width: 110px; text-align: center; }
.rcf-tier-col-type  { width: 110px; text-align: center; }
.rcf-tier-col-interval { width: 90px; text-align: center; }
.rcf-tier-col-status { width: 80px; text-align: center; }
.rcf-tier-col-subs  { width: 60px; text-align: center; }
.rcf-tier-col-actions { width: 120px; text-align: right; }

.rcf-tier-list-row {
    display: flex;
    align-items: center;
    padding: 14px 16px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-left: 3px solid var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    margin-bottom: 6px;
    transition: background 0.15s, border-color 0.15s;
}

.rcf-tier-list-row:hover {
    background: var(--rcf-bg-dark);
    border-color: var(--rcf-border-light);
}

.rcf-tier-list-row .rcf-tier-col-name {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.rcf-tier-order {
    color: var(--rcf-text-muted);
    font-size: 12px;
    font-weight: 500;
}

.rcf-tier-name {
    font-weight: 600;
    color: var(--rcf-text-white);
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-tier-badge-pill {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 10px;
    font-weight: 600;
    color: #fff;
    white-space: nowrap;
    flex-shrink: 0;
}

.rcf-tier-price {
    font-weight: 600;
    color: var(--rcf-text-white);
    font-size: 13px;
    white-space: nowrap;
}

.rcf-tier-type-pill {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.rcf-tier-type-subscription { background: rgba(33, 150, 243, 0.15); color: #42a5f5; }
.rcf-tier-type-donation     { background: rgba(76, 175, 80, 0.15);  color: #66bb6a; }
.rcf-tier-type-membership   { background: rgba(171, 71, 188, 0.15); color: #ce93d8; }

.rcf-tier-interval {
    color: var(--rcf-text-muted);
    font-size: 12px;
}

.rcf-tier-status-pill {
    display: inline-block;
    padding: 3px 8px;
    border-radius: var(--rcf-radius);
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
}

.rcf-tier-status-active   { background: rgba(76, 175, 80, 0.2);   color: var(--rcf-success); }
.rcf-tier-status-inactive { background: rgba(255, 255, 255, 0.08); color: var(--rcf-text-muted); }
.rcf-tier-status-draft    { background: rgba(255, 152, 0, 0.15);   color: var(--rcf-warning); }

.rcf-tier-subs {
    color: var(--rcf-text-light);
    font-size: 13px;
    font-weight: 500;
}

.rcf-tier-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

.rcf-tier-actions .rcf-btn-sm {
    padding: 4px 12px;
    font-size: 12px;
}

.rcf-tier-empty {
    text-align: center;
    padding: 60px 20px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius-lg);
}

.rcf-tier-empty .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: var(--rcf-text-muted);
    opacity: 0.5;
    display: block;
    margin: 0 auto 12px;
}

.rcf-tier-empty p {
    margin: 0;
    color: var(--rcf-text-muted);
    font-size: 14px;
}

.rcf-tier-empty a {
    color: var(--rcf-primary-light);
}

/* Tier list — mobile */
@media (max-width: 768px) {
    .rcf-tier-list-header { display: none; }

    .rcf-tier-list-row {
        flex-wrap: wrap;
        gap: 6px 12px;
        padding: 14px 16px;
    }

    .rcf-tier-col-order { display: none; }
    .rcf-tier-col-name  { flex: 1 1 100%; }

    .rcf-tier-col-price,
    .rcf-tier-col-type,
    .rcf-tier-col-interval,
    .rcf-tier-col-status,
    .rcf-tier-col-subs {
        width: auto;
        text-align: left;
    }

    /* Show data-label as inline prefix on mobile */
    .rcf-tier-list-row .rcf-tier-col-price::before,
    .rcf-tier-list-row .rcf-tier-col-type::before,
    .rcf-tier-list-row .rcf-tier-col-interval::before,
    .rcf-tier-list-row .rcf-tier-col-status::before,
    .rcf-tier-list-row .rcf-tier-col-subs::before {
        content: attr(data-label) ": ";
        color: var(--rcf-text-muted);
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.3px;
    }

    .rcf-tier-col-actions {
        width: 100%;
        text-align: left;
        margin-top: 4px;
    }

    .rcf-tier-actions { justify-content: flex-start; }
}

/* --------------------------------------------------------------------------
   5. SCROLL AND INTERACTION ENHANCEMENTS
   -------------------------------------------------------------------------- */

/* Smooth scroll behavior */
.rcf-forum-wrapper {
    scroll-behavior: smooth;
}

/* Momentum scrolling for iOS */
.rcf-forum-wrapper,
.rcf-mobile-menu-drawer,
.rcf-modal-body {
    -webkit-overflow-scrolling: touch;
}

/* Focus visible for keyboard navigation */
.rcf-forum-wrapper a:focus-visible,
.rcf-forum-wrapper button:focus-visible,
.rcf-forum-wrapper input:focus-visible,
.rcf-forum-wrapper select:focus-visible,
.rcf-forum-wrapper textarea:focus-visible {
    outline: 2px solid var(--rcf-primary);
    outline-offset: 2px;
}

/* Remove tap highlight on mobile */
.rcf-forum-wrapper a,
.rcf-forum-wrapper button {
    -webkit-tap-highlight-color: transparent;
}

/* Active state feedback for touch */
@media (hover: none) and (pointer: coarse) {
    .rcf-btn:active,
    .rcf-nav-link:active,
    .rcf-forum-row:active,
    .rcf-topic-row:active {
        opacity: 0.85;
        transform: scale(0.98);
    }
}

/* Safe area insets for notched devices */
@supports (padding: max(0px)) {
    .rcf-forum-nav {
        padding-left: max(10px, env(safe-area-inset-left));
        padding-right: max(10px, env(safe-area-inset-right));
    }

    .rcf-mobile-menu-drawer {
        padding-bottom: max(20px, env(safe-area-inset-bottom));
    }

    .rcf-forum-wrapper {
        padding-bottom: max(10px, env(safe-area-inset-bottom));
    }
}

/* --------------------------------------------------------------------------
   6. ORIENTATION SPECIFIC STYLES
   -------------------------------------------------------------------------- */

/* Landscape mobile - optimize horizontal space */
@media (max-height: 500px) and (orientation: landscape) {
    .rcf-forum-nav {
        padding: 6px 10px;
    }

    .rcf-nav-link {
        padding: 8px 12px;
    }

    .rcf-mobile-menu-drawer {
        width: 50vw;
    }

    .rcf-modal {
        max-height: 90vh;
    }

    .rcf-modal-body {
        max-height: 60vh;
        overflow-y: auto;
    }
}

/* --------------------------------------------------------------------------
   7. LOADING AND PERFORMANCE STATES
   -------------------------------------------------------------------------- */

/* Skeleton loading placeholders */
.rcf-skeleton {
    background: linear-gradient(90deg,
        var(--rcf-bg-dark) 25%,
        var(--rcf-bg-medium) 50%,
        var(--rcf-bg-dark) 75%
    );
    background-size: 200% 100%;
    animation: rcf-skeleton-pulse 1.5s ease-in-out infinite;
    border-radius: var(--rcf-radius);
}

@keyframes rcf-skeleton-pulse {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

.rcf-skeleton-text {
    height: 14px;
    margin-bottom: 8px;
}

.rcf-skeleton-text:last-child {
    width: 70%;
}

.rcf-skeleton-avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.rcf-skeleton-title {
    height: 20px;
    width: 60%;
    margin-bottom: 12px;
}

/* Content loading state */
.rcf-loading-content {
    opacity: 0.6;
    pointer-events: none;
}

/* --------------------------------------------------------------------------
   8. ACCESSIBILITY ENHANCEMENTS
   -------------------------------------------------------------------------- */

/* Skip to content link */
.rcf-skip-link {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rcf-primary);
    color: #fff;
    padding: 12px 24px;
    z-index: 10000;
    border-radius: 0 0 var(--rcf-radius) var(--rcf-radius);
    font-weight: 600;
    transition: top 0.3s ease;
}

.rcf-skip-link:focus {
    top: 0;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .rcf-forum-wrapper {
        --rcf-border: #666666;
        --rcf-text-muted: #aaaaaa;
    }

    .rcf-btn {
        border: 2px solid currentColor;
    }
}

/* Forced colors mode (Windows High Contrast) */
@media (forced-colors: active) {
    .rcf-btn {
        border: 2px solid currentColor;
    }

    .rcf-nav-link.rcf-nav-active {
        border-bottom: 3px solid currentColor;
    }
}

/* --------------------------------------------------------------------------
   9. CONTAINER QUERIES (Progressive Enhancement)
   -------------------------------------------------------------------------- */

/* Enable container queries where supported */
@supports (container-type: inline-size) {
    .rcf-post-list {
        container-type: inline-size;
        container-name: post-list;
    }

    .rcf-forum-content {
        container-type: inline-size;
        container-name: forum-content;
    }

    /* Post card adapts to container width */
    @container post-list (max-width: 500px) {
        .rcf-post {
            grid-template-columns: 1fr;
        }

        .rcf-post-sidebar {
            flex-direction: row;
            border-right: none;
            border-bottom: 1px solid var(--rcf-border);
        }
    }
}

/* ==========================================================================
   MODERN MESSAGING SYSTEM STYLES
   Chat-style interface with status indicators, search, and emoji support
   ========================================================================== */

/* --------------------------------------------------------------------------
   Messages Header & Layout
   -------------------------------------------------------------------------- */

.rcf-messages-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.rcf-messages-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-messages-header h1 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 1.5rem;
}

.rcf-messages-header h1 .dashicons {
    color: var(--rcf-primary);
}

.rcf-unread-badge {
    background: var(--rcf-primary);
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   Messages Search
   -------------------------------------------------------------------------- */

.rcf-messages-search {
    margin-bottom: 20px;
}

.rcf-messages-search .rcf-search-form {
    display: flex;
    gap: 10px;
}

.rcf-messages-search .rcf-search-input-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.rcf-messages-search .rcf-search-input-wrapper .dashicons-search {
    position: absolute;
    left: 14px;
    color: var(--rcf-text-muted);
    font-size: 18px;
}

.rcf-messages-search .rcf-search-input {
    width: 100%;
    padding: 12px 40px 12px 44px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: 24px;
    color: var(--rcf-text);
    font-size: 14px;
    transition: border-color var(--rcf-transition), box-shadow var(--rcf-transition);
}

.rcf-messages-search .rcf-search-input:focus {
    outline: none;
    border-color: var(--rcf-primary);
    box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.15);
}

.rcf-messages-search .rcf-search-clear {
    position: absolute;
    right: 12px;
    color: var(--rcf-text-muted);
    padding: 4px;
    border-radius: 50%;
    transition: background var(--rcf-transition);
}

.rcf-messages-search .rcf-search-clear:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-search-results-header {
    margin-bottom: 15px;
    padding: 10px 0;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-search-results-header h3 {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-muted);
}

/* --------------------------------------------------------------------------
   Messages Tabs
   -------------------------------------------------------------------------- */

.rcf-messages-tabs {
    display: flex;
    gap: 5px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--rcf-border);
    padding-bottom: 0;
}

.rcf-messages-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    color: var(--rcf-text-muted);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: all var(--rcf-transition);
    font-weight: 500;
}

.rcf-messages-tab:hover {
    color: var(--rcf-text);
    background: var(--rcf-bg-medium);
}

.rcf-messages-tab.rcf-tab-active {
    color: var(--rcf-primary);
    border-bottom-color: var(--rcf-primary);
}

.rcf-messages-tab .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-tab-badge {
    background: var(--rcf-primary);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
}

/* --------------------------------------------------------------------------
   Conversation List
   -------------------------------------------------------------------------- */

.rcf-conversation-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
}

.rcf-conversation-item-wrapper {
    display: flex;
    align-items: stretch;
    background: var(--rcf-bg-dark);
    transition: background var(--rcf-transition);
}

.rcf-conversation-item-wrapper:hover {
    background: var(--rcf-bg-medium);
}

.rcf-conversation-item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    text-decoration: none;
    color: var(--rcf-text);
    position: relative;
}

.rcf-conversation-item.rcf-unread {
    background: rgba(198, 40, 40, 0.08);
}

.rcf-conversation-item.rcf-unread .rcf-conversation-name {
    font-weight: 700;
}

.rcf-conversation-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-conversation-content {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.rcf-conversation-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.rcf-conversation-name {
    font-weight: 600;
    color: var(--rcf-text-white);
    font-size: 14px;
}

.rcf-conversation-time {
    font-size: 12px;
    color: var(--rcf-text-muted);
    flex-shrink: 0;
}

.rcf-conversation-subject {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcf-text-light);
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-conversation-preview {
    font-size: 13px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-unread-dot {
    width: 10px;
    height: 10px;
    background: var(--rcf-primary);
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-conversation-delete {
    padding: 0 15px;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    opacity: 0;
    transition: opacity var(--rcf-transition), color var(--rcf-transition);
}

.rcf-conversation-item-wrapper:hover .rcf-conversation-delete {
    opacity: 1;
}

.rcf-conversation-delete:hover {
    color: var(--rcf-danger);
}

.rcf-folder-badge {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 3px 8px;
    border-radius: 4px;
    flex-shrink: 0;
}

.rcf-badge-inbox {
    background: var(--rcf-info);
    color: #fff;
}

.rcf-badge-sent {
    background: var(--rcf-success);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Message Status Icons
   -------------------------------------------------------------------------- */

.rcf-message-status {
    display: inline-flex;
    align-items: center;
    margin-left: 4px;
}

.rcf-message-status .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-status-sent .dashicons {
    color: var(--rcf-text-muted);
}

.rcf-status-delivered .dashicons {
    color: var(--rcf-text-muted);
}

.rcf-status-delivered .dashicons:last-child {
    margin-left: -8px;
}

.rcf-status-read .dashicons {
    color: var(--rcf-info);
}

.rcf-mini-status {
    display: inline-flex;
    align-items: center;
}

.rcf-mini-status .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-mini-status.rcf-status-delivered .dashicons:last-child {
    margin-left: -6px;
}

/* --------------------------------------------------------------------------
   Chat Container (Conversation View)
   -------------------------------------------------------------------------- */

.rcf-chat-container {
    display: flex;
    flex-direction: column;
    height: calc(100vh - 250px);
    min-height: 500px;
    max-height: 800px;
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
}

.rcf-chat-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-chat-back {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--rcf-text-muted);
    border-radius: 50%;
    transition: background var(--rcf-transition), color var(--rcf-transition);
}

.rcf-chat-back:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-chat-user {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

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

.rcf-chat-user-info {
    display: flex;
    flex-direction: column;
}

.rcf-chat-username {
    font-weight: 600;
    color: var(--rcf-text-white);
    font-size: 15px;
}

.rcf-chat-subject {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

/* --------------------------------------------------------------------------
   Chat Messages Area
   -------------------------------------------------------------------------- */

.rcf-chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    -webkit-overflow-scrolling: touch;
}

.rcf-chat-message {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    max-width: 80%;
}

.rcf-chat-message.rcf-message-sent {
    margin-left: auto;
    flex-direction: row-reverse;
}

.rcf-chat-message.rcf-message-received {
    margin-right: auto;
}

.rcf-message-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-message-bubble {
    padding: 12px 16px;
    border-radius: 18px;
    max-width: 100%;
    word-wrap: break-word;
}

.rcf-message-sent .rcf-message-bubble {
    background: var(--rcf-primary);
    color: #fff;
    border-bottom-right-radius: 4px;
}

.rcf-message-received .rcf-message-bubble {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
    border-bottom-left-radius: 4px;
}

.rcf-message-content {
    font-size: 14px;
    line-height: 1.5;
}

.rcf-message-content p {
    margin: 0 0 8px;
}

.rcf-message-content p:last-child {
    margin-bottom: 0;
}

.rcf-message-meta {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    margin-top: 6px;
    font-size: 11px;
}

.rcf-message-sent .rcf-message-meta {
    color: rgba(255, 255, 255, 0.7);
}

.rcf-message-received .rcf-message-meta {
    color: var(--rcf-text-muted);
}

.rcf-message-sent .rcf-message-status .dashicons {
    color: rgba(255, 255, 255, 0.7);
}

.rcf-message-sent .rcf-status-read .dashicons {
    color: #90caf9;
}

/* --------------------------------------------------------------------------
   Chat Input Area
   -------------------------------------------------------------------------- */

.rcf-chat-input-container {
    padding: 15px 20px;
    background: var(--rcf-bg-dark);
    border-top: 1px solid var(--rcf-border);
}

.rcf-chat-form {
    position: relative;
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.rcf-chat-input-wrapper {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    flex: 1;
    min-width: 0;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: 24px;
    padding: 8px 12px;
    transition: border-color var(--rcf-transition);
}

.rcf-chat-input-wrapper:focus-within {
    border-color: var(--rcf-primary);
}

.rcf-chat-input-wrapper textarea {
    flex: 1;
    border: none;
    background: transparent;
    color: var(--rcf-text);
    font-size: 14px;
    line-height: 1.5;
    resize: none;
    min-height: 24px;
    max-height: 150px;
    padding: 4px 0;
    overflow-y: auto;
    font-family: inherit;
}

.rcf-chat-input-wrapper textarea:focus {
    outline: none;
}

.rcf-chat-input-wrapper textarea::placeholder {
    color: var(--rcf-text-muted);
}

.rcf-emoji-toggle,
.rcf-send-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: background var(--rcf-transition), transform var(--rcf-transition);
    flex-shrink: 0;
}

.rcf-emoji-toggle {
    background: transparent;
    color: var(--rcf-text-muted);
}

.rcf-emoji-toggle:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-warning);
}

.rcf-send-btn {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-send-btn:hover {
    background: var(--rcf-primary-light);
    transform: scale(1.05);
}

.rcf-send-btn:active {
    transform: scale(0.95);
}

.rcf-input-info {
    display: flex;
    justify-content: flex-end;
    padding: 5px 15px 0;
}

.rcf-char-count {
    font-size: 11px;
    color: var(--rcf-text-muted);
}

/* --------------------------------------------------------------------------
   Chat Emoji Picker (Discord-style, for PM chat)
   -------------------------------------------------------------------------- */

.rcf-chat-emoji-picker {
    position: absolute;
    bottom: 100%;
    right: 0;
    width: 352px;
    max-height: 400px;
    background: var(--rcf-bg-darker, #111);
    border: 1px solid var(--rcf-border);
    border-radius: 12px;
    margin-bottom: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
    z-index: 200;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transform: scale(0.95) translateY(8px);
    pointer-events: none;
    transition: opacity 150ms ease, transform 150ms ease, visibility 0s 150ms;
}
.rcf-chat-emoji-picker.rcf-cep-open {
    visibility: visible;
    opacity: 1;
    transform: scale(1) translateY(0);
    pointer-events: auto;
    transition: opacity 150ms ease, transform 150ms ease, visibility 0s;
}

/* Search */
.rcf-cep-search {
    padding: 10px 10px 0;
}
.rcf-cep-search-input {
    width: 100%;
    padding: 8px 12px;
    background: var(--rcf-bg-dark, #1a1a2e);
    border: 1px solid var(--rcf-border);
    border-radius: 8px;
    color: var(--rcf-text);
    font-size: 13px;
    outline: none;
    box-sizing: border-box;
}
.rcf-cep-search-input:focus {
    border-color: var(--rcf-primary);
}
.rcf-cep-search-input::placeholder {
    color: var(--rcf-text-muted);
}

/* Category tabs */
.rcf-cep-tabs {
    display: flex;
    gap: 2px;
    padding: 8px 10px 4px;
    border-bottom: 1px solid var(--rcf-border);
}
.rcf-cep-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 6px 2px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 6px;
    opacity: 0.5;
    transition: opacity 0.15s, background 0.15s;
    line-height: 1;
    text-align: center;
}
.rcf-cep-tab:hover {
    opacity: 0.8;
    background: var(--rcf-bg-medium);
}
.rcf-cep-tab.active {
    opacity: 1;
    background: var(--rcf-primary);
    border-radius: 6px;
}

/* Scrollable content */
.rcf-cep-content {
    flex: 1;
    overflow-y: auto;
    padding: 6px 10px 10px;
    max-height: 280px;
    -webkit-overflow-scrolling: touch;
}
.rcf-cep-content::-webkit-scrollbar { width: 6px; }
.rcf-cep-content::-webkit-scrollbar-track { background: transparent; }
.rcf-cep-content::-webkit-scrollbar-thumb { background: var(--rcf-border); border-radius: 3px; }

/* Category labels */
.rcf-cep-cat-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--rcf-text-muted);
    padding: 8px 0 4px;
    position: sticky;
    top: 0;
    background: var(--rcf-bg-darker, #111);
    z-index: 1;
}

/* Emoji grid */
.rcf-cep-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
}
.rcf-cep-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    background: transparent;
    border: none;
    font-size: 22px;
    cursor: pointer;
    border-radius: 6px;
    transition: background 0.1s, transform 0.1s;
    line-height: 1;
    padding: 0;
}
.rcf-cep-btn:hover {
    background: var(--rcf-bg-medium);
    transform: scale(1.15);
}

/* Empty / no results */
.rcf-cep-empty,
.rcf-cep-no-results {
    padding: 16px;
    text-align: center;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

/* Responsive */
@media (max-width: 480px) {
    .rcf-chat-emoji-picker {
        width: calc(100vw - 40px);
        right: -10px;
        max-height: 320px;
    }
    .rcf-cep-grid { grid-template-columns: repeat(7, 1fr); }
    .rcf-cep-btn { font-size: 20px; }
}

/* --------------------------------------------------------------------------
   Compose Message
   -------------------------------------------------------------------------- */

.rcf-compose-container {
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius-lg);
    overflow: hidden;
}

.rcf-compose-header {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 20px;
    background: var(--rcf-bg-dark);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-compose-header h2 {
    margin: 0;
    font-size: 18px;
}

.rcf-compose-recipient {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 15px 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-compose-recipient label {
    color: var(--rcf-text-muted);
    font-size: 14px;
}

.rcf-recipient-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rcf-bg-medium);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
}

.rcf-recipient-tag img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.rcf-compose-form {
    padding: 20px;
}

.rcf-compose-input-wrapper {
    position: relative;
}

.rcf-compose-input-wrapper .rcf-emoji-toggle {
    position: absolute;
    top: 10px;
    right: 10px;
}

.rcf-compose-input-wrapper textarea {
    padding-right: 50px;
}

/* --------------------------------------------------------------------------
   Empty State
   -------------------------------------------------------------------------- */

.rcf-empty-state {
    text-align: center;
    padding: 60px 20px;
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius-lg);
}

.rcf-empty-state .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: var(--rcf-text-muted);
    margin-bottom: 15px;
}

.rcf-empty-state h3 {
    margin: 0 0 10px;
    font-size: 18px;
    color: var(--rcf-text);
}

.rcf-empty-state p {
    margin: 0;
    color: var(--rcf-text-muted);
    font-size: 14px;
}

/* --------------------------------------------------------------------------
   Messages Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {
    .rcf-messages-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .rcf-messages-search .rcf-search-form {
        flex-direction: column;
    }

    .rcf-messages-search .rcf-btn {
        width: 100%;
    }

    .rcf-messages-tabs {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .rcf-messages-tab {
        padding: 10px 15px;
        font-size: 13px;
        white-space: nowrap;
    }

    .rcf-chat-container {
        height: calc(100vh - 200px);
        min-height: 400px;
        border-radius: 0;
        margin: 0 -8px;
    }

    .rcf-chat-message {
        max-width: 90%;
    }

    .rcf-conversation-item {
        padding: 12px 15px;
    }

    .rcf-conversation-avatar {
        width: 40px;
        height: 40px;
    }

    .rcf-conversation-delete {
        opacity: 1;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    .rcf-emoji-grid {
        grid-template-columns: repeat(8, 1fr);
    }

    .rcf-message-bubble {
        padding: 10px 14px;
    }

    .rcf-compose-form {
        padding: 15px;
    }
}

/* ==========================================================================
   ENHANCED MESSAGING FEATURES
   ========================================================================== */

/* --------------------------------------------------------------------------
   Online Status Indicators
   -------------------------------------------------------------------------- */

.rcf-avatar-wrapper {
    position: relative;
    display: inline-block;
}

.rcf-avatar-wrapper.rcf-avatar-sm {
    width: 24px;
    height: 24px;
}

.rcf-avatar-wrapper.rcf-avatar-sm img {
    width: 24px;
    height: 24px;
    border-radius: 50%;
}

.rcf-online-indicator {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid var(--rcf-bg-darker);
}

.rcf-avatar-wrapper.rcf-avatar-sm .rcf-online-indicator {
    width: 8px;
    height: 8px;
    border-width: 1px;
}

.rcf-online-indicator.rcf-status-online {
    background: var(--rcf-success);
}

.rcf-online-indicator.rcf-status-away {
    background: var(--rcf-warning);
}

.rcf-online-indicator.rcf-status-offline {
    background: var(--rcf-text-muted);
}

.rcf-user-status-text {
    font-size: 12px;
    color: var(--rcf-success);
}

/* --------------------------------------------------------------------------
   New Message - Recipient Search
   -------------------------------------------------------------------------- */

.rcf-user-search-results {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: 6px;
    max-height: 280px;
    overflow-y: auto;
    z-index: 100;
    margin-top: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.rcf-user-search-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    color: var(--rcf-text);
    text-decoration: none;
    transition: background 0.15s;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-user-search-item:last-child {
    border-bottom: none;
}

.rcf-user-search-item:hover {
    background: var(--rcf-bg-darker);
    color: var(--rcf-text);
}

.rcf-search-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}

.rcf-search-avatar-placeholder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--rcf-bg-darker);
    color: var(--rcf-text-muted);
}

.rcf-search-avatar-placeholder .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-search-name {
    font-weight: 600;
    font-size: 14px;
}

.rcf-search-username {
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-left: auto;
}

.rcf-search-empty {
    padding: 16px;
    text-align: center;
    color: var(--rcf-text-muted);
    font-size: 13px;
}

#rcf-compose-modal .rcf-form-field {
    position: relative;
}

#rcf-recipient-search {
    width: 100%;
    padding: 10px 12px;
    background: var(--rcf-bg-darker);
    border: 1px solid var(--rcf-border);
    border-radius: 6px;
    color: var(--rcf-text);
    font-size: 14px;
}

#rcf-recipient-search:focus {
    border-color: var(--rcf-primary);
    outline: none;
}

/* --------------------------------------------------------------------------
   Typing Indicator
   -------------------------------------------------------------------------- */

.rcf-typing-indicator {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    font-style: italic;
}

.rcf-typing-dots {
    display: flex;
    gap: 3px;
}

.rcf-typing-dots span {
    width: 4px;
    height: 4px;
    background: var(--rcf-text-muted);
    border-radius: 50%;
    animation: rcf-typing-bounce 1.4s infinite ease-in-out both;
}

.rcf-typing-dots span:nth-child(1) {
    animation-delay: -0.32s;
}

.rcf-typing-dots span:nth-child(2) {
    animation-delay: -0.16s;
}

@keyframes rcf-typing-bounce {
    0%, 80%, 100% {
        transform: scale(0);
    }
    40% {
        transform: scale(1);
    }
}

/* --------------------------------------------------------------------------
   Message Reactions
   -------------------------------------------------------------------------- */

.rcf-message-react-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--rcf-text-muted);
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    transition: all var(--rcf-transition);
    flex-shrink: 0;
}

.rcf-chat-message:hover .rcf-message-react-btn {
    opacity: 1;
}

.rcf-message-react-btn:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-warning);
}

.rcf-message-react-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-reaction-picker {
    position: fixed;
    z-index: 1000;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: 24px;
    padding: 8px 12px;
    display: flex;
    gap: 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.rcf-quick-reaction {
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    cursor: pointer;
    border-radius: 50%;
    font-size: 20px;
    transition: all var(--rcf-transition);
}

.rcf-quick-reaction:hover {
    background: var(--rcf-bg-light);
    transform: scale(1.2);
}

.rcf-message-reactions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 6px;
}

.rcf-reaction-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background: var(--rcf-bg-light);
    border-radius: 10px;
    font-size: 12px;
    cursor: default;
}

.rcf-message-sent .rcf-reaction-badge {
    background: rgba(255, 255, 255, 0.2);
}

/* --------------------------------------------------------------------------
   Message Attachments
   -------------------------------------------------------------------------- */

.rcf-attachment-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: transparent;
    color: var(--rcf-text-muted);
    border-radius: 50%;
    cursor: pointer;
    transition: all var(--rcf-transition);
    flex-shrink: 0;
}

.rcf-attachment-btn:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-info);
}

.rcf-attachment-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.rcf-attachment-preview {
    padding: 10px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius);
    margin-bottom: 10px;
}

.rcf-attachment-preview-item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    padding: 8px 12px;
}

.rcf-attachment-preview-item img {
    max-width: 150px;
    max-height: 100px;
    border-radius: var(--rcf-radius);
}

.rcf-remove-attachment {
    position: absolute;
    top: -5px;
    right: -5px;
    width: 20px;
    height: 20px;
    background: var(--rcf-danger);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    cursor: pointer;
    line-height: 1;
}

.rcf-message-attachments {
    margin-top: 10px;
}

.rcf-attachment-item {
    margin-bottom: 8px;
}

.rcf-attachment-item:last-child {
    margin-bottom: 0;
}

.rcf-attachment-image img {
    max-width: 200px;
    max-height: 150px;
    border-radius: var(--rcf-radius);
    display: block;
}

.rcf-attachment-file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--rcf-radius);
    color: inherit;
    text-decoration: none;
    font-size: 12px;
}

.rcf-attachment-file:hover {
    background: rgba(0, 0, 0, 0.3);
}

.rcf-attachment-name {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rcf-attachment-size {
    color: var(--rcf-text-muted);
}

/* --------------------------------------------------------------------------
   Draft Auto-save Status
   -------------------------------------------------------------------------- */

.rcf-draft-status {
    font-size: 11px;
    color: var(--rcf-text-muted);
    margin-left: 10px;
}

.rcf-draft-status.rcf-draft-saved {
    color: var(--rcf-success);
}

/* --------------------------------------------------------------------------
   Pinned Conversations
   -------------------------------------------------------------------------- */

.rcf-conversation-item-wrapper {
    display: flex;
    align-items: center;
    position: relative;
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius);
    margin-bottom: 2px;
    transition: background var(--rcf-transition);
}

.rcf-conversation-item-wrapper:hover {
    background: var(--rcf-bg-dark);
}

.rcf-conversation-item-wrapper.rcf-conv-pinned {
    background: var(--rcf-primary-bg);
    border-left: 3px solid var(--rcf-warning);
}

.rcf-conv-checkbox {
    padding: 0 5px 0 15px;
    flex-shrink: 0;
}

.rcf-conv-checkbox input {
    width: 16px;
    height: 16px;
    cursor: pointer;
}

.rcf-pinned-indicator {
    color: var(--rcf-warning);
    padding-right: 5px;
}

.rcf-pinned-indicator .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-conversation-item-wrapper .rcf-conversation-item {
    flex: 1;
    border-radius: 0;
    background: transparent;
    margin-bottom: 0;
}

.rcf-conv-actions {
    display: flex;
    gap: 5px;
    padding-right: 10px;
    opacity: 0;
    transition: opacity var(--rcf-transition);
}

.rcf-conversation-item-wrapper:hover .rcf-conv-actions {
    opacity: 1;
}

.rcf-pin-btn,
.rcf-conversation-delete {
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--rcf-transition);
}

.rcf-pin-btn:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-warning);
}

.rcf-pin-btn.rcf-pinned {
    color: var(--rcf-warning);
}

.rcf-conversation-delete:hover {
    background: var(--rcf-danger);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Bulk Actions Bar
   -------------------------------------------------------------------------- */

.rcf-bulk-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 15px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    margin-bottom: 10px;
}

.rcf-select-all-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
}

.rcf-select-all-wrapper input {
    width: 16px;
    height: 16px;
}

.rcf-selected-count {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

/* --------------------------------------------------------------------------
   Blocked Users
   -------------------------------------------------------------------------- */

.rcf-blocked-users-container {
    background: var(--rcf-bg-darker);
    border-radius: var(--rcf-radius-lg);
    padding: 20px;
}

.rcf-section-header {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 20px;
}

.rcf-section-header h2 {
    margin: 0;
    font-size: 18px;
}

.rcf-blocked-users-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.rcf-blocked-user-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
}

.rcf-blocked-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rcf-blocked-user-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.rcf-blocked-username {
    font-weight: 600;
    color: var(--rcf-text);
}

.rcf-blocked-date {
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-blocked-reason {
    font-size: 12px;
    color: var(--rcf-text-light);
    font-style: italic;
}

.rcf-blocked-notice {
    padding: 20px;
    background: var(--rcf-danger);
    background: rgba(244, 67, 54, 0.1);
    border: 1px solid var(--rcf-danger);
    border-radius: var(--rcf-radius);
    margin: 15px 0;
    text-align: center;
}

.rcf-blocked-notice p {
    margin: 0;
    color: var(--rcf-text);
}

.rcf-blocked-notice .rcf-unblock-btn {
    background: transparent;
    border: 1px solid var(--rcf-primary);
    color: var(--rcf-primary);
    padding: 5px 15px;
    border-radius: var(--rcf-radius);
    cursor: pointer;
    margin-left: 10px;
}

.rcf-blocked-notice .rcf-unblock-btn:hover {
    background: var(--rcf-primary);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Block User Modal
   -------------------------------------------------------------------------- */

.rcf-modal.rcf-modal-sm {
    max-width: 400px;
}

.rcf-modal.rcf-modal-compose {
    max-width: 520px;
    min-height: 200px;
}

.rcf-block-info {
    font-size: 13px;
    color: var(--rcf-text-muted);
    margin-top: 5px;
}

/* --------------------------------------------------------------------------
   Mini Status in Conversation List
   -------------------------------------------------------------------------- */

.rcf-mini-status {
    display: inline-flex;
    align-items: center;
    margin-right: 5px;
}

.rcf-mini-status .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-mini-status.rcf-status-sent .dashicons {
    color: var(--rcf-text-muted);
}

.rcf-mini-status.rcf-status-delivered .dashicons {
    color: var(--rcf-text-muted);
    margin-left: -6px;
}

.rcf-mini-status.rcf-status-delivered .dashicons:first-child {
    margin-left: 0;
}

.rcf-mini-status.rcf-status-read .dashicons {
    color: var(--rcf-info);
}

/* --------------------------------------------------------------------------
   Search Results Folder Badge
   -------------------------------------------------------------------------- */

.rcf-folder-badge {
    padding: 3px 8px;
    border-radius: 10px;
    font-size: 10px;
    text-transform: uppercase;
    font-weight: 600;
    flex-shrink: 0;
}

.rcf-badge-inbox {
    background: var(--rcf-info);
    color: #fff;
}

.rcf-badge-sent {
    background: var(--rcf-success);
    color: #fff;
}

/* --------------------------------------------------------------------------
   Icon Buttons in Chat Header
   -------------------------------------------------------------------------- */

.rcf-btn.rcf-btn-icon {
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--rcf-text-muted);
    border: none;
}

.rcf-btn.rcf-btn-icon:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text);
}

.rcf-btn.rcf-btn-icon.rcf-pinned {
    color: var(--rcf-warning);
}

/* --------------------------------------------------------------------------
   Message Status Icons in Conversation View
   -------------------------------------------------------------------------- */

.rcf-message-status {
    display: inline-flex;
    align-items: center;
}

.rcf-message-status .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-status-delivered .dashicons + .dashicons {
    margin-left: -8px;
}

/* --------------------------------------------------------------------------
   Enhanced Messaging Responsive
   -------------------------------------------------------------------------- */

@media (max-width: 768px) {
    .rcf-bulk-actions {
        flex-wrap: wrap;
        gap: 10px;
    }

    .rcf-bulk-actions .rcf-btn {
        flex: 1;
        min-width: 100px;
    }

    .rcf-conversation-item-wrapper .rcf-conv-actions {
        opacity: 1;
    }

    .rcf-reaction-picker {
        flex-wrap: wrap;
        max-width: 200px;
        justify-content: center;
    }

    .rcf-blocked-user-item {
        flex-wrap: wrap;
    }

    .rcf-blocked-user-item .rcf-btn {
        width: 100%;
        margin-top: 10px;
    }
}

@media (max-width: 480px) {
    .rcf-chat-message .rcf-message-react-btn {
        opacity: 1;
    }

    .rcf-attachment-image img {
        max-width: 150px;
    }

    .rcf-quick-reaction {
        width: 32px;
        height: 32px;
        font-size: 18px;
    }
}

/* ==========================================================================
   PM ENHANCEMENTS - Phase 2
   ========================================================================== */

/* --- Load Older Button (Imp 2) --- */
.rcf-load-older-wrapper {
    text-align: center;
    padding: 12px 0;
}

.rcf-load-older-btn {
    background: none;
    border: 1px solid var(--rcf-border);
    color: var(--rcf-text-muted);
    padding: 6px 16px;
    border-radius: var(--rcf-radius);
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.rcf-load-older-btn:hover {
    color: var(--rcf-text);
    border-color: var(--rcf-accent);
    background: rgba(234, 82, 16, 0.1);
}

.rcf-load-older-btn:disabled {
    opacity: 0.5;
    cursor: wait;
}

.rcf-load-older-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* --- New Messages Floating Indicator (Imp 4) --- */
.rcf-new-msg-indicator {
    position: sticky;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--rcf-accent, #ea5210);
    color: #fff;
    padding: 8px 18px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    z-index: 10;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    display: inline-flex;
    align-items: center;
    gap: 4px;
    animation: rcfFadeInUp 0.3s ease;
    width: fit-content;
    margin: 0 auto;
}

.rcf-new-msg-indicator:hover {
    filter: brightness(1.1);
}

.rcf-new-msg-indicator .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

@keyframes rcfFadeInUp {
    from { opacity: 0; transform: translateX(-50%) translateY(10px); }
    to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

/* --- Send Button Loading State (Imp 5) --- */
.rcf-send-btn.rcf-btn-loading {
    opacity: 0.7;
    cursor: wait;
}

.rcf-send-spinner .rcf-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: rcfSpin 0.6s linear infinite;
}

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

/* --- Draft Saved Indicator (Imp 6) --- */
.rcf-draft-status.rcf-draft-saved {
    color: var(--rcf-success, #4caf50);
    font-size: 12px;
    animation: rcfDraftFade 2s ease forwards;
}

@keyframes rcfDraftFade {
    0%, 70% { opacity: 1; }
    100% { opacity: 0; }
}

/* --- Mobile Reaction Picker (Imp 7) --- */
@media (max-width: 768px) {
    .rcf-reaction-picker.rcf-mobile-picker {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        top: auto !important;
        border-radius: 16px 16px 0 0;
        padding: 16px;
        z-index: 10001;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        background: var(--rcf-bg-dark, #1a1a2e);
        border-top: 1px solid var(--rcf-border);
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.5);
    }

    .rcf-reaction-picker.rcf-mobile-picker .rcf-quick-reaction {
        width: 44px;
        height: 44px;
        font-size: 22px;
        min-width: 44px;
        min-height: 44px;
    }

    .rcf-picker-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 10000;
    }
}

/* --- Mute Button (Imp 9) --- */
.rcf-mute-btn {
    position: relative;
}

.rcf-mute-btn.rcf-muted .dashicons {
    opacity: 0.5;
}

.rcf-muted-slash {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 20px;
    background: var(--rcf-danger, #e74c3c);
    transform: translate(-50%, -50%) rotate(45deg);
    pointer-events: none;
}

.rcf-muted-indicator {
    color: var(--rcf-text-muted);
    font-size: 14px;
    margin-right: 4px;
    opacity: 0.5;
}

.rcf-muted-indicator .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* --- Message Editing (Imp 10) --- */
.rcf-msg-editing .rcf-message-bubble {
    border: 1px solid var(--rcf-accent, #ea5210);
}

.rcf-edit-textarea {
    width: 100%;
    background: var(--rcf-bg-dark, #1a1a2e);
    color: var(--rcf-text);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    padding: 8px;
    font-size: 14px;
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
}

.rcf-edit-actions {
    display: flex;
    gap: 8px;
    margin-top: 8px;
    justify-content: flex-end;
}

.rcf-msg-edited {
    font-size: 11px;
    color: var(--rcf-text-muted);
    font-style: italic;
    margin-left: 4px;
}

/* --- Unread Divider (Imp 11) --- */
.rcf-unread-divider {
    display: flex;
    align-items: center;
    margin: 12px 0;
    gap: 12px;
}

.rcf-unread-divider::before,
.rcf-unread-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--rcf-accent, #ea5210);
    opacity: 0.5;
}

.rcf-unread-divider span {
    color: var(--rcf-accent, #ea5210);
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    white-space: nowrap;
}

/* --- Message Actions Group --- */
.rcf-message-actions-group {
    display: flex;
    flex-direction: column;
    gap: 2px;
    opacity: 0;
    transition: opacity 0.2s;
    align-self: center;
}

.rcf-chat-message:hover .rcf-message-actions-group {
    opacity: 1;
}

.rcf-message-edit-btn,
.rcf-message-report-btn {
    background: none;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    padding: 2px;
    border-radius: 4px;
    transition: all 0.2s;
    line-height: 1;
}

.rcf-message-edit-btn:hover {
    color: var(--rcf-accent, #ea5210);
    background: rgba(234, 82, 16, 0.1);
}

.rcf-message-report-btn:hover {
    color: var(--rcf-danger, #e74c3c);
    background: rgba(231, 76, 60, 0.1);
}

.rcf-message-edit-btn .dashicons,
.rcf-message-report-btn .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* ==========================================================================
   POST COMMENTS INTEGRATION
   Forum-based comments for WordPress posts (Replaces Disqus)
   ========================================================================== */

/* Container */
.rcf-post-comments {
    margin: 40px 0;
    padding: 25px;
    background: var(--rcf-bg-medium);
    border-radius: var(--rcf-radius-lg);
    font-family: var(--rcf-font);
}

/* Comments Header */
.rcf-comments-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-comments-title h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    color: var(--rcf-text);
}

.rcf-comments-title .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--rcf-primary);
}

.rcf-comment-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 10px;
    font-size: 14px;
    font-weight: 700;
    background: var(--rcf-primary);
    color: var(--rcf-text);
    border-radius: 14px;
}

.rcf-comments-stats {
    display: flex;
    align-items: center;
    gap: 20px;
}

.rcf-comments-stats .rcf-stat {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--rcf-text-muted);
}

.rcf-comments-stats .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
    opacity: 0.7;
}

/* No Comments State */
.rcf-no-comments {
    text-align: center;
    padding: 50px 20px;
}

.rcf-no-comments-icon .dashicons {
    font-size: 64px;
    width: 64px;
    height: 64px;
    color: var(--rcf-text-muted);
    opacity: 0.3;
}

.rcf-no-comments h4 {
    margin: 20px 0 10px;
    font-size: 18px;
    color: var(--rcf-text);
}

.rcf-no-comments p {
    margin: 0;
    color: var(--rcf-text-muted);
}

/* Comments List */
.rcf-comments-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Single Comment */
.rcf-comment {
    display: flex;
    gap: 15px;
    padding: 20px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    border-left: 3px solid transparent;
    transition: border-color var(--rcf-transition), background var(--rcf-transition);
    position: relative;
}

.rcf-comment:hover {
    background: var(--rcf-bg-darker);
}

.rcf-comment.rcf-comment-new {
    animation: rcf-comment-highlight 3s ease-out;
}

@keyframes rcf-comment-highlight {
    0% {
        background: var(--rcf-primary-bg);
        border-left-color: var(--rcf-primary);
    }
    100% {
        background: var(--rcf-bg-dark);
        border-left-color: transparent;
    }
}

/* Role-based border colors */
.rcf-comment.rcf-role-admin {
    border-left-color: var(--rcf-danger);
}

.rcf-comment.rcf-role-mod {
    border-left-color: var(--rcf-warning);
}

.rcf-comment.rcf-role-vip {
    border-left-color: #ff9800;
}

.rcf-comment.rcf-role-guest {
    border-left-color: #888888;
}

/* Comment Avatar */
.rcf-comment-avatar {
    position: relative;
    flex-shrink: 0;
}

.rcf-comment-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--rcf-bg-medium);
}

.rcf-comment-badge {
    position: absolute;
    bottom: -4px;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--rcf-bg-dark);
    border: 2px solid var(--rcf-bg-dark);
}

.rcf-comment-badge .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-badge-admin .dashicons,
.rcf-badge-administrator .dashicons {
    color: var(--rcf-danger);
}

.rcf-badge-moderator .dashicons {
    color: var(--rcf-warning);
}

/* Comment Body */
.rcf-comment-body {
    flex: 1;
    min-width: 0;
}

/* Comment Header */
.rcf-comment-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}

.rcf-comment-author {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.rcf-author-name {
    font-weight: 600;
    color: var(--rcf-text);
    text-decoration: none;
    transition: color var(--rcf-transition);
}

.rcf-author-name:hover {
    color: var(--rcf-primary);
}

.rcf-author-name.rcf-role-admin {
    color: var(--rcf-danger);
}

.rcf-author-name.rcf-role-mod {
    color: var(--rcf-warning);
}

.rcf-author-name.rcf-role-vip {
    color: #ff9800;
}

.rcf-author-name.rcf-role-guest {
    color: #888888;
}

.rcf-author-role {
    display: inline-flex;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-radius: 3px;
    background: var(--rcf-bg-medium);
    color: var(--rcf-text-muted);
}

.rcf-author-role.rcf-role-admin {
    background: rgba(244, 67, 54, 0.15);
    color: var(--rcf-danger);
}

.rcf-author-role.rcf-role-mod {
    background: rgba(255, 183, 77, 0.15);
    color: var(--rcf-warning);
}

.rcf-author-role.rcf-role-vip {
    background: rgba(249, 226, 175, 0.15);
    color: #ff9800;
}

.rcf-author-role.rcf-role-guest {
    background: rgba(108, 112, 134, 0.15);
    color: #888888;
}

.rcf-author-rep {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #ff9800;
}

.rcf-author-rep .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Comment Meta */
.rcf-comment-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-comment-meta time {
    cursor: default;
}

.rcf-edited {
    font-style: italic;
    opacity: 0.8;
}

.rcf-comment-link {
    color: var(--rcf-text-muted);
    text-decoration: none;
    opacity: 0.6;
    transition: opacity var(--rcf-transition);
}

.rcf-comment-link:hover {
    opacity: 1;
    color: var(--rcf-primary);
}

/* Comment Content */
.rcf-comment-content {
    font-size: 14px;
    line-height: 1.7;
    color: var(--rcf-text);
    word-wrap: break-word;
}

.rcf-comment-content p {
    margin: 0 0 10px;
}

.rcf-comment-content p:last-child {
    margin-bottom: 0;
}

.rcf-comment-content a {
    color: var(--rcf-primary);
    text-decoration: none;
}

.rcf-comment-content a:hover {
    text-decoration: underline;
}

/* Comment Actions */
.rcf-comment-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-comment-action {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 500;
    color: var(--rcf-text-muted);
    background: transparent;
    border: 1px solid transparent;
    border-radius: var(--rcf-radius);
    cursor: pointer;
    transition: all var(--rcf-transition);
}

.rcf-comment-action:hover {
    background: var(--rcf-bg-medium);
    color: var(--rcf-text);
}

.rcf-comment-action .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Like Button */
.rcf-comment-like-btn.rcf-liked {
    color: var(--rcf-danger);
}

.rcf-comment-like-btn.rcf-liked .dashicons-heart {
    color: var(--rcf-danger);
}

.rcf-like-count {
    font-weight: 600;
}

/* Reply Button */
.rcf-reply-btn:hover {
    color: var(--rcf-primary);
}

/* Report Button */
.rcf-report-comment-btn:hover {
    color: var(--rcf-warning);
}

/* Author Posts Count */
.rcf-author-posts {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: var(--rcf-text-muted);
    margin-left: auto;
}

.rcf-author-posts .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

/* Nested/Threaded Comments (Game Post Page) */
.rcf-comment-wrapper {
    margin-bottom: 15px;
}

.rcf-nested-comments {
    margin-left: 30px;
    padding-left: 20px;
    border-left: 3px solid var(--rcf-border);
    margin-top: 15px;
}

.rcf-nested-comment {
    position: relative;
}

.rcf-nested-comment::before {
    content: '';
    position: absolute;
    left: -23px;
    top: 30px;
    width: 20px;
    height: 2px;
    background: var(--rcf-border);
}

/* Nested comment depth backgrounds */
.rcf-comment-depth-1 .rcf-comment {
    background: var(--rcf-bg-dark);
}

.rcf-comment-depth-2 .rcf-comment {
    background: var(--rcf-bg-medium);
}

.rcf-comment-depth-3 .rcf-comment {
    background: rgba(255, 255, 255, 0.03);
}

/* Reply indicator on nested comments — placed in the author line, not over meta */
.rcf-nested-comment > .rcf-comment .rcf-comment-author::after {
    content: 'Reply';
    font-size: 10px;
    text-transform: uppercase;
    color: var(--rcf-primary);
    background: rgba(33, 150, 243, 0.1);
    padding: 2px 8px;
    border-radius: 3px;
    font-weight: 600;
    line-height: 1;
}

/* Smaller avatars for nested comments */
.rcf-nested-comment .rcf-comment-avatar img {
    width: 36px;
    height: 36px;
}

/* Responsive nested comments */
@media (max-width: 768px) {
    .rcf-nested-comments {
        margin-left: 15px;
        padding-left: 10px;
    }

    .rcf-nested-comment::before {
        display: none;
    }

    .rcf-nested-comment > .rcf-comment .rcf-comment-author::after {
        display: none;
    }
}

/* Pagination */
.rcf-comments-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--rcf-border);
}

.rcf-load-more-comments {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rcf-pagination-info {
    font-size: 13px;
    color: var(--rcf-text-muted);
}

/* Comment Form Wrapper */
.rcf-comment-form-wrapper {
    margin-top: 25px;
    padding-top: 25px;
    border-top: 1px solid var(--rcf-border);
}

/* Comment Form */
.rcf-comment-form {
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    overflow: visible;
    position: relative;
    z-index: 10;
}

.rcf-comment-form * {
    pointer-events: auto;
}

.rcf-comment-form-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: var(--rcf-bg-darker);
}

.rcf-commenter-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.rcf-commenter-name {
    font-weight: 600;
    color: var(--rcf-text);
}

#rcf-post-comment-form {
    padding: 15px;
}

.rcf-comment-form .rcf-form-field {
    margin-bottom: 15px;
}

#rcf-comment-content,
.rcf-post-comments textarea,
.rcf-comment-form textarea {
    width: 100% !important;
    min-height: 100px !important;
    padding: 12px !important;
    font-size: 14px !important;
    font-family: var(--rcf-font) !important;
    line-height: 1.6 !important;
    background: var(--rcf-bg-darker) !important;
    border: 1px solid var(--rcf-border) !important;
    border-radius: var(--rcf-radius) !important;
    color: var(--rcf-text) !important;
    resize: vertical !important;
    transition: border-color var(--rcf-transition) !important;
    box-sizing: border-box !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: relative !important;
    z-index: 1 !important;
}

#rcf-comment-content:focus,
.rcf-post-comments textarea:focus,
.rcf-comment-form textarea:focus {
    outline: none !important;
    border-color: var(--rcf-primary) !important;
}

#rcf-comment-content::placeholder,
.rcf-post-comments textarea::placeholder,
.rcf-comment-form textarea::placeholder {
    color: var(--rcf-text-muted) !important;
}

.rcf-form-hint {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    font-size: 12px;
    color: var(--rcf-text-muted);
}

.rcf-form-hint .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    opacity: 0.7;
}

/* Reply Indicator */
.rcf-reply-indicator {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    margin-bottom: 10px;
    background: var(--rcf-primary-bg);
    border: 1px solid var(--rcf-primary);
    border-radius: var(--rcf-radius);
    font-size: 13px;
    color: var(--rcf-primary-light);
}

.rcf-cancel-reply {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--rcf-text-muted);
    cursor: pointer;
    transition: color var(--rcf-transition);
}

.rcf-cancel-reply:hover {
    color: var(--rcf-danger);
}

.rcf-cancel-reply .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* Form Actions */
.rcf-comment-form .rcf-form-actions {
    display: flex;
    justify-content: flex-end;
}

.rcf-submit-comment {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Login to Comment */
.rcf-login-to-comment {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
    text-align: center;
}

.rcf-login-to-comment .dashicons {
    font-size: 32px;
    width: 32px;
    height: 32px;
    color: var(--rcf-primary);
    opacity: 0.7;
}

.rcf-login-to-comment p {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-muted);
}

.rcf-login-to-comment a {
    color: var(--rcf-primary);
    text-decoration: none;
    font-weight: 600;
}

.rcf-login-to-comment a:hover {
    text-decoration: underline;
}

/* Comments Closed */
.rcf-comments-closed {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    background: var(--rcf-bg-dark);
    border-radius: var(--rcf-radius);
}

.rcf-comments-closed .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--rcf-warning);
}

.rcf-comments-closed p {
    margin: 0;
    font-size: 14px;
    color: var(--rcf-text-muted);
}

/* View Full Discussion Link */
.rcf-view-full-discussion {
    margin-top: 20px;
    text-align: center;
}

.rcf-view-full-discussion .rcf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Start Discussion (No Topic Yet) */
.rcf-start-discussion {
    text-align: center;
    padding: 30px 20px;
}

.rcf-start-discussion p {
    margin: 0 0 15px;
    color: var(--rcf-text-muted);
}

/* Spinner */
.rcf-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.3);
    border-top-color: currentColor;
    border-radius: 50%;
    animation: rcf-spin 0.8s linear infinite;
}

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

/* Responsive - Post Comments */
@media (max-width: 768px) {
    .rcf-post-comments {
        padding: 15px;
        margin: 20px 0;
    }

    .rcf-comments-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .rcf-comments-stats {
        flex-wrap: wrap;
        gap: 10px;
    }

    .rcf-comment {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
    }

    .rcf-comment-avatar {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .rcf-comment-avatar img {
        width: 36px;
        height: 36px;
    }

    .rcf-comment-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .rcf-comment-actions {
        gap: 10px;
    }

    .rcf-comment-action {
        padding: 4px 8px;
        font-size: 12px;
    }

    .rcf-author-posts {
        margin-left: 0;
    }

    .rcf-login-to-comment {
        flex-direction: column;
        text-align: center;
    }
}

@media (max-width: 480px) {
    .rcf-comments-title h3 {
        font-size: 18px;
    }

    .rcf-comment-author {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .rcf-comments-pagination {
        flex-direction: column;
        align-items: stretch;
    }

    .rcf-load-more-comments {
        width: 100%;
        justify-content: center;
    }
}

/* ============================
   Emoji Picker
   ============================ */

.rcf-emoji-picker {
    position: relative;
    display: inline-block;
}

.rcf-emoji-trigger {
    background: transparent;
    border: 1px solid var(--rcf-border);
    border-radius: 6px;
    padding: 6px 10px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-emoji-trigger:hover {
    background: var(--rcf-bg-light);
    border-color: var(--rcf-primary);
}

.rcf-emoji-picker {
    position: relative;
    display: inline-block;
}

.rcf-emoji-dropdown {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 5px;
    width: 320px;
    max-height: 350px;
    background: #1a1a1a;
    border: 1px solid #444444;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
    display: none;
    z-index: 2147483647;
    overflow: hidden;
}

.rcf-emoji-picker.active .rcf-emoji-dropdown {
    display: block;
}

.rcf-emoji-tabs {
    display: flex;
    gap: 2px;
    padding: 8px;
    background: var(--rcf-bg-medium);
    border-bottom: 1px solid var(--rcf-border);
}

.rcf-emoji-tab {
    flex: 1;
    background: transparent;
    border: none;
    padding: 8px 4px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease;
    opacity: 0.6;
}

.rcf-emoji-tab:hover {
    background: var(--rcf-bg-light);
    opacity: 1;
}

.rcf-emoji-tab.active {
    background: var(--rcf-primary);
    opacity: 1;
}

.rcf-emoji-content {
    padding: 8px;
    max-height: 250px;
    overflow-y: auto;
}

.rcf-emoji-content::-webkit-scrollbar {
    width: 6px;
}

.rcf-emoji-content::-webkit-scrollbar-track {
    background: var(--rcf-bg-dark);
}

.rcf-emoji-content::-webkit-scrollbar-thumb {
    background: var(--rcf-border);
    border-radius: 3px;
}

.rcf-emoji-category {
    display: none;
}

.rcf-emoji-category.active {
    display: block;
}

.rcf-emoji-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
}

.rcf-emoji-btn {
    background: transparent;
    border: none;
    padding: 6px;
    font-size: 20px;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.15s ease;
    line-height: 1;
}

.rcf-emoji-btn:hover {
    background: var(--rcf-bg-light);
    transform: scale(1.2);
}

/* Emoji in content */
.rcf-emoji {
    display: inline;
    font-size: 1.2em;
    font-style: normal;
    vertical-align: middle;
    line-height: 1;
}

/* Emoji picker in forms */
.rcf-form-toolbar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
}

.rcf-comment-form-wrapper .rcf-emoji-picker,
.rcf-reply-form .rcf-emoji-picker {
    margin-bottom: 10px;
}


/* Form actions row - emoji picker and submit button side by side */
.rcf-form-actions-row {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 15px 0;
    position: relative;
    z-index: 100;
}

.rcf-form-actions-row .rcf-emoji-picker {
    margin-bottom: 0;
    position: relative;
    z-index: 101;
}

.rcf-form-actions-row .rcf-btn-primary {
    flex-shrink: 0;
}

.rcf-form-actions-row .rcf-form-buttons {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

/* Post comment actions specific styling */
.rcf-post-comment-actions {
    justify-content: space-between;
}

.rcf-post-comment-actions .rcf-submit-comment {
    padding: 12px 24px;
    font-size: 15px;
    font-weight: 600;
}

/* =====================================================
   Comment Editor Wrapper - Emoji picker above textarea
   ===================================================== */
.rcf-comment-editor-wrapper {
    position: relative;
    background: #0d0d0d;
    border: 2px solid #444444;
    border-radius: 8px;
}

/* Emoji dropdown uses position:fixed, no overflow rules needed */

.rcf-editor-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #1a1a2e;
    border-bottom: 1px solid #444444;
    border-radius: 6px 6px 0 0;
    position: relative;
    z-index: 100;
}

.rcf-editor-toolbar .rcf-emoji-picker {
    margin: 0;
}


.rcf-comment-editor-wrapper textarea {
    display: block;
    width: 100%;
    min-height: 120px;
    padding: 15px;
    background: transparent;
    border: none;
    color: #e0e0e0;
    font-size: 15px;
    line-height: 1.6;
    resize: vertical;
    box-sizing: border-box;
    font-family: inherit;
    outline: none;
}

.rcf-comment-editor-wrapper textarea:focus {
    outline: none;
}

.rcf-editor-footer {
    display: flex;
    justify-content: flex-end;
    padding: 10px 12px;
    background: #1a1a2e;
    border-top: 1px solid #444444;
    border-radius: 0 0 6px 6px;
}

.rcf-editor-footer .rcf-submit-comment {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
}

/* Responsive emoji picker */
@media (max-width: 480px) {
    .rcf-emoji-dropdown {
        width: 280px;
    }

    .rcf-emoji-grid {
        grid-template-columns: repeat(6, 1fr);
    }

    .rcf-emoji-btn {
        font-size: 18px;
        padding: 5px;
    }

    .rcf-form-actions-row {
        gap: 10px;
    }

    .rcf-form-actions-row .rcf-btn-primary {
        flex: 1;
    }

    .rcf-form-actions-row .rcf-form-buttons {
        flex: 1;
    }
}

/* ========================================
   Game Request Form - Fix Visual Artifacts
   ======================================== */

/* Hide dashicons in game request form - they don't load on frontend */
.rcf-game-request-container .dashicons,
.rcf-gr-submit-btn .dashicons,
.rcf-gr-type-icon .dashicons,
#rcf-game-request-form .dashicons {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove any borders/lines in game request form */
.rcf-game-request-container,
.rcf-gr-header,
.rcf-gr-info-bar,
.rcf-gr-form,
.rcf-gr-section,
.rcf-gr-submit-section {
    border-top: none !important;
    border-bottom: none !important;
}

/* Ensure seamless connection between form sections */
.rcf-gr-header {
    margin-bottom: 0 !important;
}

.rcf-gr-info-bar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top: none !important;
    border-bottom: none !important;
}

.rcf-gr-form {
    margin-top: 0 !important;
}

/* Remove any pseudo-elements that might create lines */
.rcf-game-request-container *::before,
.rcf-game-request-container *::after {
    content: none !important;
    display: none !important;
}

/* Specific fix for submit button - ensure no visual artifacts */
.rcf-gr-submit-btn {
    position: relative;
    overflow: hidden;
}

/* Fix any gaps showing dark background */
.rcf-game-request-container {
    background: #1a1a1a;
    border-radius: 10px;
    overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   Unified Channels Admin Page
   ═══════════════════════════════════════════════════════════════════════════════ */

/* Channels page: form on top, hierarchy below (stacked single-column) */
.rcf-forums-grid.rcf-channels-grid {
    grid-template-columns: 1fr;
}

/* Mode tabs */
.rcf-channel-mode-tabs {
    display: flex;
    gap: 0;
    margin-bottom: 16px;
    border-radius: var(--rcf-radius);
    overflow: hidden;
    border: 1px solid var(--rcf-border);
}

.rcf-channel-mode-tab {
    flex: 1;
    padding: 10px 16px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text-muted);
    background: var(--rcf-bg-dark);
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.rcf-channel-mode-tab:hover {
    color: var(--rcf-text-white);
    background: var(--rcf-bg-medium);
}

.rcf-channel-mode-tab.active {
    color: var(--rcf-text-white);
    background: var(--rcf-primary);
}

/* Edit mode header */
.rcf-channel-mode-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    margin-bottom: 16px;
    background: var(--rcf-bg-dark);
    border: 1px solid var(--rcf-border);
    border-radius: var(--rcf-radius);
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text-white);
}

/* Category section in hierarchy */
.rcf-admin-cat-section {
    margin-bottom: 12px;
    border-radius: var(--rcf-radius);
    overflow: hidden;
    border: 1px solid var(--rcf-border);
}

.rcf-admin-cat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
}

/* Category arrows */
.rcf-admin-cat-header .rcf-cat-arrows {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex-shrink: 0;
}

.rcf-admin-cat-header .rcf-cat-arrows button {
    background: none;
    border: 1px solid rgba(255,255,255,0.15);
    color: #aaa;
    cursor: pointer;
    padding: 1px 4px;
    border-radius: 3px;
    line-height: 1;
}

.rcf-admin-cat-header .rcf-cat-arrows button .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

.rcf-admin-cat-header .rcf-cat-arrows button:hover {
    border-color: rgba(255,255,255,0.3);
    color: #fff;
}

/* Forum list inside category */
.rcf-admin-cat-forums {
    background: var(--rcf-bg-dark);
    padding: 0;
}

/* Collapsed state */
.rcf-admin-cat-section.collapsed .rcf-admin-cat-forums {
    display: none;
}

/* ── Admin forum row grid override ──
   Reuses public .rcf-forum-row layout, adds reorder arrows column
   and replaces the last 2 columns (messages + last-activity) with status + actions */
.rcf-admin-cat-forums.rcf-forum-list {
    border: none;
    border-radius: 0;
}

.rcf-admin-cat-section .rcf-forum-row {
    grid-template-columns: 40px 42px 1fr 80px 70px 80px;
    gap: 12px;
}

/* Override public forum-title sizing — admin rows are tighter than public index */
.rcf-admin-cat-section .rcf-forum-title {
    font-size: 13px;
    margin: 0;
    cursor: default;
}

.rcf-admin-cat-section .rcf-forum-title a {
    pointer-events: none;
    color: inherit;
    text-decoration: none;
}

/* Prevent public responsive from hiding stats/icon in admin (higher specificity) */
.rcf-admin-cat-section .rcf-forum-stats {
    display: block;
}

/* Status column */
.rcf-admin-forum-status {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
}

.rcf-admin-forum-status .rcf-status-badge {
    font-size: 10px;
    padding: 2px 6px;
}

.rcf-admin-forum-status .rcf-status-badge .dashicons {
    font-size: 11px;
    width: 11px;
    height: 11px;
}

/* Action buttons column */
.rcf-admin-forum-actions {
    display: flex;
    gap: 4px;
    justify-content: flex-end;
}

/* ── Sub-forum row (indented) ── */
.rcf-admin-cat-section .rcf-admin-subforum-row {
    grid-template-columns: 30px 36px 1fr 80px 70px 80px;
    padding-left: 30px;
    background: rgba(0,0,0,0.12);
}

.rcf-admin-cat-section .rcf-admin-subforum-row:hover {
    background: rgba(0,0,0,0.18);
}

/* Sub-forum icon: smaller than parent forum icon */
.rcf-admin-subforum-row .rcf-forum-icon {
    width: 30px;
    height: 30px;
}

.rcf-admin-subforum-row .rcf-forum-icon .dashicons {
    font-size: 15px;
    width: 15px;
    height: 15px;
}

/* Connector line for sub-forums */
.rcf-admin-subforum-connector {
    width: 30px;
    height: 100%;
    position: relative;
}

.rcf-admin-subforum-connector::before {
    content: '';
    position: absolute;
    left: 10px;
    top: 0;
    bottom: 50%;
    width: 0;
    border-left: 1px solid rgba(255,255,255,0.12);
}

.rcf-admin-subforum-connector::after {
    content: '';
    position: absolute;
    left: 10px;
    top: 50%;
    width: 10px;
    height: 0;
    border-top: 1px solid rgba(255,255,255,0.12);
}

/* Responsive: tablet — drop arrows + stats, keep status + actions */
@media (min-width: 769px) and (max-width: 992px) {
    .rcf-admin-cat-section .rcf-forum-row {
        grid-template-columns: 36px 1fr 70px 80px;
        gap: 8px;
    }

    .rcf-admin-cat-section .rcf-ch-arrows,
    .rcf-admin-cat-section .rcf-forum-stats {
        display: none;
    }

    .rcf-admin-cat-section .rcf-admin-subforum-row {
        grid-template-columns: 30px 1fr 70px 80px;
        padding-left: 24px;
    }
}

/* Responsive: mobile — drop arrows + status + stats, keep icon + info + actions */
@media (max-width: 768px) {
    .rcf-admin-cat-section .rcf-forum-row {
        grid-template-columns: 30px 1fr auto;
        gap: 8px;
        padding: 8px 10px;
    }

    .rcf-admin-cat-section .rcf-ch-arrows,
    .rcf-admin-cat-section .rcf-forum-stats,
    .rcf-admin-cat-section .rcf-admin-forum-status {
        display: none;
    }

    .rcf-admin-cat-section .rcf-admin-subforum-row {
        padding-left: 16px;
    }

    .rcf-admin-subforum-connector {
        display: none;
    }
}

/* Quick-add "+" button */
.rcf-admin-cat-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: rgba(255,255,255,0.08);
    color: #aaa;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.rcf-admin-cat-add-btn:hover {
    background: var(--rcf-primary);
    color: #fff;
}

.rcf-admin-cat-add-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Collapse toggle button */
.rcf-admin-cat-collapse-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 4px;
    background: none;
    border: 1px solid rgba(255,255,255,0.1);
    color: #aaa;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
}

.rcf-admin-cat-collapse-btn:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
}

.rcf-admin-cat-collapse-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Empty category hint */
.rcf-empty-cat-hint {
    padding: 12px 16px;
    font-size: 13px;
    color: var(--rcf-text-muted);
    font-style: italic;
}

.rcf-empty-cat-hint a {
    color: var(--rcf-primary);
    text-decoration: none;
    font-style: normal;
}

.rcf-empty-cat-hint a:hover {
    text-decoration: underline;
}

/* Channel reorder arrows */
.rcf-ch-arrows {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex-shrink: 0;
}

.rcf-ch-arrows button {
    background: none;
    border: 1px solid rgba(255,255,255,0.12);
    color: #888;
    cursor: pointer;
    padding: 1px 4px;
    border-radius: 3px;
    line-height: 1;
}

.rcf-ch-arrows button .dashicons {
    font-size: 12px;
    width: 12px;
    height: 12px;
}

.rcf-ch-arrows button:hover {
    border-color: rgba(255,255,255,0.25);
    color: #ccc;
}

/* ==========================================================================
   MY SUBMISSIONS PAGE
   ========================================================================== */

/* Back link */
.rcf-ms-back-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #2196f3;
    text-decoration: none;
    font-size: 13px;
    margin-bottom: 16px;
    transition: color 0.2s;
}
.rcf-ms-back-link:hover { color: #b4d0ff; }
.rcf-ms-back-link .dashicons { font-size: 16px; width: 16px; height: 16px; }

/* Status Banner */
.rcf-ms-status-banner {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #141414;
    border: 1px solid #252525;
    border-left: 4px solid;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 20px;
}
.rcf-ms-status-icon .dashicons {
    font-size: 28px;
    width: 28px;
    height: 28px;
}
.rcf-ms-status-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rcf-ms-status-label {
    font-size: 16px;
    font-weight: 600;
}
.rcf-ms-status-desc {
    color: #b0b0b0;
    font-size: 13px;
}

/* Cards */
.rcf-ms-card {
    background: #141414;
    border: 1px solid #252525;
    border-radius: 12px;
    padding: 20px 24px;
    margin-bottom: 20px;
}
.rcf-ms-card-title {
    color: #e0e0e0;
    font-size: 15px;
    font-weight: 600;
    margin: 0 0 16px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.rcf-ms-card-title .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    color: #888888;
}

/* Info Grid */
.rcf-ms-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.rcf-ms-info-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rcf-ms-info-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888888;
    font-weight: 600;
}
.rcf-ms-info-value {
    color: #e0e0e0;
    font-size: 14px;
}
.rcf-ms-time-ago {
    color: #888888;
    font-size: 12px;
}

/* Type Badges */
.rcf-ms-type-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 2px 8px;
    border-radius: 4px;
    line-height: 1.6;
}
.rcf-ms-type-new {
    background: rgba(52,152,219,0.15);
    color: #3498db;
    border: 1px solid rgba(52,152,219,0.3);
}
.rcf-ms-type-update {
    background: rgba(243,156,18,0.15);
    color: #f39c12;
    border: 1px solid rgba(243,156,18,0.3);
}

/* Feedback Card */
.rcf-ms-feedback-card {
    border-left: 3px solid;
}
.rcf-ms-feedback-text {
    color: #e0e0e0;
    font-size: 14px;
    line-height: 1.6;
    padding: 12px 16px;
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
}

/* Timeline */
.rcf-ms-timeline {
    position: relative;
    padding-left: 28px;
}
.rcf-ms-timeline::before {
    content: '';
    position: absolute;
    left: 11px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    background: #252525;
}
.rcf-ms-timeline-entry {
    position: relative;
    padding-bottom: 20px;
}
.rcf-ms-timeline-entry:last-child { padding-bottom: 0; }
.rcf-ms-timeline-dot {
    position: absolute;
    left: -28px;
    top: 2px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rcf-ms-timeline-dot .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    color: #fff;
}
.rcf-ms-timeline-content {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rcf-ms-timeline-header {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.rcf-ms-timeline-action {
    font-weight: 600;
    font-size: 13px;
}
.rcf-ms-timeline-by {
    color: #888888;
    font-size: 12px;
}
.rcf-ms-timeline-time {
    color: #555555;
    font-size: 12px;
    margin-left: auto;
}
.rcf-ms-timeline-notes {
    color: #b0b0b0;
    font-size: 13px;
    line-height: 1.5;
    padding: 10px 14px;
    background: rgba(255,255,255,0.02);
    border-radius: 8px;
    border-left: 2px solid #333;
}

/* Actions Area */
.rcf-ms-actions {
    margin-top: 8px;
}
.rcf-ms-actions .rcf-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.rcf-ms-actions .rcf-btn .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}
.rcf-ms-waiting-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #b0b0b0;
    font-size: 14px;
    background: #141414;
    border: 1px solid #252525;
    border-radius: 12px;
    padding: 16px 20px;
}
.rcf-ms-waiting-notice .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: #3498db;
}

/* Tab Filters */
.rcf-ms-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 20px;
    padding: 4px;
    background: #141414;
    border: 1px solid #252525;
    border-radius: 10px;
    overflow-x: auto;
}
.rcf-ms-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border-radius: 8px;
    font-size: 13px;
    color: #b0b0b0;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.2s;
}
.rcf-ms-tab:hover {
    color: #e0e0e0;
    background: rgba(255,255,255,0.04);
}
.rcf-ms-tab-active {
    background: #7abc48;
    color: #fff;
    font-weight: 600;
}
.rcf-ms-tab-active:hover {
    background: #6aa83c;
    color: #fff;
}
.rcf-ms-tab-count {
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 10px;
    background: rgba(255,255,255,0.1);
    min-width: 18px;
    text-align: center;
}
.rcf-ms-tab-active .rcf-ms-tab-count {
    background: rgba(255,255,255,0.2);
}

/* List View */
.rcf-ms-list {
    background: #141414;
    border: 1px solid #252525;
    border-radius: 12px;
    overflow: hidden;
}
.rcf-ms-list-header {
    display: grid;
    grid-template-columns: 1fr 130px 100px 80px;
    gap: 12px;
    padding: 12px 20px;
    background: #1a1a1a;
    border-bottom: 1px solid #252525;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888888;
    font-weight: 600;
}
.rcf-ms-list-row {
    display: grid;
    grid-template-columns: 1fr 130px 100px 80px;
    gap: 12px;
    padding: 14px 20px;
    align-items: center;
    border-bottom: 1px solid #1e1e1e;
    transition: background 0.15s;
}
.rcf-ms-list-row:last-child { border-bottom: none; }
.rcf-ms-list-row:hover { background: rgba(255,255,255,0.02); }
.rcf-ms-row-feedback {
    padding-left: 17px;
}
.rcf-ms-row-title {
    display: flex;
    align-items: center;
    gap: 8px;
}
.rcf-ms-row-title a {
    color: #e0e0e0;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rcf-ms-row-title a:hover { color: #2196f3; }
.rcf-ms-row-feedback-text {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 12px;
    color: #b0b0b0;
}
.rcf-ms-row-feedback-text .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
    color: #888888;
    flex-shrink: 0;
}

/* Status Pill */
.rcf-ms-status-pill {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    white-space: nowrap;
}

/* Date & Action columns */
.rcf-ms-col-date {
    color: #888888;
    font-size: 13px;
}
.rcf-ms-col-action { text-align: right; }
.rcf-ms-view-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #2196f3;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: color 0.2s;
}
.rcf-ms-view-link:hover { color: #b4d0ff; }
.rcf-ms-view-link .dashicons {
    font-size: 14px;
    width: 14px;
    height: 14px;
}

/* Responsive */
@media (max-width: 768px) {
    .rcf-ms-info-grid { grid-template-columns: 1fr; }
    .rcf-ms-list-header { display: none; }
    .rcf-ms-list-row {
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        gap: 8px;
    }
    .rcf-ms-col-date { display: none; }
    .rcf-ms-col-action {
        grid-row: 1;
        grid-column: 2;
    }
    .rcf-ms-col-title {
        grid-column: 1 / -1;
    }
    .rcf-ms-col-status {
        grid-column: 1;
    }
    .rcf-ms-tabs {
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
    }
    .rcf-ms-status-banner {
        flex-direction: column;
        text-align: center;
    }
    .rcf-ms-timeline-time {
        margin-left: 0;
        display: block;
        width: 100%;
    }
}

/* ==========================================================================
   Admin Users - Compact Row Layout
   ========================================================================== */

.rcf-user-list-header {
    display: grid;
    grid-template-columns: 36px 40px 1fr 90px 60px 60px 120px 140px;
    gap: 0 10px;
    padding: 8px 12px;
    background: var(--rcf-bg-dark);
    border-bottom: 2px solid var(--rcf-border);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--rcf-text-muted);
    letter-spacing: 0.5px;
    align-items: center;
    border-radius: var(--rcf-radius) var(--rcf-radius) 0 0;
}

.rcf-user-list-header span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-user-list-header .rcf-ulh-cb {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-user-list-header .rcf-ulh-cb input[type="checkbox"] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

.rcf-user-list {
    display: flex;
    flex-direction: column;
}

.rcf-user-row {
    display: grid;
    grid-template-columns: 36px 40px 1fr 90px 60px 60px 120px 140px;
    gap: 0 10px;
    padding: 8px 12px;
    border-bottom: 1px solid var(--rcf-border);
    align-items: center;
    transition: background var(--rcf-transition);
    min-height: 52px;
}

.rcf-user-row:last-child {
    border-bottom: none;
}

.rcf-user-row:hover {
    background: var(--rcf-bg-dark);
}

.rcf-user-row.rcf-row-banned {
    border-left: 3px solid var(--rcf-danger);
    background: rgba(244, 67, 54, 0.04);
}

.rcf-user-row.rcf-row-banned:hover {
    background: rgba(244, 67, 54, 0.08);
}

.rcf-user-row.rcf-row-self {
    border-left: 3px solid var(--rcf-primary);
    background: var(--rcf-primary-bg);
}

/* Column: Checkbox */
.rcf-ur-cb {
    display: flex;
    align-items: center;
    justify-content: center;
}

.rcf-ur-cb input[type="checkbox"] {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: var(--rcf-primary);
}

/* Column: Avatar */
.rcf-ur-avatar {
    position: relative;
    flex-shrink: 0;
}

.rcf-ur-avatar img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: block;
}

.rcf-ur-avatar .rcf-avatar-badge {
    width: 16px;
    height: 16px;
    bottom: -1px;
    right: -3px;
    border-width: 1.5px;
}

.rcf-ur-avatar .rcf-avatar-badge .dashicons {
    font-size: 10px;
    width: 10px;
    height: 10px;
}

/* Column: Info (name + username + email + roles) */
.rcf-ur-info {
    min-width: 0;
    overflow: hidden;
}

.rcf-ur-name-row {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    min-width: 0;
}

.rcf-ur-name-row a {
    font-weight: 600;
    font-size: 13px;
    color: var(--rcf-text-white);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-ur-name-row a:hover {
    color: var(--rcf-primary);
}

.rcf-ur-name-row .rcf-you-badge {
    font-size: 9px;
    padding: 1px 5px;
    flex-shrink: 0;
}

.rcf-ur-name-row .rcf-ur-username {
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    flex-shrink: 0;
}

.rcf-ur-name-row .rcf-ur-email {
    font-size: 11px;
    color: var(--rcf-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    opacity: 0.7;
}

.rcf-ur-roles {
    display: flex;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 2px;
}

.rcf-ur-role-chip {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 9px;
    padding: 1px 5px;
    border-radius: 3px;
    border: 1px solid;
    line-height: 1.4;
    white-space: nowrap;
}

.rcf-ur-role-chip .rcf-ur-rc-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Column: Rank + VIP + ban indicator */
.rcf-ur-rank {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
}

.rcf-ur-rank .rcf-rank-badge {
    font-size: 10px;
    padding: 2px 8px;
}

.rcf-ur-rank .rcf-ur-vip-badge {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: linear-gradient(135deg, #ffd700 0%, #ffb300 100%);
    color: #000;
    font-size: 9px;
    font-weight: 700;
    padding: 1px 6px;
    border-radius: 8px;
}

.rcf-ur-rank .rcf-ur-vip-badge .dashicons {
    font-size: 10px;
    width: 10px;
    height: 10px;
}

.rcf-ur-rank .rcf-ur-ban-label {
    font-size: 9px;
    color: var(--rcf-danger);
    white-space: nowrap;
}

/* Column: Stats (posts, points) */
.rcf-ur-stat {
    font-size: 13px;
    font-weight: 600;
    color: var(--rcf-text-white);
    text-align: center;
}

.rcf-ur-stat small {
    display: none;
}

/* Column: Joined + IP */
.rcf-ur-joined {
    font-size: 11px;
    color: var(--rcf-text-muted);
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rcf-ur-joined .rcf-ur-ip {
    font-family: monospace;
    font-size: 10px;
    opacity: 0.7;
    display: block;
}

/* Column: Actions */
.rcf-ur-actions {
    display: flex;
    gap: 3px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.rcf-ur-actions .rcf-row-action {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--rcf-border);
    background: transparent;
    color: var(--rcf-text-muted);
    border-radius: var(--rcf-radius);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--rcf-transition);
    font-size: 0;
    line-height: 1;
    text-decoration: none;
}

.rcf-ur-actions .rcf-row-action .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.rcf-ur-actions .rcf-row-action:hover {
    background: var(--rcf-bg-light);
    color: var(--rcf-text-white);
    border-color: var(--rcf-border-light);
}

.rcf-ur-actions .rcf-row-action-warning {
    color: var(--rcf-warning);
    border-color: rgba(255, 183, 77, 0.3);
}
.rcf-ur-actions .rcf-row-action-warning:hover {
    background: rgba(255, 183, 77, 0.15);
    color: var(--rcf-warning);
}

.rcf-ur-actions .rcf-row-action-danger {
    color: var(--rcf-danger);
    border-color: rgba(244, 67, 54, 0.3);
}
.rcf-ur-actions .rcf-row-action-danger:hover {
    background: rgba(244, 67, 54, 0.15);
    color: var(--rcf-danger);
}

.rcf-ur-actions .rcf-row-action-success {
    color: var(--rcf-success);
    border-color: rgba(76, 175, 80, 0.3);
}
.rcf-ur-actions .rcf-row-action-success:hover {
    background: rgba(76, 175, 80, 0.15);
    color: var(--rcf-success);
}

.rcf-ur-actions .rcf-row-action-vip {
    color: #ffd700;
    border-color: rgba(255, 215, 0, 0.3);
}
.rcf-ur-actions .rcf-row-action-vip:hover {
    background: rgba(255, 215, 0, 0.15);
    color: #ffd700;
}

.rcf-ur-actions .rcf-row-action-vip-active {
    background: linear-gradient(135deg, #ffd700 0%, #ffb300 100%);
    color: #000;
    border: none;
}
.rcf-ur-actions .rcf-row-action-vip-active:hover {
    background: linear-gradient(135deg, #ffb300 0%, #ff8f00 100%);
    color: #000;
}

/* Inline promote/demote form inside actions */
.rcf-ur-actions form {
    display: inline;
    margin: 0;
    padding: 0;
}

/* --------------------------------------------------------------------------
   Admin Users Row - Responsive Breakpoints
   -------------------------------------------------------------------------- */

/* <= 1200px: hide stats + joined columns */
@media (max-width: 1200px) {
    .rcf-user-list-header {
        grid-template-columns: 36px 40px 1fr 90px 140px;
    }
    .rcf-user-row {
        grid-template-columns: 36px 40px 1fr 90px 140px;
    }
    .rcf-user-list-header .rcf-ulh-posts,
    .rcf-user-list-header .rcf-ulh-points,
    .rcf-user-list-header .rcf-ulh-joined,
    .rcf-ur-stat,
    .rcf-ur-joined {
        display: none;
    }
}

/* <= 991px: also hide rank column */
@media (max-width: 991px) {
    .rcf-user-list-header {
        grid-template-columns: 36px 40px 1fr 140px;
    }
    .rcf-user-row {
        grid-template-columns: 36px 40px 1fr 140px;
    }
    .rcf-user-list-header .rcf-ulh-rank,
    .rcf-ur-rank {
        display: none;
    }
}

/* <= 768px: hide avatar, email; compress actions */
@media (max-width: 768px) {
    .rcf-user-list-header {
        grid-template-columns: 30px 1fr 120px;
    }
    .rcf-user-row {
        grid-template-columns: 30px 1fr 120px;
    }
    .rcf-user-list-header .rcf-ulh-avatar,
    .rcf-ur-avatar {
        display: none;
    }
    .rcf-ur-name-row .rcf-ur-email {
        display: none;
    }
    .rcf-ur-actions .rcf-row-action {
        width: 26px;
        height: 26px;
    }
    .rcf-ur-actions .rcf-row-action .dashicons {
        font-size: 14px;
        width: 14px;
        height: 14px;
    }
}

/* <= 576px: also hide role chips */
@media (max-width: 576px) {
    .rcf-user-list-header {
        display: none;
    }
    .rcf-user-row {
        grid-template-columns: 28px 1fr auto;
        padding: 10px 8px;
    }
    .rcf-ur-roles {
        display: none;
    }
    .rcf-ur-actions {
        flex-direction: column;
        gap: 2px;
    }
}

/* ─── Mod Panel CSS Variables ─── */
.rcf-mod-wrapper {
    --mod-bg: #242424;
    --mod-bg-alt: #1a1a1a;
    --mod-surface: #333333;
    --mod-text: #e0e0e0;
    --mod-text-muted: #888888;
    --mod-accent: #2196f3;
    --mod-danger: #f44336;
    --mod-warning: #ffb74d;
    --mod-success: #4caf50;
}

/* ─── Toast Notifications ─── */
@keyframes rcfSlideIn {
    from { opacity: 0; transform: translateX(100px); }
    to { opacity: 1; transform: translateX(0); }
}
.rcf-toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 14px 20px;
    background: #1a1a1a;
    border-radius: 8px;
    z-index: 99999;
    font-size: 14px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    gap: 8px;
    animation: rcfSlideIn 0.3s ease;
    max-width: 400px;
}
.rcf-toast-success { border: 1px solid #4caf50; color: #4caf50; }
.rcf-toast-error { border: 1px solid #f44336; color: #f44336; }
.rcf-toast-warning { border: 1px solid #ffb74d; color: #ffb74d; }
.rcf-toast-info { border: 1px solid #2196f3; color: #2196f3; }

/* ─── Mod Sidebar Nav (moved from inline) ─── */
.rcf-mod-sidebar {
    background: var(--mod-bg, #242424) !important;
    min-width: 260px !important;
    display: flex !important;
    flex-direction: column !important;
    border-right: 1px solid var(--mod-surface, #333333);
}
.rcf-mod-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    color: #b0b0b0;
    text-decoration: none;
    transition: all 0.2s ease;
}
.rcf-mod-nav-item:hover {
    background: rgba(33, 150, 243, 0.1) !important;
    color: var(--mod-text, #e0e0e0) !important;
}
.rcf-mod-nav-item.rcf-nav-active {
    background: rgba(33, 150, 243, 0.2) !important;
    color: var(--mod-accent, #2196f3) !important;
    border-left: 3px solid var(--mod-accent, #2196f3);
    padding-left: 17px !important;
}
.rcf-mod-nav-item .dashicons {
    font-size: 18px;
    width: 20px;
    height: 20px;
}

/* ─── Sortable placeholder ─── */
.rcf-sortable-placeholder {
    border: 2px dashed var(--mod-accent, #2196f3);
    background: rgba(33, 150, 243, 0.1);
    min-height: 40px;
    border-radius: 6px;
}

/* ─── Queue bulk checkbox ─── */
.rcf-queue-checkbox:checked {
    accent-color: #2196f3;
}
.rcf-queue-item {
    transition: all 0.3s ease;
}

/* ═══════════════════════════════════════════════════════════════════════════════
   DYNAMIC MOD PANEL — EXPANDED SECTIONS
   ═══════════════════════════════════════════════════════════════════════════════ */

/* ─── Nav sidebar scrollable with more items ─── */
.rcf-mod-sidebar {
    max-height: 100vh;
    overflow-y: auto;
}
.rcf-mod-nav {
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #333333 transparent;
}
.rcf-mod-nav::-webkit-scrollbar {
    width: 4px;
}
.rcf-mod-nav::-webkit-scrollbar-track {
    background: transparent;
}
.rcf-mod-nav::-webkit-scrollbar-thumb {
    background: #333333;
    border-radius: 2px;
}

/* ─── Nav badge alignment fix ─── */
.rcf-mod-nav-item .rcf-nav-badge {
    margin-left: auto;
}

/* ─── Stat card transitions ─── */
.rcf-mod-stat-card {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* ─── Thread management action buttons ─── */
.rcf-mod-content form[style*="display: inline"] button:hover {
    filter: brightness(1.2);
    transform: scale(1.05);
}

/* ─── Responsive: mod panel layout ─── */
@media (max-width: 1100px) {
    .rcf-mod-layout {
        flex-direction: column !important;
    }
    .rcf-mod-sidebar {
        min-width: 100% !important;
        max-height: none;
        border-right: none !important;
        border-bottom: 1px solid #333333;
    }
    .rcf-mod-nav {
        display: flex !important;
        flex-wrap: wrap;
        padding: 5px !important;
        overflow-y: visible !important;
    }
    .rcf-mod-nav .rcf-mod-nav-section {
        margin-bottom: 0 !important;
    }
    .rcf-mod-nav .rcf-nav-section-title {
        padding: 5px 10px !important;
        font-size: 10px !important;
    }
    .rcf-mod-nav .rcf-mod-nav-item {
        padding: 8px 12px !important;
        font-size: 13px;
    }
    .rcf-mod-user-card {
        display: none !important;
    }
    .rcf-mod-panel-badge {
        display: none !important;
    }
    .rcf-mod-footer {
        display: none !important;
    }
    .rcf-nav-section-bottom {
        margin-top: 0 !important;
        border-top: none !important;
    }
}

/* ─── Responsive: dashboard stat cards ─── */
@media (max-width: 768px) {
    .rcf-mod-stats-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}
@media (max-width: 480px) {
    .rcf-mod-stats-grid {
        grid-template-columns: 1fr !important;
    }
    .rcf-mod-content {
        padding: 15px !important;
    }
}

/* ─── Responsive: two-column panels to single column ─── */
@media (max-width: 900px) {
    .rcf-mod-content > div[style*="grid-template-columns: repeat(auto-fit, minmax(400px"] {
        grid-template-columns: 1fr !important;
    }
    .rcf-mod-content > div[style*="grid-template-columns: 280px 1fr"] {
        grid-template-columns: 1fr !important;
    }
}

/* ─── Analytics chart container ─── */
#rcf-mod-activity-chart {
    width: 100% !important;
}

/* ─── Channel tree styles ─── */
.rcf-mod-content [id^="edit-"] {
    animation: rcf-slideDown 0.2s ease;
}
@keyframes rcf-slideDown {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ─── Role viewer: permission tags ─── */
.rcf-mod-content span[style*="border-radius: 4px"][style*="font-size: 11px"] {
    transition: opacity 0.15s ease;
}

/* ─── Settings tab active state ─── */
.rcf-mod-content a[style*="border-bottom: 1px solid #1a1a1a"]:hover {
    opacity: 0.9;
}

/* ─── Thread management: move dropdown ─── */
.rcf-mod-content [id^="move-"] {
    animation: rcf-slideDown 0.2s ease;
}

/* ─── Premium cosmetic: name glow ─── */
.rcf-name-glow {
    text-shadow: 0 0 6px rgba(255, 215, 0, 0.6), 0 0 12px rgba(255, 215, 0, 0.3);
}
.rcf-name-glow.rcf-colored {
    text-shadow: 0 0 6px currentColor, 0 0 12px currentColor;
    filter: brightness(1.1);
}

/* ─── Premium cosmetic: custom title ─── */
.rcf-user-custom-title {
    font-size: 11px;
    color: #aaa;
    font-style: italic;
    margin-top: 2px;
}

/* ─── Custom title form (subscription tab) ─── */
.rcf-custom-title-form {
    display: flex;
    gap: 8px;
    align-items: center;
}
.rcf-custom-title-form input[type="text"] {
    flex: 1;
    padding: 8px 12px;
    background: var(--rcf-input-bg, #2a2a2a);
    border: 1px solid var(--rcf-input-border, #3a3a3a);
    color: var(--rcf-text, #e0e0e0);
    border-radius: 4px;
}
.rcf-custom-title-status {
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

/* ─── Animated Emoji Keyframes ─── */
@keyframes rcf-bounce {
    0%, 100% { transform: translateY(0); }
    25% { transform: translateY(-6px); }
    50% { transform: translateY(0); }
    75% { transform: translateY(-3px); }
}
@keyframes rcf-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-3px) rotate(-4deg); }
    40% { transform: translateX(3px) rotate(4deg); }
    60% { transform: translateX(-2px) rotate(-2deg); }
    80% { transform: translateX(2px) rotate(2deg); }
}
@keyframes rcf-pulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.25); }
}
@keyframes rcf-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
@keyframes rcf-wobble {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-12deg); }
    50% { transform: rotate(8deg); }
    75% { transform: rotate(-5deg); }
}
@keyframes rcf-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}
@keyframes rcf-jello {
    0%, 100% { transform: scale(1, 1); }
    30% { transform: scale(1.25, 0.75); }
    40% { transform: scale(0.75, 1.25); }
    50% { transform: scale(1.15, 0.85); }
    65% { transform: scale(0.95, 1.05); }
    75% { transform: scale(1.05, 0.95); }
}
@keyframes rcf-flip {
    0% { transform: perspective(200px) rotateY(0); }
    50% { transform: perspective(200px) rotateY(180deg); }
    100% { transform: perspective(200px) rotateY(360deg); }
}
@keyframes rcf-tada {
    0%, 100% { transform: scale(1) rotate(0); }
    10%, 20% { transform: scale(0.9) rotate(-5deg); }
    30%, 50%, 70%, 90% { transform: scale(1.2) rotate(5deg); }
    40%, 60%, 80% { transform: scale(1.2) rotate(-5deg); }
}
@keyframes rcf-glow {
    0%, 100% { filter: brightness(1) drop-shadow(0 0 0 transparent); }
    50% { filter: brightness(1.3) drop-shadow(0 0 6px rgba(255, 200, 50, 0.7)); }
}

.rcf-anim-bounce { display: inline-block; animation: rcf-bounce 0.8s ease infinite; }
.rcf-anim-shake { display: inline-block; animation: rcf-shake 0.5s ease infinite; }
.rcf-anim-pulse { display: inline-block; animation: rcf-pulse 1s ease infinite; }
.rcf-anim-spin { display: inline-block; animation: rcf-spin 1.5s linear infinite; }
.rcf-anim-wobble { display: inline-block; animation: rcf-wobble 1s ease infinite; }
.rcf-anim-float { display: inline-block; animation: rcf-float 2s ease-in-out infinite; }
.rcf-anim-jello { display: inline-block; animation: rcf-jello 1.2s ease infinite; }
.rcf-anim-flip { display: inline-block; animation: rcf-flip 1.5s ease infinite; }
.rcf-anim-tada { display: inline-block; animation: rcf-tada 1.5s ease infinite; }
.rcf-anim-glow { display: inline-block; animation: rcf-glow 2s ease infinite; }

/* Animated emoji in picker: paused by default, play on hover */
.rcf-emoji-btn .rcf-anim-preview,
.rcf-cep-btn .rcf-anim-preview {
    display: inline-block;
    animation-play-state: paused;
}
.rcf-emoji-btn:hover .rcf-anim-preview,
.rcf-cep-btn:hover .rcf-anim-preview {
    animation-play-state: running;
}

/* Accessibility: respect reduced motion preference (WCAG 2.3.3) */
@media (prefers-reduced-motion: reduce) {
    [class*="rcf-anim-"] {
        animation: none !important;
    }
}

/* Animated emoji sparkle indicator in picker */
.rcf-cep-btn .rcf-anim-sparkle {
    position: absolute;
    top: 1px;
    right: 1px;
    font-size: 8px;
    line-height: 1;
    opacity: 0.6;
    pointer-events: none;
}
.rcf-cep-btn.rcf-cep-animated {
    position: relative;
}

/* Ad-free rules moved to ad-free.css (loaded site-wide for premium users) */
