.mv-box{max-width:900px;margin:24px auto;padding:28px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-sizing:border-box;box-shadow:0 6px 24px rgba(15,23,42,.05)}
.mv-form label{display:block;font-weight:700;margin:16px 0 8px;color:#263238}
.mv-form input[type=text],.mv-form input[type=email],.mv-form input[type=number],.mv-form textarea,.mv-form select{width:100%;box-sizing:border-box;padding:13px 14px;border:1px solid #d7dde5;border-radius:10px;background:#fff;transition:.2s}
.mv-form textarea{resize:vertical;min-height:120px;line-height:1.9}
.mv-form input:focus,.mv-form textarea:focus,.mv-form select:focus{outline:0;border-color:#2271b1;box-shadow:0 0 0 3px rgba(34,113,177,.10)}
.mv-form small{display:block;color:#7a8088;margin-top:6px}
.mv-check{font-weight:400!important;display:flex!important;gap:8px;align-items:flex-start;line-height:1.8}
.mv-button{display:inline-flex;align-items:center;justify-content:center;background:#2271b1;color:#fff!important;padding:11px 20px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;margin-top:16px;font-weight:700}
.mv-list{display:grid;gap:12px;margin-top:22px}
.mv-card{display:flex;flex-direction:column;gap:7px;padding:17px 18px;border:1px solid #dfe3e8;border-radius:12px;text-decoration:none;color:inherit;background:#fff;transition:.2s}
.mv-card:hover{transform:translateY(-1px);box-shadow:0 5px 18px rgba(15,23,42,.06)}
.mv-card.mv-status-paid,.mv-card.mv-status-assigned{border-right:5px solid #d99b00;background:#fffaf0}
.mv-card.mv-status-answered{border-right:5px solid #2e9b57;background:#f3fbf5}
.mv-card.mv-status-closed{border-right:5px solid #7a7f87;background:#f7f7f8}
.mv-status-badge{font-weight:700}
.mv-message{padding:16px;margin:12px 0;border:1px solid #e3e7eb;border-radius:12px;background:#fafafa;line-height:1.9}
.mv-message.patient{background:#f5f8fc;border-right:4px solid #6b8fb3}
.mv-message.doctor{background:#f2fbf5;border-right:4px solid #35a866}
.mv-message.manager{background:#fff8ed;border-right:4px solid #d89b32}
.mv-message.mine{background:#eef7ff}
.mv-conversation{box-shadow:0 2px 10px rgba(15,23,42,.04)}
.mv-message-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:9px;border-bottom:1px solid rgba(0,0,0,.07)}
.mv-message-head strong{font-size:14px;padding:4px 9px;border-radius:999px;background:#e8edf2}
.mv-message.doctor .mv-message-head strong{background:#dff3e6;color:#1e7440}
.mv-message.patient .mv-message-head strong{background:#e1ebf7;color:#31577c}
.mv-message.manager .mv-message-head strong{background:#f8e8c9;color:#805a1c}
.mv-message-head span{font-weight:600;color:#4b5563}
.mv-message-head small{margin-right:auto;color:#7b8490}
.mv-message-body{white-space:normal}
.mv-message-file{margin-top:12px}
.mv-message-file a{font-weight:700;text-decoration:none}
.mv-reply-label{font-size:15px;font-weight:800;margin:4px 0 8px;color:#263238}
.mv-reply-textarea{min-height:190px!important;padding:15px!important;font-size:15px;line-height:2!important;background:#fff!important}

.mv-reply-textarea{width:100%;min-height:320px!important;resize:vertical;font-size:16px!important;line-height:2!important;padding:16px!important;box-sizing:border-box;border-radius:12px!important;}

/* تفکیک واضح پاسخ مراجع، پزشک و مدیریت */
.mv-message.patient{background:#f4f8ff!important;border-right:5px solid #3b82f6!important;}
.mv-message.doctor{background:#effaf2!important;border-right:5px solid #16a34a!important;}
.mv-message.manager{background:#fff7e8!important;border-right:5px solid #d97706!important;}
.mv-message-head{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;min-height:34px!important;}
.mv-message-role{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:5px 12px!important;border-radius:999px!important;font-weight:800!important;white-space:nowrap!important;line-height:1.4!important;}
.mv-message.patient .mv-message-role{background:#dbeafe!important;color:#1d4ed8!important;}
.mv-message.doctor .mv-message-role{background:#dcfce7!important;color:#15803d!important;}
.mv-message.manager .mv-message-role{background:#ffedd5!important;color:#c2410c!important;}
.mv-message-name{display:inline-block!important;font-weight:800!important;color:#263238!important;white-space:nowrap!important;}
.mv-message-date{display:inline-block!important;color:#7b8490!important;font-size:12px!important;margin-right:auto!important;white-space:nowrap!important;}
.mv-message-body{display:block!important;margin-top:10px!important;padding-top:10px!important;border-top:1px solid rgba(0,0,0,.06)!important;}

.mv-auth-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.mv-button-secondary{background:#5b6470!important}
.mv-visit-attachments{margin:20px 0;padding:18px;border:1px solid #e2e8f0;border-radius:14px;background:#fff}.mv-visit-attachments h3{margin:0 0 14px}.mv-attachment-grid{display:flex;flex-wrap:wrap;gap:12px}.mv-attachment-thumb{display:block;width:150px;height:120px;border:1px solid #dce2e8;border-radius:10px;overflow:hidden;background:#f8fafc}.mv-attachment-thumb img{width:100%;height:100%;object-fit:cover;display:block}.mv-attachment-file{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #dce2e8;border-radius:10px;text-decoration:none}.mv-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:999999;display:flex;align-items:center;justify-content:center;padding:40px;box-sizing:border-box}.mv-lightbox img{max-width:92vw;max-height:86vh;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px rgba(0,0,0,.35)}.mv-lightbox-close{position:absolute;top:15px;right:20px;width:42px;height:42px;border:0;border-radius:50%;font-size:30px;line-height:1;cursor:pointer}.mv-lightbox-title{position:absolute;bottom:14px;left:20px;right:20px;text-align:center;color:#fff;font-weight:700}.mv-doctor-panel .mv-button{margin-top:15px}
.mv-card-form{margin:0;padding:0}.mv-card-form .mv-card{width:100%;text-align:right;cursor:pointer;font-family:inherit}.mv-card-form .mv-card strong,.mv-card-form .mv-card span,.mv-card-form .mv-card small{display:block}.mv-card-form button{appearance:none}


/* Medical Visit 2.3.3 — clean, natural lightbox zoom */
body.mv-lightbox-open{overflow:hidden!important}
.mv-lightbox{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box;font-family:inherit}
.mv-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.88)}
.mv-lightbox-inner{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:12px 8px 72px;pointer-events:none}
.mv-lightbox-image-wrap{position:relative;z-index:2;max-width:94vw;max-height:84vh;display:flex;align-items:center;justify-content:center;overflow:visible;border-radius:8px;pointer-events:auto}
.mv-lightbox-image{display:block;max-width:94vw;max-height:84vh;width:auto;height:auto;object-fit:contain;border-radius:8px;background:#fff;box-shadow:0 12px 45px rgba(0,0,0,.48);transform-origin:center center;transition:transform .08s ease;user-select:none;-webkit-user-drag:none}
.mv-lightbox-image-wrap{cursor:zoom-in}
.mv-lightbox-image[style*="scale(1)"]{cursor:zoom-in}
.mv-lightbox-image[style*="scale(1.5)"],.mv-lightbox-image[style*="scale(2)"],.mv-lightbox-image[style*="scale(2.5)"],.mv-lightbox-image[style*="scale(3)"],.mv-lightbox-image[style*="scale(3.5)"],.mv-lightbox-image[style*="scale(4)"],.mv-lightbox-image[style*="scale(4.5)"],.mv-lightbox-image[style*="scale(5)"]{cursor:grab}
.mv-lightbox-title{position:relative;z-index:4;max-width:min(760px,86vw);margin-top:10px;padding:6px 12px;border-radius:7px;background:rgba(0,0,0,.58);color:#fff;font-size:12px;line-height:1.5;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.mv-lightbox-close{position:fixed;top:16px;right:16px;z-index:6;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(20,20,20,.76);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.28)}
.mv-lightbox-close:hover{background:rgba(255,255,255,.16)}
.mv-lightbox-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mv-lightbox-toolbar{position:fixed;left:50%;bottom:16px;z-index:6;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(22,22,22,.86);box-shadow:0 8px 28px rgba(0,0,0,.34);direction:ltr}
.mv-lightbox-toolbar button,.mv-lightbox-download{width:38px;height:36px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:#fff!important;display:flex;align-items:center;justify-content:center;text-decoration:none!important;cursor:pointer;font:700 12px/1 inherit;box-sizing:border-box}
.mv-lightbox-toolbar button:hover,.mv-lightbox-download:hover{background:rgba(255,255,255,.14)}
.mv-lightbox-toolbar .mv-zoom-reset{width:50px;background:rgba(255,255,255,.08)}
.mv-lightbox-toolbar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mv-lightbox-toolbar .mv-lightbox-download{border-left:1px solid rgba(255,255,255,.12);border-radius:0 8px 8px 0;margin-left:2px;padding-left:5px}
.mv-attachment-file .mv-download-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin-right:6px;border-radius:8px;background:#f1f3f5}
.mv-attachment-file .mv-download-icon svg{width:17px;height:17px}
@media (max-width:700px){
  .mv-lightbox{padding:10px}
  .mv-lightbox-inner{padding:8px 4px 66px}
  .mv-lightbox-image-wrap{max-width:96vw;max-height:80vh}
  .mv-lightbox-image{max-width:96vw;max-height:80vh}
  .mv-lightbox-close{top:10px;right:10px;width:38px;height:38px}
  .mv-lightbox-toolbar{bottom:10px}
  .mv-lightbox-title{max-width:82vw;font-size:11px}
}
@media (max-width:700px){
  .mv-lightbox{padding:12px}
  .mv-lightbox-inner{padding:10px 4px 68px}
  .mv-lightbox-image-wrap{max-width:96vw;max-height:78vh}
  .mv-lightbox-image{max-width:96vw;max-height:78vh}
  .mv-lightbox-close{top:12px;right:12px;width:38px;height:38px}
  .mv-lightbox-toolbar{bottom:12px}
  .mv-lightbox-title{max-width:82vw;font-size:11px}
}

/* Medical Visit 2.3.4 — shared upload UI */
.mv-upload-status{margin-top:12px;padding:12px 14px;border:1px solid #dbe3ec;border-radius:12px;background:#f8fafc;box-sizing:border-box}
.mv-upload-status[hidden]{display:none!important}
.mv-upload-summary{font-size:13px;font-weight:700;color:#334155;line-height:1.8;margin-bottom:8px}
.mv-upload-progress{height:8px;width:100%;background:#e7edf3;border-radius:999px;overflow:hidden;direction:ltr}
.mv-upload-progress span{display:block;width:0;height:100%;background:#2271b1;border-radius:999px;transition:width .15s ease}
.mv-upload-percent{margin-top:7px;text-align:left;direction:ltr;font-size:12px;font-weight:800;color:#64748b}
.mv-upload-status.is-uploading .mv-upload-progress span{background:#2271b1}
.mv-upload-status:not(.has-error):not(.is-uploading) .mv-upload-progress span{background:#16a34a}
.mv-upload-status.has-error{border-color:#fecaca;background:#fff7f7}
.mv-upload-status.has-error .mv-upload-summary{color:#b42318}
.mv-upload-status.has-error .mv-upload-progress span{background:#dc2626}
.mv-form input[type="file"]{width:100%;box-sizing:border-box;padding:10px;border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#334155;cursor:pointer}
.mv-form input[type="file"]::file-selector-button{border:0;border-radius:8px;background:#2271b1;color:#fff;padding:9px 13px;margin-left:10px;cursor:pointer;font-weight:700}
.mv-reply-file{margin-top:12px}
.mv-uploading-button{opacity:.7!important;cursor:wait!important}

/* Do not show an attachment filename/counter inside the lightbox. */
.mv-lightbox-title{display:none!important}
