/* Profile Page Styles */

/* Layout */
.profile-container {
    padding-top: 4vw;
    padding-bottom: 1.5vw;
    min-height: 100vh;
    margin-left: 4.5vw; /* sidebar width */
    margin-right: 0;
    box-sizing: border-box;
}

.profile-content {
    padding-left: 1.5vw; /* отступ от sidebar */
    padding-right: 0;
    margin-right: 1.5vw; /* отступ справа равен отступу от sidebar слева */
    box-sizing: border-box;
}

.profile-layout-wrapper {
    display: grid;
    grid-template-columns: 18vw 1fr 18vw;
    gap: 1vw;
    align-items: start;
}

.profile-left-section {
    display: flex;
    flex-direction: column;
    gap: 1vw;
}

.profile-info-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5vw;
    background-color: #ffffff;
    border-radius: 0.8vw;
    border: 0.069vw solid #e5e7eb;
}

.profile-info-separator {
    height: 0.1vw;
    background-color: #e5e7eb;
    margin: 1vw 0;
    width: 100%;
}

.profile-info-social-links {
    display: flex;
    justify-content: center;
    gap: 0.5vw;
    width: 100%;
    flex-wrap: wrap;
}

.profile-info-social-link {
    width: 2vw;
    height: 2vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    color: #555555;
    text-decoration: none;
    transition: all 0.2s;
    font-size: 0.9vw;
}

.profile-info-social-link:hover {
    background-color: #e5e7eb;
    transform: translateY(-0.138vw);
    color: #1a1a1a;
}

.profile-info-social-link.twitter:hover {
    background-color: #1DA1F2;
    color: white;
}

.profile-info-social-link.instagram:hover {
    background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);
    color: white;
}

.profile-info-social-link.youtube:hover {
    background-color: #FF0000;
    color: white;
}

.profile-info-social-link.discord:hover {
    background-color: #5865F2;
    color: white;
}

.profile-info-social-link.facebook:hover {
    background-color: #1877F2;
    color: white;
}

.profile-info-social-link.tiktok:hover {
    background-color: #000000;
    color: white;
}

.profile-navigation-container {
    padding: 1vw;
    background-color: #ffffff;
    border-radius: 0.8vw;
    border: 0.069vw solid #e5e7eb;
    overflow: hidden;
}

.profile-actions-separator {
    height: 0.1vw;
    background-color: #e5e7eb;
    margin: 0.5vw 0;
    width: 100%;
}

.profile-center-section {
    min-height: 75vh;
    background-color: #ffffff;
    border-radius: 0.6vw;
    border: 0.06vw solid #e2e5ea;
    overflow: hidden;
}

.profile-center-section .tab-content {
    padding: 1.2vw 1.5vw;
}

.profile-right-section {
    position: sticky;
    top: 6.906vw;
    display: flex;
    flex-direction: column;
    gap: 1.381vw;
}

/* Profile Info Container */
.profile-avatar-wrapper {
    position: relative;
    width: 11.2vw;
    height: 11.2vw;
    margin: 0 auto 1vw;
}

.profile-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: 0 0.691vw 1.036vw rgba(0, 0, 0, 0.1);
    border: 0.207vw solid #ffffff;
    transition: opacity 0.3s ease;
}

.profile-avatar-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    box-shadow: 0 0.691vw 1.036vw rgba(0, 0, 0, 0.1);
    border: 0.207vw solid #ffffff;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.profile-avatar-video.playing {
    opacity: 1;
    pointer-events: auto;
}

.profile-info-main {
    display: flex;
    flex-direction: column;
    gap: 0.8vw;
    width: 100%;
    align-items: center;
}

.user-name-container {
    display: flex;
    flex-direction: column;
    gap: 0.3vw;
    align-items: center;
    width: 100%;
}

.user-name-row {
    display: flex;
    align-items: center;
    gap: 0.5vw;
    flex-wrap: wrap;
    justify-content: center;
}

.user-name {
    font-size: 1.3vw;
    font-weight: 700;
    margin: 0;
    color: #1a1a1a;
}

.user-badges {
    display: flex;
    gap: 0.552vw;
    align-items: center;
}

.badge {
    width: 1.519vw;
    height: 1.519vw;
    border-radius: 50%;
    background-color: #6366F1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 0.829vw;
}

.badge.vip {
    background-color: #FFD700;
    color: #000;
}

.badge.admin {
    background-color: #EC4899;
}

.badge.moderator {
    background-color: #10B981;
}

