/* ===== SCORING MODULE - SUIVI GROSSESSE ===== */
/* Styles pour les calculateurs EPDS et Pré-éclampsie */

/* ===== CONTAINER ===== */
.score-calculators-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 16px;
}

/* ===== SCORE CARD ===== */
.score-card {
  background: var(--surface-primary, #fff);
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 12px;
  overflow: hidden;
}

.score-header {
  padding: 16px 20px;
  background: var(--surface-secondary, #f9fafb);
  border-bottom: 1px solid var(--border-color, #e5e7eb);
}

.score-title {
  margin: 0 0 4px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--text-primary, #111827);
}

.score-description {
  margin: 0;
  font-size: 13px;
  color: var(--text-muted, #6b7280);
}

.score-body {
  padding: 20px;
  max-height: 400px;
  overflow-y: auto;
}

.score-footer {
  display: flex;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid var(--border-color, #e5e7eb);
  background: var(--surface-secondary, #f9fafb);
}

/* ===== BUTTONS ===== */
.btn-score-calculate {
  flex: 1;
  padding: 10px 16px;
  background: var(--accent-grossesse-text, #BE185D);
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.2s;
}

.btn-score-calculate:hover {
  background: #9D174D;
}

.btn-score-reset {
  padding: 10px 16px;
  background: transparent;
  color: var(--text-muted, #6b7280);
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-score-reset:hover {
  background: var(--surface-secondary, #f9fafb);
  color: var(--text-primary, #111827);
}

/* ===== EPDS QUESTIONS ===== */
.epds-question {
  padding: 16px;
  margin-bottom: 12px;
  background: var(--surface-secondary, #f9fafb);
  border-radius: 8px;
  border: 1px solid transparent;
  transition: border-color 0.2s;
}

.epds-question:hover {
  border-color: var(--border-color, #e5e7eb);
}

.epds-question--critical {
  background: #fef2f2;
  border-color: #fecaca;
}

.epds-question-text {
  margin: 0 0 12px 0;
  font-size: 14px;
  color: var(--text-primary, #111827);
  line-height: 1.5;
}

.epds-question-number {
  font-weight: 600;
  color: var(--accent-grossesse-text, #BE185D);
}

.epds-critical-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #dc2626;
  color: white;
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  vertical-align: middle;
}

.epds-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.epds-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  background: white;
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.epds-option:hover {
  border-color: var(--accent-grossesse, #EC4899);
}

.epds-option input[type="radio"] {
  margin-top: 2px;
  accent-color: var(--accent-grossesse, #EC4899);
}

.epds-option:has(input:checked) {
  border-color: var(--accent-grossesse, #EC4899);
  background: #fdf2f8;
}

.epds-option-label {
  font-size: 13px;
  color: var(--text-primary, #111827);
  line-height: 1.4;
}

/* ===== PRÉ-ÉCLAMPSIE FIELDSETS ===== */
.preeclampsie-fieldset {
  margin: 0 0 20px 0;
  padding: 16px;
  border: 1px solid var(--border-color, #e5e7eb);
  border-radius: 8px;
}

.preeclampsie-fieldset legend {
  padding: 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary, #111827);
}

.preeclampsie-factor {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  margin-bottom: 8px;
  background: var(--surface-secondary, #f9fafb);
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.preeclampsie-factor:last-child {
  margin-bottom: 0;
}

.preeclampsie-factor:hover {
  border-color: var(--border-color, #e5e7eb);
}

.preeclampsie-factor:has(input:checked) {
  background: #fdf2f8;
  border-color: var(--accent-grossesse, #EC4899);
}

.preeclampsie-factor input[type="checkbox"] {
  margin-top: 2px;
  accent-color: var(--accent-grossesse, #EC4899);
}

.preeclampsie-factor-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.preeclampsie-factor-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--text-primary, #111827);
}

.preeclampsie-factor-description {
  font-size: 12px;
  color: var(--text-muted, #6b7280);
}

/* ===== RESULT DISPLAY ===== */
.score-result {
  padding: 16px 20px;
  background: var(--surface-secondary, #f9fafb);
  border-top: 1px solid var(--border-color, #e5e7eb);
}

.score-result-content {
  padding: 16px;
  background: white;
  border-radius: 8px;
}

.score-result-error {
  padding: 12px 16px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #dc2626;
  font-size: 13px;
}

/* EPDS Result */
.score-result-score {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 12px;
}

.score-result-value {
  font-size: 32px;
  font-weight: 700;
}

.score-result-max {
  font-size: 16px;
  color: var(--text-muted, #6b7280);
}

.score-result-interpretation {
  margin-bottom: 12px;
}

.score-result-interpretation strong {
  display: block;
  font-size: 15px;
  margin-bottom: 4px;
}

.score-result-interpretation p {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary, #374151);
}

.score-result-alert {
  margin-top: 12px;
  padding: 12px;
  background: #fef2f2;
  border: 1px solid #dc2626;
  border-radius: 8px;
}

.score-result-alert strong {
  display: block;
  color: #dc2626;
  margin-bottom: 4px;
}

.score-result-alert p {
  margin: 0;
  font-size: 13px;
  color: #dc2626;
}

/* Pré-éclampsie Result */
.score-result-risk {
  margin-bottom: 12px;
}

.score-result-level {
  font-size: 20px;
  font-weight: 700;
}

.score-result-counts {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.count-badge {
  padding: 4px 10px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}

.count-major {
  background: #fee2e2;
  color: #dc2626;
}

.count-moderate {
  background: #fef3c7;
  color: #d97706;
}

.score-result-reasoning {
  margin-bottom: 12px;
  padding: 10px 12px;
  background: var(--surface-secondary, #f9fafb);
  border-radius: 6px;
}

.score-result-reasoning p {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary, #374151);
}

.score-result-factors {
  margin-bottom: 12px;
}

.score-result-factors strong {
  display: block;
  font-size: 13px;
  margin-bottom: 6px;
}

.score-result-factors ul {
  margin: 0;
  padding-left: 20px;
}

.score-result-factors li {
  font-size: 13px;
  margin-bottom: 4px;
}

.score-result-factors .factor-major {
  color: #dc2626;
}

.score-result-factors .factor-moderate {
  color: #d97706;
}

.aspirin-recommendation {
  margin-top: 12px;
  padding: 12px;
  background: #ecfdf5;
  border: 1px solid #10b981;
  border-radius: 8px;
}

.aspirin-recommendation strong {
  color: #059669;
}

.aspirin-recommendation p {
  margin: 4px 0 0 0;
  color: #059669;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 480px) {
  .score-calculators-container {
    padding: 12px;
  }

  .score-header,
  .score-footer {
    padding: 12px 16px;
  }

  .score-body {
    padding: 16px;
    max-height: 300px;
  }

  .score-footer {
    flex-direction: column;
  }

  .btn-score-reset {
    width: 100%;
  }
}
