* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #000; color: #fff; font-family: 'Inter', -apple-system, sans-serif; }

header { padding: 20px 24px 12px; border-bottom: 1px solid #222; }
header h1 { font-size: 20px; font-weight: 700; color: #FFD700; }
#stats-bar { font-size: 12px; color: #888; margin-top: 4px; }

nav { display: flex; gap: 4px; padding: 12px 24px; border-bottom: 1px solid #222; }
.tab { background: transparent; border: 1px solid #333; color: #aaa; padding: 8px 16px;
  border-radius: 6px; cursor: pointer; font-size: 13px; }
.tab.active { background: #FFD700; color: #000; border-color: #FFD700; font-weight: 600; }
.tab:hover:not(.active) { border-color: #555; color: #fff; }

main { padding: 20px 24px; }
.panel { display: none; }
.panel.active { display: block; }

/* Dashboard */
#dashboard-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 12px; margin-bottom: 24px; }
.stat-card { background: #111; border-radius: 12px; padding: 16px; border: 1px solid #222; }
.stat-card .value { font-size: 32px; font-weight: 800; color: #FFD700; }
.stat-card .label { font-size: 12px; color: #888; margin-top: 4px; }

#trainer-breakdown, #top-tags { background: #111; border-radius: 12px; padding: 16px;
  border: 1px solid #222; margin-bottom: 16px; }
#trainer-breakdown h3, #top-tags h3 { font-size: 14px; color: #FFD700; margin-bottom: 12px; }
.bar-row { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.bar-label { font-size: 12px; color: #ccc; width: 180px; text-align: right; }
.bar { height: 20px; background: #FFD700; border-radius: 4px; min-width: 2px; }
.bar-value { font-size: 11px; color: #888; }

.tag-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.tag-pill { font-size: 11px; padding: 4px 10px; border-radius: 12px;
  background: #1a1a1a; border: 1px solid #333; color: #ccc; }
.tag-pill .tag-count { color: #FFD700; font-weight: 600; margin-left: 4px; }

/* Filters */
.filters { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; align-items: center; }
.filters input, .filters select { background: #111; border: 1px solid #333; color: #fff;
  padding: 8px 12px; border-radius: 6px; font-size: 13px; }
.filters input { flex: 1; min-width: 200px; }
.filters input:focus, .filters select:focus { border-color: #FFD700; outline: none; }
#result-count { font-size: 12px; color: #888; }

/* Table */
#client-table-container { overflow-x: auto; max-height: 70vh; overflow-y: auto; }
table { width: 100%; border-collapse: collapse; }
thead { position: sticky; top: 0; z-index: 1; }
th { background: #111; color: #888; font-size: 11px; text-transform: uppercase;
  letter-spacing: 1px; padding: 10px 12px; text-align: left; border-bottom: 1px solid #333; }
td { padding: 10px 12px; font-size: 13px; border-bottom: 1px solid #1a1a1a;
  color: #ccc; vertical-align: middle; }
tr { cursor: pointer; }
tr:hover td { background: #0d0d0d; }
.tag-sm { display: inline-block; font-size: 10px; padding: 2px 6px; border-radius: 8px;
  background: #1a1a1a; border: 1px solid #333; color: #aaa; margin: 1px; }
.day-badge { font-size: 11px; padding: 2px 8px; border-radius: 10px;
  background: #FFD700; color: #000; font-weight: 600; }
.muted { color: #555; }

/* Detail view */
#detail-content { max-width: 800px; }
.detail-header { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.detail-avatar { width: 64px; height: 64px; border-radius: 50%; background: #222;
  display: flex; align-items: center; justify-content: center; overflow: hidden; font-size: 28px; }
.detail-avatar img { width: 100%; height: 100%; object-fit: cover; }
.detail-name { font-size: 24px; font-weight: 800; }
.detail-email { font-size: 14px; color: #888; }
.detail-section { background: #111; border-radius: 12px; padding: 16px;
  border: 1px solid #222; margin-bottom: 12px; }
.detail-section h3 { font-size: 13px; color: #FFD700; margin-bottom: 10px;
  text-transform: uppercase; letter-spacing: 1px; }
.detail-row { display: flex; justify-content: space-between; padding: 6px 0;
  border-bottom: 1px solid #1a1a1a; font-size: 13px; }
.detail-row .label { color: #888; }
.detail-row .value { color: #fff; }
.program-card { background: #0d0d0d; border: 1px solid #222; border-radius: 8px;
  padding: 12px; margin-bottom: 8px; }
.program-card .pname { font-weight: 600; color: #fff; font-size: 13px; }
.program-card .pmeta { font-size: 11px; color: #888; margin-top: 4px; }
.progress-bar { height: 6px; background: #222; border-radius: 3px; margin-top: 6px; }
.progress-fill { height: 100%; background: #FFD700; border-radius: 3px; }
