/* Document Management: standard UI palette and scoped print layout */
.doc-stat { display: block; min-height: 110px; cursor: pointer; color: inherit; }
.doc-stat:hover { box-shadow: 0 3px 12px rgba(0,0,0,.08); }
.doc-paper { position: relative; max-width: 900px; min-height: 930px; margin: 0 auto 28px; padding: 34px 40px; background: #fff; border: 1px solid #d8e3e7; color: #172b35; font-size: 12px; line-height: 1.6; overflow: hidden; }
.doc-paper-content { position: relative; z-index: 1; }
.doc-paper-heading { display: flex; justify-content: space-between; gap: 16px; border-bottom: 3px solid #137d82; padding-bottom: 12px; font-size: 11px; }
.doc-paper-heading strong { font-size: 13px; }
.doc-paper-title { font-size: 17px; font-weight: 700; text-align: center; margin: 24px 0 4px; }
.doc-note { color: #697985; font-size: 11px; }
.doc-section-title { margin: 22px 0 12px; padding: 6px 9px; font-weight: 700; background: #eaf4f3; border-left: 3px solid #137d82; }
.doc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
.doc-fields > div { border-bottom: 1px solid #dce5e8; padding-bottom: 5px; }
.doc-fields b { display: block; font-size: 10px; color: #566c75; }
.doc-fields span { display: block; min-height: 19px; }
.doc-paper-table { width: 100%; border-collapse: collapse; }
.doc-paper-table th, .doc-paper-table td { border: 1px solid #cbd9dd; padding: 8px; text-align: left; }
.doc-paper-table th { background: #eef5f6; }
.doc-signatures { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; margin-top: 60px; }
.doc-signatures div { border-top: 1px solid #667c83; text-align: center; padding-top: 8px; }
.doc-disclaimer { margin-top: 35px; font-size: 10px; color: #63767b; border-top: 1px solid #d8e3e7; padding-top: 12px; }
.doc-watermark { position: absolute; left: 50%; top: 44%; transform: translate(-50%,-50%) rotate(-27deg); font-size: 85px; font-weight: 800; color: rgba(177,48,48,.08); white-space: nowrap; pointer-events: none; }
@media (max-width: 600px) { .doc-paper { padding: 18px; min-height: auto; } .doc-fields { grid-template-columns: 1fr; } .doc-paper-heading { flex-direction: column; } .doc-watermark { font-size: 44px; } }
@media print {
    @page { size: A4 portrait; margin: 12mm; }
    body { background: white !important; }
    body * { visibility: hidden !important; }
    #docPhilhealthPaper, #docPhilhealthPaper * { visibility: visible !important; }
    #docPhilhealthPaper { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: none !important; box-shadow: none !important; }
    #docPhilhealthPaper .doc-section-title, #docPhilhealthPaper tr { break-inside: avoid; }
    #docPhilhealthPaper .doc-watermark { color: rgba(177,48,48,.12) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    #docPhilhealthPaper .doc-section-title, #docPhilhealthPaper .doc-paper-table th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* v2.27: full document previews and official PDF selector */
.doc-official-frame { display: block; width: 100%; height: min(78vh, 900px); min-height: 560px; border: 1px solid #dce7e7; border-radius: 6px; background: #f5f8f8; }
.doc-preview-paper { margin: 0 auto; width: 100%; max-width: 800px; min-height: 720px; }
#documentPreviewModal .modal-body { background: #f2f6f7; }
#docInternalViewer[hidden], #docOfficialViewer[hidden], #docPhOpenOriginal[hidden] { display: none !important; }
@media print {
    body.doc-print-preview #docPhilhealthPaper, body.doc-print-preview #docPhilhealthPaper * { visibility: hidden !important; }
    body.doc-print-preview #docActivePreviewPaper, body.doc-print-preview #docActivePreviewPaper * { visibility: visible !important; }
    body.doc-print-preview #docActivePreviewPaper { position: fixed !important; top: 0 !important; left: 0 !important; width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; }
    body.doc-print-preview .modal, body.doc-print-preview .modal-dialog, body.doc-print-preview .modal-content, body.doc-print-preview .modal-body { overflow: visible !important; transform: none !important; }
}

/* Centralized generation: responsive preview and print-friendly paper. */
.doc-gen-empty { min-height: 220px; display:flex; align-items:center; justify-content:center; border:1px dashed #aab8bc; border-radius:8px; color:#617078; padding:20px; text-align:center; }
.doc-gen-paper { position:relative; background:#fff; color:#24323b; border:1px solid #d7e0e3; padding:28px; max-width:790px; margin:0 auto; font-size:12px; line-height:1.65; }
.doc-gen-paper h3 { font-size:17px; text-align:center; margin:15px 0; }
.doc-gen-paper .doc-gen-heading { display:flex; justify-content:space-between; gap:15px; border-bottom:2px solid #187b7d; padding-bottom:12px; }
.doc-gen-paper .doc-gen-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px 15px; margin:12px 0; }
.doc-gen-paper .doc-gen-section { margin-top:18px; border-bottom:1px solid #b9cacc; font-weight:700; color:#116f72; }
.doc-gen-paper .doc-gen-watermark { position:absolute; top:45%; left:12%; transform:rotate(-25deg); font-size:55px; font-weight:800; color:rgba(155,60,60,.11); pointer-events:none; }
.doc-gen-paper .doc-gen-signatures { display:grid; grid-template-columns:1fr 1fr; gap:35px; margin-top:65px; text-align:center; }
.doc-gen-paper .doc-gen-signatures span { border-top:1px solid #666; padding-top:5px; }
@media(max-width:600px) { .doc-gen-paper { padding:14px; } .doc-gen-paper .doc-gen-grid { grid-template-columns:1fr; } }
@media print { body.doc-gen-printing > * { display:none !important; } body.doc-gen-printing > #docGenPrintContainer { display:block !important; } #docGenPrintContainer .doc-gen-paper { border:0; max-width:none; } @page { size:A4; margin:14mm; } }