.user-username {
    font-size: 0.85vw;
    color: rgba(0, 0, 0, 0.5);
    margin: 0;
    font-weight: 500;
}

.user-description {
    color: rgba(0, 0, 0, 0.7);
    font-size: 0.8vw;
    line-height: 1.4;
    margin: 0;
    width: 100%;
    text-align: center;
}

.user-description.empty {
    color: rgba(0, 0, 0, 0.5);
    font-style: italic;
}

/* Profile Tabs */
.profile-tabs-container {
    background-color: #ffffff;
    border-radius: 1.105vw;
    overflow: visible;
    border: 0.069vw solid #e5e7eb;
    min-height: 27.624vw;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0.069vw 0.207vw rgba(0, 0, 0, 0.1);
}

.profile-tabs-container .profile-header {
    margin-bottom: 0;
    margin-left: 0;
    padding: 2.072vw 1.727vw 1.727vw 1.727vw;
    border-bottom: 0.069vw solid #e5e7eb;
}

.profile-tabs-container .profile-avatar-wrapper {
    margin-left: 2.072vw !important;
}

.profile-tabs-container .profile-tabs {
    border-bottom: 0.069vw solid #e5e7eb;
}

.tabs-container {
    display: flex;
    flex-direction: column;
    gap: 0.3vw;
    padding: 0;
    width: 100%;
}

.tab {
    padding: 0.7vw 0.9vw;
    font-size: 0.8vw;
    font-weight: 500;
    color: #555555;
    background: none;
    border: none;
    border-radius: 0.5vw;
    cursor: pointer;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    gap: 0.6vw;
    width: 100%;
    text-align: left;
    text-decoration: none;
    font-family: inherit;
    box-sizing: border-box;
}

.tab span {
    font-size: 0.8vw;
    font-weight: 500;
}

.tab:hover {
    color: #1a1a1a;
    background-color: rgba(0, 0, 0, 0.04);
}

.tab.active {
    color: #6366F1;
    background-color: rgba(99, 102, 241, 0.1);
}

.tab i {
    font-size: 1vw;
    width: 1vw;
    height: 1vw;
}

.tab-content {
    padding: 1.5vw;
    flex: 1;
}

.tab-pane {
    display: none;
    width: 100%;
    opacity: 0;
    transform: translateY(0.691vw);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: opacity, transform;
}

.tab-pane.active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.tab-pane.exiting {
    opacity: 0;
    transform: translateY(-0.691vw);
}

.empty-state {
    text-align: center;
    padding: 8.287vw 1.381vw;
    color: #777777;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 20.718vw;
}

.empty-state i {
    font-size: 3.315vw;
    margin-bottom: 1.036vw;
    opacity: 0.5;
    color: #6366F1;
}

.empty-state p {
    font-size: 1.036vw;
    margin: 0;
}

/* Sidebar Styles */
/* Profile Ad Container */
.profile-ad-container {
    position: sticky;
    top: 6.906vw;
    width: 100%;
}

.level-circle-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 1.243vw;
    font-weight: 700;
    color: #0f172a;
}

/* XP Info */
.level-xp-info {
    margin-bottom: 1.657vw;
}

.level-xp-values {
    display: flex;
    justify-content: space-between;
    font-size: 0.967vw;
    color: #475569;
    margin-bottom: 0.829vw;
}

.level-xp-number {
    font-weight: 600;
    color: #0f172a;
}

.level-progress-bar {
    position: relative;
    height: 0.552vw;
    background: #e2e8f0;
    border-radius: 690.539vw;
    overflow: hidden;
    margin-bottom: 0.829vw;
}

.level-progress-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #0f172a;
    border-radius: 690.539vw;
    transition: width 1s ease-out;
}

.level-xp-needed {
    font-size: 0.967vw;
    color: #64748b;
    text-align: center;
    margin: 0;
}

.level-xp-needed-value {
    font-weight: 600;
    color: #334155;
}

/* Level Card Buttons */
.level-card-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.552vw;
    margin-top: 1.657vw;
}

.level-card-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.552vw;
    padding: 0.691vw 0.829vw;
    border-radius: 0.829vw;
    font-size: 0.967vw;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
}

