/* Mobile-first finance surfaces; desktop and accounting print remain unchanged. */
.finance-mobile-navigation[hidden], .finance-mobile-camera { display: none; }
@media screen and (max-width: 767px) {
  body.finance-mobile-active { padding-block-end: calc(84px + env(safe-area-inset-bottom)); }
  .finance-mobile-navigation:not([hidden]) { position: fixed; inset-inline: 10px; inset-block-end: max(10px, env(safe-area-inset-bottom)); z-index: 8; display: flex; direction: rtl; padding: 6px; gap: 4px; border: 1px solid #cddfe9; border-radius: 20px; background: #fff; box-shadow: 0 8px 30px #123a5026; }
  .finance-mobile-navigation button { flex: 1; min-width: 0; min-height: 48px; padding: 8px 4px; border: 0; border-radius: 14px; background: transparent; color: #526c7c; font-size: .85rem; }
  .finance-mobile-navigation button[aria-current="page"] { background: #e5f3fc; color: #126eac; font-weight: 800; }
  body.finance-mobile-active .topbar { position: sticky; inset-block-start: 0; z-index: 7; padding: 10px 12px; min-height: 58px; }
  body.finance-mobile-active .topbar .header-nav { max-height: 72dvh; overflow-y: auto; }
  :is(#finance-balances-page,#finance-checks-page,#finance-payments-page,#finance-settings-page) { gap: 14px; min-width: 0; }
  :is(#finance-balances-page,#finance-checks-page,#finance-payments-page,#finance-settings-page) :is(.finance-panel,.panel.padded,.finance-report) { padding: 14px; border-radius: 16px; min-width: 0; }
  :is(#finance-balances-page,#finance-checks-page,#finance-payments-page,#finance-settings-page) .finance-hero { padding: 16px; min-height: 0; gap: 12px; }
  :is(#finance-balances-page,#finance-checks-page,#finance-payments-page,#finance-settings-page) :is(input,select,textarea) { min-height: 46px; font-size: 16px; max-width: 100%; }
  :is(#finance-balances-page,#finance-checks-page,#finance-payments-page,#finance-settings-page) button { min-height: 44px; }
  .finance-mobile-cards { display: block; width: 100%; min-width: 0 !important; border: 0; }
  .finance-mobile-cards thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .finance-mobile-cards tbody { display: grid; gap: 12px; }
  .finance-mobile-cards tbody > tr { display: grid; grid-template-columns: 1fr; padding: 12px; border: 1px solid #d8e5ec; border-radius: 16px; background: #fff; box-shadow: 0 3px 10px #17394f06; overflow: hidden; }
  .finance-mobile-cards tbody > tr:focus-visible { outline: 3px solid #258aca; outline-offset: 2px; }
  .finance-mobile-cards tbody > tr:is(.payment-open-row,[data-finance-mobile-open]):active { background: #edf7fc; border-color: #258aca; }
  .finance-mobile-cards tbody td { display: grid; grid-template-columns: minmax(80px,.6fr) minmax(0,1.4fr); align-items: center; gap: 10px; padding: 8px 0; border: 0; text-align: start; white-space: normal; overflow-wrap: anywhere; }
  .finance-mobile-cards td[data-label]::before { content: attr(data-label); color: #637e8d; font-size: .8rem; font-weight: 600; }
  .finance-mobile-cards td[data-finance-priority="amount"] { color: #125e87; font-size: 1.12rem; font-weight: 800; border-block-end: 1px solid #e6eef4; }
  .finance-mobile-cards td[data-finance-priority="status"] { background: #f3f8fb; border-radius: 8px; padding: 8px; }
  .finance-mobile-cards td[colspan] { display: block; }
  .finance-mobile-cards .table-actions { flex-wrap: wrap; gap: 8px; }
  #finance-payments-page :is(.payment-detail-layout,.payment-detail-summary,.payment-review-grid,.payment-form-grid) { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
  #finance-payments-page :is(.payment-detail-card,.payment-detail-attachment) { min-width: 0; padding: 14px; }
  #finance-payments-page :is(.payment-review-header,.payment-detail-headline,.payment-actions) { flex-wrap: wrap; gap: 10px; }
  #finance-payments-page :is(.payment-tabs,.finance-tabs) { display: flex; flex-wrap: wrap; gap: 6px; }
  #finance-payments-page .payment-flow-actions { display: flex; flex-wrap: wrap; width: 100%; gap: 8px; }
  #finance-payments-page .payment-detail-facts > div { grid-template-columns: minmax(85px,.65fr) minmax(0,1.35fr); }
  #finance-payments-page :is(.payment-detail-preview-image,.payment-detail-preview-pdf) { max-width: 100%; max-height: 48dvh; }
  #editor.finance-mobile-sheet, dialog.finance-mobile-detail { position: fixed; inset-inline: 0; inset-block-start: auto; inset-block-end: 0; margin: 0; width: 100%; max-width: 100%; max-height: 92dvh; border: 1px solid #cddfe9; border-radius: 22px 22px 0 0; padding: 0; overflow-y: auto; background: #fff; direction: rtl; box-shadow: 0 -12px 45px #102f4933; animation: finance-sheet-in 180ms ease-out; }
  #editor.finance-mobile-sheet::backdrop, dialog.finance-mobile-detail::backdrop { background: #17324466; }
  #editor.finance-mobile-sheet #dialog-body { padding: 16px 14px calc(18px + env(safe-area-inset-bottom)); max-height: none; overflow: visible; }
  #editor.finance-mobile-sheet :is(form,.finance-entry-head,.finance-entry-row,.finance-account-form,.payment-form-grid) { min-width: 0; grid-template-columns: minmax(0,1fr); }
  #editor.finance-mobile-sheet :is(input,select,textarea) { font-size: 16px; min-height: 46px; max-width: 100%; }
  #editor.finance-mobile-sheet :is(.form-actions,.finance-entry-actions,.payment-actions) { position: sticky; inset-block-end: 0; display: flex; flex-wrap: wrap; gap: 8px; padding: 12px 0; background: #fff; border-block-start: 1px solid #e1eaf0; }
  #editor.finance-mobile-sheet :is(.payment-wizard-tabs,.payment-form-tabs) { display: flex; overflow-x: auto; gap: 6px; }
  #editor.finance-mobile-sheet button { min-height: 44px; }
  .finance-mobile-camera { display: block; width: 100%; margin-block-start: 10px; min-height: 48px; padding: 12px; border: 1px solid #99c8dd; border-radius: 12px; background: #e9f5fc; color: #146a9b; font-weight: 700; }
  dialog.finance-mobile-detail > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px; border-block-end: 1px solid #e1eaf0; }
  dialog.finance-mobile-detail h2 { font-size: 1.1rem; margin: 0; }
  dialog.finance-mobile-detail dl { padding: 0 16px; }
  dialog.finance-mobile-detail dl > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 10px 0; border-block-end: 1px solid #edf2f6; }
  dialog.finance-mobile-detail dt { color: #637e8d; } dialog.finance-mobile-detail dd { margin: 0; overflow-wrap: anywhere; }
  .finance-mobile-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 16px calc(16px + env(safe-area-inset-bottom)); }
  .finance-mobile-detail-actions button { min-height: 44px; flex: 1 1 40%; }
  @keyframes finance-sheet-in { from { transform: translateY(28px); opacity: .6; } to { transform: translateY(0); opacity: 1; } }
}
@media (prefers-reduced-motion: reduce) { #editor.finance-mobile-sheet, dialog.finance-mobile-detail { animation: none; } }
@media print { .finance-mobile-navigation, .finance-mobile-camera { display: none !important; } }
