/* Screen-only layout rules. Printed documents retain their physical sizes. */
@media screen {
  [data-app-content] { min-width: 0; }
  [data-app-content] .grid > *, .note .line-grid > * { min-width: 0; }
  .mobile-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; }
  .table-scroll-hint { font-size:12px; color:#64748b; margin:8px 0; }
  .dark .table-scroll-hint { color:#cbd5e1; }
  .mobile-table-scroll:focus-visible { outline:2px solid #10b981; outline-offset:3px; }
}
@media screen and (max-width:1023px) {
  [data-app-header] { flex-wrap:wrap; gap:12px; backdrop-filter:none; z-index:40; }
  [data-app-header] > div:first-child { flex:1 1 100%; min-width:0; }
  [data-app-header] > div:last-child { width:100%; gap:8px; flex-wrap:wrap; }
  [data-app-header] > div:first-child .font-bold { font-size:18px; overflow-wrap:anywhere; }
  [data-mobile-menu] { margin-right:auto; }
  [data-mobile-menu] summary { min-height:44px; display:flex; align-items:center; }
  [data-mobile-menu] > [data-menu-search] { position:fixed; left:12px; right:12px; top:var(--menu-top,132px); width:auto; max-height:calc(100dvh - var(--menu-top,132px) - 16px); overscroll-behavior:contain; box-shadow:0 12px 40px #0006; }
  [data-app-header] [data-mobile-menu] a { min-height:44px; display:flex; width:100%; align-items:center; }
  [data-app-header] button, [data-app-header] a { min-height:44px; display:inline-flex; align-items:center; }
}
@media screen and (max-width:639px) {
  [data-app-content] { padding:16px 12px; }
  [data-app-header] a.hidden { display:none; }
  [data-app-content] input:not([type=checkbox]):not([type=radio]), [data-app-content] select, [data-app-content] textarea, [data-mobile-menu] input { font-size:16px; min-height:44px; max-width:100%; }
  [data-app-content] button, [data-app-content] .btn { min-height:44px; white-space:normal; }
  .note h1 { font-size:23px; line-height:1.25; }
  .note .card { padding:14px; margin:14px 0; }
  .note .grid, .note .line-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .note .actions { align-items:stretch; }
  .note .actions > .btn { flex:1 1 140px; text-align:center; }
  .note .summary { width:100%; max-width:none; }
  .note .summary p { flex-wrap:wrap; gap:6px 12px; }
  .note .total { font-size:24px; }
  .mobile-table-scroll table { min-width:640px; }
  .mobile-table-scroll td input, .mobile-table-scroll td select { min-width:110px; }
  [data-app-content] .receipt-sheet { width:100%; height:auto; min-height:0; padding:14px; font-size:12px; }
  [data-app-content] .receipt-sheet .receipt-head { grid-template-columns:52px minmax(0,1fr); gap:10px; }
  [data-app-content] .receipt-sheet .receipt-logo { width:52px; height:48px; }
  [data-app-content] .receipt-sheet .receipt-title { font-size:18px; }
  [data-app-content] .receipt-sheet .receipt-amount { grid-column:1/-1; }
  [data-app-content] .receipt-sheet .receipt-meta { flex-wrap:wrap; gap:6px 12px; }
  [data-app-content] .receipt-sheet .receipt-customer,
  [data-app-content] .receipt-sheet .receipt-bottom { grid-template-columns:minmax(0,1fr); gap:14px; }
  [data-app-content] .receipt-sheet .receipt-detail { display:block; margin-bottom:12px; }
  [data-app-content] .receipt-sheet .receipt-detail .receipt-label { margin-bottom:4px; }
  [data-app-content] .receipt-sheet .receipt-signature { padding-top:24px; }
}
@media print { .table-scroll-hint { display:none; } }