.level-card-btn-primary {
    background: linear-gradient(to right, #7c3aed, #8b5cf6);
    color: white;
    box-shadow: 0 0.276vw 0.414vw rgba(124, 58, 237, 0.2);
}

.level-card-btn-primary:hover {
    background: linear-gradient(to right, #6d28d9, #7c3aed);
    transform: translateY(-0.069vw) scale(1.03);
    box-shadow: 0 0.414vw 0.552vw rgba(124, 58, 237, 0.3);
}

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

.level-card-btn-secondary {
    background-color: #0f172a;
    color: #ffffff;
    box-shadow: 0 0.276vw 0.414vw rgba(15, 23, 42, 0.2);
}

.level-card-btn-secondary:hover {
    background-color: rgba(15, 23, 42, 0.9);
    transform: translateY(-0.069vw) scale(1.03);
    box-shadow: 0 0.414vw 0.552vw rgba(15, 23, 42, 0.3);
}

.level-card-btn-secondary:active {
    transform: scale(0.98);
}

.level-card-btn i {
    font-size: 1.105vw;
}

/* Vice Coins Balance Card */
.vice-coins-card {
    position: relative;
    background-color: #ffffff;
    border-radius: 1.105vw;
    padding: 1.381vw 1.381vw 1.105vw 1.381vw;
    box-shadow: 0 0.069vw 0.207vw rgba(0, 0, 0, 0.1);
    border: 0.069vw solid rgba(0, 0, 0, 0.1);
    animation: fadeInUp 0.6s ease-out 0.2s both;
}

.vice-coins-help-btn {
    position: absolute;
    top: 1.105vw;
    right: 1.105vw;
    background: none;
    border: none;
    color: #717182;
    cursor: pointer;
    font-size: 1.381vw;
    padding: 0;
    width: 1.381vw;
    height: 1.381vw;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, transform 0.2s;
}

.vice-coins-help-btn:hover {
    color: #0f172a;
    transform: scale(1.1) rotate(15deg);
}

.vice-coins-help-btn:active {
    transform: scale(0.95);
}

.vice-coins-header {
    display: flex;
    align-items: center;
    gap: 0.829vw;
    margin-bottom: 1.105vw;
}

.vice-coins-icon {
    width: 3.867vw;
    height: 3.867vw;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.138vw;
}

.vice-coins-icon-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.vice-coins-balance-info {
    flex: 1;
}

.vice-coins-label {
    font-size: 0.829vw;
    color: #717182;
    margin: 0 0 0.138vw 0;
    font-weight: 400;
}

.vice-coins-amount {
    display: flex;
    align-items: baseline;
    gap: 0.414vw;
}

.vice-coins-number {
    font-size: 2.072vw;
    font-weight: 700;
    color: #0f172a;
    letter-spacing: -0.035vw;
    line-height: 1;
}

.vice-coins-unit {
    font-size: 0.967vw;
    color: #717182;
    font-weight: 500;
}

.vice-coins-buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.552vw;
}

.vice-coins-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.552vw;
    padding: 0.691vw 0.829vw;
    border-radius: 0.829vw;
    font-size: 0.967vw;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    border: none;
    cursor: pointer;
}

