/* ==========================================================================
   GLYRA Admin — Dashboard chrome
   ========================================================================== */
body { background: var(--color-bg-alt); }

.admin-shell { display: grid; grid-template-columns: 240px 1fr; min-height: 100vh; }

.admin-sidebar {
  background: var(--color-dark);
  color: var(--color-text-inverse);
  padding: var(--space-lg) var(--space-md);
  display: flex;
  flex-direction: column;
}
.admin-sidebar .logo-img { height: 24px; margin-bottom: var(--space-xl); }
.admin-nav { display: flex; flex-direction: column; gap: 4px; flex: 1; }
.admin-nav a {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  padding: 0.7rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  color: rgba(247, 242, 231, 0.7);
  transition: background var(--dur-base), color var(--dur-base);
}
.admin-nav a svg { width: 18px; height: 18px; }
.admin-nav a:hover { background: rgba(247, 242, 231, 0.08); color: var(--color-text-inverse); }
.admin-nav a.is-active { background: var(--color-primary); color: var(--color-text-inverse); }
.admin-user { font-size: var(--fs-xs); color: rgba(247, 242, 231, 0.6); padding: 0.85rem; border-top: 1px solid rgba(247,242,231,0.12); margin-top: var(--space-md); }
.admin-logout {
  margin-top: var(--space-sm);
  width: 100%;
  text-align: left;
  padding: 0.7rem 0.85rem;
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  color: rgba(247, 242, 231, 0.7);
  transition: background var(--dur-base), color var(--dur-base);
}
.admin-logout:hover { background: rgba(247, 242, 231, 0.08); color: var(--color-text-inverse); }

.admin-main { padding: var(--space-xl) var(--space-2xl); max-width: 1200px; }
.admin-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: var(--space-xl); flex-wrap: wrap; gap: var(--space-sm); }
.admin-header h1 { font-size: var(--fs-xl); }
.admin-header p { color: var(--color-text-muted); font-size: var(--fs-sm); }

.admin-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--space-md); margin-bottom: var(--space-xl); }
.admin-card { background: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-lg); box-shadow: var(--shadow-sm); }
.admin-card span { display: block; font-size: var(--fs-xs); color: var(--color-text-muted); margin-bottom: var(--space-xs); text-transform: uppercase; letter-spacing: 0.04em; }
.admin-card strong { font-size: var(--fs-xl); font-family: var(--font-display); }
.admin-card.is-alert strong { color: #B4483A; }

.admin-panel { background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); padding: var(--space-lg); margin-bottom: var(--space-xl); }
.admin-panel h2 { font-size: var(--fs-md); margin-bottom: var(--space-md); }

.admin-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.admin-table th { text-align: left; color: var(--color-text-muted); font-weight: 600; font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: 0.03em; padding: var(--space-xs) var(--space-sm); border-bottom: 1px solid var(--color-border); }
.admin-table td { padding: var(--space-sm); border-bottom: 1px solid var(--color-border-light); vertical-align: middle; }
.admin-table tr:last-child td { border-bottom: none; }

