* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background:#0f0f1a; color:#e0e0e0; }

/* Layout */
.admin-layout { display:flex; min-height:100vh; }
.sidebar { width:240px; background:#1a1a2e; border-right:1px solid rgba(212,175,55,0.1); padding:20px 0; position:fixed; top:0; left:0; bottom:0; overflow-y:auto; z-index:100; }
.sidebar-logo { padding:0 20px 30px; border-bottom:1px solid rgba(255,255,255,0.06); margin-bottom:20px; }
.sidebar-logo h2 { color:#d4af37; font-size:20px; }
.sidebar-logo p { color:#666; font-size:12px; margin-top:4px; }
.sidebar-nav { padding:0 12px; }
.nav-item { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:10px; color:#999; cursor:pointer; margin-bottom:4px; font-size:14px; transition:all 0.2s; }
.nav-item:hover { background:rgba(255,255,255,0.05); color:#ddd; }
.nav-item.active { background:linear-gradient(135deg, rgba(212,175,55,0.15), rgba(240,215,94,0.05)); color:#d4af37; font-weight:500; }
.nav-item .icon { font-size:18px; width:24px; text-align:center; }
.main-content { flex:1; margin-left:240px; padding:30px; min-height:100vh; }

/* Header */
.page-header { margin-bottom:30px; }
.page-header h1 { color:#d4af37; font-size:24px; }
.page-header p { color:#666; font-size:13px; margin-top:4px; }

/* Stats Cards */
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px; margin-bottom:30px; }
.stat-card { background:rgba(255,255,255,0.04); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.06); border-radius:16px; padding:24px; }
.stat-card .stat-icon { font-size:32px; margin-bottom:10px; }
.stat-card .stat-value { font-size:28px; font-weight:bold; color:#d4af37; }
.stat-card .stat-label { color:#888; font-size:13px; margin-top:4px; }

/* Tables */
.table-container { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); border-radius:16px; overflow:hidden; }
table { width:100%; border-collapse:collapse; }
thead { background:rgba(255,255,255,0.04); }
th { padding:14px 18px; text-align:left; font-size:13px; color:#888; font-weight:500; border-bottom:1px solid rgba(255,255,255,0.06); }
td { padding:14px 18px; font-size:14px; border-bottom:1px solid rgba(255,255,255,0.04); }
tr:hover { background:rgba(255,255,255,0.02); }

/* Tags */
.tag { display:inline-block; padding:4px 12px; border-radius:20px; font-size:12px; font-weight:500; }
.tag-new { background:rgba(255,152,0,0.15); color:#ff9800; }
.tag-pending { background:rgba(255,152,0,0.15); color:#ff9800; }
.tag-active { background:rgba(76,175,80,0.15); color:#4caf50; }
.tag-completed { background:rgba(76,175,80,0.15); color:#4caf50; }
.tag-info { background:rgba(33,150,243,0.15); color:#2196f3; }
.tag-warning { background:rgba(255,152,0,0.15); color:#ff9800; }
.tag-error { background:rgba(244,67,54,0.15); color:#f44336; }
.tag-success { background:rgba(76,175,80,0.15); color:#4caf50; }

/* Buttons */
.btn { display:inline-block; padding:10px 20px; border-radius:8px; font-size:14px; cursor:pointer; border:none; transition:all 0.2s; }
.btn-primary { background:linear-gradient(135deg, #d4af37, #f0d75e); color:#1a1a2e; font-weight:500; }
.btn-sm { padding:6px 14px; font-size:12px; }
.btn-danger { background:rgba(244,67,54,0.15); color:#f44336; }
.btn-info { background:rgba(33,150,243,0.15); color:#2196f3; }
.btn-success { background:rgba(76,175,80,0.15); color:#4caf50; }

/* Filter Bar */
.filter-bar { display:flex; gap:12px; margin-bottom:20px; flex-wrap:wrap; align-items:center; }
.filter-bar input, .filter-bar select { padding:10px 16px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#fff; font-size:14px; outline:none; }
.filter-bar input:focus, .filter-bar select:focus { border-color:#d4af37; }
.filter-bar select { color:#ccc; }
.filter-bar select option { background:#1a1a2e; color:#fff; }
.filter-tags { display:flex; gap:8px; flex-wrap:wrap; }
.filter-tag { padding:6px 16px; border-radius:20px; font-size:13px; cursor:pointer; background:rgba(255,255,255,0.05); color:#999; border:1px solid rgba(255,255,255,0.1); }
.filter-tag.active { background:linear-gradient(135deg, rgba(212,175,55,0.2), rgba(240,215,94,0.1)); color:#d4af37; border-color:rgba(212,175,55,0.3); }

/* Modal */
.modal-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.7); z-index:3000; align-items:center; justify-content:center; }
.modal-overlay.show { display:flex; }
.modal-box { background:#16213e; border:1px solid rgba(212,175,55,0.2); border-radius:16px; padding:30px; width:90%; max-width:500px; max-height:80vh; overflow-y:auto; }
.modal-box h3 { color:#d4af37; margin-bottom:20px; font-size:18px; }
.modal-actions { display:flex; gap:12px; margin-top:20px; justify-content:flex-end; }

/* Form */
.form-group { margin-bottom:16px; }
.form-group label { display:block; color:#999; font-size:13px; margin-bottom:6px; }
.form-group input, .form-group textarea, .form-group select { width:100%; padding:10px 14px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#fff; font-size:14px; outline:none; }
.form-group textarea { min-height:80px; resize:vertical; }

/* Detail Card */
.detail-card { background:rgba(255,255,255,0.04); border-radius:16px; padding:24px; margin-bottom:20px; border:1px solid rgba(255,255,255,0.06); }
.detail-row { display:flex; padding:10px 0; border-bottom:1px solid rgba(255,255,255,0.04); }
.detail-row .label { color:#888; width:120px; font-size:13px; }
.detail-row .value { color:#e0e0e0; font-size:14px; }

/* Loading */
.loading { text-align:center; padding:40px; color:#888; }

/* Toast */
.toast { position:fixed; top:20px; right:20px; padding:12px 24px; border-radius:8px; font-size:14px; z-index:2000; animation:slideIn 0.3s; }
.toast-success { background:#4caf50; color:#fff; }
.toast-error { background:#f44336; color:#fff; }
@keyframes slideIn { from { transform:translateX(100px); opacity:0; } to { transform:translateX(0); opacity:1; } }

/* Pagination */
.pagination { display:flex; justify-content:center; gap:8px; padding:20px 0; }
.pagination button { padding:8px 16px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:8px; color:#ccc; cursor:pointer; font-size:13px; }
.pagination button.active { background:#d4af37; color:#1a1a2e; border-color:#d4af37; }

/* Chat Session Cards */
.chat-session-card:hover { background:rgba(255,255,255,0.06); border-color:rgba(212,175,55,0.2); }

/* Invite Item */
.invite-item:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(0,0,0,0.2); }
.invite-item:active { transform:translateY(0); }

/* Chat Window */
.chat-window { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.85); z-index:2000; display:flex; flex-direction:column; }
.chat-window-header { display:flex; justify-content:space-between; align-items:center; padding:16px 24px; background:#1a1a2e; border-bottom:1px solid rgba(212,175,55,0.1); }
.chat-window-messages { flex:1; overflow-y:auto; padding:20px 24px; }
.chat-window-messages::-webkit-scrollbar { width:6px; }
.chat-window-messages::-webkit-scrollbar-thumb { background:rgba(255,255,255,0.1); border-radius:3px; }
.chat-window-input { display:flex; padding:16px 24px; background:#1a1a2e; border-top:1px solid rgba(255,255,255,0.06); }
.chat-window-input input:focus { border-color:#d4af37 !important; }

/* Chat Messages */
.chat-msg { animation:msgIn 0.2s ease; }
@keyframes msgIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }

/* Empty State */
.empty-state { text-align:center; padding:60px 20px; color:#666; font-size:14px; }

/* Responsive */
@media (max-width:768px) {
  .sidebar { width:60px; padding:15px 0; }
  .sidebar-logo h2, .sidebar-logo p { display:none; }
  .nav-item span { display:none; }
  .main-content { margin-left:60px; padding:15px; }
  .stats-grid { grid-template-columns:repeat(2, 1fr); }
  .chat-window-header { padding:12px 16px; }
  .chat-window-messages { padding:12px 16px; }
  .chat-window-input { padding:12px 16px; }
}

.btn-warning { background:rgba(255,152,0,0.15); color:#ff9800; }
.btn-small { padding:5px 12px; font-size:12px; border-radius:6px; cursor:pointer; border:none; }
.btn-small.btn-success { background:rgba(76,175,80,0.2); color:#4caf50; }
.btn-small.btn-danger { background:rgba(244,67,54,0.2); color:#f44336; }

