.crefo-medicoop-front{font-family:inherit;max-width:1180px;margin:0 auto;color:#1f2937}.crefo-front-header{display:flex;gap:20px;justify-content:space-between;align-items:center;margin:0 0 24px;padding:22px 24px;border-radius:18px;background:#0f4c81;color:#fff}.crefo-front-header h2{margin:0;color:#fff}.crefo-front-header p{margin:.25rem 0 0;color:#eaf4ff}.crefo-front-header nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.crefo-front-header a{color:#fff;text-decoration:none;font-weight:700}.crefo-front-button,.crefo-front-submit{display:inline-block;border:0;border-radius:999px;background:#f59e0b;color:#111827!important;padding:10px 16px;text-decoration:none;font-weight:800;cursor:pointer}.crefo-front-submit{font-size:16px;margin-top:18px}.crefo-front-card{background:#fff;border:1px solid #dbe3ef;border-radius:18px;padding:22px;margin:0 0 20px;box-shadow:0 8px 22px rgba(15,76,129,.08)}.crefo-front-card legend{font-weight:800;font-size:1.15rem;color:#0f4c81;padding:0 8px}.crefo-front-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.crefo-front-card-title h3{margin:0;color:#0f4c81}.crefo-front-muted{color:#64748b;font-size:.95rem}.crefo-front-notice{border-radius:14px;padding:14px 16px;margin:0 0 18px;font-weight:700}.crefo-front-notice-success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.crefo-front-notice-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.crefo-front-table-wrap{overflow-x:auto}.crefo-front-table{width:100%;border-collapse:collapse}.crefo-front-table th,.crefo-front-table td{border-bottom:1px solid #e5e7eb;padding:12px 10px;text-align:left;vertical-align:top}.crefo-front-table th{background:#f8fafc;color:#0f4c81;font-weight:800}.crefo-status-pill{display:inline-block;border-radius:999px;padding:5px 10px;background:#eaf4ff;color:#0f4c81;font-weight:800;font-size:.85rem}.crefo-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.crefo-front-form fieldset{min-width:0}.crefo-field{display:block;margin:0 0 14px}.crefo-field span{display:block;font-weight:800;margin-bottom:6px}.crefo-field em{color:#dc2626;font-style:normal}.crefo-field input,.crefo-field select,.crefo-field textarea{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;padding:10px 12px;background:#fff}.crefo-field textarea{resize:vertical}.crefo-field-wide{grid-column:1/-1}.crefo-checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.crefo-checkbox-grid label{font-weight:500}.crefo-check{display:block;font-weight:700}.crefo-check input{margin-right:8px}.crefo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.crefo-detail-block{border:1px solid #e5e7eb;border-radius:14px;padding:16px;background:#f8fafc}.crefo-detail-block h4{margin:0 0 10px;color:#0f4c81}.crefo-detail-block dl{margin:0}.crefo-detail-block dt{font-weight:800;margin-top:9px}.crefo-detail-block dd{margin:2px 0 0;color:#334155}@media(max-width:800px){.crefo-front-header,.crefo-front-card-title{display:block}.crefo-front-header nav{margin-top:14px}.crefo-form-grid,.crefo-detail-grid,.crefo-checkbox-grid{grid-template-columns:1fr}}

/* V0.2.2 - Authentification front MEDICOOP */
.crefo-medicoop-auth .crefo-auth-intro { margin-bottom: 18px; }
.crefo-auth-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; align-items: start; }
.crefo-auth-form h3 { margin-top: 0; }
.crefo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 860px) { .crefo-auth-grid { grid-template-columns: 1fr; } }
.crefo-inline-logout{display:inline;margin:0}.crefo-link-button{background:transparent;border:0;color:#005ea8;cursor:pointer;font:inherit;text-decoration:underline;padding:0}.crefo-front-header nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Sprint 5 - formulaire retour tuteur */
.crefo-tuteur-front .crefo-front-header { margin-bottom: 24px; }
.crefo-tuteur-form .crefo-form-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
.crefo-readonly-line { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding: 8px 0; border-bottom: 1px solid #eef2f7; }
.crefo-readonly-line strong { color: #0f4f81; }
.crefo-readonly-line span { color: #111827; }
@media (max-width: 640px) { .crefo-readonly-line { grid-template-columns: 1fr; gap: 2px; } }

/* V0.6.2 - espace coordinateur portail */
.crefo-front-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 20px}.crefo-mini-card strong{display:block;font-size:2rem;color:#0f4c81}.crefo-mini-card span{display:block;color:#334155}.crefo-inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}.crefo-inline-form select{max-width:220px;border:1px solid #cbd5e1;border-radius:10px;padding:7px 9px}.crefo-small-button{border:0;border-radius:999px;background:#0f4c81;color:#fff;padding:7px 12px;font-weight:700;cursor:pointer}@media(max-width:900px){.crefo-front-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.crefo-front-cards{grid-template-columns:1fr}.crefo-inline-form{display:block}.crefo-inline-form select,.crefo-small-button{width:100%;margin-top:6px}}


/* V0.6.4 - lisibilité et formulaire en colonne unique */
.crefo-medicoop-front,
.crefo-medicoop-front input,
.crefo-medicoop-front select,
.crefo-medicoop-front textarea,
.crefo-medicoop-front button,
.crefo-medicoop-front table {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
}
.crefo-medicoop-front { font-size: 16px; line-height: 1.5; color: #111827; }
.crefo-front-header { border-radius: 12px; }
.crefo-front-header h2 { font-family: Arial, Helvetica, sans-serif !important; font-size: 1.45rem; }
.crefo-front-card { border-radius: 12px; }
.crefo-front-card h3,
.crefo-front-card legend,
.crefo-front-table th { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: normal !important; }
.crefo-form-grid,
.crefo-tuteur-form .crefo-form-grid,
.crefo-auth-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}
.crefo-front-form fieldset { margin-bottom: 18px; }
.crefo-field span { font-weight: 700; color: #1f2937; }
.crefo-field input,
.crefo-field select,
.crefo-field textarea {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 16px;
  line-height: 1.4;
  border-radius: 8px;
  padding: 11px 12px;
}
.crefo-checkbox-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}
.crefo-checkbox-grid label { line-height: 1.35; }
.crefo-front-submit,
.crefo-front-button,
.crefo-small-button {
  font-family: Arial, Helvetica, sans-serif !important;
  border-radius: 8px;
}
.crefo-readonly-line { grid-template-columns: 190px 1fr; }
@media (max-width: 760px) { .crefo-readonly-line { grid-template-columns: 1fr; } }


/* V0.6.5 - correction définitive formulaire tuteur : empilement vertical */
.crefo-tuteur-front,
.crefo-tuteur-front * {
  font-family: Arial, Helvetica, sans-serif !important;
  letter-spacing: normal !important;
}
.crefo-tuteur-form .crefo-tuteur-stack {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.crefo-tuteur-form .crefo-tuteur-stack > .crefo-front-card,
.crefo-tuteur-front .crefo-front-card {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  float: none !important;
  clear: both !important;
  margin: 0 0 22px 0 !important;
}
.crefo-tuteur-form .crefo-tuteur-stack > fieldset.crefo-front-card {
  grid-column: 1 / -1 !important;
}
.crefo-tuteur-form .crefo-field,
.crefo-tuteur-form .crefo-field-wide {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.crefo-tuteur-form .crefo-checkbox-grid {
  display: block !important;
}
.crefo-tuteur-form .crefo-checkbox-grid label {
  display: block !important;
  margin: 0 0 8px 0 !important;
}
.crefo-tuteur-form .crefo-front-card legend,
.crefo-tuteur-form .crefo-front-card h3,
.crefo-tuteur-form .crefo-field span {
  font-family: Arial, Helvetica, sans-serif !important;
  line-height: 1.25 !important;
}


/* Sprint 6 - Espace Conseiller(e) CREFO */
.crefo-cep-stack,
.crefo-cep-bilan-form {
  display: block !important;
  width: 100% !important;
}
.crefo-cep-stack > .crefo-front-card,
.crefo-cep-bilan-form > .crefo-front-card {
  display: block !important;
  width: 100% !important;
  margin-bottom: 24px !important;
}
.crefo-nested-card {
  box-shadow: none !important;
  background: #fff !important;
  border: 1px solid #d9e5f2 !important;
}
.crefo-cep-attempt-form {
  display: block !important;
}
.crefo-danger-button {
  background: #b42318 !important;
}
.crefo-readonly-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
@media (max-width: 900px) {
  .crefo-readonly-grid { grid-template-columns: 1fr; }
}

/* V0.7.1 - Suivi Conseiller(e) CREFO libre */
.crefo-cep-timeline {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 18px 0;
}
.crefo-cep-step {
  border-left: 4px solid #00558c;
  background: #f7fbff;
  border-radius: 10px;
  padding: 12px 14px;
}
.crefo-cep-step p {
  margin: 8px 0 0;
}
.crefo-cep-suivi-form-card,
.crefo-cep-unreachable-form {
  margin-top: 18px;
}
.crefo-cep-suivi-form {
  display: block !important;
}
.crefo-cep-suivi-form .crefo-form-field,
.crefo-cep-suivi-form label,
.crefo-cep-suivi-form input,
.crefo-cep-suivi-form select,
.crefo-cep-suivi-form textarea {
  width: 100%;
  max-width: 100%;
}

/* V0.7.2 - Corrections lisibilité espace Conseiller(e) CREFO et champs internes CREFO */
.crefo-medicoop-front,
.crefo-medicoop-front * {
  box-sizing: border-box;
}

/* Le résumé dossier Conseiller(e) CREFO ne doit jamais chevaucher les libellés et les valeurs */
.crefo-readonly-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.crefo-readonly-grid .crefo-readonly-line {
  display: block !important;
  grid-template-columns: none !important;
  min-width: 0 !important;
  width: 100% !important;
  background: #f8fafc !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 10px !important;
  padding: 12px 14px !important;
  overflow: hidden !important;
}
.crefo-readonly-grid .crefo-readonly-line strong {
  display: block !important;
  margin: 0 0 4px 0 !important;
  color: #0f4c81 !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.crefo-readonly-grid .crefo-readonly-line span {
  display: block !important;
  color: #111827 !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

/* Cases à cocher : alignement propre texte / case */
.crefo-checkbox-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 12px !important;
}
.crefo-checkbox-grid label,
.crefo-check {
  display: grid !important;
  grid-template-columns: 22px 1fr !important;
  align-items: start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 7px 8px !important;
  line-height: 1.35 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
}
.crefo-checkbox-grid label input[type="checkbox"],
.crefo-check input[type="checkbox"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  flex: none !important;
}
.crefo-checkbox-grid label span {
  display: block !important;
  margin: 0 !important;
  color: #111827 !important;
  font-weight: 400 !important;
}

/* Identification visuelle des champs d'analyse conseiller / interne CREFO */
.crefo-card-crefo-advice {
  border-color: #fed7aa !important;
  background: linear-gradient(180deg, #fffaf5 0%, #ffffff 70%) !important;
}
.crefo-card-crefo-advice legend {
  color: #9a3412 !important;
}
.crefo-crefo-badge,
.crefo-field-badge {
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: #ffedd5 !important;
  color: #9a3412 !important;
  border: 1px solid #fdba74 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  vertical-align: middle !important;
  letter-spacing: normal !important;
}
.crefo-field-badge {
  display: block !important;
  width: fit-content !important;
  margin: 6px 0 0 0 !important;
}
.crefo-field-crefo-advice {
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-left: 5px solid #f97316 !important;
  border-radius: 10px !important;
  padding: 12px !important;
}
.crefo-field-crefo-advice > span {
  color: #7c2d12 !important;
}

/* Rendu plus compact et classique du bilan Conseiller(e) CREFO */
.crefo-cep-bilan-form .crefo-front-card legend,
.crefo-cep-stack .crefo-front-card legend {
  font-size: 1.1rem !important;
  line-height: 1.25 !important;
}
.crefo-cep-bilan-form .crefo-field span,
.crefo-cep-stack .crefo-field span {
  font-size: 15px !important;
  line-height: 1.3 !important;
}
.crefo-cep-bilan-form textarea {
  min-height: 110px !important;
}

@media (max-width: 720px) {
  .crefo-readonly-grid {
    grid-template-columns: 1fr !important;
  }
  .crefo-crefo-badge {
    display: block !important;
    width: fit-content !important;
    margin: 8px 0 0 0 !important;
  }
}

/* V0.7.4 - Bilan Conseiller(e) CREFO verrouillé / déverrouillable */
.crefo-locked-form input:disabled,
.crefo-locked-form textarea:disabled,
.crefo-locked-form select:disabled {
  background: #f3f4f6 !important;
  color: #374151 !important;
  cursor: not-allowed;
  opacity: 1;
}
.crefo-bilan-lock-card {
  border-left: 5px solid #0f5a92;
  background: #f8fbff;
}
.crefo-bilan-edit-card {
  border-left: 5px solid #f59e0b;
  background: #fff7ed;
}
.crefo-synthesis-action-card {
  border-left: 5px solid #16a34a;
}
.crefo-synthesis-action-card button:disabled,
.crefo-front-submit:disabled {
  background: #d1d5db !important;
  color: #6b7280 !important;
  cursor: not-allowed;
}
.crefo-front-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}
.crefo-synthesis-edit-form textarea {
  width: 100%;
  min-height: 420px;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
}

/* v0.8.12 - tableau/à la Conseiller(e) CREFO : espacement colonnes Date immersion / Statut */
.crefo-cep-dashboard-table-wrap{overflow-x:auto;padding-bottom:4px}
.crefo-cep-dashboard-table{min-width:1080px;table-layout:fixed}
.crefo-cep-dashboard-table th,.crefo-cep-dashboard-table td{box-sizing:border-box}
.crefo-cep-dashboard-table th{white-space:nowrap;padding-left:14px;padding-right:14px}
.crefo-cep-dashboard-table th:nth-child(1),.crefo-cep-dashboard-table td:nth-child(1){width:115px;word-break:break-word}
.crefo-cep-dashboard-table th:nth-child(2),.crefo-cep-dashboard-table td:nth-child(2){width:190px;word-break:break-word}
.crefo-cep-dashboard-table th:nth-child(3),.crefo-cep-dashboard-table td:nth-child(3){width:190px;word-break:break-word}
.crefo-cep-dashboard-table th:nth-child(4),.crefo-cep-dashboard-table td:nth-child(4){width:155px;white-space:nowrap}
.crefo-cep-dashboard-table th:nth-child(5),.crefo-cep-dashboard-table td:nth-child(5){width:155px;padding-left:18px}
.crefo-cep-dashboard-table th:nth-child(6),.crefo-cep-dashboard-table td:nth-child(6){width:145px}
.crefo-cep-dashboard-table th:nth-child(7),.crefo-cep-dashboard-table td:nth-child(7){width:130px}
.crefo-status-pill{line-height:1.25;white-space:normal;max-width:100%}
.crefo-status-pill--success{background:#dcfce7;color:#166534}
.crefo-status-pill--warning{background:#fff7ed;color:#9a3412}
.crefo-status-pill--danger{background:#fee2e2;color:#991b1b}
.crefo-status-pill--muted{background:#eaf4ff;color:#0f4c81}
.crefo-inline-form--compact{display:flex;gap:8px;align-items:center;flex-wrap:nowrap}
.crefo-inline-form--compact .crefo-small-button{flex:0 0 auto}
.crefo-small-button,.crefo-small-button:visited{display:inline-flex;align-items:center;justify-content:center;line-height:1.2;text-align:center;text-decoration:none;white-space:normal;min-height:34px;box-sizing:border-box}
.crefo-small-button--nowrap{white-space:nowrap;min-width:108px}
@media(max-width:700px){.crefo-cep-dashboard-table{min-width:980px}.crefo-small-button--nowrap{min-width:auto}}


/* V0.8.21 - portail : formulaire de connexion seul, sans bloc d'information comptes */
.crefo-auth-grid--single { max-width: 560px; margin: 0 auto; }
.crefo-auth-grid--single .crefo-auth-form { width: 100%; box-sizing: border-box; }
