/* Fund Raffle Platform - Frontend Styles */
:root {
    /* Modern Color Scheme */
    --primary: #4361ee;
    --primary-light: #4895ef;
    --primary-dark: #3a56d4;
    --secondary: #7209b7;
    --accent: #f72585;
    --success: #4cc9f0;
    --warning: #f8961e;
    --danger: #f94144;
    --info: #3a86ff;
        --header-height: 60px;
    --bg-header-rgb: 255, 255, 255;
    /* Backgrounds */
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #e9ecef;
    --bg-card: #ffffff;
    --bg-sidebar: #ffffff;
    --bg-header: #ffffff;
    --bg-footer: #1a202c;
    
    /* Text */
    --text-primary: #1a202c;
    --text-secondary: #4a5568;
    --text-muted: #718096;
    --text-light: #a0aec0;
    --text-inverse: #ffffff;
    
    /* Borders */
    --border-light: #e2e8f0;
    --border-medium: #cbd5e0;
    --border-dark: #a0aec0;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 6px 12px -2px rgba(0, 0, 0, 0.1), 0 3px 6px -2px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    
    /* Gradients */
    --gradient-primary: linear-gradient(135deg, #4361ee 0%, #3a56d4 100%);
    --gradient-accent: linear-gradient(135deg, #f72585 0%, #b5179e 100%);
    --gradient-success: linear-gradient(135deg, #4cc9f0 0%, #3a86ff 100%);
    
    /* Transitions */
    --transition-fast: 150ms ease;
    --transition: 300ms ease;
    --transition-slow: 500ms ease;
    
    /* Border Radius */
    --radius-sm: 0.375rem;
    --radius: 0.5rem;
    --radius-md: 0.75rem;
    --radius-lg: 1rem;
    --radius-xl: 1.5rem;
    --radius-full: 9999px;
    
    /* Spacing */
    --space-xs: 0.25rem;
    --space-sm: 0.5rem;
    --space: 1rem;
    --space-md: 1.5rem;
    --space-lg: 2rem;
    --space-xl: 3rem;
    --space-2xl: 4rem;
    
    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal: 1040;
    --z-popover: 1050;
    --z-tooltip: 1060;
	
	    --sidebar-width: 280px;
    --right-sidebar-width: 320px;
    --header-height: 60px;
    --border-radius: 12px;
    --transition: all 0.3s ease;
	
	:root {
    /* Program Type Colors */
    --donation-color: #4361ee;
    --donation-light: rgba(67, 97, 238, 0.1);
    --donation-gradient: linear-gradient(135deg, #4361ee, #3a56d4);
    
    --giveaway-color: #f72585;
    --giveaway-light: rgba(247, 37, 133, 0.1);
    --giveaway-gradient: linear-gradient(135deg, #f72585, #b5179e);
    
    --raffle-color: #4cc9f0;
    --raffle-light: rgba(76, 201, 240, 0.1);
    --raffle-gradient: linear-gradient(135deg, #4cc9f0, #3a86ff);
    
    --gofundme-color: #7209b7;
    --gofundme-light: rgba(114, 9, 183, 0.1);
    --gofundme-gradient: linear-gradient(135deg, #7209b7, #560bad);
    
    --competition-color: #f8961e;
    --competition-light: rgba(248, 150, 30, 0.1);
    --competition-gradient: linear-gradient(135deg, #f8961e, #f3722c);
    
    /* Status Colors */
    --status-active: #10b981;
    --status-completed: #3b82f6;
    --status-draft: #6b7280;
    --status-cancelled: #ef4444;
    
    /* Additional Spacing */
    --space-3xs: 0.125rem;
    --space-2xs: 0.25rem;
    --space-xs: 0.5rem;
    --space-sm: 0.75rem;
    --space-md: 1rem;
    --space-lg: 1.5rem;
    --space-xl: 2rem;
    --space-2xl: 3rem;
    --space-3xl: 4rem;
}
}

/* Dark Mode */
.dark-mode {
    --bg-primary: #0f172a;
    --bg-secondary: #1e293b;
    --bg-tertiary: #334155;
    --bg-card: #1e293b;
    --bg-sidebar: #1e293b;
    --bg-header: #1e293b;
    --bg-footer: #0f172a;
    
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;
    --text-light: #64748b;
    
    --border-light: #334155;
    --border-medium: #475569;
    --border-dark: #64748b;
    
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
}

/* Reset & Base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 16px;
    height: 100%;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
    line-height: 1.5;
    background-color: var(--bg-primary);
    color: var(--text-primary);
    transition: background-color var(--transition), color var(--transition);
    min-height: 100vh;
    overflow-x: hidden;
}
.post-5991{
	background-color: var(--bg-primary) !important;
}
.frp-dashboard {
    min-height: 100vh;
    background-color: var(--bg-primary);
}

.frp-container {
    min-height: 100vh;
    display: flex;
    position: relative;
}

/* Sidebar Navigation */
.frp-sidebar-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 240px;
    height: 100vh;
    background-color: var(--bg-sidebar);
    border-right: 1px solid var(--border-light);
    display: flex;
    flex-direction: column;
    z-index: var(--z-fixed);
    transition: transform var(--transition), width var(--transition);
    overflow-y: auto;
    padding: var(--space) 0;
    transform: translateX(-100%);
}

.frp-sidebar-nav.active {
    transform: translateX(0);
}

.frp-sidebar-logo {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: 0 var(--space-md) var(--space-lg);
    margin-bottom: var(--space);
    border-bottom: 1px solid var(--border-light);
    padding-bottom: var(--space);
}

.frp-sidebar-logo img {
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    object-fit: cover;
}

.frp-sidebar-logo h1 {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--primary);
    white-space: nowrap;
    margin: 0;
}

.frp-nav-menu {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    padding: 0 var(--space-sm);
    overflow-y: auto;
}

.frp-nav-item {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius);
    color: var(--text-secondary);
    text-decoration: none;
    transition: all var(--transition-fast);
    position: relative;
    cursor: pointer;
    border: none;
    background: none;
    text-align: left;
    font-size: 0.875rem;
}

.frp-nav-item:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-nav-item.active {
    background-color: var(--primary);
    color: white;
    box-shadow: var(--shadow);
}

.frp-nav-item i {
    font-size: 1.25rem;
    width: 24px;
    text-align: center;
    flex-shrink: 0;
}

.frp-nav-item span {
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    flex: 1;
}

.frp-nav-badge {
    position: absolute;
    right: var(--space);
    background-color: var(--accent);
    color: white;
    font-size: 0.75rem;
    padding: 0.125rem 0.375rem;
    border-radius: var(--radius-full);
    min-width: 20px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-nav-divider {
    height: 1px;
    background-color: var(--border-light);
    margin: var(--space) 0;
}

.frp-sidebar-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space) var(--space-md);
    border-top: 1px solid var(--border-light);
}

.frp-theme-toggle {
    position: relative;
    width: 50px;
    height: 26px;
}

.frp-theme-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.frp-theme-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border-light);
    transition: .4s;
    border-radius: var(--radius-full);
}

.frp-theme-slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    content: "\f186";
    color: #fbbf24;
    font-size: 10px;
    line-height: 18px;
}

.dark-mode .frp-theme-slider:before {
    content: "\f185";
    color: #f59e0b;
    transform: translateX(24px);
}

.frp-logout-btn {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1.25rem;
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius);
    transition: all var(--transition-fast);
}

.frp-logout-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-main-content {
    flex: 1;
    margin-left: 0;
    transition: margin-left var(--transition);
    display: flex;
    
    min-height: 100vh;
    width: 100%;
    padding-top: var(--header-height); /* Add this line */
}

.frp-sidebar-nav.active ~ .frp-main-content {
    margin-left: 100px;
    width: calc(100% - 240px); /* Add this line */
}

/* Top Header - FIXED VERSION */
.frp-top-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: var(--z-sticky);
    background-color: var(--bg-header);
    border-bottom: 1px solid var(--border-light);
    padding: var(--space) var(--space-lg);
    display: flex;
    justify-content: space-between;
    align-items: center;
    backdrop-filter: blur(10px);
    background-color: rgba(var(--bg-header-rgb, 255, 255, 255), 0.95);
    width: 100%;
    height: var(--header-height);
    box-sizing: border-box;
}

.dark-mode {
    --bg-header-rgb: 30, 41, 59;
}

.frp-header-left {
    display: flex;
    align-items: center;
    gap: var(--space);
}

.frp-sidebar-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius);
    width: 40px;
    height: 40px;
    transition: all var(--transition-fast);
}

.frp-sidebar-toggle:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-search-bar {
    position: relative;
    width: 400px;
    max-width: 100%;
}

.frp-search-bar i {
    position: absolute;
    left: var(--space);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    z-index: 1;
}

/* Search Bar Dark Mode Fix */
.frp-search-bar input {
    width: 100%;
    padding: var(--space-sm) var(--space) var(--space-sm) 3rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius-full);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.875rem;
    transition: all var(--transition-fast);
    outline: none;
}
.frp-tab-content-title{
	font-size:25px !important;
}
/* Ensure dark mode overrides work correctly */
.dark-mode .frp-search-bar input {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-light);
}

/* Focus states for dark mode */
.dark-mode .frp-search-bar input:focus {
    border-color: var(--primary-light);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.2);
}

/* Placeholder color for dark mode */
.frp-search-bar input::placeholder {
    color: var(--text-muted);
    opacity: 0.8;
}

.dark-mode .frp-search-bar input::placeholder {
    color: var(--text-light);
    opacity: 0.7;
}
.frp-search-bar input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-header-right {
    display: flex;
    align-items: center;
    gap: var(--space);
}

.frp-header-actions {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.frp-action-btn {
    position: relative;
    background: none;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.frp-action-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-action-btn i {
    font-size: 1.25rem;
}

.frp-action-badge {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--accent);
    color: white;
    font-size: 0.75rem;
    padding: 0.125rem 0.375rem;
    border-radius: var(--radius-full);
    min-width: 18px;
    height: 18px;
    text-align: center;
    transform: translate(25%, -25%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-create-btn {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-md);
    background: var(--gradient-primary);
    color: white;
    border: none;
    border-radius: var(--radius-full);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-decoration: none;
    font-size: 0.875rem;
}

.frp-create-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-lg);
}



.frp-tabs-header {
    display: flex;
    border-bottom: 1px solid var(--border-light);
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background-color: var(--bg-card);
}

.frp-tabs-header::-webkit-scrollbar {
    display: none;
}

.frp-tab-btn {
    padding: var(--space-md) var(--space-lg);
    background: none;
    border: none;
    color: var(--text-secondary);
    font-weight: 500;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    transition: all var(--transition-fast);
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-shrink: 0;
}

.frp-tab-btn:hover {
    color: var(--text-primary);
    background-color: var(--bg-tertiary);
}

.frp-tab-btn.active {
    color: var(--primary);
}

.frp-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--primary);
}
.frp-dashboard-grid {
    flex: 1;
    display: block;            
    width: 100%;
    margin: 0 auto;              
    min-height: calc(100vh - var(--header-height));
    position: relative;
}


/* On desktop with right sidebar */
@media (min-width: 993px) {
    .frp-dashboard-grid {
       /*  width: calc(100% - 240px); Subtract left sidebar width */
        margin-left: 240px; /* Push from left sidebar */
        padding-right: 380px; /* Make space for right sidebar */
    }
}

/* On desktop without right sidebar */
@media (min-width: 993px) and (max-width: 1200px) {
    .frp-dashboard-grid {
        grid-template-columns: 1fr;
        padding-right: var(--space-lg);
    }
    
    .frp-right-sidebar {
        display: none;
    }
}

/* On mobile */
@media (max-width: 992px) {
    .frp-dashboard-grid {
        grid-template-columns: 1fr;
        padding: 0px !important;
    }
}

.frp-main-area {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    min-width: 400px;
    min-height: 100%; /* Add this line */
}

.frp-content-tabs {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
    flex: 1; /* Add this line */
    display: flex; /* Add this line */
    flex-direction: column; /* Add this line */
}

.frp-tab-content {
  
    min-height: 400px;
    flex: 1; /* Add this line */
    overflow-y: auto; /* Add this line */
}

/* Section Styles */
.frp-section {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.frp-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-card);
}

.frp-section-header h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-view-all {
    font-size: 0.875rem;
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.frp-view-all:hover {
    color: var(--primary-dark);
}

/* Program Cards - Modern Design */
.frp-programs-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space);
    padding: var(--space-lg);
}

.frp-program-card-modern {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: all var(--transition);
    border: 1px solid var(--border-light);
    display: flex;
    flex-direction: column;
	margin-top:25px !important;
}

.frp-program-card-modern:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary-light);
}

.frp-program-cover {
    position: relative;
    height: 160px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
}

.frp-program-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition);
}

.frp-program-card-modern:hover .frp-program-cover img {
    transform: scale(1.05);
}

.frp-program-badge {
    position: absolute;
    top: var(--space);
    left: var(--space);
    background-color: var(--primary);
    color: white;
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    z-index: 1;
}

.frp-program-content {
    padding: var(--space);
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: var(--space-sm);
}

.frp-program-title {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--text-primary);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
    margin: 0;
}

.frp-program-title a {
    color: inherit;
    text-decoration: none;
}

.frp-program-title a:hover {
    color: var(--primary);
}


.frp-creator-avatar {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
    overflow: hidden;
    flex-shrink: 0;
}

.frp-creator-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-creator-info {
    flex: 1;
    min-width: 0;
}

.frp-creator-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-creator-status {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-program-progress {
    margin: var(--space-sm) 0;
}

.frp-progress-label {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--space-xs);
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.frp-progress-bar {
    height: 6px;
    background-color: var(--border-light);
    border-radius: var(--radius-full);
    overflow: hidden;
}

.frp-progress-fill {
    height: 100%;
    background: var(--gradient-primary);
    border-radius: var(--radius-full);
    transition: width 1s ease;
    width: 0;
}

.frp-program-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-sm);
    margin: var(--space-sm) 0;
}

.frp-stat-item {
    text-align: center;
    padding: var(--space-sm);
    background-color: var(--bg-secondary);
    border-radius: var(--radius);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.frp-stat-value {
    display: block;
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1;
}

.frp-stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    line-height: 1;
}

.frp-program-actions {
    display: flex;
    gap: var(--space-sm);
    margin-top: auto;
    padding-top: var(--space-sm);
    border-top: 1px solid var(--border-light);
}

.frp-action-btn-small, .frp-comment-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
    padding: 10px !important;
    background: none;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-size: 0.775rem;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-decoration: none;
    font-weight: 500;
}
.ffbtn {
	padding: 0px !important;
}
.frp-action-btn-small:hover, .frp-comment-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-medium);
}

.frp-action-btn-small.active, .frp-comment-btn.active {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

.frp-like-btn.active i, .frp-comment-btn.active i {
    color: var(--accent);
}

/* Right Sidebar */
.frp-right-sidebar {
width: var(--right-sidebar-width);
    background: var(--bg-card);
    border-left: 1px solid var(--border-color);
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    padding: 20px;
    overflow-y: auto;
    z-index: 99;
}

.frp-sidebar-widget {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.frp-widget-header {
    padding: var(--space);
    border-bottom: 1px solid var(--border-light);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--bg-card);
}

.frp-widget-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-widget-content {
    padding: var(--space);
}

/* Wallet Summary */
.frp-wallet-summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space);
}

.frp-wallet-amount {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--primary);
    line-height: 1;
}

.frp-wallet-label {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
}

.frp-wallet-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-sm);
    width: 100%;
    margin-top: var(--space);
}

.frp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius);
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all var(--transition-fast);
    font-size: 0.875rem;
    line-height: 1.5;
    text-align: center;
}

.frp-btn-primary {
    background-color: var(--primary);
    color: white;
    border: 1px solid var(--primary);
}

