/* Module « Demandes des associations » : formulaire public (demande.html) et file interne (demandes.html). */

/* ---------- Statuts ---------- */
.rq-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap;border:1px solid}
.rq-badge .ic{width:13px;height:13px}
.rq-pending{background:var(--warn-bg);color:var(--warn);border-color:#F3D9A4}
.rq-info{background:var(--info-bg);color:var(--bleu);border-color:var(--info-bd)}
.rq-accepted{background:var(--ok-bg);color:var(--ok);border-color:#C3E2CE}
.rq-refused{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-bd)}
.rq-withdrawn{background:var(--fond);color:var(--muted);border-color:var(--bord)}

/* ---------- Page publique ---------- */
body.rq-pub{min-height:100vh;display:flex;flex-direction:column;background:var(--fond)}
.rq-head{background:var(--nuit);color:#fff}
.rq-head .in{max-width:1100px;margin:0 auto;padding:8px 20px;display:flex;align-items:center;gap:12px;min-height:58px;flex-wrap:wrap}
.rq-head img{width:28px;height:38px;object-fit:contain;flex:none}
.rq-head .t{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:4px 14px;flex-wrap:wrap}
.rq-head h1{font-family:"Barlow Condensed",sans-serif;font-size:24px;font-weight:700;line-height:1.1}
.rq-head .k{font-size:12.5px;font-weight:600;color:#9FBBD3;letter-spacing:.04em;text-transform:uppercase}
.rq-head a.back{display:inline-flex;align-items:center;gap:6px;color:#D5E3EE;text-decoration:none;font-size:14px;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 12px;white-space:nowrap}
.rq-head a.back:hover{background:rgba(255,255,255,.08);color:#fff}
.rq-head a.back .ic{width:15px;height:15px}
.rq-main{flex:1;width:100%;max-width:880px;margin:0 auto;padding:28px 20px 48px;display:flex;flex-direction:column;gap:18px;outline:none}
.rq-intro h2{font-family:"Barlow Condensed",sans-serif;font-size:32px;font-weight:700;color:var(--nuit);line-height:1.1}
.rq-intro p{color:var(--muted);margin-top:6px;max-width:68ch}
.rq-steps{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.rq-steps li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted);background:var(--papier);border:1px solid var(--bord);border-radius:999px;padding:3px 10px 3px 4px}
.rq-steps li b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--nuit);color:#fff;font-size:11.5px}
.rq-sec{scroll-margin-top:16px}
.rq-sec h3{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;color:var(--nuit)}
.rq-sec h3 .n{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--jaune);color:var(--nuit);font-size:14px;flex:none}
.rq-sec>.hint{margin-top:-6px}
.rq-seg{display:inline-flex;flex-wrap:wrap;gap:6px}
.rq-seg label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--champ);border-radius:var(--r);background:var(--papier);cursor:pointer;font-weight:600;font-size:14px}
.rq-seg label:has(input:checked){border-color:var(--bleu);background:var(--info-bg);color:var(--nuit)}
.rq-seg input{accent-color:var(--bleu);margin:0}
.rq-dayinfo{display:flex;flex-direction:column;gap:6px}
.rq-dayinfo:empty{display:none}
.rq-chips{display:flex;flex-wrap:wrap;gap:6px}
.rq-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 10px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--bord);background:var(--papier)}
.rq-chip .ic{width:13px;height:13px}
.rq-chip.hol{color:var(--rouge);border-color:#F0B7BF}
.rq-chip.vac{color:#0E4F58;background:var(--vac-bg);border-color:#BCE0E5}
.rq-chip.civ{color:var(--bleu);border-color:var(--info-bd)}
.rq-eq{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.rq-eq label{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--bord);border-radius:var(--r);background:var(--papier);font-size:14px}
.rq-eq label span{flex:1;min-width:0}
.rq-eq input{width:72px;min-height:34px;padding:4px 8px;border:1px solid var(--champ);border-radius:6px;text-align:right}
.rq-drop{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 16px;border:2px dashed var(--champ);border-radius:var(--r-lg);background:var(--papier-2);color:var(--muted);text-align:center;cursor:pointer}
.rq-drop .ic{width:28px;height:28px;color:var(--bleu)}
.rq-drop b{color:var(--bleu)}
.rq-drop:hover,.rq-drop.over{border-color:var(--bleu);background:var(--info-bg)}
.rq-drop:has(+ input:focus-visible){outline:2px solid var(--bleu);outline-offset:2px}
.rq-imgprev{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}
.rq-imgprev img{width:180px;max-height:220px;object-fit:contain;border-radius:10px;border:1px solid var(--bord);background:var(--papier-2)}
.rq-consent{padding:14px;border:1px solid var(--info-bd);background:var(--info-bg);border-radius:var(--r-lg);font-size:14px;display:flex;flex-direction:column;gap:10px}
.rq-consent ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px}
.rq-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.rq-errors{display:flex;flex-direction:column;gap:6px}
.rq-errors ul{margin:4px 0 0;padding-left:18px}
.rq-errors a{color:#5E0B18;font-weight:600}
.rq-submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.rq-submit .hint{flex:1 1 260px}
.rq-done{align-items:flex-start}
.rq-done .ref{font-family:"Barlow Condensed",sans-serif;font-size:30px;font-weight:700;color:var(--nuit)}
.rq-linkbox{display:flex;gap:8px;width:100%;flex-wrap:wrap}
.rq-linkbox input{flex:1 1 260px;min-height:40px;padding:8px 12px;border:1px solid var(--champ);border-radius:var(--r);background:var(--papier-2);font-size:14px}
.rq-demo{font-size:13px;color:var(--muted);display:flex;gap:8px;align-items:flex-start}
.rq-demo .ic{width:15px;height:15px;margin-top:2px}
.rq-foot{border-top:1px solid var(--bord);background:var(--papier)}
.rq-foot .in{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--muted)}
.rq-foot a{color:var(--muted)}

/* ---------- Fil des échanges ---------- */
.rq-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rq-msg{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:10px;border:1px solid var(--bord);background:var(--papier);max-width:92%}
.rq-msg.from-mairie{align-self:flex-start;border-left:3px solid var(--bleu)}
.rq-msg.from-association{align-self:flex-end;border-right:3px solid var(--jaune);background:#FFFCF0}
.rq-msg.kind-note{background:var(--papier-2);border-style:dashed;border-left:3px solid var(--ardoise)}
.rq-msg .who{font-size:12.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.rq-msg .who b{color:var(--encre-2)}
.rq-msg .who .ic{width:13px;height:13px}
.rq-msg p{white-space:pre-line;font-size:14px}

/* ---------- File interne ---------- */
.rq-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rq-tools .search{flex:1 1 220px;max-width:340px}
.rq-tools select{min-height:38px;padding:4px 30px 4px 10px;border:1px solid var(--champ);border-radius:var(--r);background:var(--papier);font-size:14px}
.rq-kpi{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s}
.rq-kpi:hover{border-color:var(--champ)}
.rq-kpi[aria-pressed=true]{border-color:var(--bleu);box-shadow:0 0 0 2px rgba(0,85,150,.15)}
.rq-kpi b{display:flex;align-items:center;gap:8px}
.rq-kpi i{display:inline-block;width:10px;height:10px;border-radius:50%}
.rq-table tbody tr{cursor:pointer}
.rq-table .ttl{font-weight:700;color:var(--encre)}
.rq-table .sub{display:block;font-size:13px;color:var(--muted)}
.rq-table .late{color:var(--danger);font-weight:700}
.rq-table td.dates{white-space:nowrap}
.rq-table button.rowlink{border:0;background:none;padding:0;font:inherit;text-align:left;cursor:pointer;color:inherit}
.rq-table button.rowlink:hover .ttl{text-decoration:underline}
.rq-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--bord);flex:none}
.rq-cell{display:flex;align-items:center;gap:10px;min-width:0}
@media (max-width:760px){
  .rq-table thead{display:none}
  .rq-table,.rq-table tbody,.rq-table tr,.rq-table td{display:block;width:100%}
  .rq-table tr{padding:10px 14px;border-bottom:1px solid var(--bord-2)}
  .rq-table td{padding:2px 0;border:0}
  .rq-table td[data-l]::before{content:attr(data-l) " : ";color:var(--muted);font-size:13px}
}
.rq-dl{margin:0;display:flex;flex-direction:column;gap:9px}
.rq-dl>div{display:grid;grid-template-columns:20px 118px minmax(0,1fr);gap:8px;align-items:start;font-size:14.5px}
.rq-dl .ic{color:var(--muted);margin-top:2px}
.rq-dl dt{color:var(--muted);font-weight:600}
.rq-dl dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:480px){.rq-dl>div{grid-template-columns:20px minmax(0,1fr)}.rq-dl dd{grid-column:2}}
.rq-h{font-size:14px;font-weight:700;color:var(--encre-2);display:flex;align-items:center;gap:6px}
.rq-h .ic{width:16px;height:16px;color:var(--muted)}
.rq-img{margin:-16px -20px 0;background:var(--papier-2);border-bottom:1px solid var(--bord-2)}
.rq-img img{display:block;width:100%;max-height:280px;object-fit:contain}
.rq-evlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;font-size:14px}
.rq-evlist li{display:flex;align-items:center;gap:8px}
.rq-evlist .cat-dot{width:18px;height:18px}
.rq-evlist .hint{margin-left:auto;white-space:nowrap}
.rq-decision{font-size:14px}
.dlg .rq-seg{margin-top:2px}
/* Les champs de quantité ne doivent pas hériter de la largeur 100 % des champs de formulaire. */
.rq-eq label span{min-width:0;overflow-wrap:anywhere;line-height:1.25}
.rq-eq input[type=number]{width:78px!important;min-height:34px!important;flex:none;padding:4px 8px!important}
@media (max-width:640px){#kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#kpis .kpi{padding:10px 12px}}
/* Sélection multiple */
.rq-table th.rq-pick,.rq-table td.rq-pick{width:44px;padding-right:0}
.rq-table tr.is-selected{background:#EEF5FB}
@media (max-width:760px){
  .rq-table.has-pick tr{position:relative;padding-right:52px}
  .rq-table td.rq-pick{position:absolute;top:8px;right:8px;width:auto;padding:0}
}
