/* Beacon Admin — Custom Styles */

/* Typography */
body {
  font-family: 'Roboto', ui-sans-serif, system-ui, sans-serif;
}
h1, h2, h3, h4, h5, h6, .font-heading {
  font-family: 'Montserrat', ui-sans-serif, system-ui, sans-serif;
}

/* Sidebar active link */
.nav-link.active {
  background-color: rgba(255, 255, 255, 0.15);
  border-left: 3px solid #fbbf24;
}

/* Toast notification */
.toast {
  animation: toast-in 0.3s ease-out, toast-out 0.3s ease-in 2.7s forwards;
}
@keyframes toast-in {
  from { transform: translateY(-1rem); opacity: 0; }
  to   { transform: translateY(0); opacity: 1; }
}
@keyframes toast-out {
  from { opacity: 1; }
  to   { opacity: 0; }
}

/* Confidence bar */
.confidence-bar {
  height: 8px;
  border-radius: 4px;
  transition: width 0.4s ease;
}

/* Table row hover */
.data-row:hover {
  background-color: #f3f4f6;
  cursor: pointer;
}

/* Modal backdrop */
.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

/* Slider thumb */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  height: 18px;
  width: 18px;
  border-radius: 50%;
  background: #3b82f6;
  cursor: pointer;
}

/* Loading spinner */
.spinner {
  border: 3px solid #e5e7eb;
  border-top: 3px solid #3b82f6;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  animation: spin 0.8s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* Stage distribution bar segments */
.stage-bar-segment {
  transition: width 0.4s ease;
  min-width: 2px;
}

/* Scrollable panel */
.scroll-panel {
  max-height: calc(100vh - 4rem);
  overflow-y: auto;
}

/* Enrichment status badges */
.badge-enriched { background: #22c55e; color: white; }
.badge-imported { background: #f59e0b; color: white; }
.badge-candidate { background: #9ca3af; color: white; }

/* Progress bar */
.progress-bar { background: #e5e7eb; border-radius: 4px; height: 8px; }
.progress-fill { background: #22c55e; border-radius: 4px; height: 100%; transition: width 0.3s; }

/* Cyber risk badge */
.badge-cyber-assessed { background: #ef4444; color: white; }

