/*──────────────────────────────────────────────────────────────
  Lova Jewels – Admin Panel Styles
──────────────────────────────────────────────────────────────*/

/* ── Login Page ─────────────────────────────────────────────── */
.admin-body {
  background: #F3F0EB;
}
.admin-login-wrapper {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:2rem;
}
.admin-login-card {
  width:100%; max-width:420px; padding:2.5rem;
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow: 0 8px 32px rgba(0,0,0,.08);
}
.admin-login-card h2 {
  font-family:var(--serif); font-size:1.6rem; color:var(--text);
  text-align:center; margin-bottom:1.5rem;
}
.login-error {
  background:rgba(231,76,60,.08); color:var(--danger);
  padding:.75rem 1rem; border-radius:var(--radius);
  font-size:.85rem; margin-bottom:1rem; text-align:center;
  border:1px solid rgba(231,76,60,.15);
}
.back-link {
  display:block; text-align:center; margin-top:1.5rem;
  color:var(--text-dim); font-size:.85rem;
}

/* ── Sidebar ────────────────────────────────────────────────── */
.admin-sidebar {
  position:fixed; top:0; left:0; bottom:0; width:240px;
  background:#fff; border-right:1px solid var(--border);
  z-index:100; display:flex; flex-direction:column;
  padding:1.5rem 0;
}
.sidebar-brand {
  display:flex; align-items:center; gap:.5rem;
  padding:0 1.5rem 1.5rem;
  border-bottom:1px solid var(--border);
}
.sidebar-brand .logo-icon { color:var(--gold); font-size:1.2rem; }
.sidebar-brand .logo-text {
  font-family:var(--serif); font-size:1.3rem; font-weight:700; color:var(--text);
}
.sidebar-brand .logo-sub {
  font-size:.6rem; letter-spacing:.2em; color:var(--text-dim);
}
.sidebar-nav {
  flex:1; padding:1rem 0; display:flex; flex-direction:column;
}
.sidebar-link {
  display:flex; align-items:center; gap:.75rem;
  padding:.75rem 1.5rem; color:var(--text-dim); font-size:.9rem;
  font-weight:500; transition: all var(--transition);
}
.sidebar-link:hover {
  background:var(--bg-hover); color:var(--text);
}
.sidebar-icon { font-size:.85rem; color:var(--gold); }
.sidebar-divider {
  height:1px; background:var(--border); margin:1rem 1.5rem;
}
.sidebar-logout { margin-top:auto; color:var(--danger); }
.sidebar-logout:hover { background:rgba(231,76,60,.06); }

/* ── Main Content ───────────────────────────────────────────── */
.admin-main {
  margin-left:240px; min-height:100vh;
  background:#F3F0EB;
}
.admin-header {
  padding:1.25rem 2rem;
  border-bottom:1px solid var(--border);
  background:#fff;
  position:sticky; top:0; z-index:50;
  display:flex; align-items:center; gap:1rem;
}
.admin-page-title {
  font-family:var(--serif); font-size:1.3rem; color:var(--text);
}
.admin-menu-toggle {
  display:none; background:none; border:none;
  color:var(--text); font-size:1.4rem;
}
.admin-content {
  padding:2rem;
}

