/* ============================================================
   Agroplatform — Style commun
   Palette : terre malagasy + verts agroécologiques
   ============================================================ */
:root{
  --c-terre:#8B4513;
  --c-terre-clair:#C68B5C;
  --c-vert:#2D6A4F;
  --c-vert-fonce:#1B4332;
  --c-vert-clair:#95D5B2;
  --c-sable:#F4E8D8;
  --c-creme:#FAF6EE;
  --c-encre:#1F2937;
  --c-gris:#6B7280;
  --c-gris-clair:#E5E7EB;
  --c-rouge:#B91C1C;
  --c-orange:#D97706;
  --c-bleu:#1E40AF;
}

body{
  background:var(--c-creme);
  color:var(--c-encre);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
}

.brand-title{
  font-weight:700;
  color:var(--c-vert-fonce);
  letter-spacing:-.5px;
}

a{color:var(--c-vert-fonce);}
a:hover{color:var(--c-vert);}

.btn-primary{
  background:var(--c-vert-fonce);
  border-color:var(--c-vert-fonce);
}
.btn-primary:hover{background:var(--c-vert);border-color:var(--c-vert);}

.btn-outline-primary{
  color:var(--c-vert-fonce);
  border-color:var(--c-vert-fonce);
}
.btn-outline-primary:hover{
  background:var(--c-vert-fonce);
  border-color:var(--c-vert-fonce);
}

.bg-vert{background:var(--c-vert-fonce)!important;color:#fff;}
.bg-terre{background:var(--c-terre)!important;color:#fff;}
.text-vert{color:var(--c-vert-fonce)!important;}

.card{
  border:1px solid var(--c-gris-clair);
  border-radius:.5rem;
  box-shadow:0 1px 3px rgba(0,0,0,.04);
}
.card-header{
  background:#fff;
  border-bottom:1px solid var(--c-gris-clair);
  font-weight:600;
}

.badge.bg-primary{background:var(--c-vert-fonce)!important;}

/* Tableaux */
.table thead th{
  background:var(--c-sable);
  border-bottom:2px solid var(--c-terre-clair);
  font-weight:600;
  color:var(--c-vert-fonce);
}

/* Indicateurs (KPI) */
.kpi{
  background:#fff;
  padding:1rem 1.25rem;
  border-radius:.5rem;
  border:1px solid var(--c-gris-clair);
}
.kpi .label{font-size:.85rem;color:var(--c-gris);text-transform:uppercase;letter-spacing:.5px;}
.kpi .value{font-size:1.75rem;font-weight:700;color:var(--c-vert-fonce);line-height:1.1;margin-top:.25rem;}
.kpi .trend{font-size:.85rem;color:var(--c-gris);margin-top:.25rem;}

/* Code couleur des évaluations */
.eval-type-baseline{border-left:4px solid var(--c-orange);}
.eval-type-test{border-left:4px solid var(--c-bleu);}
.eval-type-autoevaluation{border-left:4px solid var(--c-vert);}

/* Statut */
.statut-pill{
  display:inline-block;padding:.15rem .55rem;border-radius:1rem;
  font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;
}

/* Likert */
.likert-row{
  background:#fff;border:1px solid var(--c-gris-clair);border-radius:.5rem;
  padding:1rem;margin-bottom:.75rem;
}
.likert-row .question{font-weight:500;margin-bottom:.75rem;}
.likert-options{display:flex;gap:.5rem;flex-wrap:wrap;}
.likert-option{
  flex:1 1 0;min-width:90px;
  text-align:center;padding:.6rem .25rem;
  border:2px solid var(--c-gris-clair);border-radius:.4rem;
  cursor:pointer;background:#fff;transition:all .15s;
  font-size:.85rem;
}
.likert-option:hover{border-color:var(--c-vert-clair);background:#F0F9F2;}
.likert-option input{display:none;}
.likert-option .num{display:block;font-size:1.2rem;font-weight:700;}
.likert-option.selected{
  border-color:var(--c-vert-fonce);background:var(--c-vert-fonce);color:#fff;
}

/* QCM */
.qcm-question{
  background:#fff;border:1px solid var(--c-gris-clair);border-radius:.5rem;
  padding:1.25rem;margin-bottom:1rem;
}
.qcm-question .num-q{
  display:inline-block;background:var(--c-vert-fonce);color:#fff;
  padding:.15rem .55rem;border-radius:.3rem;font-size:.8rem;font-weight:600;margin-bottom:.5rem;
}
.qcm-option{
  display:block;padding:.7rem .9rem;border:2px solid var(--c-gris-clair);
  border-radius:.4rem;margin-bottom:.5rem;cursor:pointer;background:#fff;transition:.15s;
}
.qcm-option:hover{border-color:var(--c-vert-clair);background:#F0F9F2;}
.qcm-option input{margin-right:.6rem;}
.qcm-option.selected{border-color:var(--c-vert-fonce);background:#E8F3EC;}

/* Timer test */
.test-timer{
  position:sticky;top:0;z-index:50;
  background:var(--c-vert-fonce);color:#fff;
  padding:.6rem 1rem;border-radius:0 0 .5rem .5rem;
  font-weight:600;text-align:center;
}
.test-timer.warning{background:var(--c-orange);}
.test-timer.danger{background:var(--c-rouge);}

/* Print */
@media print{
  .no-print, nav, .navbar, .sidebar, button, .btn{display:none!important;}
  body{background:#fff;}
  .card{box-shadow:none;border:1px solid #ccc;}
}
