/* ============================================================
   admin-dashboard.css
   ============================================================ */

.dash-hero{margin-bottom:20px}
.dash-hero h1{font-size:1.6rem;font-weight:800;color:var(--text-color-override);letter-spacing:-.5px;margin:0 0 4px}
.dash-hero p{font-size:.82rem;color:var(--text-secondary);margin:0}

.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}
.stat-card{background:var(--modal-container-bg);border:1px solid var(--line-color);border-radius:14px;padding:18px;display:flex;align-items:center;gap:14px;transition:transform .2s,box-shadow .2s}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.15)}
.stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}
.sc-purple .stat-icon{background:linear-gradient(135deg,#9333ea,#c084fc)}
.sc-blue   .stat-icon{background:linear-gradient(135deg,#3b82f6,#60a5fa)}
.sc-green  .stat-icon{background:linear-gradient(135deg,#10b981,#34d399)}
.sc-orange .stat-icon{background:linear-gradient(135deg,#f59e0b,#fbbf24)}
.stat-body{flex:1;min-width:0}
.stat-label{font-size:.7rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.stat-value{font-size:1.5rem;font-weight:800;color:var(--text-color-override);letter-spacing:-.5px;line-height:1.1}
.stat-change{display:inline-flex;align-items:center;gap:4px;font-size:.68rem;font-weight:700;margin-top:4px;padding:2px 7px;border-radius:8px}
.stat-change.up{color:#10b981;background:rgba(16,185,129,.12)}

.dash-charts{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:20px}
.chart-card{background:var(--modal-container-bg);border:1px solid var(--line-color);border-radius:14px;padding:18px;overflow:hidden}
.chart-header{margin-bottom:14px}
.chart-title{font-size:.9rem;font-weight:800;color:var(--text-color-override);letter-spacing:-.2px}
.chart-sub{font-size:.7rem;color:var(--text-secondary);margin-top:2px}
.chart-body{position:relative;height:240px;width:100%}
.chart-body.chart-donut{height:240px;display:flex;align-items:center;justify-content:center}
.chart-body canvas{max-height:100%;max-width:100%}

.dash-bottom{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dash-card{background:var(--modal-container-bg);border:1px solid var(--line-color);border-radius:14px;padding:18px}
.dash-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.dash-card-title{font-size:.9rem;font-weight:800;color:var(--text-color-override);letter-spacing:-.2px}
.dash-card-link{font-size:.72rem;font-weight:700;color:var(--accent);background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background .2s;font-family:inherit}
.dash-card-link:hover{background:var(--box-hover-bg)}
.dash-list{display:flex;flex-direction:column;gap:8px}
.dash-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--box-bg);transition:background .2s}
.dash-item:hover{background:var(--box-hover-bg)}
.dash-item-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}
.dash-item-icon.purple{background:rgba(147,51,234,.15);color:#9333ea}
.dash-item-icon.blue  {background:rgba(59,130,246,.15);color:#3b82f6}
.dash-item-icon.green {background:rgba(16,185,129,.15);color:#10b981}
.dash-item-icon.orange{background:rgba(245,158,11,.15);color:#f59e0b}
.dash-item-icon.red   {background:rgba(239,68,68,.15);color:#ef4444}
.dash-item-body{flex:1;min-width:0}
.dash-item-title{font-size:.82rem;font-weight:700;color:var(--text-color-override);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-item-sub{font-size:.7rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.dash-item-time{font-size:.65rem;color:var(--text-secondary);opacity:.7;flex-shrink:0}
.dash-empty{padding:30px 10px;text-align:center;color:var(--text-secondary);font-size:.82rem;opacity:.7}

@media (min-width:1025px){ .dash-stats{grid-template-columns:repeat(4,1fr);gap:16px} .stat-card{padding:22px} .stat-icon{width:56px;height:56px;font-size:1.5rem} .stat-value{font-size:1.7rem} .chart-body{height:280px} }
@media (max-width:1024px){ .dash-stats{grid-template-columns:repeat(2,1fr)} .dash-charts{grid-template-columns:1fr} .dash-bottom{grid-template-columns:1fr} }
@media (max-width:900px){ .dash-hero h1{font-size:1.35rem} .stat-card{padding:14px} .stat-icon{width:46px;height:46px;font-size:1.2rem} .stat-value{font-size:1.3rem} .chart-body{height:220px} }
@media (max-width:480px){ .dash-stats{grid-template-columns:1fr;gap:10px} .stat-card{padding:12px} .stat-icon{width:42px;height:42px;font-size:1.05rem} .stat-value{font-size:1.2rem} .stat-label{font-size:.65rem} .chart-body{height:200px} }
body.light-mode .chart-card, body.light-mode .stat-card, body.light-mode .dash-card{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.05)}