:root {
    --primary: #6C63FF;
    --secondary: #FF5FA2;
    --accent: #00D4FF;
    --bg-dark: #0F172A;
    --card-bg: rgba(22, 33, 51, 0.55);
    --card-border: rgba(255, 255, 255, 0.12);
    --text-main: #F8FAFC;
    --text-muted: #CBD5E1;
    --font-stack: 'Plus Jakarta Sans', sans-serif;
    --transition-smooth: cubic-bezier(0.4, 0, 0.2, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: var(--font-stack); -webkit-font-smoothing: antialiased; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { background-color: var(--bg-dark); color: var(--text-main); overflow: hidden; height: 100dvh; width: 100vw; }
#app-container { position: relative; width: 100%; height: 100%; }

.hidden { display: none !important; }

.view-panel { 
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; flex-direction: column; z-index: 1;
    opacity: 0; transform: translateY(20px) scale(0.98);
    transition: opacity 0.5s var(--transition-smooth), transform 0.5s var(--transition-smooth);
    pointer-events: none; overflow-y: auto; overflow-x: hidden;
}
.view-panel.active-view { opacity: 1; transform: translateY(0) scale(1); pointer-events: all; }
.view-panel.hidden { display: none !important; opacity: 0; transform: translateY(20px); }
.system-overlay.hidden { display: none !important; opacity: 0; pointer-events: none; }
.system-overlay:not(.hidden) { display: flex; opacity: 1; animation: overlayFadeIn 0.3s var(--transition-smooth) forwards; }
@keyframes overlayFadeIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

/* Scrollbars */
.custom-scroller, .chat-scroller-area, .admin-wrapper-frame, .admin-users-wrapper, .admin-locks-wrapper,
.intercept-screen-board, .live-users-grid, .live-rooms-grid, .table-scroll, .monitor-chat-area,
#admin-spy-screen, #chat-messages-container, #suspended-users-list, #male-users-list, #female-users-list,
#legal-content-area, .view-panel {
    scroll-behavior: smooth; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
}
.custom-scroller::-webkit-scrollbar, .chat-scroller-area::-webkit-scrollbar, .admin-wrapper-frame::-webkit-scrollbar,
.admin-users-wrapper::-webkit-scrollbar, .admin-locks-wrapper::-webkit-scrollbar, .intercept-screen-board::-webkit-scrollbar,
.live-users-grid::-webkit-scrollbar, .live-rooms-grid::-webkit-scrollbar, .table-scroll::-webkit-scrollbar,
.monitor-chat-area::-webkit-scrollbar, #legal-content-area::-webkit-scrollbar, .view-panel::-webkit-scrollbar {
    width: 6px; height: 6px;
}
.custom-scroller::-webkit-scrollbar-track, .chat-scroller-area::-webkit-scrollbar-track, .admin-wrapper-frame::-webkit-scrollbar-track,
.admin-users-wrapper::-webkit-scrollbar-track, .admin-locks-wrapper::-webkit-scrollbar-track, .intercept-screen-board::-webkit-scrollbar-track,
.live-users-grid::-webkit-scrollbar-track, .live-rooms-grid::-webkit-scrollbar-track, .table-scroll::-webkit-scrollbar-track,
.monitor-chat-area::-webkit-scrollbar-track, #legal-content-area::-webkit-scrollbar-track, .view-panel::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.2); border-radius: 10px;
}
.custom-scroller::-webkit-scrollbar-thumb, .chat-scroller-area::-webkit-scrollbar-thumb, .admin-wrapper-frame::-webkit-scrollbar-thumb,
.admin-users-wrapper::-webkit-scrollbar-thumb, .admin-locks-wrapper::-webkit-scrollbar-thumb, .intercept-screen-board::-webkit-scrollbar-thumb,
.live-users-grid::-webkit-scrollbar-thumb, .live-rooms-grid::-webkit-scrollbar-thumb, .table-scroll::-webkit-scrollbar-thumb,
.monitor-chat-area::-webkit-scrollbar-thumb, #legal-content-area::-webkit-scrollbar-thumb, .view-panel::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 100%); border-radius: 10px; transition: background 0.3s ease;
}

