/* ====================================================================
   Performance & Rendering Optimizations (Zero Layout Risk)
   ==================================================================== */

/* Reserve space for uploaded chat images & avatars to eliminate image load layout shifts */
img.chat_image {
    max-width: 320px;
    max-height: 250px;
    object-fit: cover;
    border-radius: 12px;
}

img.chat_avatar,
.chat_avatar {
    width: 36px;
    height: 36px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    object-fit: cover;
}

img.glob_av {
    aspect-ratio: 1 / 1;
}

/* Optimize font rendering & anti-aliasing */
body {
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Off-screen chat log rendering optimization */
.chat_log {
    content-visibility: auto;
    contain-intrinsic-size: 0 50px;
}

/* ====================================================================
   Image Cover Component Styling (Matching Screenshot #2)
   ==================================================================== */
.image_cover_card {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding: 12px 20px;
    background: rgba(32, 33, 36, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    cursor: pointer;
    margin: 6px 0;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    user-select: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
}

.image_cover_card:hover {
    background: rgba(45, 47, 52, 1);
    border-color: rgba(255, 255, 255, 0.25);
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(0, 0, 0, 0.5);
}

.image_cover_icon_box {
    width: 44px;
    height: 44px;
    background: rgba(0, 149, 246, 0.15);
    color: #0095f6;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    border: 1px solid rgba(0, 149, 246, 0.3);
}

.image_cover_info {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.image_cover_title {
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
}

.image_cover_sub {
    color: rgba(255, 255, 255, 0.5);
    font-size: 11px;
    font-weight: 500;
    margin-top: 3px;
}

/* ====================================================================
   ── SOCIOVERSE NATIVE PREMIUM MODAL ANIMATIONS SYSTEM ──
   ==================================================================== */

.animate__animated {
    animation-duration: 0.6s;
    animation-fill-mode: both;
}

/* 1. Cyber Glitch & Scale */
@keyframes cyberGlitchIn {
    0%, 100% {
        transform: scale(1);
        filter: hue-rotate(0deg) saturate(1);
    }
    20% {
        transform: scale(1.02) skewX(1deg);
        filter: hue-rotate(45deg) saturate(1.2);
    }
    40% {
        transform: scale(0.98) skewX(-1deg);
        filter: hue-rotate(90deg) saturate(1.5);
    }
    60% {
        transform: scale(1.01) skewX(2deg);
        filter: hue-rotate(180deg) saturate(1.2);
    }
    80% {
        transform: scale(0.99) skewX(-2deg);
        filter: hue-rotate(270deg) saturate(1.3);
    }
}
.animate__cyberGlitch {
    animation: cyberGlitchIn 6s infinite ease-in-out !important;
}

/* 2. Luxury Gold Glow */
@keyframes goldGlowIn {
    0%, 100% {
        transform: scale(1) rotateY(0deg) translateY(0px);
    }
    50% {
        transform: scale(1.015) rotateY(3deg) translateY(-4px);
    }
}
.animate__goldGlow {
    animation: goldGlowIn 4.5s infinite ease-in-out !important;
}

/* 3. 3D Flip & Float */
@keyframes flip3DIn {
    0%, 100% {
        transform: perspective(600px) rotateX(0deg) translateY(0px);
    }
    50% {
        transform: perspective(600px) rotateX(2deg) translateY(-8px);
    }
}
.animate__flip3D {
    animation: flip3DIn 4s infinite ease-in-out !important;
}

/* 4. Neon Pulsation (Bouncy Looping Pulse) */
@keyframes neonPulseIn {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.03);
    }
}
.animate__neonPulse {
    animation: neonPulseIn 3s infinite ease-in-out !important;
}

/* 5. Cosmic Vortex */
@keyframes cosmicVortexIn {
    0% {
        transform: scale(1) rotate(0deg);
    }
    100% {
        transform: scale(1) rotate(360deg);
    }
}
.animate__cosmicVortex {
    animation: cosmicVortexIn 25s infinite linear !important;
}

/* 6. Luxury Slide & Blur */
@keyframes slideBlurIn {
    0%, 100% {
        transform: translateY(0px) scale(1);
        filter: blur(0px);
    }
    50% {
        transform: translateY(-5px) scale(1.01);
        filter: blur(1px);
    }
}
.animate__slideBlur {
    animation: slideBlurIn 5s infinite ease-in-out !important;
}

/* 7. Luxury Diamond Shine */
@keyframes diamondShineIn {
    0%, 100% {
        transform: scale(1) rotate(0deg);
        filter: brightness(1);
    }
    50% {
        transform: scale(1.015) rotate(0.3deg);
        filter: brightness(1.08);
    }
}
.animate__diamondShine {
    animation: diamondShineIn 5s infinite ease-in-out !important;
    position: relative;
    overflow: hidden;
}
.animate__diamondShine::after {
    content: '';
    position: absolute;
    top: -150%;
    left: -150%;
    width: 300%;
    height: 300%;
    background: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0.3) 50%,
        rgba(255, 255, 255, 0.6) 60%,
        rgba(255, 255, 255, 0) 100%
    );
    animation: diamondShineSweep 5s infinite ease-in-out;
    pointer-events: none;
}
@keyframes diamondShineSweep {
    0% {
        transform: translate(-30%, -30%);
    }
    100% {
        transform: translate(30%, 30%);
    }
}

