/* ============================================================
   GOLD BOSS — ADMIN + USER DASHBOARD STYLES
   Extends the existing style.css design language.
   ============================================================ */

/* ── LAYOUT SHELL ── */
.dash-wrap { display:flex; min-height:100vh; padding-top:66px; }
.dash-sidebar {
  width:240px; background:var(--dark2); border-right:1px solid var(--dark3);
  position:fixed; top:66px; left:0; bottom:0; overflow-y:auto; z-index:50;
  padding:24px 0;
}
.dash-main { margin-left:240px; flex:1; padding:32px 40px; min-width:0; }

/* Sidebar nav */
.side-label {
  font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:3px; text-transform:uppercase; color:var(--gold-dim);
  padding:16px 24px 8px; display:block;
}
.side-link {
  display:flex; align-items:center; gap:10px; padding:10px 24px;
  color:var(--gray); font-size:13px; font-weight:500; text-decoration:none;
  transition:all .15s; border-left:2px solid transparent;
}
.side-link:hover { color:var(--white); background:rgba(201,168,76,.04); }
.side-link.active { color:var(--gold); border-left-color:var(--gold); background:rgba(201,168,76,.06); }
.side-link .ico { width:18px; text-align:center; font-size:14px; }
.side-divider { height:1px; background:var(--dark3); margin:12px 0; }

/* ── PAGE HEADER ── */
.page-header {
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;
  gap:16px; margin-bottom:28px;
}
.page-title {
  font-family:'Playfair Display',serif; font-size:28px; font-weight:900;
  color:var(--white); line-height:1.2;
}
.page-title em { color:var(--gold); font-style:italic; }
.page-subtitle { font-size:13px; color:var(--gray); margin-top:4px; }

/* ── STAT CARDS ── */
.stat-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:2px; margin-bottom:28px; background:var(--dark3); }
.stat-card {
  background:var(--dark2); padding:24px 20px; position:relative; overflow:hidden;
}
.stat-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent); opacity:0; transition:opacity .3s;
}
.stat-card:hover::before { opacity:1; }
.stat-card-label {
  font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:3px; text-transform:uppercase; color:var(--gray-dim); margin-bottom:8px;
}
.stat-card-val {
  font-family:'Barlow Condensed',sans-serif; font-size:36px; font-weight:800;
  color:var(--gold); line-height:1;
}
.stat-card-val.white { color:var(--white); }

/* ── TABLES ── */
.data-table { width:100%; border-collapse:collapse; margin-top:16px; }
.data-table th {
  background:var(--gold); color:#000; font-family:'Barlow Condensed',sans-serif;
  font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase;
  padding:12px 14px; text-align:left; white-space:nowrap;
}
.data-table td {
  padding:12px 14px; border-bottom:1px solid var(--dark3); font-size:13px;
  color:var(--gray-light); vertical-align:middle;
}
.data-table tr:nth-child(even) td { background:var(--dark2); }
.data-table tr:nth-child(odd) td { background:var(--dark); }
.data-table tr:hover td { background:var(--dark4); }
.data-table td:first-child { color:var(--white); font-weight:600; }
.data-table a { color:var(--gold); text-decoration:none; }
.data-table a:hover { text-decoration:underline; }

