html, body { margin: 0; padding: 0; background: #F4EFE2; min-height: 100%; }
body { -webkit-text-size-adjust: 100%; }
#root { min-height: 100vh; }
.gf-boot { font-family: Inter, Arial, sans-serif; color: #8B93A3; font-size: 13px; padding: 40px 18px; text-align: center; }
/* phones: keep wide report tables scrollable instead of breaking the page */
@media (max-width: 640px) {
  table { max-width: 100%; }
  input, select, textarea { font-size: 16px !important; } /* stops iPhone zooming into fields */
}
/* save-status pill + messages (added by the database layer) */
#gf-status { position: fixed; right: 12px; bottom: 12px; z-index: 200; font: 600 11.5px Inter, Arial, sans-serif; padding: 6px 10px; border-radius: 12px; background: #22314A; color: #fff; opacity: 0; transition: opacity .25s; pointer-events: none; }
#gf-status.show { opacity: .92; }
#gf-status.err { background: #AE3B4E; }
#gf-toasts { position: fixed; left: 50%; transform: translateX(-50%); top: 12px; z-index: 210; display: flex; flex-direction: column; gap: 8px; width: min(92vw, 460px); }
.gf-toast { background: #FFFDF7; border: 1px solid #AE3B4E; border-left: 4px solid #AE3B4E; color: #22314A; font: 13px/1.4 Inter, Arial, sans-serif; padding: 10px 12px; border-radius: 2px; box-shadow: 0 4px 16px rgba(34,49,74,.18); cursor: pointer; }
@media print { #gf-status, #gf-toasts { display: none !important; } }
/* printing job cards / reports: show only the sheet, on as many pages as needed */
@media print {
  html body > div#gf-print-overlay { display: block !important; position: static !important; background: none !important; padding: 0 !important; }
  html body > div#gf-print-overlay > #geneva-print-root { position: static !important; max-height: none !important; max-width: none !important; display: block !important; box-shadow: none !important; }
}
@media print { html body > div#gf-print-overlay > #geneva-print-root > div:not(#geneva-print-sheet) { display: none !important; } }
