/**
 * Copilot Champion Hub - Custom Styles & Interactive Elements
 */

/* Heatmap Grid */
.heatmap-table {
  border-collapse: separate;
  border-spacing: 4px;
}

.heatmap-table th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--ms-text-secondary);
  padding: 8px;
}

.heatmap-cell {
  width: 44px;
  height: 36px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  color: #ffffff;
  transition: transform 0.15s ease;
  cursor: pointer;
}

.heatmap-cell:hover {
  transform: scale(1.12);
  z-index: 2;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

/* Chat Assistant Bubbles */
.chat-container {
  height: 520px;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.chat-bubble {
  max-width: 80%;
  padding: 14px 18px;
  border-radius: 16px;
  font-size: 0.95rem;
  line-height: 1.5;
  animation: fadeInBubble 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.chat-bubble-assistant {
  background-color: var(--ms-bg-card);
  border: 1px solid var(--ms-border);
  color: var(--ms-text-primary);
  align-self: flex-start;
  border-bottom-left-radius: 4px;
  box-shadow: var(--ms-shadow-sm);
}

.chat-bubble-user {
  background-color: var(--ms-primary);
  color: #ffffff;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
}

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

/* Badge Showcase Card */
.badge-card {
  text-align: center;
  padding: 24px 16px;
  border-radius: 16px;
  border: 1px solid var(--ms-border);
  background-color: var(--ms-bg-card);
  transition: all 0.2s ease;
}

.badge-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--ms-shadow-md);
  border-color: var(--ms-primary);
}

.badge-card.locked {
  opacity: 0.55;
  filter: grayscale(80%);
}

.badge-icon-circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  margin-bottom: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Prompt Card */
.prompt-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.prompt-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--ms-shadow-md);
}

.prompt-text-box {
  background-color: var(--ms-bg-canvas);
  border: 1px solid var(--ms-border);
  border-radius: 8px;
  padding: 12px 14px;
  font-family: 'Consolas', 'Courier New', monospace;
  font-size: 0.875rem;
  color: var(--ms-text-primary);
  max-height: 120px;
  overflow-y: auto;
  white-space: pre-wrap;
}

/* Certificate Showcase */
.cert-frame {
  border: 12px solid #0078d4;
  border-image: linear-gradient(135deg, #0078d4, #8764b8, #d83b01) 12;
  padding: 40px;
  background-color: #ffffff;
  color: #242424;
  text-align: center;
  box-shadow: var(--ms-shadow-xl);
}

/* Print styles for certificates & ROI report */
@media print {
  body { background: #ffffff !important; color: #000000 !important; }
  .fluent-sidebar, .fluent-topbar, .btn, .no-print { display: none !important; }
  .fluent-main-content { margin-left: 0 !important; padding: 0 !important; }
}
