/* Signaler : espace client et page publique */
.sg { padding: 26px 0 60px; max-width: 860px }
.sg-form { display: grid; gap: 16px; padding: 24px; border: 1px solid #e4e4f3; border-radius: 22px; background: #fff; box-shadow: 0 18px 40px -30px rgba(20,20,80,.45); margin: 22px 0 30px }
.sg-natures { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px } .sg-natures legend { font-weight: 700; margin-bottom: 10px; width: 100%; float: left }
.sg-choix { cursor: pointer } .sg-choix input { position: absolute; opacity: 0 }
.sg-choix span { display: inline-block; padding: 9px 14px; border-radius: 99px; border: 1.5px solid #d8daee; font-weight: 600; font-size: .92rem; background: #fff; transition: all .15s }
.sg-choix input:checked + span { background: #000091; border-color: #000091; color: #fff } .sg-choix input:focus-visible + span { outline: 3px solid #7b9cff }
.sg-champ { display: grid; gap: 6px } .sg-champ label { font-weight: 600 } .sg-champ small { color: #777; font-weight: 400 }
.sg-champ input, .sg-champ select, .sg-champ textarea { width: 100%; box-sizing: border-box; border: 1px solid #c9cbe0; border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 16px; background: #fff }
.sg-duo { display: grid; grid-template-columns: 1.4fr 1fr; gap: 12px }
.sg-case { display: flex; gap: 10px; align-items: flex-start; font-size: .92rem; cursor: pointer } .sg-case input { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: #000091 }
.sg-case[hidden] { display: none }
.sg-message { margin: 0; padding: 12px 14px; border-radius: 12px } .sg-message.est-ok { background: #eafaf0; color: #14532d } .sg-message.est-ko { background: #fff1f1; color: #b00010; font-weight: 600 }
.sg-form .bouton { justify-self: start }
.sg-liste { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px }
.sg-liste li { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 12px 16px; border: 1px solid #ececf6; border-radius: 14px; background: #fff }
.sg-liste span { grid-column: 1; color: #666; font-size: .88rem } .sg-liste em { grid-row: 1 / span 2; grid-column: 2; align-self: center; font-style: normal; font-size: .8rem; font-weight: 700; padding: 4px 10px; border-radius: 99px; background: #eef0ff; color: #000091 }
.sg-statut--confirme { background: #eafaf0 !important; color: #18753c !important } .sg-statut--rejete { background: #f3f3f3 !important; color: #666 !important }
.sg-verif { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: end; padding: 20px; border-radius: 20px; background: #f5f5fe; border: 1px solid #e4e4f3 }
.sg-verif select, .sg-verif input { border: 1px solid #c9cbe0; border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 16px; background: #fff; width: 100%; box-sizing: border-box }
.sg-resultat { margin: 14px 0 0 } .sg-resultat p { margin: 0 0 8px }
.sg-alerte { padding: 12px 14px; border-radius: 12px; background: #fff1f1; border-left: 4px solid #e1000f; color: #5a0007 } .sg-alerte--orange { background: #fff7ed; border-color: #ea580c; color: #5a2a00 }
.sg-neutre { padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid #e4e4f3 }
@media (max-width: 640px) { .sg-duo, .sg-verif { grid-template-columns: 1fr } .sg-form { padding: 18px } }
.sg-choix { position: relative } .sg-choix input { left: 0; top: 0; width: 1px; height: 1px; margin: 0 }
