.fin-tabs { margin-bottom: 1.25rem; flex-wrap: wrap; }
.fin-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1rem; margin-top: 1rem; }
.fin-quote { border: 1px solid #ddd7cd; border-radius: .8rem; background: #fffdfa; padding: 1.2rem; min-width: 0; display: flex; flex-direction: column; }
.fin-quote-top small,.fin-report-scope { color: #655e56; font-size: .83rem; }
.fin-quote h3,.fin-report h3 { margin: .35rem 0 .85rem; overflow-wrap: anywhere; }
.fin-report h3 { margin-top: 1.6rem; }
.fin-quote dl { margin: 0 0 .9rem; }
.fin-quote dl > div,.fin-preview { display: flex; justify-content: space-between; align-items: baseline; gap: .55rem; padding: .35rem 0; }
.fin-quote dt,.fin-quote dd { margin: 0; font-size: .88rem; }
.fin-quote dd,.fin-preview strong,.fin-report td { font-variant-numeric: tabular-nums; }
.fin-quote .fin-total,.fin-preview { border-top: 1px solid #ded7cc; margin-top: .55rem; padding-top: .75rem; }
.fin-total dt,.fin-total dd,.fin-preview { font-weight: 650; }
.fin-card-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; align-items: center; }
.fin-report-tools { display: flex; gap: 1rem; justify-content: space-between; align-items: end; flex-wrap: wrap; }
.fin-report-tools .fin-card-actions { margin: 0; }
.fin-report-tools .plan-field { max-width: 100%; }
.fin-report .plan-table-wrap { width: 100%; overflow-x: auto; }
.fin-report th[scope=row] { overflow-wrap: anywhere; }
.fin-report tr > * { min-width: 5.2rem; }
.fin-report tbody tr > :first-child { min-width: 8rem; }
.fin-import-rows { list-style: none; padding: 0; margin: 0; max-height: 45vh; overflow: auto; }
.fin-import-rows li { display: grid; gap: .3rem; padding: .65rem .1rem; border-bottom: 1px solid #ddd7cd; overflow-wrap: anywhere; }
.fin-import-rows small { color: #675e58; }
.fin-import-rows input { width: auto; }
.fin-error { color: #8c3436; }
.fin-error:empty { display: none; }
[data-fin-guest][hidden],[data-fin-staff][hidden],[data-fin-tip][hidden],[data-fin-gratuity][hidden] { display: none; }
#fin-print { display: none; }
@media print {
  body.fin-printing > :not(#fin-print) { display: none !important; }
  body.fin-printing,body.fin-printing #fin-print { background: white !important; color: black !important; }
  body.fin-printing #fin-print { display: block !important; font-family: Arial, sans-serif; font-size: 10pt; }
  #fin-print h1 { font-size: 20pt; margin-bottom: .5rem; }
  #fin-print .plan-panel { box-shadow: none; border: none; padding: 0; }
  #fin-print .plan-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); }
  #fin-print .plan-table-wrap { overflow: visible; }
  #fin-print table { font-size: 9pt; width: 100%; min-width: 0; }
  #fin-print tr > * { min-width: 0; padding: .25rem; white-space: normal; }
  #fin-print tr { break-inside: avoid; }
}
