/* Admin Panel */
.admin-view { flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.admin-header {
  height: var(--header-h); background: var(--card); border-bottom: 1px solid var(--border);
  display: flex; align-items: center; padding: 0 20px; gap: 12px; flex-shrink: 0;
}
.admin-header h2 { font-family: var(--font-display); font-size: 1.2rem; }
.admin-body { display: flex; flex: 1; overflow: hidden; }
.admin-tabs {
  width: 200px; background: var(--bg2); border-right: 1px solid var(--border);
  padding: 16px 8px; display: flex; flex-direction: column; gap: 4px; flex-shrink: 0;
}
.admin-tab {
  display: flex; align-items: center; gap: 10px; padding: 10px 14px;
  border-radius: var(--radius-sm); cursor: pointer; font-size: 0.88rem;
  transition: all var(--transition); color: var(--text-sec); border: none;
  background: none; width: 100%; text-align: left;
}
.admin-tab:hover { background: var(--bg3); color: var(--text); }
.admin-tab.active { background: var(--primary-glow); color: var(--primary); font-weight: 600; }
.admin-tab-badge {
  margin-left: auto; background: var(--danger); color: #fff;
  border-radius: 99px; font-size: 0.65rem; font-weight: 700;
  min-width: 18px; height: 18px; display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
.admin-content { flex: 1; overflow-y: auto; padding: 24px; }

/* Queue cards */
.queue-card {
  background: var(--card); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 18px; margin-bottom: 12px; transition: border-color var(--transition);
}
.queue-card:hover { border-color: var(--primary); }
.queue-card-header { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.queue-card-name { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; }
.queue-card-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 14px;
}
.queue-field label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-dim); font-weight: 600; display: block; }
.queue-field span { font-family: var(--font-mono); font-size: 0.85rem; color: var(--text); }
.queue-inviter { font-size: 0.78rem; color: var(--text-sec); padding: 6px 10px; background: var(--bg2); border-radius: var(--radius-sm); margin-bottom: 12px; }
.queue-inviter strong { color: var(--gold); }
.queue-actions { display: flex; gap: 8px; }

/* Members table */
.members-table { width: 100%; border-collapse: collapse; }
.members-table th, .members-table td { padding: 10px 12px; text-align: left; font-size: 0.85rem; }
.members-table th { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; color: var(--text-dim); font-weight: 600; border-bottom: 1px solid var(--border); }
.members-table td { border-bottom: 1px solid var(--border); }
.members-table tr:hover td { background: var(--bg2); }
.last-seen-badge { font-family: var(--font-mono); font-size: 0.72rem; color: var(--text-sec); }
.online-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--success); margin-right: 4px; }
.row-actions { display: flex; gap: 4px; flex-wrap: wrap; }

/* Settings */
.settings-section { margin-bottom: 28px; }
.settings-section h3 { font-family: var(--font-display); margin-bottom: 14px; color: var(--primary); }
.rules-textarea { width: 100%; height: 240px; resize: vertical; font-family: var(--font-body); }
.toggle-setting { display: flex; align-items: center; justify-content: space-between; padding: 14px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); }
.toggle-label { font-weight: 500; }
.toggle-sub { font-size: 0.8rem; color: var(--text-sec); margin-top: 2px; }

@media (max-width: 900px) {
  .admin-body { flex-direction: column; }
  .admin-tabs { width: 100%; flex-direction: row; overflow-x: auto; height: auto; border-right: none; border-bottom: 1px solid var(--border); padding: 8px; }
  .admin-tab { white-space: nowrap; }
  .queue-card-grid { grid-template-columns: 1fr; }
}