/* ── Stats ──────────────────────────────────────────────────── */
.stats-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:1.25rem; margin-bottom:2.5rem;
}
.stat-card {
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius); padding:1.5rem; text-align:center;
  transition: all var(--transition);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.stat-card:hover {
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.stat-highlight {
  border-color:var(--gold);
  background: linear-gradient(135deg, rgba(160,117,42,.06), #fff);
}
.stat-icon { font-size:1.5rem; color:var(--gold); margin-bottom:.5rem; }
.stat-value {
  font-family:var(--serif); font-size:2rem; font-weight:700;
  color:var(--text); margin-bottom:.25rem;
}
.stat-label {
  font-size:.8rem; color:var(--text-dim); text-transform:uppercase;
  letter-spacing:.1em;
}

/* ── Quick Actions ──────────────────────────────────────────── */
.admin-quick-links h3 {
  font-family:var(--serif); font-size:1.2rem; color:var(--text);
  margin-bottom:1rem;
}
.quick-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1rem;
}
.quick-card {
  padding:2rem 1.5rem; text-align:center;
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius);
  transition: all var(--transition);
  display:block;
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.quick-card:hover {
  border-color:var(--gold); transform:translateY(-2px);
  background:var(--bg-hover);
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
}
.quick-card span {
  display:block; font-size:1.8rem; color:var(--gold); margin-bottom:.5rem;
}
.quick-card p { color:var(--text-dim); font-size:.85rem; }

/* ── Table ──────────────────────────────────────────────────── */
.admin-toolbar {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:1.5rem;
}
.admin-toolbar p { color:var(--text-dim); font-size:.9rem; }
.admin-table-wrap {
  overflow-x:auto; background:#fff;
  border:1px solid var(--border); border-radius:var(--radius);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.admin-table {
  width:100%; border-collapse:collapse;
}
.admin-table th {
  text-align:left; padding:.85rem 1rem;
  font-size:.75rem; text-transform:uppercase; letter-spacing:.08em;
  color:var(--text-dim); background:#F8F5F0;
  border-bottom:1px solid var(--border);
}
.admin-table td {
  padding:.85rem 1rem; font-size:.9rem;
  border-bottom:1px solid var(--border);
  vertical-align:middle; color:var(--text);
}
.admin-table tbody tr:hover { background:#F8F5F0; }
.table-thumb {
  width:50px; height:50px; object-fit:cover; border-radius:6px;
  border:1px solid var(--border);
}
.table-actions { display:flex; gap:.5rem; }
.badge {
  display:inline-block; padding:.25rem .6rem;
  font-size:.7rem; border-radius:50px; letter-spacing:.05em;
  text-transform:uppercase; font-weight:600;
  background:#F3F0EB; color:var(--text-dim);
  border:1px solid var(--border);
}
.badge-paid { background:rgba(39,174,96,.08); color:var(--success); border-color:rgba(39,174,96,.25); }
.badge-pending { background:rgba(160,117,42,.08); color:var(--gold); border-color:rgba(160,117,42,.25); }
.badge-processing { background:rgba(52,152,219,.08); color:#2980b9; border-color:rgba(52,152,219,.25); }
.badge-shipped { background:rgba(142,68,173,.08); color:#8e44ad; border-color:rgba(142,68,173,.25); }
.badge-delivered { background:rgba(39,174,96,.08); color:var(--success); border-color:rgba(39,174,96,.25); }
.badge-cancelled { background:rgba(231,76,60,.08); color:var(--danger); border-color:rgba(231,76,60,.25); }

.order-id { font-family:monospace; font-size:.8rem; color:var(--text-dim); }
.status-select {
  padding:.4rem .6rem; background:#fff;
  border:1px solid var(--border); border-radius:var(--radius);
  color:var(--text); font-size:.8rem;
}

/* ── Admin Form ─────────────────────────────────────────────── */
.admin-form-wrap { max-width:760px; }
.admin-form {
  padding:2rem; background:#fff;
  border:1px solid var(--border); border-radius:var(--radius);
  box-shadow: 0 2px 8px rgba(0,0,0,.04);
}
.img-preview-wrap { margin-top:.6rem; }
.img-preview {
  max-width:180px; max-height:180px;
  object-fit:cover; border-radius:8px;
  border:1px solid var(--border);
}
.image-row {
  display:flex; gap:.5rem; align-items:center; margin-bottom:.5rem;
}
.image-row input { flex:1; }
.form-check { display:flex; align-items:center; gap:.5rem; }
.form-check label { display:flex; align-items:center; gap:.5rem; cursor:pointer; }
.form-check input[type=checkbox] { width:16px; height:16px; cursor:pointer; }

/* ── Button helpers ─────────────────────────────────────────── */
.btn-block { width:100%; }
.btn-sm { padding:.45rem 1rem; font-size:.78rem; }
.btn-danger {
  background:rgba(231,76,60,.08); color:var(--danger);
  border:1px solid rgba(231,76,60,.2);
}
.btn-danger:hover { background:rgba(231,76,60,.15); }

/* ── Responsive Admin ───────────────────────────────────────── */
@media (max-width:768px) {
  .admin-sidebar {
    transform:translateX(-100%);
    transition: transform .3s ease;
  }
  .admin-sidebar.open { transform:translateX(0); }
  .admin-main { margin-left:0; }
  .admin-menu-toggle { display:block; }
  .stats-grid { grid-template-columns:1fr 1fr; }
}
