/* ════════════════════════════════════════════════════════
   weibull.css — styles spécifiques à la page « Analyse de Weibull »
   (extraits de l'ancien <style> en ligne de weibull.html)
════════════════════════════════════════════════════════ */

/* ══ Styles spécifiques à la page Weibull ══════════════════ */

/* ── Grille principale : formulaire à gauche, résultats à droite ── */
.weibull-layout {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 32px;
  align-items: start;
  margin-top: 24px;
}

/* ── Ligne du formulaire (une observation = durée + type + bouton) ── */
.obs-row {
  display: grid;
  grid-template-columns: 1fr 110px 32px;
  gap: 8px;
  margin-bottom: 8px;
  align-items: center;
}
.obs-row input[type=number] {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-family: 'DM Mono', monospace;
  font-size: 0.82rem;
  padding: 7px 10px;
  width: 100%;
  transition: border-color 0.15s;
}
.obs-row input[type=number]:focus {
  outline: none;
  border-color: var(--accent);
}
.obs-row select {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-family: 'DM Mono', monospace;
  font-size: 0.75rem;
  padding: 7px 8px;
  width: 100%;
  cursor: pointer;
}
/* Couleur selon le type sélectionné (panne = rouge, censure = bleu) */
.obs-row select.type-panne   { border-color: var(--c-l3); color: var(--c-l3); }
.obs-row select.type-censure { border-color: #60a5fa;     color: #60a5fa;     }

/* ── Bouton supprimer une ligne d'observation ── */
.btn-del {
  background: transparent;
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--muted);
  font-size: 1rem;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s;
  flex-shrink: 0;
}
.btn-del:hover { border-color: var(--c-l3); color: var(--c-l3); }

/* ── En-têtes des colonnes du formulaire ── */
.obs-header {
  display: grid;
  grid-template-columns: 1fr 110px 32px;
  gap: 8px;
  margin-bottom: 6px;
}
.obs-header span {
  font-size: 0.62rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ── Boutons du formulaire (Ajouter / Calculer) ── */
.form-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.btn-add {
  background: transparent;
  border: 1px dashed var(--border);
  border-radius: 4px;
  color: var(--muted);
  font-family: 'Syne', sans-serif;
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  padding: 8px 14px;
  cursor: pointer;
  transition: all 0.15s;
  flex: 1;
}
.btn-add:hover { border-color: var(--accent); color: var(--accent); }

.btn-calc {
  background: var(--accent);
  border: none;
  border-radius: 4px;
  color: #000;
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  padding: 8px 20px;
  cursor: pointer;
  transition: opacity 0.15s;
  flex: 1;
}
.btn-calc:hover { opacity: 0.85; }

/* ── Sélecteur d'unité (heures, cycles…) ── */
.unite-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.unite-row label {
  font-size: 0.68rem;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.unite-row select {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-family: 'DM Mono', monospace;
  font-size: 0.78rem;
  padding: 6px 10px;
}

/* ── Compteur pannes / censures ── */
.obs-counter {
  display: flex;
  gap: 12px;
  margin-top: 12px;
  margin-bottom: 4px;
}
.counter-badge {
  font-size: 0.65rem;
  padding: 3px 10px;
  border-radius: 20px;
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.badge-panne   { background: rgba(248,113,113,0.15); color: var(--c-l3); }
.badge-censure { background: rgba(96,165,250,0.15);  color: #60a5fa;     }

/* ── Bannière d'interprétation du paramètre β ── */
.beta-interp {
  background: rgba(240,192,64,0.08);
  border: 1px solid rgba(240,192,64,0.25);
  border-left: 3px solid var(--accent);
  border-radius: 4px;
  padding: 10px 16px;
  font-size: 0.75rem;
  color: var(--text);
  line-height: 1.5;
}
.beta-interp strong { color: var(--accent); }

/* ── Tableau des rangs médians ── */
.ranks-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.72rem;
}
.ranks-table th {
  font-family: 'Syne', sans-serif;
  font-weight: 700;
  font-size: 0.62rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--muted);
  padding: 8px 12px;
  text-align: right;
  border-bottom: 1px solid var(--border);
}
.ranks-table th:first-child { text-align: left; }
.ranks-table td {
  padding: 7px 12px;
  text-align: right;
  border-bottom: 1px solid rgba(42,45,56,0.5);
  font-family: 'DM Mono', monospace;
  color: var(--text);
}
.ranks-table td:first-child { text-align: left; color: var(--muted); }
.ranks-table tr:hover td { background: rgba(255,255,255,0.02); }
