/* Dashboard CSS */
body.dashboard-body { cursor: auto; }
body.dashboard-body .cursor-glow, body.dashboard-body .cursor-trail { display:none; }

.mod-login-gate { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:1rem; background:rgba(2,2,10,0.95); }
.mod-login-card { max-width:400px; width:100%; padding:2.5rem; text-align:center; }
.mod-login-logo { font-family:var(--font-display); font-size:1.5rem; color:var(--gold); text-shadow:0 0 20px var(--gold); margin-bottom:1rem; }
.mod-login-icon { font-size:3rem; margin-bottom:1rem; }
.mod-login-card h3 { font-family:var(--font-display); font-size:1.4rem; color:var(--white); margin-bottom:0.4rem; }
.mod-login-card p { color:var(--silver); font-size:0.9rem; margin-bottom:1.5rem; }
.mod-login-error { background:rgba(255,107,107,0.1); border:1px solid rgba(255,107,107,0.3); color:#ff6b6b; font-family:var(--font-ui); font-size:0.85rem; padding:0.6rem 1rem; border-radius:8px; margin-bottom:1rem; }

/* Dashboard Layout */
.dashboard-wrap { display:flex; min-height:100vh; position:relative; z-index:1; padding-top:70px; }

/* Sidebar */
.dash-sidebar { width:240px; height:calc(100vh - 70px); background:rgba(5,5,16,0.95); border-right:1px solid var(--glass-border); display:flex; flex-direction:column; padding:1.5rem 0; position:sticky; top:70px; flex-shrink:0; overflow-y:auto; transition:transform 0.3s; }
.dash-logo { font-family:var(--font-display); font-size:1.2rem; color:var(--gold); text-shadow:0 0 15px var(--gold); padding:0 1.5rem 1.5rem; border-bottom:1px solid var(--glass-border); margin-bottom:1.5rem; }
.dash-admin-info { display:flex; align-items:center; gap:0.8rem; padding:0 1.5rem; margin-bottom:1.5rem; }
.dash-admin-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--gold),var(--gold-light)); display:flex; align-items:center; justify-content:center; font-family:var(--font-display); color:var(--black); font-size:1rem; flex-shrink:0; }
.dash-admin-info strong { display:block; font-family:var(--font-ui); font-size:0.9rem; color:var(--white); }
.dash-admin-info small { font-size:0.75rem; color:var(--gold); }
.dash-nav { display:flex; flex-direction:column; gap:0.2rem; padding:0 0.8rem; flex:1; }
.dash-nav-btn { display:flex; align-items:center; gap:0.8rem; padding:0.7rem 1rem; border-radius:10px; background:none; border:none; color:var(--silver); font-family:var(--font-ui); font-size:0.85rem; font-weight:600; letter-spacing:0.05em; cursor:pointer; transition:all 0.3s; text-align:left; }
.dash-nav-btn.active, .dash-nav-btn:hover { background:rgba(201,168,76,0.1); color:var(--gold); }
.dash-nav-btn i { width:16px; }
.dash-logout-btn { display:flex; align-items:center; gap:0.8rem; margin:1rem 0.8rem 0; padding:0.7rem 1rem; border-radius:10px; background:rgba(255,107,107,0.08); border:1px solid rgba(255,107,107,0.2); color:#ff6b6b; font-family:var(--font-ui); font-size:0.85rem; font-weight:600; cursor:pointer; transition:all 0.3s; }
.dash-logout-btn:hover { background:rgba(255,107,107,0.15); }

/* Main */
.dash-main { flex:1; display:flex; flex-direction:column; min-width:0; }
.dash-topbar { display:flex; align-items:center; gap:1rem; padding:1rem 2rem; background:rgba(5,5,16,0.8); border-bottom:1px solid var(--glass-border); position:sticky; top:70px; z-index:10; backdrop-filter:blur(20px); }
.dash-menu-toggle { background:none; border:none; color:var(--gold); font-size:1.2rem; cursor:pointer; display:none; }
.dash-page-title { font-family:var(--font-display); font-size:1.3rem; color:var(--white); flex:1; }

/* Panels */
.dash-panel { display:none; padding:2rem; }
.dash-panel.active { display:block; }

/* Stats */
.dash-stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-bottom:2rem; }
.dash-stat-card { background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:16px; padding:1.5rem; text-align:center; }
.dash-stat-icon { font-size:2rem; margin-bottom:0.5rem; }
.dash-stat-val { font-family:var(--font-display); font-size:2rem; margin-bottom:0.3rem; }
.dash-stat-label { font-family:var(--font-ui); font-size:0.8rem; color:var(--silver); letter-spacing:0.05em; }