.frp-btn-primary:hover {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.frp-btn-outline {
    background-color: transparent;
    color: var(--primary);
    border: 1px solid var(--primary);
}

.frp-btn-outline:hover {
    background-color: var(--primary);
    color: white;
    transform: translateY(-1px);
    box-shadow: var(--shadow);
}

.frp-btn-block {
    width: 100%;
}

/* Trending List */
.frp-trending-list {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-trending-item {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm);
    border-radius: var(--radius);
    transition: background-color var(--transition-fast);
    text-decoration: none;
    color: inherit;
}

.frp-trending-item:hover {
    background-color: var(--bg-tertiary);
    text-decoration: none;
}

.frp-trending-rank {
    font-weight: 600;
    color: var(--primary);
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(67, 97, 238, 0.1);
    border-radius: var(--radius);
    flex-shrink: 0;
}

.frp-trending-content {
    flex: 1;
    min-width: 0;
}

.frp-trending-content h4 {
    font-size: 0.875rem;
    margin: 0 0 0.25rem 0;
    color: var(--text-primary);
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.frp-trending-content a {
    color: inherit;
    text-decoration: none;
}

.frp-trending-content a:hover {
    color: var(--primary);
}

.frp-trending-stats {
    display: flex;
    gap: var(--space-sm);
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-no-results {
    text-align: center;
    color: var(--text-muted);
    padding: var(--space);
    margin: 0;
    font-size: 0.875rem;
}

/* Live Activities */
.frp-live-activities {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-activity-item {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm);
    border-radius: var(--radius);
    transition: background-color var(--transition-fast);
}

.frp-activity-item:hover {
    background-color: var(--bg-tertiary);
}

.frp-activity-avatar {
    position: relative;
    flex-shrink: 0;
}

.frp-activity-avatar img {
    width: 32px;
    height: 32px;
    border-radius: var(--radius-full);
    object-fit: cover;
}

.frp-activity-status {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 8px;
    height: 8px;
    border-radius: var(--radius-full);
    border: 2px solid var(--bg-card);
    background-color: var(--success);
}

.frp-activity-status.online {
    background-color: var(--success);
}

.frp-activity-status.offline {
    background-color: var(--text-muted);
}

.frp-activity-content {
    flex: 1;
    min-width: 0;
}

.frp-activity-text {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.4;
    margin-bottom: 0.25rem;
}

.frp-activity-text strong {
    color: var(--text-primary);
    font-weight: 600;
}

.frp-activity-time {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Empty States */
.frp-empty-state {
    text-align: center;
    padding: var(--space-2xl) var(--space);
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space);
}

.frp-empty-state i {
    font-size: 3rem;
    opacity: 0.5;
    margin-bottom: var(--space);
}

.frp-empty-state h3 {
    font-size: 1.25rem;
    margin: 0;
    color: var(--text-muted);
}

.frp-empty-state p {
    margin: 0;
    color: var(--text-muted);
    max-width: 300px;
}

.frp-empty-chat {
    text-align: center;
    padding: var(--space-xl) var(--space);
    color: var(--text-muted);
}

.frp-empty-chat i {
    font-size: 3rem;
    opacity: 0.5;
    margin-bottom: var(--space);
}

.frp-empty-chat p {
    margin: 0;
    color: var(--text-muted);
}

/* Loading States */
.frp-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-2xl);
    color: var(--text-muted);
}

.frp-loading-spinner {
    width: 48px;
    height: 48px;
    border: 3px solid var(--border-light);
    border-top-color: var(--primary);
    border-radius: var(--radius-full);
    animation: spin 1s linear infinite;
    margin-bottom: var(--space);
}

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

/* Mobile Navigation */
.frp-mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--bg-card);
    border-top: 1px solid var(--border-light);
    display: none;
    z-index: var(--z-fixed);
    padding: var(--space-sm) var(--space);
    backdrop-filter: blur(10px);
    background-color: rgba(var(--bg-card), 0.95);
    box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1);
}

.frp-mobile-nav-buttons {
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: relative;
}

.frp-mobile-nav-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    background: none;
    border: none;
    color: var(--text-secondary);
    padding: var(--space-xs);
    cursor: pointer;
    flex: 1;
    transition: color var(--transition-fast);
    position: relative;
    min-height: 56px;
    justify-content: center;
}

.frp-mobile-nav-btn i {
    font-size: 1.25rem;
    transition: transform var(--transition-fast);
}

.frp-mobile-nav-btn span {
    font-size: 0.75rem;
    font-weight: 500;
}

.frp-mobile-nav-btn.active {
    color: var(--primary);
}

.frp-mobile-nav-btn.active i {
    transform: translateY(-2px);
}

.frp-mobile-center-btn {
    position: absolute;
    bottom: var(--space);
    left: 50%;
    transform: translateX(-50%);
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--gradient-primary);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition);
    z-index: 1;
}

.frp-mobile-center-btn:hover {
    transform: translateX(-50%) scale(1.05);
}

.frp-mobile-badge {
    position: absolute;
    top: 0;
    right: 25%;
    background-color: var(--accent);
    color: white;
    font-size: 0.625rem;
    padding: 0.125rem 0.375rem;
    border-radius: var(--radius-full);
    min-width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Chat Interface */
.frp-chat-interface {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    background-color: var(--bg-card);
    border-left: 1px solid var(--border-light);
    z-index: var(--z-modal);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform var(--transition);
    box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1);
}

.frp-chat-interface.active {
    transform: translateX(0);
}

.frp-chat-header-detail {
    display: flex;
    align-items: center;
    padding: var(--space);
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-card);
    flex-shrink: 0;
}

.frp-chat-back-btn {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius);
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}

.frp-chat-back-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-chat-user-info {
    flex: 1;
    min-width: 0;
}

.frp-chat-user-info h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.25rem 0;
}

.frp-chat-status {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: 0px !important;
	padding-bottom: 0px !important;
	display: block !important;
}

.frp-chat-messages {
    flex: 1;
    padding: var(--space);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space);
    min-height: 0;
}

.frp-message {
    max-width: 80%;
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius-lg);
    position: relative;
    animation: messageSlide 0.3s ease;
    word-wrap: break-word;
}

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

.frp-message.sent {
    align-self: flex-end;
    background-color: var(--primary);
    color: white;
    border-bottom-right-radius: var(--radius-sm);
}

.frp-message.received {
    align-self: flex-start;
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-bottom-left-radius: var(--radius-sm);
}

.frp-message-text {
    font-size: 0.875rem;
    line-height: 1.4;
    margin-bottom: var(--space-xs);
}

.frp-message-time {
    font-size: 0.75rem;
    opacity: 0.8;
    text-align: right;
    margin-top: var(--space-xs);
}

.frp-chat-input-area {
    padding: var(--space);
    border-top: 1px solid var(--border-light);
    display: flex;
    gap: var(--space);
    align-items: flex-end;
    background-color: var(--bg-card);
    flex-shrink: 0;
}

.frp-chat-input {
    flex: 1;
    min-height: 44px;
    max-height: 120px;
    padding: var(--space-sm) var(--space);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-full);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    resize: none;
    font-family: inherit;
    font-size: 0.875rem;
    line-height: 1.5;
    transition: all var(--transition-fast);
    outline: none;
}

.frp-chat-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-chat-send-btn {
    width: 44px;
    height: 44px;
    border-radius: var(--radius-full);
    background: var(--gradient-primary);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
    flex-shrink: 0;
}

.frp-chat-send-btn:hover:not(:disabled) {
    transform: scale(1.05);
}

.frp-chat-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--border-light);
}

/* Quick Actions */
.frp-quick-actions {
    position: fixed;
    bottom: 80px;
    right: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space);
    z-index: var(--z-fixed);
    align-items: flex-end;
	display: none;
}

.frp-quick-action {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full);
    background: var(--gradient-primary);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    transition: all var(--transition);
    position: relative;
    animation: quickActionSlide 0.3s ease forwards;
    opacity: 0;
    transform: translateY(20px);
}

@keyframes quickActionSlide {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.frp-quick-action:hover {
    transform: scale(1.1);
}

.frp-quick-action i {
    font-size: 1.25rem;
}

.frp-quick-action-label {
    position: absolute;
    right: calc(100% + var(--space));
    background-color: var(--bg-card);
    color: var(--text-primary);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius);
    font-size: 0.875rem;
    white-space: nowrap;
    box-shadow: var(--shadow);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition);
}

.frp-quick-action:hover .frp-quick-action-label {
    opacity: 1;
}

/* Toast Notifications */
.frp-toast-container {
    position: fixed;
    top: var(--space-lg);
    right: var(--space-lg);
    z-index: 99999999999999999;
    display: flex;
    flex-direction: column;
    gap: var(--space);
    max-width: 400px;
    width: 100%;
}

.frp-toast {
    padding: var(--space) var(--space-md);
    background-color: var(--bg-card);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    display: flex;
    align-items: center;
    gap: var(--space);
    animation: toastSlide 0.3s ease;
    border-left: 4px solid var(--primary);
    max-width: 320px;
    width: 100%;
}

@keyframes toastSlide {
    from {
        opacity: 0;
        transform: translateX(100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

.frp-toast-success {
    border-left-color: var(--success);
}

.frp-toast-error {
    border-left-color: var(--danger);
}

.frp-toast-warning {
    border-left-color: var(--warning);
}

.frp-toast-info {
    border-left-color: var(--info);
}

.frp-toast i {
    font-size: 1.25rem;
}

.frp-toast-success i {
    color: var(--success);
}

.frp-toast-error i {
    color: var(--danger);
}

.frp-toast-warning i {
    color: var(--warning);
}

.frp-toast-info i {
    color: var(--info);
}

.frp-toast span {
    flex: 1;
    font-size: 0.875rem;
    color: var(--text-primary);
}

.frp-toast-close {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-toast-close:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

/* Modal */
.frp-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal);
    padding: var(--space);
    animation: modalFadeIn 0.3s ease;
}

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

.frp-modal-content {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl);
    max-width: 500px;
    width: 100%;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    animation: modalSlideUp 0.3s ease;
}

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

.frp-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-card);
}

.frp-modal-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-modal-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-xs);
    border-radius: var(--radius);
    transition: all var(--transition-fast);
    line-height: 1;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-modal-close:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-modal-body {
    padding: var(--space-lg);
    overflow-y: auto;
    flex: 1;
}

.frp-modal-footer {
    padding: var(--space-md) var(--space-lg);
    border-top: 1px solid var(--border-light);
    display: flex;
    gap: var(--space);
    justify-content: flex-end;
    background-color: var(--bg-card);
}

/* Form Styles */
.frp-form-group {
    margin-bottom: var(--space);
}

.frp-form-group label {
    display: block;
    margin-bottom: var(--space-xs);
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.frp-amount-input {
    position: relative;
    display: flex;
    align-items: center;
}

.frp-currency {
    position: absolute;
    left: var(--space);
    color: var(--text-muted);
    font-weight: 500;
}

.frp-amount-input input {
    width: 100%;
    padding: var(--space-sm) var(--space) var(--space-sm) 3rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 1rem;
    transition: all var(--transition-fast);
    outline: none;
}

.frp-amount-input input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-donate-message {
    width: 100%;
    padding: var(--space-sm) var(--space);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.875rem;
    resize: vertical;
    min-height: 80px;
    transition: all var(--transition-fast);
    outline: none;
    font-family: inherit;
}

.frp-donate-message:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-quick-amounts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-sm);
    margin-top: var(--space);
}

@media (min-width: 640px) {
    .frp-quick-amounts {
        grid-template-columns: repeat(4, 1fr);
    }
}

.frp-quick-amount {
    padding: var(--space-sm);
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
    outline: none;
}

.frp-quick-amount:hover {
    background-color: var(--bg-tertiary);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

.frp-quick-amount.active {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* Overview Content */
.frp-overview-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.frp-welcome-section h2 {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--space-xs);
}

.frp-welcome-section p {
    color: var(--text-secondary);
    margin: 0;
}

.frp-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space);
}

.frp-stat-card {
    background-color: var(--bg-secondary);
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: flex;
    align-items: center;
    gap: var(--space);
    transition: all var(--transition);
}

.frp-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.frp-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.frp-stat-icon i {
    font-size: 1.5rem;
    color: white;
}

.frp-stat-content h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1;
}

.frp-stat-content p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: var(--space-xs) 0 0 0;
}

.frp-recent-activity {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow);
}

.frp-recent-activity h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space);
}

