/* SOCIAL OVERLAY STYLES */
.profile-header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding-bottom: 20px;
}

.profile-avatar-lg {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: var(--primary);
    color: white;
    font-size: 30px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* BUTTONS */
.social-btn {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-main);
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.2s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.social-btn:hover { background: var(--bg-hover); }

.social-btn.primary {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}
.social-btn.primary:hover { opacity: 0.9; }

.social-btn.danger {
    background: transparent;
    border-color: #ff5252;
    color: #ff5252;
}
.social-btn.danger:hover { background: rgba(255, 82, 82, 0.1); }

.mini-vibe {
    background: var(--bg-main);
    padding: 8px;
    border-radius: 4px;
    margin-bottom: 5px;
    font-size: 12px;
    border: 1px solid var(--border);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* MESSAGING HUB (Icon Only) */
.msg-hub-btn {
    width: 40px;  /* Square */
    height: 40px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 50%; /* Circle look */
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-bottom: 15px; /* Spacing */
    position: relative;
    color: var(--text-main);
    transition: background 0.2s;
}
.msg-hub-btn:hover { background: var(--bg-hover); }

/* BADGE */
.msg-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #ff5252;
    color: white;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: 800;
    min-width: 18px;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* INBOX LIST */
.inbox-list { max-height: 300px; overflow-y: auto; }
.inbox-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid var(--border);
    cursor: pointer;
    transition: background 0.2s;
}
.inbox-item:hover { background: var(--bg-hover); }
.inbox-avatar {
    width: 32px; height: 32px;
    border-radius: 50%;
    background: var(--text-muted);
    color: white;
    display: flex; align-items: center; justify-content: center;
    font-weight: 700;
    margin-right: 10px;
}

/* STATUS DOTS */
.status-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    position: absolute;
    bottom: 0;
    right: 0;
    border: 2px solid var(--bg-card); /* Cutout effect */
}
.status-dot.online {
    background-color: #4caf50; /* Green */
}
.status-dot.offline {
    background-color: #9e9e9e; /* Grey */
}

/* DM Chat Bubbles (Mini) */
.dm-bubble-me {
    background: var(--primary);
    color: white;
    padding: 8px 12px;
    border-radius: 15px 15px 0 15px;
    max-width: 70%;
    font-size: 13px;
    word-wrap: break-word;
}
.dm-bubble-them {
    background: var(--bg-card);
    color: var(--text-main);
    padding: 8px 12px;
    border-radius: 15px 15px 15px 0;
    max-width: 70%;
    border: 1px solid var(--border);
    font-size: 13px;
    word-wrap: break-word;
}

/* Friend Request Banner */
.friend-req-banner {
    background: var(--bg-card);
    border: 1px solid var(--primary);
    padding: 15px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 15px;
    font-size: 13px;
}

/* HIJACKED MAIN WINDOW - ROBUST STYLING FIX */
.hijacked-chat .message-group.mine .message-bubble {
    background: var(--primary) !important;
    color: white !important;
    border: none !important;
}

.hijacked-chat .message-group:not(.mine) .message-bubble {
    background: var(--bg-card) !important;
    color: var(--text-main) !important;
    border: 1px solid var(--border) !important;
}

.hijacked-header {
    background: var(--primary) !important;
    color: white !important;
}

/* OVERLAY TRANSPARENCY FIX */
#settings-view, #profile-view, #dm-view {
    background-color: transparent !important; 
    backdrop-filter: none !important; 
    -webkit-backdrop-filter: none !important; 
    pointer-events: none; 
}

#settings-view .modal-card, 
#profile-view .modal-card, 
#dm-view .modal-card {
    pointer-events: auto;
    box-shadow: 0 5px 25px rgba(0,0,0,0.5); 
}

/* MAIN CHAT SEND BUTTON OVERRIDE */
.send-btn {
    background-color: var(--primary) !important;
    color: white !important;
    border: none !important;
    transition: opacity 0.2s;
}
.send-btn:hover {
    opacity: 0.9;
}