.vice-coins-btn-primary {
    background: linear-gradient(to right, #7c3aed, #8b5cf6);
    color: white;
    box-shadow: 0 0.276vw 0.414vw rgba(124, 58, 237, 0.2);
}

.vice-coins-btn-primary:hover {
    background: linear-gradient(to right, #6d28d9, #7c3aed);
    transform: translateY(-0.069vw) scale(1.03);
    box-shadow: 0 0.414vw 0.552vw rgba(124, 58, 237, 0.3);
}

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

.vice-coins-btn-secondary {
    background-color: #0f172a;
    color: #ffffff;
    box-shadow: 0 0.276vw 0.414vw rgba(15, 23, 42, 0.2);
}

.vice-coins-btn-secondary:hover {
    background-color: rgba(15, 23, 42, 0.9);
    transform: translateY(-0.069vw) scale(1.03);
    box-shadow: 0 0.414vw 0.552vw rgba(15, 23, 42, 0.3);
}

.vice-coins-btn-secondary:active {
    transform: scale(0.98);
}

.vice-coins-btn i {
    font-size: 1.105vw;
}

.vice-coins-stats {
    margin-top: 1.381vw;
    margin-bottom: 1.381vw;
    display: flex;
    flex-direction: column;
    gap: 0.414vw;
}

.vice-coins-stat-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    animation: fadeIn 0.4s ease-out both;
}

.vice-coins-stat-row:nth-child(1) {
    animation-delay: 0.4s;
}

.vice-coins-stat-row:nth-child(2) {
    animation-delay: 0.5s;
}

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

.vice-coins-stat-label {
    font-size: 0.829vw;
    color: #717182;
    font-weight: 400;
}

.vice-coins-stat-value {
    font-weight: 700;
    color: #0f172a;
    font-size: 0.967vw;
}

.vice-coins-status {
    display: flex;
    align-items: center;
    gap: 0.414vw;
}

.vice-coins-status-dot {
    width: 0.414vw;
    height: 0.414vw;
    border-radius: 50%;
    background-color: #8b5cf6;
    animation: pulse 2s ease-in-out infinite;
}

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

.vice-coins-status-text {
    font-weight: 700;
    font-size: 0.967vw;
}

/* Business Level Colors - Beginner */
.business-level-beginner .vice-coins-status-dot {
    background-color: #9ca3af;
}

.business-level-beginner .vice-coins-status-text {
    color: #9ca3af;
}

/* Business Level Colors - Worker */
.business-level-worker .vice-coins-status-dot {
    background-color: #60a5fa;
}

.business-level-worker .vice-coins-status-text {
    color: #60a5fa;
}

/* Business Level Colors - Manager */
.business-level-manager .vice-coins-status-dot {
    background-color: #34d399;
}

.business-level-manager .vice-coins-status-text {
    color: #34d399;
}

/* Business Level Colors - Leader */
.business-level-leader .vice-coins-status-dot {
    background-color: #8b5cf6;
}

.business-level-leader .vice-coins-status-text {
    color: #8b5cf6;
}

/* Business Level Colors - Businessman */
.business-level-businessman .vice-coins-status-dot {
    background-color: #f59e0b;
    box-shadow: 0 0 0.552vw rgba(245, 158, 11, 0.5);
}

.business-level-businessman .vice-coins-status-text {
    color: #f59e0b;
}

/* Business Level Colors - Millionaire */
.business-level-millionaire .vice-coins-status-dot {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    box-shadow: 0 0 0.829vw rgba(251, 191, 36, 0.6);
    animation: pulseGold 2s ease-in-out infinite;
}

.business-level-millionaire .vice-coins-status-text {
    background: linear-gradient(135deg, #fbbf24, #f59e0b);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 800;
}

@keyframes pulseGold {
    0%, 100% {
        opacity: 1;
        box-shadow: 0 0 0.829vw rgba(251, 191, 36, 0.6);
    }
    50% {
        opacity: 0.8;
        box-shadow: 0 0 1.105vw rgba(251, 191, 36, 0.8);
    }
}

/* User Stats Sidebar */
.user-stats-sidebar {
    background-color: #ffffff;
    border-radius: 1.105vw;
    padding: 1.727vw;
    box-shadow: 0 0.069vw 0.207vw rgba(0, 0, 0, 0.1);
    border: 0.069vw solid #e5e7eb;
}

.stats-title {
    font-size: 1.243vw;
    font-weight: 600;
    margin: 0 0 1.381vw 0;
    color: #1a1a1a;
    padding-bottom: 0.691vw;
    border-bottom: 0.069vw solid #e5e7eb;
}

/* Social Links in User Information */
.user-info-social-links {
    display: flex;
    justify-content: center;
    gap: 0.552vw;
    margin-top: 1.381vw;
    padding-top: 1.381vw;
    border-top: 0.069vw solid #e5e7eb;
    flex-wrap: wrap;
}

.user-info-social-link {
    width: 2.21vw;
    height: 2.21vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f5f5f5;
    color: #555555;
    text-decoration: none;
    transition: all 0.2s;
    font-size: 0.967vw;
}

.user-info-social-link:hover {
    transform: translateY(-0.138vw);
    color: white;
}

.user-info-social-link.instagram:hover {
    background-color: #E4405F;
}

.user-info-social-link.discord:hover {
    background-color: #5865F2;
}

.user-info-social-link.twitter:hover {
    background-color: #1DA1F2;
}

.user-info-social-link.youtube:hover {
    background-color: #FF0000;
}

.user-info-social-link.facebook:hover {
    background-color: #1877F2;
}

.user-info-social-link.tiktok:hover {
    background-color: #000000;
}

.stat-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.829vw 0;
    border-bottom: 0.069vw solid #f3f4f6;
}

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

.stat-label {
    color: #555555;
    font-size: 0.967vw;
    display: flex;
    align-items: center;
    gap: 0.552vw;
}

.stat-label i {
    width: 1.381vw;
    text-align: center;
    color: #6366F1;
}

.stat-value {
    color: #1a1a1a;
    font-weight: 600;
    font-size: 1.036vw;
}

.stats-value {
    color: #1a1a1a;
    font-weight: 600;
    font-size: 1.036vw;
}

.status-badge {
    padding: 0.276vw 0.691vw;
    border-radius: 690.539vw;
    font-size: 0.829vw;
    font-weight: 600;
    text-transform: uppercase;
}

.status-badge.user {
    background-color: #94A3B8;
    color: white;
}

.status-badge.moderator {
    background-color: #10B981;
    color: white;
}

.status-badge.admin {
    background-color: #EC4899;
    color: white;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(2.072vw);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 70.718vw) {
    .profile-layout-wrapper {
        grid-template-columns: 1fr;
    }
    
    .profile-container {
        margin-left: 0;
        padding-top: 5.525vw;
    }
    
    .profile-right-section {
        position: static;
        order: -1;
    }
    
    .profile-header {
        margin-left: 0;
    }
}

@media (max-width: 53.039vw) {
    .profile-header {
        grid-template-columns: 1fr;
        gap: 1.381vw;
        justify-items: center;
        text-align: center;
        margin-left: 0;
    }
    
    .profile-avatar-wrapper {
        width: 9.669vw;
        height: 9.669vw;
        margin-left: 0 !important;
    }
    
    .profile-top-row {
        flex-direction: column;
        align-items: center;
        gap: 1.036vw;
    }
    
    .user-name-container {
        align-items: center;
    }
    
    .user-name-row {
        justify-content: center;
    }
    
    .profile-content {
        padding: 0 1.381vw;
    }
    
    .user-name {
        font-size: 1.934vw;
    }
    
    .tabs-container {
        padding: 0 1.036vw;
    }
    
    .tab {
        padding: 0.829vw 1.036vw;
        font-size: 0.967vw;
    }
    
    .tab-content {
        padding: 1.381vw;
    }
    
    .profile-level-card {
        border-radius: 1.381vw;
    }
    
    .level-card-content {
        padding: 1.657vw 1.657vw 1.105vw 1.657vw;
    }
    
    .level-value {
        font-size: 3.315vw;
    }
    
    .level-circle-container {
        width: 5.525vw;
        height: 5.525vw;
    }
    
    .level-circle-text {
        font-size: 1.105vw;
    }
}

@media (max-width: 33.149vw) {
    .profile-avatar-wrapper {
        width: 8.287vw;
        height: 8.287vw;
        margin-left: 0 !important;
    }
    
    .level-card-content {
        padding: 1.381vw 1.381vw 0.967vw 1.381vw;
    }
    
    .level-value {
        font-size: 2.762vw;
    }
    
    .level-circle-container {
        width: 4.972vw;
        height: 4.972vw;
    }
    
    .level-circle-text {
        font-size: 0.967vw;
    }
}

/* Edit Profile Section — design (newswire-redesign 7) + slightly larger fonts */
.ep-section {
    width: 100%;
    box-sizing: border-box;
}

.ep-placeholders-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6vw;
    margin-bottom: 0.8vw;
}

