/* General styles */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}
.input-narrow {
    max-width: 100px;
}
/* Diff view styles for light mode */
.diff-added {
    background-color: #e6ffed;
    color: #22863a;
    padding: 2px 5px;
    font-family: monospace;
    white-space: pre;
    line-height: 1.5;
    border-left: 3px solid #34d058;
}

.diff-removed {
    background-color: #ffeef0;
    color: #cb2431;
    padding: 2px 5px;
    font-family: monospace;
    white-space: pre;
    line-height: 1.5;
    border-left: 3px solid #d73a49;
}

.diff-info {
    background-color: #f1f8ff;
    color: #0366d6;
    padding: 2px 5px;
    font-family: monospace;
    white-space: pre;
    line-height: 1.5;
    border-left: 3px solid #0366d6;
}

/* Script content styles */
.script-content {
    font-family: 'Consolas', 'Courier New', monospace;
    white-space: pre-wrap;
    word-wrap: break-word;
}

/* Toast notification styles */
.toast {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1050;
}

/* Stepper styles */
.wizard-stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  gap: 0.5rem;
}
.stepper-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 90px;
  position: relative;
}
.stepper-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #e9ecef;
  color: #6c757d;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 1.2rem;
  border: 2px solid #dee2e6;
  margin-bottom: 0.3rem;
  transition: background 0.2s, color 0.2s, border 0.2s;
}
.stepper-step.active .stepper-circle {
  background: #0d6efd;
  color: #fff;
  border: 2px solid #0d6efd;
}
.stepper-step.completed .stepper-circle {
  background: #198754;
  color: #fff;
  border: 2px solid #198754;
}
.stepper-step.missing .stepper-circle {
  background: #ffc107;
  color: #212529;
  border: 2px solid #ffc107;
}
.stepper-step.active.completed .stepper-circle {
  background: #0d6efd;
  color: #fff;
  border: 2px solid #0d6efd;
}
.stepper-label {
  font-size: 0.9rem;
  color: #6c757d;
  text-align: center;
}
.stepper-step.active .stepper-label,
.stepper-step.completed .stepper-label {
  color: #0d6efd;
}
.stepper-step.completed .stepper-label {
  color: #198754;
}
.stepper-step.missing .stepper-label {
  color: #ffc107;
}
.stepper-line {
  flex: 1 1 0;
  height: 3px;
  background: #dee2e6;
  margin: 0 0.1rem;
  border-radius: 2px;
}
.stepper-step.completed + .stepper-line {
  background: #198754;
}
.stepper-info-box {
    display: none;
    position: absolute;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    min-width: 220px;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    padding: 1rem;
    z-index: 100;
    font-size: 0.95rem;
    color: #212529;
}
[data-theme="dark"] .stepper-info-box {
    background: #343a40;
    border: 1px solid #495057;
    color: #f8f9fa;
}