/* Animations */
.scroll-reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.8s var(--transition-smooth), transform 0.8s var(--transition-smooth); }
.scroll-reveal.revealed { opacity: 1; transform: translateY(0); }
.stagger-item { opacity: 0; transform: translateY(20px); animation: staggerFadeIn 0.5s var(--transition-smooth) forwards; }
@keyframes staggerFadeIn { to { opacity: 1; transform: translateY(0); } }
.chat-msg-bubble { animation: messageSlideIn 0.35s var(--transition-smooth) forwards; opacity: 0; }
@keyframes messageSlideIn { from { opacity: 0; transform: translateY(15px) scale(0.92); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* Background */
.hero-image-fader { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -3; overflow: hidden; }
.hero-image-fader .slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center 30%; opacity: 0; animation: fadeSlideAnim 25s infinite; transform: scale(1.0); transition: all 1s ease; }
.hero-image-fader .bg-1 { background-image: url('https://images.unsplash.com/photo-1524504388940-b1c1722653e1?auto=format&fit=crop&w=1920&q=80'); animation-delay: 0s; }
.hero-image-fader .bg-2 { background-image: url('https://images.unsplash.com/photo-1494790108377-be9c29b29330?auto=format&fit=crop&w=1920&q=80'); animation-delay: 5s; }
.hero-image-fader .bg-3 { background-image: url('https://images.unsplash.com/photo-1534528741775-53994a69daeb?auto=format&fit=crop&w=1920&q=80'); animation-delay: 10s; }
.hero-image-fader .bg-4 { background-image: url('https://images.unsplash.com/photo-1529626455594-4ff0802cfb7e?auto=format&fit=crop&w=1920&q=80'); animation-delay: 15s; }
.hero-image-fader .bg-5 { background-image: url('https://images.unsplash.com/photo-1517841905240-472988babdf9?auto=format&fit=crop&w=1920&q=80'); animation-delay: 20s; }
@keyframes fadeSlideAnim { 0% { opacity: 0; transform: scale(1); } 4% { opacity: 1; transform: scale(1.02); } 20% { opacity: 1; transform: scale(1.10); } 24% { opacity: 0; transform: scale(1.12); } 100% { opacity: 0; transform: scale(1.12); } }
.hero-bg-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -2; pointer-events: none; background: linear-gradient(to bottom, rgba(15, 23, 42, 0.45) 0%, rgba(15, 23, 42, 1) 98%), radial-gradient(circle at center, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.85) 100%); }
.admin-background { background: #030712; }

/* Cards & UI */
.glass-card, .glass-card-strong, .glass-card-strict { background: var(--card-bg); backdrop-filter: blur(25px) saturate(200%); -webkit-backdrop-filter: blur(25px) saturate(200%); border: 1px solid var(--card-border); box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.4); }
.glass-card { border-radius: 20px; }
.glass-card-strong { border-radius: 24px; padding: 24px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 26px; width: 100%; max-width: 900px; }
.text-shadow-drop { text-shadow: 0 4px 15px rgba(0, 212, 255, 0.25); }

.system-overlay { position: fixed; top: 0; left: 0; width: 100vw; height: 100dvh; background: rgba(15, 23, 42, 0.9); backdrop-filter: blur(16px); align-items: center; justify-content: center; z-index: 9999; padding: 16px; }
.legal-card { max-width: 500px; width: 90%; padding: 32px; text-align: left; display:flex; flex-direction:column; gap: 16px; max-height: 90vh; overflow-y: auto; }
.auth-card { max-width: 420px; width: 90%; padding: 32px; text-align: center; }
.auth-tabs { display: flex; background: rgba(0,0,0,0.3); padding: 4px; border-radius: 10px; margin-bottom: 24px; }
.auth-tab { flex: 1; background: transparent; border: none; color: var(--text-muted); padding: 10px; font-weight: 600; font-size: 0.9rem; cursor: pointer; border-radius: 8px; transition: all 0.3s var(--transition-smooth); }
.auth-tab.active { background: var(--primary); color: white; box-shadow: 0 2px 12px rgba(108,99,255,0.4); }
.auth-form-container { display: flex; flex-direction: column; gap: 16px; text-align: left; }
.input-wrapper { display: flex; flex-direction: column; gap: 6px; }
.input-wrapper label { font-size: 0.75rem; color: var(--text-muted); font-weight: 600; }
.input-wrapper input { background: rgba(0, 0, 0, 0.25); border: 1px solid var(--card-border); padding: 12px; border-radius: 10px; color: white; outline: none; font-size: 0.9rem; width: 100%; transition: all 0.3s var(--transition-smooth); }
.input-wrapper input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.2); }

