[hidden] { display: none !important; }
.mobile-menu-button, .mobile-menu-close, .mobile-nav-backdrop { display: none; }
.install-link { margin: 22px auto 0; display: block; background: transparent; color: #1745a6; text-decoration: underline; min-height: 44px; }
.sidebar-install { margin: 18px 16px 8px; padding: 12px; border: 1px solid #385271; border-radius: 10px; background: #182b47; color: #edf4ff; font-size: 14px; cursor: pointer; }
.connection-notice { position: relative; z-index: 180; padding: 12px max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left)); background: #e3f4eb; color: #145337; font-size: 14px; line-height: 1.5; text-align: center; }
.connection-notice.is-offline { background: #fff0ca; color: #6c4200; }
.install-dialog-backdrop { position: fixed; inset: 0; z-index: 500; display: grid; place-items: center; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); background: #081427b8; }
.install-dialog { position: relative; width: min(100%, 480px); max-height: 90vh; max-height: 90dvh; overflow-y: auto; border-radius: 24px; padding: 28px; background: white; box-shadow: 0 18px 60px #0004; color: #142540; line-height: 1.6; }
.install-dialog h2 { margin: 14px 0; font-size: 22px; padding-right: 10px; }
.install-dialog p, .install-dialog li { font-size: 16px; }
.install-dialog ol { padding-left: 22px; }
.install-dialog li { padding: 5px 0; }
.install-dialog a { color: #1745a6; display: inline-block; padding: 12px 0; }
.install-note { background: #eff4fc; padding: 12px; border-radius: 12px; }
.install-icon { width: 64px; height: 64px; border-radius: 15px; }
.install-close { position: absolute; right: 12px; top: 12px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #edf2fa; font-size: 26px; cursor: pointer; }
body.install-help-open { overflow: hidden; }
.iphone-print-note { display: none; }
@media screen and (max-width: 760px) {
  .mobile-menu-button, .mobile-menu-close { display: inline-flex; align-items: center; justify-content: center; }
  .mobile-nav-backdrop:not([hidden]) { display: block; }
  .sidebar-install { flex-shrink: 0; }
  .mobile-record-table { display: block; width: 100%; min-width: 0 !important; }
  .mobile-record-table thead { display: none; }
  .mobile-record-table tbody { display: grid; gap: 12px; padding: 12px; }
  .mobile-record-table tr { display: grid; background: white; border: 1px solid #dce5f3; border-radius: 14px; overflow: hidden; }
  .mobile-record-table td { display: grid; grid-template-columns: minmax(78px, 30%) minmax(0, 1fr); gap: 6px 10px; white-space: normal !important; overflow-wrap: anywhere; padding: 12px; width: auto !important; min-width: 0 !important; max-width: none; font-size: 14px; }
  .mobile-record-table td::before { content: attr(data-label); color: #516584; font-size: 12px; font-weight: 600; grid-column: 1; grid-row: 1 / span 3; }
  .mobile-record-table td > * { grid-column: 2; min-width: 0; }
  .mobile-record-table td.row-actions { display: flex; flex-wrap: wrap; }
  .mobile-record-table td.row-actions::before { flex-basis: 100%; }
  .mobile-record-table .status-select { width: 100%; max-width: 100%; }
  .mobile-record-table .cell-note { margin: 0; }
  .iphone-print-note { display: block; width: 100%; font-size: 13px; }
}
@media print { .mobile-catalog, .connection-notice, .install-dialog-backdrop, .install-link, .sidebar-install, .mobile-menu-button, .mobile-menu-close, .mobile-nav-backdrop { display: none !important; } .invoice-preview-scroll { overflow: visible !important; } }
