/* Shared geometry: keep business data readable instead of squeezing columns. */
* { box-sizing:border-box; }
html { scrollbar-gutter:stable; }
#appMain { min-width:0; padding-bottom:48px; }
#appHeader .h-16 { min-height:70px; height:auto; padding-block:10px; }
#appSidebar { padding-top:20px; }
#appSidebar nav { flex-shrink:0; }
#appSidebar .sidebar-hours { padding-top:20px; flex-shrink:0; }
#appMain > .tab-pane { width:100%; min-width:0; }
.tab-pane h2,.tab-pane h3,.drink-heading,.drink-heading>div { min-width:0; overflow-wrap:anywhere; }
.tab-pane p { max-width:85ch; }
.tab-pane input,.tab-pane select,.tab-pane textarea { max-width:100%; min-width:0; }
.tab-pane button { white-space:normal; line-height:1.45; }
.tab-pane .overflow-x-auto { max-width:100%; overscroll-behavior-inline:contain; scrollbar-width:thin; }
.tab-pane table { width:100%; border-collapse:separate; border-spacing:0; }
.tab-pane th { white-space:normal; line-height:1.5; }
.tab-pane td { vertical-align:middle; overflow-wrap:anywhere; }
.tab-pane td button { min-height:34px; }
#paneFinance table,#panePayroll table { min-width:1080px; }
#paneFinance td,#paneFinance th,#panePayroll td,#panePayroll th { padding:12px; }
#paneFinance table td:first-child,#panePayroll table td:first-child { min-width:44px; }
#paneFinance table td:nth-child(2),#panePayroll table td:nth-child(2) { min-width:145px; }
#paneFinance td[class*=text-right],#panePayroll td[class*=text-right] { white-space:nowrap; overflow-wrap:normal; font-variant-numeric:tabular-nums; }
#paneFinance .overflow-x-auto,#panePayroll .overflow-x-auto { border-top:1px solid var(--ui-border); }
#paneFinance [id^=financeSubPane_] { padding:16px; }
#paneFinance [id^=financeSubBtn_] { min-height:42px; }
#paneFinance label { font-size:12px; line-height:1.6; }
#paneFinance input,#paneFinance select,#panePayroll input,#panePayroll select { min-height:40px; }
#paneFinance [id^=financeSum],#panePayroll [id^=payrollSummary] { overflow-wrap:anywhere; font-size:clamp(17px,1.7vw,23px); font-variant-numeric:tabular-nums; }
.data-sync-bar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:16px; font-size:11px; color:var(--ui-muted); }
.data-sync-bar button { padding:6px 10px; border:1px solid var(--ui-border); border-radius:7px; background:white; color:var(--ui-primary); font-weight:650; }
.scroll-hint { color:var(--ui-muted); font-size:11px; margin:8px 0; }
body > [id$=Modal] { overflow-y:auto; padding:20px; align-items:flex-start; }
body > [id$=Modal] > div { max-height:calc(100dvh - 40px); overflow-y:auto; margin:auto; min-width:0; }
#purchaseModal > div { max-width:640px; }
body > [id$=Modal] input,body > [id$=Modal] select,body > [id$=Modal] textarea { min-height:42px; max-width:100%; }
body > [id$=Modal] button[type=submit] { background:var(--ui-primary); color:white; min-height:42px; }
body > [id$=Modal] form > div:last-child { position:sticky; bottom:0; background:white; padding-block:12px; z-index:2; }
#recipeItemsRowsContainer > div,#batchItemsContainer > div { display:grid; grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) auto; }
#recipeItemsRowsContainer .rec-ing-id,#batchItemsContainer .batch-raw-id { grid-column:1/-1; width:100%; }
#recipeItemsRowsContainer .rec-ing-qty,#recipeItemsRowsContainer .rec-ing-unit,#batchItemsContainer .batch-raw-qty,#batchItemsContainer .batch-raw-unit { width:100%; min-width:0; }
.rec-line-cost { grid-column:1/-1; }.rec-line-cost:empty { display:none; }
.drink-heading { flex-wrap:wrap; }.drink-heading>div { flex:1 1 160px; }.drink-price { max-width:100%; }
#coldWhiskExample:empty { display:none; }
@media(max-width:1100px) { #paneFinance .grid-cols-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
  #appMain { padding:14px 10px 32px; }
  #appHeader>div { padding-inline:10px; }
  #appHeader .h-16 { flex-wrap:wrap; gap:8px; }
  #appHeader .h-16>div:last-child { flex:1; justify-content:flex-end; gap:6px; }
  #navUserFullName { max-width:125px; white-space:normal; overflow:visible; font-size:12px; }
  #navContractBadge { font-size:9px; }
  #appHeader button[title] { font-size:11px; padding:7px; }
  #paneFinance .grid-cols-4 { grid-template-columns:1fr; }
  #paneFinance [id^=financeSubPane_] { padding:10px; }
  #paneFinance .flex.items-center.gap-2 { flex-wrap:wrap; }
  #paneFinance input[type=date] { max-width:160px; }
  #panePayroll #payrollWeekControls { flex-wrap:wrap; }
  #payrollPeriodLabel { width:100%; order:-1; }
  body > [id$=Modal] { padding:8px; }
  body > [id$=Modal] > div { max-height:calc(100dvh - 16px); padding:18px; }
  #toast { max-width:calc(100vw - 24px); right:12px; }
}
@media print {
  #appSidebar,#appHeader,.data-sync-bar,#sidebarBackdrop,body>[id$=Modal],#toast { display:none!important; }
  #appMain { width:100%; margin:0; padding:0; }
  .tab-pane.hidden { display:none!important; }
  .tab-pane .overflow-x-auto { overflow:visible; }
  #paneFinance table,#panePayroll table { min-width:0; font-size:9px; }
  #paneFinance td,#paneFinance th,#panePayroll td,#panePayroll th { padding:5px; font-size:9px; }
}
