/* /restaurant-bill (src/client/night). Builds on tool.css; only what the night-out screen adds. */
#night, #nightSheet { --chip: #F4F3F0; --soft-line: #D6D3CD; }
:where(#night, #nightSheet) :where(button, input, select, textarea) { font: inherit; color: inherit; }
:where(#night, #nightSheet) button { cursor: pointer; }
.grow { flex: 1; min-width: 0; }
.cur-pick { min-width: 220px; }
.chip .tag { font-size: 11px; font-weight: 500; opacity: 0.75; }
.person-menu { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border: 1px solid var(--rule); border-radius: 12px; }
.venue { overflow: hidden; }
.venue-head { display: flex; align-items: center; gap: 12px; padding: 14px 18px; }
.venue.open .venue-head { border-bottom: 1px solid var(--rule); }
.venue-name { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 20px; padding: 4px 0; }
.venue-name:focus { outline: none; border-bottom: 2px solid var(--ink); }
.venue-body { padding: 18px; }
.item-row { padding: 10px 0; display: flex; flex-direction: column; gap: 2px; }
.item-main { display: flex; justify-content: space-between; gap: 12px; }
.item-split { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.item-split .link-btn { min-height: 32px; padding: 2px 0; font-size: 13px; text-align: left; }
.add-item { display: grid; grid-template-columns: minmax(0, 1fr) 110px 64px auto; gap: 8px; margin-top: 10px; }
.extras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.extra-row { display: flex; gap: 8px; }
.small-field { max-width: 110px; }
.tip-presets .chip { min-height: 32px; font-size: 13px; }
.pay-split { display: flex; flex-direction: column; gap: 8px; }
.pay-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.stepper { display: inline-flex; align-items: center; gap: 10px; }
.stepper .x { width: 32px; height: 32px; border: 1px solid var(--soft-line); border-radius: 8px; justify-content: center; font-size: 16px; }
.sheet { width: min(460px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; }
.ok { color: var(--green); }
.warn-text { color: var(--red); }
.problems { margin: 0; padding-left: 20px; color: var(--ink); display: flex; flex-direction: column; gap: 6px; }
.scroll-x { overflow-x: auto; }
table.pt { width: 100%; border-collapse: collapse; font-size: 14px; }
table.pt th { text-align: left; font-weight: 600; color: var(--muted); font-size: 12px; padding: 6px 8px; border-bottom: 1px solid var(--ink); white-space: nowrap; }
table.pt td { padding: 8px; border-bottom: 1px solid var(--rule); white-space: nowrap; }
table.pt .n { text-align: right; font-family: var(--mono); font-variant-numeric: tabular-nums; }
table.pt tfoot td { font-weight: 700; border-bottom: 0; border-top: 1px solid var(--ink); }
.faq details { border-top: 1px solid var(--rule); padding: 10px 0; }
.faq summary { cursor: pointer; font-weight: 600; color: var(--ink); font-size: 14.5px; }
.faq p { margin-top: 6px; }
@media (max-width: 560px) {
  .add-item { grid-template-columns: minmax(0, 1fr) 96px; }
  .extras { grid-template-columns: minmax(0, 1fr); }
  .venue-body { padding: 14px; }
  .cur-pick { min-width: 0; width: 100%; }
}
