/**
 * Pipeline Health Check Tool - Styles
 *
 * @package PlanDigitalNow
 * @since 2.0.0
 */

/* ==========================================================================
   Variables
   ========================================================================== */

.pdn-pipeline-health {
  --phc-primary: var(--pdn-primary, #005BBB);
  --phc-primary-dark: var(--pdn-primary-dark, #004494);
  --phc-primary-light: var(--pdn-primary-light, #0080FF);
  --phc-accent: var(--pdn-accent, #010C80);
  --phc-success: var(--pdn-success, #1E6B27);
  --phc-warning: #ffc107;
  --phc-danger: #dc3545;
  --phc-text: var(--pdn-text, #1A1A1A);
  --phc-text-secondary: var(--pdn-text-secondary, #4A4A4A);
  --phc-border: var(--pdn-border, #E0E0E0);
  --phc-bg-light: var(--pdn-light, #F8F9FA);
  --phc-white: #FFFFFF;
  --phc-radius: 12px;
  --phc-radius-sm: 8px;
  --phc-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  --phc-shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --phc-transition: 0.3s ease;
}

/* ==========================================================================
   Base Container
   ========================================================================== */

.pdn-pipeline-health-wrapper {
  max-width: 900px;
  margin: 0 auto;
  padding: 20px;
}

.pdn-pipeline-health {
  font-family: var(--pdn-font-primary, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
  color: var(--phc-text);
  line-height: 1.6;
}

/* ==========================================================================
   Intro View
   ========================================================================== */

.pdn-pipeline-health--intro {
  text-align: center;
  padding: 40px 20px;
}

.pdn-pipeline-health__header {
  margin-bottom: 40px;
}

.pdn-pipeline-health__title {
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 700;
  color: var(--phc-accent);
  margin: 0 0 16px;
}

.pdn-pipeline-health__subtitle {
  font-size: 18px;
  color: var(--phc-text-secondary);
  margin: 0 0 20px;
}

.pdn-pipeline-health__meta {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.pdn-pipeline-health__time {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  color: var(--phc-text-secondary);
  background: var(--phc-bg-light);
  padding: 8px 16px;
  border-radius: 20px;
}

.pdn-pipeline-health__time svg {
  opacity: 0.7;
}

/* Steps Preview */
.pdn-pipeline-health__steps-preview {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 500px;
  margin: 0 auto 40px;
  text-align: left;
}

.pdn-pipeline-health__step-preview {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: var(--phc-white);
  border: 1px solid var(--phc-border);
  border-radius: var(--phc-radius-sm);
  transition: var(--phc-transition);
}

.pdn-pipeline-health__step-preview:hover {
  border-color: var(--phc-primary);
  box-shadow: var(--phc-shadow);
}

.pdn-pipeline-health__step-number {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--phc-primary);
  color: var(--phc-white);
  font-weight: 700;
  border-radius: 50%;
}

.pdn-pipeline-health__step-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pdn-pipeline-health__step-info strong {
  font-size: 16px;
  color: var(--phc-text);
}

.pdn-pipeline-health__step-info span {
  font-size: 14px;
  color: var(--phc-text-secondary);
}

.pdn-pipeline-health__start {
  min-width: 250px;
}

/* ==========================================================================
   Questions View
   ========================================================================== */

.pdn-pipeline-health--questions {
  padding: 20px 0;
}

/* Progress Bar */
.pdn-pipeline-health__progress {
  margin-bottom: 32px;
}

.pdn-pipeline-health__progress-bar {
  height: 8px;
  background: var(--phc-border);
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 12px;
}

.pdn-pipeline-health__progress-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--phc-primary), var(--phc-primary-light));
  border-radius: 4px;
  transition: width 0.5s ease;
}

.pdn-pipeline-health__progress-text {
  font-size: 14px;
  color: var(--phc-text-secondary);
  font-weight: 500;
}

/* Questions */
.pdn-pipeline-health__questions {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 40px;
}

.pdn-pipeline-health__question {
  background: var(--phc-white);
  border: 1px solid var(--phc-border);
  border-radius: var(--phc-radius);
  padding: 24px;
}

.pdn-pipeline-health__question-header {
  margin-bottom: 20px;
}

.pdn-pipeline-health__question-text {
  font-size: 18px;
  font-weight: 600;
  color: var(--phc-text);
  margin: 0 0 8px;
}

.pdn-pipeline-health__question-help {
  font-size: 14px;
  color: var(--phc-text-secondary);
  margin: 0;
}

/* Options */
.pdn-pipeline-health__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pdn-pipeline-health__option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--phc-bg-light);
  border: 2px solid transparent;
  border-radius: var(--phc-radius-sm);
  cursor: pointer;
  transition: var(--phc-transition);
}

.pdn-pipeline-health__option:hover {
  background: var(--phc-white);
  border-color: var(--phc-primary-light);
}

.pdn-pipeline-health__option--selected {
  background: var(--phc-white);
  border-color: var(--phc-primary);
  box-shadow: 0 0 0 3px rgba(0, 91, 187, 0.1);
}

.pdn-pipeline-health__option input {
  width: 20px;
  height: 20px;
  accent-color: var(--phc-primary);
  cursor: pointer;
}

.pdn-pipeline-health__option-text {
  font-size: 15px;
  color: var(--phc-text);
}

/* Numeric Input */
.pdn-pipeline-health__question--numeric .pdn-pipeline-health__input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: 300px;
}

.pdn-pipeline-health__input {
  flex: 1;
  padding: 14px 16px;
  font-size: 18px;
  font-weight: 600;
  border: 2px solid var(--phc-border);
  border-radius: var(--phc-radius-sm);
  text-align: center;
  transition: var(--phc-transition);
}

.pdn-pipeline-health__input:focus {
  outline: none;
  border-color: var(--phc-primary);
  box-shadow: 0 0 0 3px rgba(0, 91, 187, 0.1);
}

.pdn-pipeline-health__input-prefix,
.pdn-pipeline-health__input-suffix {
  font-size: 18px;
  font-weight: 600;
  color: var(--phc-text-secondary);
}

/* Navigation */
.pdn-pipeline-health__nav {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

/* ==========================================================================
   Gate View
   ========================================================================== */

.pdn-pipeline-health--gate {
  padding: 40px 20px;
}

.pdn-pipeline-health__gate-content {
  max-width: 500px;
  margin: 0 auto;
  text-align: center;
}

.pdn-pipeline-health__gate-headline {
  font-size: 28px;
  font-weight: 700;
  color: var(--phc-accent);
  margin: 0 0 16px;
}

.pdn-pipeline-health__gate-description {
  font-size: 16px;
  color: var(--phc-text-secondary);
  margin: 0 0 32px;
}

.pdn-pipeline-health__gate-form {
  text-align: left;
}

.pdn-pipeline-health__form-row {
  margin-bottom: 20px;
}

.pdn-pipeline-health__form-row--half {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.pdn-pipeline-health__form-label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--phc-text);
  margin-bottom: 8px;
}

.pdn-pipeline-health__form-input {
  width: 100%;
  padding: 12px 16px;
  font-size: 16px;
  border: 2px solid var(--phc-border);
  border-radius: var(--phc-radius-sm);
  transition: var(--phc-transition);
}

.pdn-pipeline-health__form-input:focus {
  outline: none;
  border-color: var(--phc-primary);
  box-shadow: 0 0 0 3px rgba(0, 91, 187, 0.1);
}

.pdn-pipeline-health__gate-privacy {
  font-size: 13px;
  color: var(--phc-text-secondary);
  text-align: center;
  margin-top: 16px;
}

/* ==========================================================================
   Results View
   ========================================================================== */

.pdn-pipeline-health--results {
  padding: 20px 0;
}

.pdn-pipeline-health__results-header {
  text-align: center;
  margin-bottom: 32px;
}

.pdn-pipeline-health__results-title {
  font-size: clamp(24px, 3.5vw, 32px);
  font-weight: 700;
  color: var(--phc-accent);
  margin: 0;
}

/* Score Card */
.pdn-pipeline-health__score-card {
  background: var(--phc-white);
  border: 1px solid var(--phc-border);
  border-radius: var(--phc-radius);
  padding: 32px;
  margin-bottom: 24px;
  text-align: center;
  box-shadow: var(--phc-shadow);
}

.pdn-pipeline-health__score-main {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-bottom: 20px;
}

.pdn-pipeline-health__score-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 8px solid var(--score-color, var(--phc-primary));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--phc-white);
  box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.05);
}

.pdn-pipeline-health__score-value {
  font-size: 42px;
  font-weight: 700;
  color: var(--score-color, var(--phc-primary));
  line-height: 1;
}

.pdn-pipeline-health__score-max {
  font-size: 16px;
  color: var(--phc-text-secondary);
}

.pdn-pipeline-health__score-info {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.pdn-pipeline-health__score-label {
  font-size: 14px;
  color: var(--phc-text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pdn-pipeline-health__score-level {
  font-size: 28px;
  font-weight: 700;
}

.pdn-pipeline-health__score-description {
  font-size: 16px;
  color: var(--phc-text-secondary);
  margin: 0;
  max-width: 600px;
  margin: 0 auto;
}

/* Metrics Grid */
.pdn-pipeline-health__metrics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 32px;
}

.pdn-pipeline-health__metric-card {
  background: var(--phc-bg-light);
  border-radius: var(--phc-radius-sm);
  padding: 20px;
  text-align: center;
}

.pdn-pipeline-health__metric-value {
  display: block;
  font-size: 28px;
  font-weight: 700;
  color: var(--phc-primary);
  margin-bottom: 4px;
}

.pdn-pipeline-health__metric-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--phc-text);
  margin-bottom: 4px;
}

.pdn-pipeline-health__metric-help {
  display: block;
  font-size: 12px;
  color: var(--phc-text-secondary);
}

/* Categories */
.pdn-pipeline-health__categories {
  background: var(--phc-white);
  border: 1px solid var(--phc-border);
  border-radius: var(--phc-radius);
  padding: 24px;
  margin-bottom: 32px;
}

.pdn-pipeline-health__categories h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--phc-text);
  margin: 0 0 20px;
}

.pdn-pipeline-health__category {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 16px;
}

.pdn-pipeline-health__category:last-child {
  margin-bottom: 0;
}

.pdn-pipeline-health__category-name {
  flex: 0 0 150px;
  font-size: 14px;
  font-weight: 500;
  color: var(--phc-text);
}

.pdn-pipeline-health__category-bar {
  flex: 1;
  height: 12px;
  background: var(--phc-border);
  border-radius: 6px;
  overflow: hidden;
}

.pdn-pipeline-health__category-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.8s ease;
}

.pdn-pipeline-health__category-score {
  flex: 0 0 40px;
  font-size: 14px;
  font-weight: 700;
  text-align: right;
}

/* Recommendations */
.pdn-pipeline-health__recommendations {
  margin-bottom: 32px;
}

.pdn-pipeline-health__recommendations h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--phc-text);
  margin: 0 0 20px;
}

.pdn-pipeline-health__recommendations-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pdn-pipeline-health__recommendation {
  display: flex;
  gap: 16px;
  padding: 20px;
  background: var(--phc-white);
  border: 1px solid var(--phc-border);
  border-radius: var(--phc-radius-sm);
  border-left: 4px solid var(--phc-primary);
}

.pdn-pipeline-health__recommendation-icon {
  font-size: 24px;
}