/* 8. Mystic Aurora Bloom */
@keyframes auroraBloomIn {
    0%, 100% {
        transform: translateY(0) scale(1);
        box-shadow: 0 8px 24px rgba(168, 85, 247, 0.15);
    }
    50% {
        transform: translateY(-6px) scale(1.02);
        box-shadow: 0 16px 32px rgba(168, 85, 247, 0.3);
    }
}
.animate__auroraBloom {
    animation: auroraBloomIn 6s infinite ease-in-out !important;
}

/* Infinite loop rules for profile wraps */
.profile_wrap.animate__animated,
.preview_anim_box.animate__animated,
#anim_live_preview.animated,
#anim_preview_box.animate__animated {
    animation-iteration-count: infinite !important;
}

/* Standard animation timings */
.profile_wrap.animate__bounceIn, .preview_anim_box.animate__bounceIn, #anim_live_preview.animate__bounceIn { animation-duration: 3s !important; }
.profile_wrap.animate__fadeIn, .preview_anim_box.animate__fadeIn, #anim_live_preview.animate__fadeIn { animation-duration: 4s !important; }
.profile_wrap.animate__zoomIn, .preview_anim_box.animate__zoomIn, #anim_live_preview.animate__zoomIn { animation-duration: 4s !important; }
.profile_wrap.animate__rollIn, .preview_anim_box.animate__rollIn, #anim_live_preview.animate__rollIn { animation-duration: 5s !important; }