.ep-placeholder-card {
    background: #fff;
    border-radius: 0.6vw;
    border: 0.06vw solid #e2e5ea;
    overflow: hidden;
}

.ep-placeholder-inner {
    padding: 1.5vw 1vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.4vw;
}

.ep-placeholder-circle {
    width: 3.5vw;
    height: 3.5vw;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ep-placeholder-circle-avatar {
    background: rgba(79, 110, 247, 0.05);
    border: 0.07vw solid rgba(79, 110, 247, 0.1);
    color: #c0c4cc;
}

.ep-placeholder-circle-avatar i {
    font-size: 1.4vw;
}

.ep-placeholder-circle-theme {
    background: linear-gradient(135deg, rgba(79, 110, 247, 0.06), rgba(139, 92, 246, 0.06));
    border: 0.07vw solid rgba(139, 92, 246, 0.1);
    color: #c0c4cc;
}

.ep-placeholder-circle-theme i {
    font-size: 1.4vw;
}

.ep-placeholder-title {
    font-size: 0.85vw;
    font-weight: 700;
    color: #111318;
}

.ep-coming-soon {
    display: inline-flex;
    align-items: center;
    gap: 0.2vw;
    padding: 0.15vw 0.5vw;
    border-radius: 0.2vw;
    background: rgba(79, 110, 247, 0.06);
    border: 0.06vw solid rgba(79, 110, 247, 0.12);
}

.ep-coming-soon i {
    font-size: 0.5vw;
    color: #4f6ef7;
}

.ep-coming-soon span {
    font-size: 0.6vw;
    font-weight: 600;
    color: #4f6ef7;
}

/* Ep cards */
.ep-card {
    background: #fff;
    border-radius: 0.6vw;
    border: 0.06vw solid #e2e5ea;
    overflow: hidden;
    margin-bottom: 0.8vw;
}

.ep-card-header {
    padding: 0.65vw 0.85vw;
    border-bottom: 0.06vw solid #f0f1f3;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ep-card-header-left {
    display: flex;
    align-items: center;
    gap: 0.35vw;
}

.ep-card-icon {
    width: 0.85vw;
    height: 0.85vw;
    color: #4f6ef7;
    flex-shrink: 0;
}

.ep-card-header-title {
    font-size: 0.82vw;
    font-weight: 600;
    color: #111318;
    text-transform: uppercase;
    letter-spacing: 0.04vw;
}

.ep-card-body {
    padding: 0.65vw 0.85vw;
}

.ep-two-cols {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6vw;
    margin-bottom: 0.6vw;
}

.ep-field {
    display: flex;
    flex-direction: column;
    gap: 0.25vw;
}

.ep-field-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.ep-label {
    font-size: 0.7vw;
    font-weight: 600;
    color: #111318;
}

.ep-char-counter {
    font-size: 0.58vw;
    font-weight: 600;
    color: #a0a5b2;
}

.ep-char-counter.error {
    color: #ef4444;
}

.ep-input {
    width: 100%;
    box-sizing: border-box;
    padding: 0.52vw 0.68vw;
    font-size: 0.78vw;
    font-family: inherit;
    font-weight: 500;
    border: 0.07vw solid #e2e5ea;
    border-radius: 0.35vw;
    outline: none;
    color: #111318;
    background: #fafbfc;
    transition: all 0.2s;
}

.ep-input:focus {
    border-color: #4f6ef7;
    background: #fff;
    box-shadow: 0 0 0 0.12vw rgba(79, 110, 247, 0.08);
}

.ep-input:disabled {
    background: rgba(0, 0, 0, 0.04);
    cursor: not-allowed;
    opacity: 0.8;
}

.ep-username-wrap {
    position: relative;
}

.ep-username-prefix {
    position: absolute;
    left: 0.55vw;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.78vw;
    font-weight: 600;
    color: #a0a5b2;
    pointer-events: none;
}

.ep-username-input {
    padding-left: 1.35vw;
}

.ep-textarea {
    resize: none;
    line-height: 1.5;
    min-height: 4.5vw;
}

.ep-time-remaining {
    font-size: 0.58vw;
    color: #ef4444;
    font-weight: 500;
}

.ep-time-remaining i {
    margin-right: 0.2vw;
}

.ep-error {
    font-size: 0.6vw;
    color: #ef4444;
}

/* Social grid */
.ep-social-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5vw;
}

