/* ============================================================
   Luxora Portfolio — Admin Panel CSS
   Dark theme admin dashboard
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
  --admin-bg:       #060B17;
  --admin-surface:  #0D1526;
  --admin-card:     #111827;
  --admin-border:   rgba(255,255,255,0.07);
  --admin-accent:   #6C63FF;
  --admin-accent2:  #a855f7;
  --admin-text:     #F1F5F9;
  --admin-muted:    #64748B;
  --admin-sidebar:  220px;
  --success:        #10b981;
  --warning:        #f59e0b;
  --danger:         #ef4444;
  --info:           #38bdf8;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;background:var(--admin-bg);color:var(--admin-text);line-height:1.6;-webkit-font-smoothing:antialiased;}
a{color:var(--admin-accent);text-decoration:none;}
img{max-width:100%;display:block;}

/* ─── Layout ─────────────────────────────────────────────── */
.admin-layout { display:flex; min-height:100vh; }

/* ─── Sidebar ────────────────────────────────────────────── */
.admin-sidebar {
  width:var(--admin-sidebar); background:var(--admin-surface);
  border-right:1px solid var(--admin-border); display:flex; flex-direction:column;
  position:fixed; top:0; left:0; bottom:0; z-index:300; overflow-y:auto;
  transition:transform .3s ease;
}
.sidebar-logo {
  padding:24px 20px; border-bottom:1px solid var(--admin-border);
  font-weight:800; font-size:1.4rem; background:linear-gradient(135deg,#6C63FF,#a855f7);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.sidebar-nav { padding:16px 12px; flex:1; }
.nav-label { font-size:.68rem; font-weight:600; color:var(--admin-muted); text-transform:uppercase; letter-spacing:.1em; padding:12px 8px 6px; }
.nav-item {
  display:flex; align-items:center; gap:10px; padding:10px 12px;
  border-radius:8px; font-size:.88rem; font-weight:500; color:#94a3b8;
  transition:all .2s; margin-bottom:2px;
}
.nav-item:hover { background:rgba(108,99,255,.10); color:var(--admin-text); }
.nav-item.active { background:rgba(108,99,255,.15); color:var(--admin-accent); }
.nav-item.active i { color:var(--admin-accent); }
.nav-item i { width:18px; text-align:center; font-size:.9rem; }
.nav-item .badge-count {
  margin-left:auto; background:var(--admin-accent); color:#fff;
  border-radius:99px; font-size:.7rem; padding:2px 7px; font-weight:700;
}
.sidebar-footer {
  padding:16px 12px; border-top:1px solid var(--admin-border);
}
.admin-user {
  display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px;
  background:rgba(255,255,255,.04); margin-bottom:8px;
}
.admin-avatar {
  width:36px;height:36px;border-radius:50%; background:linear-gradient(135deg,#6C63FF,#a855f7);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;color:#fff;flex-shrink:0;
}
.admin-name  { font-size:.88rem; font-weight:600; }
.admin-role  { font-size:.72rem; color:var(--admin-muted); }
.logout-btn  {
  display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:8px;
  color:#ef4444;font-size:.88rem;font-weight:500;transition:all .2s;width:100%;border:none;background:transparent;cursor:pointer;
}
.logout-btn:hover { background:rgba(239,68,68,.10); }

/* ─── Main Content ───────────────────────────────────────── */
.admin-main { flex:1; margin-left:var(--admin-sidebar); display:flex; flex-direction:column; min-height:100vh; }
.admin-header {
  background:var(--admin-surface); border-bottom:1px solid var(--admin-border);
  padding:0 28px; height:64px; display:flex; align-items:center; justify-content:space-between;
  position:sticky; top:0; z-index:200;
}
.admin-header-title { font-size:1.1rem; font-weight:700; }
.admin-header-actions { display:flex; align-items:center; gap:12px; }
.admin-content { padding:28px; flex:1; }

/* ─── Stats Cards ────────────────────────────────────────── */
.stats-row { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; margin-bottom:24px; }
.stat-widget {
  background:var(--admin-card); border:1px solid var(--admin-border); border-radius:12px;
  padding:20px; display:flex; align-items:center; gap:16px; transition:all .2s;
}
.stat-widget:hover { border-color:rgba(108,99,255,.35); transform:translateY(-2px); }
.stat-widget-icon {
  width:52px;height:52px;border-radius:12px; display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;flex-shrink:0;
}
.stat-widget-num  { font-size:1.8rem; font-weight:800; line-height:1; margin-bottom:3px; }
.stat-widget-label{ font-size:.78rem; color:var(--admin-muted); font-weight:500; text-transform:uppercase; letter-spacing:.06em; }

/* ─── Cards ──────────────────────────────────────────────── */
.admin-card {
  background:var(--admin-card); border:1px solid var(--admin-border); border-radius:12px; overflow:hidden;
}
.admin-card-header {
  padding:16px 20px; border-bottom:1px solid var(--admin-border);
  display:flex; align-items:center; justify-content:space-between;
}
.admin-card-header h3 { font-size:.95rem; font-weight:700; }
.admin-card-body { padding:20px; }

/* ─── Table ──────────────────────────────────────────────── */
.admin-table-wrap { overflow-x:auto; }
.admin-table { width:100%; border-collapse:collapse; font-size:.88rem; }
.admin-table th { padding:11px 14px; text-align:left; font-size:.72rem; font-weight:600; color:var(--admin-muted); text-transform:uppercase; letter-spacing:.07em; border-bottom:1px solid var(--admin-border); }
.admin-table td { padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.04); vertical-align:middle; }
.admin-table tr:hover td { background:rgba(255,255,255,.02); }
.admin-table tr:last-child td { border-bottom:none; }
.table-thumb { width:50px;height:40px;border-radius:6px;object-fit:cover;background:rgba(255,255,255,.05); }
.tbl-actions { display:flex;gap:6px;align-items:center; }

/* ─── Buttons ────────────────────────────────────────────── */
.btn-a { display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:all .2s; }
.btn-primary-a { background:linear-gradient(135deg,#6C63FF,#a855f7);color:#fff; }
.btn-primary-a:hover { opacity:.9;transform:translateY(-1px); }
.btn-sm-a { padding:6px 12px;font-size:.8rem; }
.btn-danger-a  { background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.25); }
.btn-danger-a:hover  { background:rgba(239,68,68,.25); }
.btn-success-a { background:rgba(16,185,129,.15);color:#10b981;border:1px solid rgba(16,185,129,.25); }
.btn-success-a:hover { background:rgba(16,185,129,.25); }
.btn-ghost-a   { background:rgba(255,255,255,.05);color:var(--admin-text);border:1px solid var(--admin-border); }
.btn-ghost-a:hover   { background:rgba(255,255,255,.08); }
.btn-warning-a { background:rgba(245,158,11,.15);color:#f59e0b;border:1px solid rgba(245,158,11,.25); }

/* ─── Forms ──────────────────────────────────────────────── */
.adm-form-group { margin-bottom:18px; }
.adm-form-group label { display:block;margin-bottom:6px;font-size:.83rem;font-weight:500;color:#94a3b8; }
.adm-control {
  width:100%;padding:10px 14px;background:rgba(255,255,255,.05);border:1px solid var(--admin-border);
  border-radius:8px;color:var(--admin-text);font-family:'Inter',sans-serif;font-size:.9rem;outline:none;transition:all .2s;
}
.adm-control::placeholder { color:var(--admin-muted); }
.adm-control:focus { border-color:var(--admin-accent);box-shadow:0 0 0 3px rgba(108,99,255,.15); }
textarea.adm-control { resize:vertical;min-height:120px; }
.adm-row { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.adm-row-3 { display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px; }

/* ─── Badges ─────────────────────────────────────────────── */
.badge-a { display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em; }
.badge-success { background:rgba(16,185,129,.15);color:#10b981; }
.badge-warning { background:rgba(245,158,11,.15);color:#f59e0b; }
.badge-danger  { background:rgba(239,68,68,.15);color:#ef4444; }
.badge-info    { background:rgba(56,189,248,.15);color:#38bdf8; }
.badge-purple  { background:rgba(168,85,247,.15);color:#a855f7; }

/* ─── Alerts ─────────────────────────────────────────────── */
.adm-alert { padding:12px 16px;border-radius:8px;font-size:.88rem;margin-bottom:16px;display:flex;align-items:center;gap:8px; }
.adm-alert-success { background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.30);color:#10b981; }
.adm-alert-error   { background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.30);color:#ef4444; }
.adm-alert-info    { background:rgba(108,99,255,.10);border:1px solid rgba(108,99,255,.25);color:#6C63FF; }

/* ─── Login Page ─────────────────────────────────────────── */
.admin-login-wrap {
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--admin-bg); padding:20px; position:relative; overflow:hidden;
}
.login-blob-1 { position:absolute;width:500px;height:500px;border-radius:50%;background:#6C63FF;opacity:.06;filter:blur(80px);top:-100px;left:-100px;pointer-events:none; }
.login-blob-2 { position:absolute;width:400px;height:400px;border-radius:50%;background:#a855f7;opacity:.06;filter:blur(80px);bottom:-80px;right:-80px;pointer-events:none; }
.login-card {
  background:var(--admin-surface);border:1px solid var(--admin-border);border-radius:16px;
  padding:40px;width:100%;max-width:420px;position:relative;z-index:1;
}
.login-logo { text-align:center;margin-bottom:28px; }
.login-logo span { font-size:2rem;font-weight:900;background:linear-gradient(135deg,#6C63FF,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text; }
.login-logo p { font-size:.82rem;color:var(--admin-muted);margin-top:4px; }
.login-card h2 { font-size:1.4rem;margin-bottom:6px; }
.login-card .sub { font-size:.88rem;color:var(--admin-muted);margin-bottom:24px; }

/* ─── Inline Mini Chart (Chart Strip) ───────────────────── */
.chart-wrap { height:180px; }

/* ─── Mobile Responsive ──────────────────────────────────── */
@media(max-width:900px){
  .admin-sidebar { transform:translateX(-100%); }
  .admin-sidebar.open { transform:translateX(0); }
  .admin-main { margin-left:0; }
  .stats-row { grid-template-columns:1fr 1fr; }
  .adm-row,.adm-row-3 { grid-template-columns:1fr; }
}
@media(max-width:480px){
  .stats-row { grid-template-columns:1fr; }
  .admin-content { padding:16px; }
}