/* ── Profile Borders (Optional Cosmetic) ── */
.pborder_neon_red    { box-shadow: 0 0 16px 4px #ff3366 !important; border: 2px solid #ff3366 !important; }
.pborder_royal_gold  { box-shadow: 0 0 16px 4px #ffd700 !important; border: 2px solid #ffd700 !important; }
.pborder_cyber_cyan  { box-shadow: 0 0 16px 4px #00ffff !important; border: 2px solid #00ffff !important; }
.pborder_violet_glow { box-shadow: 0 0 16px 4px #e056fd !important; border: 2px solid #e056fd !important; }
.pborder_inferno_fire{ box-shadow: 0 0 16px 4px #ff4500 !important; border: 2px solid #ff4500 !important; }
.pborder_emerald     { box-shadow: 0 0 16px 4px #00ff66 !important; border: 2px solid #00ff66 !important; }
.pborder_rainbow     { box-shadow: 0 0 16px 4px #ff00ff !important; border: 2px solid #ff00ff !important; }

/* Modal outer container must be 100% transparent when displaying profile cards or clubhouse stages */
#large_modal_in.modal_transparent_card,
.large_modal_in.modal_transparent_card,
#large_modal_in:has(.profile_wrap),
.large_modal_in:has(.profile_wrap),
.large_modal_in:has(#pro_main_card),
#large_modal_in:has(.ch_modal_root),
.large_modal_in:has(.ch_modal_root),
#large_modal_content:has(.ch_modal_root),
.large_modal_content:has(.ch_modal_root) {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Ensure user cover photo displays cleanly */
.modal_wrap_top.cover_size,
.pro_top.cover_size {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

/* ── Profile Gallery Horizontal Moveable Slider ── */
.gallery_slider_container {
    position: relative;
    width: 100%;
    margin: 10px 0;
}
.profile_gallery_slider {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 12px;
    padding: 10px 5px;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,215,0,0.4) transparent;
}
.profile_gallery_slider::-webkit-scrollbar {
    height: 5px;
}
.profile_gallery_slider::-webkit-scrollbar-thumb {
    background: rgba(255,215,0,0.4);
    border-radius: 10px;
}
.profile_gallery_slider .photo_item {
    flex: 0 0 110px !important;
    width: 110px !important;
    height: 110px !important;
    float: none !important;
    margin: 0 !important;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    border: 1px solid rgba(255,255,255,0.1);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    overflow: hidden;
    position: relative;
}
.profile_gallery_slider .photo_item:hover {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 8px 25px rgba(0,0,0,0.5);
    border-color: rgba(255, 215, 0, 0.6);
}
.gallery_nav_btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0,0,0,0.75);
    border: 1px solid rgba(255,255,255,0.2);
    color: #ffd700;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.gallery_nav_btn:hover {
    background: rgba(0, 178, 227, 0.9);
    color: #fff;
    border-color: #00b2e3;
    transform: translateY(-50%) scale(1.15);
}
.gallery_nav_left { left: -8px; }
.gallery_nav_right { right: -8px; }

/* ── Custom Gallery Fullscreen Viewer Modal (Socioverse Style) ── */
.pg_viewer {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.88);
    backdrop-filter: blur(8px);
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.pg_viewer.pg_open {
    display: flex !important;
}
.pg_viewer_box {
    position: relative;
    width: min(85vw, 750px);
    height: min(80vh, 560px);
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(18, 18, 22, 0.96);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 18px;
    padding: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7);
}
.pg_viewer_img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    border-radius: 12px;
    object-fit: contain;
}
.pg_viewer_close,
.pg_viewer_prev,
.pg_viewer_next {
    position: absolute;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(30, 30, 35, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #ffd700;
    font-size: 20px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
.pg_viewer_close:hover,
.pg_viewer_prev:hover,
.pg_viewer_next:hover {
    background: rgba(0, 178, 227, 0.95);
    color: #fff;
    transform: scale(1.1);
}
.pg_viewer_close {
    top: -16px;
    right: -16px;
}
.pg_viewer_del {
    position: absolute;
    top: -16px;
    left: -16px;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(220, 38, 38, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}
.pg_viewer_del:hover {
    background: rgba(239, 68, 68, 1);
    transform: scale(1.1);
}
.pg_viewer_prev {
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
}
.pg_viewer_next {
    right: -20px;
    top: 50%;
    transform: translateY(-50%);
}
.pg_viewer_prev.pg_hidden,
.pg_viewer_next.pg_hidden {
    display: none !important;
}
@media (max-width: 760px) {
    .pg_viewer_box {
        width: 94vw;
        height: 70vh;
    }
    .pg_viewer_prev { left: -10px; }
    .pg_viewer_next { right: -10px; }
}

/* ── Dedicated Edit Profile Menu Button ── */
.edit_profile_menu_btn {
    background: linear-gradient(135deg, rgba(255, 159, 243, 0.15), rgba(154, 89, 245, 0.15)) !important;
    border: 1px solid rgba(255, 159, 243, 0.35) !important;
    border-radius: 12px !important;
    margin-bottom: 8px !important;
    padding: 10px 14px !important;
    transition: all 0.25s ease-in-out !important;
}
.edit_profile_menu_btn:hover {
    background: linear-gradient(135deg, rgba(255, 159, 243, 0.3), rgba(154, 89, 245, 0.3)) !important;
    border-color: rgba(255, 159, 243, 0.7) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(255, 159, 243, 0.35) !important;
}

/* ── Sleek Single Scrollbar for User List Panel ── */
#chat_right_data::-webkit-scrollbar {
    width: 5px;
}
#chat_right_data::-webkit-scrollbar-track {
    background: transparent;
}
#chat_right_data::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}
#chat_right_data::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.35);
}

/* ══════════════════════════════════════════════════════════════
   HIGH-PERFORMANCE PROFILE & LAYOUT STABILITY (CLS & INP FIX)
   ══════════════════════════════════════════════════════════════ */

/* Layout containment for smooth isolated scrolling */
#mprofilemenu {
    contain: content;
}

/* CLS Prevention: Reserve explicit dimensions for avatar, cover, and status indicators */
.modal_wrap_top.pro_top {
    min-height: 220px;
    position: relative;
}
.profile_avatar, #proav {
    width: 100px;
    height: 100px;
    position: relative;
}
.avatar_spin {
    width: 100px;
    height: 100px;
}
.avatar_profile, #proav .avatar_profile {
    width: 100px;
    height: 100px;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.state_profile, .state_note {
    width: 20px;
    height: 20px;
    aspect-ratio: 1 / 1;
}

/* Ad slot sizing to prevent layout shift */
ins.adsbygoogle {
    display: block;
    min-height: 90px;
}
.adnoyer_log {
    min-height: 50px;
    contain: layout;
}

/* Propose Button hover via CSS (removes inline JS transform stall) */
.propose_btn:hover {
    opacity: 0.88;
}

/* ── Ultra-Modern Frosted Glassmorphism Profile Cards System ─── */
.pro_card_box {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 18px !important;
    padding: 13px 15px !important;
    margin-bottom: 12px !important;
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.35) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
.pro_card_box:hover {
    background: rgba(255, 255, 255, 0.065) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

/* Glass Header */
.pro_card_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    gap: 8px;
}
.pro_card_title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 13px;
    font-weight: 800;
    color: #f1f5f9;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.pro_card_icon_badge {
    width: 28px;
    height: 28px;
    border-radius: 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13.5px;
    flex-shrink: 0;
}
.pro_card_icon_badge.icon_blue {
    background: rgba(56, 189, 248, 0.18);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.35);
    box-shadow: 0 0 12px rgba(56, 189, 248, 0.25);
}
.pro_card_icon_badge.icon_crimson {
    background: rgba(239, 68, 68, 0.18);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.35);
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.25);
}

