/*
 * LERCTECH UI Elevation
 * Sombra/hover compartilhados sem alterar background, glass, gradient ou transparência.
 * Carregado depois de app.css e antes dos CSS específicos por módulo.
 */
:root{
  --ui-elevation-shadow:0 8px 22px rgba(0,0,0,.10);
  --ui-elevation-shadow-hover:0 15px 34px color-mix(in srgb,var(--primary) 12%,rgba(0,0,0,.20));
  --ui-elevation-border-hover:color-mix(in srgb,var(--primary) 28%,var(--border));
}
html[data-theme="dark"],html[data-default-theme="dark"]{
  --ui-elevation-shadow:0 9px 24px rgba(0,0,0,.24);
  --ui-elevation-shadow-hover:0 16px 36px color-mix(in srgb,var(--primary) 16%,rgba(0,0,0,.42));
}

/* Cards/blocos semânticos. Não atinge DIVs estruturais puras. */
:where(
  .admin-content .card,
  .admin-content .metric,
  .admin-content .kpi,
  .admin-content [class$="-card"],
  .admin-content [class*="-card "],
  .admin-content [class$="-kpi"],
  .admin-content [class*="-kpi "],
  .admin-content .setting-block,
  .admin-content .theme-context-card,
  .public-body .card,
  .public-body .campaign-card,
  .public-body .reservation-card,
  .public-body .hall-card,
  .public-body [class$="-card"],
  .public-body [class*="-card "]
){
  box-shadow:var(--ui-elevation-shadow);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

:where(
  .admin-content .card,
  .admin-content .metric,
  .admin-content .kpi,
  .admin-content [class$="-card"],
  .admin-content [class*="-card "],
  .admin-content [class$="-kpi"],
  .admin-content [class*="-kpi "],
  .admin-content .setting-block,
  .admin-content .theme-context-card,
  .public-body .card,
  .public-body .campaign-card,
  .public-body .reservation-card,
  .public-body .hall-card,
  .public-body [class$="-card"],
  .public-body [class*="-card "]
):hover{
  transform:translateY(-2px);
  border-color:var(--ui-elevation-border-hover);
  box-shadow:var(--ui-elevation-shadow-hover),0 0 0 1px color-mix(in srgb,var(--primary) 7%,transparent);
}

/* Elementos que não devem se mover mesmo quando semanticamente chamados de card. */
:where(.modal-card,.login-card,.profile-dropdown,.sidebar,.topbar,.admin-top):hover{transform:none}

@media(prefers-reduced-motion:reduce){
  :where(
    .admin-content .card,.admin-content .metric,.admin-content .kpi,
    .admin-content [class$="-card"],.admin-content [class*="-card "],
    .admin-content [class$="-kpi"],.admin-content [class*="-kpi "],
    .public-body .card,.public-body [class$="-card"],.public-body [class*="-card "]
  ){transition:none}
  :where(
    .admin-content .card,.admin-content .metric,.admin-content .kpi,
    .admin-content [class$="-card"],.admin-content [class*="-card "],
    .admin-content [class$="-kpi"],.admin-content [class*="-kpi "],
    .public-body .card,.public-body [class$="-card"],.public-body [class*="-card "]
  ):hover{transform:none}
}

/* FIX 0.10.1 — KPI elevation V2
 * Reforça a elevação dos KPIs mesmo quando estilos antigos do app.css
 * possuem maior especificidade. Não altera background/Glass/Transparência.
 */
.admin-content .metric,
.admin-content .stat,
.admin-content .mini-stat,
.admin-content .kpi,
.admin-content .metric-card,
.admin-content .kpi-card,
.admin-content .health-counters > div,
.admin-content .coupon-revenue-strip > div,
.admin-content .finance-summary-grid > div,
.admin-content .executive-metric-grid > div,
.admin-content .report-metrics > div,
.admin-content .raffle-summary-stats > div,
.admin-content .demo-mode-summary > div,
.admin-content .registration-reservation-summary > div,
.admin-content .transparency-kpi-grid > div,
.admin-content .testimonial-selected-kpis > div,
.admin-content .finance-metric-grid > div,
.admin-content .api-kpi-grid > div,
.admin-content .crm-kpi-grid > div,
.admin-content .security-status-grid > div,
.admin-content .health-summary > div,
.admin-content .notification-center-kpis > div,
.admin-content .coupon-rule-metrics > div,
.admin-content .order-admin-metrics > div,
.admin-content .backup-summary > div,
.admin-content .cron-central-summary > div,
.admin-content .registered-users-summary > div {
  box-shadow:var(--ui-elevation-shadow) !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}

.admin-content .metric:hover,
.admin-content .stat:hover,
.admin-content .mini-stat:hover,
.admin-content .kpi:hover,
.admin-content .metric-card:hover,
.admin-content .kpi-card:hover,
.admin-content .health-counters > div:hover,
.admin-content .coupon-revenue-strip > div:hover,
.admin-content .finance-summary-grid > div:hover,
.admin-content .executive-metric-grid > div:hover,
.admin-content .report-metrics > div:hover,
.admin-content .raffle-summary-stats > div:hover,
.admin-content .demo-mode-summary > div:hover,
.admin-content .registration-reservation-summary > div:hover,
.admin-content .transparency-kpi-grid > div:hover,
.admin-content .testimonial-selected-kpis > div:hover,
.admin-content .finance-metric-grid > div:hover,
.admin-content .api-kpi-grid > div:hover,
.admin-content .crm-kpi-grid > div:hover,
.admin-content .security-status-grid > div:hover,
.admin-content .health-summary > div:hover,
.admin-content .notification-center-kpis > div:hover,
.admin-content .coupon-rule-metrics > div:hover,
.admin-content .order-admin-metrics > div:hover,
.admin-content .backup-summary > div:hover,
.admin-content .cron-central-summary > div:hover,
.admin-content .registered-users-summary > div:hover {
  transform:translateY(-2px) !important;
  border-color:var(--ui-elevation-border-hover) !important;
  box-shadow:var(--ui-elevation-shadow-hover),0 0 0 1px color-mix(in srgb,var(--primary) 7%,transparent) !important;
}

@media(prefers-reduced-motion:reduce){
  .admin-content .metric:hover,
  .admin-content .stat:hover,
  .admin-content .mini-stat:hover,
  .admin-content .kpi:hover,
  .admin-content .metric-card:hover,
  .admin-content .kpi-card:hover,
  .admin-content .health-counters > div:hover,
  .admin-content .coupon-revenue-strip > div:hover,
  .admin-content .finance-summary-grid > div:hover,
  .admin-content .executive-metric-grid > div:hover,
  .admin-content .report-metrics > div:hover,
  .admin-content .raffle-summary-stats > div:hover,
  .admin-content .demo-mode-summary > div:hover,
  .admin-content .registration-reservation-summary > div:hover,
  .admin-content .transparency-kpi-grid > div:hover,
  .admin-content .testimonial-selected-kpis > div:hover,
  .admin-content .finance-metric-grid > div:hover,
  .admin-content .api-kpi-grid > div:hover,
  .admin-content .crm-kpi-grid > div:hover,
  .admin-content .security-status-grid > div:hover,
  .admin-content .health-summary > div:hover,
  .admin-content .notification-center-kpis > div:hover,
  .admin-content .coupon-rule-metrics > div:hover,
  .admin-content .order-admin-metrics > div:hover,
  .admin-content .backup-summary > div:hover,
  .admin-content .cron-central-summary > div:hover,
  .admin-content .registered-users-summary > div:hover {
    transform:none !important;
  }
}
