.admin-shell { padding: 48px 0 76px; display: flex; flex-direction: column; gap: 28px; }
.admin-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 28px;
}
.admin-login { max-width: 480px; margin: 0 auto; }
.admin-auth-status { font-size: .88rem; font-weight: 800; color: var(--muted); display: flex; align-items: center; gap: 12px; }
.admin-auth-status button { background: none; border: 1px solid var(--border); border-radius: 8px; padding: 8px 12px; font-weight: 800; cursor: pointer; }

.admin-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 18px;
}
.admin-form .field.full { grid-column: 1 / -1; }
.admin-form .btn.full { grid-column: 1 / -1; }

.admin-error { color: var(--red); font-weight: 700; margin-top: 14px; }
.admin-success { color: var(--green); font-weight: 700; margin-top: 14px; }

.admin-list { margin-top: 20px; display: flex; flex-direction: column; gap: 16px; }
.admin-item {
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 18px;
}
.admin-item-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 12px; }
.admin-item-head h3 { margin: 0; font-size: 1.1rem; color: var(--green-dark); }
.admin-item-actions { display: flex; gap: 10px; }
.admin-item-actions button { font-size: .82rem; padding: 9px 14px; }
.btn-danger { background: transparent; color: var(--red); border: 2px solid var(--red); }

.status.instock { background: #dcefe0; color: var(--green-dark); }

.admin-add { margin-top: 22px; border-top: 1px solid var(--border); padding-top: 18px; }
.admin-add summary { cursor: pointer; font-weight: 900; color: var(--green); }

@media (max-width: 700px) {
  .admin-form { grid-template-columns: 1fr; }
  .admin-form .field.full, .admin-form .btn.full { grid-column: auto; }
}
