/* billing.css */
body { background-color: #f0f4f8; font-family: 'Plus Jakarta Sans', sans-serif; height: 100vh; display: flex; flex-direction: column; color: #1e293b; overflow: hidden; margin: 0; }

.glass-panel { background: rgba(255,255,255,0.95); border: 1px solid white; box-shadow: 0 10px 40px rgba(0,0,0,0.05); border-radius: 20px; }
.input-prem { width: 100%; padding: 10px; background: white; border: 1px solid #e2e8f0; border-radius: 10px; font-size: 13px; font-weight: 600; outline: none; transition: 0.2s ease; }
.input-prem:focus { border-color: #0f766e; box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1); }
.btn-prem { background: linear-gradient(135deg, #0d9488, #0f766e); color: white; padding: 12px; border-radius: 12px; font-weight: 700; width: 100%; transition: 0.2s; box-shadow: 0 4px 12px rgba(13, 148, 136, 0.3); border: none; cursor: pointer; }
.btn-prem:active { transform: scale(0.98); }
.btn-prem:disabled { opacity: 0.7; cursor: not-allowed; filter: grayscale(1); }

.day-card { background: white; border: 1px solid #e2e8f0; border-radius: 16px; padding: 12px; margin-bottom: 12px; position: relative; }
.treatment-row { display: grid; grid-template-columns: 2fr 0.8fr 0.6fr 0.8fr 24px; gap: 6px; align-items: center; margin-top: 8px; }

.modal-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 50; justify-content: center; align-items: flex-end; backdrop-filter: blur(2px); }
.modal-sheet { background: white; width: 100%; max-width: 600px; padding: 24px; border-radius: 24px 24px 0 0; animation: slideUp 0.3s ease; max-height: 90vh; overflow-y: auto; }
@keyframes slideUp { from { transform: translateY(100%); } to { transform: translateY(0); } }

.staff-card { padding: 10px; border: 1px solid #e2e8f0; border-radius: 10px; text-align: center; cursor: pointer; transition: 0.1s; }
.staff-card:hover { background: #f0fdfa; border-color: #0d9488; }

#global-loader { display: none; position: fixed; inset: 0; background: rgba(255,255,255,0.8); z-index: 10001; align-items: center; justify-content: center; flex-direction: column; gap: 15px; backdrop-filter: blur(4px); }
.spinner { border: 4px solid #e2e8f0; border-top: 4px solid #0f766e; border-radius: 50%; width: 40px; height: 40px; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }

/* ⭐️ UPDATED SMART SLICING PDF FACTORY ⭐️ */
#pdf-factory {
    position: absolute; left: -9999px; top: 0; width: 794px; background: white; 
    display: flex; flex-direction: column; font-family: 'Plus Jakarta Sans', sans-serif; box-sizing: border-box; color: #1e293b;
}
.watermark { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0.04; pointer-events: none; z-index: 0; user-select: none; }
.watermark img { width: 450px; filter: grayscale(100%); }

#pdf-header-chunk { padding: 45px 50px 10px 50px; background: white; position: relative; z-index: 20; }
#pdf-body-chunk { padding: 0 50px; background: white; position: relative; z-index: 10; flex: 1; display: flex; flex-direction: column; }
#pdf-footer-chunk { padding: 10px 50px 45px 50px; background: white; position: relative; z-index: 20; margin-top: auto; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }