/* Bloco 40 - Admin Premium
   Refinamento visual seguro do painel administrativo.
   Não altera regras, banco, checkout ou integrações.
*/

body.admin-premium,
.admin-premium body,
body:has(.admin-wrapper),
body:has(.sidebar),
body:has(.admin-content) {
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.18), transparent 32rem),
    linear-gradient(135deg, #0b1120 0%, #111827 55%, #0f172a 100%);
  color: rgba(255,255,255,.9);
}

.admin-premium .card,
.admin-premium .box,
.admin-premium .panel,
.admin-premium .dashboard-card,
.admin-premium .stat-card,
.admin-premium .table,
.admin-premium .modal-content,
.admin-premium .form-control,
.admin-premium .form-select,
.admin-premium input,
.admin-premium select,
.admin-premium textarea {
  border-radius: 18px !important;
}

.admin-premium .card,
.admin-premium .box,
.admin-premium .panel,
.admin-premium .dashboard-card,
.admin-premium .stat-card {
  background: linear-gradient(135deg, rgba(17,24,39,.96), rgba(31,41,55,.88)) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.24) !important;
  color: rgba(255,255,255,.92) !important;
}

.admin-premium .table {
  overflow: hidden;
  border-color: rgba(255,255,255,.08) !important;
}

.admin-premium table {
  color: rgba(255,255,255,.88) !important;
}

.admin-premium table thead,
.admin-premium .table thead {
  background: rgba(255,255,255,.06) !important;
}

.admin-premium table th {
  color: rgba(255,255,255,.78) !important;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  border-color: rgba(255,255,255,.08) !important;
}

.admin-premium table td {
  border-color: rgba(255,255,255,.06) !important;
  vertical-align: middle;
}

.admin-premium .btn,
.admin-premium button {
  border-radius: 14px !important;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.admin-premium .btn:hover,
.admin-premium button:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.admin-premium .btn-primary,
.admin-premium .btn-success {
  border: 0 !important;
  background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
}

.admin-premium input,
.admin-premium select,
.admin-premium textarea,
.admin-premium .form-control,
.admin-premium .form-select {
  background: rgba(15,23,42,.82) !important;
  border: 1px solid rgba(255,255,255,.11) !important;
  color: rgba(255,255,255,.92) !important;
}

.admin-premium input:focus,
.admin-premium select:focus,
.admin-premium textarea:focus,
.admin-premium .form-control:focus,
.admin-premium .form-select:focus {
  border-color: rgba(167,139,250,.76) !important;
  box-shadow: 0 0 0 3px rgba(124,58,237,.22) !important;
}

.admin-premium .navbar,
.admin-premium .topbar,
.admin-premium .header,
.admin-premium .sidebar {
  background: rgba(15,23,42,.88) !important;
  border-color: rgba(255,255,255,.08) !important;
  backdrop-filter: blur(14px);
}

.admin-premium a {
  color: #c4b5fd;
}

.admin-premium .badge {
  border-radius: 999px;
  padding: .45em .72em;
}

.admin-premium .alert {
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.admin-premium-metric {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(124,58,237,.22), rgba(37,99,235,.13));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.20);
}

.admin-premium-metric small {
  color: rgba(255,255,255,.62);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.admin-premium-metric strong {
  color: #fff;
  font-size: 1.55rem;
  line-height: 1.1;
}

.admin-premium-row-enter {
  animation: adminPremiumEnter .24s ease both;
}

@keyframes adminPremiumEnter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
  .admin-premium .table-responsive {
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.08);
  }

  .admin-premium .card,
  .admin-premium .box,
  .admin-premium .panel {
    border-radius: 20px !important;
  }
}
