/* =========================================================================
   Vista previa de documentos PDF — modal con visor embebido.
========================================================================= */

#doc-preview-modal{
  position:fixed; inset:0; z-index:1100;
  background:rgba(3,7,17,.82);
  display:none;
  align-items:center; justify-content:center;
  padding:24px;
}
#doc-preview-modal.open{ display:flex; }
body.docprev-lock{ overflow:hidden; }

#doc-preview-modal .docprev-shell{
  width:100%; max-width:1000px; height:100%; max-height:900px;
  background:#1B2635; border-radius:10px; overflow:hidden;
  display:flex; flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}

#doc-preview-modal .docprev-bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 20px; background:#0d1830; border-bottom:1px solid rgba(255,255,255,.08);
  flex-wrap:wrap;
}
#doc-preview-modal .docprev-title{
  color:#fff; font-family:'Exo 2', sans-serif; font-weight:700; font-size:15px;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:340px;
}
#doc-preview-modal .docprev-meta{
  color:#8FA6C2; font-size:11.5px; font-family:'IBM Plex Sans', sans-serif; margin-top:2px;
}
#doc-preview-modal .docprev-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
#doc-preview-modal .docprev-btn{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Exo 2', sans-serif; font-weight:600; font-size:12.5px;
  color:#fff; text-decoration:none; padding:9px 14px; border-radius:6px;
  border:1px solid rgba(255,255,255,.18); white-space:nowrap;
  transition:background .15s, border-color .15s;
}
#doc-preview-modal .docprev-btn:hover{ background:rgba(255,255,255,.08); }
#doc-preview-modal .docprev-btn--primary{
  background:#0e5af2; border-color:#0e5af2;
}
#doc-preview-modal .docprev-btn--primary:hover{ background:#0a46c9; }
#doc-preview-modal .docprev-close{
  background:rgba(255,255,255,.08); border:none; width:34px; height:34px; border-radius:50%;
  color:#fff; font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
#doc-preview-modal .docprev-close:hover{ background:#0e5af2; }

#doc-preview-modal .docprev-body{
  flex:1; position:relative; background:#33404F;
}
#doc-preview-modal .docprev-body iframe{
  width:100%; height:100%; border:none; display:block; background:#fff;
}

@media (max-width:640px){
  #doc-preview-modal{ padding:0; }
  #doc-preview-modal .docprev-shell{ max-width:none; max-height:none; border-radius:0; }
  #doc-preview-modal .docprev-title{ max-width:150px; font-size:13px; }
  #doc-preview-modal .docprev-btn span.docprev-btn-label{ display:none; }
}