.pdn-pipeline-health__recommendation-content strong {
  display: block;
  font-size: 16px;
  color: var(--phc-text);
  margin-bottom: 4px;
}

.pdn-pipeline-health__recommendation-content p {
  font-size: 14px;
  color: var(--phc-text-secondary);
  margin: 0;
}

/* Actions */
.pdn-pipeline-health__actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 40px;
}

/* ==========================================================================
   CTA Section
   ========================================================================== */

.pdn-pipeline-health__cta {
  background: linear-gradient(135deg, var(--phc-accent) 0%, var(--phc-primary) 100%);
  border-radius: var(--phc-radius);
  padding: 40px;
  text-align: center;
  color: var(--phc-white);
}

.pdn-pipeline-health__cta-headline {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 12px;
  color: var(--phc-white);
}

.pdn-pipeline-health__cta-subtext {
  font-size: 16px;
  opacity: 0.9;
  margin: 0 0 8px;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

.pdn-pipeline-health__cta-price {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 20px;
}

.pdn-pipeline-health__cta .pdn-button--primary {
  background: var(--phc-white);
  color: var(--phc-primary);
}

.pdn-pipeline-health__cta .pdn-button--primary:hover {
  background: var(--phc-bg-light);
}

.pdn-pipeline-health__cta-trust {
  font-size: 14px;
  opacity: 0.8;
  margin: 16px 0 0;
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.pdn-pipeline-health .pdn-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  font-size: 16px;
  font-weight: 600;
  border: 2px solid transparent;
  border-radius: var(--phc-radius-sm);
  cursor: pointer;
  transition: var(--phc-transition);
  text-decoration: none;
}

.pdn-pipeline-health .pdn-button--primary {
  background: var(--phc-primary);
  color: var(--phc-white);
  border-color: var(--phc-primary);
}

.pdn-pipeline-health .pdn-button--primary:hover {
  background: var(--phc-primary-dark);
  border-color: var(--phc-primary-dark);
  color: var(--phc-white);
}

.pdn-pipeline-health .pdn-button--primary:disabled {
  background: var(--phc-border);
  border-color: var(--phc-border);
  color: var(--phc-text-secondary);
  cursor: not-allowed;
}

.pdn-pipeline-health .pdn-button--outline {
  background: transparent;
  color: var(--phc-primary);
  border-color: var(--phc-primary);
}

.pdn-pipeline-health .pdn-button--outline:hover {
  background: var(--phc-primary);
  color: var(--phc-white);
}

.pdn-pipeline-health .pdn-button--large {
  padding: 16px 36px;
  font-size: 18px;
}

.pdn-pipeline-health .pdn-button--full {
  width: 100%;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 768px) {
  .pdn-pipeline-health-wrapper {
    padding: 16px;
  }

  .pdn-pipeline-health--intro {
    padding: 24px 0;
  }

  .pdn-pipeline-health__score-main {
    flex-direction: column;
    text-align: center;
  }

  .pdn-pipeline-health__score-info {
    text-align: center;
  }

  .pdn-pipeline-health__score-circle {
    width: 100px;
    height: 100px;
    border-width: 6px;
  }

  .pdn-pipeline-health__score-value {
    font-size: 36px;
  }

  .pdn-pipeline-health__category {
    flex-wrap: wrap;
  }

  .pdn-pipeline-health__category-name {
    flex: 1 1 100%;
    margin-bottom: 8px;
  }

  .pdn-pipeline-health__category-bar {
    flex: 1;
    min-width: 0;
  }

  .pdn-pipeline-health__form-row--half {
    grid-template-columns: 1fr;
  }

  .pdn-pipeline-health__nav {
    flex-direction: column-reverse;
  }

  .pdn-pipeline-health__actions {
    flex-direction: column;
  }

  .pdn-pipeline-health__cta {
    padding: 24px;
  }

  .pdn-pipeline-health__metrics-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .pdn-pipeline-health__question {
    padding: 16px;
  }

  .pdn-pipeline-health__option {
    padding: 12px;
  }

  .pdn-pipeline-health .pdn-button {
    padding: 12px 20px;
    font-size: 15px;
  }

  .pdn-pipeline-health .pdn-button--large {
    padding: 14px 24px;
    font-size: 16px;
  }
}

/* ==========================================================================
   Compact Mode
   ========================================================================== */

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health {
  --phc-radius: 8px;
  --phc-radius-sm: 6px;
}

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health__title {
  font-size: 24px;
}

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health__subtitle {
  font-size: 15px;
}

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health__steps-preview {
  display: none;
}

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health__question {
  padding: 16px;
}

.pdn-pipeline-health-wrapper[data-compact="true"] .pdn-pipeline-health__question-text {
  font-size: 16px;
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
  .pdn-pipeline-health__actions,
  .pdn-pipeline-health__cta,
  .pdn-pipeline-health__nav {
    display: none !important;
  }

  .pdn-pipeline-health {
    color: #000 !important;
  }

  .pdn-pipeline-health__score-card,
  .pdn-pipeline-health__categories,
  .pdn-pipeline-health__recommendation {
    border: 1px solid #ccc !important;
    box-shadow: none !important;
  }
}