.ep-social-item {
    border-radius: 0.4vw;
    border: 0.07vw solid #e8eaed;
    overflow: hidden;
    background: #fff;
    transition: all 0.2s;
}

.ep-social-item:hover {
    border-color: #d0d3da;
}

.ep-social-item:focus-within {
    border-color: #4f6ef7;
    box-shadow: 0 0 0 0.12vw rgba(79, 110, 247, 0.06);
}

.ep-social-label-row {
    display: flex;
    align-items: center;
    gap: 0.3vw;
    padding: 0.4vw 0.55vw;
    background: #f8f9fb;
    border-bottom: 0.06vw solid #f0f1f3;
}

.ep-social-icon {
    font-size: 0.75vw;
    width: 1.25vw;
    text-align: center;
    color: #4f6ef7;
}

.ep-social-label {
    font-size: 0.68vw;
    font-weight: 600;
    color: #111318;
}

.ep-social-input {
    margin: 0;
    border: none;
    border-radius: 0;
    padding: 0.42vw 0.58vw;
    font-size: 0.68vw;
}

.ep-social-item .ep-input:focus {
    box-shadow: none;
}

/* Actions */
.ep-actions {
    display: flex;
    flex-direction: column;
    gap: 0.4vw;
}

.ep-save-btn {
    width: 100%;
    padding: 0.62vw 0.88vw;
    border-radius: 0.4vw;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35vw;
    font-size: 0.78vw;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: all 0.25s;
    background: #f0f1f3;
    color: #a0a5b2;
}

.ep-save-btn:not(:disabled) {
    background: #4f6ef7;
    color: #fff;
    cursor: pointer;
}

.ep-save-btn:not(:disabled):hover {
    background: #3b5de7;
}

.ep-save-btn:disabled {
    cursor: not-allowed;
    opacity: 0.7;
}

