/* res-flow.css — propriétaire : reservations (états du cycle de vie, formulaires, litige, remise, chat) */
/* Statuts locaux (absents de ST) */
.st-proposed{background:var(--c-mimoza-soft);color:var(--c-mimoza-text)}
.st-refused{background:var(--c-shega-soft);color:var(--c-shega-text)}
.st-expired{background:var(--c-sunken);color:var(--c-ink-2)}
.st-disputed{background:color-mix(in oklab,var(--c-warning) 18%,var(--c-surface));color:var(--c-warning)}
.res-why2{margin-top:2px}

/* Champs, compteurs, erreurs */
.res-fmeta{display:flex;justify-content:flex-end;margin-top:4px}
.res-count,.res-ccount{font-size:var(--fs-xs);color:var(--c-ink-3);font-weight:600;font-variant-numeric:tabular-nums}
.res-count.over,.res-ccount.over{color:var(--c-danger)}
.res-ferr{display:flex;gap:6px;align-items:flex-start;margin-top:6px;font-size:var(--fs-xs);font-weight:600;color:var(--c-danger)}
.res-ferr[hidden]{display:none}
.res-ferr .ic{flex:none;margin-top:1px}
.input[aria-invalid="true"]{border-color:var(--c-danger)}
.res-sel{appearance:none;-webkit-appearance:none;color:var(--c-ink);background-image:linear-gradient(45deg,transparent 50%,var(--c-ink-2) 50%),linear-gradient(135deg,var(--c-ink-2) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat}
.res-why{text-align:center}
.res-warn-t{color:var(--c-warning)}
.res-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;margin-bottom:10px;border-radius:var(--r-md);background:var(--c-shega-soft);color:var(--c-ink);font-size:var(--fs-sm)}
.res-alert>.ic{color:var(--c-shega-text);flex:none}
.res-alert .chip{height:44px}
.res-check{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:8px 0;font-weight:600;cursor:pointer}
.res-check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--c-primary)}
.res-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Calendrier mensuel */
.res-mh{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.res-mh b{font-family:var(--font-display);font-size:var(--fs-lg)}
.res-mh .iconbtn[disabled]{opacity:.35}
.cal button.busy{text-decoration:line-through;color:var(--c-shega-text);opacity:.7;background:var(--c-shega-soft)}
.cal button[aria-pressed="true"]{background:var(--c-ink);color:var(--c-bg)}
.res-legend{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.res-lg{width:12px;height:12px;border-radius:4px;display:inline-block}
.res-lg.busy{background:var(--c-shega-soft);box-shadow:inset 0 0 0 1px var(--c-shega-text)}
.res-lg.edge{background:var(--c-ink);margin-left:8px}

/* Adresses */
.res-addadd{display:flex;gap:12px;align-items:center;width:100%;min-height:64px;padding:12px 14px;border-radius:var(--r-md);border:2px dashed var(--c-line-strong);text-align:left}
.res-addadd>.ic:first-child{color:var(--c-primary)}
.res-radios{display:grid;gap:8px}
.res-radio{display:flex;gap:12px;align-items:center;width:100%;min-height:56px;padding:10px 14px;border-radius:var(--r-md);background:var(--c-surface);box-shadow:inset 0 0 0 1px var(--c-line);text-align:left}
.res-radio[aria-checked="true"]{box-shadow:inset 0 0 0 2px var(--c-primary)}
.res-dot{width:22px;height:22px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 2px var(--c-line-strong)}
.res-radio[aria-checked="true"] .res-dot{box-shadow:inset 0 0 0 7px var(--c-primary)}

/* Liste */
.res-off{display:flex;gap:8px;align-items:center;margin:0 var(--gutter) 8px;padding:6px 6px 6px 12px;border-radius:var(--r-md);background:var(--c-info-soft);color:var(--c-ink);font-size:var(--fs-xs);font-weight:600}
.res-off>.ic{color:var(--c-info);flex:none}
.res-off .btn{height:44px}
.res-pubcta{display:flex;gap:12px;align-items:center;width:calc(100% - 2 * var(--gutter));margin:0 var(--gutter);padding:14px;border-radius:var(--r-lg);background:var(--c-primary-soft);color:var(--c-on-primary-soft);text-align:left}
.res-sk{display:block;height:14px;border-radius:8px;background:var(--c-skeleton);animation:resSk 1.2s ease-in-out infinite}
.res-sk-th{width:56px;height:56px;border-radius:14px 14px 4px 4px;flex:none}
.res-skel{cursor:default;animation:none}
@keyframes resSk{50%{opacity:.5}}
@media (prefers-reduced-motion:reduce){.res-sk{animation:none}}
.res-err .empty{padding-top:24px}
.res-tall{min-height:44px;height:44px}

/* Bouton en cours d'envoi */
.res-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:resSpin .8s linear infinite;flex:none}
@keyframes resSpin{to{transform:rotate(360deg)}}
[aria-busy="true"]{cursor:progress}

/* Détail : actions, notes */
.res-acts{display:grid;gap:10px}
.res-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.res-2col .btn{padding:0 10px;min-width:0}
.res-soft-dis{opacity:.5}
.res-danger{background:var(--c-danger);color:#fff}
:root[data-theme="dark"] .res-danger{color:var(--c-bg)}
.res-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:var(--r-md);background:var(--c-sunken);font-size:var(--fs-sm);font-weight:600;color:var(--c-ink)}
.res-note>.ic{flex:none;margin-top:2px;color:var(--c-ink-2)}
.res-note.ok>.ic{color:var(--c-success)}
.res-hand .res-note,.res-hand .res-2col{margin-top:12px}
.res-link{display:inline-flex;align-items:center;gap:2px;min-height:44px;color:var(--c-primary);font-size:var(--fs-sm);font-weight:600}
.res-112{color:var(--c-danger);text-decoration:none}
.res-prop{margin:0}
.res-prop>b{display:flex;gap:6px;align-items:center}

/* Timeline : étapes terminales */
.tl li.end-red .dot{background:var(--c-shega);color:#fff;box-shadow:none}
.tl li.end-red b{color:var(--c-shega-text)}
.tl li.end-warn .dot{background:var(--c-warning);color:var(--c-bg);box-shadow:none}
.tl li.end-warn b{color:var(--c-warning)}
.res-tl-mini{padding:12px 0 0}

/* Litige, remise, photos */
.res-disp,.res-hand,.res-rev{margin-left:var(--gutter);margin-right:var(--gutter)}
.res-disp{box-shadow:inset 0 0 0 1.5px var(--c-warning)}
.res-disp h2,.res-hand h2,.res-rev h2{font-family:var(--font-display);font-weight:700;display:flex;gap:6px;align-items:center}
.res-disp h2 .ic{color:var(--c-warning)}
.res-form{padding-bottom:16px}
.res-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.res-photo-btn{position:relative;display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border-radius:var(--r-md);background:var(--c-surface);box-shadow:inset 0 0 0 1.5px var(--c-line-strong);font-size:var(--fs-sm);font-weight:600;cursor:pointer}
.res-photo-btn.res-sm{min-height:44px;width:100%;margin-top:8px;padding:0 8px}
.res-photo-btn:focus-within,.res-attach:focus-within{outline:2px solid var(--c-primary);outline-offset:2px}
.res-ths{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.res-th{width:56px;height:56px;border-radius:10px;overflow:hidden;display:block}
.res-th img{width:100%;height:100%;object-fit:cover;display:block}
.res-th .pic{height:100%;aspect-ratio:auto}
.res-hgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.res-hcol{min-width:0}
.res-stars{color:var(--c-mimoza-text);letter-spacing:1px}
.res-stars span{color:var(--c-line-strong)}
.res-reply{padding:10px 12px;border-radius:var(--r-md);background:var(--c-sunken)}
.res-invite{background:var(--c-primary-soft)}
.res-invite>.ic:first-child{color:var(--c-primary)}

/* Chat */
.res-attach{position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--c-ink-2);cursor:pointer}
.composer .grow{position:relative}
.res-ccount{position:absolute;right:12px;top:-18px}
.res-img{display:block;max-width:100%;width:200px;border-radius:12px;margin-bottom:4px}
.bub.res-fail{opacity:.85}
.res-retry{display:flex;gap:4px;align-items:center;min-height:44px;margin-top:2px;font-size:var(--fs-xs);font-weight:700;color:inherit;text-decoration:underline}
.readonly{display:flex;gap:6px;align-items:center;justify-content:center}
.res-2col .btn{white-space:normal;line-height:1.2;height:auto;min-height:48px;text-align:center}
/* T1-30 : rôle explicite (sens de l'échange) */
.res-role{display:inline-flex;align-items:center;gap:4px;margin:6px 0 0 8px;padding:2px 8px;border-radius:999px;font-size:var(--fs-sm);font-weight:600;background:var(--c-sunken);color:var(--c-ink)}
.dec-nmain .res-role{display:flex;width:max-content;max-width:100%;margin:4px 0}
.res-role.in{background:var(--c-mimoza-soft)}.res-role.out{background:var(--c-primary-soft)}
.res-inaddr{margin-top:4px}
.res-queue{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin:4px 0 8px;font-size:var(--fs-sm);font-weight:600;color:var(--c-ink)}