/* Info List & Rows: Removed nested backdrop-filter to prevent compositor stall */
.pro_info_list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.pro_info_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: background-color 0.15s ease, border-color 0.15s ease;
    gap: 12px;
}
.pro_info_row:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.16);
}
.pro_info_left {
    display: flex;
    align-items: center;
    gap: 11px;
    font-size: 13.5px;
    font-weight: 600;
    color: #cbd5e1;
    flex-shrink: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
.pro_info_left i.pro_row_icon {
    width: 20px;
    text-align: center;
    font-size: 15px;
    filter: drop-shadow(0 0 4px currentColor);
}
.pro_info_right {
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff;
    text-align: right;
    word-break: break-word;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* Relationships */
.pro_rel_row {
    background: rgba(255, 255, 255, 0.04);
    border-radius: 12px;
    padding: 10px 14px;
    border: 1px dashed rgba(255, 255, 255, 0.15);
    margin: 3px 0;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.pro_rel_row:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.25);
}

/* Badges Shelf */
.pro_badges_shelf {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.pro_badges_header {
    font-size: 11px;
    font-weight: 700;
    color: #94a3b8;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
}
.pro_badges_content {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.pro_badges_content .pbadge {
    float: none !important;
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}

/* Staff & Security Intelligence Glass Card */
.pro_staff_card {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.12) 0%, rgba(30, 15, 15, 0.85) 60%, rgba(239, 68, 68, 0.08) 100%) !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
    border-radius: 18px !important;
    position: relative;
    overflow: hidden;
    margin-top: 12px;
    box-shadow: 0 10px 35px 0 rgba(0, 0, 0, 0.4), 0 0 25px rgba(239, 68, 68, 0.1), inset 0 1px 1px 0 rgba(255, 255, 255, 0.2) !important;
}
.pro_staff_card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, #ef4444, #f59e0b, transparent);
}
.pro_staff_header {
    border-bottom: 1px solid rgba(239, 68, 68, 0.2);
}
.pro_staff_badges_wrap {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.staff_id_pill {
    font-size: 10px;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #cbd5e1;
    letter-spacing: 0.4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: background-color 0.15s ease;
}
.staff_id_pill:hover {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}
.pro_staff_badge {
    font-size: 10px;
    font-weight: 800;
    padding: 3px 9px;
    border-radius: 8px;
    background: rgba(239, 68, 68, 0.2);
    border: 1px solid rgba(239, 68, 68, 0.4);
    color: #fca5a5;
    letter-spacing: 0.6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.staff_intel_list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.staff_intel_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 13px;
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.06);
    gap: 12px;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.staff_intel_row:hover {
    background: rgba(0, 0, 0, 0.38);
    border-color: rgba(239, 68, 68, 0.3);
}
.staff_intel_row .pro_info_left {
    font-size: 13px;
}
.staff_code_box {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    max-width: 65%;
    min-width: 0;
}
.staff_code_text {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 12px;
    padding: 3.5px 8px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    flex: 1;
}
.staff_copy_btn {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #cbd5e1;
    border-radius: 6px;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 12px;
    flex-shrink: 0;
    transition: background-color 0.15s ease;
}
.staff_copy_btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.staff_status_pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 700;
    padding: 3.5px 10px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.35);
    color: #4ade80;
}
.staff_status_dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
}