/* Recent grid */
.dash-recent-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.dash-card { background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:16px; padding:1.5rem; }
.dash-card-title { font-family:var(--font-ui); font-size:0.82rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
.dash-recent-row { display:flex; align-items:center; gap:1rem; padding:0.6rem 0; border-bottom:1px solid rgba(255,255,255,0.04); font-family:var(--font-ui); font-size:0.85rem; flex-wrap:wrap; }

/* Table */
.dash-panel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.dash-table-wrap { background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:16px; overflow:auto; }
.dash-table { width:100%; border-collapse:collapse; }
.dash-table th { font-family:var(--font-ui); font-size:0.78rem; letter-spacing:0.15em; text-transform:uppercase; color:var(--gold); padding:1rem 1.2rem; text-align:left; border-bottom:1px solid var(--glass-border); white-space:nowrap; }
.dash-table td { padding:0.85rem 1.2rem; font-family:var(--font-ui); font-size:0.85rem; color:var(--silver); border-bottom:1px solid rgba(255,255,255,0.04); vertical-align:middle; }
.dash-table tr:last-child td { border-bottom:none; }
.dash-table tr:hover td { background:rgba(255,255,255,0.02); }
.dash-link-btn { background:none; border:none; color:var(--gold); font-family:var(--font-ui); font-size:0.85rem; cursor:pointer; font-weight:600; transition:opacity 0.3s; }
.dash-link-btn:hover { opacity:0.7; text-decoration:underline; }
.dash-actions { display:flex; gap:0.5rem; }
.dash-action-btn { width:30px; height:30px; border-radius:8px; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:0.78rem; transition:all 0.3s; }
.dash-action-btn.edit { background:rgba(72,202,228,0.1); color:#48cae4; }
.dash-action-btn.edit:hover { background:rgba(72,202,228,0.2); }
.dash-action-btn.delete { background:rgba(255,107,107,0.1); color:#ff6b6b; }
.dash-action-btn.delete:hover { background:rgba(255,107,107,0.2); }
.dash-status-select { background:rgba(255,255,255,0.05); border:1px solid var(--glass-border); color:var(--white); font-family:var(--font-ui); font-size:0.78rem; padding:0.3rem 0.6rem; border-radius:6px; cursor:pointer; }
.dash-status-select option { background:var(--deep-navy); }

/* Status badges */
.status-badge { font-family:var(--font-ui); font-size:0.75rem; padding:0.25rem 0.7rem; border-radius:20px; }
.status-active { background:rgba(37,211,102,0.1); color:#25d366; border:1px solid rgba(37,211,102,0.2); }
.status-suspended { background:rgba(255,107,107,0.1); color:#ff6b6b; border:1px solid rgba(255,107,107,0.2); }

/* Feedback panel */
.feedback-dash-list { display:flex; flex-direction:column; gap:1rem; }
.feedback-dash-item { background:rgba(255,255,255,0.03); border:1px solid var(--glass-border); border-radius:12px; padding:1.2rem; }
.feedback-dash-header { display:flex; align-items:center; gap:1rem; margin-bottom:0.6rem; flex-wrap:wrap; }
.feedback-dash-header strong { font-family:var(--font-ui); color:var(--white); font-size:0.9rem; }
.feedback-dash-header span { font-family:var(--font-ui); font-size:0.78rem; color:var(--silver); }
.feedback-dash-item > p { color:var(--silver); font-size:0.9rem; line-height:1.6; margin-bottom:0.8rem; }
.feedback-dash-actions { display:flex; gap:0.5rem; }

@media (max-width:900px){
  .dash-sidebar { position:fixed; left:0; top:70px; bottom:0; height:calc(100vh - 70px); z-index:100; transform:translateX(-100%); }
  .dash-sidebar.open { transform:translateX(0); box-shadow:4px 0 30px rgba(0,0,0,.6); }
  /* Dark overlay behind sidebar on mobile */
  .dash-sidebar.open::after { content:''; position:fixed; inset:0; left:240px; background:rgba(0,0,0,.55); z-index:-1; }
  .dash-menu-toggle { display:block; }
  .dash-stats-grid { grid-template-columns:repeat(2,1fr); }
  .dash-recent-grid { grid-template-columns:1fr; }
  /* Stack all 2-col grids on mobile */
  #panel-achievements .dash-card, #panel-achievements > div > div { grid-template-columns:1fr !important; }
  .control-grid { grid-template-columns:1fr !important; }
}
@media (max-width:600px) { .dash-stats-grid { grid-template-columns:1fr 1fr; } .dash-panel { padding:1rem; } }