/* ── BADGES ── */
.badge {
  display:inline-block; padding:3px 10px; font-family:'Barlow Condensed',sans-serif;
  font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
}
.badge-green  { background:rgba(40,200,64,.12); color:#28c840; border:1px solid rgba(40,200,64,.25); }
.badge-red    { background:rgba(224,85,85,.12); color:#e05555; border:1px solid rgba(224,85,85,.25); }
.badge-orange { background:rgba(254,188,46,.12); color:#febc2e; border:1px solid rgba(254,188,46,.25); }
.badge-blue   { background:rgba(60,130,240,.12); color:#3c82f0; border:1px solid rgba(60,130,240,.25); }
.badge-purple { background:rgba(160,80,220,.12); color:#a050dc; border:1px solid rgba(160,80,220,.25); }
.badge-gray   { background:rgba(100,100,100,.12); color:#888; border:1px solid rgba(100,100,100,.25); }

/* ── CARDS / PANELS ── */
.panel {
  background:var(--dark2); border:1px solid var(--dark3); padding:28px 24px; margin-bottom:20px;
  position:relative; overflow:hidden;
}
.panel::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,var(--gold-dim),var(--gold),var(--gold-dim));
}
.panel-title {
  font-family:'Barlow Condensed',sans-serif; font-size:14px; font-weight:800;
  letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:16px;
  display:flex; align-items:center; gap:10px;
}
.panel-title::after { content:''; flex:1; height:1px; background:var(--dark3); }

/* ── FORMS ── */
.form-group { margin-bottom:18px; }
.form-label {
  display:block; font-family:'Barlow Condensed',sans-serif; font-size:11px;
  font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gray);
  margin-bottom:6px;
}
.form-input, .form-select, .form-textarea {
  width:100%; padding:11px 14px; background:var(--dark); border:1px solid var(--dark4);
  color:var(--white); font-family:'Barlow',sans-serif; font-size:14px;
  transition:border-color .2s; outline:none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--gold); }
.form-textarea { min-height:80px; resize:vertical; }
.form-select { cursor:pointer; }
.form-select option { background:var(--dark); color:var(--white); }
.form-hint { font-size:11px; color:var(--gray-dim); margin-top:4px; }
.form-error { font-size:11px; color:#e05555; margin-top:4px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 24px;
  font-family:'Barlow Condensed',sans-serif; font-size:13px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; border:none; cursor:pointer;
  text-decoration:none; transition:all .2s; }
.btn-gold { background:var(--gold); color:#000; }
.btn-gold:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-dark { background:var(--dark4); color:var(--gray-light); border:1px solid var(--dark3); }
.btn-dark:hover { background:var(--dark3); color:var(--white); }
.btn-danger { background:rgba(224,85,85,.15); color:#e05555; border:1px solid rgba(224,85,85,.3); }
.btn-danger:hover { background:rgba(224,85,85,.25); }
.btn-sm { padding:6px 14px; font-size:11px; letter-spacing:1px; }
.btn-group { display:flex; gap:8px; flex-wrap:wrap; }

/* ── FLASH MESSAGES ── */
.flash { padding:14px 20px; margin-bottom:16px; font-size:13px; border-left:3px solid; }
.flash-success { background:rgba(40,200,64,.08); color:#28c840; border-color:#28c840; }
.flash-error   { background:rgba(224,85,85,.08); color:#e05555; border-color:#e05555; }
.flash-warning { background:rgba(254,188,46,.08); color:#febc2e; border-color:#febc2e; }
.flash-info    { background:rgba(60,130,240,.08); color:#3c82f0; border-color:#3c82f0; }

/* ── PAGINATION ── */
.pagination { display:flex; align-items:center; gap:12px; margin-top:20px; justify-content:center; }
.page-info { font-size:12px; color:var(--gray); }

/* ── SEARCH/FILTER BAR ── */
.filter-bar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:20px; }
.filter-bar .form-input, .filter-bar .form-select { width:auto; min-width:180px; padding:8px 12px; font-size:13px; }

/* ── EMPTY STATE ── */
.empty-state {
  text-align:center; padding:48px 24px; color:var(--gray-dim);
}
.empty-state-icon { font-size:48px; margin-bottom:16px; opacity:.3; }
.empty-state-text { font-size:14px; color:var(--gray); }

/* ── DETAIL GRID ── */
.detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--dark3); }
.detail-item { background:var(--dark2); padding:14px 18px; }
.detail-label {
  font-family:'Barlow Condensed',sans-serif; font-size:10px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; color:var(--gray-dim); margin-bottom:4px;
}
.detail-value { font-size:14px; color:var(--white); }

/* ── RESPONSIVE ── */
@media (max-width:1024px) {
  .dash-sidebar { width:200px; }
  .dash-main { margin-left:200px; padding:24px 20px; }
  .stat-cards { grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); }
  .form-row { grid-template-columns:1fr; }
  .detail-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .dash-sidebar { display:none; }
  .dash-main { margin-left:0; padding:16px; }
  .page-header { flex-direction:column; align-items:flex-start; }
}