/* ── Online Activity & Analytics Styling ── */
.oa_wrapper {
    width: 100%;
    margin: 6px auto 14px auto;
    padding: 0;
    box-sizing: border-box;
}
.oa_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    padding: 0 4px;
    gap: 8px;
}
.oa_title {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 800;
    color: #e2e8f0;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    flex-shrink: 0;
}
.oa_bolt_icon {
    color: #f59e0b;
    font-size: 13px;
    filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.6));
}
.oa_header_badges {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.oa_habit_tag {
    font-size: 9.5px;
    font-weight: 700;
    padding: 2.5px 8px;
    border-radius: 12px;
    border: 1px solid;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    cursor: default;
}
.oa_habit_tag:hover {
    opacity: 0.85;
}
.oa_tier_tag {
    font-size: 9.5px;
    font-weight: 700;
    padding: 2.5px 8px;
    border-radius: 12px;
    border: 1px solid;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    letter-spacing: 0.3px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}
.oa_privacy_banner {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 10.5px;
    margin-bottom: 8px;
    line-height: 1.3;
}
.oa_privacy_banner.is_self {
    background: rgba(234, 179, 8, 0.1);
    border: 1px solid rgba(234, 179, 8, 0.25);
    color: #facc15;
}
.oa_privacy_banner.is_staff {
    background: rgba(168, 85, 247, 0.12);
    border: 1px solid rgba(168, 85, 247, 0.25);
    color: #d8b4fe;
}
.oa_card_box {
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.13) !important;
    border-radius: 18px !important;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.35) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
.oa_card_box:hover {
    background: rgba(255, 255, 255, 0.065) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}