.ep-save-btn i {
    font-size: 0.75vw;
}

/* ─── Legacy Edit Profile (kept for any includes that still use old classes) ─── */
.edit-profile-section {
    width: 100%;
    box-sizing: border-box;
}

/* Avatar and Theme Selection */
.edit-profile-selectors {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5vw;
    margin-bottom: 2vw;
}

.edit-profile-selector-card {
    background-color: rgba(255, 255, 255, 0.6);
    border: 0.08vw solid rgba(0, 0, 0, 0.08);
    border-radius: 0.6vw;
    padding: 1.5vw;
    transition: all 0.2s ease;
}

.edit-profile-selector-content {
    display: flex;
    align-items: center;
    gap: 1.2vw;
}

.edit-profile-avatar-preview {
    width: 7vw;
    height: 7vw;
    border-radius: 50%;
    overflow: hidden;
    border: 0.15vw solid rgba(139, 92, 246, 0.2);
    flex-shrink: 0;
}

.edit-profile-avatar-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.edit-profile-theme-preview {
    width: 7vw;
    height: 7vw;
    border-radius: 0.5vw;
    border: 0.15vw solid rgba(139, 92, 246, 0.2);
    flex-shrink: 0;
}

.edit-profile-selector-info {
    flex: 1;
}

.edit-profile-selector-title {
    font-size: 0.9vw;
    font-weight: 700;
    color: #0a0a0f;
    margin-bottom: 0.4vw;
    transition: color 0.2s;
}

.edit-profile-selector-desc {
    font-size: 0.7vw;
    color: rgba(0, 0, 0, 0.6);
    margin-bottom: 0.8vw;
    transition: color 0.2s;
}

.edit-profile-selector-btn {
    padding: 0.5vw 1vw;
    font-size: 0.75vw;
    font-weight: 600;
    background-color: rgba(139, 92, 246, 0.1);
    border: 0.08vw solid rgba(139, 92, 246, 0.2);
    border-radius: 0.4vw;
    color: #8b5cf6;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4vw;
    transition: all 0.2s ease;
    font-family: inherit;
}

.edit-profile-selector-btn:hover {
    background-color: rgba(139, 92, 246, 0.15);
}

.edit-profile-selector-btn i {
    font-size: 0.8vw;
}

/* Text Inputs */
.edit-profile-inputs {
    display: flex;
    flex-direction: column;
    gap: 1.2vw;
    width: 100%;
    box-sizing: border-box;
}

.edit-profile-name-username-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5vw;
    width: 100%;
}

.edit-profile-input-group {
    display: flex;
    flex-direction: column;
    gap: 0.5vw;
    width: 100%;
    box-sizing: border-box;
}

.edit-profile-input-group-half {
    flex: 1;
    min-width: 0;
}

.edit-profile-input-label-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.edit-profile-input-label {
    font-size: 1vw;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    transition: color 0.2s;
}

.edit-profile-char-counter {
    font-size: 0.7vw;
    color: rgba(0, 0, 0, 0.5);
    transition: color 0.2s;
}

.edit-profile-char-counter.error {
    color: #ef4444;
}

.edit-profile-input {
    width: 100%;
    padding: 0.5vw 0.8vw;
    font-size: 0.8vw;
    background-color: rgba(255, 255, 255, 0.6);
    border: 0.08vw solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5vw;
    color: #0a0a0f;
    outline: none;
    transition: all 0.2s ease;
    font-family: inherit;
    box-sizing: border-box;
}

.edit-profile-input:focus {
    border-color: #8b5cf6;
    background-color: rgba(139, 92, 246, 0.03);
}

.edit-profile-input:disabled {
    background-color: rgba(0, 0, 0, 0.05);
    cursor: not-allowed;
    opacity: 0.7;
}

.edit-profile-username-wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.edit-profile-username-prefix {
    position: absolute;
    left: 1vw;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8vw;
    color: rgba(0, 0, 0, 0.5);
    pointer-events: none;
    transition: color 0.2s;
}

.edit-profile-username-input {
    padding-left: 1.6vw;
}

.edit-profile-textarea {
    min-height: 5vw;
    resize: none;
    line-height: 1.5;
    width: 100%;
    box-sizing: border-box;
}

.edit-profile-time-remaining {
    color: #ef4444;
    font-size: 0.7vw;
    margin-top: 0.3vw;
    font-weight: 500;
}

.edit-profile-error {
    color: #ef4444;
    font-size: 0.7vw;
    margin-top: 0.3vw;
}

