/* Ajustements propres a l'application, en complement de la maquette Aurora.
   Regroupes ici pour que aurora.css reste identique a la maquette validee. */

body{background:var(--page);color:var(--ink);margin:0}
a{text-decoration:none;color:inherit}
.app{min-height:100vh}
.side .brand .csec-logo{height:38px;width:auto;display:block}
.lien-nav{display:block}
.side .me .deconnexion{margin-top:10px}
.side .me .deconnexion button{font-size:11.5px;font-weight:600;opacity:.8;text-decoration:underline}
.main{max-width:1180px}

/* messages */
.alert.success{background:#E4F7EC;color:#18794E}
.alert.error{background:#FDECEC;color:#B4232C}

/* formulaires */
.champ{margin-bottom:14px}
.champ label{display:block;font-size:12px;font-weight:700;color:#6C7186;margin-bottom:6px}
.champ input[type=text],.champ input[type=email],.champ input[type=password],
.champ input[type=number],.champ select,.champ textarea{
  width:100%;padding:11px 14px;border:1.5px solid #E4E5F0;border-radius:12px;font-size:14px;background:#fff}
.champ input:focus,.champ select:focus{outline:2px solid var(--v1);border-color:var(--v1)}
.champ .aide{font-size:11.5px;color:var(--soft);margin-top:5px}
.champ .erreur{font-size:12px;color:#B4232C;margin-top:5px;font-weight:600}
.champ.case{display:flex;align-items:center;gap:9px}
.champ.case label{margin:0}
.champ.case input{width:auto}
.deux-colonnes{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.actions{display:flex;gap:10px;align-items:center;margin-top:18px}

/* tableau des comptes */
.tbl .actions-ligne{display:flex;gap:6px;justify-content:flex-end}
.tbl .actions-ligne button{font-size:11.5px;font-weight:600;color:var(--v1);
  border:1.5px solid #E0DEF8;border-radius:999px;padding:5px 11px;background:#fff}
.tbl .actions-ligne button.danger{color:#B4232C;border-color:#F3D2D2}
.badge{font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:999px;background:#EDEBFD;color:var(--v1)}
.badge.gris{background:#F1F1F6;color:var(--soft)}
.badge.vert{background:#E4F7EC;color:#18794E}
.badge.rouge{background:#FDECEC;color:#B4232C}

/* pages de securite (code, QR) */
.encart{max-width:520px;margin:40px auto}
.encart .qr{display:block;margin:14px auto;width:190px;height:190px;border-radius:12px}
.encart .secret{font-family:'IBM Plex Mono',monospace;font-size:12.5px;background:#F6F5FE;
  padding:9px 12px;border-radius:10px;text-align:center;letter-spacing:.08em}

/* page chantier */
.chantier{text-align:center;padding:38px 22px}
.chantier .ic{font-size:30px}
.chantier h3{font-size:18px;font-weight:800;margin:10px 0 6px}
.chantier p{font-size:13.5px;color:var(--soft);max-width:520px;margin:0 auto}
.chantier .lot{display:inline-block;margin-top:14px;font-size:11px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--v1);background:#EDEBFD;
  padding:6px 13px;border-radius:999px}

/* --- lot 1 : fiche association, reprises des styles internes de la maquette --- */
.kv{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}
.kv label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:4px}
.kv .v{font-size:13.5px;padding:9px 12px;background:#F7F7FC;border-radius:10px;border:1.5px solid transparent}
.kv .v.ed{background:#fff;border-color:#E4E5F0}
.logobox{width:84px;height:84px;border-radius:20px;background:linear-gradient(140deg,var(--v1),var(--v3));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:19px;flex:none}
.pieces{display:grid;gap:8px}
.piece{display:flex;gap:10px;align-items:center;padding:10px 13px;border-radius:12px;background:#F7F7FC;font-size:12.5px}
.piece.warn{background:#FFF4E5}
.piece .a{margin-left:auto;font-weight:700;color:var(--v1);font-size:12px;white-space:nowrap}
.hero .btns{margin-left:auto;display:flex;gap:9px;flex-wrap:wrap}
.hero .cta.sm{padding:10px 16px;font-size:13px}
.ro{display:inline-flex;align-items:center;gap:7px;background:#EEF0F8;color:#5C6076;padding:6px 13px;border-radius:999px;font-size:12px;font-weight:700}
@media(max-width:920px){.kv{grid-template-columns:1fr}}

/* --- lot 2 : preparation du courrier d'appel --- */
.destinataires{display:grid;gap:6px}
.destinataire{display:flex;align-items:center;gap:9px;padding:8px 11px;border-radius:10px;background:#F7F7FC;font-size:13px;cursor:pointer}
.destinataire input{width:auto}
.doc{background:#fff;border-radius:14px;border:1px solid var(--line);padding:18px 20px;line-height:1.6;max-height:420px;overflow:auto}
textarea{width:100%;padding:12px 14px;border:1.5px solid #E4E5F0;border-radius:12px;font-size:13.5px;font-family:inherit;line-height:1.55}
textarea:focus{outline:2px solid var(--v1);border-color:var(--v1)}

/* --- lot 5 : selection en seance --- */
.opts{display:flex;gap:5px;flex-wrap:wrap}
.opts button{min-width:44px;padding:7px 0;border-radius:999px;border:1.5px solid #E4E5F0;background:#fff;font-family:'IBM Plex Mono',monospace;font-weight:600;font-size:12.5px}
.opts button.on{background:linear-gradient(90deg,var(--v1),var(--v2));border-color:transparent;color:#fff}
.opts button:disabled{opacity:.45;cursor:not-allowed}
.opts .lbl{font-size:11px;font-weight:700;color:var(--soft);align-self:center;text-transform:uppercase;letter-spacing:.05em;margin-right:3px}
.sej{background:#fff;border-radius:20px;padding:16px 18px;box-shadow:0 4px 20px rgba(23,26,43,.06);margin-bottom:12px}
.sej-h{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.sej-h h3{font-size:16px;font-weight:800}
.sej-h .m{font-size:12.5px;color:var(--soft)}
.sej-h .tags{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.ladder{display:flex;gap:9px;align-items:flex-end;margin:14px 0 12px}
.rung{flex:1;text-align:center}
.rung .b{background:var(--line);border-radius:8px 8px 3px 3px;margin-bottom:5px;min-height:8px}
.rung .p{font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:600}
.rung .l{font-size:10px;color:var(--soft);font-weight:700;letter-spacing:.04em}
.selrow{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding-top:11px;border-top:1px solid var(--line);margin-top:4px}
.selrow+.selrow{border-top:1px dashed var(--line)}
.pill{display:inline-flex;gap:6px;background:#fff;border-radius:999px;padding:4px;box-shadow:0 2px 8px rgba(23,26,43,.07);flex-wrap:wrap}
.pill button{padding:8px 15px;border-radius:999px;font-weight:700;font-size:12.5px;color:var(--soft)}
.pill button.on{background:linear-gradient(90deg,var(--v1),var(--v2));color:#fff}
.tabs2{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.tabs2 button{padding:8px 14px;border-radius:999px;background:#fff;font-weight:700;font-size:12.5px;color:var(--soft);box-shadow:0 2px 8px rgba(23,26,43,.06)}
.tabs2 button.on{background:linear-gradient(90deg,var(--v1),var(--v2));color:#fff}

/* --- synthese du sejour, lue avant la fiche complete --- */
.synthese{margin-top:10px;background:#F7F7FC;border-radius:14px;padding:11px 14px}
.synthese>summary{cursor:pointer;font-weight:700;font-size:12.5px;color:var(--v1);list-style:none}
.synthese>summary::-webkit-details-marker{display:none}
.synthese>summary::before{content:'▸ ';font-weight:800}
.synthese[open]>summary::before{content:'▾ '}
.synthese .corps{margin-top:10px;font-size:13px;line-height:1.62;white-space:pre-wrap}
.synthese .pied{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;
  align-items:center;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--soft)}
.synthese .pied .btn{margin-left:auto}