.frp-activity-list {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-activity-list .frp-activity-item {
    padding: 0;
    background: none;
}

.frp-activity-list .frp-activity-item:hover {
    background: none;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Focus States */
:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Selection */
::selection {
    background-color: rgba(67, 97, 238, 0.2);
    color: var(--text-primary);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .frp-dashboard-grid {
        grid-template-columns: 1fr;
        gap: var(--space);
        padding: var(--space);
    }
    
    .frp-right-sidebar {
        display: none;
    }
    
    .frp-search-bar {
        width: 300px;
    }
}

@media (max-width: 992px) {
    .frp-sidebar-nav.active ~ .frp-main-content {
        margin-left: 0;
    }
    
    .frp-sidebar-nav {
        z-index: var(--z-modal);
        box-shadow: 4px 0 6px -1px rgba(0, 0, 0, 0.1);
    }
    
    .frp-dashboard-grid {
        padding: var(--space);
    }
    
    .frp-top-header {
        padding: var(--space) var(--space);
    }
    
    .frp-search-bar {
        width: auto;
        flex: 1;
    }
    
    .frp-create-btn span {
        display: none;
    }
    
    .frp-create-btn {
        padding: var(--space-sm);
        width: 40px;
        height: 40px;
        border-radius: var(--radius-full);
    }
    
    .frp-programs-container {
        grid-template-columns: 1fr;
        padding: var(--space);
    }
    
    .frp-mobile-nav {
        display: block;
    }
    
    .frp-quick-actions {
        bottom: 100px;
        right: var(--space);
    }
}

@media (max-width: 768px) {
    .frp-tab-content {
        padding: var(--space);
    }
    
    .frp-program-card-modern {
        border-radius: var(--radius);
    }
    
    .frp-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-modal-content {
        margin: var(--space);
    }
    
    .frp-toast-container {
        left: var(--space);
        right: var(--space);
        top: var(--space);
    }
    
    .frp-toast {
        max-width: none;
    }
}

@media (max-width: 576px) {
    .frp-header-actions {
        gap: var(--space-xs);
    }
    
    .frp-action-btn {
        width: 36px;
        height: 36px;
    }
    
    .frp-mobile-nav-btn span {
        font-size: 0.625rem;
    }
    
    .frp-chat-interface {
        max-width: 100%;
    }
}
/* Mobile Sidebar Behavior */
@media (max-width: 992px) {
    .frp-sidebar-nav {
        transform: translateX(-100%);
        box-shadow: var(--shadow-lg);
        transition: transform var(--transition);
    }
    
    .frp-sidebar-nav.active {
        transform: translateX(0);
    }
    
    /* Close sidebar when clicking outside */
    .frp-sidebar-nav.active::after {
        position: fixed;
        top: 0;
        left: 240px;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: -1;
        opacity: 0;
        animation: fadeIn 0.3s ease forwards;
    }
    
    .frp-main-content {
        margin-left: 0 !important;
        width: 100% !important;
    }
}

/* Hide sidebar when any tab is clicked on mobile */
@media (max-width: 992px) {
    .frp-nav-item[data-tab] {
        cursor: pointer;
    }
    
    /* This will be handled by JavaScript */
    .frp-sidebar-nav.active:not(.keep-open) {
        transform: translateX(-100%);
    }
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
/* Print Styles */
@media print {
    .frp-sidebar-nav,
    .frp-top-header,
    .frp-mobile-nav,
    .frp-quick-actions,
    .frp-chat-interface,
    .frp-create-btn,
    .frp-action-btn {
        display: none !important;
    }
    
    .frp-main-content {
        margin-left: 0 !important;
    }
    
    .frp-dashboard-grid {
        grid-template-columns: 1fr;
        padding: 0;
    }
    
    body {
        background-color: white;
        color: black;
    }
}
.frp-chat-actions{
	display: flex;
}


/* User Profile in Sidebar */
.frp-user-profile {
    padding: var(--space-md);
    border-top: 1px solid var(--border-light);
    margin-top: auto;
    text-align: center;
}

.frp-user-avatar-large {
    position: relative;
    width: 70px;
    height: 70px;
    margin: 0 auto var(--space);
}

.frp-user-avatar-large img {
    width: 100%;
    height: 100%;
    border-radius: var(--radius-full);
    object-fit: cover;
    border: 3px solid var(--primary);
}

.frp-user-status {
    position: absolute;
    bottom: 5px;
    right: 5px;
    width: 12px;
    height: 12px;
    border-radius: var(--radius-full);
    border: 2px solid var(--bg-sidebar);
}

.frp-user-status.online {
    background-color: var(--success);
}

.frp-user-info {
    margin-top: var(--space);
}

.frp-user-name {
    font-size: 0.85rem !important;
    font-weight: 500 !important;
    color: var(--text-primary);
    margin-bottom: var(--space-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xs);
}

.frp-user-username {
    font-size: 0.275rem;
    color: var(--text-muted);
    margin-bottom: var(--space);
}

.frp-user-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-sm);
    margin-bottom: var(--space);
}

.frp-user-stat {
    text-align: center;
    padding: var(--space-xs);
}

.frp-user-stat-value {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.frp-user-stat-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 2px;
}

/* Desktop sidebar behavior */
@media (min-width: 993px) {
    .frp-sidebar-nav {
        transform: translateX(0) !important; /* Always visible on desktop */
        position: fixed;
        width: 240px;
    }
       /* Top header should not cover sidebar */
    .frp-top-header {
        left: 240px !important; /* Push from left sidebar */
        width: calc(100% - 240px) !important; /* Adjust width */
        right: 0;
    }
    
    /* Tabs container should also not cover sidebar */
    .frp-tabs-header-container {
        left: 240px !important; /* Push from left sidebar */
        width: calc(100% - 240px) !important; /* Adjust width */
    } 
    .frp-main-content {
        margin-left: 215px !important; /* Fixed margin for desktop */
        width: calc(100% - 240px - var(--right-sidebar-width, 0px)) !important; /* Account for right sidebar */
    }
    
    .frp-sidebar-toggle {
        display: none; /* Hide toggle button on desktop */
    }
    
    .frp-dashboard-grid {
        margin-left: 0; /* Remove any left margin */
        padding-right: var(--space-lg); /* Add right padding */
    }
    
    /* Adjust main area width */
    .frp-main-area {
        width: 100%;
        max-width: calc(100% - var(--right-sidebar-width, 380px));
    }
    
    /* Prevent content from going behind right sidebar */
    .frp-right-sidebar {
        position: fixed;
        right: 0;
        top: var(--header-height);
        bottom: 0;
        width: 380px; /* Your right sidebar width */
        z-index: 100;
    }
}

/* Mobile sidebar behavior - FIXED VERSION */
@media (max-width: 992px) {
    body .frp-container .frp-sidebar-nav {
        transform: translateX(-100%) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 280px !important;
        height: 100vh !important;
        z-index: 1001 !important;
        background-color: var(--bg-sidebar) !important;
        box-shadow: var(--shadow-lg) !important;
        transition: transform 0.3s ease !important;
        overflow-y: auto !important;
        display: flex !important;
        flex-direction: column !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    body .frp-container .frp-sidebar-nav.active {
        transform: translateX(0) !important;
    }
    
    body .frp-container .frp-sidebar-toggle {
        display: flex !important;
        visibility: visible !important;
    }
    
    /* Add overlay for better mobile experience */
    .frp-sidebar-overlay {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: 1000 !important;
        display: none !important;
    }
    
    body .frp-container .frp-sidebar-nav.active ~ .frp-sidebar-overlay {
        display: block !important;
    }
}
/* Opposite of your current rule */
@media (min-width: 922px) {
    .site-content .ast-container {
        display: block;   /* revert flex to block */
        margin: 0;        /* remove outside spacing */
        padding: 0;       /* remove inside spacing */
    }
}

/* Apply same spacing removal for all screen sizes (mobile + desktop) */
.site-content .ast-container {
    margin: 0 !important;
    padding: 0 !important;
}
/* Enhanced Tab Content Styles */
.frp-tab-content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.frp-tab-content-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    background-color: var(--bg-card);
    border-bottom: 1px solid var(--border-light);
    flex-shrink: 0;
}

.frp-tab-content-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-tab-specific-actions {
    display: flex;
    align-items: center;
    gap: var(--space);
}

/* Tab-specific content styles */
.frp-overview-content {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    flex: 1;
    overflow-y: auto;
}

.frp-trending-content {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    flex: 1;
    overflow-y: auto;
}

.frp-following-content {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    flex: 1;
    overflow-y: auto;
}

.frp-recommended-content {
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
    flex: 1;
    overflow-y: auto;
}

/* Content sections within tabs */
.frp-content-section {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-light);
}

.frp-content-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space);
    border-bottom: 1px solid var(--border-light);
}

.frp-content-section-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-content-section-actions {
    display: flex;
    gap: var(--space-sm);
}

/* Stats Grid Enhancement */
.frp-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--space);
    margin-top: var(--space);
}

.frp-stat-card {
    background: linear-gradient(135deg, var(--bg-secondary), var(--bg-card));
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: flex;
    align-items: center;
    gap: var(--space);
    transition: all var(--transition);
    border: 1px solid var(--border-light);
    position: relative;
    overflow: hidden;
}

.frp-stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--gradient-primary);
    opacity: 0;
    transition: opacity var(--transition);
}

.frp-stat-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary-light);
}

.frp-stat-card:hover::before {
    opacity: 1;
}

.frp-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: var(--gradient-primary);
    color: white;
    font-size: 1.25rem;
}

.frp-stat-content {
    flex: 1;
}

.frp-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
    line-height: 1;
}

.frp-stat-label {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: var(--space-xs) 0 0 0;
}

.frp-stat-trend {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    margin-top: 4px;
}

.frp-stat-trend.up {
    color: var(--success);
}

.frp-stat-trend.down {
    color: var(--danger);
}

/* Program Grid Enhancement */
.frp-programs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--space);
    margin-top: var(--space);
}

/* User Cards for Following Tab */
.frp-users-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: var(--space);
}

.frp-user-card {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: flex;
    align-items: center;
    gap: var(--space);
    transition: all var(--transition);
    border: 1px solid var(--border-light);
}

.frp-user-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
    border-color: var(--primary-light);
}

.frp-user-card-avatar {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    overflow: hidden;
    flex-shrink: 0;
}

.frp-user-card-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-user-card-info {
    flex: 1;
}

.frp-user-card-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 2px;
}

.frp-user-card-username {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-bottom: var(--space-xs);
}

.frp-user-card-stats {
    display: flex;
    gap: var(--space-sm);
}

.frp-user-card-stat {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-user-card-stat i {
    font-size: 0.75rem;
}

/* Tab Filters */
.frp-tab-filters {
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    background-color: var(--bg-secondary);
    border-bottom: 1px solid var(--border-light);
    flex-wrap: wrap;
}

.frp-tab-filter {
    padding: var(--space-xs) var(--space-sm);
    background: none;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.frp-tab-filter:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-tab-filter.active {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* Empty States Enhancement */
.frp-empty-state {
    text-align: center;
    padding: var(--space-2xl) var(--space);
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space);
    flex: 1;
}

.frp-empty-state i {
    font-size: 3rem;
    color: var(--border-medium);
    margin-bottom: var(--space);
}

.frp-empty-state h3 {
    font-size: 1.25rem;
    margin: 0;
    color: var(--text-muted);
}

.frp-empty-state p {
    margin: 0;
    color: var(--text-muted);
    max-width: 300px;
}

/* Activity Timeline */
.frp-activity-timeline {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-activity-item-detailed {
    display: flex;
    align-items: flex-start;
    gap: var(--space);
    padding: var(--space);
    border-radius: var(--radius);
    transition: background-color var(--transition-fast);
}

.frp-activity-item-detailed:hover {
    background-color: var(--bg-tertiary);
}

.frp-activity-icon {
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background-color: var(--bg-secondary);
    color: var(--primary);
}

.frp-activity-content-detailed {
    flex: 1;
}

.frp-activity-text-detailed {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.4;
    margin-bottom: 0.25rem;
}

.frp-activity-text-detailed strong {
    color: var(--text-primary);
    font-weight: 600;
}

.frp-activity-time-detailed {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Program Categories */
.frp-categories-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: var(--space);
}

.frp-category-card {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-xs);
    transition: all var(--transition);
    border: 1px solid var(--border-light);
    text-decoration: none;
    color: inherit;
}

.frp-category-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
    border-color: var(--primary-light);
}

.frp-category-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--gradient-primary);
    color: white;
    font-size: 1.25rem;
}

.frp-category-name {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
}

.frp-category-count {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .frp-tab-content-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-sm);
        padding: var(--space);
    }
    
    .frp-tab-specific-actions {
        width: 100%;
        justify-content: flex-start;
    }
    
    .frp-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-programs-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-users-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-tab-filters {
        padding: var(--space);
    }
}
/* Select styles */
.frp-select {
    padding: var(--space-sm) var(--space);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 0.875rem;
    transition: all var(--transition-fast);
    outline: none;
    cursor: pointer;
    min-width: 120px;
}

.frp-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-select-sm {
    padding: var(--space-xs) var(--space-sm);
    font-size: 0.8125rem;
    min-width: 100px;
}

/* Button sizes */
.frp-btn-sm {
    padding: var(--space-xs) var(--space-sm);
    font-size: 0.8125rem;
}

/* Search bar sizes */
.frp-search-bar-sm {
    width: 200px;
}

.frp-search-bar-sm input {
    padding: var(--space-xs) var(--space) var(--space-xs) 2.5rem;
    font-size: 0.8125rem;
}

/* Link styles */
.frp-link {
    color: var(--primary);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 500;
    transition: color var(--transition-fast);
}

.frp-link:hover {
    color: var(--primary-dark);
    text-decoration: underline;
}

/* Text utilities */
.frp-text-muted {
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* Live indicator */
.frp-live-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: var(--accent);
    border-radius: var(--radius-full);
    animation: pulse 2s infinite;
    margin-left: var(--space-xs);
}

@keyframes pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

/* Verified badge */
.frp-verified-badge {
    color: var(--success);
    font-size: 0.875em;
    margin-left: 4px;
}
/* Fixed Tabs Container - Always stays at top */
.frp-tabs-header-container {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    z-index: var(--z-sticky);
    background-color: var(--bg-card);
    border-bottom: 1px solid var(--border-light);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    height: 56px; /* Fixed height */
    display: flex;
    align-items: center;
    padding: 0 var(--space-lg);
    flex-shrink: 0; /* Prevents shrinking */
}

.frp-tabs-header-wrapper {
    position: relative;
    flex: 1;
    display: flex;
    align-items: center;
}

.frp-tabs-header {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) var(--bg-secondary);
    -webkit-overflow-scrolling: touch;
    flex: 1;
    height: 100%;
    align-items: center;
    padding: 0; /* Remove padding from here */
}

.frp-tabs-header::-webkit-scrollbar {
    height: 4px;
}

.frp-tabs-header::-webkit-scrollbar-track {
    background: var(--bg-secondary);
    border-radius: var(--radius-full);
}

.frp-tabs-header::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: var(--radius-full);
}

.frp-tabs-header::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Tab Button Styles */
.frp-tab-btn {
    padding: var(--space-sm) var(--space-lg);
    background: none;
    border: none;
    color: var(--text-secondary);
    font-weight: 500;
    cursor: pointer;
    position: relative;
    white-space: nowrap;
    transition: all var(--transition-fast);
    font-size: 0.875rem;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-shrink: 0;
    height: 100%;
    border-bottom: 2px solid transparent;
    margin-bottom: 0;
    align-self: stretch;
    display: flex;
    align-items: center;
}

.frp-tab-btn:hover {
    color: var(--text-primary);
    background-color: var(--bg-tertiary);
}

.frp-tab-btn.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background-color: rgba(67, 97, 238, 0.05);
}

/* Scroll indicators */
.frp-tabs-scroll-indicators {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transition);
    z-index: 2;
}

.frp-tabs-scroll-indicator-left {
    left: 0;
    background: linear-gradient(to right, var(--bg-card), transparent);
}

.frp-tabs-scroll-indicator-right {
    right: 0;
    background: linear-gradient(to left, var(--bg-card), transparent);
}

.frp-tabs-scroll-indicators.visible {
    opacity: 1;
}

.frp-tabs-scroll-btn {
    pointer-events: auto;
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    background-color: var(--bg-card);
    border: 1px solid var(--border-light);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
    box-shadow: var(--shadow);
}

.frp-tabs-scroll-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-medium);
}

/* Main content area should scroll independently */
.frp-main-area {
    display: flex;
    flex-direction: column;
    min-width: 400px;
    min-height: 100%;
    overflow: hidden; /* Prevent entire area from scrolling */
}

.frp-content-tabs {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow);
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Prevent tabs container from scrolling */
}

/* Tab content wrapper should scroll */
.frp-tab-content {
	margin-top:10px !important;
    padding: 10px !important;
    flex: 1;
    overflow-y: auto; /* Only the content scrolls */
    min-height: 0; /* Important for flex scrolling */
    display: flex;
    flex-direction: column;
}

.frp-tab-content-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden; /* Prevent wrapper from scrolling */
}

/* Content inside tab should scroll */
.frp-overview-content,
.frp-trending-content,
.frp-following-content,
.frp-recommended-content {
    flex: 1;
    overflow-y: auto;
    min-height: 0;
    padding: var(--space-lg);
}

/* Remove overflow from tab content sections */
.frp-content-section {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-light);
    margin-bottom: var(--space-lg);
}

.frp-content-section:last-child {
    margin-bottom: 0;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .frp-tabs-header-container {
        padding: 0 var(--space);
        height: 48px;
        top: calc(var(--header-height) - 1px);
    }
    
    .frp-tab-btn {
        padding: var(--space-xs) var(--space);
        font-size: 0.8125rem;
    }
    
    .frp-tabs-scroll-indicators {
        display: none; /* Hide scroll buttons on mobile */
    }
}

/* Dark mode adjustments */
.dark-mode .frp-tab-btn.active {
    background-color: rgba(67, 97, 238, 0.1);
}

.dark-mode .frp-tabs-scroll-indicator-left {
    background: linear-gradient(to right, var(--bg-card), rgba(30, 41, 59, 0));
}

.dark-mode .frp-tabs-scroll-indicator-right {
    background: linear-gradient(to left, var(--bg-card), rgba(30, 41, 59, 0));
}

/* Add this for better scrolling performance */
.frp-content-scrollable {
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
} /* Reset Astra spacing globally (mobile + desktop) */
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-container,
.ast-separate-container .site-content,
.ast-separate-container .content-area,
.ast-separate-container .site-main {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important; /* optional: remove Astra borders */
}

/* Also reset children inside the container if they add spacing */
.ast-separate-container .ast-container > * {
    margin: 0 !important;
    padding: 0 !important;
}
/* ==================== WALLET SPECIFIC STYLES ==================== */

.frp-wallet-content {
    padding: var(--space-lg);
    max-width: 1200px;
    margin: 0 auto;
}

.frp-wallet-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-lg);
    padding-bottom: var(--space);
    border-bottom: 1px solid var(--border-light);
}

.frp-wallet-title {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0;
}

.frp-wallet-actions {
    display: flex;
    gap: var(--space);
}

.frp-wallet-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space);
    margin-bottom: var(--space-lg);
}

.frp-wallet-balance-card {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    display: flex;
    align-items: center;
    gap: var(--space);
    box-shadow: var(--shadow);
    border: 1px solid var(--border-light);
    transition: all var(--transition);
    position: relative;
    overflow: hidden;
}

.frp-wallet-balance-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.frp-wallet-balance-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}

.frp-card-primary::before {
    background: linear-gradient(90deg, var(--primary), var(--primary-light));
}

