/* Reçete ve rapor çıktıları — masaüstü OphthaSoft'un FastReport şablonlarının web karşılığı.
   Sayfa boyutları masaüstüyle aynı: reçeteler A5, epikriz A4. */

.print-page { background:#e9edf1; min-height:100vh; padding:10px 0 24px; font-family:'Segoe UI', Arial, sans-serif; color:#000; }

.sheet {
    box-sizing:border-box; margin:0 auto; background:#fff; box-shadow:0 0 6px rgba(0,0,0,.25);
    padding:10mm; font-size:10pt; line-height:1.3;
    display:flex; flex-direction:column;
}
.sheet.a5  { width:148mm; min-height:210mm; }   /* A5 dikey  — ilaç, istirahat, ameliyat, epikriz */
.sheet.a5l { width:210mm; min-height:148mm; }   /* A5 yatay  — gözlük, kontakt lens */

/* Ekranda A5 sayfa dar/küçük kaldığı için okunur boyuta büyütülür.
   Yalnız @media screen → baskı (aşağıdaki @media print) gerçek A5 kalır. */
@media screen {
    .sheet.a5  { zoom: 1.5; }
    .sheet.a5l { zoom: 1.3; }
}

/* Epikriz: masaüstündeki A4 yerleşiminin A5'e sıkıştırılmışı. @page kenarı 7mm'ye çekildiği için
   (PrintEpicrisis PageMargin="7mm") daha çok alan var → font ve kutular okunur boyuta büyütüldü. */
.sheet.epi { font-size:7.9pt; line-height:1.22; }
.sheet.epi .rp-head { padding-bottom:1.5mm; margin-bottom:1.5mm; }
.sheet.epi .rp-head .clinic { font-size:11.5pt; }
.sheet.epi .rp-foot { font-size:6.8pt; padding-top:1.5mm; }
.sheet.epi .rp-title { font-size:10.5pt; margin:3px 0 5px; }
.sheet.epi .rp-info { font-size:7.4pt; }
.sheet.epi .rp-info td { padding:1px 3px; }
.sheet.epi .rp-band { font-size:9pt; margin:4px 0 3px; }
.sheet.epi .rp-eye { font-size:8.5pt; }
.sheet.epi .rp-lbl { font-size:7.4pt; margin-bottom:1px; }
.sheet.epi .rp-box { font-size:7.4pt; padding:2px 3px; }
.sheet.epi .rp-table { font-size:7.4pt; margin:4px 0; }
.sheet.epi .rp-table th, .sheet.epi .rp-table td { padding:1px 3px; }
.sheet.epi .rp-grid { gap:3px 5px; margin-bottom:4px; }
.sheet.epi .rp-sign { margin-top:5mm; font-size:8.2pt; }

/* Antet — klinik adı üstte, kurumsal mavi alt çizgi */
.rp-head { text-align:center; border-bottom:2px solid #2A567C; padding-bottom:2.5mm; margin-bottom:2.5mm; }
.rp-head .clinic { font-size:15pt; font-weight:700; color:#2A567C; letter-spacing:.3px; }
.rp-title { text-align:center; font-size:13pt; font-weight:700; margin:16px 0 10px; }
.rp-date { text-align:right; font-size:10pt; margin-bottom:6px; }

/* Dipnot — muayenehane adresi + telefon/WhatsApp, belge en altında */
.rp-foot { margin-top:auto; padding-top:2.5mm; border-top:1px solid #c2ccd6; text-align:center; font-size:8pt; color:#444; }
.rp-foot .addr { line-height:1.35; }
.rp-foot .cval { margin-top:2px; font-weight:600; color:#2A567C; }

/* Künye tabloları */
.rp-info { border-collapse:collapse; font-size:10pt; }
.rp-info.boxed { border:1px solid #000; }
.rp-info.grid td { border:1px solid #000; }
.rp-info td { padding:3px 6px; vertical-align:top; }
.rp-info td.k { font-weight:700; white-space:nowrap; }

/* Veri tabloları */
.rp-table { width:100%; border-collapse:collapse; font-size:10pt; margin:8px 0; }
.rp-table th, .rp-table td { border:1px solid #000; padding:4px 6px; }
.rp-table th { text-align:center; font-weight:700; }
.rp-table td.c, .rp-table th.c { text-align:center; }
.rp-table.drug th { background:#c0c0c0; }
.rp-table.drug td { height:11mm; vertical-align:middle; }

/* Epikriz kutuları */
.rp-grid { display:grid; gap:6px 10px; margin-bottom:8px; }
.rp-grid.g-info { grid-template-columns:1.2fr 1fr; }
.rp-grid.g2 { grid-template-columns:1fr 1fr; }
.rp-grid.g3 { grid-template-columns:1fr 1fr 1fr; }
.rp-grid.g4 { grid-template-columns:1fr 1fr 1fr 1fr; }
.rp-box.bx-lg { height:22mm; }
.rp-box.bx-md { height:15mm; }
.rp-box.bx-sm { height:26mm; }
/* A5 epikriz: kutular ve alt bölüm sıkıştırılır (4 sütun → 2×2) — 7mm kenarla açılan alan kutulara da yansır */
.sheet.epi .rp-box.bx-lg { height:13mm; }
.sheet.epi .rp-box.bx-md { height:9.5mm; }
.sheet.epi .rp-box.bx-sm { height:14mm; }
.sheet.epi .rp-grid.g4 { grid-template-columns:1fr 1fr; }
.rp-lbl { font-size:10pt; font-weight:700; margin-bottom:2px; }
.rp-box { border:1px solid #000; padding:3px 5px; white-space:pre-wrap; font-size:9.5pt; overflow:hidden; }
.rp-band { text-align:center; font-size:12pt; font-weight:700; margin:10px 0 6px; }
.rp-eye { text-align:center; font-size:11pt; font-weight:700; }

/* İmza bloğu */
.rp-sign { margin-top:14mm; text-align:right; font-size:10pt; line-height:1.35; }

/* Girdi (dialog) formu — masaüstündeki rapor bilgisi penceresinin karşılığı */
.rp-form { max-width:150mm; margin:0 auto; }
.rp-form .row2 { display:grid; grid-template-columns:52mm 1fr; gap:6px; align-items:center; margin-bottom:6px; }
.rp-form label { font-size:.85rem; font-weight:600; text-align:right; }
.rp-form input, .rp-form select, .rp-form textarea {
    font-size:.85rem; padding:3px 5px; border:1px solid #c7d0d8; border-radius:3px; width:100%; box-sizing:border-box;
}
.rp-form textarea { min-height:70px; resize:vertical; }
.rp-form .acts { display:flex; gap:8px; justify-content:flex-end; align-items:center; margin-top:10px; }
.rp-form .acts button, .rp-form .acts .rp-cancel {
    font-size:.8rem; padding:5px 14px; border:1px solid #2A567C; border-radius:3px;
    background:#2A567C; color:#fff; cursor:pointer; text-decoration:none;
}
.rp-form .acts button.sec, .rp-form .acts .rp-cancel { background:#fff; color:#2A567C; }
.rp-form .acts button.danger { background:#fff; color:#a11; border-color:#a11; }
.rp-form .rp-table input, .rp-form .rp-table select { width:100%; }
.rp-note { font-size:.8rem; color:#5a5a5a; margin-bottom:8px; }
.rp-warn { color:#a11; font-weight:600; }

/* Yalnız ekranda görünen araç çubuğu */
.rp-bar { display:flex; gap:8px; justify-content:center; margin-bottom:10px; }
.rp-bar button, .rp-bar a {
    font-size:.8rem; padding:5px 14px; border:1px solid #2A567C; border-radius:3px;
    background:#2A567C; color:#fff; cursor:pointer; text-decoration:none;
}
.rp-bar a.sec, .rp-bar button.sec { background:#fff; color:#2A567C; }
.rp-bar button.danger { background:#fff; color:#a11; border-color:#a11; }

@media print {
    .sheet.a5  { zoom:1; }
    .sheet.a5l { zoom:1; }
    .print-page { background:#fff; padding:0; }
    /* Sayfa kutusu zaten A5 (her sayfanın kendi @page kuralı) → kâğıda ortalı basılır.
       Kâğıt A4 ise sürücüdeki "sayfaya sığdır" seçeneği A5 içeriği ortalayarak yerleştirir. */
    .sheet { width:auto; min-height:0; margin:0 auto; padding:0; box-shadow:none; }
    /* .sheet.a5/.a5l { min-height:210mm/148mm } baskıda sayfayı yüksek tutup footer'ı 2. sayfaya itiyordu → sıfırla. */
    .sheet.a5, .sheet.a5l { min-height:0; }
    /* Footer'ı sayfa dibine SABİTLE. Flex margin-top:auto, Chrome/Puppeteer paged baskısında footer'ı
       güvenilir şekilde itmiyordu (kısa raporlarda footer içeriğin hemen altında, ortada kalıyordu).
       position:fixed → her sayfada içerik alanının dibinde; .sheet'e alt dolgu ile içerik footer'a girmez. */
    .sheet { padding-bottom: 12mm; }
    .rp-foot { position:fixed; bottom:0; left:0; right:0; margin:0; background:#fff; }
    .rp-bar { display:none; }

    /* --- Baskı koyuluğu (FastReport gibi net) --- */
    /* Tarayıcı varsayılan "economy" modda mürekkep için renkleri açıp siliklestiriyordu →
       tam renk sadakati zorla (koyu ve net). */
    .sheet, .sheet * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
    /* Silik gri/açık metinleri saf siyaha çek (antet ve başlık kurumsal mavi kalır). */
    .rp-foot, .rp-foot .addr, .rp-date, .rp-info td, .rp-info td.k,
    .rp-table th, .rp-table td, .rp-box, .rp-lbl, .rp-sign, .rp-band, .rp-eye { color:#000; }
    /* Küçük punto metin baskıda daha dolu/okunur çıksın (epikriz hariç — o zaten alanı tam kullanıyor). */
    .sheet:not(.epi) { font-weight:500; }
    /* Çizgiler tam siyah, biraz daha belirgin. */
    .rp-table th, .rp-table td, .rp-info.grid td, .rp-info.boxed, .rp-box { border-color:#000; }
}