.admin-badge { display: inline-block; padding: 3px 10px; border-radius: var(--radius-full); font-size: var(--fs-xs); font-weight: 600; text-transform: capitalize; }
.admin-badge.status-received, .admin-badge.status-pending { background: rgba(195,154,91,0.18); color: #8a6a34; }
.admin-badge.status-confirmed, .admin-badge.status-paid { background: rgba(95,110,79,0.18); color: var(--color-primary-dark); }
.admin-badge.status-shipped { background: rgba(107,122,94,0.18); color: #4a5540; }
.admin-badge.status-delivered { background: rgba(95,110,79,0.25); color: var(--color-primary-dark); }
.admin-badge.status-cancelled, .admin-badge.status-failed { background: rgba(180,72,58,0.15); color: #B4483A; }
.admin-badge.status-awaiting_setup { background: rgba(107,106,95,0.15); color: var(--color-text-muted); }

.admin-select { padding: 6px 10px; border-radius: var(--radius-sm); border: 1px solid var(--color-border); font-size: var(--fs-xs); background: var(--color-bg); font-family: inherit; }
.admin-input-sm { width: 100px; padding: 6px 10px; border-radius: var(--radius-sm); border: 1px solid var(--color-border); font-size: var(--fs-sm); font-family: inherit; background: var(--color-bg); }
.admin-save-btn { padding: 6px 14px; border-radius: var(--radius-full); background: var(--color-dark); color: var(--color-text-inverse); font-size: var(--fs-xs); font-weight: 600; }
.admin-save-btn:hover { background: var(--color-primary-dark); }
.admin-save-btn:disabled { opacity: 0.5; cursor: default; }

.admin-empty { color: var(--color-text-muted); font-size: var(--fs-sm); padding: var(--space-lg) 0; text-align: center; }

.admin-login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--color-bg-alt); }
.admin-login-card { width: 100%; max-width: 380px; background: var(--color-surface); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); padding: var(--space-2xl); }
.admin-login-card .logo-img { height: 30px; margin-bottom: var(--space-lg); }
.admin-login-card h1 { font-size: var(--fs-lg); margin-bottom: var(--space-xs); }
.admin-login-card p { color: var(--color-text-muted); font-size: var(--fs-sm); margin-bottom: var(--space-lg); }
.admin-login-error { color: #B4483A; font-size: var(--fs-sm); min-height: 1.2em; margin-bottom: var(--space-sm); }

@media (max-width: 860px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { flex-direction: row; align-items: center; overflow-x: auto; }
  .admin-nav { flex-direction: row; }
  .admin-user, .admin-sidebar .logo-img { display: none; }
}

/* Editor forms (products / collections / blogs / discounts / settings) */
.admin-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--space-md); }
.admin-form .full { grid-column: 1 / -1; }
.admin-form label { display: block; font-size: var(--fs-xs); font-weight: 600; margin-bottom: 4px; color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.03em; }
.admin-form input,
.admin-form select,
.admin-form textarea {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: var(--fs-sm);
  font-family: inherit;
  background: var(--color-bg);
}
.admin-form textarea { resize: vertical; min-height: 90px; }
.admin-form input:focus-visible, .admin-form select:focus-visible, .admin-form textarea:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 1px; }
.admin-form .hint { font-size: var(--fs-xs); color: var(--color-text-muted); margin-top: 4px; }
.admin-form-actions { grid-column: 1 / -1; display: flex; gap: var(--space-sm); align-items: center; flex-wrap: wrap; }
.admin-form-error { grid-column: 1 / -1; color: #B4483A; font-size: var(--fs-sm); min-height: 1.2em; }

.admin-btn {
  padding: 0.65rem 1.4rem;
  border-radius: var(--radius-full);
  background: var(--color-dark);
  color: var(--color-text-inverse);
  font-size: var(--fs-sm);
  font-weight: 600;
}
.admin-btn:hover { background: var(--color-primary-dark); }
.admin-btn:disabled { opacity: 0.5; cursor: default; }
.admin-btn-outline { background: transparent; color: var(--color-dark); border: 1.5px solid var(--color-border); }
.admin-btn-outline:hover { background: var(--color-bg-alt); color: var(--color-dark); }
.admin-btn-danger { background: transparent; color: #B4483A; border: 1.5px solid rgba(180,72,58,0.4); }
.admin-btn-danger:hover { background: rgba(180,72,58,0.1); color: #B4483A; }
.admin-link-danger { color: #B4483A; font-size: var(--fs-xs); font-weight: 600; }
.admin-link-edit { color: var(--color-primary-dark); font-size: var(--fs-xs); font-weight: 600; margin-right: var(--space-sm); }

.admin-thumb { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; background: var(--color-bg-alt); }
.admin-upload-preview { display: flex; gap: var(--space-2xs); flex-wrap: wrap; margin-top: var(--space-2xs); }
.admin-upload-preview img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; border: 1px solid var(--color-border); }
.admin-success { color: var(--color-primary-dark); font-size: var(--fs-sm); }

@media (max-width: 720px) { .admin-form { grid-template-columns: 1fr; } }

/* Reports */
.admin-panel-head { display: flex; justify-content: space-between; align-items: center; gap: var(--space-md); flex-wrap: wrap; margin-bottom: var(--space-md); }
.admin-panel-head h2 { margin-bottom: 0; }
.admin-period-tabs { display: flex; gap: 4px; background: var(--color-bg-alt); border-radius: var(--radius-full); padding: 4px; }
.admin-period-tabs button { padding: 6px 16px; border-radius: var(--radius-full); font-size: var(--fs-xs); font-weight: 600; color: var(--color-text-muted); }
.admin-period-tabs button.is-active { background: var(--color-dark); color: var(--color-text-inverse); }
.admin-cards-compact { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); margin-bottom: var(--space-md); }