.frp-card-secondary::before {
    background: linear-gradient(90deg, var(--secondary), #8a2be2);
}

.frp-card-success::before {
    background: linear-gradient(90deg, var(--success), #2ecc71);
}

.frp-card-info::before {
    background: linear-gradient(90deg, var(--info), #3498db);
}

.frp-wallet-card-icon {
    width: 56px;
    height: 56px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.frp-card-primary .frp-wallet-card-icon {
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
    color: white;
}

.frp-card-secondary .frp-wallet-card-icon {
    background: linear-gradient(135deg, #8a2be2, var(--secondary));
    color: white;
}

.frp-card-success .frp-wallet-card-icon {
    background: linear-gradient(135deg, #2ecc71, var(--success));
    color: white;
}

.frp-card-info .frp-wallet-card-icon {
    background: linear-gradient(135deg, #3498db, var(--info));
    color: white;
}

.frp-wallet-card-icon i {
    font-size: 1.5rem;
}

.frp-wallet-card-content {
    flex: 1;
    min-width: 0;
}

.frp-wallet-card-title {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-muted);
    margin: 0 0 0.25rem 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.frp-wallet-amount {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 0.25rem 0;
    line-height: 1;
}

.frp-wallet-card-subtitle {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
}

.frp-wallet-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space);
    margin-bottom: var(--space-lg);
}

.frp-wallet-action {
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    display: flex;
    align-items: center;
    gap: var(--space);
    cursor: pointer;
    transition: all var(--transition);
    text-align: left;
    width: 100%;
    outline: none;
}

.frp-wallet-action:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
    border-color: var(--primary-light);
    background: var(--bg-secondary);
}

.frp-wallet-action:active {
    transform: translateY(0);
}

.frp-wallet-action-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    background: var(--bg-tertiary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all var(--transition);
}

.frp-wallet-action:hover .frp-wallet-action-icon {
    background: var(--primary);
    color: white;
}

.frp-wallet-action-icon i {
    font-size: 1.25rem;
    color: var(--text-secondary);
    transition: color var(--transition);
}

.frp-wallet-action:hover .frp-wallet-action-icon i {
    color: white;
}

.frp-wallet-action-content {
    flex: 1;
    min-width: 0;
}

.frp-wallet-action h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.25rem 0;
    line-height: 1.4;
}

.frp-wallet-action p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}

.frp-wallet-sections {
    margin-bottom: var(--space-lg);
}

.frp-wallet-section {
    display: none;
    animation: fadeIn 0.3s ease;
}

.frp-wallet-section.active {
    display: block;
}

.frp-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--border-light);
}

.frp-section-header h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-section-actions {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
}

.frp-transaction-list {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-light);
    overflow: hidden;
}

.frp-transaction-item {
    display: flex;
    align-items: center;
    padding: var(--space);
    border-bottom: 1px solid var(--border-light);
    transition: background-color var(--transition-fast);
}

.frp-transaction-item:last-child {
    border-bottom: none;
}

.frp-transaction-item:hover {
    background-color: var(--bg-secondary);
}

.frp-transaction-icon {
    width: 40px;
    height: 40px;
    border-radius: var(--radius);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: var(--space);
}

.frp-transaction-icon.deposit {
    background: rgba(52, 152, 219, 0.1);
    color: #3498db;
}

.frp-transaction-icon.withdrawal {
    background: rgba(231, 76, 60, 0.1);
    color: #e74c3c;
}

.frp-transaction-icon.donation {
    background: rgba(46, 204, 113, 0.1);
    color: #2ecc71;
}

.frp-transaction-icon.winning {
    background: rgba(241, 196, 15, 0.1);
    color: #f1c40f;
}

.frp-transaction-icon.transfer {
    background: rgba(155, 89, 182, 0.1);
    color: #9b59b6;
}

.frp-transaction-icon.commission {
    background: rgba(52, 73, 94, 0.1);
    color: #34495e;
}

.frp-transaction-icon i {
    font-size: 1.25rem;
}

.frp-transaction-details {
    flex: 1;
    min-width: 0;
}

.frp-transaction-title {
    font-size: 1rem;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0 0 0.25rem 0;
    line-height: 1.4;
}

.frp-transaction-meta {
    display: flex;
    gap: var(--space);
    font-size: 0.875rem;
    color: var(--text-muted);
}

.frp-transaction-amount {
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--text-primary);
    margin-left: auto;
    text-align: right;
    white-space: nowrap;
}

.frp-transaction-amount.positive {
    color: var(--success);
}

.frp-transaction-amount.negative {
    color: var(--danger);
}

.frp-transaction-status {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.5rem;
    border-radius: var(--radius);
    font-size: 0.75rem;
    font-weight: 500;
    margin-left: var(--space-sm);
}

.frp-transaction-status.pending {
    background: rgba(241, 196, 15, 0.1);
    color: #f39c12;
}

.frp-transaction-status.completed {
    background: rgba(46, 204, 113, 0.1);
    color: #27ae60;
}

.frp-transaction-status.failed {
    background: rgba(231, 76, 60, 0.1);
    color: #e74c3c;
}

.frp-transaction-status.cancelled {
    background: rgba(149, 165, 166, 0.1);
    color: #7f8c8d;
}

.frp-load-more {
    text-align: center;
    margin-top: var(--space);
    padding-top: var(--space);
    border-top: 1px solid var(--border-light);
}

.frp-entries-container,
.frp-gifts-container {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border-light);
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-wallet-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space);
    margin-top: var(--space-xl);
    padding-top: var(--space-xl);
    border-top: 1px solid var(--border-light);
}

.frp-info-card {
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: flex;
    align-items: center;
    gap: var(--space);
    transition: all var(--transition);
}

.frp-info-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow);
    border-color: var(--primary-light);
}

.frp-info-icon {
    width: 48px;
    height: 48px;
    border-radius: var(--radius);
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.frp-info-icon i {
    font-size: 1.5rem;
    color: white;
}

.frp-info-content {
    flex: 1;
    min-width: 0;
}

.frp-info-content h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.25rem 0;
}

.frp-info-content p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}

/* Modal styles for wallet actions */
.frp-modal-content.wallet-modal {
    max-width: 500px;
}

.frp-wallet-form {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-form-group {
    margin-bottom: var(--space);
}

.frp-form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--text-primary);
    font-size: 0.875rem;
}

.frp-form-control {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 1rem;
    transition: all 0.2s ease;
    outline: none;
}

.frp-form-control:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-quick-amounts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.frp-quick-amount {
    padding: 0.75rem;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
}

.frp-quick-amount:hover {
    border-color: var(--primary);
    background: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-quick-amount.active {
    background: var(--primary);
    color: white;
    border-color: var(--primary);
}

.frp-bank-details {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: 1rem;
    margin-top: 1rem;
}

.frp-bank-details h4 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.5rem 0;
}

.frp-bank-details p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}

.frp-fee-info {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: 1rem;
    margin-top: 1rem;
    font-size: 0.875rem;
    color: var(--text-muted);
}

.frp-fee-info strong {
    color: var(--text-primary);
    font-weight: 600;
}

.frp-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--space);
    padding-top: var(--space);
    border-top: 1px solid var(--border-light);
    margin-top: var(--space);
}

/* Dark mode adjustments */
.dark-mode .frp-wallet-balance-card {
    background: var(--bg-card);
    border-color: var(--border-medium);
}

.dark-mode .frp-wallet-action {
    background: var(--bg-card);
    border-color: var(--border-medium);
}

.dark-mode .frp-wallet-action:hover {
    background: var(--bg-secondary);
}

.dark-mode .frp-transaction-list {
    background: var(--bg-card);
    border-color: var(--border-medium);
}

.dark-mode .frp-transaction-item {
    border-color: var(--border-medium);
}

.dark-mode .frp-info-card {
    background: var(--bg-card);
    border-color: var(--border-medium);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .frp-wallet-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space);
    }
    
    .frp-wallet-actions {
        width: 100%;
        justify-content: flex-start;
    }
    
    .frp-wallet-summary-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-wallet-actions-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .frp-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-sm);
    }
    
    .frp-section-actions {
        width: 100%;
        justify-content: flex-start;
    }
    
    .frp-wallet-info {
        grid-template-columns: 1fr;
    }
    
    .frp-transaction-meta {
        flex-direction: column;
        gap: 0.25rem;
    }
    
    .frp-quick-amounts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .frp-wallet-actions-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-quick-amounts-grid {
        grid-template-columns: 1fr;
    }
}

/* Animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
/* Additional Modal Styles */
.frp-search-with-results {
    position: relative;
}

.frp-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    margin-top: 4px;
}

.frp-search-result-item {
    display: flex;
    align-items: center;
    padding: var(--space-sm) var(--space);
    cursor: pointer;
    transition: background-color var(--transition-fast);
    border-bottom: 1px solid var(--border-light);
}

.frp-search-result-item:last-child {
    border-bottom: none;
}

.frp-search-result-item:hover {
    background-color: var(--bg-tertiary);
}

.frp-search-result-item img {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-full);
    margin-right: var(--space-sm);
}

.frp-search-result-info h4 {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.125rem 0;
}

.frp-search-result-info p {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0;
}

.frp-user-card-selected {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space);
    background: var(--bg-secondary);
    border-radius: var(--radius);
}

.frp-user-card-selected img {
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
}

.frp-user-card-info h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 0.125rem 0;
}

.frp-user-card-info p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0;
}

.frp-entry-packages {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: var(--space);
    margin-top: var(--space-sm);
}

.frp-entry-package {
    background: var(--bg-card);
    border: 2px solid var(--border-light);
    border-radius: var(--radius-lg);
    padding: var(--space);
    cursor: pointer;
    transition: all var(--transition);
}

.frp-entry-package:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.frp-entry-package.active {
    border-color: var(--primary);
    background: rgba(67, 97, 238, 0.05);
}

.frp-package-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-sm);
}

.frp-package-header h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

.frp-package-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--primary);
}

.frp-package-content p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0.5rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.frp-package-content i {
    color: var(--primary);
    width: 16px;
}

.frp-payment-methods {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: var(--space-sm);
    margin-top: var(--space-sm);
}

.frp-payment-method {
    position: relative;
}

.frp-payment-method input {
    position: absolute;
    opacity: 0;
}

.frp-payment-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space);
    background: var(--bg-card);
    border: 2px solid var(--border-light);
    border-radius: var(--radius);
    cursor: pointer;
    transition: all var(--transition);
    text-align: center;
    height: 100%;
}

.frp-payment-method input:checked + .frp-payment-content {
    border-color: var(--primary);
    background: rgba(67, 97, 238, 0.05);
}

.frp-payment-content i {
    font-size: 1.5rem;
    color: var(--text-secondary);
    margin-bottom: 0.5rem;
}

.frp-payment-method input:checked + .frp-payment-content i {
    color: var(--primary);
}

.frp-payment-content span {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-primary);
}

.frp-order-summary {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: var(--space);
    margin-top: var(--space);
}

.frp-order-summary h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--space-sm) 0;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--border-light);
}

.frp-order-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.5rem;
    font-size: 0.875rem;
}

.frp-order-row:last-child {
    margin-bottom: 0;
}

.frp-order-row span:first-child {
    color: var(--text-muted);
}

.frp-order-row span:last-child {
    font-weight: 500;
    color: var(--text-primary);
}

.frp-order-total {
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--border-light);
    font-weight: 600;
    font-size: 1rem;
}

.frp-order-total span:last-child {
    color: var(--primary);
}

.frp-payment-instructions {
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-payment-info {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: var(--space);
}

.frp-payment-info p {
    margin: 0.5rem 0;
    font-size: 0.875rem;
}

.frp-payment-info strong {
    color: var(--text-primary);
    font-weight: 600;
    min-width: 120px;
    display: inline-block;
}

.frp-payment-help {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: var(--space);
    margin-top: var(--space);
}

.frp-payment-help h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 var(--space-sm) 0;
}

.frp-payment-help ul {
    margin: 0.5rem 0 0 0;
    padding-left: 1.5rem;
    font-size: 0.875rem;
    color: var(--text-muted);
}

.frp-payment-help li {
    margin-bottom: 0.25rem;
}

/* Add these styles to your existing CSS */

/* Chat System Specific Styles */
.frp-chat-list-container,
.frp-chat-conversation-container {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.frp-chat-conversation-container {
    display: none;
}

.frp-chat-search {
    padding: var(--space);
    border-bottom: 1px solid var(--border-light);
}

.frp-chat-search input {
    width: 100%;
    padding: var(--space-sm) var(--space);
    border: 1px solid var(--border-light);
    border-radius: var(--radius-full);
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

.frp-chat-list {
    flex: 1;
    overflow-y: auto;
    padding: var(--space);
}



.frp-chat-user-avatar {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    overflow: hidden;
    margin-right: var(--space);
}

.frp-chat-user-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-chat-user-info {
    flex: 1;
}

.frp-chat-user-info h4 {
    font-size: 1rem;
    margin: 0;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.frp-online-status {
    color: var(--success);
    font-size: 0.75rem;
}

.frp-chat-actions {
    display: flex;
    gap: var(--space-xs);
}

.frp-chat-messages {
    flex: 1;
    padding: var(--space);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space);
}

.frp-message-date-separator {
    text-align: center;
    margin: var(--space) 0;
}

.frp-message-date-separator span {
    background-color: var(--bg-secondary);
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-full);
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-message {
    max-width: 70%;
    animation: messageSlide 0.3s ease;
}

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

.frp-message.sent {
    align-self: flex-end;
}

.frp-message.received {
    align-self: flex-start;
}

.frp-message-content {
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius-lg);
    position: relative;
}

.frp-message.sent .frp-message-content {
    background-color: var(--primary);
    color: white;
    border-bottom-right-radius: var(--radius-sm);
}

.frp-message.received .frp-message-content {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-bottom-left-radius: var(--radius-sm);
}

.frp-message-text {
    word-wrap: break-word;
    line-height: 1.4;
}

.frp-message-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.frp-message-time {
    font-size: 0.75rem;
    opacity: 0.8;
}

.frp-message-sent,
.frp-message-read {
    font-size: 0.75rem;
}

.frp-message-read {
    color: #4ade80;
}

.frp-message-actions {
    position: relative;
}

.frp-message-action-btn {
    background: none;
    border: none;
    color: inherit;
    opacity: 0.5;
    cursor: pointer;
    padding: var(--space-xs);
}

.frp-message-dropdown {
    position: absolute;
    right: 0;
    bottom: 100%;
    background-color: var(--bg-card);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    display: none;
    z-index: 10;
    min-width: 120px;
}

.frp-message-dropdown.show {
    display: block;
}

.frp-message-dropdown button {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    width: 100%;
    padding: var(--space-sm) var(--space);
    background: none;
    border: none;
    color: var(--text-primary);
    cursor: pointer;
    text-align: left;
}

.frp-message-dropdown button:hover {
    background-color: var(--bg-tertiary);
}

.frp-typing-indicator {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space);
    background-color: var(--bg-secondary);
    border-radius: var(--radius-lg);
    margin-bottom: var(--space);
    align-self: flex-start;
    max-width: 70%;
}

.frp-typing-dots {
    display: flex;
    gap: 4px;
}

.frp-typing-dots span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--text-muted);
    animation: typing 1.4s infinite;
}

.frp-typing-dots span:nth-child(2) {
    animation-delay: 0.2s;
}

.frp-typing-dots span:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typing {
    0%, 60%, 100% {
        transform: translateY(0);
    }
    30% {
        transform: translateY(-4px);
    }
}

.frp-typing-text {
    font-size: 0.875rem;
    color: var(--text-muted);
}

.frp-load-more-messages-container {
    text-align: center;
    margin-bottom: var(--space);
}

.frp-load-more-messages {
    background: none;
    border: none;
    color: var(--primary);
    cursor: pointer;
    padding: var(--space-sm);
    font-size: 0.875rem;
}

/* Attachment Styles */
.frp-message-attachment,
.frp-attachment-preview {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm);
    background-color: var(--bg-tertiary);
    border-radius: var(--radius);
}

.frp-attachment-icon {
    font-size: 1.5rem;
    color: var(--primary);
}

.frp-attachment-info {
    flex: 1;
}

.frp-attachment-name {
    font-weight: 500;
    color: var(--text-primary);
    text-decoration: none;
}