/* Buttons */
.edit-profile-prefs-btn {
    width: 100%;
    padding: 0.7vw 1.2vw;
    font-size: 0.8vw;
    font-weight: 600;
    background-color: rgba(255, 255, 255, 0.6);
    border: 0.08vw solid rgba(0, 0, 0, 0.1);
    border-radius: 0.5vw;
    color: rgba(0, 0, 0, 0.85);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5vw;
    transition: all 0.2s ease;
    font-family: inherit;
    margin-bottom: 0.3vw;
    box-sizing: border-box;
}

.edit-profile-prefs-btn:hover {
    border-color: #8b5cf6;
    background-color: rgba(139, 92, 246, 0.08);
}

.edit-profile-prefs-btn i {
    font-size: 0.9vw;
}

.edit-profile-save-btn {
    width: 100%;
    padding: 0.7vw 1.2vw;
    font-size: 0.8vw;
    font-weight: 600;
    background-color: rgba(139, 92, 246, 0.1);
    border: 0.08vw solid rgba(139, 92, 246, 0.2);
    border-radius: 0.5vw;
    color: #8b5cf6;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5vw;
    transition: all 0.2s ease;
    font-family: inherit;
    margin-top: 0;
    box-sizing: border-box;
}

.edit-profile-save-btn:hover:not(:disabled) {
    background-color: rgba(139, 92, 246, 0.15);
    transform: translateY(-0.1vw);
}

.edit-profile-save-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.edit-profile-save-btn i {
    font-size: 0.9vw;
}

/* Social Media Links */
.edit-profile-social-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1vw;
    margin-top: 0.5vw;
}

.edit-profile-social-item {
    display: flex;
    flex-direction: column;
    gap: 0.4vw;
}

.edit-profile-social-label {
    font-size: 0.75vw;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.7);
    display: flex;
    align-items: center;
    gap: 0.5vw;
}

.edit-profile-social-label i {
    font-size: 0.9vw;
}

/* Modals */
.edit-profile-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.7);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    animation: modalFadeIn 0.2s ease-out;
}

.edit-profile-modal-overlay.active {
    display: flex;
}

.edit-profile-modal {
    background-color: rgba(255, 255, 255, 0.98);
    border: 0.15vw solid rgba(139, 92, 246, 0.2);
    border-radius: 0.8vw;
    padding: 2vw;
    max-width: 50vw;
    width: 100%;
    animation: modalSlideIn 0.25s ease-out;
}

.edit-profile-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5vw;
}

.edit-profile-modal-title {
    font-size: 1.3vw;
    font-weight: 700;
    color: #0a0a0f;
    transition: color 0.2s;
}

.edit-profile-modal-close {
    width: 2vw;
    height: 2vw;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.1);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #0a0a0f;
    transition: all 0.2s ease;
}

.edit-profile-modal-close:hover {
    background-color: rgba(0, 0, 0, 0.15);
}

.edit-profile-modal-close i {
    font-size: 1vw;
}

.edit-profile-avatar-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1vw;
}

.edit-profile-avatar-item {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    border: 0.15vw solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-profile-avatar-item.selected {
    border-color: #8b5cf6;
    transform: scale(1.05);
}

.edit-profile-avatar-item:hover {
    transform: scale(1.05);
    border-color: #8b5cf6;
}

.edit-profile-avatar-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.edit-profile-avatar-item.locked {
    filter: grayscale(100%) brightness(0.7);
    cursor: not-allowed;
}

.edit-profile-theme-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1vw;
}

.edit-profile-theme-item {
    cursor: pointer;
    transition: all 0.2s ease;
}

.edit-profile-theme-preview-box {
    width: 100%;
    height: 8vw;
    border-radius: 0.6vw;
    border: 0.15vw solid rgba(0, 0, 0, 0.1);
    margin-bottom: 0.5vw;
    transition: all 0.2s ease;
}

.edit-profile-theme-item.selected .edit-profile-theme-preview-box {
    border-color: #8b5cf6;
    transform: scale(1.02);
}

.edit-profile-theme-item:hover .edit-profile-theme-preview-box {
    transform: scale(1.02);
    border-color: #8b5cf6;
}

.edit-profile-theme-name {
    font-size: 0.8vw;
    font-weight: 600;
    color: rgba(0, 0, 0, 0.85);
    text-align: center;
    transition: color 0.2s;
}

.edit-profile-theme-item.selected .edit-profile-theme-name {
    color: #8b5cf6;
}

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

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-2vw) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}
