/* =========================================================
   AULA 01 — LABORATÓRIO MESTRE PRO
   POLIMENTO FINAL 10/10
   ========================================================= */

#laboratorio .lab-pro-actions button,
#laboratorio .lab-evidence-business button,
#laboratorio [data-lab-action],
#laboratorio [data-lab-evidence-cta] {
  position: relative;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background 0.18s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}

#laboratorio .lab-pro-actions button:hover,
#laboratorio .lab-evidence-business button:hover,
#laboratorio [data-lab-action]:hover,
#laboratorio [data-lab-evidence-cta]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(0, 140, 255, 0.16);
}

#laboratorio .lab-pro-actions button:active,
#laboratorio .lab-evidence-business button:active,
#laboratorio [data-lab-action]:active,
#laboratorio [data-lab-evidence-cta]:active {
  transform: translateY(0);
}

/* AÇÕES PRINCIPAIS */
#laboratorio .lab-actions-primary button {
  background: linear-gradient(135deg, rgba(34,149,255,0.95), rgba(63,180,255,0.95)) !important;
  border: 1px solid rgba(90, 190, 255, 0.9) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 24px rgba(38, 143, 255, 0.18);
}

/* AÇÃO DE EVIDÊNCIA MAIS PREMIUM */
#laboratorio [data-lab-action="evidence"],
#laboratorio [data-lab-evidence-cta] {
  background: linear-gradient(135deg, rgba(0,192,255,0.9), rgba(0,220,170,0.9)) !important;
  border: 1px solid rgba(120, 255, 227, 0.75) !important;
  color: #07111f !important;
  font-weight: 900 !important;
  box-shadow: 0 10px 26px rgba(0, 214, 170, 0.18);
}

/* AÇÕES SECUNDÁRIAS */
#laboratorio .lab-actions-secondary button {
  background: rgba(10, 22, 46, 0.92) !important;
  border: 1px solid rgba(110, 150, 210, 0.38) !important;
  color: #dceeff !important;
}

/* EXPORTAÇÕES */
#laboratorio .lab-actions-tertiary button {
  background: rgba(10, 18, 36, 0.86) !important;
  border: 1px solid rgba(70, 125, 185, 0.58) !important;
  color: #c6e8ff !important;
}

/* LIMPAR EDITOR mais discreto e levemente "warning" */
#laboratorio [data-lab-action="reset"] {
  border-color: rgba(255, 145, 120, 0.55) !important;
  color: #ffd7c8 !important;
}

/* ÍCONES por ação */
#laboratorio [data-lab-action]::before,
#laboratorio [data-lab-evidence-cta]::before {
  display: inline-block;
  margin-right: 8px;
  font-weight: 900;
}

#laboratorio [data-lab-action="analyze"]::before { content: "⚡"; }
#laboratorio [data-lab-action="preview"]::before { content: "⟳"; }
#laboratorio [data-lab-action="evidence"]::before { content: "✓"; }
#laboratorio [data-lab-action="insert-skeleton"]::before { content: "＋"; }
#laboratorio [data-lab-action="copy-code"]::before { content: "⧉"; }
#laboratorio [data-lab-action="reset"]::before { content: "⌫"; }
#laboratorio [data-lab-action="copy-report"]::before { content: "📋"; }
#laboratorio [data-lab-action="export-txt"]::before { content: "TXT"; font-size: 10px; letter-spacing: .5px; }
#laboratorio [data-lab-action="export-html"]::before { content: "HTML"; font-size: 10px; letter-spacing: .5px; }
#laboratorio [data-lab-action="export-json"]::before { content: "JSON"; font-size: 10px; letter-spacing: .5px; }
#laboratorio [data-lab-evidence-cta]::before { content: "★"; }

/* PREVIEW com acabamento melhor */
#laboratorio .lab-preview-shell {
  border: 1px solid rgba(60, 140, 220, 0.5) !important;
  box-shadow:
    inset 0 0 0 1px rgba(90, 180, 255, 0.04),
    0 18px 34px rgba(0, 20, 60, 0.2);
}

#laboratorio #labProPreview {
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,1), rgba(248,250,252,1)) !important;
}

/* FEEDBACK / PENDÊNCIAS mais bonitos */
#laboratorio #labProFeedback {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

#laboratorio .lab-pro-card {
  background: linear-gradient(180deg, rgba(50, 11, 22, 0.88), rgba(34, 10, 20, 0.9)) !important;
  border: 1px solid rgba(255, 98, 122, 0.45) !important;
  border-left: 4px solid rgba(255, 98, 122, 0.82) !important;
  border-radius: 12px !important;
  color: #ffd4dc !important;
  padding: 12px 14px !important;
  line-height: 1.5 !important;
}

#laboratorio .lab-pro-ok {
  background: linear-gradient(180deg, rgba(6, 55, 50, 0.9), rgba(6, 42, 39, 0.92)) !important;
  border: 1px solid rgba(72, 236, 181, 0.42) !important;
  border-left: 4px solid rgba(72, 236, 181, 0.9) !important;
  border-radius: 12px !important;
  color: #d4fff0 !important;
  padding: 14px !important;
  font-weight: 700 !important;
}

/* ENTREGA PROFISSIONAL mais forte */
#laboratorio .lab-evidence-business {
  background:
    linear-gradient(180deg, rgba(5, 17, 38, 0.94), rgba(6, 19, 42, 0.96)) !important;
  border: 1px solid rgba(58, 132, 214, 0.38) !important;
  border-radius: 16px !important;
  box-shadow: 0 14px 34px rgba(0, 18, 40, 0.22);
}

#laboratorio .lab-evidence-business ul li {
  margin-bottom: 6px;
  line-height: 1.5;
}

/* RESUMO / KPIs */
#laboratorio .lab-business-summary .lab-pro-card,
#laboratorio .lab-business-summary .lab-pro-ok {
  min-height: 100%;
}

/* NOTA / STATUS com mais presença */
#laboratorio .lab-score-meter,
#laboratorio .lab-delivery-next {
  border-radius: 14px !important;
  box-shadow: inset 0 0 0 1px rgba(60, 120, 200, 0.12);
}

/* TOASTS */
#labToastStack {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 9999;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 24px));
  pointer-events: none;
}

.lab-toast {
  pointer-events: auto;
  border-radius: 14px;
  padding: 12px 14px;
  color: #eff8ff;
  border: 1px solid rgba(90, 170, 255, 0.35);
  background: linear-gradient(180deg, rgba(9, 25, 49, 0.96), rgba(7, 18, 39, 0.97));
  box-shadow: 0 14px 30px rgba(0, 12, 30, 0.28);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease;
}

.lab-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.lab-toast--success {
  border-color: rgba(79, 232, 180, 0.45);
}

.lab-toast--info {
  border-color: rgba(88, 171, 255, 0.45);
}

.lab-toast--warn {
  border-color: rgba(255, 170, 90, 0.45);
}

.lab-toast strong {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
}

.lab-toast span {
  display: block;
  font-size: 12px;
  line-height: 1.45;
  color: #d3e9ff;
}

@media (max-width: 860px) {
  #labToastStack {
    right: 12px;
    left: 12px;
    width: auto;
    bottom: 12px;
  }

  #laboratorio .lab-actions-primary,
  #laboratorio .lab-actions-secondary,
  #laboratorio .lab-actions-tertiary {
    gap: 8px !important;
  }
}