.frp-attachment-name:hover {
    color: var(--primary);
}

.frp-attachment-size {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-attachment-download {
    color: var(--primary);
    text-decoration: none;
    padding: var(--space-xs);
}

.frp-attachment-preview img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: var(--radius);
}

.frp-file-preview {
    display: flex;
    align-items: center;
    gap: var(--space);
}

.frp-remove-attachment,
.frp-remove-gift {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: var(--space-xs);
}

.frp-remove-attachment:hover,
.frp-remove-gift:hover {
    color: var(--danger);
}

/* Gift Styles */
.frp-message-gift,
.frp-gift-preview {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm);
    background: linear-gradient(135deg, #f72585, #7209b7);
    border-radius: var(--radius);
    color: white;
}

.frp-gift-icon {
    font-size: 1.5rem;
}

.frp-gift-name {
    font-weight: 500;
}

.frp-gift-value {
    font-size: 0.875rem;
    opacity: 0.9;
}

.frp-gift-preview-content {
    display: flex;
    align-items: center;
    gap: var(--space);
    flex: 1;
}

/* Image Message */
.frp-message-image {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    max-width: 300px;
}

.frp-chat-image {
    width: 100%;
    height: auto;
    display: block;
}

.frp-image-fullscreen {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: var(--radius);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.3s;
}

.frp-message-image:hover .frp-image-fullscreen {
    opacity: 1;
}

/* Attachment Options */
.frp-attachment-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal);
}

.frp-attachment-options {
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    padding: var(--space);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space);
}

.frp-attachment-option {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs);
    background: none;
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: var(--space);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.frp-attachment-option:hover {
    background-color: var(--bg-tertiary);
    border-color: var(--primary);
}

.frp-attachment-option i {
    font-size: 1.5rem;
    color: var(--primary);
}

.frp-attachment-option span {
    font-size: 0.875rem;
    color: var(--text-primary);
}

/* Gift Selection */
.frp-gifts-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space);
}

.frp-gift-option {
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    padding: var(--space);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.frp-gift-option:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: var(--shadow);
}

.frp-gift-option .frp-gift-icon {
    font-size: 2rem;
    color: var(--accent);
    text-align: center;
    margin-bottom: var(--space-sm);
}

.frp-gift-option h4 {
    font-size: 1rem;
    margin: 0 0 var(--space-xs) 0;
    text-align: center;
}

.frp-gift-option p {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin: 0 0 var(--space-sm) 0;
    text-align: center;
}

.frp-gift-value {
    text-align: center;
    font-weight: 600;
    color: var(--primary);
}

/* Call Interface */
.frp-call-interface {
    text-align: center;
    padding: var(--space-lg);
}

.frp-call-avatar {
    width: 120px;
    height: 120px;
    border-radius: var(--radius-full);
    overflow: hidden;
    margin: 0 auto var(--space);
}

.frp-call-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-call-status {
    font-size: 1.25rem;
    margin-bottom: var(--space);
    color: var(--text-primary);
}

.frp-call-timer {
    font-size: 2rem;
    font-weight: 300;
    margin-bottom: var(--space-lg);
    color: var(--text-primary);
}

.frp-call-controls {
    display: flex;
    justify-content: center;
    gap: var(--space);
}

.frp-call-control {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-full);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.5rem;
    transition: all var(--transition-fast);
}

.frp-call-end {
    background-color: var(--danger);
    color: white;
}

.frp-call-mute,
.frp-call-speaker {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-call-control:hover {
    transform: scale(1.1);
}

/* Video Call Interface */
.frp-video-call-interface {
    height: 70vh;
    display: flex;
    flex-direction: column;
}

.frp-video-container {
    flex: 1;
    position: relative;
    background-color: var(--bg-secondary);
    border-radius: var(--radius);
    overflow: hidden;
}

.frp-remote-video {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-video-placeholder {
    text-align: center;
}

.frp-video-placeholder img {
    width: 120px;
    height: 120px;
    border-radius: var(--radius-full);
    object-fit: cover;
}

.frp-local-video {
    position: absolute;
    bottom: var(--space);
    right: var(--space);
    width: 160px;
    height: 120px;
    border-radius: var(--radius);
    overflow: hidden;
    border: 2px solid var(--primary);
}

.frp-local-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-video-call-controls {
    display: flex;
    justify-content: center;
    gap: var(--space);
    padding: var(--space);
    background-color: var(--bg-card);
}

.frp-video-control {
    width: 50px;
    height: 50px;
    border-radius: var(--radius-full);
    border: none;
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.25rem;
    transition: all var(--transition-fast);
}

.frp-video-end {
    background-color: var(--danger);
    color: white;
}

.frp-video-control:hover {
    transform: scale(1.1);
}

/* Lightbox */
.frp-lightbox {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: var(--z-modal);
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-lightbox-content {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
}

.frp-lightbox-content img {
    max-width: 100%;
    max-height: 70vh;
    object-fit: contain;
}

.frp-lightbox-close {
    position: absolute;
    top: -40px;
    right: 0;
    background: none;
    border: none;
    color: white;
    font-size: 2rem;
    cursor: pointer;
}

.frp-lightbox-tools {
    position: absolute;
    bottom: -50px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: var(--space);
}

.frp-lightbox-tool {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    border: 1px solid white;
    background: rgba(255, 255, 255, 0.1);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Recent Contacts */
.frp-recent-contacts {
    margin-top: var(--space);
}

.frp-recent-contacts h4 {
    margin-bottom: var(--space);
    font-size: 0.875rem;
    color: var(--text-muted);
}

.frp-recent-contact {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm);
    border-radius: var(--radius);
    cursor: pointer;
    transition: background-color var(--transition-fast);
}

.frp-recent-contact:hover {
    background-color: var(--bg-tertiary);
}

.frp-recent-contact img {
    width: 40px;
    height: 40px;
    border-radius: var(--radius-full);
    object-fit: cover;
}

.frp-recent-contact-info h5 {
    font-size: 0.875rem;
    margin: 0;
}

.frp-recent-contact-info p {
    font-size: 0.75rem;
    color: var(--text-muted);
    margin: 0;
}

.frp-conversation-exists {
    color: var(--primary);
    font-size: 0.875rem;
}

/* Emoji Picker */
.frp-emoji-picker {
    position: absolute;
    bottom: 60px;
    right: 0;
    background-color: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    padding: var(--space);
    width: 300px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 10;
    display: none;
}

.frp-emoji-picker.show {
    display: block;
}

.frp-emoji-category {
    margin-bottom: var(--space);
}

.frp-emoji-category h4 {
    font-size: 0.875rem;
    color: var(--text-muted);
    margin-bottom: var(--space-sm);
}

.frp-emoji-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: var(--space-xs);
}

.frp-emoji {
    font-size: 1.5rem;
    cursor: pointer;
    text-align: center;
    padding: var(--space-xs);
    border-radius: var(--radius-sm);
    transition: background-color var(--transition-fast);
}

.frp-emoji:hover {
    background-color: var(--bg-tertiary);
}

/* Message Reactions */
.frp-message-reactions {
    display: flex;
    gap: var(--space-xs);
    margin-top: var(--space-xs);
}

.frp-reaction {
    background-color: var(--bg-tertiary);
    border-radius: var(--radius-full);
    padding: 2px 6px;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    gap: 2px;
}

.frp-reaction-count {
    font-size: 0.625rem;
}

/* Responsive Design for Chat */
@media (max-width: 768px) {
    .frp-chat-interface {
        max-width: 100%;
    }
    
    .frp-message {
        max-width: 85%;
    }
    
    .frp-message-image {
        max-width: 200px;
    }
    
    .frp-gifts-grid {
        grid-template-columns: 1fr;
    }
    
    .frp-local-video {
        width: 100px;
        height: 75px;
    }
}

.frp-chat-list {
    height: 300px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.frp-chat-item {
    display: flex;
    align-items: center;
    gap: var(--space);
    padding: var(--space-sm) var(--space);
    border-bottom: 1px solid var(--border-light);
    cursor: pointer;
    transition: background-color var(--transition-fast);
    text-decoration: none;
    color: inherit;
}

.frp-chat-item:hover {
    background-color: var(--bg-tertiary);
    text-decoration: none;
}

.frp-chat-item:last-child {
    border-bottom: none;
}

.frp-chat-avatar {
    position: relative;
    flex-shrink: 0;
}

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

.frp-activity-status {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border-radius: var(--radius-full);
    border: 2px solid var(--bg-card);
    background-color: var(--success);
}

.frp-activity-status.online {
    background-color: var(--success);
}

.frp-activity-status.offline {
    background-color: var(--text-muted);
}

.frp-chat-info {
    flex: 1;
    min-width: 0;
}

.frp-chat-name {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.125rem;
}

.frp-chat-name span {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-chat-time {
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.frp-chat-preview {
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-chat-meta {
    flex-shrink: 0;
}

.frp-chat-unread {
    display: inline-block;
    min-width: 18px;
    height: 18px;
    padding: 0 0.25rem;
    background-color: var(--accent);
    color: white;
    font-size: 0.625rem;
    font-weight: 600;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-start-new-chat {
    width: 32px;
    height: 32px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Chat Conversation Styles */
.frp-chat-conversation-container {
    display: none;
    flex-direction: column;
    height: 100%;
}

.frp-chat-conversation-container.active {
    display: flex;
}

.frp-chat-list-container {
    display: flex;
    flex-direction: column;
    height: 100%;
}
/* Messages Tab Styles */
.frp-messages-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

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

.frp-messages-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.frp-messages-tabs {
    display: flex;
    padding: 0 20px;
    border-bottom: 1px solid var(--border-color);
}

.frp-messages-tabs .frp-tab-btn {
    padding: 12px 20px;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-weight: 500;
    color: var(--text-secondary);
}

.frp-messages-tabs .frp-tab-btn.active {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}

.frp-conversations-container {
    flex: 1;
    overflow: hidden;
    position: relative;
}

.frp-conversations-list {
    height: 100%;
    overflow-y: auto;
}

.frp-conversation-item {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: background-color 0.2s;
}

.frp-conversation-item:hover {
    background-color: var(--hover-color);
}

.frp-conversation-avatar {
    position: relative;
    margin-right: 12px;
}

.frp-conversation-avatar img {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.frp-conversation-info {
    flex: 1;
    min-width: 0;
}

.frp-conversation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4px;
}

.frp-conversation-name {
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.frp-conversation-time {
    font-size: 12px;
    color: var(--text-secondary);
}

.frp-conversation-preview {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.frp-conversation-preview p {
    margin: 0;
    font-size: 13px;
    color: var(--text-secondary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
}

/* Active Chat Styles */
.frp-active-chat-container {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.frp-chat-header {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    border-bottom: 1px solid var(--border-color);
    background-color: var(--bg-primary);
}

.frp-chat-user-info {
    display: block;
    align-items: center;
    flex: 1;
    margin-left: 15px;
}

.frp-chat-avatar {
    position: relative;
    margin-right: 12px;
}

.frp-chat-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.frp-chat-user-details h3 {
    margin: 0 0 3px 0;
    font-size: 16px;
    font-weight: 600;
}

.frp-chat-user-details p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

.frp-chat-actions {
    display: flex;
    gap: 10px;
}

.frp-chat-messages-container {
    flex: 1;
    overflow-y: auto;
    padding: 20px;
    background-color: var(--bg-secondary);
}

.frp-message {
    display: flex;
    margin-bottom: 15px;
}

.frp-message.sent {
    justify-content: flex-end;
}

.frp-message-content {
    max-width: 70%;
    padding: 10px 15px;
    border-radius: 18px;
    position: relative;
}

.frp-message.sent .frp-message-content {
    background-color: var(--primary-color);
    color: white;
    border-bottom-right-radius: 4px;
}

.frp-message.received .frp-message-content {
    background-color: var(--bg-primary);
    color: var(--text-primary);
    border-bottom-left-radius: 4px;
}

.frp-message-text {
    font-size: 14px;
    line-height: 1.4;
}

.frp-message-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 4px;
    font-size: 11px;
    opacity: 0.7;
}

.frp-message-time {
    margin-right: 5px;
}

.frp-message-status {
    font-size: 12px;
}

.frp-chat-input-container {
    display: flex;
    align-items: flex-end;
    padding: 15px 20px;
    border-top: 1px solid var(--border-color);
    background-color: var(--bg-primary);
}

.frp-chat-tools {
    display: flex;
    gap: 10px;
    margin-right: 10px;
}

.frp-chat-input {
    flex: 1;
    min-height: 40px;
    max-height: 120px;
    padding: 10px 15px;
    border: 1px solid var(--border-color);
    border-radius: 20px;
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    font-size: 14px;
    resize: none;
    outline: none;
}

.frp-chat-input:focus {
    border-color: var(--primary-color);
}

.frp-send-btn {
    margin-left: 10px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

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

/* Search Results */
.frp-search-with-results {
    position: relative;
}

.frp-search-results {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: var(--bg-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    margin-top: 5px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.frp-search-result-item {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    cursor: pointer;
    border-bottom: 1px solid var(--border-color);
}

.frp-search-result-item:hover {
    background-color: var(--hover-color);
}

.frp-search-result-item img {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    margin-right: 12px;
}

.frp-search-result-info {
    flex: 1;
}

.frp-search-result-info h4 {
    margin: 0 0 2px 0;
    font-size: 14px;
    font-weight: 600;
}

.frp-search-result-info p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}

.frp-conversation-exists {
    margin-left: 10px;
    color: var(--primary-color);
    font-size: 12px;
}

/* Recent Contacts */
.frp-recent-contacts {
    margin-top: 20px;
}

.frp-recent-contacts h4 {
    margin: 0 0 10px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-secondary);
}

.frp-recent-contact {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
}

.frp-recent-contact:hover {
    background-color: var(--hover-color);
}

.frp-recent-contact img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 12px;
}

.frp-recent-contact-info h5 {
    margin: 0 0 2px 0;
    font-size: 14px;
    font-weight: 600;
}

.frp-recent-contact-info p {
    margin: 0;
    font-size: 12px;
    color: var(--text-secondary);
}
/* Search Bar Styles */
.frp-chat-search {
    position: relative;
    margin-bottom: var(--space);
}

.frp-chat-search i {
    position: absolute;
    left: var(--space);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    z-index: 1;
}

.frp-chat-search input {
    width: 100%;
    padding: var(--space-sm) var(--space-sm) var(--space-sm) calc(var(--space) * 2.5);
    background-color: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    color: var(--text-primary);
    font-size: 0.875rem;
    transition: all var(--transition-fast);
}

.frp-chat-search input:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
    background-color: var(--bg-primary);
}

.dark-mode .frp-chat-search input {
    background-color: var(--bg-secondary);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

.dark-mode .frp-chat-search input:focus {
    background-color: var(--bg-tertiary);
}


.frp-chat-back-btn {
    background: none;
    border: none;
    color: var(--text-secondary);
    font-size: 1.25rem;
    cursor: pointer;
    padding: var(--space-sm);
    margin-right: var(--space-sm);
    border-radius: var(--radius);
    transition: all var(--transition-fast);
}

.frp-chat-back-btn:hover {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
}

.frp-chat-user-avatar {
    position: relative;
    margin-right: var(--space);
}

.frp-chat-user-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--border-light);
}

.frp-user-status {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--bg-card);
}

.frp-user-status.online {
    background-color: var(--success);
}

.frp-user-status.offline {
    background-color: var(--text-muted);
}

.frp-chat-user-info {
    flex: 1;
}

.frp-chat-user-info h4 {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 2px;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
}

.frp-chat-actions {
    display: flex;
    gap: var(--space-xs);
}

/* Search Results Sections */
.frp-search-section {
    padding: var(--space-sm) var(--space);
    margin-bottom: var(--space-sm);
}

.frp-search-section h4 {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--text-muted);
    margin: 0;
}

/* Verified Badge */
.frp-verified-badge {
    color: var(--primary);
    font-size: 0.875rem;
}

.frp-verified-badge-small {
    color: var(--primary);
    font-size: 0.75rem;
    margin-left: var(--space-xs);
}

/* Start Chat Icon */
.frp-start-chat-icon {
    color: var(--primary);
    font-size: 1rem;
}

/* Chat Item Improvements */
.frp-chat-item {
    display: flex;
    align-items: center;
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius);
    cursor: pointer;
    transition: all var(--transition-fast);
    margin-bottom: 2px;
}

.frp-chat-item:hover {
    background-color: var(--bg-secondary);
}

.frp-chat-avatar {
    position: relative;
    margin-right: var(--space-sm);
}

.frp-chat-avatar img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
}

.frp-activity-status {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--bg-card);
}

.frp-activity-status.online {
    background-color: var(--success);
}

.frp-chat-info {
    flex: 1;
    min-width: 0;
}

.frp-chat-name {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 2px;
}

.frp-chat-name span:first-child {
    font-weight: 500;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-chat-time {
    font-size: 0.75rem;
    color: var(--text-muted);
    white-space: nowrap;
}

.frp-chat-preview {
    font-size: 0.8125rem;
    color: var(--text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-chat-meta {
    margin-left: var(--space-sm);
}

.frp-chat-unread {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background-color: var(--primary);
    color: white;
    border-radius: 9px;
    font-size: 0.6875rem;
    font-weight: 600;
}

/* Loading States */
.frp-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl) var(--space);
    color: var(--text-muted);
}

.frp-loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--border-light);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: frp-spin 1s linear infinite;
    margin-bottom: var(--space);
}

@keyframes frp-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Empty State */
.frp-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-xl) var(--space);
    text-align: center;
    color: var(--text-muted);
}

.frp-empty-state i {
    font-size: 3rem;
    margin-bottom: var(--space);
    color: var(--border-medium);
}

.frp-empty-state p {
    margin: 0;
    font-size: 0.875rem;
}
/* Chat Messages Styling */
.frp-chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: var(--space);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.frp-message {
    display: flex;
    margin-bottom: var(--space-sm);
    max-width: 80%;
    animation: frp-message-fade 0.3s ease;
}

@keyframes frp-message-fade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.frp-message.sent {
    align-self: flex-end;
    margin-left: auto;
}

.frp-message.received {
    align-self: flex-start;
    margin-right: auto;
}

.frp-message-content {
    padding: var(--space-sm) var(--space);
    border-radius: var(--radius-lg);
    position: relative;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
}

.frp-message.sent .frp-message-content {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    color: white;
    border-bottom-right-radius: var(--radius-sm);
}

.frp-message.received .frp-message-content {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-bottom-left-radius: var(--radius-sm);
}

.dark-mode .frp-message.received .frp-message-content {
    background-color: var(--bg-tertiary);
}

.frp-message-text {
    line-height: 1.5;
    font-size: 0.9375rem;
}

.frp-message-text a {
    color: inherit;
    text-decoration: underline;
    opacity: 0.9;
}

.frp-message.sent .frp-message-text a {
    color: #e6f7ff;
}

.frp-message-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-xs);
    margin-top: 4px;
    font-size: 0.75rem;
    opacity: 0.8;
}

