.sheet {
  background: white;
  color: black;
  border: 1px solid #c8c2b8;
  padding: 1.5rem 1.5rem 1.75rem;
  max-width: 8.5in;
}
.est-head { display: flex; justify-content: space-between; gap: 1.25rem; align-items: flex-start; border-bottom: 2px solid #142033; padding-bottom: 0.75rem; }
.est-head h1 { font-size: 1.5rem; overflow-wrap: anywhere; margin: 0 0 0.25rem; }
.est-head p { margin: 0 0 0.125rem; overflow-wrap: anywhere; }
.est-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 0.25rem 1.25rem; margin: 1rem 0; }
.est-meta div { margin: 0; }
.est-meta dt { font-size: 0.75rem; letter-spacing: 0.04em; text-transform: uppercase; color: #333; }
.est-meta dd { margin: 0 0 0.375rem; }
.est-table { width: 100%; border-collapse: collapse; margin-top: 0.5rem; }
.est-table caption { text-align: left; font-weight: 600; margin-bottom: 0.375rem; }
.est-table th, .est-table td { border-bottom: 1px solid #bbb; padding: 0.5rem 0.25rem; text-align: left; vertical-align: top; }
.est-table td:last-child, .est-grand strong, .est-row span:last-child { text-align: right; font-variant-numeric: tabular-nums; }
.est-totals { margin-top: 1rem; margin-left: auto; max-width: 20rem; }
.est-grand { display: flex; justify-content: space-between; align-items: baseline; font-size: 1.375rem; border-top: 2px solid #142033; padding-top: 0.5rem; font-weight: 600; }
.est-note, .est-footer { color: #222; }
.est-footer, .sheet section p { margin-top: 1.25rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.est-logo { max-width: 2.2in; max-height: 0.9in; object-fit: contain; }
.est-meta dd, .est-table th, .est-table td { overflow-wrap: anywhere; }
.est-totals { break-inside: avoid; }

@media print {
  body { background: white; color: black; }
  .sidebar, .topbar, .backdrop, .no-print, #toasts, .skip, .reminder, .menu-btn { display: none !important; }
  .content { margin: 0 !important; padding: 0 !important; max-width: none; }
  .sheet { border: 0; padding: 0; max-width: none; box-shadow: none; background: white; }
  .est-head, .est-totals, .est-table tr, .est-footer { break-inside: avoid; }
  a { color: black; text-decoration: none; }
  img { print-color-adjust: exact; }
  @page { size: letter; margin: 0.6in; }
}