.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 24px; font-weight: 600; border-radius: 12px; border: none; cursor: pointer; transition: all 0.3s var(--transition-smooth); gap: 8px; font-size: 0.95rem; }
.btn:active { transform: scale(0.96); }
.btn-primary { background: linear-gradient(135deg, var(--primary) 0%, #5145E5 100%); color: white; box-shadow: 0 4px 14px rgba(108, 99, 255, 0.4);}
.btn-primary:disabled { opacity: 0.4; cursor: not-allowed; box-shadow:none; }
.btn-wide { width: 100%; }
.btn-secondary { background: rgba(255,255,255,0.12); color: var(--text-main); border: 1px solid rgba(255,255,255,0.1); }
.btn-secondary:hover { background: rgba(255,255,255,0.2); transform: translateY(-2px); }
.text-btn { background: transparent; border: none; color: var(--text-muted); cursor: pointer; font-size: inherit; text-decoration: underline; text-decoration-color: rgba(255,255,255,0.2); text-underline-offset: 4px; transition: color 0.2s; }
.text-btn:hover { color: white; text-decoration-color: white;}

.navbar { width: 100%; padding: 24px 40px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.nav-right-cluster { display: flex; align-items: center; gap: 16px; }
.logo { font-size: 1.5rem; font-weight: 800; display: flex; align-items: center; gap: 10px; }
.logo-dot { width: 10px; height: 10px; background: var(--accent); border-radius: 50%; box-shadow: 0 0 10px var(--accent); animation: pulseGlow 2s infinite; }
.live-badge { font-size: 0.85rem; font-weight: 600; display: flex; align-items: center; padding: 8px 16px; gap: 8px; border-radius: 20px; }
.pulse-indicator { width: 8px; height: 8px; background: #10B981; border-radius: 50%; animation: pulseGlow 2s infinite; }
.btn-icon-nav { background: transparent; border: none; color: white; font-size: 1.3rem; cursor: pointer; transition: all 0.3s var(--transition-smooth); opacity: 0.85; }
.btn-icon-nav:hover { transform: scale(1.15) rotate(5deg); opacity: 1; }

.hero-container { max-width: 1200px; width: 100%; margin: auto; padding: 0 40px; display: flex; flex-direction: column; justify-content: center; flex-grow: 1; padding-bottom: 40px; }
.hero-title { font-size: 3.8rem; text-shadow: 0 4px 15px rgba(0, 212, 255, 0.2); }
.gradient-text { font-weight: 800; line-height: 1.15; background: linear-gradient(135deg, #FFF 0%, var(--accent) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; margin-bottom: 18px; }
.hero-sub { color: #E2E8F0; font-size: 1.15rem; line-height: 1.6; margin-bottom: 28px; max-width: 600px; }

.filter-group { display: flex; flex-direction: column; gap: 8px; text-align: left; width: 100%; }
.filter-group label { font-size: 0.75rem; font-weight: 700; color: #CBD5E1; text-transform: uppercase; letter-spacing: 0.5px;}
.filter-group select { width: 100%; background: rgba(0, 0, 0, 0.4); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 12px; color: white; font-weight: 500; outline: none; cursor: pointer; transition: all 0.3s var(--transition-smooth); appearance: none; -webkit-appearance: none; }
.filter-group select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.2); }
.gender-radio-group { display: flex; background: rgba(0, 0, 0, 0.4); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 3px; height: 43px; width: 100%; }
.radio-tag { flex: 1; cursor: pointer; display: flex; position: relative;}
.radio-tag input { position: absolute; opacity: 0; width: 0; height: 0; }
.radio-tag span { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 0.85rem; font-weight: 600; color: #94A3B8; border-radius: 6px; transition: all 0.3s var(--transition-smooth); }
.radio-tag input:checked + span { background: var(--primary); color: white; box-shadow: 0 2px 10px rgba(108, 99, 255, 0.4);}

.btn-cta { background: linear-gradient(135deg, var(--secondary) 0%, #E03E83 100%); color: white; padding: 18px 42px; border-radius: 14px; border: none; font-weight: 700; font-size: 1.1rem; cursor: pointer; display: inline-flex; align-items: center; gap: 10px; box-shadow: 0 8px 24px rgba(255,95,162,0.25); width: max-content; transition: all 0.3s var(--transition-smooth); }
.btn-cta:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 12px 30px rgba(255,95,162,0.4); }
.app-footer { width: 100%; padding: 20px; text-align: center; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); display: flex; flex-direction: column; gap: 8px; z-index: 5; flex-shrink: 0;}
.footer-highlight { color: var(--accent); font-weight: 700; letter-spacing: 0.5px; }
.footer-links { margin-top: 2px;}

.chat-workspace { flex-grow: 1; display: grid; grid-template-columns: 1fr 360px; height: 100dvh; max-height: 100dvh; padding: 16px; gap: 16px; background: #080C14; overflow: hidden; }
.video-grid-container { display: flex; flex-direction: column; gap: 14px; height: 100%; min-height: 0; position: relative; }
.remote-stream-box { flex-grow: 1; position: relative; overflow: hidden; background: #010409; display: flex; align-items: center; justify-content: center; min-height: 0; }
#remote-video { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.local-stream-box { position: absolute; bottom: 16px; right: 16px; width: 140px; height: 105px; overflow: hidden; z-index: 10; border: 2px solid rgba(255,255,255,0.15); background: #000; border-radius: 12px; box-shadow: 0 6px 16px rgba(0,0,0,0.5); transition: all 0.3s var(--transition-smooth);}
.local-stream-box:hover { transform: scale(1.05); }
#local-video { width: 100%; height: 100%; object-fit: cover; }
.stream-overlay-label { position: absolute; top: 12px; left: 12px; background: rgba(15,23,42,0.8); padding: 4px 10px; border-radius: 6px; font-size: 0.75rem; font-weight: 600; box-shadow: 0 2px 10px rgba(0,0,0,0.5);}
.stream-overlay-label-mini { position: absolute; bottom: 6px; left: 6px; background: rgba(0,0,0,0.7); padding: 3px 8px; border-radius: 6px; font-size: 0.7rem; font-weight:600;}

.status-overlay-panel { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15,23,42,0.95); display: flex; align-items: center; justify-content: center; z-index: 8; backdrop-filter: blur(8px); transition: opacity 0.4s var(--transition-smooth); }
.loader-component { text-align: center; padding: 16px; }
.spinner-ring { width: 48px; height: 48px; border: 3px solid rgba(108,99,255,0.1); border-top: 3px solid var(--primary); border-radius: 50%; animation: spin 0.8s linear infinite; margin: 0 auto 16px auto; }
#status-text-output { font-weight: 600; font-size: 0.95rem; max-width: 280px; margin: 0 auto; color: var(--text-main); }

.controls-hud-bar { height: 76px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 0 16px; flex-shrink: 0; animation: controlsSlideUp 0.5s var(--transition-smooth) forwards; }
@keyframes controlsSlideUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
.btn-hud { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: var(--text-main); font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s var(--transition-smooth);}
.btn-hud.toggle-active { background: rgba(16,185,129,0.15); border-color: #10B981; color: #10B981; }
.btn-hud.toggle-active.muted-state { background: rgba(239,68,68,0.15) !important; border-color: #EF4444 !important; color: #EF4444 !important; }
.btn-hud:hover { background: rgba(255,255,255,0.15); transform: scale(1.1); }
.btn-hud-danger { color: var(--secondary); }
.btn-hud-stop { background: rgba(239, 68, 68, 0.1); border-color: rgba(239, 68, 68, 0.2); color: #EF4444; }
.btn-action-skip { background: linear-gradient(135deg, var(--primary) 0%, #5145E5 100%); color: white; border: none; padding: 0 28px; height: 48px; border-radius: 24px; font-weight: 700; font-size: 1rem; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 4px 14px rgba(108,99,255,0.4); transition: all 0.3s var(--transition-smooth);}
.btn-action-skip:hover { transform: scale(1.05); box-shadow: 0 6px 20px rgba(108,99,255,0.5); }

.text-chat-sidebar { display: flex; flex-direction: column; height: 100%; min-height: 0; overflow: hidden; }
.sidebar-header { padding: 18px; border-bottom: 1px solid var(--card-border); display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.chat-scroller-area { flex-grow: 1; padding: 18px; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; scroll-behavior: smooth; }
.system-chat-notice { background: rgba(0,212,255,0.08); border: 1px dashed rgba(0,212,255,0.25); padding: 8px 12px; border-radius: 8px; font-size: 0.75rem; color: var(--accent); text-align: center; font-weight:500;}
.chat-msg-bubble { max-width: 85%; padding: 12px 16px; border-radius: 14px; font-size: 0.88rem; display: flex; flex-direction: column; line-height: 1.4;}
.chat-msg-bubble.incoming-msg { background: rgba(255,255,255,0.1); align-self: flex-start; border-bottom-left-radius: 4px; border:1px solid rgba(255,255,255,0.05); }
.chat-msg-bubble.outgoing-msg { background: var(--primary); color: white; align-self: flex-end; border-bottom-right-radius: 4px; box-shadow: 0 4px 10px rgba(108, 99, 255, 0.2);}
.msg-timestamp { font-size: 0.65rem; opacity: 0.6; align-self: flex-end; margin-top:4px;}
.chat-footer-controls { padding: 16px; border-top: 1px solid var(--card-border); display: flex; gap: 10px; background: rgba(0,0,0,0.2); flex-shrink: 0; }
.chat-footer-controls input { flex-grow: 1; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.15); border-radius: 12px; padding: 12px 16px; color: white; outline: none; transition: all 0.3s var(--transition-smooth); font-size: 0.95rem;}
.chat-footer-controls input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(108, 99, 255, 0.2);}
.btn-send { width: 46px; height: 46px; border-radius: 12px; background: var(--primary); color: white; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(108, 99, 255, 0.3); transition: all 0.3s var(--transition-smooth);}
.btn-send:hover { transform: scale(1.1) rotate(10deg); }

.admin-wrapper-frame { padding: 16px; display: flex; flex-direction: column; gap: 20px; max-width: 1400px; margin: 0 auto; width: 100%; height: calc(100dvh - 85px); overflow-y: auto; scroll-behavior: smooth; }
.admin-metrics-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px;}
.admin-metric-card { padding: 20px; text-align: left; border-radius: 16px; animation: metricSlideIn 0.5s var(--transition-smooth) forwards; opacity: 0;}
.admin-metric-card:nth-child(1) { animation-delay: 0.05s; } .admin-metric-card:nth-child(2) { animation-delay: 0.1s; } .admin-metric-card:nth-child(3) { animation-delay: 0.15s; } .admin-metric-card:nth-child(4) { animation-delay: 0.2s; }
@keyframes metricSlideIn { from { opacity: 0; transform: translateY(20px) scale(0.9); } to { opacity: 1; transform: translateY(0) scale(1); } }
.admin-metric-card h4 { font-size: 0.85rem; color: var(--text-muted); margin-bottom: 8px;}
.admin-metric-card .metric-num { font-size: 2.2rem; font-weight: 800;}
.text-warn { color: #FBBF24; } .text-danger { color: #EF4444; }
.admin-grid-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}
.admin-panel-segment { padding: 20px; display: flex; flex-direction: column; height: 500px;}
.panel-heading { font-size: 1rem; border-bottom: 1px solid var(--card-border); padding-bottom: 12px; margin-bottom: 12px; color: white; display:flex; align-items:center; gap: 8px;}
.table-scroll { overflow-x: auto; flex-grow: 1; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; }
.admin-table { width: 100%; border-collapse: collapse; text-align: left; min-width: 450px;}
.admin-table th { padding: 12px; font-size: 0.8rem; color: var(--text-muted); text-transform: uppercase; border-bottom: 1px solid var(--card-border);}
.admin-table td { padding: 14px 12px; border-bottom: 1px solid rgba(255,255,255,0.05); font-size: 0.85rem;}
.btn-table-action { background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.4); color: #EF4444; border-radius: 6px; padding: 6px 14px; cursor: pointer; font-size: 0.8rem; font-weight: 600; white-space: nowrap; transition: all 0.3s var(--transition-smooth);}
.btn-table-action:hover { transform: scale(1.05); }
.btn-table-action.safe { background: rgba(16, 185, 129, 0.1); border: 1px solid rgba(16, 185, 129, 0.4); color: #10B981;}
.live-rooms-grid { display: flex; flex-wrap: wrap; gap: 8px; max-height: 120px; overflow-y: auto; margin-bottom: 6px; scroll-behavior: smooth; }
.spy-room-tag { background: rgba(0, 0, 0, 0.4); border: 1px solid var(--primary); color: white; padding: 6px 12px; border-radius: 8px; font-size: 0.75rem; cursor: pointer; font-family: monospace; display: flex; align-items:center; gap: 6px; transition: all 0.3s var(--transition-smooth);}
.spy-room-tag:hover { background: var(--primary); color: white; transform: scale(1.05); box-shadow: 0 4px 12px rgba(108, 99, 255, 0.4);}
.intercept-screen-board { background: #030712; flex-grow: 1; border-radius: 12px; border: 1px inset rgba(255,255,255,0.05); padding: 16px; overflow-y: auto; scroll-behavior: smooth;}
.admin-system-logger { font-family: "Courier New", monospace; font-size: 0.85rem; color: #10B981; line-height: 1.5; word-wrap: break-word;}
.spy-chat-bubble { margin-bottom: 12px; animation: messageSlideIn 0.3s var(--transition-smooth) forwards; opacity: 0;}
.spy-timestamp { opacity: 0.5; margin-right: 8px;}
.full-width-admin { grid-column: 1 / -1; height: auto; max-height: 350px; }
.live-users-grid { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px 0; overflow-y: auto; max-height: 250px; scroll-behavior: smooth; }
.user-control-tag { background: rgba(0, 0, 0, 0.4); border: 1px solid var(--accent); color: white; padding: 8px 12px; border-radius: 8px; font-size: 0.8rem; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: monospace; min-width: 250px; transition: all 0.3s var(--transition-smooth); }
.user-control-tag:hover { transform: translateX(4px); border-color: var(--primary); box-shadow: 0 4px 12px rgba(0, 212, 255, 0.2); }
.clickable-metric { cursor: pointer; transition: all 0.4s var(--transition-smooth); }
.clickable-metric:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 16px 32px rgba(108, 99, 255, 0.3); border-color: var(--primary); }
.clickable-metric small { display: block; margin-top: 8px; color: var(--text-muted); font-size: 0.75rem; }

.admin-users-wrapper { padding: 20px; max-width: 1200px; margin: 0 auto; width: 100%; height: calc(100dvh - 85px); overflow-y: auto; scroll-behavior: smooth; }
.users-category-tabs { display: flex; gap: 16px; margin-bottom: 24px; }
.category-tab { flex: 1; padding: 16px; background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 12px; color: var(--text-main); font-size: 1.1rem; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 10px; transition: all 0.4s var(--transition-smooth); }
.category-tab.active { background: linear-gradient(135deg, var(--primary) 0%, #5145E5 100%); border-color: var(--primary); box-shadow: 0 4px 14px rgba(108, 99, 255, 0.4); transform: scale(1.02); }
.count-badge { background: rgba(255,255,255,0.2); padding: 4px 10px; border-radius: 12px; font-size: 0.85rem; }
.users-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.user-card { background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; transition: all 0.4s var(--transition-smooth); }
.user-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 16px 32px rgba(0,0,0,0.3); border-color: var(--accent); }
.user-card-header { display: flex; align-items: center; gap: 12px; }
.user-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; color: white; }
.user-info { flex: 1; } .user-info h4 { font-size: 1rem; margin-bottom: 4px; } .user-info p { font-size: 0.8rem; color: var(--text-muted); }
.user-card-actions { display: flex; gap: 8px; }
.user-card-actions button { flex: 1; padding: 10px; border-radius: 8px; border: none; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: all 0.3s var(--transition-smooth); }
.btn-enter-session { background: linear-gradient(135deg, var(--accent) 0%, #0099CC 100%); color: white; }
.btn-enter-session:hover { transform: scale(1.05); box-shadow: 0 6px 16px rgba(0, 212, 255, 0.4); }

.admin-locks-wrapper { padding: 20px; max-width: 1200px; margin: 0 auto; width: 100%; height: calc(100dvh - 85px); overflow-y: auto; scroll-behavior: smooth; }
.locks-header { margin-bottom: 24px; } .locks-header h3 { font-size: 1.5rem; margin-bottom: 8px; display: flex; align-items: center; gap: 10px; } .locks-subtitle { color: var(--text-muted); font-size: 0.9rem; }
.suspended-users-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.suspended-user-card { background: var(--card-bg); border: 1px solid rgba(239, 68, 68, 0.3); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; transition: all 0.4s var(--transition-smooth); }
.suspended-user-card:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 16px 32px rgba(239, 68, 68, 0.2); border-color: rgba(239, 68, 68, 0.5); }
.suspended-user-header { display: flex; align-items: center; gap: 12px; }
.suspended-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #EF4444 0%, #DC2626 100%); display: flex; align-items: center; justify-content: center; font-size: 1.3rem; font-weight: 700; color: white; }
.suspended-info { flex: 1; } .suspended-info h4 { font-size: 1rem; margin-bottom: 4px; } .suspended-info p { font-size: 0.8rem; color: var(--text-muted); } .suspended-info .suspension-time { color: #EF4444; font-weight: 600; }
.btn-release { background: linear-gradient(135deg, #10B981 0%, #059669 100%); color: white; padding: 12px; border-radius: 8px; border: none; font-size: 0.9rem; font-weight: 600; cursor: pointer; transition: all 0.3s var(--transition-smooth); display: flex; align-items: center; justify-content: center; gap: 8px; }
.btn-release:hover { transform: scale(1.05); box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4); }

.monitor-card { max-width: 600px; width: 90%; max-height: 80vh; display: flex; flex-direction: column; animation: modalSlideIn 0.4s var(--transition-smooth) forwards; }
@keyframes modalSlideIn { from { opacity: 0; transform: translateY(30px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } }
.monitor-header { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid var(--card-border); }
.monitor-header h3 { display: flex; align-items: center; gap: 8px; color: var(--accent); }
.monitor-info { padding: 12px 16px; background: rgba(0,0,0,0.2); border-bottom: 1px solid var(--card-border); font-size: 0.9rem; }
.monitor-info p { margin-bottom: 6px; } .monitor-info code { background: rgba(0,0,0,0.4); padding: 2px 6px; border-radius: 4px; font-size: 0.8rem; }
.monitor-chat-area { flex: 1; padding: 16px; overflow-y: auto; min-height: 300px; display: flex; flex-direction: column; gap: 10px; scroll-behavior: smooth; }

.match-found-animation { animation: matchPulse 1.5s ease-in-out infinite; }
@keyframes matchPulse { 0% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.05); opacity: 0.8; } 100% { transform: scale(1); opacity: 1; } }
.match-status-unique { background: linear-gradient(135deg, rgba(108, 99, 255, 0.2) 0%, rgba(255, 95, 162, 0.2) 100%); border: 2px solid var(--primary); border-radius: 16px; padding: 20px; text-align: center; }
.match-status-unique h3 { font-size: 1.3rem; margin-bottom: 10px; background: linear-gradient(135deg, #FFF 0%, var(--accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.match-status-unique p { font-size: 0.95rem; color: var(--text-muted); margin-bottom: 8px; }
.match-status-unique .owner-badge { display: inline-block; background: var(--primary); color: white; padding: 4px 10px; border-radius: 12px; font-size: 0.75rem; font-weight: 600; margin-top: 8px; }

@keyframes spin { to { transform: rotate(360deg); } }
@keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@keyframes pulseGlow { 0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4); } 70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); } 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); } }
.animate-slide-up { animation: slideUp 0.4s var(--transition-smooth) forwards; }

/* RESPONSIVE */
@media (max-width: 1024px) {
    .custom-scroller::-webkit-scrollbar, .chat-scroller-area::-webkit-scrollbar, .admin-wrapper-frame::-webkit-scrollbar,
    .admin-users-wrapper::-webkit-scrollbar, .admin-locks-wrapper::-webkit-scrollbar, .intercept-screen-board::-webkit-scrollbar,
    .live-users-grid::-webkit-scrollbar, .live-rooms-grid::-webkit-scrollbar, .table-scroll::-webkit-scrollbar,
    .monitor-chat-area::-webkit-scrollbar, #legal-content-area::-webkit-scrollbar, .view-panel::-webkit-scrollbar {
        display: none !important; width: 0 !important; height: 0 !important;
    }
    .custom-scroller, .chat-scroller-area, .admin-wrapper-frame, .admin-users-wrapper, .admin-locks-wrapper,
    .intercept-screen-board, .live-users-grid, .live-rooms-grid, .table-scroll, .monitor-chat-area,
    #legal-content-area, .view-panel { scrollbar-width: none !important; -ms-overflow-style: none !important; }

    .navbar { padding: 16px 20px; }
    .hero-container { padding: 20px; text-align: center; padding-bottom: 100px; }
    .hero-title { font-size: 2.5rem; }
    .hero-sub { margin: 0 auto 24px auto; font-size: 1rem; }
    .glass-card-strong { grid-template-columns: 1fr; margin: 0 auto 24px auto; max-width: 100%; width: 95%; padding: 20px; }
    .filter-group select, .gender-radio-group { width: 100%; font-size: 16px; }
    .btn-cta { margin: 0 auto; width: 95%; justify-content: center; }
    .chat-workspace { grid-template-columns: 1fr; grid-template-rows: 1fr minmax(200px, 40vh); padding: 8px; gap: 8px; }
    .local-stream-box { width: 90px; height: 68px; bottom: 10px; right: 10px; }
    .controls-hud-bar { height: 62px; padding: 0 4px; gap: 8px; }
    .btn-hud { width: 38px; height: 38px; font-size: 0.95rem; }
    .btn-action-skip { height: 38px; padding: 0 16px; font-size: 0.9rem; }
    .sidebar-header { padding: 12px; }
    .chat-scroller-area { padding: 12px; }
    .admin-grid-layout { grid-template-columns: 1fr; }
    .full-width-admin { grid-column: 1; }
    .admin-panel-segment { height: auto; max-height: 450px; }
    .admin-metrics-container { grid-template-columns: 1fr 1fr; }
    .admin-navbar { padding: 16px; }
    .admin-wrapper-frame, .admin-users-wrapper, .admin-locks-wrapper { height: calc(100dvh - 70px); }
    .users-category-tabs { flex-direction: column; }
    .users-grid, .suspended-users-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .hero-title { font-size: 2rem; }
    .admin-metrics-container { grid-template-columns: 1fr; }
    .live-badge { padding: 6px 12px; font-size: 0.75rem; }
}