.frp-message-time {
    font-size: 0.6875rem;
}

.frp-message-sent,
.frp-message-read {
    font-size: 0.75rem;
}

.frp-message-sent {
    color: rgba(255, 255, 255, 0.7);
}

.frp-message-read {
    color: #4cc9f0;
}

/* Message formatting */
.frp-mention {
    color: var(--accent);
    font-weight: 600;
    background-color: rgba(247, 37, 133, 0.1);
    padding: 0 4px;
    border-radius: 3px;
}

.frp-hashtag {
    color: var(--primary);
    font-weight: 500;
    background-color: rgba(67, 97, 238, 0.1);
    padding: 0 4px;
    border-radius: 3px;
}

/* Message attachments */
.frp-message-attachment {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: var(--radius);
}

.frp-message.received .frp-message-attachment {
    background-color: rgba(0, 0, 0, 0.05);
}

.dark-mode .frp-message.received .frp-message-attachment {
    background-color: rgba(255, 255, 255, 0.05);
}

.frp-attachment-icon {
    font-size: 1.5rem;
    color: var(--primary);
}

.frp-attachment-info {
    flex: 1;
    min-width: 0;
}

.frp-attachment-name {
    display: block;
    font-weight: 500;
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-attachment-size {
    font-size: 0.75rem;
    opacity: 0.7;
    margin-top: 2px;
}

.frp-attachment-download {
    color: inherit;
    opacity: 0.7;
    transition: opacity var(--transition-fast);
}

.frp-attachment-download:hover {
    opacity: 1;
}

/* Message images */
.frp-message-image {
    position: relative;
    border-radius: var(--radius);
    overflow: hidden;
    max-width: 300px;
}

.frp-chat-image {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--radius);
}

.frp-image-fullscreen {
    position: absolute;
    top: var(--space-sm);
    right: var(--space-sm);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.frp-message-image:hover .frp-image-fullscreen {
    opacity: 1;
}

/* Message gifts */
.frp-message-gift {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm);
    background-color: rgba(255, 215, 0, 0.1);
    border-radius: var(--radius);
    border: 1px solid rgba(255, 215, 0, 0.2);
}

.frp-gift-icon {
    font-size: 1.5rem;
    color: #ffd700;
}

.frp-gift-info {
    flex: 1;
}

.frp-gift-name {
    font-weight: 600;
    color: inherit;
}

.frp-gift-value {
    font-size: 0.875rem;
    opacity: 0.8;
    margin-top: 2px;
}

/* Date separator */
.frp-message-date-separator {
    text-align: center;
    margin: var(--space) 0;
    position: relative;
}

.frp-message-date-separator span {
    display: inline-block;
    padding: 4px 12px;
    background-color: var(--bg-secondary);
    color: var(--text-muted);
    font-size: 0.75rem;
    border-radius: var(--radius-full);
    position: relative;
    z-index: 1;
}

.frp-message-date-separator:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--border-light);
    z-index: 0;
}

.dark-mode .frp-message-date-separator span {
    background-color: var(--bg-tertiary);
}
/* Message Actions Dropdown */
.frp-message-actions {
    position: relative;
}

.frp-message-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    min-width: 160px;
    z-index: var(--z-dropdown);
}

.frp-message-dropdown.show {
    display: block;
}

.frp-message-dropdown-item {
    display: flex;
    align-items: center;
    padding: var(--space-sm) var(--space);
    color: var(--text-primary);
    text-decoration: none;
    cursor: pointer;
    transition: background-color var(--transition-fast);
    border: none;
    background: none;
    width: 100%;
    text-align: left;
}

.frp-message-dropdown-item:hover {
    background-color: var(--bg-secondary);
}

.frp-message-dropdown-item i {
    margin-right: var(--space-sm);
    width: 16px;
    text-align: center;
}

.frp-message-dropdown-item.frp-message-delete {
    color: var(--danger);
}

.frp-message-dropdown-item.frp-message-delete:hover {
    background-color: rgba(249, 65, 68, 0.1);
}

/* Message actions button */
.frp-message-actions-btn {
    opacity: 0;
    transition: opacity var(--transition-fast);
}

.frp-message:hover .frp-message-actions-btn {
    opacity: 1;
}
.frp-chat-input-tools {
    display: flex;
    gap: var(--space-xs);
    margin-right: var(--space-sm);
}

.frp-chat-input-tools .frp-action-btn {
    width: 16px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius);
    background: transparent;
    border: 1px solid var(--border-light);
    color: var(--text-muted);
    transition: all var(--transition-fast);

}

.frp-chat-input-tools .frp-action-btn:hover {
    background: var(--bg-secondary);
    border-color: var(--border-medium);
    color: var(--text-primary);
}

.frp-chat-input-area {
    display: flex;
    align-items: flex-end;
    padding: var(--space);
    border-top: 1px solid var(--border-light);
    background: var(--bg-card);
}

.frp-chat-input {
    flex: 1;
    min-height: 40px;
    max-height: 120px;
    padding: var(--space-sm);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: inherit;
    font-size: 0.9375rem;
    resize: none;
    outline: none;
    transition: border-color var(--transition-fast);
}

.frp-chat-input:focus {
    border-color: var(--primary);
}

.frp-chat-send-btn {
    width: 40px;
    height: 40px;
    margin-left: var(--space-sm);
    border-radius: var(--radius);
    background: var(--primary);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all var(--transition-fast);
}

.frp-chat-send-btn:hover:not(:disabled) {
    background: var(--primary-dark);
    transform: translateY(-1px);
}

.frp-chat-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.menu-toggle, button, .ast-button, .ast-custom-button, .button, input#submit, input[type="button"], input[type="submit"], input[type="reset"], form[CLASS*="wp-block-search__"].wp-block-search .wp-block-search__inside-wrapper .wp-block-search__button, body .wp-block-file .wp-block-file__button, .woocommerce-js a.button, .woocommerce button.button, .woocommerce .woocommerce-message a.button, .woocommerce #respond input#submit.alt, .woocommerce input.button.alt, .woocommerce input.button, .woocommerce input.button:disabled, .woocommerce input.button:disabled[disabled], .woocommerce input.button:disabled:hover, .woocommerce input.button:disabled[disabled]:hover, .woocommerce #respond input#submit, .woocommerce button.button.alt.disabled, .wc-block-grid__products .wc-block-grid__product .wp-block-button__link, .wc-block-grid__product-onsale, [CLASS*="wc-block"] button, .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons .button:not(.checkout):not(.ast-continue-shopping), .woocommerce-js .astra-cart-drawer .astra-cart-drawer-content .woocommerce-mini-cart__buttons a.checkout, .woocommerce button.button.alt.disabled.wc-variation-selection-needed, [CLASS*="wc-block"] .wc-block-components-button {
       padding-right: 20px !important;

    padding-left: 20px !important;
}
/* Add to your CSS file */
/* Floating action button for messages */
.frp-message-content-wrapper {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding-right: 35px; /* Space for the action button */
}

.frp-message-main-content {
    flex: 1;
    min-width: 0;
}

.frp-message-actions-container {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 1;
}

.frp-message:hover .frp-message-actions-container {
    opacity: 1;
}

.frp-message.sent .frp-message-content-wrapper {
    padding-right: 35px;
    padding-left: 0;
}

.frp-message.received .frp-message-content-wrapper {
    padding-left: 35px;
    padding-right: 0;
}

.frp-message.received .frp-message-actions-container {
    left: 0;
    right: auto;
}

.frp-message-actions-btn {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 12px;
}

.frp-message-actions-btn:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    transform: scale(1.05);
}

.frp-message-dropdown {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    box-shadow: var(--shadow-lg);
    min-width: 120px;
    z-index: 1000;
    display: none;
}

.frp-message.received .frp-message-dropdown {
    left: 0;
    right: auto;
}

.frp-message-dropdown.show {
    display: block;
}

.frp-message-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: none;
    border: none;
    color: var(--text-primary);
    text-align: left;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 13px;
}

.frp-message-dropdown-item:hover {
    background-color: var(--bg-tertiary);
}

.frp-message-dropdown-item i {
    width: 16px;
    text-align: center;
    font-size: 12px;
}

.frp-message-dropdown-item.frp-message-delete {
    color: var(--danger);
}

.frp-search-input::placeholder {
    color: var(--text-muted);
}

.frp-search-clear {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 4px;
    margin-left: 8px;
    font-size: 12px;
    transition: color var(--transition);
}

.frp-search-clear:hover {
    color: var(--danger);
}

/* Dark mode specific */
.dark-mode .frp-search-input-wrapper {
    background-color: var(--bg-tertiary);
    border-color: var(--border-medium);
}

.dark-mode .frp-search-input {
    color: var(--text-primary);
}

.dark-mode .frp-search-input::placeholder {
    color: var(--text-light);
}

/* Message Filters */
.frp-message-filters {
    display: flex;
    gap: 8px;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-primary);
}

.dark-mode .frp-message-filters {
    border-bottom-color: var(--border-medium);
    background-color: var(--bg-secondary);
}

.frp-filter-btn {
    padding: 6px 12px;
    border-radius: var(--radius);
    border: 1px solid var(--border-light);
    background-color: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition);
}

.dark-mode .frp-filter-btn {
    border-color: var(--border-medium);
    background-color: var(--bg-tertiary);
    color: var(--text-secondary);
}

.frp-filter-btn:hover {
    border-color: var(--primary-light);
    color: var(--primary);
}

.frp-filter-btn.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: white;
}

.frp-filter-btn.active:hover {
    background-color: var(--primary-dark);
}

/* Program Creation Modal */
.frp-create-program-modal .frp-modal-content {
    max-width: 800px;
}

.frp-create-program-steps {
    display: flex;
    justify-content: space-between;
    margin-bottom: 30px;
    position: relative;
}

.frp-create-program-steps::before {
    content: '';
    position: absolute;
    top: 15px;
    left: 0;
    right: 0;
    height: 2px;
    background: #e0e0e0;
    z-index: 1;
}

.frp-step {
    position: relative;
    z-index: 2;
    text-align: center;
    flex: 1;
}

.frp-step-number {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #e0e0e0;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 10px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.frp-step.active .frp-step-number {
    background: #4361ee;
    color: white;
}

.frp-step.completed .frp-step-number {
    background: #10b981;
    color: white;
}

.frp-step-label {
    font-size: 12px;
    color: #666;
    font-weight: 500;
}

.frp-step.active .frp-step-label {
    color: #4361ee;
    font-weight: 600;
}

.frp-create-program-step {
    display: none;
    animation: fadeIn 0.3s ease;
}

.frp-create-program-step.active {
    display: block;
}

.frp-rich-text-editor {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    overflow: hidden;
}

.frp-editor-toolbar {
    background: #f8f9fa;
    padding: 8px;
    border-bottom: 1px solid #dee2e6;
    display: flex;
    gap: 5px;
}

.frp-editor-btn {
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #495057;
    transition: all 0.2s ease;
}

.frp-editor-btn:hover {
    background: #e9ecef;
    border-color: #adb5bd;
}

.frp-editor-content {
    min-height: 200px;
    padding: 15px;
    outline: none;
}

.frp-editor-content[contenteditable=true]:empty:before {
    content: attr(placeholder);
    color: #6c757d;
    pointer-events: none;
}

.frp-review-section {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 15px;
}

.frp-review-section h5 {
    margin-top: 0;
    margin-bottom: 10px;
    color: #495057;
    display: flex;
    align-items: center;
    gap: 8px;
}

.frp-review-item {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    border-bottom: 1px solid #e9ecef;
}

.frp-review-item:last-child {
    border-bottom: none;
}

.frp-review-label {
    font-weight: 500;
    color: #6c757d;
}

.frp-review-value {
    font-weight: 500;
    color: #212529;
    text-align: right;
    max-width: 60%;
    word-break: break-word;
}

.frp-fee-summary {
    background: #f1f8ff;
    border-radius: 8px;
    padding: 20px;
    margin-top: 20px;
    border-left: 4px solid #4361ee;
}

.frp-fee-summary h5 {
    margin-top: 0;
    margin-bottom: 15px;
    color: #343a40;
    display: flex;
    align-items: center;
    gap: 8px;
}

.frp-fee-item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    border-bottom: 1px solid #dee2e6;
}

.frp-fee-item:last-child {
    border-bottom: none;
}

.frp-fee-item.frp-fee-total {
    font-weight: 600;
    color: #212529;
    margin-top: 10px;
    padding-top: 10px;
    border-top: 2px solid #dee2e6;
}

/* Image Upload Styles */
.frp-image-upload-container {
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    padding: 30px;
    text-align: center;
    cursor: pointer;
    transition: border-color 0.3s ease;
    position: relative;
}

.frp-image-upload-container:hover {
    border-color: #4361ee;
}

.frp-image-upload-placeholder {
    color: #6c757d;
}

.frp-image-upload-placeholder i {
    font-size: 48px;
    margin-bottom: 10px;
    color: #adb5bd;
}

.frp-image-upload-info {
    font-size: 12px;
    color: #adb5bd;
    margin-top: 5px;
}

.frp-image-preview {
    position: relative;
}

.frp-image-preview img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    margin: 0 auto;
}

.frp-remove-image {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0,0,0,0.7);
    color: white;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
}

.frp-remove-image:hover {
    background: rgba(0,0,0,0.9);
}

/* Gallery Upload */
.frp-gallery-upload-container {
    margin-top: 10px;
}

.frp-gallery-upload-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 15px;
}

.frp-gallery-upload-item {
    aspect-ratio: 1;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

.frp-gallery-upload-item:hover {
    border-color: #4361ee;
}

.frp-gallery-upload-item.frp-add-more {
    color: #6c757d;
}

.frp-gallery-upload-item.frp-add-more i {
    font-size: 24px;
    margin-bottom: 5px;
}

.frp-gallery-upload-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-remove-gallery-image {
    position: absolute;
    top: 5px;
    right: 5px;
    background: rgba(0,0,0,0.7);
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.frp-gallery-upload-item:hover .frp-remove-gallery-image {
    opacity: 1;
}

/* Form Help Text */
.frp-form-help {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    color: #6c757d;
}

.frp-form-error {
    color: #dc3545;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

/* Responsive */
@media (max-width: 768px) {
    .frp-create-program-steps {
        flex-wrap: wrap;
        gap: 15px;
    }
    
    .frp-step {
        flex: 0 0 calc(50% - 15px);
    }
    
    .frp-create-program-steps::before {
        display: none;
    }
    
    .frp-gallery-upload-grid {
        grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    }
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
/* some new stff
 /* Enhanced Creator Details */
.frp-program-creator {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: var(--frp-bg-light);
    border-radius: 8px;
}

.frp-creator-avatar-link {
    flex-shrink: 0;
}

.frp-creator-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    overflow: hidden;
}

.frp-creator-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-creator-info {
    flex: 1;
}

.frp-creator-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.frp-creator-name {
    font-weight: 600;
    color: var(--frp-text);
    text-decoration: none;
}

.frp-creator-name:hover {
    color: var(--frp-primary);
}

.frp-creator-stats {
    display: flex;
    gap: 16px;
    margin-bottom: 10px;
}

.frp-creator-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.frp-creator-stat .frp-stat-value {
    font-weight: 600;
    font-size: 14px;
    color: var(--frp-text);
}

.frp-creator-stat .frp-stat-label {
    font-size: 12px;
    color: var(--frp-text-muted);
}

.frp-creator-actions {
    display: flex;
    gap: 8px;
}

.frp-follow-btn {
    padding: 6px 12px;
    font-size: 13px;
    background: var(--frp-primary);
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s;
    display: flex;
    align-items: center;
    gap: 6px;
}

.frp-follow-btn:hover {
    background: var(--frp-primary-dark);
    transform: translateY(-1px);
}

.frp-follow-btn.following {
    background: var(--frp-success);
}

.frp-follow-btn.following:hover {
    background: var(--frp-success-dark);
}

/* Program Meta Info */
.frp-program-meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 15px 0;
    padding: 10px;
    background: var(--frp-bg-light);
    border-radius: 6px;
}

.frp-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
}

.frp-meta-item i {
    color: var(--frp-primary);
}

.frp-meta-label {
    color: var(--frp-text-muted);
}

.frp-meta-value {
    font-weight: 600;
    color: var(--frp-text);
}
























/* TikTok-Style Comments System */
:root {
    --comment-like: #f72585;
    --comment-mention: #3a86ff;
    --comment-gift: #f8961e;
}


/* ==================== COMMENT SECTION - CHAT INTERFACE STYLE ==================== */
/* Comment Interface Styles */
.frp-comments-interface {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    max-width: 400px;
    background-color: var(--bg-card);
    border-left: 1px solid var(--border-light);
    z-index: 10000;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.frp-comments-interface.active {
    transform: translateX(0);
}

/* Comment Header */
.frp-comments-header {
    display: flex;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid var(--border-light);
    background-color: var(--bg-card);
    flex-shrink: 0;
    min-height: 60px;
}

.frp-comments-back-btn {
    background: none;
    border: none;
    font-size: 1.25rem;
    color: var(--text-secondary);
    cursor: pointer;
    padding: 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-right: 10px;
}

.frp-comments-back-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-comments-program-info {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.frp-comments-program-thumbnail {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.frp-comments-program-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-comments-program-details {
    flex: 1;
    min-width: 0;
}

.frp-comments-program-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    margin: 0 0 2px 0;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.frp-comments-comment-count {
    font-size: 12px;
    color: var(--text-muted);
    margin: 0;
}

.frp-comments-actions {
    display: flex;
    gap: 8px;
    margin-left: 10px;
}

/* Comments List Container */
.frp-comments-list-wrapper {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    min-height: 0;
}

/* Comment Item */
.frp-comment-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    animation: messageSlide 0.3s ease;
    max-width: 100%;
}

.frp-comment-item.reply {
    margin-left: 48px;
    position: relative;
}

.frp-comment-item.reply::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: var(--border-light);
}

.frp-comment-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
}

.frp-comment-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-comment-avatar-badge {
    position: absolute;
    bottom: -2px;
    right: -2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #4CAF50;
    border: 2px solid var(--bg-card);
    display: flex;
    align-items: center;
    justify-content: center;
}

.frp-comment-avatar-badge i {
    font-size: 6px;
    color: white;
}

.frp-comment-content {
    flex: 1;
    min-width: 0;
    background-color: var(--bg-secondary);
    border-radius: 18px;
    padding: 12px 16px;
    border: 1px solid var(--border-light);
    max-width: calc(100% - 48px);
    position: relative;
}

.frp-comment-item.sent .frp-comment-content {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

.frp-comment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 4px;
}

.frp-comment-author {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 4px;
}

.frp-comment-item.sent .frp-comment-author {
    color: white;
}

.frp-comment-author-verified {
    color: #4CAF50;
    font-size: 12px;
}

.frp-comment-time {
    font-size: 12px;
    color: var(--text-muted);
}

.frp-comment-item.sent .frp-comment-time {
    color: rgba(255, 255, 255, 0.8);
}

.frp-comment-text {
    font-size: 14px;
    line-height: 1.4;
    color: var(--text-primary);
    margin-bottom: 8px;
    word-break: break-word;
    white-space: pre-wrap;
}

.frp-comment-item.sent .frp-comment-text {
    color: white;
}

.frp-comment-mention {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    background-color: rgba(67, 97, 238, 0.1);
    padding: 2px 4px;
    border-radius: 4px;
}

.frp-comment-item.sent .frp-comment-mention {
    color: white;
    background-color: rgba(255, 255, 255, 0.2);
}

/* Comment Media */
.frp-comment-media {
    margin: 8px 0;
    border-radius: 8px;
    overflow: hidden;
    max-width: 200px;
}

.frp-comment-media img,
.frp-comment-media video {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
    max-height: 200px;
    object-fit: cover;
}

.frp-comment-gift {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #FF9800, #f9c74f);
    color: white;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 13px;
    margin-top: 8px;
}

.frp-comment-gift i {
    font-size: 14px;
}

/* Comment Actions */
.frp-comment-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.frp-comment-item.sent .frp-comment-actions {
    border-top-color: rgba(255, 255, 255, 0.2);
}

.frp-comment-like-btn,
.frp-comment-reply-btn {
    display: flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 13px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

.frp-comment-item.sent .frp-comment-like-btn,
.frp-comment-item.sent .frp-comment-reply-btn {
    color: rgba(255, 255, 255, 0.8);
}

.frp-comment-like-btn:hover,
.frp-comment-reply-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-comment-item.sent .frp-comment-like-btn:hover,
.frp-comment-item.sent .frp-comment-reply-btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
}

.frp-comment-like-btn.active {
    color: #FF5252;
}

.frp-comment-like-btn.active i {
    animation: heartBeat 0.6s ease;
}

.frp-comment-like-count {
    font-weight: 500;
    min-width: 20px;
    text-align: center;
}

/* More Actions Menu */
.frp-comment-more {
    position: relative;
    margin-left: auto;
}

.frp-comment-more-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
}

.frp-comment-more-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
}

.frp-comment-item.sent .frp-comment-more-btn {
    color: rgba(255, 255, 255, 0.8);
}

.frp-comment-item.sent .frp-comment-more-btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    color: white;
}

.frp-comment-more-menu {
    position: absolute;
    top: 100%;
    right: 0;
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    min-width: 160px;
    z-index: 1000;
    display: none;
    overflow: hidden;
}

.frp-comment-more-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    background: none;
    border: none;
    color: var(--text-primary);
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: left;
}

.frp-comment-more-option:hover {
    background-color: var(--bg-tertiary);
}

.frp-comment-more-option.delete {
    color: #FF5252;
}

.frp-comment-more-option.delete:hover {
    background-color: rgba(255, 82, 82, 0.1);
}

.frp-comment-more-option i {
    width: 16px;
    text-align: center;
}

/* Edit Comment */
.frp-comment-edit-input {
    width: 100%;
    min-height: 80px;
    padding: 8px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    resize: vertical;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 8px;
}

.frp-comment-edit-input:focus {
    outline: none;
    border-color: var(--primary);
}

.frp-comment-edit-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 8px;
}

/* Replies Section */
.frp-comment-replies {
    margin-top: 12px;
    padding-left: 12px;
    border-left: 2px solid var(--border-light);
}

.frp-replies-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
    background: none;
    border: none;
    color: var(--primary);
    font-size: 13px;
    font-weight: 500;
    padding: 6px 10px;
    border-radius: 8px;
    cursor: pointer;
    margin-bottom: 8px;
    transition: all 0.2s ease;
}

.frp-replies-toggle:hover {
    background-color: var(--bg-tertiary);
}

.frp-replies-count {
    color: var(--text-muted);
    font-weight: normal;
}

.frp-replies-list {
    display: none;
    margin-top: 8px;
}

/* Comment Input Area */
.frp-comments-input-area {
    padding: 15px;
    border-top: 1px solid var(--border-light);
    display: flex;
    gap: 12px;
    align-items: flex-end;
    background-color: var(--bg-card);
    flex-shrink: 0;
}

.frp-comments-input-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.frp-comments-reply-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background-color: var(--bg-secondary);
    border-radius: 8px;
    font-size: 13px;
    color: var(--text-secondary);
}

.frp-comments-reply-cancel {
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    padding: 2px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s ease;
}

.frp-comments-reply-cancel:hover {
    color: var(--text-primary);
}

.frp-comments-attachment-preview {
    position: relative;
    margin-bottom: 8px;
    border-radius: 8px;
    overflow: hidden;
    max-width: none;
}

.frp-comments-attachment-preview img {
    width: 100%;
    height: auto;
    display: block;
    max-height: 150px;
    object-fit: cover;
}

.frp-comments-remove-attachment {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: background 0.2s ease;
}

.frp-comments-remove-attachment:hover {
    background: rgba(0, 0, 0, 0.8);
}

.frp-comments-input {
    flex: 1;
    min-height: 44px;
    max-height: 120px;
    padding: 12px 16px;
    border: 1px solid var(--border-light);
    border-radius: 24px;
    background-color: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    resize: none;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.5;
    transition: all 0.2s ease;
    outline: none;
}

.frp-comments-input:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(67, 97, 238, 0.1);
}

.frp-comments-input::placeholder {
    color: var(--text-muted);
}

/* Input Actions */
.frp-comments-input-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
}

.frp-comments-action-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: none;
    border: none;
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: relative;
}

.frp-comments-action-btn:hover {
    background-color: var(--bg-tertiary);
    color: var(--text-primary);
    transform: scale(1.1);
}

.frp-comments-action-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background-color: #FF9800;
    color: white;
    font-size: 10px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
}

/* Send Button */
.frp-comments-send-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.frp-comments-send-btn:hover:not(:disabled) {
    transform: scale(1.05);
    background: var(--primary-dark);
}

.frp-comments-send-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: var(--border-light);
}

/* Picker Overlays */
.frp-comments-picker {
    position: absolute;
    bottom: 70px;
    left: 15px;
    right: 15px;
    background: var(--bg-card);
    border-radius: 16px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    padding: 15px;
    z-index: 100;
    animation: fadeInUp 0.2s ease;
    border: 1px solid var(--border-light);
    max-width: 320px;
    max-height: 300px;
    overflow: hidden;
    display: none;
}
/* ==================== EMOJI DISPLAY FIXES ==================== */

