.cadre-chat { max-width: 700px; margin: 0 auto 2rem; padding: 0 15px; display: flex; flex-direction: column; gap: 1rem; }
.bubble { padding: 12px 16px; border-radius: 18px; max-width: 85%; font-size: 16px; line-height: 1.5; position: relative; }
.bubble.client { background: #f0f0f0; align-self: flex-start; border-top-left-radius: 0; }
.bubble.admin { background: #d2eaff; align-self: flex-end; border-top-right-radius: 0; }
.bubble .text { margin-bottom: 8px; }
.bubble .date { font-size: 0.75em; color: #666; text-align: right; }
.bubble .image { margin: 10px 0; }
.bubble .image img { max-width: 50%; border-radius: 12px; box-shadow: 0 2px 10px #0001; display:block;margin-left: auto;
    margin-right: auto; }
.bubble .message-title { display: block; font-weight: bold; margin-bottom: 5px; }

#cadre-form { max-width: 500px; margin: 0 auto 2rem; display: flex; flex-direction: column; gap: 10px; }
#cadre-form textarea { width: 100%; height: 100px; border-radius: 8px; border: 1px solid #ccc; padding: 10px; }
#cadre-form label { display: flex; align-items: center; gap: 8px; }
#cadre-form button { align-self: flex-end; padding: 10px 20px; border-radius: 8px; background: #2a6edb; color: white; border: none; }

.watermark-wrap { position: relative; }
.watermark-wrap .wm-overlay{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    pointer-events:none; user-select:none;
    font-size: clamp(18px, 6vw, 40px);
    letter-spacing: 2px;
    font-weight: 700;
    opacity: 0.15;
    transform: rotate(-22deg);
    text-align:center;
    padding:10%;
    white-space: pre-wrap;
}

.cv-pass-form { max-width:480px; margin: 1rem auto; display:grid; gap:8px; }
.cv-pass-form input[type="password"]{ padding:8px; border:1px solid #ccc; border-radius:6px; }
.cv-pass-form button{ padding:8px 14px; border:none; border-radius:6px; background:#2a6edb; color:#fff; }

.cv-modal { position: fixed; inset: 0; display: none; z-index: 9999; }
.cv-modal.cv-open { display:block; }
.cv-modal-backdrop { position:absolute; inset:0; background:#0008; }
.cv-modal-dialog { position:relative; max-width:520px; margin:10vh auto; background:#fff; padding:16px; border-radius:10px; box-shadow:0 10px 30px #0004; }
.cv-modal-dialog h3 { margin:0 0 8px; }
.cv-modal-dialog input[type="text"]{ width:100%; padding:8px; border:1px solid #ccc; border-radius:6px; margin-bottom:8px; }
.cv-modal-dialog .bat-check{ display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.cv-modal-actions{ display:flex; justify-content:flex-end; gap:8px; }
.cv-btn{ padding:8px 14px; border:none; border-radius:6px; cursor:pointer; }
.cv-btn-primary{ background:#16a34a; color:#fff; }
.cv-btn-secondary{ background:#e5e7eb; }