.oa_metric_item {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.oa_icon_box {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.oa_blue_box {
    background: rgba(56, 189, 248, 0.12);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.25);
    box-shadow: 0 0 14px rgba(56, 189, 248, 0.15);
}
.oa_purple_box {
    background: rgba(168, 85, 247, 0.12);
    color: #c084fc;
    border: 1px solid rgba(168, 85, 247, 0.25);
    box-shadow: 0 0 14px rgba(168, 85, 247, 0.15);
}
.oa_metric_details {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.oa_metric_label {
    font-size: 11px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.2px;
    white-space: nowrap;
    margin-bottom: 2px;
}
.oa_metric_value {
    font-size: 17px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.3px;
    white-space: nowrap;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.oa_divider {
    width: 1px;
    height: 38px;
    background: rgba(255, 255, 255, 0.08);
    margin: 0 12px;
}
.oa_sub_strip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 0 2px;
    flex-wrap: wrap;
}
.oa_pill_badge {
    font-size: 10.5px;
    color: #94a3b8;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    padding: 3px 9px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}
.oa_pill_badge strong {
    color: #f1f5f9;
}
.oa_pill_dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 8px #10b981;
}
.oa_streak_pill {
    color: #fed7aa;
    border-color: rgba(249, 115, 22, 0.25);
    background: rgba(249, 115, 22, 0.08);
}
.oa_streak_pill strong {
    color: #fdba74;
}
.oa_habit_pill {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid;
}
.oa_chart_toggle_btn {
    margin-left: auto;
    font-size: 10.5px;
    font-weight: 600;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    padding: 3px 9px;
    border-radius: 8px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: all 0.2s ease;
}
.oa_chart_toggle_btn:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.25) !important;
}
.oa_chart_container {
    margin-top: 10px;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 12px;
    padding: 10px 14px;
    animation: oaFadeIn 0.25s ease-out;
}
.oa_chart_hdr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10.5px;
    color: #94a3b8;
    font-weight: 600;
    margin-bottom: 8px;
}
.oa_chart_hdr small {
    font-size: 9px;
    color: #64748b;
}
.oa_chart_bars {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 6px;
    height: 64px;
    padding-top: 10px;
}
.oa_bar_col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    cursor: pointer;
    position: relative;
}
.oa_bar_track {
    flex: 1;
    width: 100%;
    max-width: 22px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 6px;
    display: flex;
    align-items: flex-end;
    overflow: visible;
    position: relative;
}
.oa_bar_fill {
    width: 100%;
    background: linear-gradient(180deg, #38bdf8 0%, rgba(56, 189, 248, 0.35) 100%);
    border-radius: 6px;
    transition: height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    position: relative;
}
.oa_bar_col.is_today .oa_bar_fill {
    background: linear-gradient(180deg, #a855f7 0%, rgba(168, 85, 247, 0.4) 100%);
    box-shadow: 0 0 10px rgba(168, 85, 247, 0.5);
}
.oa_bar_day {
    font-size: 9px;
    font-weight: 700;
    color: #64748b;
    margin-top: 6px;
    text-transform: uppercase;
}
.oa_bar_col.is_today .oa_bar_day {
    color: #d8b4fe;
}
.oa_bar_tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    background: #0f172a;
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #fff;
    padding: 2px 6px;
    font-size: 9px;
    font-weight: 700;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
    z-index: 20;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}
.oa_bar_col:hover .oa_bar_tooltip {
    opacity: 1;
}
@keyframes oaFadeIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 480px) {
    .oa_card_box {
        padding: 10px 12px;
    }
    .oa_icon_box {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }
    .oa_icon_box svg {
        width: 17px;
        height: 17px;
    }
    .oa_metric_value {
        font-size: 15px;
    }
    .oa_divider {
        margin: 0 8px;
    }
    .oa_header {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    .oa_header_badges {
        justify-content: flex-start;
    }
}
.oa_private_wrapper {
    width: 100%;
    margin: 6px auto 14px auto;
    box-sizing: border-box;
}
.oa_private_box {
    background: rgba(18, 20, 24, 0.8) !important;
    border: 1px dashed rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px;
    padding: 14px 16px !important;
    display: flex;
    align-items: center;
}
.oa_private_inner {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
}
.oa_private_icon_circle {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    background: rgba(148, 163, 184, 0.1);
    border: 1px solid rgba(148, 163, 184, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    font-size: 17px;
    flex-shrink: 0;
}
.oa_private_meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.oa_private_heading {
    font-size: 12.5px;
    font-weight: 700;
    color: #e2e8f0;
    letter-spacing: 0.2px;
}
.oa_private_sub {
    font-size: 11px;
    color: #94a3b8;
    line-height: 1.4;
}
.oa_private_tag {
    font-size: 9.5px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    background: rgba(148, 163, 184, 0.1);
    color: #94a3b8;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}