/* Fix emoji rendering in buttons */
.frp-emoji-btn,
.frp-comments-emoji-btn {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Android Emoji", "EmojiOne Color", "EmojiSymbols", "Symbola", sans-serif;
    font-size: 24px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: all 0.2s ease !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

/* Fix emoji in emoji grid */
.frp-emoji-grid .frp-emoji-btn,
.frp-comments-emoji-picker .frp-emoji-grid .frp-comments-emoji-btn {
    font-size: 28px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 8px !important;
}

/* Fix emoji hover effects */
.frp-emoji-btn:hover,
.frp-comments-emoji-btn:hover {
    background-color: var(--bg-tertiary) !important;
    transform: scale(1.2) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Fix emoji in category buttons */
.frp-emoji-category-btn {
    font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Android Emoji", "EmojiOne Color", "EmojiSymbols", "Symbola", sans-serif;
    font-size: 20px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: none !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

.frp-emoji-category-btn.active {
    background-color: var(--primary) !important;
    color: white !important;
    border-color: var(--primary) !important;
}

/* Fix emoji in comment text */
.frp-comment-text {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji";
    font-size: 14px;
    line-height: 1.4;
    color: var(--text-primary);
    margin-bottom: 8px;
    word-break: break-word;
    white-space: pre-wrap;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Fix emoji in input */
.frp-comments-input,
.frp-comment-input {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji";
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Fix for Windows Chrome emoji rendering */
@media all and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
    .frp-emoji-btn,
    .frp-comments-emoji-btn,
    .frp-emoji-category-btn,
    .frp-comment-text,
    .frp-comments-input {
        -webkit-text-stroke: 0.5px transparent;
    }
}

/* Fix for high DPI displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .frp-emoji-btn,
    .frp-comments-emoji-btn {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Fix for Firefox */
@-moz-document url-prefix() {
    .frp-emoji-btn,
    .frp-comments-emoji-btn,
    .frp-emoji-category-btn {
        font-size: 22px !important;
    }
}

/* Fix emoji grid layout */
.frp-emoji-grid {
    display: grid !important;
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 8px !important;
    padding: 8px !important;
    max-height: 200px !important;
    overflow-y: auto !important;
    align-items: center !important;
    justify-items: center !important;
}

.frp-comments-emoji-picker .frp-emoji-grid {
    grid-template-columns: repeat(8, 1fr) !important;
}

@media (max-width: 576px) {
    .frp-emoji-grid {
        grid-template-columns: repeat(6, 1fr) !important;
    }
    
    .frp-comments-emoji-picker .frp-emoji-grid {
        grid-template-columns: repeat(6, 1fr) !important;
    }
}

/* Ensure emoji buttons are properly sized */
.frp-emoji-grid .frp-emoji-btn {
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
}

/* Fix emoji picker container */
.frp-emoji-picker,
.frp-comments-emoji-picker {
    background: var(--bg-card) !important;
    border: 1px solid var(--border-light) !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
    padding: 12px !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Fix emoji category selector */
.frp-emoji-categories {
    display: flex !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid var(--border-light) !important;
    justify-content: center !important;
}

/* Specific fix for blurry emoji issue */
.frp-emoji-btn,
.frp-comments-emoji-btn {
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    perspective: 1000 !important;
    -webkit-perspective: 1000 !important;
}

/* Add CSS for smooth emoji rendering */
.frp-emoji-btn span,
.frp-comments-emoji-btn span {
    display: inline-block !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
}

/* Fix for emoji font loading */
@font-face {
    font-family: 'Twemoji Mozilla';
    src: url('https://twemoji.maxcdn.com/v/latest/72x72/1f600.png') format('png');
    unicode-range: U+1F600;
}

/* Alternative: Use background images for emoji */
.frp-emoji-btn.emoji-img,
.frp-comments-emoji-btn.emoji-img {
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    font-size: 0 !important;
    color: transparent !important;
}

/* If emoji are still blurry, use this fallback method */
.frp-emoji-btn:not(:empty),
.frp-comments-emoji-btn:not(:empty) {
    text-shadow: 0 0 1px rgba(0,0,0,0.1) !important;
}

/* Fix for dark mode emoji */
.dark-mode .frp-emoji-btn,
.dark-mode .frp-comments-emoji-btn {
    filter: brightness(1.1) !important;
    text-shadow: 0 0 1px rgba(255,255,255,0.1) !important;
}

/* Gift Picker */
.frp-comments-gift-picker .frp-gift-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    max-height: 240px;
    overflow-y: auto;
    padding: 8px;
}

.frp-comments-gift-option {
    background: var(--bg-secondary);
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
}

.frp-comments-gift-option:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.frp-comments-gift-option.selected {
    border-color: #FF9800;
    background: rgba(255, 152, 0, 0.1);
}

.frp-comments-gift-icon {
    font-size: 32px;
    margin-bottom: 8px;
    color: #FF9800;
}

.frp-comments-gift-name {
    font-size: 12px;
    color: var(--text-primary);
    margin-bottom: 4px;
    font-weight: 600;
}

.frp-comments-gift-price {
    font-size: 11px;
    color: var(--text-muted);
}

/* Loading States */
.frp-comments-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 15px;
    color: var(--text-muted);
}

.frp-comments-loading-spinner {
    width: 50px;
    height: 50px;
    border: 3px solid var(--border-light);
    border-top-color: var(--primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: 15px;
}

.frp-comments-loading-text {
    margin-top: 16px;
    color: var(--text-muted);
    font-size: 14px;
}

/* Empty State */
.frp-comments-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 15px;
    text-align: center;
}

.frp-comments-empty-icon {
    font-size: 60px;
    color: var(--border-light);
    margin-bottom: 20px;
}

.frp-comments-empty-title {
    color: var(--text-secondary);
    font-size: 18px;
    margin-bottom: 8px;
}

.frp-comments-empty-text {
    color: var(--text-muted);
    font-size: 14px;
    max-width: 300px;
    line-height: 1.5;
}

/* Animations */
@keyframes heartBeat {
    0% { transform: scale(1); }
    25% { transform: scale(1.3); }
    50% { transform: scale(1); }
    75% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

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

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

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

/* ==================== RESPONSIVE BEHAVIOR ==================== */

/* Desktop: Sidebar-style comments */
@media (min-width: 993px) {
    .frp-comments-interface {
        width: 400px;
        max-width: 400px;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 10000;
        box-shadow: -4px 0 6px -1px rgba(0, 0, 0, 0.1);
        border-left: 1px solid var(--border-light);
        transform: translateX(100%);
    }
    
    .frp-comments-interface.active {
        transform: translateX(0);
    }
    
    /* Adjust main content when comments are open */
    .frp-comments-interface.active ~ .frp-main-content {
        margin-right: 400px;
        transition: margin-right 0.3s ease;
    }
}

/* Tablet: Medium overlay */
@media (max-width: 992px) and (min-width: 577px) {
    .frp-comments-interface {
        width: 500px;
        max-width: 90%;
        right: 0;
        top: 0;
        bottom: 0;
        border-radius: 16px 0 0 16px;
        box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
    }
    
    .frp-comments-back-btn {
        display: flex;
    }
    
    /* Overlay background when comments are open */
    .frp-comments-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 9999;
        display: none;
    }
    
    .frp-comments-interface.active ~ .frp-comments-overlay {
        display: block;
    }
}

/* Mobile: Full screen like chat */
@media (max-width: 576px) {
    .frp-comments-interface {
        width: 100%;
        max-width: 100%;
        right: 0;
        top: 0;
        bottom: 0;
        border-radius: 0;
        border-left: none;
        transform: translateX(100%);
        z-index: 10000;
    }
    
    .frp-comments-interface.active {
        transform: translateX(0);
    }
    
    .frp-comments-header {
        padding: 12px;
        min-height: 56px;
    }
    
    .frp-comments-back-btn {
        margin-right: 8px;
    }
    
    .frp-comments-program-thumbnail {
        width: 36px;
        height: 36px;
    }
    
    .frp-comments-program-title {
        font-size: 13px;
    }
    
    .frp-comments-comment-count {
        font-size: 11px;
    }
    
    .frp-comments-list-wrapper {
        padding: 12px;
    }
    
    .frp-comments-input-area {
        padding: 12px;
    }
    
    .frp-comments-send-btn {
        width: 40px;
        height: 40px;
    }
    
    .frp-comments-action-btn {
        width: 32px;
        height: 32px;
    }
    
    .frp-comments-input {
        min-height: 40px;
        font-size: 13px;
    }
    
    .frp-comments-picker {
        bottom: 60px;
        left: 12px;
        right: 12px;
        max-width: none;
    }
    
    .frp-comments-emoji-picker .frp-emoji-grid {
        grid-template-columns: repeat(6, 1fr);
    }
    
    .frp-comments-gift-picker .frp-gift-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Prevent body scroll when comments are open on mobile */
    .frp-comments-interface.active {
        position: fixed;
    }
    
    body.frp-comments-open {
        overflow: hidden;
    }
}

/* Extra Small Mobile */
@media (max-width: 375px) {
    .frp-comments-interface {
        width: 100%;
    }
    
    .frp-comments-emoji-picker .frp-emoji-grid {
        grid-template-columns: repeat(5, 1fr);
    }
    
    .frp-comments-gift-picker .frp-gift-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }
    
    .frp-comments-gift-option {
        padding: 8px;
    }
    
    .frp-comments-gift-icon {
        font-size: 24px;
    }
}

/* Custom scrollbar for comments */
.frp-comments-list-wrapper::-webkit-scrollbar {
    width: 6px;
}

.frp-comments-list-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

.frp-comments-list-wrapper::-webkit-scrollbar-thumb {
    background: var(--border-medium);
    border-radius: 3px;
}

.frp-comments-list-wrapper::-webkit-scrollbar-thumb:hover {
    background: var(--border-dark);
}

/* Smooth scrolling for comments */
.frp-comments-list-wrapper {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* RTL Support */
[dir="rtl"] .frp-comments-interface {
    right: auto;
    left: 0;
    border-left: none;
    border-right: 1px solid var(--border-light);
    transform: translateX(-100%);
    box-shadow: 4px 0 6px -1px rgba(0, 0, 0, 0.1);
}

[dir="rtl"] .frp-comments-interface.active {
    transform: translateX(0);
}

[dir="rtl"] .frp-comments-back-btn {
    margin-right: 0;
    margin-left: 10px;
    transform: rotate(180deg);
}

[dir="rtl"] .frp-comments-actions {
    margin-left: 0;
    margin-right: 10px;
}

[dir="rtl"] .frp-comment-item.reply {
    margin-left: 0;
    margin-right: 48px;
}

[dir="rtl"] .frp-comment-item.reply::before {
    left: auto;
    right: -24px;
}

[dir="rtl"] .frp-comment-avatar {
    order: 1;
}

[dir="rtl"] .frp-comment-content {
    order: 0;
}

[dir="rtl"] .frp-comment-replies {
    padding-left: 0;
    padding-right: 12px;
    border-left: none;
    border-right: 2px solid var(--border-light);
}

[dir="rtl"] .frp-comment-more {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .frp-comment-more-menu {
    right: auto;
    left: 0;
}

/* Print Styles */
@media print {
    .frp-comments-interface {
        display: none !important;
    }
}
/* Program Type Colors */
.frp-program-comment-type.donation {
    background: linear-gradient(135deg, #4361ee, #3a56d4);
}

.frp-program-comment-type.giveaway {
    background: linear-gradient(135deg, #f72585, #b5179e);
}
.frp-program-comment-type.raffle {
    background: linear-gradient(135deg, #b5179e)
} 

/* Comment attachment styling */
.frp-comment-media {
    margin-top: 10px;
    margin-bottom: 10px;
}

.frp-comment-media img {
    max-width: 100%;
    max-height: 200px;
    border-radius: 8px;
    border: 1px solid var(--border-light);
}

.frp-comment-media video {
    max-width: 100%;
    max-height: 200px;
    border-radius: 8px;
    border: 1px solid var(--border-light);
}

.frp-attachment-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: var(--bg-tertiary);
    border-radius: 6px;
    color: var(--text-primary);
    text-decoration: none;
    border: 1px solid var(--border-light);
}

.frp-attachment-link:hover {
    background: var(--border-light);
}

/* Gift styling */
.frp-comment-gift {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px;
    padding: 10px;
    background: linear-gradient(135deg, #fceabb 0%,#fccd4d 100%);
    border-radius: 8px;
    border: 1px solid #f0b429;
}

.frp-gift-icon {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: white;
    border-radius: 50%;
    color: #f0b429;
}

.frp-gift-details {
    flex: 1;
}

.frp-gift-name {
    font-weight: 600;
    color: #8a6d3b;
    display: block;
    font-size: 0.9rem;
}

.frp-gift-value {
    font-size: 0.8rem;
    color: #8a6d3b;
    opacity: 0.8;
}

/* require modification */
/* Enhanced Program Card Styles */
.frp-program-card-enhanced {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: all var(--transition);
    border: 1px solid var(--border-light);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-top: 25px;
}

.frp-program-card-enhanced:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--program-color);
}

/* Program Header */
.frp-program-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 8px;
    background: var(--program-light-color);
    border-bottom: 1px solid var(--border-light);
    position: relative;
    z-index: 2;
}

.frp-program-type-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: var(--radius);
    color: white;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.frp-status-badge {
    padding: 4px 10px;
    border-radius: var(--radius);
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 4px;
}

.frp-status-badge.active {
    background: rgba(16, 185, 129, 0.1);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.frp-status-badge.completed {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
    border: 1px solid rgba(59, 130, 246, 0.2);
}

.frp-program-flags {
    display: flex;
    gap: 6px;
    margin-left: auto;
}

.frp-featured-badge,
.frp-trending-badge,
.frp-verified-badge {
    padding: 2px 8px;
    border-radius: 20px;
    font-size: 0.65rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
}

.frp-featured-badge {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    color: white;
}

.frp-trending-badge {
    background: linear-gradient(135deg, #ef4444, #dc2626);
    color: white;
}

.frp-verified-badge {
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
}

/* Program Cover */
.frp-program-cover {
    position: relative;
    height: 200px;
    overflow: hidden;
}

.frp-program-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition);
}

.frp-program-card-enhanced:hover .frp-program-cover img {
    transform: scale(1.05);
}

.frp-cover-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    padding: 20px;
    display: flex;
    align-items: flex-end;
}

.frp-overlay-progress {
    width: 100%;
}

.frp-overlay-progress-bar {
    height: 6px;
    background: rgba(255,255,255,0.2);
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 8px;
}

.frp-overlay-progress-fill {
    height: 100%;
    background: var(--program-gradient);
    transition: width 1s ease;
}

.frp-overlay-percentage {
    color: white;
    font-size: 1.5rem;
    font-weight: 700;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.frp-quick-stats-overlay {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    gap: 8px;
    background: rgba(0,0,0,0.7);
    backdrop-filter: blur(4px);
    border-radius: var(--radius);
    padding: 6px 10px;
}

.frp-quick-stat {
    display: flex;
    align-items: center;
    gap: 4px;
    color: white;
    font-size: 0.75rem;
}

.frp-quick-stat i {
    font-size: 0.7rem;
    opacity: 0.8;
}

/* Program Content */
.frp-program-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
}

.frp-program-title-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.frp-program-title {
    font-size: 1.00rem;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0 !important;
	padding: 0 !important;
    flex: 1;
}

.frp-program-category {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: var(--bg-tertiary);
    border-radius: var(--radius);
    font-size: 0.75rem;
    color: var(--text-secondary);
    white-space: nowrap;
}

/* Creator Styles */
.frp-creator-avatar-link {
    text-decoration: none;
}

.frp-creator-avatar {
    position: relative;
    width: 48px;
    height: 48px;
    border-radius: var(--radius-full);
    overflow: hidden;
    border: 2px solid var(--program-color);
}

.frp-creator-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.frp-verified-badge-small {
    position: absolute;
    bottom: -2px;
    right: -2px;
    background: var(--program-color);
    color: white;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    border: 2px solid var(--bg-card);
}

/* Progress Styles */
.frp-progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.875rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.frp-raised-amount {
    font-weight: 600;
    color: var(--program-color);
}

.frp-progress-percentage {
    font-weight: 600;
    color: var(--text-primary);
}

.frp-progress-bar {
    height: 8px;
    background: var(--bg-tertiary);
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 6px;
}

.frp-progress-fill {
    height: 100%;
    background: var(--program-gradient);
    border-radius: 4px;
    transition: width 1s ease;
}

.frp-progress-target {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Countdown Timer */
.frp-countdown-timer {
    border-radius: var(--radius);
    padding: 12px;
	margin-left:10px !important;
}

.frp-timer-header {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.575rem;
    color: var(--text-secondary);
}

.frp-timer-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.frp-timer-unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 40px;
}

.frp-timer-value {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--program-color);
    font-variant-numeric: tabular-nums;
}

.frp-timer-label {
    font-size: 0.45rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.frp-timer-separator {
    font-size: 1.0rem;
    font-weight: 500;
    color: var(--text-muted);
    margin: 0 2px;
    padding-bottom: 8px;
}

.frp-timer-ended {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* Stats Grid */
.frp-program-stats-grid {
    display: flex;
   justify-content: space-between;
    margin: 12px 0;
}

.frp-stat-item {
    background: var(--bg-secondary);
    border-radius: var(--radius);
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all var(--transition-fast);
}

.frp-stat-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-sm);
}

.frp-stat-item i {
    font-size: 1rem;
    color: var(--program-color);
}

.frp-stat-content {
    display: flex;
    flex-direction: column;
}

.frp-stat-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.frp-stat-label {
    font-size: 0.7rem;
    color: var(--text-muted);
    margin-top: 2px;
}

.frp-user-stats {
    grid-column: span 4;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px dashed var(--border-light);
}

.frp-user-stat {
    background: rgba(var(--program-color-rgb), 0.05);
    border: 1px solid rgba(var(--program-color-rgb), 0.1);
    border-radius: var(--radius);
    padding: 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.frp-user-stat i {
    color: var(--program-color);
}

/* Program Actions */
.frp-program-actions {
    display: flex;
    gap: 8px;
    margin-top: auto;
    padding-top: 16px;
    border-top: 1px solid var(--border-light);
}

.frp-action-btn-small {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-light);
    border-radius: var(--radius);
    color: var(--text-secondary);
    font-size: 0.75rem;
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-decoration: none;
}

.frp-action-btn-small:hover {
    background: var(--bg-tertiary);
    color: var(--text-primary);
    border-color: var(--border-medium);
}

.frp-action-btn-small.active {
    background: var(--program-color);
    color: white;
    border-color: var(--program-color);
}

.frp-btn-primary {
    background: var(--program-gradient) !important;
    color: white !important;
    border: none !important;
    font-weight: 600 !important;
}

.frp-btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-1px) !important;
}

/* Meta Information */
.frp-program-meta {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--border-light);
}

.frp-meta-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.75rem;
    color: var(--text-muted);
}

.frp-meta-item i {
    width: 14px;
    text-align: center;
}

.frp-tags {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.frp-tag {
    background: var(--bg-tertiary);
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 0.7rem;
    color: var(--text-secondary);
}

/* Responsive Design */
@media (max-width: 768px) {
    .frp-program-stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .frp-program-actions {
        flex-wrap: wrap;
    }
    
    .frp-program-title-section {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .frp-timer-display {
        gap: 2px;
    }
    
    .frp-timer-unit {
        min-width: 32px;
    }
    
    .frp-timer-value {
        font-size: 1.2rem;
    }
}

/* Animation for countdown */
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.frp-timer-ending {
    animation: pulse 1s infinite;
    color: var(--danger) !important;
}
.frp-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center; /* optional: vertically center */
  width: 100%;         /* ensures space exists to distribute */
}
