/* Contrat VELQYRA — overlay signature obligatoire */
#vq-contract-root{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(5,11,18,.55);backdrop-filter:blur(6px)}
#vq-contract-root.open{display:flex}
.vq-c-modal{width:min(920px,100%);max-height:min(92vh,920px);overflow:auto;background:#fff;color:#12202c;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.35);border:1px solid #d5e0e8}
.vq-c-head{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #e4edf3;background:linear-gradient(135deg,#0a3d4a,#0d6e6e);color:#fff;position:sticky;top:0;z-index:2}
.vq-c-head h2{margin:0;font-size:1.1rem;letter-spacing:.04em}
.vq-c-head p{margin:4px 0 0;font-size:.82rem;opacity:.9}
.vq-c-body{padding:18px 18px 8px}
.vq-c-doc{white-space:pre-wrap;font-family:Georgia,"Times New Roman",serif;font-size:13.5px;line-height:1.55;background:#f7fafb;border:1px solid #e4edf3;border-radius:12px;padding:16px;max-height:42vh;overflow:auto}
.vq-c-preview-wrap{margin-top:14px;border:1px solid #e4edf3;border-radius:12px;overflow:hidden;background:#fff}
.vq-c-preview-wrap h3{margin:0;padding:10px 12px;font-size:.9rem;color:#0a3d4a;background:#f3f6f8;border-bottom:1px solid #e4edf3}
.vq-c-preview{width:100%;min-height:320px;height:min(52vh,520px);border:0;display:block;background:#fff}
.vq-c-signs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:720px){.vq-c-signs{grid-template-columns:1fr}}
.vq-c-box{border:1px solid #e4edf3;border-radius:12px;padding:12px;background:#fff}
.vq-c-box h3{margin:0 0 8px;font-size:.92rem;color:#0a3d4a}
.vq-c-box img{max-width:100%;height:auto}
.vq-c-stamp{width:110px;display:block}
.vq-c-platsig{width:200px;display:block;margin-top:6px}
.vq-c-canvas-wrap{border:1px dashed #9bb0c3;border-radius:10px;background:#fbfcfd;touch-action:none}
.vq-c-canvas-wrap canvas{width:100%;height:140px;display:block;border-radius:10px;cursor:crosshair}
.vq-c-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 18px 18px}
.vq-c-actions label{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;max-width:520px}
.vq-c-btns{display:flex;gap:8px;flex-wrap:wrap}
.vq-c-btn{border:1px solid #d5e0e8;background:#fff;color:#12202c;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer}
.vq-c-btn.primary{background:#0d6e6e;border-color:#0d6e6e;color:#fff}
.vq-c-btn:disabled{opacity:.55;cursor:not-allowed}
.vq-c-err{color:#d64545;font-size:.9rem;margin:0 18px 10px}
.vq-c-ok{color:#0f9f6e;font-size:.9rem;margin:0 18px 10px}
.vq-c-steps{display:flex;gap:8px;padding:12px 18px 0;flex-wrap:wrap}
.vq-c-step{flex:1;min-width:120px;background:#f3f6f8;border:1px solid #e4edf3;border-radius:10px;padding:8px 10px;font-size:.82rem;font-weight:700;color:#5a7184;display:flex;gap:8px;align-items:center}
.vq-c-step span{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#d5e0e8;color:#12202c;font-size:.75rem}
.vq-c-step.current{border-color:#0d6e6e;color:#0a3d4a;background:#e8f6f6}
.vq-c-step.current span{background:#0d6e6e;color:#fff}
.vq-c-step.done{border-color:#0f9f6e;color:#0f9f6e;background:#e7f7ef}
.vq-c-step.done span{background:#0f9f6e;color:#fff}
.vq-c-howto{margin:0 0 12px;padding-left:18px;color:#5a7184;font-size:.9rem;line-height:1.45}
.vq-c-return input[type=file]{width:100%;font-size:.9rem}
.vq-c-head-right{display:flex;align-items:center;gap:10px}
.vq-menu-contrat{
  display:block;width:100%;text-align:left;margin-top:.35rem;
  background:rgba(13,110,110,.16);color:inherit;border:1px solid rgba(13,110,110,.35);
  border-radius:10px;padding:.55rem .75rem;cursor:pointer;font-weight:700
}
/* Consultation après signature : uniquement 2 boutons centrés */
.vq-c-consult{padding:48px 24px 40px;display:flex;flex-direction:column;align-items:center;gap:28px;min-height:220px;justify-content:center}
.vq-c-consult-btns{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;align-items:center}
.vq-c-consult-btns .vq-c-btn{min-width:160px;padding:14px 22px;font-size:1rem}
.vq-c-consult .vq-c-preview-wrap{width:100%;margin-top:0}
.vq-c-admin-list{display:flex;flex-direction:column;gap:10px;max-height:55vh;overflow:auto}
.vq-c-admin-row{
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;
  padding:10px 12px;border:1px solid #e4edf3;border-radius:10px;background:#f7fafb;font-size:.88rem
}
.vq-c-admin-row span{color:#5a7184}
@media(max-width:720px){
  .vq-c-admin-row{grid-template-columns:1fr}
}
