/* NEWSON CAPA V52 | Evidencias reactivas, visor secundario y firma por usuario */

/* Carga de evidencia: la acción vive dentro de su bloque funcional. */
.evidence-upload-controls-v52 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-2) 86%, var(--surface));
}
.evidence-selection-v52 {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.evidence-upload-status-v52 {
  flex: 0 0 auto;
  min-width: 90px;
  display: grid;
  gap: 1px;
  padding-right: 13px;
  border-right: 1px solid var(--line);
}
.evidence-upload-status-v52 strong { color: var(--blue); font-size: 19px; line-height: 1; }
.evidence-upload-status-v52 span { color: var(--muted); font-size: 9px; white-space: nowrap; }
.evidence-upload-status-v52.complete strong { color: #0d9b70; }
.evidence-selection-v52 > span {
  flex: 0 0 25px;
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--blue);
  background: color-mix(in srgb, var(--blue) 11%, transparent);
  font-weight: 900;
}
.evidence-selection-v52 b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
#correctiveEvidenceUploadBtnV52 { flex: 0 0 auto; min-width: 154px; justify-content: center; }
#correctiveEvidenceUploadBtnV52.is-ready-v52 { box-shadow: 0 0 0 4px color-mix(in srgb, var(--cyan) 13%, transparent), 0 10px 24px rgba(5, 83, 147, .16); }
#evidenceRequirementHint[aria-live="polite"] .ev-req-summary-v16 strong { transition: transform .2s ease, background .2s ease; }

/* El visor se monta sobre el expediente sin destruirlo. */
body.preview-open-v52 { overflow: hidden; }
.preview-layer-v52 {
  z-index: 4200 !important;
  padding: clamp(8px, 1.7vw, 22px) !important;
  align-items: center !important;
  background: rgba(2, 12, 26, .72) !important;
  backdrop-filter: blur(7px) !important;
}
.preview-modal-v52 {
  width: min(1180px, calc(100vw - 30px)) !important;
  max-width: 1180px !important;
  height: min(890px, calc(100dvh - 30px)) !important;
  max-height: calc(100dvh - 30px) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid color-mix(in srgb, var(--line) 84%, var(--cyan)) !important;
  border-radius: 18px !important;
  background: var(--surface) !important;
  box-shadow: 0 38px 120px rgba(0, 0, 0, .5) !important;
}
.preview-modal-v52 .modal-head {
  flex: 0 0 auto !important;
  padding: 13px 17px !important;
  background: linear-gradient(130deg, color-mix(in srgb, var(--navy) 96%, #fff), color-mix(in srgb, var(--blue) 72%, var(--navy))) !important;
  border-color: rgba(255, 255, 255, .1) !important;
}
.preview-modal-v52 .modal-head h3 { color: #fff !important; font-size: 16px !important; }
.preview-modal-v52 .modal-eyebrow { color: #78e5ef !important; }
.preview-modal-v52 .modal-close { color: #fff !important; background: rgba(255, 255, 255, .09) !important; border-color: rgba(255, 255, 255, .13) !important; }
.preview-modal-v52 .modal-close:hover { background: rgba(255, 255, 255, .17) !important; }
.preview-body-v52 { flex: 1 1 auto; min-height: 0; display: flex; padding: 0; background: #d9e0e8; }
.preview-frame-v52 { width: 100%; height: 100%; min-height: 480px; display: block; border: 0; background: #fff; }
.preview-actions-v52 {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 9px 15px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  background: var(--surface);
  font-size: 12px;
}
.preview-actions-v52 .btn { min-height: 39px; justify-content: center; }

/* Firma personal administrada desde Usuarios. */
.user-signature-panel-v52 {
  margin-top: 17px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: color-mix(in srgb, var(--surface-2) 76%, var(--surface));
}
.user-signature-panel-v52 .section-title-v30 { margin-bottom: 13px; }
.user-signature-panel-v52 .section-title-v30 h4 { margin: 0; }
.user-signature-panel-v52 .section-title-v30 small { margin-top: 3px; }
.user-signature-layout-v52 { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(300px, 1.2fr); gap: 15px; }
.user-signature-preview-v52 {
  min-height: 174px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 15px;
  border: 1px dashed color-mix(in srgb, var(--line) 80%, var(--blue));
  border-radius: 14px;
  background: #fff;
}
.user-signature-preview-v52 img { width: 100%; max-width: 270px; height: 105px; display: block; object-fit: contain; mix-blend-mode: multiply; }
.user-signature-preview-v52 small { margin: 0 !important; color: #60728b !important; font-size: 10px !important; }
.signature-placeholder-v52 { width: 100%; min-height: 105px; display: grid; place-items: center; border-radius: 10px; color: #8493a5; background: #f3f6f9; font-weight: 750; }
.user-signature-upload-v52 { display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.user-signature-upload-v52 h4 { margin: 4px 0 5px; color: var(--text); font-size: 17px; }
.user-signature-upload-v52 p { margin: 0 0 11px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.user-signature-upload-v52 input[type="file"] { padding: 8px; background: var(--surface); }
.user-signature-upload-v52 > div { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 10px; }
.signature-empty-v52 { min-height: 108px; display: flex; align-items: center; gap: 13px; padding: 15px; border: 1px dashed var(--line); border-radius: 14px; background: var(--surface); }
.signature-empty-v52 > span { flex: 0 0 38px; width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: color-mix(in srgb, var(--blue) 11%, transparent); font-weight: 900; }
.signature-empty-v52.warning > span { color: #a96500; background: color-mix(in srgb, #f5a000 14%, transparent); }
.signature-empty-v52 b { display: block; color: var(--text); }
.signature-empty-v52 p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.muted-v52 { color: var(--muted); font-size: 12px; }

/* Estado visible antes de registrar una decisión firmada. */
.signature-readiness-v52 { display: flex; align-items: center; gap: 7px; margin: 9px 0 11px; color: #13795c; font-size: 12px; }
.signature-readiness-v52 > span { width: 23px; height: 23px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #14a879; font-weight: 900; }
.signature-confirm-v50.missing-signature-v52 .signature-readiness-v52 { color: #9a6206; }
.signature-confirm-v50.missing-signature-v52 .signature-readiness-v52 > span { background: #d89019; }

@media (max-width: 760px) {
  .evidence-upload-controls-v52 { align-items: stretch; flex-direction: column; }
  .evidence-upload-status-v52 { display: flex; align-items: center; gap: 8px; padding: 0 0 9px; border-right: 0; border-bottom: 1px solid var(--line); }
  .evidence-upload-status-v52 span { white-space: normal; }
  #correctiveEvidenceUploadBtnV52 { width: 100%; min-width: 0; min-height: 46px; }
  .evidence-selection-v52 b { white-space: normal; overflow-wrap: anywhere; }
  .preview-layer-v52 { padding: 0 !important; align-items: stretch !important; }
  .preview-modal-v52 { width: 100% !important; max-width: 100% !important; height: 100dvh !important; max-height: 100dvh !important; border: 0 !important; border-radius: 0 !important; }
  .preview-modal-v52 .modal-head { padding: 11px 12px !important; }
  .preview-frame-v52 { min-height: 0; }
  .preview-actions-v52 { min-height: 55px; padding: 8px 11px calc(8px + env(safe-area-inset-bottom)); }
  .preview-actions-v52 > span { max-width: 62%; font-size: 10px; }
  .user-signature-layout-v52 { grid-template-columns: 1fr; }
  .user-signature-preview-v52 { min-height: 145px; }
}

@media (max-width: 430px) {
  .preview-actions-v52 > span { display: none; }
  .preview-actions-v52 { justify-content: flex-end; }
  .preview-actions-v52 .btn { width: auto !important; }
  .user-signature-panel-v52 { padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  #evidenceRequirementHint *, .preview-layer-v52 * { transition: none !important; }
}

@media print { .preview-layer-v52 { display: none !important; } }
