/* Screen layout only: exports and printed tables retain their original layout. */
@media screen {
  :is(#app,#dialog) .reflow-ancestor { min-width:0!important; max-width:100%; box-sizing:border-box; }
  :is(#app,#dialog) .reflow-scroll { overflow:visible!important; max-height:none!important; height:auto!important; }
  :is(#app,#dialog) table.reflow-table { display:table!important; width:100%!important; min-width:0!important; max-width:100%!important; table-layout:fixed!important; border-collapse:collapse; }
  :is(#app,#dialog) .reflow-table col { width:auto!important; min-width:0!important; }
  :is(#app,#dialog) .reflow-table thead { display:table-header-group!important; position:static!important; height:auto!important; width:auto!important; clip-path:none!important; overflow:visible!important; }
  :is(#app,#dialog) .reflow-table :is(tbody,tfoot) { display:table-row-group!important; }
  :is(#app,#dialog) .reflow-table tr { display:table-row!important; }
  :is(#app,#dialog) .reflow-table :is(th,td) { display:table-cell!important; position:static!important; min-width:0!important; max-width:none!important; white-space:normal!important; overflow-wrap:anywhere; box-sizing:border-box; }
  :is(#app,#dialog) .reflow-table th { width:var(--reflow-width,auto)!important; }
  :is(#app,#dialog) .reflow-table td { width:auto!important; }
  :is(#app,#dialog) .reflow-table td::before { display:none!important; }
  :is(#app,#dialog) .reflow-table :is(input,select,textarea) { min-width:0; max-width:100%; box-sizing:border-box; }
  :is(#app,#dialog) .reflow-table button { max-width:100%; white-space:normal!important; overflow-wrap:anywhere; }
  /* A single-line editor cannot wrap its value. Show overflow as plain text in
     the same cell, including worksheets which previously hid this text. */
  :is(#app,#dialog) .reflow-table .complete-value:not([hidden]) { display:block!important; width:100%; min-width:0; max-width:100%; margin:3px 0 0; padding:0; border:0; background:transparent; color:inherit; font-size:16px; line-height:1.5; white-space:pre-wrap!important; overflow-wrap:anywhere!important; height:auto!important; max-height:none!important; overflow:visible!important; }
  :is(#app,#dialog) .reflow-table .editable-choice { flex-wrap:wrap!important; }
  :is(#app,#dialog) .reflow-table .editable-choice > .complete-value { flex:0 0 100%; }
  /* Each record stays one DOM row, with every field visibly labelled. */
  :is(#app,#dialog) table.reflow-split { display:block!important; }
  :is(#app,#dialog) .reflow-split colgroup { display:none!important; }
  :is(#app,#dialog) .reflow-split thead { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%)!important; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot) { display:block!important; width:100%; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr { display:grid!important; grid-template-columns:repeat(var(--reflow-columns),minmax(0,1fr))!important; padding:0!important; margin:0!important; gap:0!important; border:1px solid #ccd7df!important; border-bottom:3px solid #b6c9d5!important; background:#fff; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr:nth-child(even) { background:#f6f9fb; }
  :is(#app,#dialog) .reflow-split.reflow-numbered :is(tbody,tfoot)>tr { grid-template-columns:44px repeat(var(--reflow-columns),minmax(0,1fr))!important; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr:focus-within { background:#eef7fc; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr>td { display:block!important; grid-column:auto!important; grid-row:auto!important; width:auto!important; min-width:0!important; height:auto!important; padding:6px 8px!important; border:0!important; border-right:1px solid #dbe3e9!important; border-bottom:1px solid #dbe3e9!important; text-align:left; background:transparent!important; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr>td.reflow-full { grid-column:1/-1!important; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr>td { align-self:stretch!important; justify-self:stretch!important; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr>td.reflow-sequence { grid-column:1!important; grid-row:1/span var(--reflow-rows)!important; padding:6px 3px!important; text-align:center; }
  :is(#app,#dialog) .reflow-split :is(tbody,tfoot)>tr>td::before { content:attr(data-reflow-label)!important; display:block!important; position:static!important; width:auto!important; height:auto!important; margin:0 0 4px!important; padding:0!important; color:#526573; font-size:14px; line-height:1.4; font-weight:500; white-space:normal; }
  :is(#app,#dialog) .reflow-split td.reflow-full::before { display:none!important; }
  :is(#app,#dialog) .reflow-split td :is(input:not([type=checkbox]):not([type=radio]),select,textarea) { width:100%; font-size:16px; }
  :is(#app,#dialog) .reflow-split :is(.editable-choice,.material-master-actions) { min-width:0!important; max-width:100%; }
  :is(#app,#dialog) .reflow-split .material-master-actions { display:flex; flex-wrap:wrap; gap:4px; }
  :is(#app,#dialog) .reflow-table [hidden],:is(#app,#dialog) .reflow-table tr[hidden],:is(#app,#dialog) .reflow-table td[hidden] { display:none!important; }
  @media(max-width:700px) {
    :is(#app,#dialog) .reflow-split td :is(input:not([type=hidden]),select,button) { min-height:44px; }
    :is(#app,#dialog) .reflow-split td .editable-choice-native { min-height:0!important; }
  }
}
/* Entry tables keep a shared header on computers; content never selects the
   breakpoint. Long values wrap below their editor, without hiding any field. */
@media screen {
 #app table.ledger-entry-table:not(.reflow-split) :is(th,td) { padding:4px; border:1px solid #d6dce2; vertical-align:middle; font-size:15px; line-height:1.4; }
 #app table.ledger-entry-table:not(.reflow-split) th { padding:8px 4px; background:#eff2f5; text-align:left; font-weight:600; }
 #app table.ledger-entry-table:not(.reflow-split) th:first-child { padding:8px 2px; font-size:14px; white-space:nowrap!important; }
 #app table.ledger-entry-table:not(.reflow-split) td:has(input,select) { padding:0 3px; }
 #app table.ledger-entry-table:not(.reflow-split) :is(input:not([type=hidden]):not(.editable-choice-native),select:not(.editable-choice-native),textarea) { min-height:34px; height:34px; padding:4px 2px; margin:0; border:0; border-radius:0; background:transparent; font-size:15px; font-weight:400; }
 #app table.ledger-entry-table:not(.reflow-split) .editable-choice { --choice-control-height:32px; }
 #app table.ledger-entry-table:not(.reflow-split) input.editable-choice-input { padding-right:22px!important; }
 #app table.ledger-entry-table:not(.reflow-split) button.editable-choice-arrow { width:20px; min-width:20px!important; padding:0; min-height:0; border:0; background:transparent; }
 #app table.ledger-entry-table:not(.reflow-split) .complete-value:not([hidden]) { font-size:15px; }
 #app table.ledger-entry-table:not(.reflow-split) :is(.expense-remove,.sheet-remove) { min-height:30px; padding:3px; font-size:14px; }
 #app table.ledger-entry-table:not(.reflow-split) tr:nth-child(even) { background:#fafbfd; }
 #app table.ledger-entry-table:not(.reflow-split) tr:focus-within { background:#edf6fc; }
}
@media print {
  :is(#app,#dialog) .complete-value { display:none!important; }
}
